[cfe-commits] r157256 - in /cfe/trunk: lib/CodeGen/CGBuiltin.cpp lib/CodeGen/CGExpr.cpp test/CodeGen/bounds-checking.c test/CodeGen/object-size.c

Nuno Lopes nunoplopes at sapo.pt
Tue May 22 08:26:49 PDT 2012


Author: nlopes
Date: Tue May 22 10:26:48 2012
New Revision: 157256

URL: http://llvm.org/viewvc/llvm-project?rev=157256&view=rev
Log:
revert the usage of the objectsize intrinsic with 3 parameters (to match LLVM r157255)

Modified:
    cfe/trunk/lib/CodeGen/CGBuiltin.cpp
    cfe/trunk/lib/CodeGen/CGExpr.cpp
    cfe/trunk/test/CodeGen/bounds-checking.c
    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=157256&r1=157255&r2=157256&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CGBuiltin.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGBuiltin.cpp Tue May 22 10:26:48 2012
@@ -346,12 +346,9 @@
     assert(CI);
     uint64_t val = CI->getZExtValue();
     CI = ConstantInt::get(Builder.getInt1Ty(), (val & 0x2) >> 1);    
-    Value *Runtime = Builder.getInt32(0);  // FIXME: use BoundsChecking here?
     
     Value *F = CGM.getIntrinsic(Intrinsic::objectsize, ResType);
-    return RValue::get(Builder.CreateCall3(F,
-                                           EmitScalarExpr(E->getArg(0)),
-                                           CI, Runtime));
+    return RValue::get(Builder.CreateCall2(F, EmitScalarExpr(E->getArg(0)),CI));
   }
   case Builtin::BI__builtin_prefetch: {
     Value *Locality, *RW, *Address = EmitScalarExpr(E->getArg(0));

Modified: cfe/trunk/lib/CodeGen/CGExpr.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGExpr.cpp?rev=157256&r1=157255&r2=157256&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CGExpr.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGExpr.cpp Tue May 22 10:26:48 2012
@@ -526,8 +526,7 @@
   llvm::Value *F = CGM.getIntrinsic(llvm::Intrinsic::objectsize, IntPtrTy);
 
   llvm::Value *Min = Builder.getFalse();
-  llvm::Value *Runtime = Builder.getInt32(BoundsChecking);
-  llvm::Value *C = Builder.CreateCall3(F, Address, Min, Runtime);
+  llvm::Value *C = Builder.CreateCall2(F, Address, Min);
   llvm::BasicBlock *Cont = createBasicBlock();
   Builder.CreateCondBr(Builder.CreateICmpUGE(C,
                                         llvm::ConstantInt::get(IntPtrTy, Size)),

Modified: cfe/trunk/test/CodeGen/bounds-checking.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/bounds-checking.c?rev=157256&r1=157255&r2=157256&view=diff
==============================================================================
--- cfe/trunk/test/CodeGen/bounds-checking.c (original)
+++ cfe/trunk/test/CodeGen/bounds-checking.c Tue May 22 10:26:48 2012
@@ -4,22 +4,22 @@
 double f(int b, int i) {
   double a[b];
   return a[i];
-  // CHECK: objectsize.i64({{.*}}, i1 false, i32 4)
+  // CHECK: objectsize.i64({{.*}}, i1 false)
   // CHECK: icmp uge i64 {{.*}}, 8
 }
 
 // CHECK: @f2
 void f2() {
   int a[2];
-  // CHECK: objectsize.i64({{.*}}, i1 false, i32 4)
+  // CHECK: objectsize.i64({{.*}}, i1 false)
   // CHECK: icmp uge i64 {{.*}}, 4
   a[1] = 42;
   
   short *b = malloc(64);
-  // CHECK: objectsize.i64({{.*}}, i1 false, i32 4)
+  // CHECK: objectsize.i64({{.*}}, i1 false)
   // CHECK: icmp uge i64 {{.*}}, 4
   // CHECK: getelementptr {{.*}}, i64 5
-  // CHECK: objectsize.i64({{.*}}, i1 false, i32 4)
+  // CHECK: objectsize.i64({{.*}}, i1 false)
   // CHECK: icmp uge i64 {{.*}}, 2
   b[5] = a[1]+2;
 }

Modified: cfe/trunk/test/CodeGen/object-size.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/object-size.c?rev=157256&r1=157255&r2=157256&view=diff
==============================================================================
--- cfe/trunk/test/CodeGen/object-size.c (original)
+++ cfe/trunk/test/CodeGen/object-size.c Tue May 22 10:26:48 2012
@@ -40,7 +40,7 @@
 // CHECK: define void @test5
 void test5() {
   // CHECK:     = load i8** @gp
-  // CHECK-NEXT:= call i64 @llvm.objectsize.i64(i8* %{{.*}}, i1 false, i32 0)
+  // CHECK-NEXT:= call i64 @llvm.objectsize.i64(i8* %{{.*}}, i1 false)
   strcpy(gp, "Hi there");
 }
 
@@ -55,7 +55,7 @@
 // CHECK: define void @test7
 void test7() {
   int i;
-  // CHECK:     = call i64 @llvm.objectsize.i64(i8* {{.*}}@gbuf{{.*}}, i1 false, i32 0)
+  // CHECK:     = call i64 @llvm.objectsize.i64(i8* {{.*}}@gbuf{{.*}}, i1 false)
   strcpy((++i, gbuf), "Hi there");
 }
 





More information about the cfe-commits mailing list