[cfe-commits] r86607 - in /cfe/trunk: lib/CodeGen/CGBuiltin.cpp test/CodeGen/object-size.c
Chris Lattner
clattner at apple.com
Fri Dec 4 22:29:22 PST 2009
On Nov 9, 2009, at 2:40 PM, Mike Stump wrote:
> Author: mrs
> Date: Mon Nov 9 16:40:09 2009
> New Revision: 86607
>
> URL: http://llvm.org/viewvc/llvm-project?rev=86607&view=rev
> Log:
> Enable the use of the new llvm objectsize intrinsic.
Mike, can the #ifdef's be removed now?
-Chris
>
> Modified:
> cfe/trunk/lib/CodeGen/CGBuiltin.cpp
> cfe/trunk/test/CodeGen/object-size.c
>
> Modified: cfe/trunk/lib/CodeGen/CGBuiltin.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGBuiltin.cpp?rev=86607&r1=86606&r2=86607&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/CodeGen/CGBuiltin.cpp (original)
> +++ cfe/trunk/lib/CodeGen/CGBuiltin.cpp Mon Nov 9 16:40:09 2009
> @@ -199,8 +199,7 @@
> return RValue::get(Builder.CreateCall(F, ArgValue, "tmp"));
> }
> case Builtin::BI__builtin_object_size: {
> - // FIXME: We're awaiting the llvm intrincis.
> -#if 0
> +#if 1
> // We pass this builtin onto the optimizer so that it can
> // figure out the object size in more complex cases.
> const llvm::Type *ResType[] = {
> @@ -211,8 +210,7 @@
> EmitScalarExpr(E->getArg(0)),
> EmitScalarExpr(E->getArg(1))));
> #else
> - // FIXME: Implement. For now we just always fail and pretend we
> - // don't know the object size.
> + // FIXME: Remove after testing.
> llvm::APSInt TypeArg = E->getArg(1)->EvaluateAsInt(CGM.getContext());
> const llvm::Type *ResType = ConvertType(E->getType());
> // bool UseSubObject = TypeArg.getZExtValue() & 1;
>
> Modified: cfe/trunk/test/CodeGen/object-size.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/object-size.c?rev=86607&r1=86606&r2=86607&view=diff
>
> ==============================================================================
> --- cfe/trunk/test/CodeGen/object-size.c (original)
> +++ cfe/trunk/test/CodeGen/object-size.c Mon Nov 9 16:40:09 2009
> @@ -46,8 +46,8 @@
> }
>
> void test5() {
> - // CHECK: movb $0, %al
> - // CHECK-NEXT: testb %al, %al
> + // CHECK: movq $-1, %rax
> + // CHECK-NEXT: cmpq $-1, %rax
> // CHECK: call ___inline_strcpy_chk
> strcpy(gp, "Hi there");
> }
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list