diff options
| author | Arnold Schwaighofer <aschwaighofer@apple.com> | 2016-09-21 15:29:08 +0000 |
|---|---|---|
| committer | Arnold Schwaighofer <aschwaighofer@apple.com> | 2016-09-21 15:29:08 +0000 |
| commit | f62ba1031fc88b76db2dc19960fd8da7ed5aefac (patch) | |
| tree | c04001d0208e1e6f4863e194e640931ce44d5db2 /llvm/lib/Transforms | |
| parent | 62ba446223d5ed6abd3563d8527eda988cf885a7 (diff) | |
| download | bcm5719-llvm-f62ba1031fc88b76db2dc19960fd8da7ed5aefac.tar.gz bcm5719-llvm-f62ba1031fc88b76db2dc19960fd8da7ed5aefac.zip | |
DeadArgElim: Don't mark swifterror arguments as unused
Replacing swifterror arguments with undef creates invalid IR.
rdar://28300490
llvm-svn: 282075
Diffstat (limited to 'llvm/lib/Transforms')
| -rw-r--r-- | llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp b/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp index c8c895b1879..c294d6450b5 100644 --- a/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp +++ b/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp @@ -270,7 +270,7 @@ bool DeadArgumentEliminationPass::RemoveDeadArgumentsFromCallers(Function &Fn) { SmallVector<unsigned, 8> UnusedArgs; for (Argument &Arg : Fn.args()) { - if (Arg.use_empty() && !Arg.hasByValOrInAllocaAttr()) + if (!Arg.hasSwiftErrorAttr() && Arg.use_empty() && !Arg.hasByValOrInAllocaAttr()) UnusedArgs.push_back(Arg.getArgNo()); } |

