[BasicAA] Remove special casing of memset_pattern16 in favor of generic attribute...
[oota-llvm.git] / test / Transforms / IPConstantProp / return-constant.ll
1 ; RUN: opt < %s -ipconstprop -instcombine -S | grep "ret i1 true" | count 2
2 define internal i32 @foo(i1 %C) {
3         br i1 %C, label %T, label %F
4
5 T:              ; preds = %0
6         ret i32 52
7
8 F:              ; preds = %0
9         ret i32 52
10 }
11
12 define i1 @caller(i1 %C) {
13         %X = call i32 @foo( i1 %C )             ; <i32> [#uses=1]
14         %Y = icmp ne i32 %X, 0          ; <i1> [#uses=1]
15         ret i1 %Y
16 }
17
18 define i1 @invokecaller(i1 %C) personality i32 (...)* @__gxx_personality_v0 {
19         %X = invoke i32 @foo( i1 %C ) to label %OK unwind label %FAIL             ; <i32> [#uses=1]
20 OK:
21         %Y = icmp ne i32 %X, 0          ; <i1> [#uses=1]
22         ret i1 %Y 
23 FAIL:
24         %exn = landingpad {i8*, i32}
25                  cleanup
26         ret i1 false
27 }
28
29 declare i32 @__gxx_personality_v0(...)