[PATCH] D18443: [Verifier] Reject PHIs using definitions from own block.

Michael Kruse via llvm-commits llvm-commits at lists.llvm.org
Sat Mar 26 01:24:49 PDT 2016

Meinersbur added inline comments.

Comment at: lib/IR/Verifier.cpp:3408
@@ -3402,2 +3407,3 @@
+  Assert(DT.dominates(Op, U),
          "Instruction does not dominate all uses!", Op, &I);
I wasn't aware that InstsInThisBlock is just a speed optimization. I modeled it as an early exit without additional variable and explicit comment. Is that OK?

Comment at: test/Transforms/LoopVectorize/phi-hang.ll:3
@@ -2,3 +2,3 @@
 ; PR15384
 define void @test1(i32 %arg) {
I assumed it would be a test for non-strict phi nodes, the PR doesn't mention anything specific. So I looked up the commit message of r176366 which says:

> LoopVectorize: Don't hang forever if a PHI only has skipped PHI uses.

so I changed %tmp6 to %tmp to see whether it still hangs in 176365 and it does. I am therefore assuming the %tmp6 was unintentional.


More information about the llvm-commits mailing list