| |
| from pass_pipeline import Pass |
| |
| # TODO: This should not be hard coded. Create a tool in the compiler that knows |
| # how to dump the passes and the pipelines themselves. |
| AADumper = Pass('AADumper') |
| ABCOpt = Pass('ABCOpt') |
| AddressLowering = Pass('AddressLowering') |
| AllocBoxToStack = Pass('AllocBoxToStack') |
| CFGPrinter = Pass('CFGPrinter') |
| COWArrayOpts = Pass('COWArrayOpts') |
| CSE = Pass('CSE') |
| CapturePromotion = Pass('CapturePromotion') |
| CapturePropagation = Pass('CapturePropagation') |
| ClosureSpecializer = Pass('ClosureSpecializer') |
| CodeMotion = Pass('CodeMotion') |
| CopyForwarding = Pass('CopyForwarding') |
| DCE = Pass('DCE') |
| DeadFunctionElimination = Pass('DeadFunctionElimination') |
| DeadObjectElimination = Pass('DeadObjectElimination') |
| DefiniteInitialization = Pass('DefiniteInitialization') |
| DiagnoseUnreachable = Pass('DiagnoseUnreachable') |
| DiagnosticConstantPropagation = Pass('DiagnosticConstantPropagation') |
| EarlyInliner = Pass('EarlyInliner') |
| EmitDFDiagnostics = Pass('EmitDFDiagnostics') |
| FunctionSignatureOpts = Pass('FunctionSignatureOpts') |
| GlobalARCOpts = Pass('GlobalARCOpts') |
| GlobalLoadStoreOpts = Pass('GlobalLoadStoreOpts') |
| GlobalOpt = Pass('GlobalOpt') |
| IVInfoPrinter = Pass('IVInfoPrinter') |
| InstCount = Pass('InstCount') |
| LICM = Pass('LICM') |
| LateInliner = Pass('LateInliner') |
| LoopInfoPrinter = Pass('LoopInfoPrinter') |
| LoopRotate = Pass('LoopRotate') |
| LowerAggregateInstrs = Pass('LowerAggregateInstrs') |
| MandatoryInlining = Pass('MandatoryInlining') |
| Mem2Reg = Pass('Mem2Reg') |
| NoReturnFolding = Pass('NoReturnFolding') |
| PerfInliner = Pass('PerfInliner') |
| PerformanceConstantPropagation = Pass('PerformanceConstantPropagation') |
| PredictableMemoryOptimizations = Pass('PredictableMemoryOptimizations') |
| IRGenPrepare = Pass('IRGenPrepare') |
| SILCombine = Pass('SILCombine') |
| SILLinker = Pass('SILLinker') |
| SROA = Pass('SROA') |
| SimplifyCFG = Pass('SimplifyCFG') |
| SpeculativeDevirtualizer = Pass('SpeculativeDevirtualizer') |
| SplitAllCriticalEdges = Pass('SplitAllCriticalEdges') |
| SplitNonCondBrCriticalEdges = Pass('SplitNonCondBrCriticalEdges') |
| StripDebugInfo = Pass('StripDebugInfo') |
| SwiftArrayOpts = Pass('SwiftArrayOpts') |
| |
| PASSES = [ |
| AADumper, |
| ABCOpt, |
| AddressLowering, |
| AllocBoxToStack, |
| CFGPrinter, |
| COWArrayOpts, |
| CSE, |
| CapturePromotion, |
| CapturePropagation, |
| ClosureSpecializer, |
| CodeMotion, |
| CopyForwarding, |
| DCE, |
| DeadFunctionElimination, |
| DeadObjectElimination, |
| DefiniteInitialization, |
| DiagnoseUnreachable, |
| DiagnosticConstantPropagation, |
| EarlyInliner, |
| EmitDFDiagnostics, |
| FunctionSignatureOpts, |
| GlobalARCOpts, |
| GlobalLoadStoreOpts, |
| GlobalOpt, |
| IVInfoPrinter, |
| InstCount, |
| LICM, |
| LateInliner, |
| LoopInfoPrinter, |
| LoopRotate, |
| LowerAggregateInstrs, |
| MandatoryInlining, |
| Mem2Reg, |
| NoReturnFolding, |
| PerfInliner, |
| PerformanceConstantPropagation, |
| PredictableMemoryOptimizations, |
| IRGenPrepare, |
| SILCombine, |
| SILLinker, |
| SROA, |
| SimplifyCFG, |
| SpeculativeDevirtualizer, |
| SplitAllCriticalEdges, |
| SplitNonCondBrCriticalEdges, |
| StripDebugInfo, |
| SwiftArrayOpts, |
| ] |