[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