Now that we have the ReturnsTwice function attribute, this method is

obsolete. Check the attribute instead.
<rdar://problem/8031714>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142212 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bill Wendling
2011-10-17 18:22:52 +00:00
parent f1fddcd9e0
commit 728662f9e8
5 changed files with 7 additions and 52 deletions

View File

@@ -225,12 +225,11 @@ unsigned CodeMetrics::CountCodeReductionForAlloca(Value *V) {
/// analyzeFunction - Fill in the current structure with information gleaned
/// from the specified function.
void CodeMetrics::analyzeFunction(Function *F, const TargetData *TD) {
// If this function contains a call to setjmp or _setjmp, never inline
// it. This is a hack because we depend on the user marking their local
// variables as volatile if they are live across a setjmp call, and they
// probably won't do this in callers.
if (F->callsFunctionThatReturnsTwice())
callsSetJmp = true;
// If this function contains a call that "returns twice" (e.g., setjmp or
// _setjmp), never inline it. This is a hack because we depend on the user
// marking their local variables as volatile if they are live across a setjmp
// call, and they probably won't do this in callers.
callsSetJmp = F->hasFnAttr(Attribute::ReturnsTwice);
// Look at the size of the callee.
for (Function::const_iterator BB = F->begin(), E = F->end(); BB != E; ++BB)