diff options
Diffstat (limited to 'llvm/test/CodeGen/Hexagon/early-if-phi-i1.ll')
| -rw-r--r-- | llvm/test/CodeGen/Hexagon/early-if-phi-i1.ll | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/Hexagon/early-if-phi-i1.ll b/llvm/test/CodeGen/Hexagon/early-if-phi-i1.ll new file mode 100644 index 00000000000..1649d51269e --- /dev/null +++ b/llvm/test/CodeGen/Hexagon/early-if-phi-i1.ll @@ -0,0 +1,17 @@ +; RUN: llc < %s +; REQUIRES: asserts +; Check that the early if-conversion does not predicate block1 (where the +; join block has a phi node of type i1). + +define i1 @foo(i32 %x, i32* %p) { +entry: + %c = icmp sgt i32 %x, 0 + %c1 = icmp sgt i32 %x, 10 + br i1 %c, label %block2, label %block1 +block1: + store i32 1, i32* %p, align 4 + br label %block2 +block2: + %b = phi i1 [ 0, %entry ], [ %c1, %block1 ] + ret i1 %b +} |

