Related articles |
---|
PROMIS Release announcement scarroll@uiuc.edu (Steve Carroll) (2001-06-07) |
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
Return to the
comp.compilers page.
Search the
comp.compilers archives again.