diff --git a/test/Transforms/InstCombine/bit-tracking.ll b/test/Transforms/InstCombine/bit-tracking.ll index aa81da92def..c7806ec40f8 100644 --- a/test/Transforms/InstCombine/bit-tracking.ll +++ b/test/Transforms/InstCombine/bit-tracking.ll @@ -1,6 +1,7 @@ ; This file contains various testcases that require tracking whether bits are ; set or cleared by various instructions. -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep %ELIM +; RUN: llvm-as < %s | opt -instcombine -instcombine -disable-output && +; RUN: llvm-as < %s | opt -instcombine -instcombine | llvm-dis | not grep %ELIM ; Reduce down to a single XOR int %test3(int %B) { diff --git a/test/Transforms/InstCombine/or.ll b/test/Transforms/InstCombine/or.ll index 95f4ed1eb3b..849df7c6f8e 100644 --- a/test/Transforms/InstCombine/or.ll +++ b/test/Transforms/InstCombine/or.ll @@ -141,3 +141,11 @@ uint %test21(uint %tmp.1) { %tmp.6 = or uint %tmp.5, %tmp.3 ;; add tmp.1, 2 ret uint %tmp.6 } + +int %test22(int %B) { + %ELIM41 = and int %B, 1 ; [#uses=1] + %ELIM7 = and int %B, -2 ; [#uses=1] + %ELIM5 = or int %ELIM41, %ELIM7 ; [#uses=1] + ret int %ELIM5 +} +