|
LLVM
3.7.0
|
#include "llvm/Analysis/InlineCost.h"#include "llvm/ADT/STLExtras.h"#include "llvm/ADT/SetVector.h"#include "llvm/ADT/SmallPtrSet.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/Statistic.h"#include "llvm/Analysis/AssumptionCache.h"#include "llvm/Analysis/CodeMetrics.h"#include "llvm/Analysis/ConstantFolding.h"#include "llvm/Analysis/InstructionSimplify.h"#include "llvm/Analysis/TargetTransformInfo.h"#include "llvm/IR/CallSite.h"#include "llvm/IR/CallingConv.h"#include "llvm/IR/DataLayout.h"#include "llvm/IR/GetElementPtrTypeIterator.h"#include "llvm/IR/GlobalAlias.h"#include "llvm/IR/InstVisitor.h"#include "llvm/IR/IntrinsicInst.h"#include "llvm/IR/Operator.h"#include "llvm/Support/Debug.h"#include "llvm/Support/raw_ostream.h"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "inline-cost" |
| #define | DEBUG_PRINT_STAT(x) dbgs() << " " #x ": " << x << "\n" |
Functions | |
| STATISTIC (NumCallsAnalyzed,"Number of call sites analyzed") | |
| INITIALIZE_PASS_BEGIN (InlineCostAnalysis,"inline-cost","Inline Cost Analysis", true, true) INITIALIZE_PASS_END(InlineCostAnalysis | |
| template<typename AttrKind > | |
| static bool | attributeMatches (Function *F1, Function *F2, AttrKind Attr) |
| Test that two functions either have or have not the given attribute at the same time. More... | |
| static bool | functionsHaveCompatibleAttributes (Function *Caller, Function *Callee, TargetTransformInfo &TTI) |
| Test that there are no attribute conflicts between Caller and Callee that prevent inlining. More... | |
Variables | |
| inline | cost |
| inline Inline Cost | Analysis |
| inline Inline Cost | true |
| #define DEBUG_PRINT_STAT | ( | x | ) | dbgs() << " " #x ": " << x << "\n" |
| #define DEBUG_TYPE "inline-cost" |
Definition at line 38 of file InlineCost.cpp.
|
static |
Test that two functions either have or have not the given attribute at the same time.
Definition at line 1340 of file InlineCost.cpp.
References llvm::Function::getFnAttribute().
Referenced by functionsHaveCompatibleAttributes().
|
static |
Test that there are no attribute conflicts between Caller and Callee that prevent inlining.
Definition at line 1346 of file InlineCost.cpp.
References attributeMatches(), llvm::TargetTransformInfo::hasCompatibleFunctionAttributes(), llvm::Attribute::SanitizeAddress, llvm::Attribute::SanitizeMemory, and llvm::Attribute::SanitizeThread.
Referenced by llvm::InlineCostAnalysis::getInlineCost().
| INITIALIZE_PASS_BEGIN | ( | InlineCostAnalysis | , |
| "inline-cost" | , | ||
| "Inline Cost Analysis" | , | ||
| true | , | ||
| true | |||
| ) |
| STATISTIC | ( | NumCallsAnalyzed | , |
| "Number of call sites analyzed" | |||
| ) |
| inline Inline Cost Analysis |
Definition at line 1311 of file InlineCost.cpp.
| inline cost |
Definition at line 1311 of file InlineCost.cpp.
Referenced by isProfitableChain().
| inline Inline Cost true |
Definition at line 1311 of file InlineCost.cpp.
1.8.6