Files
clang-p2996/llvm/test/Transforms/CorrelatedValuePropagation/crash.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

203 lines
5.4 KiB
LLVM

; RUN: opt < %s -passes=correlated-propagation
; PR8161
define void @test1() nounwind ssp {
entry:
br label %for.end
for.cond.us.us: ; preds = %for.cond.us.us
%cmp6.i.us.us = icmp sgt i32 1, 0
%lor.ext.i.us.us = zext i1 %cmp6.i.us.us to i32
%lor.ext.add.i.us.us = select i1 %cmp6.i.us.us, i32 %lor.ext.i.us.us, i32 undef
%conv.i.us.us = trunc i32 %lor.ext.add.i.us.us to i16
%sext.us.us = shl i16 %conv.i.us.us, 8
%conv6.us.us = ashr i16 %sext.us.us, 8
%and.us.us = and i16 %conv6.us.us, %and.us.us
br i1 false, label %for.end, label %for.cond.us.us
for.end: ; preds = %for.cond.us, %for.cond.us.us, %entry
ret void
}
; PR 8790
define void @test2() nounwind ssp {
entry:
br label %func_29.exit
sdf.exit.i:
%l_44.1.mux.i = select i1 %tobool5.not.i, i8 %l_44.1.mux.i, i8 1
br label %srf.exit.i
srf.exit.i:
%tobool5.not.i = icmp ne i8 undef, 0
br i1 %tobool5.not.i, label %sdf.exit.i, label %func_29.exit
func_29.exit:
ret void
}
; PR13972
define void @test3() nounwind {
for.body:
br label %return
for.cond.i: ; preds = %if.else.i, %for.body.i
%e.2.i = phi i32 [ %e.2.i, %if.else.i ], [ -8, %for.body.i ]
br i1 undef, label %return, label %for.body.i
for.body.i: ; preds = %for.cond.i
switch i32 %e.2.i, label %for.cond3.i [
i32 -3, label %if.else.i
i32 0, label %for.cond.i
]
for.cond3.i: ; preds = %for.cond3.i, %for.body.i
br label %for.cond3.i
if.else.i: ; preds = %for.body.i
br label %for.cond.i
return: ; preds = %for.cond.i, %for.body
ret void
}
define i1 @test4(i32 %int) {
%a0 = icmp ult i32 %int, 100
%a1 = and i1 %a0, %a0
%a2 = and i1 %a1, %a1
%a3 = and i1 %a2, %a2
%a4 = and i1 %a3, %a3
%a5 = and i1 %a4, %a4
%a6 = and i1 %a5, %a5
%a7 = and i1 %a6, %a6
%a8 = and i1 %a7, %a7
%a9 = and i1 %a8, %a8
%a10 = and i1 %a9, %a9
%a11 = and i1 %a10, %a10
%a12 = and i1 %a11, %a11
%a13 = and i1 %a12, %a12
%a14 = and i1 %a13, %a13
%a15 = and i1 %a14, %a14
%a16 = and i1 %a15, %a15
%a17 = and i1 %a16, %a16
%a18 = and i1 %a17, %a17
%a19 = and i1 %a18, %a18
%a20 = and i1 %a19, %a19
%a21 = and i1 %a20, %a20
%a22 = and i1 %a21, %a21
%a23 = and i1 %a22, %a22
%a24 = and i1 %a23, %a23
%a25 = and i1 %a24, %a24
%a26 = and i1 %a25, %a25
%a27 = and i1 %a26, %a26
%a28 = and i1 %a27, %a27
%a29 = and i1 %a28, %a28
%a30 = and i1 %a29, %a29
%a31 = and i1 %a30, %a30
%a32 = and i1 %a31, %a31
%a33 = and i1 %a32, %a32
%a34 = and i1 %a33, %a33
%a35 = and i1 %a34, %a34
%a36 = and i1 %a35, %a35
%a37 = and i1 %a36, %a36
%a38 = and i1 %a37, %a37
%a39 = and i1 %a38, %a38
%a40 = and i1 %a39, %a39
%a41 = and i1 %a40, %a40
%a42 = and i1 %a41, %a41
%a43 = and i1 %a42, %a42
%a44 = and i1 %a43, %a43
%a45 = and i1 %a44, %a44
%a46 = and i1 %a45, %a45
%a47 = and i1 %a46, %a46
%a48 = and i1 %a47, %a47
%a49 = and i1 %a48, %a48
%a50 = and i1 %a49, %a49
%a51 = and i1 %a50, %a50
%a52 = and i1 %a51, %a51
%a53 = and i1 %a52, %a52
%a54 = and i1 %a53, %a53
%a55 = and i1 %a54, %a54
%a56 = and i1 %a55, %a55
%a57 = and i1 %a56, %a56
%a58 = and i1 %a57, %a57
%a59 = and i1 %a58, %a58
%a60 = and i1 %a59, %a59
%a61 = and i1 %a60, %a60
%a62 = and i1 %a61, %a61
%a63 = and i1 %a62, %a62
%a64 = and i1 %a63, %a63
%a65 = and i1 %a64, %a64
%a66 = and i1 %a65, %a65
%a67 = and i1 %a66, %a66
%a68 = and i1 %a67, %a67
%a69 = and i1 %a68, %a68
%a70 = and i1 %a69, %a69
%a71 = and i1 %a70, %a70
%a72 = and i1 %a71, %a71
%a73 = and i1 %a72, %a72
%a74 = and i1 %a73, %a73
%a75 = and i1 %a74, %a74
%a76 = and i1 %a75, %a75
%a77 = and i1 %a76, %a76
%a78 = and i1 %a77, %a77
%a79 = and i1 %a78, %a78
%a80 = and i1 %a79, %a79
%a81 = and i1 %a80, %a80
%a82 = and i1 %a81, %a81
%a83 = and i1 %a82, %a82
%a84 = and i1 %a83, %a83
%a85 = and i1 %a84, %a84
%a86 = and i1 %a85, %a85
%a87 = and i1 %a86, %a86
%a88 = and i1 %a87, %a87
%a89 = and i1 %a88, %a88
%a90 = and i1 %a89, %a89
%a91 = and i1 %a90, %a90
%a92 = and i1 %a91, %a91
%a93 = and i1 %a92, %a92
%a94 = and i1 %a93, %a93
%a95 = and i1 %a94, %a94
%a96 = and i1 %a95, %a95
%a97 = and i1 %a96, %a96
%a98 = and i1 %a97, %a97
%a99 = and i1 %a98, %a98
%a100 = and i1 %a99, %a99
%a101 = and i1 %a100, %a100
%a102 = and i1 %a101, %a101
%a103 = and i1 %a102, %a102
%a104 = and i1 %a103, %a103
%a105 = and i1 %a104, %a104
%a106 = and i1 %a105, %a105
%a107 = and i1 %a106, %a106
%a108 = and i1 %a107, %a107
%a109 = and i1 %a108, %a108
%a110 = and i1 %a109, %a109
%a111 = and i1 %a110, %a110
%a112 = and i1 %a111, %a111
%a113 = and i1 %a112, %a112
%a114 = and i1 %a113, %a113
%a115 = and i1 %a114, %a114
%a116 = and i1 %a115, %a115
%a117 = and i1 %a116, %a116
%a118 = and i1 %a117, %a117
%a119 = and i1 %a118, %a118
%a120 = and i1 %a119, %a119
%a121 = and i1 %a120, %a120
%a122 = and i1 %a121, %a121
%a123 = and i1 %a122, %a122
%a124 = and i1 %a123, %a123
%a125 = and i1 %a124, %a124
%a126 = and i1 %a125, %a125
%a127 = and i1 %a126, %a126
%cond = and i1 %a127, %a127
br i1 %cond, label %then, label %else
then:
%result = icmp eq i32 %int, 255
ret i1 %result
else:
ret i1 false
}