https://github.com/jayfoad updated https://github.com/llvm/llvm-project/pull/65729
>From 66129acffd34a4b0f2c8a956d88212ed2ee30946 Mon Sep 17 00:00:00 2001 From: Jay Foad <jay.f...@amd.com> Date: Fri, 8 Sep 2023 10:09:21 +0100 Subject: [PATCH] Clean up strange uses of getAnalysisIfAvailable After a pass calls addRequired<X>() it is strange to call getAnalysisIfAvailable<X>() because analysis X should always be available. Use getAnalysis<X>() instead. --- llvm/lib/CodeGen/EarlyIfConversion.cpp | 4 ++-- llvm/lib/CodeGen/TypePromotion.cpp | 7 ++----- llvm/lib/CodeGen/VirtRegMap.cpp | 2 +- llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp | 2 +- llvm/lib/Transforms/Scalar/GVN.cpp | 4 ++-- 5 files changed, 8 insertions(+), 11 deletions(-) diff --git a/llvm/lib/CodeGen/EarlyIfConversion.cpp b/llvm/lib/CodeGen/EarlyIfConversion.cpp index 61867d74bfa293c..3086d953a23699f 100644 --- a/llvm/lib/CodeGen/EarlyIfConversion.cpp +++ b/llvm/lib/CodeGen/EarlyIfConversion.cpp @@ -1092,7 +1092,7 @@ bool EarlyIfConverter::runOnMachineFunction(MachineFunction &MF) { SchedModel = STI.getSchedModel(); MRI = &MF.getRegInfo(); DomTree = &getAnalysis<MachineDominatorTree>(); - Loops = getAnalysisIfAvailable<MachineLoopInfo>(); + Loops = &getAnalysis<MachineLoopInfo>(); Traces = &getAnalysis<MachineTraceMetrics>(); MinInstr = nullptr; @@ -1226,7 +1226,7 @@ bool EarlyIfPredicator::runOnMachineFunction(MachineFunction &MF) { MRI = &MF.getRegInfo(); SchedModel.init(&STI); DomTree = &getAnalysis<MachineDominatorTree>(); - Loops = getAnalysisIfAvailable<MachineLoopInfo>(); + Loops = &getAnalysis<MachineLoopInfo>(); MBPI = &getAnalysis<MachineBranchProbabilityInfo>(); bool Changed = false; diff --git a/llvm/lib/CodeGen/TypePromotion.cpp b/llvm/lib/CodeGen/TypePromotion.cpp index 426292345a1478a..9deeb0d090595b7 100644 --- a/llvm/lib/CodeGen/TypePromotion.cpp +++ b/llvm/lib/CodeGen/TypePromotion.cpp @@ -1014,11 +1014,8 @@ bool TypePromotionLegacy::runOnFunction(Function &F) { if (skipFunction(F)) return false; - auto *TPC = getAnalysisIfAvailable<TargetPassConfig>(); - if (!TPC) - return false; - - auto *TM = &TPC->getTM<TargetMachine>(); + auto &TPC = getAnalysis<TargetPassConfig>(); + auto *TM = &TPC.getTM<TargetMachine>(); auto &TTI = getAnalysis<TargetTransformInfoWrapperPass>().getTTI(F); auto &LI = getAnalysis<LoopInfoWrapperPass>().getLoopInfo(); diff --git a/llvm/lib/CodeGen/VirtRegMap.cpp b/llvm/lib/CodeGen/VirtRegMap.cpp index c1c6ce227334a4b..6e29a41b617a87e 100644 --- a/llvm/lib/CodeGen/VirtRegMap.cpp +++ b/llvm/lib/CodeGen/VirtRegMap.cpp @@ -261,7 +261,7 @@ bool VirtRegRewriter::runOnMachineFunction(MachineFunction &fn) { Indexes = &getAnalysis<SlotIndexes>(); LIS = &getAnalysis<LiveIntervals>(); VRM = &getAnalysis<VirtRegMap>(); - DebugVars = getAnalysisIfAvailable<LiveDebugVariables>(); + DebugVars = &getAnalysis<LiveDebugVariables>(); LLVM_DEBUG(dbgs() << "********** REWRITE VIRTUAL REGISTERS **********\n" << "********** Function: " << MF->getName() << '\n'); LLVM_DEBUG(VRM->dump()); diff --git a/llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp b/llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp index 4c8c03a4c693fe1..ad0ff8335647419 100644 --- a/llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp +++ b/llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp @@ -935,7 +935,7 @@ bool AArch64ConditionalCompares::runOnMachineFunction(MachineFunction &MF) { SchedModel = MF.getSubtarget().getSchedModel(); MRI = &MF.getRegInfo(); DomTree = &getAnalysis<MachineDominatorTree>(); - Loops = getAnalysisIfAvailable<MachineLoopInfo>(); + Loops = &getAnalysis<MachineLoopInfo>(); MBPI = &getAnalysis<MachineBranchProbabilityInfo>(); Traces = &getAnalysis<MachineTraceMetrics>(); MinInstr = nullptr; diff --git a/llvm/lib/Transforms/Scalar/GVN.cpp b/llvm/lib/Transforms/Scalar/GVN.cpp index 635e56ec6012297..aaf117a3a084afd 100644 --- a/llvm/lib/Transforms/Scalar/GVN.cpp +++ b/llvm/lib/Transforms/Scalar/GVN.cpp @@ -3280,7 +3280,7 @@ class llvm::gvn::GVNLegacyPass : public FunctionPass { if (skipFunction(F)) return false; - auto *LIWP = getAnalysisIfAvailable<LoopInfoWrapperPass>(); + auto &LIWP = getAnalysis<LoopInfoWrapperPass>(); auto *MSSAWP = getAnalysisIfAvailable<MemorySSAWrapperPass>(); return Impl.runImpl( @@ -3291,7 +3291,7 @@ class llvm::gvn::GVNLegacyPass : public FunctionPass { Impl.isMemDepEnabled() ? &getAnalysis<MemoryDependenceWrapperPass>().getMemDep() : nullptr, - LIWP ? &LIWP->getLoopInfo() : nullptr, + &LIWP.getLoopInfo(), &getAnalysis<OptimizationRemarkEmitterWrapperPass>().getORE(), MSSAWP ? &MSSAWP->getMSSA() : nullptr); } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits