PIR Meetings (IBM and Rice)
June 4, 2008
Agenda
- Overall framework for X10 toolchain, PIR
- Should XCode files be in XML?
- Should analyses and transformations be developed in Java? X10? gcc toolchain?
- Flesh out example PirAnalysesAndTransformations?
- Review multi-level IR structure proposed by Rice
- Workgroup for actual PIR design?
- Compilation for work-stealing
- Benchmark programs?
- Timelines?
Triples or quads for compiler?
stack machine for external Xcode representation?
ASCII vs binary?
Locals typed or not?
XML should be one to one representation for Xcode?
For Xcode: The structure of the body of a method should be general enough to permit irreducible call flow graphs represented. Should support explicit gotos.
Final blocks are usually small -- so they are just copied. Or use closures?
Do we want SSA form? (code bloat, not useful for execution -- useful for analysis?) SSA form for XCode may be an unnecessary complication.
Build into the IR format the ability to store precomputed
(Pradeep) Padua et al: fork/join, cobegin/coend, a CSSA format.
See how BCV has evolved through Java 7. (Igor's point: keep in mind that multiple source languages should be able to compile into XCode.)
Need to figure out how to handle type-checking in BCV -- given that the type system is extensible. i.e. the BCV may need to reflect the compile-time/run-time phase distinction of the X10 source language.
IR1: can be generated from soure.
IR2: can only be generated from XCode. So some IR1 optimizations may not be practical.
Krishna: IR in XVM may be different from IR in AOT compiler?
Level 1 vs Level 2: PIR distinction.
Level 3: should reflect low-level runtime
Discuss Sequoia paper from Stanford for discussion about placement of places on nodes -- and whether this should be specified in the source syntax or in a configuration file.
Level 2 vs Level 3 distinction needs to be revisited in the light of the X10 runtime being done within X10.
Use Soot as a basis? Possible.
WALA? (Usual issue: WALA has no transformation support. Should the WALA team look into extending WALA to support transformations.) Should be able to use WALA to build call graph, escaping stuff.
--
VijaySaraswat - 04 Jun 2008