diff options
-rw-r--r-- | test/Transforms/InstCombine/sink_instruction.ll | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/sink_instruction.ll b/test/Transforms/InstCombine/sink_instruction.ll new file mode 100644 index 0000000..36e0357 --- /dev/null +++ b/test/Transforms/InstCombine/sink_instruction.ll @@ -0,0 +1,17 @@ +; RUN: llvm-as < %s | opt -instcombine | llvm-dis | %prcontext div 1 | grep ret + +;; This tests that the instructions in the entry blocks are sunk into each +;; arm of the 'if'. + +int %foo(bool %C, int %A, int %B) { +entry: + %tmp.2 = div int %A, %B + %tmp.9 = add int %B, %A + br bool %C, label %then, label %endif + +then: + ret int %tmp.9 + +endif: + ret int %tmp.2 +} |