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: [tree-ssa] Insert on edge comment


In message <Pine.LNX.4.44.0305310041130.27582-100000@wotan.suse.de>, Michael Ma
tz writes:
 >Hi,
 >
 >On 30 May 2003, Andrew MacLeod wrote:
 >
 >> edge feeding the phi will have to be updated.  My new switch edge
 >> manipulation will be a real ugly one to update.. brrr.
 >>
 >> There may be other structures which need to be fixed, etc.
 >
 >Forgive me my ignorance (I never looked at tree-ssa carefully), but why is
 >edge splitting in your infrastructure so hard?  It's a totally trivial
 >operation for the usual IRs.  If this doesn't hold for tree-ssa it just
 >doesn't sound quite "right".  Could you explain in simple words? ;-)
I haven't thought much about node splitting within the tree-ssa infrastructure,
but it would seem to me the largest problem is dealing with the nesting
control structures and keeping them consistent.

ie, in RTL you just have this linear stream of code, which contains 
insns, call_insns, jump_insns & labels.  All you have to do is insert
the new code, redirect the jumps and fixup the representation at the 
CFG level.

In tree-ssa you have to keep the control nesting stuff correct in addition
to inserting the new code and redirecting the jumps (and the jumps may be
implicit in the control structures rather than explicit in the IR).

I don't think anyone is saying it's impossible, it just has more complications
than doing splitting on a linear form such as RTL.

jeff


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