llvm-6502/lib/Target/NVPTX
Duncan P. N. Exon Smith 6b863256e4 NVPTX: Use RAUW instead of reinventing the wheel
This code had a homemade RAUW that was incorrect when a user was a
constant: instead of calling `replaceUsersWithOnConstant()` it would
incorrectly update the operand in-place, invalidating
`LLVMContextImpl::ExprConstants`.  RAUW does the job better.

The ValueHandle that `GVMap` is holding onto needs to be removed first,
so this commit also removes each variable from the map on-the-fly.

Since deletions from `ExprConstants` use a linear search that compares
directly on the pointer value (instead of using the key), there isn't an
obvious way to expose this with a testcase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215953 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-19 00:20:02 +00:00
..
InstPrinter Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MCTargetDesc Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
TargetInfo Prune redundant dependencies in LLVMBuild.txt. 2013-12-11 00:30:57 +00:00
cl_common_defines.h Update a couple of header inclusion guards 2014-05-31 21:26:09 +00:00
CMakeLists.txt [NVPTX] Add preliminary intrinsics and codegen support for textures/surfaces 2014-04-09 15:39:15 +00:00
LLVMBuild.txt NVPTX/LLVMBuild.txt: Add "Scalar" to required_libraries. It is really referenced. 2014-07-14 02:52:19 +00:00
Makefile
ManagedStringPool.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
NVPTX.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
NVPTX.td [NVPTX] Add target options for PTX 3.2/4.0 and SM 5.0 (Maxwell) 2014-06-27 18:35:18 +00:00
NVPTXAllocaHoisting.cpp ARM: implement ldrex, strex and clrex intrinsics 2013-07-16 09:46:55 +00:00
NVPTXAllocaHoisting.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
NVPTXAsmPrinter.cpp Have MachineFunction cache a pointer to the subtarget to make lookups 2014-08-05 02:39:49 +00:00
NVPTXAsmPrinter.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
NVPTXAssignValidGlobalNames.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. NVPTX edition 2014-04-29 07:57:44 +00:00
NVPTXFavorNonGenericAddrSpaces.cpp Test commit. 2014-05-23 06:30:12 +00:00
NVPTXFrameLowering.cpp Have MachineFunction cache a pointer to the subtarget to make lookups 2014-08-05 02:39:49 +00:00
NVPTXFrameLowering.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
NVPTXGenericToNVVM.cpp NVPTX: Use RAUW instead of reinventing the wheel 2014-08-19 00:20:02 +00:00
NVPTXImageOptimizer.cpp Fix typos 2014-06-07 21:23:09 +00:00
NVPTXInstrFormats.td [NVPTX] Add more surface/texture intrinsics, including CUDA unified texture fetch 2014-07-17 11:59:04 +00:00
NVPTXInstrInfo.cpp Remove caching of the target machine in NVPTXInstrInfo and 2014-06-27 01:27:08 +00:00
NVPTXInstrInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
NVPTXInstrInfo.td [NVPTX] Improve handling of FP fusion 2014-07-17 18:10:09 +00:00
NVPTXIntrinsics.td NVPTX: support direct f16 <-> f64 conversions via intrinsics. 2014-07-18 08:30:10 +00:00
NVPTXISelDAGToDAG.cpp [NVPTX] Remove MemIntrinsicSDNode/MemSDNode duplicate checking 2014-08-13 04:59:51 +00:00
NVPTXISelDAGToDAG.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
NVPTXISelLowering.cpp Have MachineFunction cache a pointer to the subtarget to make lookups 2014-08-05 02:39:49 +00:00
NVPTXISelLowering.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
NVPTXLowerAggrCopies.cpp [C++11] Add range based accessors for the Use-Def chain of a Value. 2014-03-09 03:16:01 +00:00
NVPTXLowerAggrCopies.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
NVPTXMachineFunctionInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
NVPTXMCExpr.cpp [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:41:26 +00:00
NVPTXMCExpr.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
NVPTXPrologEpilogPass.cpp Have MachineFunction cache a pointer to the subtarget to make lookups 2014-08-05 02:39:49 +00:00
NVPTXRegisterInfo.cpp [NVPTX] Rename registers %fl -> %fd and %rl -> %rd 2014-07-16 16:26:58 +00:00
NVPTXRegisterInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
NVPTXRegisterInfo.td [NVPTX] Rename registers %fl -> %fd and %rl -> %rd 2014-07-16 16:26:58 +00:00
NVPTXReplaceImageHandles.cpp [NVPTX] Add more surface/texture intrinsics, including CUDA unified texture fetch 2014-07-17 11:59:04 +00:00
NVPTXSection.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
NVPTXSubtarget.cpp Improve some const-correctness to remove a -Wcast-qual warning. No functional changes intended. 2014-08-01 12:34:58 +00:00
NVPTXSubtarget.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
NVPTXTargetMachine.cpp [NVPTX] Directly control the Machine SSA passes that are invoked for NVPTX. 2014-06-27 18:35:14 +00:00
NVPTXTargetMachine.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
NVPTXTargetObjectFile.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
NVPTXutil.cpp [NVPTX] Run clang-format on all NVPTX sources. 2013-03-30 14:29:21 +00:00
NVPTXutil.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
NVPTXUtilities.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
NVPTXUtilities.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
NVPTXVector.td
NVVMReflect.cpp [NVPTX] Add reflect intrinsic (better than matching by function name) 2014-06-27 18:36:11 +00:00