1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/lib
Duncan P. N. Exon Smith 1ad861d158 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.

llvm-svn: 214125
2014-07-28 21:19:41 +00:00
..
Analysis Add @llvm.assume, lowering, and some basic properties 2014-07-25 21:13:35 +00:00
AsmParser AsmParser: remove deprecated LLIR support 2014-07-23 18:09:31 +00:00
Bitcode Bitcode: Serialize (and recover) use-list order 2014-07-28 21:19:41 +00:00
CodeGen [Debug Info] rename getTypeArray to getElements, setTypeArray to setArrays. 2014-07-28 19:14:13 +00:00
DebugInfo
ExecutionEngine Remove dead code. 2014-07-24 16:02:28 +00:00
IR [Debug Info] add a template class DITypedArray. 2014-07-28 19:33:20 +00:00
IRReader Update the MemoryBuffer API to use ErrorOr. 2014-07-06 17:43:13 +00:00
LineEditor
Linker
LTO AArch64: remove arm64 triple enumerator. 2014-07-23 12:32:47 +00:00
MC Reapply "DebugInfo: Don't put fission type units in comdat sections." 2014-07-25 17:11:58 +00:00
Object AArch64: remove arm64 triple enumerator. 2014-07-23 12:32:47 +00:00
Option Generic: add range-adapter for option parsing. 2014-07-09 13:03:37 +00:00
ProfileData coverage: remove empty mapping regions 2014-07-25 22:22:24 +00:00
Support Remove dead code. 2014-07-25 19:06:39 +00:00
TableGen [TableGen] Allow shift operators to take bits<n> 2014-07-17 17:04:27 +00:00
Target R600/SI: Fix return type for isMIMG / isSMRD 2014-07-28 17:59:38 +00:00
Transforms [Debug Info] rename getTypeArray to getElements, setTypeArray to setArrays. 2014-07-28 19:14:13 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile