[llvm] r176649 - [fast-isel] Add support for the expect intrinsic.
Chad Rosier
mcrosier at apple.com
Thu Mar 7 12:42:17 PST 2013
Author: mcrosier
Date: Thu Mar 7 14:42:17 2013
New Revision: 176649
URL: http://llvm.org/viewvc/llvm-project?rev=176649&view=rev
Log:
[fast-isel] Add support for the expect intrinsic.
rdar://13370942
Modified:
llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp
llvm/trunk/test/CodeGen/ARM/fast-isel-intrinsic.ll
Modified: llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp?rev=176649&r1=176648&r2=176649&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp (original)
+++ llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp Thu Mar 7 14:42:17 2013
@@ -698,6 +698,11 @@ bool FastISel::SelectCall(const User *I)
UpdateValueMap(Call, ResultReg);
return true;
}
+ case Intrinsic::expect: {
+// unsigned ResultReg = getRegForValue(Call->getArgOperand(0));
+// UpdateValueMap(Call, ResultReg);
+// return true;
+ }
}
// Usually, it does not make sense to initialize a value,
Modified: llvm/trunk/test/CodeGen/ARM/fast-isel-intrinsic.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/fast-isel-intrinsic.ll?rev=176649&r1=176648&r2=176649&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/ARM/fast-isel-intrinsic.ll (original)
+++ llvm/trunk/test/CodeGen/ARM/fast-isel-intrinsic.ll Thu Mar 7 14:42:17 2013
@@ -238,3 +238,15 @@ define void @t7() nounwind ssp {
call void @llvm.memcpy.p0i8.p0i8.i32(i8* getelementptr inbounds ([60 x i8]* @temp, i32 0, i32 4), i8* getelementptr inbounds ([60 x i8]* @temp, i32 0, i32 16), i32 3, i32 2, i1 false)
ret void
}
+
+define i32 @t8(i32 %x) nounwind {
+entry:
+; ARM: t8
+; ARM-NOT: FastISel missed call: %expval = call i32 @llvm.expect.i32(i32 %x, i32 1)
+; THUMB: t8
+; THUMB-NOT: FastISel missed call: %expval = call i32 @llvm.expect.i32(i32 %x, i32 1)
+ %expval = call i32 @llvm.expect.i32(i32 %x, i32 1)
+ ret i32 %expval
+}
+
+declare i32 @llvm.expect.i32(i32, i32) nounwind readnone
More information about the llvm-commits
mailing list