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: Great example of why "everything is a tree" sucks


> Yeah, that's why I am asking.  I suppose you are refering to
> gimplify_type_sizes and the required lowering of ARRAY_REFs and
> COMPONENT_REFs?  Yes, I'd not make them first class citizens
> in the GIMPLE that the optimizers see but I'm fine with having
> high-GIMPLE support for them, doing a lowering pass on GIMPLE.

Yes, plus the machinery in tree.c and stor-layout.c for types with self-
referential size.

> Do you see any benefits in emitting "high" GIMPLE (besides eventually
> some minor compile-time and memory-usage improvements)?  That is,
> would some things be easier to do?  [you'd also lose any folding
> that generating GENERIC would have done]

We cannot lose the folding on offset/size expressions of types in Ada, 
otherwise Ada software making heavy use of types wouldn't compile anymore.
That's why I also mentioned fold-const.c, all the size_* routines and their 
dependencies would need to be privatized as well.  I can think of marginal 
benefits like more direct transfert of optimization hints on loops for 
example, but nothing really decisive.

-- 
Eric Botcazou


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