llvm-6502/lib/Target/AArch64
Rafael Espindola 7d7d99622f Replace PROLOG_LABEL with a new CFI_INSTRUCTION.
The old system was fairly convoluted:
* A temporary label was created.
* A single PROLOG_LABEL was created with it.
* A few MCCFIInstructions were created with the same label.

The semantics were that the cfi instructions were mapped to the PROLOG_LABEL
via the temporary label. The output position was that of the PROLOG_LABEL.
The temporary label itself was used only for doing the mapping.

The new CFI_INSTRUCTION has a 1:1 mapping to MCCFIInstructions and points to
one by holding an index into the CFI instructions of this function.

I did consider removing MMI.getFrameInstructions completelly and having
CFI_INSTRUCTION own a MCCFIInstruction, but MCCFIInstructions have non
trivial constructors and destructors and are somewhat big, so the this setup
is probably better.

The net result is that we don't create temporary labels that are never used.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203204 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-07 06:08:31 +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 Re-sort all of the includes with ./utils/sort_includes.py so that 2014-01-07 11:48:04 +00:00
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 Re-sort all of the includes with ./utils/sort_includes.py so that 2014-01-07 11:48:04 +00:00
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 DebugInfo: remove target-specific Frame Index handling for DBG_VALUE MachineInstrs 2013-06-16 20:34:27 +00:00
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 [AArch64] Removed unnecessary copy patterns with v1fx types. 2013-12-12 15:46:29 +00:00
AArch64FrameLowering.cpp Replace PROLOG_LABEL with a new CFI_INSTRUCTION. 2014-03-07 06:08:31 +00:00
AArch64FrameLowering.h Add const qualifier to some static arrays. 2013-07-15 07:02:45 +00:00
AArch64InstrFormats.td Implement AArch64 neon instructions class SIMD lsone and SIMD lone-post. 2013-11-19 02:17:05 +00:00
AArch64InstrInfo.cpp Replace PROLOG_LABEL with a new CFI_INSTRUCTION. 2014-03-07 06:08:31 +00:00
AArch64InstrInfo.h Re-sort all of the includes with ./utils/sort_includes.py so that 2014-01-07 11:48:04 +00:00
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 [AArch64 NEON]Implment loading vector constant form constant pool. 2013-12-18 06:26:04 +00:00
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 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 Move the llvm mangler to lib/IR. 2014-01-07 21:19:40 +00:00
AArch64RegisterInfo.cpp Re-sort all of the includes with ./utils/sort_includes.py so that 2014-01-07 11:48:04 +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] 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 Fix formatting in AArch64 backend. 2013-02-05 13:24:56 +00:00
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 Make sure -use-init-array has intended effect on all AArch64 ELF targets, not just linux. 2014-01-10 13:41:49 +00:00
AArch64TargetObjectFile.h Make sure -use-init-array has intended effect on all AArch64 ELF targets, not just linux. 2014-01-10 13:41:49 +00:00
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 Add proper dependencies to LLVMBuild.txt in llvm/lib. 2013-12-10 05:39:34 +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.