search for: instsinthisblock

Displaying 2 results from an estimated 2 matches for "instsinthisblock".

2016 Feb 26
0
Is a PHI use of another PHI in the same block valid?
If we decide not to be legal, should we change the verify to reject it? What happens to the test cases that currently test this very situation (eg. Transforms/LoopVectorize/phi-hang.ll)? The change as suggested by Philip is: - Assert(InstsInThisBlock.count(Op) || DT.dominates(Op, U), + Assert((!isa<PHINode>(I) && InstsInThisBlock.count(Op)) || + DT.dominates(Op, U), + "Instruction does not dominate all uses!", Op, &I); Michael 2016-02-26 18:02 GMT+01:00 Philip Reames <listmail at philipreames.c...
2016 Feb 26
6
Is a PHI use of another PHI in the same block valid?
Over in pr26718, we ran across a case where input IR had one PHI within a basic block using the value of another PHI within the same basic block (without a backedge). There has been some disagreement as to whether this is valid IR. I believe it is not. The verifier currently accepts the following code without error: define void @f() { entry: br label %next next: %y = phi i32 [ 0,