[llvm] r176649 - [fast-isel] Add support for the expect intrinsic.
Bill Wendling
wendling at apple.com
Thu Mar 7 13:36:17 PST 2013
On Mar 7, 2013, at 12:42 PM, Chad Rosier <mcrosier at apple.com> wrote:
> 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;
> + }
> }
>
?? Why is this all commented out?
-bw
> // 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
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list