diff options
author | Fedor Sergeev <fedor.sergeev@azul.com> | 2017-12-15 09:32:11 +0000 |
---|---|---|
committer | Fedor Sergeev <fedor.sergeev@azul.com> | 2017-12-15 09:32:11 +0000 |
commit | 4b86d7904863b3d0e552db37f455fe76430e6d46 (patch) | |
tree | 0e25cf33f78c4d76e01cf18a6f0bc47a1665cf37 /llvm/lib/Passes/PassBuilder.cpp | |
parent | 9fcc4727aca032b9a670d82f86646830ba90434a (diff) | |
download | bcm5719-llvm-4b86d7904863b3d0e552db37f455fe76430e6d46.tar.gz bcm5719-llvm-4b86d7904863b3d0e552db37f455fe76430e6d46.zip |
[PM] port Rewrite Statepoints For GC to the new pass manager.
Summary:
The port is nearly straightforward.
The only complication is related to the analyses handling,
since one of the analyses used in this module pass is domtree,
which is a function analysis. That requires asking for the results
of each function and disallows a single interface for run-on-module
pass action.
Decided to copy-paste the main body of this pass.
Most of its code is requesting analyses anyway, so not that much
of a copy-paste.
The rest of the code movement is to transform all the implementation
helper functions like stripNonValidData into non-member statics.
Extended all the related LLVM tests with new-pass-manager use.
No failures.
Reviewers: sanjoy, anna, reames
Reviewed By: anna
Subscribers: skatkov, llvm-commits
Differential Revision: https://reviews.llvm.org/D41162
llvm-svn: 320796
Diffstat (limited to 'llvm/lib/Passes/PassBuilder.cpp')
-rw-r--r-- | llvm/lib/Passes/PassBuilder.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Passes/PassBuilder.cpp b/llvm/lib/Passes/PassBuilder.cpp index d33c4df70c6..cbae16a04ca 100644 --- a/llvm/lib/Passes/PassBuilder.cpp +++ b/llvm/lib/Passes/PassBuilder.cpp @@ -126,6 +126,7 @@ #include "llvm/Transforms/Scalar/NewGVN.h" #include "llvm/Transforms/Scalar/PartiallyInlineLibCalls.h" #include "llvm/Transforms/Scalar/Reassociate.h" +#include "llvm/Transforms/Scalar/RewriteStatepointsForGC.h" #include "llvm/Transforms/Scalar/SCCP.h" #include "llvm/Transforms/Scalar/SROA.h" #include "llvm/Transforms/Scalar/SimpleLoopUnswitch.h" |