llvm-project/llvm/lib/Target/NVPTX
Tim Northover 31d093c705 ISelDAG: spot chain cycles involving MachineNodes
Previously, the DAGISel function WalkChainUsers was spotting that it
had entered already-selected territory by whether a node was a
MachineNode (amongst other things). Since it's fairly common practice
to insert MachineNodes during ISelLowering, this was not the correct
check.

Looking around, it seems that other nodes get their NodeId set to -1
upon selection, so this makes sure the same thing happens to all
MachineNodes and uses that characteristic to determine whether we
should stop looking for a loop during selection.

This should fix PR15840.

llvm-svn: 191165
2013-09-22 08:21:56 +00:00
..
InstPrinter [NVPTX] Fix bug in stack code generation causes by MC conversion 2013-08-06 14:13:31 +00:00
MCTargetDesc [NVPTX] Start conversion to MC infrastructure 2013-08-06 14:13:27 +00:00
TargetInfo [NVPTX] Run clang-format on all NVPTX sources. 2013-03-30 14:29:21 +00:00
CMakeLists.txt [NVPTX] Start conversion to MC infrastructure 2013-08-06 14:13:27 +00:00
LLVMBuild.txt
Makefile
ManagedStringPool.h Use SmallVectorImpl::iterator/const_iterator instead of SmallVector to avoid specifying the vector size. 2013-07-04 01:31:24 +00:00
NVPTX.h [NVPTX] Remove unused prototypes 2013-07-22 17:04:40 +00:00
NVPTX.td [NVPTX] Start conversion to MC infrastructure 2013-08-06 14:13:27 +00:00
NVPTXAllocaHoisting.cpp ARM: implement ldrex, strex and clrex intrinsics 2013-07-16 09:46:55 +00:00
NVPTXAllocaHoisting.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
NVPTXAsmPrinter.cpp [NVPTX] Support constant vector globals 2013-09-19 12:51:46 +00:00
NVPTXAsmPrinter.h [NVPTX] Re-enable assembly printing support for inline assembly 2013-08-24 01:17:23 +00:00
NVPTXFrameLowering.cpp [NVPTX] Fix bug in stack code generation causes by MC conversion 2013-08-06 14:13:31 +00:00
NVPTXFrameLowering.h [NVPTX] Run clang-format on all NVPTX sources. 2013-03-30 14:29:21 +00:00
NVPTXGenericToNVVM.cpp Use SmallVectorImpl::iterator/const_iterator instead of SmallVector to avoid specifying the vector size. 2013-07-04 01:31:24 +00:00
NVPTXISelDAGToDAG.cpp ISelDAG: spot chain cycles involving MachineNodes 2013-09-22 08:21:56 +00:00
NVPTXISelDAGToDAG.h [NVPTX] Use approximate FP ops when unsafe-fp-math is used, and append 2013-07-22 12:18:04 +00:00
NVPTXISelLowering.cpp [NVPTX] Start conversion to MC infrastructure 2013-08-06 14:13:27 +00:00
NVPTXISelLowering.h [NVPTX] We dont use NVBuiltin anymore 2013-07-01 12:59:08 +00:00
NVPTXInstrFormats.td
NVPTXInstrInfo.cpp Remove unused stdio.h includes 2013-08-18 08:29:51 +00:00
NVPTXInstrInfo.h [NVPTX] Run clang-format on all NVPTX sources. 2013-03-30 14:29:21 +00:00
NVPTXInstrInfo.td [NVPTX] Add missing patterns for i1 [s,u]int_to_fp 2013-08-06 14:13:34 +00:00
NVPTXIntrinsics.td [NVPTX] Add isel patterns for [reg+offset] form of ldg/ldu. 2013-07-01 12:58:52 +00:00
NVPTXLowerAggrCopies.cpp [NVPTX] Run clang-format on all NVPTX sources. 2013-03-30 14:29:21 +00:00
NVPTXLowerAggrCopies.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
NVPTXMCExpr.cpp [NVPTX] Start conversion to MC infrastructure 2013-08-06 14:13:27 +00:00
NVPTXMCExpr.h [NVPTX] Start conversion to MC infrastructure 2013-08-06 14:13:27 +00:00
NVPTXPrologEpilogPass.cpp [NVPTX] Re-enable support for virtual registers in the final output 2013-05-31 12:14:49 +00:00
NVPTXRegisterInfo.cpp [NVPTX] Remove i8 register class. PTX support for i8 (.b8, .u8, .s8) is rather poor and we're better off just ignoring it and letting LLVM expand all i8 ops out to i16. 2013-06-28 17:57:59 +00:00
NVPTXRegisterInfo.h Don't pass in the TargetInstrInfo into the register info object. It doesn't use it. 2013-06-19 21:59:00 +00:00
NVPTXRegisterInfo.td [NVPTX] Cut down on physical register defs 2013-07-01 12:59:06 +00:00
NVPTXSection.h Add support for subsections to the ELF assembler. Fixes PR8717. 2013-04-17 21:18:16 +00:00
NVPTXSplitBBatBar.cpp [NVPTX] Run clang-format on all NVPTX sources. 2013-03-30 14:29:21 +00:00
NVPTXSplitBBatBar.h Sort includes for all of the .h files under the 'lib' tree. These were 2012-12-04 07:12:27 +00:00
NVPTXSubtarget.cpp [NVPTX] Add support for selecting CUDA vs OCL mode based on triple 2013-06-21 18:51:49 +00:00
NVPTXSubtarget.h [NVPTX] Run clang-format on all NVPTX sources. 2013-03-30 14:29:21 +00:00
NVPTXTargetMachine.cpp NVPTX: Don't even create a regalloc if we're not going to use it. 2013-05-31 19:21:58 +00:00
NVPTXTargetMachine.h [NVPTX] Run clang-format on all NVPTX sources. 2013-03-30 14:29:21 +00:00
NVPTXTargetObjectFile.h NVPTXTargetObjectFile.h: Initialize some pointers as NULL in the constructor of NVPTXTargetObjectFile. ~NVPTXTargetObjectFile() tries to delete them. 2013-06-24 13:19:41 +00:00
NVPTXUtilities.cpp [NVPTX] Run clang-format on all NVPTX sources. 2013-03-30 14:29:21 +00:00
NVPTXUtilities.h [NVPTX] Run clang-format on all NVPTX sources. 2013-03-30 14:29:21 +00:00
NVPTXVector.td
NVPTXutil.cpp [NVPTX] Run clang-format on all NVPTX sources. 2013-03-30 14:29:21 +00:00
NVPTXutil.h
NVVMReflect.cpp [NVPTX] Add programmatic interface to NVVMReflect pass 2013-05-20 16:42:16 +00:00
cl_common_defines.h [NVPTX] Run clang-format on all NVPTX sources. 2013-03-30 14:29:21 +00:00