diff options
| author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2014-07-25 14:49:26 +0000 |
|---|---|---|
| committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2014-07-25 14:49:26 +0000 |
| commit | 6b6fdc992a826f66c1eb3b1e2a08220e29042891 (patch) | |
| tree | cdab3c206a971a0920102a070a1811a169ea6b54 /llvm/lib/Transforms/IPO/IPO.cpp | |
| parent | 115d2df8a4406959fd0b62b205611bb75773aab3 (diff) | |
| download | bcm5719-llvm-6b6fdc992a826f66c1eb3b1e2a08220e29042891.tar.gz bcm5719-llvm-6b6fdc992a826f66c1eb3b1e2a08220e29042891.zip | |
IPO: Add use-list-order verifier
Add a -verify-use-list-order pass, which shuffles use-list order, writes
to bitcode, reads back, and verifies that the (shuffled) order matches.
- The utility functions live in lib/IR/UseListOrder.cpp.
- Moved (and renamed) the command-line option to enable writing
use-lists, so that this pass can return early if the use-list orders
aren't being serialized.
It's not clear that this pass is the right direction long-term (perhaps
a separate tool instead?), but short-term it's a great way to test the
use-list order prototype. I've added an XFAIL-ed testcase that I'm
hoping to get working pretty quickly.
This is part of PR5680.
llvm-svn: 213945
Diffstat (limited to 'llvm/lib/Transforms/IPO/IPO.cpp')
| -rw-r--r-- | llvm/lib/Transforms/IPO/IPO.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/IPO/IPO.cpp b/llvm/lib/Transforms/IPO/IPO.cpp index b4d31d8d6fc..5dce2d6b407 100644 --- a/llvm/lib/Transforms/IPO/IPO.cpp +++ b/llvm/lib/Transforms/IPO/IPO.cpp @@ -44,6 +44,7 @@ void llvm::initializeIPO(PassRegistry &Registry) { initializeStripDebugDeclarePass(Registry); initializeStripDeadDebugInfoPass(Registry); initializeStripNonDebugSymbolsPass(Registry); + initializeVerifyUseListOrderPass(Registry); initializeBarrierNoopPass(Registry); } |

