This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
[tree-ssa vs lno] who is right?
- From: Dale Johannesen <dalej at apple dot com>
- To: "gcc at gcc dot gnu dot org list" <gcc at gcc dot gnu dot org>
- Cc: Dale Johannesen <dalej at apple dot com>
- Date: Thu, 25 Mar 2004 17:29:32 -0800
- Subject: [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).