1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 12:33:33 +02:00
llvm-mirror/unittests/Transforms/Utils
Daniel Berlin c177f9d54c MemorySSA: Link all defs together into an intrusive defslist, to make updater easier
Summary:
This is the first in a series of patches to add a simple, generalized updater to MemorySSA.

For MemorySSA, every def is may-def, instead of the normal must-def.
(the best way to think of memoryssa is "everything is really one variable, with different versions of that variable at different points in the program).
This means when updating, we end up having to do a bunch of work to touch defs below and above us.

In order to support this quickly, i have ilist'd all the defs for each block.  ilist supports tags, so this is quite easy. the only slightly messy part is that you can't have two iplists for the same type that differ only whether they have the ownership part enabled or not, because the traits are for the value type.

The verifiers have been updated to test that the def order is correct.

Reviewers: george.burgess.iv

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D29046

llvm-svn: 293085
2017-01-25 20:56:19 +00:00
..
ASanStackFrameLayoutTest.cpp [asan] Simplify calculation of stack frame layout extraction calculation of stack description into separate function. 2016-10-18 23:29:52 +00:00
Cloning.cpp Cloning: Copy comdats when cloning globals. 2017-01-18 20:02:31 +00:00
CMakeLists.txt Make the FunctionComparator of the MergeFunctions pass a stand-alone utility. 2016-11-11 21:15:13 +00:00
FunctionComparator.cpp Make the FunctionComparator of the MergeFunctions pass a stand-alone utility. 2016-11-11 21:15:13 +00:00
IntegerDivision.cpp Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
Local.cpp Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
MemorySSA.cpp MemorySSA: Link all defs together into an intrusive defslist, to make updater easier 2017-01-25 20:56:19 +00:00
ValueMapperTest.cpp ValueMapper: Stop memoizing ConstantAsMetadata 2016-04-16 03:39:44 +00:00