llvm-project/llvm/test/Transforms/SCCP/apint-basictest4.ll
Bjorn Pettersson 8ebb3eac02 [test] Use -passes syntax when specifying pipeline in some more tests
The legacy PM is deprecated, so update a bunch of lit tests running
opt to use the new PM syntax when specifying the pipeline.
In this patch focus has been put on test cases for ConstantMerge,
ConstraintElimination, CorrelatedValuePropagation, GlobalDCE,
GlobalOpt, SCCP, TailCallElim and PredicateInfo.

Differential Revision: https://reviews.llvm.org/D114516
2021-11-27 09:52:55 +01:00

26 lines
647 B
LLVM

; This is a basic correctness check for constant propagation. It tests the
; basic logic operations.
; RUN: opt < %s -passes=sccp -S | not grep and
; RUN: opt < %s -passes=sccp -S | not grep trunc
; RUN: opt < %s -passes=sccp -S | grep "ret i100 -1"
define i100 @test(i133 %A) {
%B = and i133 0, %A
%C = icmp sgt i133 %B, 0
br i1 %C, label %BB1, label %BB2
BB1:
%t3 = xor i133 %B, -1
%t4 = trunc i133 %t3 to i100
br label %BB3
BB2:
%f1 = or i133 -1, %A
%f2 = lshr i133 %f1, 33
%f3 = trunc i133 %f2 to i100
br label %BB3
BB3:
%Ret = phi i100 [%t4, %BB1], [%f3, %BB2]
ret i100 %Ret
}