1010//
1111// ===----------------------------------------------------------------------===//
1212
13+ #include " llvm/CodeGen/FEntryInserter.h"
1314#include " llvm/CodeGen/MachineFunction.h"
1415#include " llvm/CodeGen/MachineFunctionPass.h"
1516#include " llvm/CodeGen/MachineInstrBuilder.h"
17+ #include " llvm/CodeGen/MachinePassManager.h"
1618#include " llvm/CodeGen/TargetInstrInfo.h"
1719#include " llvm/CodeGen/TargetSubtargetInfo.h"
1820#include " llvm/IR/Function.h"
2123using namespace llvm ;
2224
2325namespace {
24- struct FEntryInserter : public MachineFunctionPass {
26+ struct FEntryInserter {
27+ bool run (MachineFunction &MF);
28+ };
29+
30+ struct FEntryInserterLegacy : public MachineFunctionPass {
2531 static char ID; // Pass identification, replacement for typeid
26- FEntryInserter () : MachineFunctionPass(ID) {
27- initializeFEntryInserterPass (*PassRegistry::getPassRegistry ());
32+ FEntryInserterLegacy () : MachineFunctionPass(ID) {
33+ initializeFEntryInserterLegacyPass (*PassRegistry::getPassRegistry ());
2834 }
2935
30- bool runOnMachineFunction (MachineFunction &F) override ;
36+ bool runOnMachineFunction (MachineFunction &F) override {
37+ return FEntryInserter ().run (F);
38+ }
3139};
3240}
3341
34- bool FEntryInserter::runOnMachineFunction (MachineFunction &MF) {
42+ PreservedAnalyses FEntryInserterPass::run (MachineFunction &MF,
43+ MachineFunctionAnalysisManager &AM) {
44+ if (!FEntryInserter ().run (MF))
45+ return PreservedAnalyses::all ();
46+ return getMachineFunctionPassPreservedAnalyses ();
47+ }
48+
49+ bool FEntryInserter::run (MachineFunction &MF) {
3550 const std::string FEntryName = std::string (
3651 MF.getFunction ().getFnAttribute (" fentry-call" ).getValueAsString ());
3752 if (FEntryName != " true" )
@@ -44,7 +59,7 @@ bool FEntryInserter::runOnMachineFunction(MachineFunction &MF) {
4459 return true ;
4560}
4661
47- char FEntryInserter ::ID = 0 ;
48- char &llvm::FEntryInserterID = FEntryInserter ::ID;
49- INITIALIZE_PASS (FEntryInserter , " fentry-insert" , " Insert fentry calls" , false ,
50- false )
62+ char FEntryInserterLegacy ::ID = 0 ;
63+ char &llvm::FEntryInserterID = FEntryInserterLegacy ::ID;
64+ INITIALIZE_PASS (FEntryInserterLegacy , " fentry-insert" , " Insert fentry calls" ,
65+ false , false )
0 commit comments