This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Compilation performance comparison of 3.5.0 and TreeSSA treeson MICO sources as requested in: [tree-ssa] Merge status 2004-05-03


On Sat, 2004-05-08 at 06:26, Richard Kenner wrote:
>     Mostly because of the breaking down of expressions into small trees,
>     which are friendlier to the RTL expanders.  That's the reason we have a
>     tree recombination pass at the end of tree optimization.
> 
> Sure, but my question is why do that breaking down and recombining with -O0?
>
It's all part of the separation between front ends and the rest of the
compiler.  We now have only one RTL expansion pass, and it doesn't
understand anything but GIMPLE.

Java
C
C++	-->  GENERIC  --> GIMPLE  -->  RTL
ObjC
Fortran

Now, we have not worked on making the RTL expanders work efficiently
with GIMPLE (that's why we have the tree recombination pass).  However,
we would like to explore the idea of going into SSA even at O0 and not
leave SSA form until RTL generation time (and perhaps even take it
further than that).  If the RTL expanders were to operate on SSA form,
maybe the tree recombination pass would not be necessary.  But this is
all speculation ATM.

A quick check of -O0 in a typical bootstrap cycle shows that tree-ssa
generates 29% more RTL than mainline (based on 'wc -l *.rtl').


Diego.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]