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
Utils AArch64: add initial NEON support 2013-08-01 09:20:35 +00:00
AArch64.h
AArch64.td
AArch64AsmPrinter.cpp AArch64: use RegisterOperand for NEON registers. 2013-09-13 07:26:52 +00:00
AArch64AsmPrinter.h
AArch64BranchFixupPass.cpp
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
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
AArch64MachineFunctionInfo.h
AArch64MCInstLower.cpp AArch64: add initial NEON support 2013-08-01 09:20:35 +00:00
AArch64RegisterInfo.cpp
AArch64RegisterInfo.h
AArch64RegisterInfo.td AArch64: use RegisterOperand for NEON registers. 2013-09-13 07:26:52 +00:00
AArch64Schedule.td
AArch64SelectionDAGInfo.cpp
AArch64SelectionDAGInfo.h
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
AArch64TargetMachine.h
AArch64TargetObjectFile.cpp
AArch64TargetObjectFile.h
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
Makefile
README.txt

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