llvm-6502/lib/Target/AArch64
Chad Rosier 514d703ff6 [AArch64] This is a work in progress to provide a machine description
for the Cortex-A53 subtarget in the AArch64 backend.

This patch lays the ground work to annotate each AArch64 instruction
(no NEON yet) with a list of SchedReadWrite types. The patch also
provides the Cortex-A53 processor resources, maps those the the default
SchedReadWrites, and provides basic latency. NEON support will be added
in a subsequent patch with proper forwarding logic.

Verification was done by setting the pre-RA scheduler to linearize to
better gauge the effect of the MIScheduler. Even without modeling the
forward logic, the results show a modest improvement for Cortex-A53.

Reviewers: apazos, mcrosier, atrick
Patch by Dave Estes <cestes@codeaurora.org>!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203125 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-06 16:04:00 +00:00
..
AsmParser [AArch64]Fix improper diagnostics about offset range of load/store instructions. 2014-03-04 02:05:13 +00:00
Disassembler Add AArch64 big endian Target (aarch64_be) 2014-02-24 11:34:50 +00:00
InstPrinter
MCTargetDesc Add AArch64 big endian Target (aarch64_be) 2014-02-24 11:34:50 +00:00
TargetInfo Add AArch64 big endian Target (aarch64_be) 2014-02-24 11:34:50 +00:00
Utils
AArch64.h [AArch64] Add support for TargetTransformInfo Analysis. 2014-02-20 16:00:08 +00:00
AArch64.td [AArch64] This is a work in progress to provide a machine description 2014-03-06 16:04:00 +00:00
AArch64AsmPrinter.cpp [Layering] Move DebugInfo.h into the IR library where its implementation 2014-03-06 00:46:21 +00:00
AArch64AsmPrinter.h
AArch64BranchFixupPass.cpp [C++11] Replace llvm::next and llvm::prior with std::next and std::prev. 2014-03-02 12:27:27 +00:00
AArch64CallingConv.td
AArch64FrameLowering.cpp [C++11] Replace llvm::next and llvm::prior with std::next and std::prev. 2014-03-02 12:27:27 +00:00
AArch64FrameLowering.h
AArch64InstrFormats.td
AArch64InstrInfo.cpp [AArch64]Add support for spilling FPR8/FPR16. 2014-02-13 02:36:58 +00:00
AArch64InstrInfo.h
AArch64InstrInfo.td [AArch64] This is a work in progress to provide a machine description 2014-03-06 16:04:00 +00:00
AArch64InstrNEON.td [AArch64]Fix the problems that can't select mul/add/sub of v1i8/v1i16/v1i32 types. 2014-02-13 05:42:33 +00:00
AArch64ISelDAGToDAG.cpp
AArch64ISelLowering.cpp [C++11] Replace llvm::next and llvm::prior with std::next and std::prev. 2014-03-02 12:27:27 +00:00
AArch64ISelLowering.h Switch all uses of LLVM_OVERRIDE to just use 'override' directly. 2014-03-02 09:09:27 +00:00
AArch64MachineFunctionInfo.cpp
AArch64MachineFunctionInfo.h
AArch64MCInstLower.cpp
AArch64RegisterInfo.cpp
AArch64RegisterInfo.h
AArch64RegisterInfo.td [AArch64] Removed unused i8 type from FPR8 register class. 2014-01-24 22:36:53 +00:00
AArch64Schedule.td [AArch64] This is a work in progress to provide a machine description 2014-03-06 16:04:00 +00:00
AArch64ScheduleA53.td [AArch64] This is a work in progress to provide a machine description 2014-03-06 16:04:00 +00:00
AArch64SelectionDAGInfo.cpp
AArch64SelectionDAGInfo.h
AArch64Subtarget.cpp Add AArch64 big endian Target (aarch64_be) 2014-02-24 11:34:50 +00:00
AArch64Subtarget.h [AArch64] This is a work in progress to provide a machine description 2014-03-06 16:04:00 +00:00
AArch64TargetMachine.cpp Add AArch64 big endian Target (aarch64_be) 2014-02-24 11:34:50 +00:00
AArch64TargetMachine.h Add AArch64 big endian Target (aarch64_be) 2014-02-24 11:34:50 +00:00
AArch64TargetObjectFile.cpp
AArch64TargetObjectFile.h
AArch64TargetTransformInfo.cpp Switch all uses of LLVM_OVERRIDE to just use 'override' directly. 2014-03-02 09:09:27 +00:00
CMakeLists.txt [AArch64] Add support for TargetTransformInfo Analysis. 2014-02-20 16:00:08 +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.