r192120 - Fix objectsize tests after r192117

jahanian fjahanian at apple.com
Mon Oct 7 13:05:52 PDT 2013


These tests are failing on a VS buildbot.

Failing Tests (3):
      Clang :: CodeGen/catch-undef-behavior.c
      Clang :: CodeGen/object-size.c
      Clang :: CodeGenCXX/catch-undef-behavior.cpp

- Fariborz

On Oct 7, 2013, at 12:00 PM, Matt Arsenault <Matthew.Arsenault at amd.com> wrote:

> Author: arsenm
> Date: Mon Oct  7 14:00:18 2013
> New Revision: 192120
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=192120&view=rev
> Log:
> Fix objectsize tests after r192117
> 
> Modified:
>    cfe/trunk/lib/CodeGen/CGBuiltin.cpp
>    cfe/trunk/lib/CodeGen/CGExpr.cpp
>    cfe/trunk/test/CodeGen/catch-undef-behavior.c
>    cfe/trunk/test/CodeGen/object-size.c
>    cfe/trunk/test/CodeGenCXX/catch-undef-behavior.cpp
> 
> Modified: cfe/trunk/lib/CodeGen/CGBuiltin.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGBuiltin.cpp?rev=192120&r1=192119&r2=192120&view=diff
> ==============================================================================
> --- cfe/trunk/lib/CodeGen/CGBuiltin.cpp (original)
> +++ cfe/trunk/lib/CodeGen/CGBuiltin.cpp Mon Oct  7 14:00:18 2013
> @@ -408,8 +408,9 @@ RValue CodeGenFunction::EmitBuiltinExpr(
>     assert(CI);
>     uint64_t val = CI->getZExtValue();
>     CI = ConstantInt::get(Builder.getInt1Ty(), (val & 0x2) >> 1);
> -
> -    Value *F = CGM.getIntrinsic(Intrinsic::objectsize, ResType);
> +    // FIXME: Get right address space.
> +    llvm::Type *Tys[] = { ResType, Builder.getInt8PtrTy(0) };
> +    Value *F = CGM.getIntrinsic(Intrinsic::objectsize, Tys);
>     return RValue::get(Builder.CreateCall2(F, EmitScalarExpr(E->getArg(0)),CI));
>   }
>   case Builtin::BI__builtin_prefetch: {
> 
> Modified: cfe/trunk/lib/CodeGen/CGExpr.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGExpr.cpp?rev=192120&r1=192119&r2=192120&view=diff
> ==============================================================================
> --- cfe/trunk/lib/CodeGen/CGExpr.cpp (original)
> +++ cfe/trunk/lib/CodeGen/CGExpr.cpp Mon Oct  7 14:00:18 2013
> @@ -476,7 +476,9 @@ void CodeGenFunction::EmitTypeCheck(Type
>     // The glvalue must refer to a large enough storage region.
>     // FIXME: If Address Sanitizer is enabled, insert dynamic instrumentation
>     //        to check this.
> -    llvm::Value *F = CGM.getIntrinsic(llvm::Intrinsic::objectsize, IntPtrTy);
> +    // FIXME: Get object address space
> +    llvm::Type *Tys[2] = { IntPtrTy, Int8PtrTy };
> +    llvm::Value *F = CGM.getIntrinsic(llvm::Intrinsic::objectsize, Tys);
>     llvm::Value *Min = Builder.getFalse();
>     llvm::Value *CastAddr = Builder.CreateBitCast(Address, Int8PtrTy);
>     llvm::Value *LargeEnough =
> 
> Modified: cfe/trunk/test/CodeGen/catch-undef-behavior.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/catch-undef-behavior.c?rev=192120&r1=192119&r2=192120&view=diff
> ==============================================================================
> --- cfe/trunk/test/CodeGen/catch-undef-behavior.c (original)
> +++ cfe/trunk/test/CodeGen/catch-undef-behavior.c Mon Oct  7 14:00:18 2013
> @@ -31,12 +31,12 @@ void foo() {
>   // CHECK-TRAP: %[[CHECK0:.*]] = icmp ne {{.*}}* %[[PTR:.*]], null
> 
>   // CHECK:      %[[I8PTR:.*]] = bitcast i32* %[[PTR]] to i8*
> -  // CHECK-NEXT: %[[SIZE:.*]] = call i64 @llvm.objectsize.i64(i8* %[[I8PTR]], i1 false)
> +  // CHECK-NEXT: %[[SIZE:.*]] = call i64 @llvm.objectsize.i64.p0i8(i8* %[[I8PTR]], i1 false)
>   // CHECK-NEXT: %[[CHECK1:.*]] = icmp uge i64 %[[SIZE]], 4
>   // CHECK-NEXT: %[[CHECK01:.*]] = and i1 %[[CHECK0]], %[[CHECK1]]
> 
>   // CHECK-TRAP:      %[[I8PTR:.*]] = bitcast i32* %[[PTR]] to i8*
> -  // CHECK-TRAP-NEXT: %[[SIZE:.*]] = call i64 @llvm.objectsize.i64(i8* %[[I8PTR]], i1 false)
> +  // CHECK-TRAP-NEXT: %[[SIZE:.*]] = call i64 @llvm.objectsize.i64.p0i8(i8* %[[I8PTR]], i1 false)
>   // CHECK-TRAP-NEXT: %[[CHECK1:.*]] = icmp uge i64 %[[SIZE]], 4
>   // CHECK-TRAP-NEXT: %[[CHECK01:.*]] = and i1 %[[CHECK0]], %[[CHECK1]]
> 
> 
> Modified: cfe/trunk/test/CodeGen/object-size.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/object-size.c?rev=192120&r1=192119&r2=192120&view=diff
> ==============================================================================
> --- cfe/trunk/test/CodeGen/object-size.c (original)
> +++ cfe/trunk/test/CodeGen/object-size.c Mon Oct  7 14:00:18 2013
> @@ -40,7 +40,7 @@ void test4() {
> // CHECK-LABEL: define void @test5
> void test5() {
>   // CHECK:     = load i8** @gp
> -  // CHECK-NEXT:= call i64 @llvm.objectsize.i64(i8* %{{.*}}, i1 false)
> +  // CHECK-NEXT:= call i64 @llvm.objectsize.i64.p0i8(i8* %{{.*}}, i1 false)
>   strcpy(gp, "Hi there");
> }
> 
> 
> Modified: cfe/trunk/test/CodeGenCXX/catch-undef-behavior.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/catch-undef-behavior.cpp?rev=192120&r1=192119&r2=192120&view=diff
> ==============================================================================
> --- cfe/trunk/test/CodeGenCXX/catch-undef-behavior.cpp (original)
> +++ cfe/trunk/test/CodeGenCXX/catch-undef-behavior.cpp Mon Oct  7 14:00:18 2013
> @@ -186,7 +186,7 @@ void bad_downcast_pointer(S *p) {
>   // CHECK: %[[NONNULL:.*]] = icmp ne {{.*}}, null
>   // CHECK: br i1 %[[NONNULL]],
> 
> -  // CHECK: %[[SIZE:.*]] = call i64 @llvm.objectsize.i64(
> +  // CHECK: %[[SIZE:.*]] = call i64 @llvm.objectsize.i64.p0i8(
>   // CHECK: %[[E1:.*]] = icmp uge i64 %[[SIZE]], 24
>   // CHECK: %[[MISALIGN:.*]] = and i64 %{{.*}}, 7
>   // CHECK: %[[E2:.*]] = icmp eq i64 %[[MISALIGN]], 0
> @@ -207,7 +207,7 @@ void bad_downcast_pointer(S *p) {
> void bad_downcast_reference(S &p) {
>   // CHECK: %[[E1:.*]] = icmp ne {{.*}}, null
>   // CHECK-NOT: br i1
> -  // CHECK: %[[SIZE:.*]] = call i64 @llvm.objectsize.i64(
> +  // CHECK: %[[SIZE:.*]] = call i64 @llvm.objectsize.i64.p0i8(
>   // CHECK: %[[E2:.*]] = icmp uge i64 %[[SIZE]], 24
>   // CHECK: %[[E12:.*]] = and i1 %[[E1]], %[[E2]]
>   // CHECK: %[[MISALIGN:.*]] = and i64 %{{.*}}, 7
> 
> 
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20131007/da845a64/attachment.html>


More information about the cfe-commits mailing list