llvm-project/llvm/test/Transforms/SCCP/apint-ipsccp3.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

40 lines
917 B
LLVM

; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt < %s -passes=ipsccp -S | FileCheck %s
@G = internal global i66 undef
define void @foo() {
; CHECK-LABEL: @foo(
; CHECK-NEXT: [[X:%.*]] = load i66, i66* @G
; CHECK-NEXT: store i66 [[X]], i66* @G
; CHECK-NEXT: ret void
;
%X = load i66, i66* @G
store i66 %X, i66* @G
ret void
}
define i66 @bar() {
; CHECK-LABEL: @bar(
; CHECK-NEXT: [[V:%.*]] = load i66, i66* @G
; CHECK-NEXT: [[C:%.*]] = icmp eq i66 [[V]], 17
; CHECK-NEXT: br i1 [[C]], label [[T:%.*]], label [[F:%.*]]
; CHECK: T:
; CHECK-NEXT: store i66 17, i66* @G
; CHECK-NEXT: ret i66 17
; CHECK: F:
; CHECK-NEXT: store i66 123, i66* @G
; CHECK-NEXT: ret i66 0
;
%V = load i66, i66* @G
%C = icmp eq i66 %V, 17
br i1 %C, label %T, label %F
T:
store i66 17, i66* @G
ret i66 %V
F:
store i66 123, i66* @G
ret i66 0
}