Skip to content

Commit 067301c

Browse files
committed
[Instrumentation] Support MachineFunction in OptNoneInstrumentation
1 parent c0ce44e commit 067301c

File tree

13 files changed

+17
-28
lines changed

13 files changed

+17
-28
lines changed

llvm/include/llvm/CodeGen/FinalizeISel.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ namespace llvm {
1616
class FinalizeISelPass : public PassInfoMixin<FinalizeISelPass> {
1717
public:
1818
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &);
19+
static bool isRequired() { return true; }
1920
};
2021

2122
} // namespace llvm

llvm/include/llvm/CodeGen/LocalStackSlotAllocation.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ class LocalStackSlotAllocationPass
1717
: public PassInfoMixin<LocalStackSlotAllocationPass> {
1818
public:
1919
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &);
20+
static bool isRequired() { return true; }
2021
};
2122

2223
} // namespace llvm

llvm/include/llvm/CodeGen/PHIElimination.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ class PHIEliminationPass : public PassInfoMixin<PHIEliminationPass> {
1717
public:
1818
PreservedAnalyses run(MachineFunction &MF,
1919
MachineFunctionAnalysisManager &MFAM);
20+
static bool isRequired() { return true; }
2021
};
2122

2223
} // namespace llvm

llvm/include/llvm/CodeGen/RegAllocFast.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ class RegAllocFastPass : public PassInfoMixin<RegAllocFastPass> {
5050

5151
void printPipeline(raw_ostream &OS,
5252
function_ref<StringRef(StringRef)> MapClassName2PassName);
53+
54+
static bool isRequired() { return true; }
5355
};
5456

5557
} // namespace llvm

llvm/include/llvm/CodeGen/SelectionDAGISel.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -551,6 +551,7 @@ class SelectionDAGISelPass : public PassInfoMixin<SelectionDAGISelPass> {
551551
public:
552552
PreservedAnalyses run(MachineFunction &MF,
553553
MachineFunctionAnalysisManager &MFAM);
554+
static bool isRequired() { return true; }
554555
};
555556
}
556557

llvm/include/llvm/Passes/CodeGenPassBuilder.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -188,9 +188,8 @@ template <typename DerivedT, typename TargetMachineT> class CodeGenPassBuilder {
188188
static_assert((is_detected<is_function_pass_t, PassT>::value ||
189189
is_detected<is_module_pass_t, PassT>::value) &&
190190
"Only module pass and function pass are supported.");
191-
bool Required = false;
192-
if constexpr (is_detected<has_required_t, PassT>::value)
193-
Required = PassT::isRequired();
191+
bool Required = PassT::name().contains("RequireAnalysisPass") ||
192+
PassT::name().contains("PrinterPass");
194193
if (!PB.runBeforeAdding(Name) && !Required)
195194
return;
196195

llvm/lib/CodeGen/EarlyIfConversion.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1119,9 +1119,6 @@ bool EarlyIfConverter::run(MachineFunction &MF) {
11191119
PreservedAnalyses
11201120
EarlyIfConverterPass::run(MachineFunction &MF,
11211121
MachineFunctionAnalysisManager &MFAM) {
1122-
if (MF.getFunction().hasOptNone())
1123-
return PreservedAnalyses::all();
1124-
11251122
MachineDominatorTree &MDT = MFAM.getResult<MachineDominatorTreeAnalysis>(MF);
11261123
MachineLoopInfo &LI = MFAM.getResult<MachineLoopAnalysis>(MF);
11271124
MachineTraceMetrics &MTM = MFAM.getResult<MachineTraceMetricsAnalysis>(MF);

llvm/lib/CodeGen/MachineCSE.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -957,9 +957,6 @@ PreservedAnalyses MachineCSEPass::run(MachineFunction &MF,
957957
MachineFunctionAnalysisManager &MFAM) {
958958
MFPropsModifier _(*this, MF);
959959

960-
if (MF.getFunction().hasOptNone())
961-
return PreservedAnalyses::all();
962-
963960
MachineDominatorTree &MDT = MFAM.getResult<MachineDominatorTreeAnalysis>(MF);
964961
MachineBlockFrequencyInfo &MBFI =
965962
MFAM.getResult<MachineBlockFrequencyAnalysis>(MF);

llvm/lib/CodeGen/MachineLICM.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1763,9 +1763,6 @@ bool MachineLICMImpl::isTgtHotterThanSrc(MachineBasicBlock *SrcBlock,
17631763
template <typename DerivedT, bool PreRegAlloc>
17641764
PreservedAnalyses MachineLICMBasePass<DerivedT, PreRegAlloc>::run(
17651765
MachineFunction &MF, MachineFunctionAnalysisManager &MFAM) {
1766-
if (MF.getFunction().hasOptNone())
1767-
return PreservedAnalyses::all();
1768-
17691766
bool Changed = MachineLICMImpl(PreRegAlloc, nullptr, &MFAM).run(MF);
17701767
if (!Changed)
17711768
return PreservedAnalyses::all();

llvm/lib/CodeGen/OptimizePHIs.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,6 @@ INITIALIZE_PASS(OptimizePHIsLegacy, DEBUG_TYPE,
8181

8282
PreservedAnalyses OptimizePHIsPass::run(MachineFunction &MF,
8383
MachineFunctionAnalysisManager &MFAM) {
84-
if (MF.getFunction().hasOptNone())
85-
return PreservedAnalyses::all();
86-
8784
OptimizePHIs OP;
8885
if (!OP.run(MF))
8986
return PreservedAnalyses::all();

0 commit comments

Comments
 (0)