@@ -54,10 +54,6 @@ typedef struct LLVMOpaqueTargetMachine *LLVMTargetMachineRef;
5454
5555DEFINE_STDCXX_CONVERSION_FUNCTIONS (Pass, LLVMPassRef)
5656DEFINE_STDCXX_CONVERSION_FUNCTIONS(TargetMachine, LLVMTargetMachineRef)
57- #if  LLVM_VERSION_LT(11, 0)
58- DEFINE_STDCXX_CONVERSION_FUNCTIONS (PassManagerBuilder,
59-                                    LLVMPassManagerBuilderRef)
60- #endif 
6157
6258extern "C" void LLVMInitializePasses() {
6359  PassRegistry &Registry = *PassRegistry::getPassRegistry ();
@@ -857,13 +853,8 @@ LLVMRustOptimizeWithNewPassManager(
857853  //  PassBuilder does not create a pipeline.
858854  std::vector<std::function<void (ModulePassManager &, OptimizationLevel)>>
859855      PipelineStartEPCallbacks;
860- #if  LLVM_VERSION_GE(11, 0)
861856  std::vector<std::function<void (ModulePassManager &, OptimizationLevel)>>
862857      OptimizerLastEPCallbacks;
863- #else 
864-   std::vector<std::function<void (FunctionPassManager &, OptimizationLevel)>>
865-       OptimizerLastEPCallbacks;
866- #endif 
867858
868859  if  (VerifyIR) {
869860    PipelineStartEPCallbacks.push_back (
@@ -896,7 +887,6 @@ LLVMRustOptimizeWithNewPassManager(
896887          SanitizerOptions->SanitizeMemoryTrackOrigins ,
897888          SanitizerOptions->SanitizeMemoryRecover ,
898889          /* CompileKernel=*/ false );
899- #if  LLVM_VERSION_GE(11, 0)
900890      OptimizerLastEPCallbacks.push_back (
901891        [Options](ModulePassManager &MPM, OptimizationLevel Level) {
902892#if  LLVM_VERSION_GE(14, 0)
@@ -907,22 +897,9 @@ LLVMRustOptimizeWithNewPassManager(
907897          MPM.addPass (createModuleToFunctionPassAdaptor (MemorySanitizerPass (Options)));
908898        }
909899      );
910- #else 
911-       PipelineStartEPCallbacks.push_back (
912-         [Options](ModulePassManager &MPM, OptimizationLevel Level) {
913-           MPM.addPass (MemorySanitizerPass (Options));
914-         }
915-       );
916-       OptimizerLastEPCallbacks.push_back (
917-         [Options](FunctionPassManager &FPM, OptimizationLevel Level) {
918-           FPM.addPass (MemorySanitizerPass (Options));
919-         }
920-       );
921- #endif 
922900    }
923901
924902    if  (SanitizerOptions->SanitizeThread ) {
925- #if  LLVM_VERSION_GE(11, 0)
926903      OptimizerLastEPCallbacks.push_back (
927904        [](ModulePassManager &MPM, OptimizationLevel Level) {
928905#if  LLVM_VERSION_GE(14, 0)
@@ -933,22 +910,9 @@ LLVMRustOptimizeWithNewPassManager(
933910          MPM.addPass (createModuleToFunctionPassAdaptor (ThreadSanitizerPass ()));
934911        }
935912      );
936- #else 
937-       PipelineStartEPCallbacks.push_back (
938-         [](ModulePassManager &MPM, OptimizationLevel Level) {
939-           MPM.addPass (ThreadSanitizerPass ());
940-         }
941-       );
942-       OptimizerLastEPCallbacks.push_back (
943-         [](FunctionPassManager &FPM, OptimizationLevel Level) {
944-           FPM.addPass (ThreadSanitizerPass ());
945-         }
946-       );
947- #endif 
948913    }
949914
950915    if  (SanitizerOptions->SanitizeAddress ) {
951- #if  LLVM_VERSION_GE(11, 0)
952916      OptimizerLastEPCallbacks.push_back (
953917        [SanitizerOptions](ModulePassManager &MPM, OptimizationLevel Level) {
954918          MPM.addPass (RequireAnalysisPass<ASanGlobalsMetadataAnalysis, Module>());
@@ -967,29 +931,8 @@ LLVMRustOptimizeWithNewPassManager(
967931#endif 
968932        }
969933      );
970- #else 
971-       PipelineStartEPCallbacks.push_back (
972-         [&](ModulePassManager &MPM, OptimizationLevel Level) {
973-           MPM.addPass (RequireAnalysisPass<ASanGlobalsMetadataAnalysis, Module>());
974-         }
975-       );
976-       OptimizerLastEPCallbacks.push_back (
977-         [SanitizerOptions](FunctionPassManager &FPM, OptimizationLevel Level) {
978-           FPM.addPass (AddressSanitizerPass (
979-               /* CompileKernel=*/ false , SanitizerOptions->SanitizeAddressRecover ,
980-               /* UseAfterScope=*/ true ));
981-         }
982-       );
983-       PipelineStartEPCallbacks.push_back (
984-         [SanitizerOptions](ModulePassManager &MPM, OptimizationLevel Level) {
985-           MPM.addPass (ModuleAddressSanitizerPass (
986-               /* CompileKernel=*/ false , SanitizerOptions->SanitizeAddressRecover ));
987-         }
988-       );
989- #endif 
990934    }
991935    if  (SanitizerOptions->SanitizeHWAddress ) {
992- #if  LLVM_VERSION_GE(11, 0)
993936      OptimizerLastEPCallbacks.push_back (
994937        [SanitizerOptions](ModulePassManager &MPM, OptimizationLevel Level) {
995938#if  LLVM_VERSION_GE(14, 0)
@@ -1003,14 +946,6 @@ LLVMRustOptimizeWithNewPassManager(
1003946#endif 
1004947        }
1005948      );
1006- #else 
1007-       PipelineStartEPCallbacks.push_back (
1008-         [SanitizerOptions](ModulePassManager &MPM, OptimizationLevel Level) {
1009-           MPM.addPass (HWAddressSanitizerPass (
1010-               /* CompileKernel=*/ false , SanitizerOptions->SanitizeHWAddressRecover ));
1011-         }
1012-       );
1013- #endif 
1014949    }
1015950  }
1016951
@@ -1037,17 +972,8 @@ LLVMRustOptimizeWithNewPassManager(
1037972      for  (const  auto  &C : PipelineStartEPCallbacks)
1038973        C (MPM, OptLevel);
1039974
1040- # if  LLVM_VERSION_GE(11, 0)
1041975      for  (const  auto  &C : OptimizerLastEPCallbacks)
1042976        C (MPM, OptLevel);
1043- # else 
1044-       if  (!OptimizerLastEPCallbacks.empty ()) {
1045-         FunctionPassManager FPM (DebugPassManager);
1046-         for  (const  auto  &C : OptimizerLastEPCallbacks)
1047-           C (FPM, OptLevel);
1048-         MPM.addPass (createModuleToFunctionPassAdaptor (std::move (FPM)));
1049-       }
1050- # endif 
1051977
1052978      MPM.addPass (AlwaysInlinerPass (EmitLifetimeMarkers));
1053979
@@ -1088,17 +1014,8 @@ LLVMRustOptimizeWithNewPassManager(
10881014#else 
10891015        MPM = PB.buildThinLTOPreLinkDefaultPipeline (OptLevel, DebugPassManager);
10901016#endif 
1091- #if  LLVM_VERSION_GE(11, 0)
10921017        for  (const  auto  &C : OptimizerLastEPCallbacks)
10931018          C (MPM, OptLevel);
1094- #else 
1095-         if  (!OptimizerLastEPCallbacks.empty ()) {
1096-           FunctionPassManager FPM (DebugPassManager);
1097-           for  (const  auto  &C : OptimizerLastEPCallbacks)
1098-             C (FPM, OptLevel);
1099-           MPM.addPass (createModuleToFunctionPassAdaptor (std::move (FPM)));
1100-         }
1101- #endif 
11021019        break ;
11031020      case  LLVMRustOptStage::PreLinkFatLTO:
11041021#if  LLVM_VERSION_GE(12, 0)
@@ -1552,7 +1469,6 @@ LLVMRustFreeThinLTOData(LLVMRustThinLTOData *Data) {
15521469//  `ProcessThinLTOModule` function. Here they're split up into separate steps
15531470//  so rustc can save off the intermediate bytecode between each step.
15541471
1555- #if  LLVM_VERSION_GE(11, 0)
15561472static  bool 
15571473clearDSOLocalOnDeclarations (Module &Mod, TargetMachine &TM) {
15581474  //  When linking an ELF shared object, dso_local should be dropped. We
@@ -1563,20 +1479,15 @@ clearDSOLocalOnDeclarations(Module &Mod, TargetMachine &TM) {
15631479      Mod.getPIELevel () == PIELevel::Default;
15641480  return  ClearDSOLocalOnDeclarations;
15651481}
1566- #endif 
15671482
15681483extern  " C" bool 
15691484LLVMRustPrepareThinLTORename (const  LLVMRustThinLTOData *Data, LLVMModuleRef M,
15701485                             LLVMTargetMachineRef TM) {
15711486  Module &Mod = *unwrap (M);
15721487  TargetMachine &Target = *unwrap (TM);
15731488
1574- #if  LLVM_VERSION_GE(11, 0)
15751489  bool  ClearDSOLocal = clearDSOLocalOnDeclarations (Mod, Target);
15761490  bool  error = renameModuleForThinLTO (Mod, Data->Index , ClearDSOLocal);
1577- #else 
1578-   bool  error = renameModuleForThinLTO (Mod, Data->Index );
1579- #endif 
15801491
15811492  if  (error) {
15821493    LLVMRustSetLastError (" renameModuleForThinLTO failed" 
@@ -1645,12 +1556,8 @@ LLVMRustPrepareThinLTOImport(const LLVMRustThinLTOData *Data, LLVMModuleRef M,
16451556
16461557    return  MOrErr;
16471558  };
1648- #if  LLVM_VERSION_GE(11, 0)
16491559  bool  ClearDSOLocal = clearDSOLocalOnDeclarations (Mod, Target);
16501560  FunctionImporter Importer (Data->Index , Loader, ClearDSOLocal);
1651- #else 
1652-   FunctionImporter Importer (Data->Index , Loader);
1653- #endif 
16541561  Expected<bool > Result = Importer.importFunctions (Mod, ImportList);
16551562  if  (!Result) {
16561563    LLVMRustSetLastError (toString (Result.takeError ()).c_str ());
0 commit comments