PROMIS Release announcement

Steve Carroll <scarroll@uiuc.edu>
7 Jun 2001 17:12:27 -0400

          From comp.compilers

Related articles
PROMIS Release announcement scarroll@uiuc.edu (Steve Carroll) (2001-06-07)
| List of all articles for this month |
From: Steve Carroll <scarroll@uiuc.edu>
Newsgroups: comp.compilers
Date: 7 Jun 2001 17:12:27 -0400
Organization: University of Illinois at Urbana-Champaign
Keywords: tools, available
Posted-Date: 07 Jun 2001 17:12:27 EDT

The PROMIS compiler project from the University of Illinois at
Urbana-Champaign is a compiler framework that can be easily
reconfigured to optimize for various system configurations, from
embedded processors to clusters of workstations. The cornerstone of
the PROMIS compiler is its universal internal representation that is
used to maintain and propagate analysis information from the front-end
analysis passes all the way to the back-end passes. Additionally, the
IR incorporates a hierarchical model of the program, which we use to
express parallel task information for hierarchical and parallel
systems. The PROMIS system is intended for researchers looking to
develop new analyses and optimizations with minimal duplication of
effort. The extensibility of PROMIS allows researchers to add their
own modules into the PROMIS source base without breaking existing
passes.


The sources and binaries for Win98/NT/2000 are available at:
http://promis.csrd.uiuc.edu/


Also, please join the promis_announce mailing list for updates!


Frontends:
- C, Fortran, Java (under development)


Backends:
- X86, MIPS (under development), BOPS


A library of standard optimizations
- function inlining
- dead code elimination
- loop transformations: unrolling, invariant code motion, interchange,
distribution, fusion, peeling, normalization
- constant folding / constant propagation
- copy propagation
- symbolic optimizations: fixed iteration loop recognition, induction
variable optimizations, loop invariant code motion


Available Analysis Information:
- subscript analysis
- interprocedural symbolic analysis
- control flow graph
- dominator and post dominator information
- control dependence graph
- data dependence graph


Parallelization:
- privatization, reduction idiom recognition
- execution conditions
- instruments parallel code to work with the Illinois-Intel
Multithreading Library (IML)


Fully extensible:
- Can add new types, expressions, instructions
- Can attach new fields to existing structures and adding new analysis
types
- machine description driven retargetable compilation


Development Tools:
- Graphical Representation of the IR for debugging
- A regression suite


In Development:
- general data flow framework
- common subexpression elimination
- multigrain multithreaded code generation


Steve Carroll
Graduate Research Assistant


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.