InitializePasses.h 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321
  1. //===- llvm/InitializePasses.h -------- Initialize All Passes ---*- C++ -*-===//
  2. //
  3. // The LLVM Compiler Infrastructure
  4. //
  5. // This file is distributed under the University of Illinois Open Source
  6. // License. See LICENSE.TXT for details.
  7. //
  8. //===----------------------------------------------------------------------===//
  9. //
  10. // This file contains the declarations for the pass initialization routines
  11. // for the entire LLVM project.
  12. //
  13. //===----------------------------------------------------------------------===//
  14. #ifndef LLVM_INITIALIZEPASSES_H
  15. #define LLVM_INITIALIZEPASSES_H
  16. namespace llvm {
  17. class PassRegistry;
  18. /// initializeCore - Initialize all passes linked into the
  19. /// TransformUtils library.
  20. void initializeCore(PassRegistry&);
  21. /// initializeTransformUtils - Initialize all passes linked into the
  22. /// TransformUtils library.
  23. void initializeTransformUtils(PassRegistry&);
  24. /// initializeScalarOpts - Initialize all passes linked into the
  25. /// ScalarOpts library.
  26. void initializeScalarOpts(PassRegistry&);
  27. /// initializeObjCARCOpts - Initialize all passes linked into the ObjCARCOpts
  28. /// library.
  29. void initializeObjCARCOpts(PassRegistry&);
  30. /// initializeVectorization - Initialize all passes linked into the
  31. /// Vectorize library.
  32. void initializeVectorization(PassRegistry&);
  33. /// initializeInstCombine - Initialize all passes linked into the
  34. /// InstCombine library.
  35. void initializeInstCombine(PassRegistry&);
  36. /// initializeIPO - Initialize all passes linked into the IPO library.
  37. void initializeIPO(PassRegistry&);
  38. /// initializeInstrumentation - Initialize all passes linked into the
  39. /// Instrumentation library.
  40. void initializeInstrumentation(PassRegistry&);
  41. /// initializeAnalysis - Initialize all passes linked into the Analysis library.
  42. void initializeAnalysis(PassRegistry&);
  43. /// initializeIPA - Initialize all passes linked into the IPA library.
  44. void initializeIPA(PassRegistry&);
  45. /// initializeCodeGen - Initialize all passes linked into the CodeGen library.
  46. void initializeCodeGen(PassRegistry&);
  47. /// initializeCodeGen - Initialize all passes linked into the CodeGen library.
  48. void initializeTarget(PassRegistry&);
  49. void initializeAAEvalPass(PassRegistry&);
  50. void initializeAddDiscriminatorsPass(PassRegistry&);
  51. void initializeADCEPass(PassRegistry&);
  52. void initializeBDCEPass(PassRegistry&);
  53. void initializeAliasAnalysisAnalysisGroup(PassRegistry&);
  54. void initializeAliasAnalysisCounterPass(PassRegistry&);
  55. void initializeAliasDebuggerPass(PassRegistry&);
  56. void initializeAliasSetPrinterPass(PassRegistry&);
  57. void initializeAlwaysInlinerPass(PassRegistry&);
  58. void initializeArgPromotionPass(PassRegistry&);
  59. void initializeAtomicExpandPass(PassRegistry&);
  60. void initializeSampleProfileLoaderPass(PassRegistry&);
  61. void initializeAlignmentFromAssumptionsPass(PassRegistry&);
  62. void initializeBarrierNoopPass(PassRegistry&);
  63. void initializeBasicAliasAnalysisPass(PassRegistry&);
  64. void initializeCallGraphWrapperPassPass(PassRegistry &);
  65. void initializeBlockExtractorPassPass(PassRegistry&);
  66. void initializeBlockFrequencyInfoPass(PassRegistry&);
  67. void initializeBoundsCheckingPass(PassRegistry&);
  68. void initializeBranchFolderPassPass(PassRegistry&);
  69. void initializeBranchProbabilityInfoPass(PassRegistry&);
  70. void initializeBreakCriticalEdgesPass(PassRegistry&);
  71. void initializeCallGraphPrinterPass(PassRegistry&);
  72. void initializeCallGraphViewerPass(PassRegistry&);
  73. void initializeCFGOnlyPrinterPass(PassRegistry&);
  74. void initializeCFGOnlyViewerPass(PassRegistry&);
  75. void initializeCFGPrinterPass(PassRegistry&);
  76. void initializeCFGSimplifyPassPass(PassRegistry&);
  77. void initializeCFLAliasAnalysisPass(PassRegistry&);
  78. void initializeForwardControlFlowIntegrityPass(PassRegistry&);
  79. void initializeFlattenCFGPassPass(PassRegistry&);
  80. void initializeStructurizeCFGPass(PassRegistry&);
  81. void initializeCFGViewerPass(PassRegistry&);
  82. void initializeConstantHoistingPass(PassRegistry&);
  83. void initializeCodeGenPreparePass(PassRegistry&);
  84. void initializeConstantMergePass(PassRegistry&);
  85. void initializeConstantPropagationPass(PassRegistry&);
  86. void initializeMachineCopyPropagationPass(PassRegistry&);
  87. void initializeCostModelAnalysisPass(PassRegistry&);
  88. void initializeCorrelatedValuePropagationPass(PassRegistry&);
  89. void initializeDAEPass(PassRegistry&);
  90. void initializeDAHPass(PassRegistry&);
  91. void initializeDCEPass(PassRegistry&);
  92. void initializeDSEPass(PassRegistry&);
  93. void initializeDeadInstEliminationPass(PassRegistry&);
  94. void initializeDeadMachineInstructionElimPass(PassRegistry&);
  95. void initializeDelinearizationPass(PassRegistry &);
  96. void initializeDependenceAnalysisPass(PassRegistry&);
  97. void initializeDivergenceAnalysisPass(PassRegistry&);
  98. void initializeDomOnlyPrinterPass(PassRegistry&);
  99. void initializeDomOnlyViewerPass(PassRegistry&);
  100. void initializeDomPrinterPass(PassRegistry&);
  101. void initializeDomViewerPass(PassRegistry&);
  102. void initializeDominanceFrontierPass(PassRegistry&);
  103. void initializeDominatorTreeWrapperPassPass(PassRegistry&);
  104. void initializeEarlyIfConverterPass(PassRegistry&);
  105. void initializeEdgeBundlesPass(PassRegistry&);
  106. void initializeExpandPostRAPass(PassRegistry&);
  107. void initializeGCOVProfilerPass(PassRegistry&);
  108. void initializeInstrProfilingPass(PassRegistry&);
  109. void initializeAddressSanitizerPass(PassRegistry&);
  110. void initializeAddressSanitizerModulePass(PassRegistry&);
  111. void initializeMemorySanitizerPass(PassRegistry&);
  112. void initializeThreadSanitizerPass(PassRegistry&);
  113. void initializeSanitizerCoverageModulePass(PassRegistry&);
  114. void initializeDataFlowSanitizerPass(PassRegistry&);
  115. void initializeScalarizerPass(PassRegistry&);
  116. void initializeEarlyCSELegacyPassPass(PassRegistry &);
  117. void initializeEliminateAvailableExternallyPass(PassRegistry&);
  118. void initializeExpandISelPseudosPass(PassRegistry&);
  119. void initializeFunctionAttrsPass(PassRegistry&);
  120. void initializeGCMachineCodeAnalysisPass(PassRegistry&);
  121. void initializeGCModuleInfoPass(PassRegistry&);
  122. void initializeGVNPass(PassRegistry&);
  123. void initializeGlobalDCEPass(PassRegistry&);
  124. void initializeGlobalOptPass(PassRegistry&);
  125. void initializeGlobalsModRefPass(PassRegistry&);
  126. void initializeIPCPPass(PassRegistry&);
  127. void initializeIPSCCPPass(PassRegistry&);
  128. void initializeIVUsersPass(PassRegistry&);
  129. void initializeIfConverterPass(PassRegistry&);
  130. void initializeInductiveRangeCheckEliminationPass(PassRegistry&);
  131. void initializeIndVarSimplifyPass(PassRegistry&);
  132. void initializeInlineCostAnalysisPass(PassRegistry&);
  133. void initializeInstructionCombiningPassPass(PassRegistry&);
  134. void initializeInstCountPass(PassRegistry&);
  135. void initializeInstNamerPass(PassRegistry&);
  136. void initializeInternalizePassPass(PassRegistry&);
  137. void initializeIntervalPartitionPass(PassRegistry&);
  138. void initializeJumpThreadingPass(PassRegistry&);
  139. void initializeLCSSAPass(PassRegistry&);
  140. void initializeLICMPass(PassRegistry&);
  141. void initializeLazyValueInfoPass(PassRegistry&);
  142. void initializeLibCallAliasAnalysisPass(PassRegistry&);
  143. void initializeLintPass(PassRegistry&);
  144. void initializeLiveDebugVariablesPass(PassRegistry&);
  145. void initializeLiveIntervalsPass(PassRegistry&);
  146. void initializeLiveRegMatrixPass(PassRegistry&);
  147. void initializeLiveStacksPass(PassRegistry&);
  148. void initializeLiveVariablesPass(PassRegistry&);
  149. void initializeLoaderPassPass(PassRegistry&);
  150. void initializeLocalStackSlotPassPass(PassRegistry&);
  151. void initializeLoopDeletionPass(PassRegistry&);
  152. void initializeLoopExtractorPass(PassRegistry&);
  153. void initializeLoopInfoWrapperPassPass(PassRegistry&);
  154. void initializeLoopInterchangePass(PassRegistry &);
  155. void initializeLoopInstSimplifyPass(PassRegistry&);
  156. void initializeLoopRotatePass(PassRegistry&);
  157. void initializeLoopSimplifyPass(PassRegistry&);
  158. void initializeLoopStrengthReducePass(PassRegistry&);
  159. void initializeGlobalMergePass(PassRegistry&);
  160. void initializeLoopRerollPass(PassRegistry&);
  161. void initializeLoopUnrollPass(PassRegistry&);
  162. void initializeLoopUnswitchPass(PassRegistry&);
  163. void initializeLoopIdiomRecognizePass(PassRegistry&);
  164. void initializeLowerAtomicPass(PassRegistry&);
  165. void initializeLowerBitSetsPass(PassRegistry&);
  166. void initializeLowerExpectIntrinsicPass(PassRegistry&);
  167. void initializeLowerIntrinsicsPass(PassRegistry&);
  168. void initializeLowerInvokePass(PassRegistry&);
  169. void initializeLowerSwitchPass(PassRegistry&);
  170. void initializeMachineBlockFrequencyInfoPass(PassRegistry&);
  171. void initializeMachineBlockPlacementPass(PassRegistry&);
  172. void initializeMachineBlockPlacementStatsPass(PassRegistry&);
  173. void initializeMachineBranchProbabilityInfoPass(PassRegistry&);
  174. void initializeMachineCSEPass(PassRegistry&);
  175. void initializeImplicitNullChecksPass(PassRegistry&);
  176. void initializeMachineDominatorTreePass(PassRegistry&);
  177. void initializeMachineDominanceFrontierPass(PassRegistry&);
  178. void initializeMachinePostDominatorTreePass(PassRegistry&);
  179. void initializeMachineLICMPass(PassRegistry&);
  180. void initializeMachineLoopInfoPass(PassRegistry&);
  181. void initializeMachineModuleInfoPass(PassRegistry&);
  182. void initializeMachineRegionInfoPassPass(PassRegistry&);
  183. void initializeMachineSchedulerPass(PassRegistry&);
  184. void initializeMachineSinkingPass(PassRegistry&);
  185. void initializeMachineTraceMetricsPass(PassRegistry&);
  186. void initializeMachineVerifierPassPass(PassRegistry&);
  187. void initializeMemCpyOptPass(PassRegistry&);
  188. void initializeMemDepPrinterPass(PassRegistry&);
  189. void initializeMemDerefPrinterPass(PassRegistry&);
  190. void initializeMemoryDependenceAnalysisPass(PassRegistry&);
  191. void initializeMergedLoadStoreMotionPass(PassRegistry &);
  192. void initializeMetaRenamerPass(PassRegistry&);
  193. void initializeMergeFunctionsPass(PassRegistry&);
  194. void initializeModuleDebugInfoPrinterPass(PassRegistry&);
  195. void initializeNaryReassociatePass(PassRegistry&);
  196. void initializeNoAAPass(PassRegistry&);
  197. void initializeObjCARCAliasAnalysisPass(PassRegistry&);
  198. void initializeObjCARCAPElimPass(PassRegistry&);
  199. void initializeObjCARCExpandPass(PassRegistry&);
  200. void initializeObjCARCContractPass(PassRegistry&);
  201. void initializeObjCARCOptPass(PassRegistry&);
  202. void initializePAEvalPass(PassRegistry &);
  203. void initializeOptimizePHIsPass(PassRegistry&);
  204. void initializePartiallyInlineLibCallsPass(PassRegistry&);
  205. void initializePEIPass(PassRegistry&);
  206. void initializePHIEliminationPass(PassRegistry&);
  207. void initializePartialInlinerPass(PassRegistry&);
  208. void initializePeepholeOptimizerPass(PassRegistry&);
  209. void initializePostDomOnlyPrinterPass(PassRegistry&);
  210. void initializePostDomOnlyViewerPass(PassRegistry&);
  211. void initializePostDomPrinterPass(PassRegistry&);
  212. void initializePostDomViewerPass(PassRegistry&);
  213. void initializePostDominatorTreePass(PassRegistry&);
  214. void initializePostRASchedulerPass(PassRegistry&);
  215. void initializePostMachineSchedulerPass(PassRegistry&);
  216. void initializePrintFunctionPassWrapperPass(PassRegistry&);
  217. void initializePrintModulePassWrapperPass(PassRegistry&);
  218. void initializePrintBasicBlockPassPass(PassRegistry&);
  219. void initializeProcessImplicitDefsPass(PassRegistry&);
  220. void initializePromotePassPass(PassRegistry&);
  221. void initializePruneEHPass(PassRegistry&);
  222. void initializeReassociatePass(PassRegistry&);
  223. void initializeRegToMemPass(PassRegistry&);
  224. void initializeRegToMemHlslPass(PassRegistry&); // HLSL Change
  225. void initializeRegionInfoPassPass(PassRegistry&);
  226. void initializeRegionOnlyPrinterPass(PassRegistry&);
  227. void initializeRegionOnlyViewerPass(PassRegistry&);
  228. void initializeRegionPrinterPass(PassRegistry&);
  229. void initializeRegionViewerPass(PassRegistry&);
  230. void initializeRewriteStatepointsForGCPass(PassRegistry&);
  231. void initializeSafeStackPass(PassRegistry&);
  232. void initializeSCCPPass(PassRegistry&);
  233. void initializeSROAPass(PassRegistry&);
  234. void initializeSROA_DTPass(PassRegistry&);
  235. void initializeSROA_SSAUpPass(PassRegistry&);
  236. // HLSL Change Begins
  237. void initializeSROA_HLSLPass(PassRegistry&);
  238. void initializeSROA_DT_HLSLPass(PassRegistry&);
  239. void initializeSROA_Parameter_HLSLPass(PassRegistry&);
  240. void initializeLowerStaticGlobalIntoAllocaPass(PassRegistry&);
  241. void initializeDynamicIndexingVectorToArrayPass(PassRegistry&);
  242. void initializeMultiDimArrayToOneDimArrayPass(PassRegistry&);
  243. void initializeResourceToHandlePass(PassRegistry&);
  244. void initializeSROA_SSAUp_HLSLPass(PassRegistry&);
  245. void initializeHoistConstantArrayPass(PassRegistry&);
  246. // HLSL Change Ends
  247. void initializeScalarEvolutionAliasAnalysisPass(PassRegistry&);
  248. void initializeScalarEvolutionPass(PassRegistry&);
  249. void initializeShrinkWrapPass(PassRegistry &);
  250. void initializeSimpleInlinerPass(PassRegistry&);
  251. void initializeShadowStackGCLoweringPass(PassRegistry&);
  252. void initializeRegisterCoalescerPass(PassRegistry&);
  253. void initializeSingleLoopExtractorPass(PassRegistry&);
  254. void initializeSinkingPass(PassRegistry&);
  255. void initializeSeparateConstOffsetFromGEPPass(PassRegistry &);
  256. void initializeSlotIndexesPass(PassRegistry&);
  257. void initializeSpillPlacementPass(PassRegistry&);
  258. void initializeSpeculativeExecutionPass(PassRegistry&);
  259. void initializeStackProtectorPass(PassRegistry&);
  260. void initializeStackColoringPass(PassRegistry&);
  261. void initializeStackSlotColoringPass(PassRegistry&);
  262. void initializeStraightLineStrengthReducePass(PassRegistry &);
  263. void initializeStripDeadDebugInfoPass(PassRegistry&);
  264. void initializeStripDeadPrototypesPassPass(PassRegistry&);
  265. void initializeStripDebugDeclarePass(PassRegistry&);
  266. void initializeStripNonDebugSymbolsPass(PassRegistry&);
  267. void initializeStripSymbolsPass(PassRegistry&);
  268. void initializeTailCallElimPass(PassRegistry&);
  269. void initializeTailDuplicatePassPass(PassRegistry&);
  270. void initializeTargetPassConfigPass(PassRegistry&);
  271. void initializeTargetTransformInfoWrapperPassPass(PassRegistry &);
  272. void initializeTargetLibraryInfoWrapperPassPass(PassRegistry &);
  273. void initializeAssumptionCacheTrackerPass(PassRegistry &);
  274. void initializeTwoAddressInstructionPassPass(PassRegistry&);
  275. void initializeTypeBasedAliasAnalysisPass(PassRegistry&);
  276. void initializeScopedNoAliasAAPass(PassRegistry&);
  277. void initializeUnifyFunctionExitNodesPass(PassRegistry&);
  278. void initializeUnreachableBlockElimPass(PassRegistry&);
  279. void initializeUnreachableMachineBlockElimPass(PassRegistry&);
  280. void initializeVerifierLegacyPassPass(PassRegistry&);
  281. void initializeVirtRegMapPass(PassRegistry&);
  282. void initializeVirtRegRewriterPass(PassRegistry&);
  283. void initializeInstSimplifierPass(PassRegistry&);
  284. void initializeUnpackMachineBundlesPass(PassRegistry&);
  285. void initializeFinalizeMachineBundlesPass(PassRegistry&);
  286. void initializeLoopAccessAnalysisPass(PassRegistry&);
  287. void initializeLoopVectorizePass(PassRegistry&);
  288. void initializeSLPVectorizerPass(PassRegistry&);
  289. void initializeBBVectorizePass(PassRegistry&);
  290. void initializeMachineFunctionPrinterPassPass(PassRegistry&);
  291. void initializeMIRPrintingPassPass(PassRegistry&);
  292. void initializeStackMapLivenessPass(PassRegistry&);
  293. void initializeMachineCombinerPass(PassRegistry &);
  294. void initializeLoadCombinePass(PassRegistry&);
  295. void initializeRewriteSymbolsPass(PassRegistry&);
  296. void initializeWinEHPreparePass(PassRegistry&);
  297. void initializePlaceBackedgeSafepointsImplPass(PassRegistry&);
  298. void initializePlaceSafepointsPass(PassRegistry&);
  299. void initializeDwarfEHPreparePass(PassRegistry&);
  300. void initializeFloat2IntPass(PassRegistry&);
  301. void initializeLoopDistributePass(PassRegistry&);
  302. void initializeSjLjEHPreparePass(PassRegistry&);
  303. }
  304. #endif