mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-21 02:24:22 +00:00
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213945 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -118,6 +118,11 @@ ModulePass *createInternalizePass(ArrayRef<const char *> ExportList);
|
||||
/// createInternalizePass - Same as above, but with an empty exportList.
|
||||
ModulePass *createInternalizePass();
|
||||
|
||||
/// \brief Verify that use-list order doesn't change after shuffling.
|
||||
///
|
||||
/// \note This is a transformation, since the use-list order changes.
|
||||
ModulePass *createVerifyUseListOrderPass();
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
/// createDeadArgEliminationPass - This pass removes arguments from functions
|
||||
/// which are not used by the body of the function.
|
||||
|
Reference in New Issue
Block a user