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