[llvm-commits] [llvm] r54464 - /llvm/trunk/lib/Transforms/IPO/StructRetPromotion.cpp
Matthijs Kooijman
matthijs at stdin.nl
Thu Aug 7 08:14:06 PDT 2008
Author: matthijs
Date: Thu Aug 7 10:14:04 2008
New Revision: 54464
URL: http://llvm.org/viewvc/llvm-project?rev=54464&view=rev
Log:
Add some debug output to SRETPromotion.
Modified:
llvm/trunk/lib/Transforms/IPO/StructRetPromotion.cpp
Modified: llvm/trunk/lib/Transforms/IPO/StructRetPromotion.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/StructRetPromotion.cpp?rev=54464&r1=54463&r2=54464&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/IPO/StructRetPromotion.cpp (original)
+++ llvm/trunk/lib/Transforms/IPO/StructRetPromotion.cpp Thu Aug 7 10:14:04 2008
@@ -89,6 +89,8 @@
if (F->arg_size() == 0 || !F->hasStructRetAttr() || F->doesNotReturn())
return false;
+ DOUT << "SretPromotion: Looking at sret function " << F->getNameStart() << "\n";
+
assert (F->getReturnType() == Type::VoidTy && "Invalid function return type");
Function::arg_iterator AI = F->arg_begin();
const llvm::PointerType *FArgType = dyn_cast<PointerType>(AI->getType());
@@ -99,10 +101,12 @@
// Check if it is ok to perform this promotion.
if (isSafeToUpdateAllCallers(F) == false) {
+ DOUT << "SretPromotion: Not all callers can be updated\n";
NumRejectedSRETUses++;
return false;
}
+ DOUT << "SretPromotion: sret argument will be promoted\n";
NumSRET++;
// [1] Replace use of sret parameter
AllocaInst *TheAlloca = new AllocaInst (STy, NULL, "mrv",
More information about the llvm-commits
mailing list