|SSA or Iterative Dataflow for CSE/Constant Propagation... firstname.lastname@example.org (Richard F. Man) (2003-08-23)|
|From:||"Richard F. Man" <email@example.com>|
|Date:||23 Aug 2003 23:20:19 -0400|
|Organization:||ImageCraft Creations Inc.|
|Posted-Date:||23 Aug 2003 23:20:18 EDT|
I am interested in adding global CSE/constant propagation to our C
compilers. Since the targets are embedded 8 bits/16 bits processors, I
will never need scheduling, loop unrolling (can't afford code
expansion), and other advanced optimizations. I would suspect the
incremental benefits beyond CSE/constant propagation will be minimal.
Given that, is it "better" to use the SSA or iteartive data flow? Ease
of implementation and maintainability is more important than the highest
Most of the targets do not need a register allocator since they don't
have any. The couple of them that do, I already have a global register
allocator based on linear scan / bin packing. We will probably target 32
bits embedded CPUs in the future, but that would be at least a year
away, but it may use a different framework.
I wrote an optimizer over a dozen years ago that used the Rosen's
structured program flow method. I may still use that since most
customers code do form reducible graphs (no gotos). Switches and breaks
are a pain, but they are doable.
Thanks for any suggestions and advice.
Return to the
Search the comp.compilers archives again.