llvm-6502/lib/IR
Duncan P. N. Exon Smith 37c7ccc40c IR: Allow temporary nodes to become uniqued or distinct
Add `MDNode::replaceWithUniqued()` and `MDNode::replaceWithDistinct()`,
which mutate temporary nodes to become uniqued or distinct.  On uniquing
collisions, the unique version is returned and the node is deleted.

This takes advantage of temporary nodes being folded back in, and should
let me clean up some awkward logic in `MapMetadata()`.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226510 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-19 22:24:52 +00:00
..
AsmWriter.cpp IR: Remove isa<UniquableMDNode>, NFC 2015-01-19 19:10:14 +00:00
AsmWriter.h
AttributeImpl.h
Attributes.cpp
AutoUpgrade.cpp [x86] Change AVX512 intrinsics to take a 8-bit immediate for the comparision kind instead of a 32-bit immediate. This better aligns with the emitted instruction. It also matches SSE and AVX1 equivalents. Also add auto upgrade support. 2015-01-19 06:07:27 +00:00
BasicBlock.cpp The leak detector is dead, long live asan and valgrind. 2014-12-22 13:00:36 +00:00
CMakeLists.txt Move ownership of GCStrategy objects to LLVMContext 2015-01-16 20:07:33 +00:00
Comdat.cpp
ConstantFold.cpp ConstantFold: Shifting undef by zero results in undef 2014-12-18 23:54:43 +00:00
ConstantFold.h
ConstantRange.cpp
Constants.cpp
ConstantsContext.h
Core.cpp IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
DataLayout.cpp DataLayout: Provide nicer diagnostics for malformed strings 2014-12-10 02:36:41 +00:00
DebugInfo.cpp IR: Remove MDNodeFwdDecl 2015-01-19 20:36:39 +00:00
DebugLoc.cpp IR: Cleanup dead code, NFC 2015-01-16 17:31:29 +00:00
DiagnosticInfo.cpp IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
DiagnosticPrinter.cpp
DIBuilder.cpp IR: Return unique_ptr from MDNode::getTemporary() 2015-01-19 21:30:18 +00:00
Dominators.cpp [PM] Port domtree to the new pass manager (at last). 2015-01-14 10:19:28 +00:00
Function.cpp Move ownership of GCStrategy objects to LLVMContext 2015-01-16 20:07:33 +00:00
GCOV.cpp
GCStrategy.cpp clang-format all the GC related files (NFC) 2015-01-16 23:16:12 +00:00
Globals.cpp The leak detector is dead, long live asan and valgrind. 2014-12-22 13:00:36 +00:00
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp The leak detector is dead, long live asan and valgrind. 2014-12-22 13:00:36 +00:00
Instructions.cpp IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
IntrinsicInst.cpp IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
IRBuilder.cpp Some code improvements in Masked Load/Store. 2014-12-30 14:28:14 +00:00
IRPrintingPasses.cpp [PM] Switch the new pass manager to use a reference-based API for IR 2015-01-05 02:47:05 +00:00
LeaksContext.h IR: Store MDNodes in a separate LeakDetector container 2014-12-11 21:39:39 +00:00
LegacyPassManager.cpp Document that PassManager::add() may delete the pass right away. 2014-12-12 01:27:01 +00:00
LLVMBuild.txt
LLVMContext.cpp Fix LLVMContext to match what MDKind names that the LL parser permits. Fixes PR21799! 2014-12-11 02:10:28 +00:00
LLVMContextImpl.cpp Move ownership of GCStrategy objects to LLVMContext 2015-01-16 20:07:33 +00:00
LLVMContextImpl.h Move ownership of GCStrategy objects to LLVMContext 2015-01-16 20:07:33 +00:00
Makefile
Mangler.cpp
MDBuilder.cpp IR: Return unique_ptr from MDNode::getTemporary() 2015-01-19 21:30:18 +00:00
Metadata.cpp IR: Allow temporary nodes to become uniqued or distinct 2015-01-19 22:24:52 +00:00
MetadataTracking.cpp IR: Store RAUW support and Context in the same pointer, NFC 2015-01-19 19:02:06 +00:00
Module.cpp The leak detector is dead, long live asan and valgrind. 2014-12-22 13:00:36 +00:00
module.modulemap
Pass.cpp
PassManager.cpp [PM] Push the debug option for the new pass manager into the opt tool 2015-01-13 22:42:38 +00:00
PassRegistry.cpp
Statepoint.cpp [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
SymbolTableListTraitsImpl.h
Type.cpp
TypeFinder.cpp IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
Use.cpp
UseListOrder.cpp
User.cpp
Value.cpp Cleaup ValueHandle to no longer keep a PointerIntPair for the Value*. 2015-01-09 00:48:47 +00:00
ValueSymbolTable.cpp IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
ValueTypes.cpp
Verifier.cpp IR: Remove MDNodeFwdDecl 2015-01-19 20:36:39 +00:00