[InstCombine] Signed saturation patterns
[llvm-core.git] / test / Transforms / InstCombine / hoist_instr.ll
blobfa451bcc727323f61de4678bcf3bb560fdf8f9a3
1 ; RUN: opt < %s -instcombine -S | FileCheck %s
3 ;; This tests that the div is hoisted into the then block.
4 define i32 @foo(i1 %C, i32 %A, i32 %B) {
5 entry:
6         br i1 %C, label %then, label %endif
8 then:           ; preds = %entry
9 ; CHECK: then:
10 ; CHECK-NEXT: sdiv i32
11         br label %endif
13 endif:          ; preds = %then, %entry
14         %X = phi i32 [ %A, %then ], [ 15, %entry ]              ; <i32> [#uses=1]
15         %Y = sdiv i32 %X, 42            ; <i32> [#uses=1]
16         ret i32 %Y