As discussed in http://lists.llvm.org/pipermail/llvm-dev/2020-July/143801.html. Currently no users outside of unit tests. Replace all instances in tests of -constprop with -instsimplify. Notable changes in tests: * vscale.ll - @llvm.sadd.sat.nxv16i8 is evaluated by instsimplify, use a fake intrinsic instead * InsertElement.ll - insertelement undef is removed by instsimplify in @insertelement_undef llvm/test/Transforms/ConstProp moved to llvm/test/Transforms/InstSimplify/ConstProp Reviewed By: lattner, nikic Differential Revision: https://reviews.llvm.org/D85159
29 lines
785 B
LLVM
29 lines
785 B
LLVM
; RUN: opt < %s -instsimplify -disable-output
|
|
; PR2529
|
|
define <4 x i1> @test1(i32 %argc, i8** %argv) {
|
|
entry:
|
|
%foo = icmp slt <4 x i32> undef, <i32 14, i32 undef, i32 undef, i32 undef>
|
|
ret <4 x i1> %foo
|
|
}
|
|
|
|
define <4 x i1> @test2(i32 %argc, i8** %argv) {
|
|
entry:
|
|
%foo = icmp slt <4 x i32> <i32 undef, i32 undef, i32 undef, i32
|
|
undef>, <i32 undef, i32 undef, i32 undef, i32 undef>
|
|
ret <4 x i1> %foo
|
|
}
|
|
|
|
|
|
define <4 x i1> @test3() {
|
|
%foo = fcmp ueq <4 x float> <float 0.0, float 0.0, float 0.0, float
|
|
undef>, <float 1.0, float 1.0, float 1.0, float undef>
|
|
ret <4 x i1> %foo
|
|
}
|
|
|
|
define <4 x i1> @test4() {
|
|
%foo = fcmp ueq <4 x float> <float 0.0, float 0.0, float 0.0, float 0.0>, <float 1.0, float 1.0, float 1.0, float 0.0>
|
|
|
|
ret <4 x i1> %foo
|
|
}
|
|
|