remove calls to calloc if the allocated memory is not used (it was already being...
authorNuno Lopes <nunoplopes@sapo.pt>
Thu, 3 May 2012 22:08:19 +0000 (22:08 +0000)
committerNuno Lopes <nunoplopes@sapo.pt>
Thu, 3 May 2012 22:08:19 +0000 (22:08 +0000)
fix a few typos found by Chad in my previous commit

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156110 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/MemoryBuiltins.cpp
lib/Transforms/InstCombine/InstCombineCalls.cpp
test/Transforms/InstCombine/objsize.ll

index 347a7ea7a8b9cc17cf18ff76f8084ed8b0882512..9695ae1dec225cf55e5ebf34c406978717fe2838 100644 (file)
@@ -182,7 +182,7 @@ Value *llvm::getMallocArraySize(CallInst *CI, const TargetData *TD,
 
 
 //===----------------------------------------------------------------------===//
-//  clloc Call Utility Functions.
+//  calloc Call Utility Functions.
 //
 
 static bool isCallocCall(const CallInst *CI) {
@@ -197,7 +197,7 @@ static bool isCallocCall(const CallInst *CI) {
   
   // Check malloc prototype.
   // FIXME: workaround for PR5130, this will be obsolete when a nobuiltin 
-  // attribute will exist.
+  // attribute exists.
   FunctionType *FTy = Callee->getFunctionType();
   return FTy->getReturnType() == Type::getInt8PtrTy(FTy->getContext()) &&
   FTy->getNumParams() == 2 &&
index 4196ca6cf799f623fed1a49ed69fd87ebd03c22f..5fdb57bc7aa0aaf3c607be5a1dd9f1bd4c6598a6 100644 (file)
@@ -172,7 +172,7 @@ Instruction *InstCombiner::SimplifyMemSet(MemSetInst *MI) {
 Instruction *InstCombiner::visitCallInst(CallInst &CI) {
   if (isFreeCall(&CI))
     return visitFree(CI);
-  if (isMalloc(&CI))
+  if (extractMallocCall(&CI) || extractCallocCall(&CI))
     return visitMalloc(CI);
 
   // If the caller function is nounwind, mark the call as nounwind, even if the
index 6b5c0f56eb1f014aa55ddf2c2c23bcb0c9e793a1..39ad3db5bacc851530e9222f46230a14fe3b832a 100644 (file)
@@ -165,7 +165,7 @@ define i32 @test8() {
   %alloc = call noalias i8* @calloc(i32 5, i32 7) nounwind
   %gep = getelementptr inbounds i8* %alloc, i32 5
   %objsize = call i32 @llvm.objectsize.i32(i8* %gep, i1 false) nounwind readonly
-; CHECK: ret i32 30
+; CHECK-NEXT: ret i32 30
   ret i32 %objsize
 }
 
@@ -175,6 +175,6 @@ define i32 @test9() {
   %alloc = call noalias i8* @calloc(i32 100000000, i32 100000000) nounwind
   %gep = getelementptr inbounds i8* %alloc, i32 2
   %objsize = call i32 @llvm.objectsize.i32(i8* %gep, i1 true) nounwind readonly
-; CHECK: ret i32 0
+; CHECK-NEXT: ret i32 0
   ret i32 %objsize
 }