aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/Passes.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CodeGen/Passes.cpp')
-rw-r--r--lib/CodeGen/Passes.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/CodeGen/Passes.cpp b/lib/CodeGen/Passes.cpp
index 96e2cf2d02..33fad7f8f7 100644
--- a/lib/CodeGen/Passes.cpp
+++ b/lib/CodeGen/Passes.cpp
@@ -355,6 +355,16 @@ void TargetPassConfig::addIRPasses() {
addPass(createTypeBasedAliasAnalysisPass());
addPass(createBasicAliasAnalysisPass());
+ // @LOCALMOD-START
+ addPass(createNaClCcRewritePass(TM->getTargetLowering()));
+ // TODO: consider adding a cleanup pass, e.g. constant propagation
+ // Note: we run this before the verfier step because it may cause
+ // a *temporary* inconsistency:
+ // A function may have been rewritting before we are rewriting
+ // its callers - which would lead to a parameter mismatch complaint
+ // from the verifier.
+ // @LOCALMOD-END
+
// Before running any passes, run the verifier to determine if the input
// coming from the front-end and/or optimizer is valid.
if (!DisableVerify)