llvm-6502/lib/Target/NVPTX
Tim Northover 3e84ad28d4 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191165 91177308-0d34-0410-b5e6-96231b3b80d8
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
cl_common_defines.h
CMakeLists.txt [NVPTX] Start conversion to MC infrastructure 2013-08-06 14:13:27 +00:00
LLVMBuild.txt
Makefile
ManagedStringPool.h
NVPTX.h
NVPTX.td [NVPTX] Start conversion to MC infrastructure 2013-08-06 14:13:27 +00:00
NVPTXAllocaHoisting.cpp
NVPTXAllocaHoisting.h
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
NVPTXGenericToNVVM.cpp
NVPTXInstrFormats.td
NVPTXInstrInfo.cpp Remove unused stdio.h includes 2013-08-18 08:29:51 +00:00
NVPTXInstrInfo.h
NVPTXInstrInfo.td [NVPTX] Add missing patterns for i1 [s,u]int_to_fp 2013-08-06 14:13:34 +00:00
NVPTXIntrinsics.td
NVPTXISelDAGToDAG.cpp ISelDAG: spot chain cycles involving MachineNodes 2013-09-22 08:21:56 +00:00
NVPTXISelDAGToDAG.h
NVPTXISelLowering.cpp [NVPTX] Start conversion to MC infrastructure 2013-08-06 14:13:27 +00:00
NVPTXISelLowering.h
NVPTXLowerAggrCopies.cpp
NVPTXLowerAggrCopies.h
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
NVPTXRegisterInfo.cpp
NVPTXRegisterInfo.h
NVPTXRegisterInfo.td
NVPTXSection.h
NVPTXSplitBBatBar.cpp
NVPTXSplitBBatBar.h
NVPTXSubtarget.cpp
NVPTXSubtarget.h
NVPTXTargetMachine.cpp
NVPTXTargetMachine.h
NVPTXTargetObjectFile.h
NVPTXutil.cpp
NVPTXutil.h
NVPTXUtilities.cpp
NVPTXUtilities.h
NVPTXVector.td
NVVMReflect.cpp