summaryrefslogtreecommitdiffstats
path: root/llvm/lib/IR/UseListOrder.cpp
Commit message (Collapse)AuthorAgeFilesLines
* uselistorder: Remove the global bitsDuncan P. N. Exon Smith2015-04-151-43/+0
| | | | | | | | | | | | | Remove all the global bits to do with preserving use-list order by moving the `cl::opt`s to the individual tools that want them. There's a minor functionality change to `libLTO`, in that you can't send in `-preserve-bc-uselistorder=false`, but making that bit settable (if it's worth doing) should be through explicit LTO API. As a drive-by fix, I removed some includes of `UseListOrder.h` that were made unnecessary by recent commits. llvm-svn: 234973
* IR: Set -preserve-bc-uselistorder=false by defaultDuncan P. N. Exon Smith2015-04-141-1/+1
| | | | | | | But keep it on by default in `llvm-as`, `opt`, `bugpoint`, `llvm-link`, `llvm-extract`, and `LTOCodeGenerator`. Part of PR5680. llvm-svn: 234921
* IR: Rename 'use-list-order' options to 'uselistorder'Duncan P. N. Exon Smith2015-04-141-2/+2
| | | | | | | Rename options to be consistent with the name of `verify-uselistorder`, and update `DEBUG_TYPE` (etc.) to be consistent. llvm-svn: 234919
* IR: Preserve use-list order by default in bitcodeDuncan P. N. Exon Smith2015-04-091-3/+3
| | | | | | | Pull the `-preserve-*-use-list-order` flags out of "experimental" mode, and preserve use-list order by default when serializing to bitcode. llvm-svn: 234510
* verify-uselistorder: Force -preserve-bc-use-list-orderDuncan P. N. Exon Smith2014-08-191-0/+8
| | | | llvm-svn: 216022
* verify-uselistorder: Move shuffleUseLists() out of lib/IRDuncan P. N. Exon Smith2014-08-011-104/+2
| | | | | | | | | | `shuffleUseLists()` is only used in `verify-uselistorder`, so move it there to avoid bloating other executables. As a drive-by, update some of the header docs. This is part of PR5680. llvm-svn: 214592
* UseListOrder: Guarantee that shuffles change use-list orderDuncan P. N. Exon Smith2014-08-011-9/+12
| | | | | | | | | Change shuffleUseLists() always to change use-list order by rejecting orders that have no changes. This is part of PR5680. llvm-svn: 214584
* IR: Augment debug statements for use-list orderDuncan P. N. Exon Smith2014-07-291-2/+5
| | | | llvm-svn: 214155
* Fix MSVC2012 build error in UseListOrder.cppHans Wennborg2014-07-251-3/+4
| | | | | | | | | I think the compiler got confused by the nested DEBUG macros. It was failing with: UseListOrder.cpp(80) : error C2059: syntax error : '}' llvm-svn: 213954
* Try to fix a layering violation introduced by r213945Duncan P. N. Exon Smith2014-07-251-303/+9
| | | | | | | | | | | The dragonegg buildbot (and others?) started failing after r213945/r213946 because `llvm-as` wasn't linking in the bitcode reader. I think moving the verify functions to the same file as the verify pass should fix the build. Adding a command-line option for maintaining use-list order in assembly as a drive-by to prevent warnings about unused static functions. llvm-svn: 213947
* Fix -Werror build after r213945Duncan P. N. Exon Smith2014-07-251-0/+1
| | | | llvm-svn: 213946
* IPO: Add use-list-order verifierDuncan P. N. Exon Smith2014-07-251-0/+423
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
OpenPOWER on IntegriCloud