This is the mail archive of the gcc-patches@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] |
This makes some rudimentary use of the loop discovery code in cfgloop.c. When we are in a fully pruned SSA form, some loops may not have PHI terms at the header block. This caused the SSA rename pass optimizers to cause two different versions of the same variable to be alive at the same time. We can't allow that for the time being. This patch extends var_is_live to check for this. The check is fairly straightforward, if the original definition of the variable is outside the loop and there may be another definition for it inside the same loop, then that definition and the original one may overlap, meaning that we can't move the outside SSA name into the loop. This problem was exposed by compile/20030530-1.c. The patch should fix all the bootstrapping problems we had on x86 and amd64. I think it also fixes ppc, but my ppc box is not cooperating today. Diego.
Attachment:
20030602-fix-var_is_live.diff
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |