Index: include/llvm/Transforms/NaCl.h |
diff --git a/include/llvm/Transforms/NaCl.h b/include/llvm/Transforms/NaCl.h |
index 3dbf3c03446841ff943bff8ba13103e840adbe1f..afca5c1db0afa789807db41b695570a4fd3d0fb3 100644 |
--- a/include/llvm/Transforms/NaCl.h |
+++ b/include/llvm/Transforms/NaCl.h |
@@ -13,6 +13,7 @@ |
#include "llvm/CodeGen/Passes.h" |
#include "llvm/IR/Instructions.h" |
#include "llvm/IR/LLVMContext.h" |
+#include "llvm/IR/PassManager.h" |
namespace llvm { |
@@ -26,56 +27,18 @@ class Triple; |
class Use; |
class Value; |
-BasicBlockPass *createConstantInsertExtractElementIndexPass(); |
-BasicBlockPass *createExpandGetElementPtrPass(); |
-BasicBlockPass *createExpandShuffleVectorPass(); |
-BasicBlockPass *createFixVectorLoadStoreAlignmentPass(); |
-BasicBlockPass *createPromoteI1OpsPass(); |
-BasicBlockPass *createSimplifyAllocasPass(); |
-FunctionPass *createBackendCanonicalizePass(); |
-FunctionPass *createExpandConstantExprPass(); |
-FunctionPass *createExpandLargeIntegersPass(); |
-FunctionPass *createExpandStructRegsPass(); |
-FunctionPass *createInsertDivideCheckPass(); |
-FunctionPass *createNormalizeAlignmentPass(); |
-FunctionPass *createRemoveAsmMemoryPass(); |
-FunctionPass *createResolvePNaClIntrinsicsPass(); |
-ModulePass *createAddPNaClExternalDeclsPass(); |
-ModulePass *createCanonicalizeMemIntrinsicsPass(); |
-ModulePass *createCleanupUsedGlobalsMetadataPass(); |
-ModulePass *createExpandArithWithOverflowPass(); |
-ModulePass *createExpandByValPass(); |
-ModulePass *createExpandCtorsPass(); |
-ModulePass *createExpandIndirectBrPass(); |
-ModulePass *createExpandSmallArgumentsPass(); |
-ModulePass *createExpandTlsConstantExprPass(); |
-ModulePass *createExpandTlsPass(); |
-ModulePass *createExpandVarArgsPass(); |
-ModulePass *createFlattenGlobalsPass(); |
-ModulePass *createGlobalCleanupPass(); |
-ModulePass *createGlobalizeConstantVectorsPass(); |
-ModulePass *createInternalizeUsedGlobalsPass(); |
-ModulePass *createPNaClSjLjEHPass(); |
-ModulePass *createPromoteIntegersPass(); |
-ModulePass *createReplacePtrsWithIntsPass(); |
-ModulePass *createResolveAliasesPass(); |
-ModulePass *createRewriteAtomicsPass(); |
-ModulePass *createRewriteLLVMIntrinsicsPass(); |
-ModulePass *createRewritePNaClLibraryCallsPass(); |
-ModulePass *createSimplifyStructRegSignaturesPass(); |
-ModulePass *createStripAttributesPass(); |
-ModulePass *createStripMetadataPass(); |
-ModulePass *createStripModuleFlagsPass(); |
-ModulePass *createStripDanglingDISubprogramsPass(); |
+#define PNACLPASS_LEGACY_ONLY(kind, name) \ |
+ kind ## Pass *create ## name ## Pass() |
-// Emscripten passes: |
-FunctionPass *createExpandInsertExtractElementPass(); |
-ModulePass *createExpandI64Pass(); |
-ModulePass *createLowerEmAsyncifyPass(); |
-ModulePass *createLowerEmExceptionsPass(); |
-ModulePass *createLowerEmSetjmpPass(); |
-ModulePass *createNoExitRuntimePass(); |
-// Emscripten passes end. |
+// name is nested in `pnacl` so uses of `name::something` isn't ambiguous |
+#define PNACLPASS(kind, name) \ |
+ namespace pnacl { namespace name { \ |
+ void addPass(kind ## PassManager &Mgr); \ |
+ } } \ |
+ PNACLPASS_LEGACY_ONLY(kind, name) |
+#include "PNaClPasses.def" |
+#undef PNACLPASS |
+#undef PNACLPASS_LEGACY_ONLY |
JF
2015/07/23 22:44:38
Could you do this in a separate CL?
Richard Diamond
2015/07/24 19:54:38
Done.
|
void PNaClABISimplifyAddPreOptPasses(Triple *T, PassManagerBase &PM); |
void PNaClABISimplifyAddPostOptPasses(Triple *T, PassManagerBase &PM); |