]> granicus.if.org Git - llvm/commitdiff
Rename LowerTypeTestsSummaryAction to PassSummaryAction. NFCI.
authorPeter Collingbourne <peter@pcc.me.uk>
Thu, 9 Feb 2017 21:45:01 +0000 (21:45 +0000)
committerPeter Collingbourne <peter@pcc.me.uk>
Thu, 9 Feb 2017 21:45:01 +0000 (21:45 +0000)
I intend to use the same type with the same semantics in the WholeProgramDevirt
pass.

Differential Revision: https://reviews.llvm.org/D29746

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@294629 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Transforms/IPO.h
lib/Passes/PassBuilder.cpp
lib/Transforms/IPO/LowerTypeTests.cpp
lib/Transforms/IPO/PassManagerBuilder.cpp

index b26238ef3fc7dcce7f0ca8099a4fa36f2bd95c16..6788ba9c005d9b159933c076a79d816fd538b21e 100644 (file)
@@ -215,11 +215,11 @@ ModulePass *createMetaRenamerPass();
 /// manager.
 ModulePass *createBarrierNoopPass();
 
-/// What to do with the summary when running the LowerTypeTests pass.
-enum class LowerTypeTestsSummaryAction {
+/// What to do with the summary when running passes that operate on it.
+enum class PassSummaryAction {
   None,   ///< Do nothing.
-  Import, ///< Import typeid resolutions from summary and globals.
-  Export, ///< Export typeid resolutions to summary and globals.
+  Import, ///< Import information from summary.
+  Export, ///< Export information to summary.
 };
 
 /// \brief This pass lowers type metadata and the llvm.type.test intrinsic to
@@ -227,7 +227,7 @@ enum class LowerTypeTestsSummaryAction {
 /// \param Action What to do with the summary passed as Index.
 /// \param Index The summary to use for importing or exporting, this can be null
 ///              when Action is None.
-ModulePass *createLowerTypeTestsPass(LowerTypeTestsSummaryAction Action,
+ModulePass *createLowerTypeTestsPass(PassSummaryAction Action,
                                      ModuleSummaryIndex *Index);
 
 /// \brief This pass export CFI checks for use by external modules.
index 6691a442e9b3c66d8af4013dba3a0a2cb81df552..520c9df30283dff430e43d3d2a4565a18c2b1a80 100644 (file)
@@ -718,8 +718,8 @@ ModulePassManager PassBuilder::buildLTODefaultPipeline(OptimizationLevel Level,
   // CFI is disabled.
   // Enable once we add support for the summary in the new PM.
 #if 0
-  MPM.addPass(LowerTypeTestsPass(Summary ? LowerTypeTestsSummaryAction::Export :
-                                           LowerTypeTestsSummaryAction::None,
+  MPM.addPass(LowerTypeTestsPass(Summary ? PassSummaryAction::Export :
+                                           PassSummaryAction::None,
                                 Summary));
 #endif
 
index 7bf96510b0a0464514c7bf8c4b0a58c6106f5aa5..8a6238259fb6f8f0be9e4d187ecee5cde8eefdd8 100644 (file)
@@ -42,8 +42,6 @@
 using namespace llvm;
 using namespace lowertypetests;
 
-using SummaryAction = LowerTypeTestsSummaryAction;
-
 #define DEBUG_TYPE "lowertypetests"
 
 STATISTIC(ByteArraySizeBits, "Byte array size in bits");
@@ -57,13 +55,13 @@ static cl::opt<bool> AvoidReuse(
     cl::desc("Try to avoid reuse of byte array addresses using aliases"),
     cl::Hidden, cl::init(true));
 
-static cl::opt<SummaryAction> ClSummaryAction(
+static cl::opt<PassSummaryAction> ClSummaryAction(
     "lowertypetests-summary-action",
     cl::desc("What to do with the summary when running this pass"),
-    cl::values(clEnumValN(SummaryAction::None, "none", "Do nothing"),
-               clEnumValN(SummaryAction::Import, "import",
+    cl::values(clEnumValN(PassSummaryAction::None, "none", "Do nothing"),
+               clEnumValN(PassSummaryAction::Import, "import",
                           "Import typeid resolutions from summary and globals"),
-               clEnumValN(SummaryAction::Export, "export",
+               clEnumValN(PassSummaryAction::Export, "export",
                           "Export typeid resolutions to summary and globals")),
     cl::Hidden);
 
@@ -234,7 +232,7 @@ public:
 class LowerTypeTestsModule {
   Module &M;
 
-  SummaryAction Action;
+  PassSummaryAction Action;
   ModuleSummaryIndex *Summary;
 
   bool LinkerSubsectionsViaSymbols;
@@ -334,7 +332,7 @@ class LowerTypeTestsModule {
   void createJumpTable(Function *F, ArrayRef<GlobalTypeMember *> Functions);
 
 public:
-  LowerTypeTestsModule(Module &M, SummaryAction Action,
+  LowerTypeTestsModule(Module &M, PassSummaryAction Action,
                        ModuleSummaryIndex *Summary);
   bool lower();
 
@@ -348,14 +346,14 @@ struct LowerTypeTests : public ModulePass {
 
   bool UseCommandLine = false;
 
-  SummaryAction Action;
+  PassSummaryAction Action;
   ModuleSummaryIndex *Summary;
 
   LowerTypeTests() : ModulePass(ID), UseCommandLine(true) {
     initializeLowerTypeTestsPass(*PassRegistry::getPassRegistry());
   }
 
-  LowerTypeTests(SummaryAction Action, ModuleSummaryIndex *Summary)
+  LowerTypeTests(PassSummaryAction Action, ModuleSummaryIndex *Summary)
       : ModulePass(ID), Action(Action), Summary(Summary) {
     initializeLowerTypeTestsPass(*PassRegistry::getPassRegistry());
   }
@@ -375,7 +373,7 @@ INITIALIZE_PASS(LowerTypeTests, "lowertypetests", "Lower type metadata", false,
                 false)
 char LowerTypeTests::ID = 0;
 
-ModulePass *llvm::createLowerTypeTestsPass(SummaryAction Action,
+ModulePass *llvm::createLowerTypeTestsPass(PassSummaryAction Action,
                                            ModuleSummaryIndex *Summary) {
   return new LowerTypeTests(Action, Summary);
 }
@@ -502,7 +500,7 @@ Value *LowerTypeTestsModule::createBitSetTest(IRBuilder<> &B,
   } else {
     Constant *ByteArray = TIL.TheByteArray;
     if (!LinkerSubsectionsViaSymbols && AvoidReuse &&
-        Action != SummaryAction::Import) {
+        Action != PassSummaryAction::Import) {
       // Each use of the byte array uses a different alias. This makes the
       // backend less likely to reuse previously computed byte array addresses,
       // improving the security of the CFI mechanism based on this pass.
@@ -1292,7 +1290,7 @@ void LowerTypeTestsModule::buildBitSetsFromDisjointSet(
 }
 
 /// Lower all type tests in this module.
-LowerTypeTestsModule::LowerTypeTestsModule(Module &M, SummaryAction Action,
+LowerTypeTestsModule::LowerTypeTestsModule(Module &M, PassSummaryAction Action,
                                            ModuleSummaryIndex *Summary)
     : M(M), Action(Action), Summary(Summary) {
   Triple TargetTriple(M.getTargetTriple());
@@ -1338,10 +1336,10 @@ bool LowerTypeTestsModule::lower() {
   Function *TypeTestFunc =
       M.getFunction(Intrinsic::getName(Intrinsic::type_test));
   if ((!TypeTestFunc || TypeTestFunc->use_empty()) &&
-      Action != SummaryAction::Export)
+      Action != PassSummaryAction::Export)
     return false;
 
-  if (Action == SummaryAction::Import) {
+  if (Action == PassSummaryAction::Import) {
     for (auto UI = TypeTestFunc->use_begin(), UE = TypeTestFunc->use_end();
          UI != UE;) {
       auto *CI = cast<CallInst>((*UI++).getUser());
@@ -1422,7 +1420,7 @@ bool LowerTypeTestsModule::lower() {
     }
   }
 
-  if (Action == SummaryAction::Export) {
+  if (Action == PassSummaryAction::Export) {
     DenseMap<GlobalValue::GUID, TinyPtrVector<Metadata *>> MetadataByGUID;
     for (auto &P : TypeIdInfo) {
       if (auto *TypeId = dyn_cast<MDString>(P.first))
@@ -1502,7 +1500,8 @@ bool LowerTypeTestsModule::lower() {
 PreservedAnalyses LowerTypeTestsPass::run(Module &M,
                                           ModuleAnalysisManager &AM) {
   bool Changed =
-      LowerTypeTestsModule(M, SummaryAction::None, /*Summary=*/nullptr).lower();
+      LowerTypeTestsModule(M, PassSummaryAction::None, /*Summary=*/nullptr)
+          .lower();
   if (!Changed)
     return PreservedAnalyses::all();
   return PreservedAnalyses::none();
index 3c862d55697722abcc39293c17287fce0244989b..144504d4a3d559408611e9810670c9f4bf1d85fa 100644 (file)
@@ -830,8 +830,7 @@ void PassManagerBuilder::populateThinLTOPassManager(
     PM.add(createVerifierPass());
 
   if (Summary)
-    PM.add(
-        createLowerTypeTestsPass(LowerTypeTestsSummaryAction::Import, Summary));
+    PM.add(createLowerTypeTestsPass(PassSummaryAction::Import, Summary));
 
   populateModulePassManager(PM);
 
@@ -857,9 +856,8 @@ void PassManagerBuilder::populateLTOPassManager(legacy::PassManagerBase &PM) {
   // Lower type metadata and the type.test intrinsic. This pass supports Clang's
   // control flow integrity mechanisms (-fsanitize=cfi*) and needs to run at
   // link time if CFI is enabled. The pass does nothing if CFI is disabled.
-  PM.add(createLowerTypeTestsPass(Summary ? LowerTypeTestsSummaryAction::Export
-                                          : LowerTypeTestsSummaryAction::None,
-                                  Summary));
+  PM.add(createLowerTypeTestsPass(
+      Summary ? PassSummaryAction::Export : PassSummaryAction::None, Summary));
 
   if (OptLevel != 0)
     addLateLTOOptimizationPasses(PM);