llvm-6502/lib/Transforms
Duncan P. N. Exon Smith ae9e15f914 IR: Split GenericMDNode into MDTuple and UniquableMDNode
Split `GenericMDNode` into two classes (with more descriptive names).

  - `UniquableMDNode` will be a common subclass for `MDNode`s that are
    sometimes uniqued like constants, and sometimes 'distinct'.

    This class gets the (short-lived) RAUW support and related API.

  - `MDTuple` is the basic tuple that has always been returned by
    `MDNode::get()`.  This is as opposed to more specific nodes to be
    added soon, which have additional fields, custom assembly syntax,
    and extra semantics.

    This class gets the hash-related logic, since other sublcasses of
    `UniquableMDNode` may need to hash based on other fields.

To keep this diff from getting too big, I've added casts to `MDTuple`
that won't really scale as new subclasses of `UniquableMDNode` are
added, but I'll clean those up incrementally.

(No functionality change intended.)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225682 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-12 20:09:34 +00:00
..
Hello
InstCombine Fix fcmp + fabs instcombines when using the intrinsic 2015-01-08 20:09:34 +00:00
Instrumentation [ASan] Move the shadow on Windows 32-bit from 0x20000000 to 0x40000000 2015-01-12 17:38:58 +00:00
IPO [PM] Split the AssumptionTracker immutable pass into two separate APIs: 2015-01-04 12:03:27 +00:00
ObjCARC IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
Scalar GVN: propagate equalities for floating point compares 2015-01-12 19:29:48 +00:00
Utils IR: Split GenericMDNode into MDTuple and UniquableMDNode 2015-01-12 20:09:34 +00:00
Vectorize Update comment. 2015-01-09 22:15:06 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile