llvm-6502/lib/Target/AArch64
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
..
AsmParser AArch64: use RegisterOperand for NEON registers. 2013-09-13 07:26:52 +00:00
Disassembler AArch64: use RegisterOperand for NEON registers. 2013-09-13 07:26:52 +00:00
InstPrinter Implement 3 AArch64 neon instructions : umov smov ins. 2013-09-17 02:21:02 +00:00
MCTargetDesc Added support for generate DWARF .debug_aranges sections automatically. 2013-09-19 23:21:01 +00:00
TargetInfo AArch64: clarify -help message 2013-05-28 21:09:39 +00:00
Utils AArch64: add initial NEON support 2013-08-01 09:20:35 +00:00
AArch64.h AArch64: add branch fixup pass. 2013-02-15 14:32:20 +00:00
AArch64.td AArch64: add block comments where missing 2013-02-14 16:17:01 +00:00
AArch64AsmPrinter.cpp AArch64: use RegisterOperand for NEON registers. 2013-09-13 07:26:52 +00:00
AArch64AsmPrinter.h DebugInfo: remove target-specific Frame Index handling for DBG_VALUE MachineInstrs 2013-06-16 20:34:27 +00:00
AArch64BranchFixupPass.cpp Replace Count{Leading,Trailing}Zeros_{32,64} with count{Leading,Trailing}Zeros. 2013-05-24 22:23:49 +00:00
AArch64CallingConv.td AArch64: add initial NEON support 2013-08-01 09:20:35 +00:00
AArch64FrameLowering.cpp Add const qualifier to some static arrays. 2013-07-15 07:02:45 +00:00
AArch64FrameLowering.h Add const qualifier to some static arrays. 2013-07-15 07:02:45 +00:00
AArch64InstrFormats.td Implement 3 AArch64 neon instructions : umov smov ins. 2013-09-17 02:21:02 +00:00
AArch64InstrInfo.cpp Implement 3 AArch64 neon instructions : umov smov ins. 2013-09-17 02:21:02 +00:00
AArch64InstrInfo.h DebugInfo: remove target-specific Frame Index handling for DBG_VALUE MachineInstrs 2013-06-16 20:34:27 +00:00
AArch64InstrInfo.td AArch64: use RegisterOperand for NEON registers. 2013-09-13 07:26:52 +00:00
AArch64InstrNEON.td Implement 3 AArch64 neon instructions : umov smov ins. 2013-09-17 02:21:02 +00:00
AArch64ISelDAGToDAG.cpp ISelDAG: spot chain cycles involving MachineNodes 2013-09-22 08:21:56 +00:00
AArch64ISelLowering.cpp AArch64: use RegisterOperand for NEON registers. 2013-09-13 07:26:52 +00:00
AArch64ISelLowering.h Inplement aarch64 neon instructions in AdvSIMD(shift). About 24 shift instructions: 2013-09-04 09:28:24 +00:00
AArch64MachineFunctionInfo.cpp AArch64: add block comments where missing 2013-02-14 16:17:01 +00:00
AArch64MachineFunctionInfo.h AArch64: remove ConstantIsland pass & put literals in separate section. 2013-02-15 09:33:43 +00:00
AArch64MCInstLower.cpp AArch64: add initial NEON support 2013-08-01 09:20:35 +00:00
AArch64RegisterInfo.cpp Don't cache the instruction info and register info objects. 2013-06-07 05:00:11 +00:00
AArch64RegisterInfo.h Don't cache the instruction info and register info objects. 2013-06-07 05:00:11 +00:00
AArch64RegisterInfo.td AArch64: use RegisterOperand for NEON registers. 2013-09-13 07:26:52 +00:00
AArch64Schedule.td
AArch64SelectionDAGInfo.cpp
AArch64SelectionDAGInfo.h Fix formatting in AArch64 backend. 2013-02-05 13:24:56 +00:00
AArch64Subtarget.cpp AArch64: add initial NEON support 2013-08-01 09:20:35 +00:00
AArch64Subtarget.h Clean up some usage of Triple. The base class has methods for determining if the target is iOS and Linux. 2013-08-29 20:23:14 +00:00
AArch64TargetMachine.cpp Remove the MachineMove class. 2013-05-13 01:16:13 +00:00
AArch64TargetMachine.h
AArch64TargetObjectFile.cpp AArch64: add block comments where missing 2013-02-14 16:17:01 +00:00
AArch64TargetObjectFile.h AArch64: add block comments where missing 2013-02-14 16:17:01 +00:00
CMakeLists.txt Target/*/CMakeLists.txt: Add the dependency to CommonTableGen explicitly for each corresponding CodeGen. 2013-08-06 06:38:37 +00:00
LLVMBuild.txt Build system changes to enable MCJIT on AArch64 2013-05-04 20:13:52 +00:00
Makefile Remove cyclic dependency in AArch64 libraries 2013-02-05 13:24:47 +00:00
README.txt

This file will contain changes that need to be made before AArch64 can become an
officially supported target. Currently a placeholder.