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: From SSA back to GIMPLE.


J.C. Pizarro wrote:
Are they mixed into a single
variable declaration? Are they treated as separate variables and
handled later by the register allocator?

If possible, the former. If not possible, they are kept as separate variables. This happens if the subscripted variables have overlapping live ranges because of optimizations that were made on the SSA form.


Is not it easy to write 3 stages GENERIC->GIMPLE->RTL instead of 5 stages?

Is meaningful the optimization of the complex bi-transformation
GIMPLE->SSA->GIMPLE?

I don't know what you mean, but yes, there is value in going to SSA and back. SSA makes global optimization much easier, and that's the main improvement introduced in GCC 4.0 and later refined. Of course not all optimizations benefit from SSA, some (such as OpenMP implementation) only benefit from having a high-level intermediate representation (GIMPLE). But most do, in one way or the other.


In the future, GCC might instead do GENERIC->GIMPLE->SSA->RTL, without going back to GIMPLE. But the SSA step is there to stay. :-)

Paolo


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