Skip to content

Commit

Permalink
[Passes] Remove some legacy passes
Browse files Browse the repository at this point in the history
Namely CrossDSOCFI and GlobalSplit.

These are part of the optimization pipeline, of which the legacy pass manager version is deprecated.
  • Loading branch information
aeubanks committed Feb 10, 2023
1 parent 3a66446 commit c8b8d6b
Show file tree
Hide file tree
Showing 4 changed files with 2 additions and 50 deletions.
7 changes: 0 additions & 7 deletions llvm/include/llvm/Transforms/IPO.h
Expand Up @@ -113,13 +113,6 @@ enum class PassSummaryAction {
Export, ///< Export information to summary.
};

/// This pass export CFI checks for use by external modules.
ModulePass *createCrossDSOCFIPass();

/// This pass splits globals into pieces for the benefit of whole-program
/// devirtualization and control-flow integrity.
ModulePass *createGlobalSplitPass();

} // End llvm namespace

#endif
16 changes: 2 additions & 14 deletions llvm/lib/Transforms/IPO/CrossDSOCFI.cpp
Expand Up @@ -35,28 +35,16 @@ STATISTIC(NumTypeIds, "Number of unique type identifiers");

namespace {

struct CrossDSOCFI : public ModulePass {
static char ID;
CrossDSOCFI() : ModulePass(ID) {
initializeCrossDSOCFIPass(*PassRegistry::getPassRegistry());
}

struct CrossDSOCFI {
MDNode *VeryLikelyWeights;

ConstantInt *extractNumericTypeId(MDNode *MD);
void buildCFICheck(Module &M);
bool runOnModule(Module &M) override;
bool runOnModule(Module &M);
};

} // anonymous namespace

INITIALIZE_PASS_BEGIN(CrossDSOCFI, "cross-dso-cfi", "Cross-DSO CFI", false,
false)
INITIALIZE_PASS_END(CrossDSOCFI, "cross-dso-cfi", "Cross-DSO CFI", false, false)
char CrossDSOCFI::ID = 0;

ModulePass *llvm::createCrossDSOCFIPass() { return new CrossDSOCFI; }

/// Extracts a numeric type identifier from an MDNode containing type metadata.
ConstantInt *CrossDSOCFI::extractNumericTypeId(MDNode *MD) {
// This check excludes vtables for classes inside anonymous namespaces.
Expand Down
27 changes: 0 additions & 27 deletions llvm/lib/Transforms/IPO/GlobalSplit.cpp
Expand Up @@ -159,33 +159,6 @@ static bool splitGlobals(Module &M) {
return Changed;
}

namespace {

struct GlobalSplit : public ModulePass {
static char ID;

GlobalSplit() : ModulePass(ID) {
initializeGlobalSplitPass(*PassRegistry::getPassRegistry());
}

bool runOnModule(Module &M) override {
if (skipModule(M))
return false;

return splitGlobals(M);
}
};

} // end anonymous namespace

char GlobalSplit::ID = 0;

INITIALIZE_PASS(GlobalSplit, "globalsplit", "Global splitter", false, false)

ModulePass *llvm::createGlobalSplitPass() {
return new GlobalSplit;
}

PreservedAnalyses GlobalSplitPass::run(Module &M, ModuleAnalysisManager &AM) {
if (!splitGlobals(M))
return PreservedAnalyses::all();
Expand Down
2 changes: 0 additions & 2 deletions llvm/lib/Transforms/IPO/IPO.cpp
Expand Up @@ -25,13 +25,11 @@ using namespace llvm;
void llvm::initializeIPO(PassRegistry &Registry) {
initializeAnnotation2MetadataLegacyPass(Registry);
initializeConstantMergeLegacyPassPass(Registry);
initializeCrossDSOCFIPass(Registry);
initializeDAEPass(Registry);
initializeDAHPass(Registry);
initializeForceFunctionAttrsLegacyPassPass(Registry);
initializeGlobalDCELegacyPassPass(Registry);
initializeGlobalOptLegacyPassPass(Registry);
initializeGlobalSplitPass(Registry);
initializeAlwaysInlinerLegacyPassPass(Registry);
initializeInferFunctionAttrsLegacyPassPass(Registry);
initializeLoopExtractorLegacyPassPass(Registry);
Expand Down

0 comments on commit c8b8d6b

Please sign in to comment.