diff options
Diffstat (limited to 'test/Transforms/GlobalOpt/integer-bool.ll')
-rw-r--r-- | test/Transforms/GlobalOpt/integer-bool.ll | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/Transforms/GlobalOpt/integer-bool.ll b/test/Transforms/GlobalOpt/integer-bool.ll new file mode 100644 index 0000000..9fbbe35 --- /dev/null +++ b/test/Transforms/GlobalOpt/integer-bool.ll @@ -0,0 +1,23 @@ +; RUN: llvm-as < %s | opt -globalopt -instcombine | \ +; RUN: llvm-dis | grep {ret i1 true} + +;; check that global opt turns integers that only hold 0 or 1 into bools. + +@G = internal global i32 0 ; <i32*> [#uses=3] + +define void @set1() { + store i32 0, i32* @G + ret void +} + +define void @set2() { + store i32 1, i32* @G + ret void +} + +define i1 @get() { + %A = load i32* @G ; <i32> [#uses=1] + %C = icmp slt i32 %A, 2 ; <i1> [#uses=1] + ret i1 %C +} + |