This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa vs lno] who is right?
- From: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>
- To: Dale Johannesen <dalej at apple dot com>
- Cc: "gcc at gcc dot gnu dot org list" <gcc at gcc dot gnu dot org>
- Date: Fri, 26 Mar 2004 19:10:34 +0100
- Subject: Re: [tree-ssa vs lno] who is right?
- References: <086B964A-7EC5-11D8-8C7F-000A95D7CD40@apple.com>
Hello,
> 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:
where do we assume this (i.e. what do you mean by "copying a loop")?
While this certainly is unlikely to happen, there probably is nothing
that would prevent it.
Zdenek
> ;; 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).
>