llvm-6502/include/llvm
Duncan P. N. Exon Smith bd24fe8c7e Bitcode: Serialize (and recover) use-list order
Predict and serialize use-list order in bitcode.  This makes the option
`-preserve-bc-use-list-order` work *most* of the time, but this is still
experimental.

  - Builds a full value-table up front in the writer, sets up a list of
    use-list orders to write out, and discards the table.  This is a
    simpler first step than determining the order from the various
    overlapping IDs of values on-the-fly.

  - The shuffles stored in the use-list order list have an unnecessarily
    large memory footprint.

  - `blockaddress` expressions cause functions to be materialized
    out-of-order.  For now I've ignored this problem, so use-list orders
    will be wrong for constants used by functions that have block
    addresses taken.  There are a couple of ways to fix this, but I
    don't have a concrete plan yet.

  - When materializing functions lazily, the use-lists for constants
    will not be correct.  This use case is out of scope: what should the
    use-list order be, if it's incomplete?

This is part of PR5680.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214125 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-28 21:19:41 +00:00
..
ADT [ADT] Add a remarkbly useful little helper routine to ArrayRef for 2014-07-27 01:11:19 +00:00
Analysis Add scoped-noalias metadata 2014-07-24 14:25:39 +00:00
AsmParser
Bitcode Bitcode: Serialize (and recover) use-list order 2014-07-28 21:19:41 +00:00
CodeGen [SDAG] When performing post-legalize DAG combining, run the legalizer 2014-07-26 05:49:40 +00:00
Config Fix arc4random detection. 2014-07-25 19:28:44 +00:00
DebugInfo [DWARF parser] Teach DIContext to fetch short (non-linkage) function names for a given address. 2014-05-17 00:07:48 +00:00
ExecutionEngine Remove dead code. 2014-07-24 16:02:28 +00:00
IR Bitcode: Serialize (and recover) use-list order 2014-07-28 21:19:41 +00:00
IRReader Make a helper function static. No functionality change. 2014-07-05 00:39:08 +00:00
LineEditor
Linker IR: Add COMDATs to the IR 2014-06-27 18:19:56 +00:00
LTO Implement LTOModule on top of IRObjectFile. 2014-07-04 18:40:36 +00:00
MC Reapply "DebugInfo: Don't put fission type units in comdat sections." 2014-07-25 17:11:58 +00:00
Object Correct the ownership passing semantics of object::createBinary and make them explicit in the type system. 2014-07-21 16:26:24 +00:00
Option Option: Propagate flags from groups to options in each group 2014-07-12 00:18:58 +00:00
ProfileData coverage: remove empty mapping regions 2014-07-25 22:22:24 +00:00
Support [ARM] Emit ABI_PCS_R9_use build attribute. 2014-07-25 14:03:14 +00:00
TableGen Revert "Introduce a string_ostream string builder facilty" 2014-06-26 22:52:05 +00:00
Target Update comment 2014-07-28 17:31:37 +00:00
Transforms Move -verify-use-list-order into llvm-uselistorder 2014-07-25 17:13:03 +00:00
CMakeLists.txt [modules] Add module maps for LLVM. These are not quite ready for prime-time 2014-05-21 02:46:14 +00:00
InitializePasses.h Move -verify-use-list-order into llvm-uselistorder 2014-07-25 17:13:03 +00:00
LinkAllIR.h
LinkAllPasses.h Move -verify-use-list-order into llvm-uselistorder 2014-07-25 17:13:03 +00:00
module.modulemap [modules] Work around mislayering of MC / Object. 2014-07-26 01:10:32 +00:00
module.modulemap.build [modules] Add module maps for LLVM. These are not quite ready for prime-time 2014-05-21 02:46:14 +00:00
Pass.h Revert "[PM] Add pass run listeners to the pass manager." 2014-05-15 17:49:20 +00:00
PassAnalysisSupport.h
PassInfo.h Remove pimpl class from PassRegistry. 2014-06-12 16:06:51 +00:00
PassManager.h
PassRegistry.h Remove pimpl class from PassRegistry. 2014-06-12 16:06:51 +00:00
PassSupport.h Move GlobalMerge from Transform to CodeGen. 2014-06-13 22:57:59 +00:00