llvm-6502/test/Bitcode
Duncan P. N. Exon Smith 43b54db2a4 UseListOrder: Visit global values
When predicting use-list order, we visit functions in reverse order
followed by `GlobalValue`s and write out use-lists at the first
opportunity.  In the reader, this will translate to *after* the last use
has been added.

For this to work, we actually need to descend into `GlobalValue`s.
Added a targeted test in `use-list-order.ll` and `RUN` lines to the
newly passing tests in `test/Bitcode`.

There are two remaining failures in `test/Bitcode`:

  - blockaddress.ll: I haven't thought through how to model the way
    block addresses change the order of use-lists (or how to work around
    it).

  - metadata-2.ll: There's an old-style `@llvm.used` global array here
    that I suspect the .ll parser isn't upgrading properly.  When it
    round-trips through bitcode, the .bc reader *does* upgrade it, so
    the extra variable (`i8* null`) has an extra use, and the shuffle
    vector doesn't match.

    I think the fix is to upgrade old-style global arrays (or reject
    them?) in the .ll parser.

This is part of PR5680.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214321 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-30 17:51:09 +00:00
..
2006-12-11-Cast-ConstExpr.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
2009-06-11-FirstClassAggregateConstant.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
aggregateInstructions.3.2.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
aggregateInstructions.3.2.ll.bc Ensure bitcode encoding of instructions and their operands stays stable. 2014-02-26 12:06:36 +00:00
arm32_neon_vcnt_upgrade.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
atomic.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
attributes-3.3.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
attributes-3.3.ll.bc Make .bc en/decoding of AttrKind stable 2013-07-26 04:16:55 +00:00
attributes.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
binaryFloatInstructions.3.2.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
binaryFloatInstructions.3.2.ll.bc Ensure bitcode encoding of instructions and their operands stays stable. 2014-02-26 12:06:36 +00:00
binaryIntInstructions.3.2.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
binaryIntInstructions.3.2.ll.bc Ensure bitcode encoding of instructions and their operands stays stable. 2014-02-26 12:06:36 +00:00
bitwiseInstructions.3.2.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
bitwiseInstructions.3.2.ll.bc Ensure bitcode encoding of instructions and their operands stays stable. 2014-02-26 12:06:36 +00:00
blockaddress.ll BitcodeReader: Correctly insert blockaddress constant referring to a already parsed function. 2012-09-21 14:34:31 +00:00
calling-conventions.3.2.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
calling-conventions.3.2.ll.bc Ensure bitcode encoding of calling conventions stays stable. Patch by Boaz Ouriel. 2013-12-22 07:51:53 +00:00
case-ranges-3.3.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
case-ranges-3.3.ll.bc Revert patches to add case-range support for PR1255. 2013-09-09 19:14:35 +00:00
cmpxchg-upgrade.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
cmpxchg-upgrade.ll.bc IR: add a second ordering operand to cmpxhg for failure 2014-03-11 10:48:52 +00:00
conversionInstructions.3.2.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
conversionInstructions.3.2.ll.bc Ensure bitcode encoding of instructions and their operands stays stable. 2014-02-26 12:06:36 +00:00
drop-debug-info.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
extractelement.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
flags.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
function-encoding-rel-operands.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
global-variables.3.2.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
global-variables.3.2.ll.bc Ensure bitcode encoding of global variable attributes stays stable. Patch by Boaz Ouriel. 2013-12-15 11:50:45 +00:00
inalloca.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
invalid.ll Change BitcodeReader to use error_code instead of bool + string. 2013-11-04 16:16:24 +00:00
invalid.ll.bc Use a larger invalid attribute bitcode number 2013-10-31 19:12:36 +00:00
linkage-types-3.2.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
linkage-types-3.2.ll.bc Ensure bitcode encoding of linkage types stays stable. Patch by Boaz Ouriel 2013-12-01 10:16:35 +00:00
local-linkage-default-visibility.3.4.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
local-linkage-default-visibility.3.4.ll.bc IR: Don't allow non-default visibility on local linkage 2014-05-07 22:57:20 +00:00
memInstructions.3.2.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
memInstructions.3.2.ll.bc Ensure bitcode encoding of instructions and their operands stays stable. 2014-03-02 15:26:36 +00:00
metadata-2.ll Use -disable-output and to suppress output and don't use a temporary file unless we need one. 2013-08-20 23:00:25 +00:00
metadata.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
miscInstructions.3.2.ll UseListOrder: Visit global values 2014-07-30 17:51:09 +00:00
miscInstructions.3.2.ll.bc Ensure bitcode encoding of instructions and their operands stays stable. 2014-03-02 15:26:36 +00:00
null-type.ll Change BitcodeReader to use error_code instead of bool + string. 2013-11-04 16:16:24 +00:00
null-type.ll.bc
old-aliases.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
old-aliases.ll.bc Fix most of PR10367. 2014-05-16 19:35:39 +00:00
pr18704.ll All new elements except the last one initialized to NULL. Ideally, once parsing is complete, all elements should be non-NULL. 2014-03-27 12:08:23 +00:00
pr18704.ll.bc All new elements except the last one initialized to NULL. Ideally, once parsing is complete, all elements should be non-NULL. 2014-03-27 12:08:23 +00:00
ptest-new.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
ptest-old.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
select.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
shuffle.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
ssse3_palignr.ll UseListOrder: Visit global values 2014-07-30 17:51:09 +00:00
tailcall.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
terminatorInstructions.3.2.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
terminatorInstructions.3.2.ll.bc Ensure bitcode encoding of instructions and their operands stays stable. 2014-02-26 12:06:36 +00:00
upgrade-global-ctors.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
upgrade-global-ctors.ll.bc Handle ConstantAggregateZero when upgrading global_ctors. 2014-05-17 21:00:22 +00:00
upgrade-loop-metadata.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
upgrade-loop-metadata.ll.bc Add some test files for r211710. 2014-06-25 15:41:39 +00:00
upgrade-tbaa.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
use-list-order.ll UseListOrder: Visit global values 2014-07-30 17:51:09 +00:00
variableArgumentIntrinsic.3.2.ll UseListOrder: Visit global values 2014-07-30 17:51:09 +00:00
variableArgumentIntrinsic.3.2.ll.bc Ensure bitcode encoding of instructions and their operands stays stable. 2014-03-02 15:26:36 +00:00
vectorInstructions.3.2.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
vectorInstructions.3.2.ll.bc Ensure bitcode encoding of instructions and their operands stays stable. 2014-02-26 12:06:36 +00:00
visibility-styles.3.2.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
visibility-styles.3.2.ll.bc Ensure bitcode encoding of visibility styles stays stable. Patch by Boaz Ouriel. 2013-12-08 11:35:09 +00:00
weak-cmpxchg-upgrade.ll Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
weak-cmpxchg-upgrade.ll.bc IR: add "cmpxchg weak" variant to support permitted failure. 2014-06-13 14:24:07 +00:00