Lines Matching defs:CallAnalyzer

233 /// functions. If we want to support constructing CallAnalyzer objects where
237 class CallAnalyzer : public InstVisitor<CallAnalyzer, bool> {
238 typedef InstVisitor<CallAnalyzer, bool> Base;
239 friend class InstVisitor<CallAnalyzer, bool>;
242 virtual ~CallAnalyzer() = default;
495 CallAnalyzer(Function &Callee, CallBase &Call, const TargetTransformInfo &TTI,
545 class InlineCostCallAnalyzer final : public CallAnalyzer {
1111 : CallAnalyzer(Callee, Call, TTI, GetAssumptionCache, GetBFI, PSI, ORE),
1153 class InlineCostFeaturesAnalyzer final : public CallAnalyzer {
1166 // eventually abstract these to the CallAnalyzer to avoid duplication.
1339 // CallAnalyzer
1358 : CallAnalyzer(Callee, Call, TTI, GetAssumptionCache, GetBFI, PSI) {}
1366 bool CallAnalyzer::isAllocaDerivedArg(Value *V) {
1370 void CallAnalyzer::disableSROAForArg(AllocaInst *SROAArg) {
1402 void CallAnalyzer::disableSROA(Value *V) {
1408 void CallAnalyzer::disableLoadElimination() {
1419 bool CallAnalyzer::accumulateGEPOffset(GEPOperator &GEP, APInt &Offset) {
1451 bool CallAnalyzer::isGEPFree(GetElementPtrInst &GEP) {
1464 bool CallAnalyzer::visitAlloca(AllocaInst &I) {
1507 bool CallAnalyzer::visitPHI(PHINode &I) {
1605 bool CallAnalyzer::canFoldInboundsGEP(GetElementPtrInst &I) {
1623 bool CallAnalyzer::visitGetElementPtr(GetElementPtrInst &I) {
1653 bool CallAnalyzer::simplifyInstruction(Instruction &I) {
1672 /// Duplicate the argument checking from CallAnalyzer::simplifyCallSite since
1679 bool CallAnalyzer::simplifyIntrinsicCallIsConstant(CallBase &CB) {
1691 bool CallAnalyzer::simplifyIntrinsicCallObjectSize(CallBase &CB) {
1705 bool CallAnalyzer::visitBitCast(BitCastInst &I) {
1725 bool CallAnalyzer::visitPtrToInt(PtrToIntInst &I) {
1755 bool CallAnalyzer::visitIntToPtr(IntToPtrInst &I) {
1778 bool CallAnalyzer::visitCastInst(CastInst &I) {
1808 bool CallAnalyzer::paramHasAttr(Argument *A, Attribute::AttrKind Attr) {
1812 bool CallAnalyzer::isKnownNonNullInCallee(Value *V) {
1834 bool CallAnalyzer::allowSizeGrowth(CallBase &Call) {
2035 bool CallAnalyzer::visitCmpInst(CmpInst &I) {
2087 bool CallAnalyzer::visitSub(BinaryOperator &I) {
2114 bool CallAnalyzer::visitBinaryOperator(BinaryOperator &I) {
2153 bool CallAnalyzer::visitFNeg(UnaryOperator &I) {
2174 bool CallAnalyzer::visitLoad(LoadInst &I) {
2191 bool CallAnalyzer::visitStore(StoreInst &I) {
2209 bool CallAnalyzer::visitExtractValue(ExtractValueInst &I) {
2218 bool CallAnalyzer::visitInsertValue(InsertValueInst &I) {
2233 bool CallAnalyzer::simplifyCallSite(Function *F, CallBase &Call) {
2261 bool CallAnalyzer::visitCallBase(CallBase &Call) {
2351 bool CallAnalyzer::visitReturnInst(ReturnInst &RI) {
2358 bool CallAnalyzer::visitBranchInst(BranchInst &BI) {
2369 bool CallAnalyzer::visitSelectInst(SelectInst &SI) {
2446 bool CallAnalyzer::visitSwitchInst(SwitchInst &SI) {
2476 bool CallAnalyzer::visitIndirectBrInst(IndirectBrInst &IBI) {
2489 bool CallAnalyzer::visitResumeInst(ResumeInst &RI) {
2495 bool CallAnalyzer::visitCleanupReturnInst(CleanupReturnInst &CRI) {
2501 bool CallAnalyzer::visitCatchReturnInst(CatchReturnInst &CRI) {
2507 bool CallAnalyzer::visitUnreachableInst(UnreachableInst &I) {
2514 bool CallAnalyzer::visitInstruction(Instruction &I) {
2537 CallAnalyzer::analyzeBlock(BasicBlock *BB,
2630 ConstantInt *CallAnalyzer::stripAndComputeInBoundsConstantOffsets(Value *&V) {
2668 void CallAnalyzer::findDeadBlocks(BasicBlock *CurrBB, BasicBlock *NextBB) {
2706 InlineResult CallAnalyzer::analyze() {