summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/Sink/badloadsink.ll
blob: e3f4884c5a406a06bc3d961379b2c225423e2364 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
; RUN: opt < %s -basicaa -sink -S | FileCheck %s
declare void @foo(i64 *)
define i64 @sinkload(i1 %cmp) {
; CHECK-LABEL: @sinkload
top:
    %a = alloca i64
; CHECK: call void @foo(i64* %a)
; CHECK-NEXT: %x = load i64, i64* %a
    call void @foo(i64* %a)
    %x = load i64, i64* %a
    br i1 %cmp, label %A, label %B
A:
    store i64 0, i64 *%a
    br label %B
B:
; CHECK-NOT: load i64, i64 *%a
    ret i64 %x
}
OpenPOWER on IntegriCloud