llvm-6502/lib/CodeGen/SelectionDAG
Oliver Stannard d811b4bacb [LLVM - ARM/AArch64] Add ACLE special register intrinsics
This patch implements LLVM support for the ACLE special register intrinsics in
section 10.1, __arm_{w,r}sr{,p,64}.

This patch is intended to lower the read/write_register instrinsics, used to
implement the special register intrinsics in the clang patch for special
register intrinsics (see http://reviews.llvm.org/D9697), to ARM specific
instructions MRC,MCR,MSR etc. to allow reading an writing of coprocessor
registers in AArch32 and AArch64. This is done by inspecting the register
string passed to the intrinsic and then lowering to the appropriate
instruction.

Patch by Luke Cheeseman.

Differential Revision: http://reviews.llvm.org/D9699



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237579 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-18 16:23:33 +00:00
..
CMakeLists.txt
DAGCombiner.cpp [DAGCombine] Be more pedantic about use iteration in CombineToPreIndexedLoadStore 2015-05-18 15:46:02 +00:00
FastISel.cpp [Fast-ISel] Don't mark the first use of a remat constant as killed. 2015-05-09 00:51:03 +00:00
FunctionLoweringInfo.cpp [WinEH] Push unique_ptr through the Action interface. 2015-05-16 15:40:03 +00:00
InstrEmitter.cpp IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
InstrEmitter.h
LegalizeDAG.cpp Add SDNodes for umin, umax, smin and smax. 2015-05-15 09:03:15 +00:00
LegalizeFloatTypes.cpp Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
LegalizeIntegerTypes.cpp Add SDNodes for umin, umax, smin and smax. 2015-05-15 09:03:15 +00:00
LegalizeTypes.cpp Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
LegalizeTypes.h Masked gather and scatter intrinsics - enabled codegen for KNL. 2015-05-03 07:12:25 +00:00
LegalizeTypesGeneric.cpp Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
LegalizeVectorOps.cpp Add SDNodes for umin, umax, smin and smax. 2015-05-15 09:03:15 +00:00
LegalizeVectorTypes.cpp Add SDNodes for umin, umax, smin and smax. 2015-05-15 09:03:15 +00:00
LLVMBuild.txt
Makefile
ResourcePriorityQueue.cpp unique_ptrify ResourcePriorityQueue::ResourceModel 2015-03-03 20:49:08 +00:00
ScheduleDAGFast.cpp
ScheduleDAGRRList.cpp Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
ScheduleDAGSDNodes.cpp
ScheduleDAGSDNodes.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
ScheduleDAGVLIW.cpp Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
SDNodeDbgValue.h
SelectionDAG.cpp Revert r237046. See the testcase on the thread where r237046 was committed. 2015-05-13 23:41:47 +00:00
SelectionDAGBuilder.cpp [LLVM - ARM/AArch64] Add ACLE special register intrinsics 2015-05-18 16:23:33 +00:00
SelectionDAGBuilder.h [SelectionDAG] Delete SelectionDAGBuilder::removeValue. NFC. 2015-05-06 18:02:10 +00:00
SelectionDAGDumper.cpp Add SDNodes for umin, umax, smin and smax. 2015-05-15 09:03:15 +00:00
SelectionDAGISel.cpp [Fast-ISel] Clear kill flags on registers replaced by updateValueMap. 2015-05-08 20:46:54 +00:00
SelectionDAGPrinter.cpp
StatepointLowering.cpp [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
StatepointLowering.h Run StatepointLowering.{cpp,h} through clang-format. 2015-04-29 21:52:45 +00:00
TargetLowering.cpp Revert r237046. See the testcase on the thread where r237046 was committed. 2015-05-13 23:41:47 +00:00
TargetSelectionDAGInfo.cpp