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
35 lines
745 B
LLVM
35 lines
745 B
LLVM
; RUN: opt -passes=sccp -S < %s
|
|
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
|
|
target triple = "x86_64-apple-darwin10.0"
|
|
|
|
define void @test1(i8 %arg) {
|
|
entry:
|
|
br i1 undef, label %return, label %bb
|
|
|
|
bb:
|
|
br label %bb34
|
|
|
|
bb23:
|
|
%c = icmp eq i8 %arg, undef
|
|
br i1 %c, label %bb34, label %bb23
|
|
|
|
bb34:
|
|
%Kind.1 = phi i32 [ undef, %bb ], [ %ins174, %bb23 ]
|
|
%mask173 = or i32 %Kind.1, 7
|
|
%ins174 = and i32 %mask173, -249
|
|
br label %bb23
|
|
|
|
return:
|
|
ret void
|
|
}
|
|
|
|
define i32 @test2([4 x i32] %A) {
|
|
%B = extractvalue [4 x i32] %A, 1
|
|
ret i32 %B
|
|
}
|
|
|
|
define x86_mmx @test3() {
|
|
%load = load x86_mmx, x86_mmx* null
|
|
ret x86_mmx %load
|
|
}
|