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]

[tree-ssa vs lno] who is right?


When the LNO branch copies a loop, it attempts to fix up the phi nodes with
an algorithm that assumes there is only one phi per block per variable. That is, it
won't see code like this:


;; basic block 19, loop depth 0, count 0
;; prev block 9, next block 20
;; pred:       10 [100.0%]  (fallthru)
;; succ:       28 [50.0%]  (true,exec) 29 [50.0%]  (false,exec)
# maxmin_Result_140 = PHI <1(10)>;
# maxmin_Result_142 = PHI <2(10)>;
# lsm_tmp.19_144 = PHI <lsm_tmp.19_84(10)>;
<L28>:;
if (m__10 == 0) goto <L26>; else goto <L27>;

Is that suppose to be a valid assumption? The dup is created by copyrename, and
I see no code there that's intended to stop dups from being created (on the
contrary, but surely it's unusual for the live ranges to overlap).



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