mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
use ImmutableCallSite for const-corrgoodness
llvm-svn: 109503
This commit is contained in:
parent
ee90e05139
commit
aaf68e2e5a
@ -152,14 +152,14 @@ void CodeMetrics::analyzeBasicBlock(const BasicBlock *BB) {
|
||||
if (isa<CallInst>(II) || isa<InvokeInst>(II)) {
|
||||
if (isa<DbgInfoIntrinsic>(II))
|
||||
continue; // Debug intrinsics don't count as size.
|
||||
|
||||
CallSite CS = CallSite::get(const_cast<Instruction*>(&*II));
|
||||
|
||||
|
||||
ImmutableCallSite CS(cast<Instruction>(II));
|
||||
|
||||
// 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 (Function *F = CS.getCalledFunction()) {
|
||||
if (const Function *F = CS.getCalledFunction()) {
|
||||
if (F->isDeclaration() &&
|
||||
(F->getName() == "setjmp" || F->getName() == "_setjmp"))
|
||||
callsSetJmp = true;
|
||||
|
Loading…
Reference in New Issue
Block a user