[llvm] r255155 - [Float2Int] Don't operate on vector instructions
Reid Kleckner via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 9 13:08:19 PST 2015
Author: rnk
Date: Wed Dec 9 15:08:18 2015
New Revision: 255155
URL: http://llvm.org/viewvc/llvm-project?rev=255155&view=rev
Log:
[Float2Int] Don't operate on vector instructions
This fixes a crash bug. It's also not clear if we'd want to do this
transform for vectors.
Modified:
llvm/trunk/lib/Transforms/Scalar/Float2Int.cpp
llvm/trunk/test/Transforms/Float2Int/basic.ll
Modified: llvm/trunk/lib/Transforms/Scalar/Float2Int.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/Float2Int.cpp?rev=255155&r1=255154&r2=255155&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Scalar/Float2Int.cpp (original)
+++ llvm/trunk/lib/Transforms/Scalar/Float2Int.cpp Wed Dec 9 15:08:18 2015
@@ -131,6 +131,8 @@ static Instruction::BinaryOps mapBinOpco
// integer domain.
void Float2Int::findRoots(Function &F, SmallPtrSet<Instruction*,8> &Roots) {
for (auto &I : instructions(F)) {
+ if (isa<VectorType>(I.getType()))
+ continue;
switch (I.getOpcode()) {
default: break;
case Instruction::FPToUI:
Modified: llvm/trunk/test/Transforms/Float2Int/basic.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/Float2Int/basic.ll?rev=255155&r1=255154&r2=255155&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/Float2Int/basic.ll (original)
+++ llvm/trunk/test/Transforms/Float2Int/basic.ll Wed Dec 9 15:08:18 2015
@@ -254,3 +254,13 @@ define i32 @neg_calluser(i32 %value) {
ret i32 %7
}
declare double @g(double)
+
+; CHECK-LABEL: @neg_vector
+; CHECK: %1 = uitofp <4 x i8> %a to <4 x float>
+; CHECK: %2 = fptoui <4 x float> %1 to <4 x i16>
+; CHECK: ret <4 x i16> %2
+define <4 x i16> @neg_vector(<4 x i8> %a) {
+ %1 = uitofp <4 x i8> %a to <4 x float>
+ %2 = fptoui <4 x float> %1 to <4 x i16>
+ ret <4 x i16> %2
+}
More information about the llvm-commits
mailing list