Keno Fischer | 5329174 | 2017-06-09 19:31:10 +0000 | [diff] [blame] | 1 | ; RUN: opt < %s -basicaa -sink -S | FileCheck %s |
2 | declare void @foo(i64 *) | ||||
3 | define i64 @sinkload(i1 %cmp) { | ||||
4 | ; CHECK-LABEL: @sinkload | ||||
5 | top: | ||||
6 | %a = alloca i64 | ||||
7 | ; CHECK: call void @foo(i64* %a) | ||||
8 | ; CHECK-NEXT: %x = load i64, i64* %a | ||||
9 | call void @foo(i64* %a) | ||||
10 | %x = load i64, i64* %a | ||||
11 | br i1 %cmp, label %A, label %B | ||||
12 | A: | ||||
13 | store i64 0, i64 *%a | ||||
14 | br label %B | ||||
15 | B: | ||||
16 | ; CHECK-NOT: load i64, i64 *%a | ||||
17 | ret i64 %x | ||||
18 | } |