After #98505, the textual IR keyword `x86_mmx` was temporarily made to parse as `<1 x i64>`, so as not to require a lot of test update noise. This completes the removal of the type, by removing the`x86_mmx` keyword from the IR parser, and making the (now no-op) test updates via `sed -i 's/\bx86_mmx\b/<1 x i64>/g' $(git grep -l x86_mmx llvm/test/)`. Resulting bitcasts from <1 x i64> to itself were then manually deleted. Changes to llvm/test/Bitcode/compatibility-$VERSION.ll were reverted, as they're intended to be equivalent to the .bc file, if parsed by old LLVM, so shouldn't be updated. A few tests were removed, as they're no longer testing anything, in the following files: - llvm/test/Transforms/GlobalOpt/x86_mmx_load.ll - llvm/test/Transforms/InstCombine/cast.ll - llvm/test/Transforms/InstSimplify/ConstProp/gep-zeroinit-vector.ll Works towards issue #98272.
35 lines
746 B
LLVM
35 lines
746 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 <1 x i64> @test3() {
|
|
%load = load <1 x i64>, ptr null
|
|
ret <1 x i64> %load
|
|
}
|