diff options
author | Mark Seaborn <mseaborn@chromium.org> | 2013-05-30 13:14:50 -0700 |
---|---|---|
committer | Mark Seaborn <mseaborn@chromium.org> | 2013-05-30 13:14:50 -0700 |
commit | 381b0fb87f1fe806d678af8c48b67b4e0dc3a43b (patch) | |
tree | 3f6d52d5fafbf9a2c952b8e723f832644b1d99f0 /lib/Transforms | |
parent | f72e0b53e25548d6db9220a03a303e589c9773a4 (diff) |
PNaCl ABI checker: Disallow llvm.lifetime.start/end intrinsics
Run StripDeadPrototypes as a final pass to ensure that the prototypes
for lifetime.start/end are removed.
BUG=https://code.google.com/p/nativeclient/issues/detail?id=3443
TEST=PNaCl toolchain trybots
Review URL: https://codereview.chromium.org/16063005
Diffstat (limited to 'lib/Transforms')
-rw-r--r-- | lib/Transforms/NaCl/PNaClABISimplify.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/Transforms/NaCl/PNaClABISimplify.cpp b/lib/Transforms/NaCl/PNaClABISimplify.cpp index 8c945800af..74a9f0730e 100644 --- a/lib/Transforms/NaCl/PNaClABISimplify.cpp +++ b/lib/Transforms/NaCl/PNaClABISimplify.cpp @@ -39,9 +39,6 @@ void llvm::PNaClABISimplifyAddPreOptPasses(PassManager &PM) { // GlobalCleanup needs to run after ExpandTls because // __tls_template_start etc. are extern_weak before expansion PM.add(createGlobalCleanupPass()); - // Strip dead prototytes to appease the intrinsic ABI checks - // (ExpandVarArgs leaves around var-arg intrinsics). - PM.add(createStripDeadPrototypesPass()); } void llvm::PNaClABISimplifyAddPostOptPasses(PassManager &PM) { @@ -78,4 +75,9 @@ void llvm::PNaClABISimplifyAddPostOptPasses(PassManager &PM) { // ReplacePtrsWithInts assumes that getelementptr instructions and // ConstantExprs have already been expanded out. PM.add(createReplacePtrsWithIntsPass()); + + // Strip dead prototytes to appease the intrinsic ABI checks. + // ExpandVarArgs leaves around vararg intrinsics, and + // ReplacePtrsWithInts leaves the lifetime.start/end intrinsics. + PM.add(createStripDeadPrototypesPass()); } |