llvm-6502/lib/Target/Mips
Jack Carter 8e48edcf3d [MC][AsmParser] Hook for post assembly file processing
This patch handles LLVM standalone assembler (llvm-mc) ELF flag setting based on input file
directive processing.

Mips assembly requires processing inline directives that directly and
indirectly affect the output ELF header flags. This patch handles one
".abicalls".

To process these directives we are following the model the code generator
uses by storing state in a container as we go through processing and when
we detect the end of input file processing, AsmParser is notified and we
update the ELF header flags through a MipsELFStreamer method with a call from
MCTargetAsmParser::emitEndOfAsmFile(MCStreamer &OutStreamer).

This patch will allow other targets the same functionality.

Jack


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191982 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-04 21:26:15 +00:00
..
AsmParser [MC][AsmParser] Hook for post assembly file processing 2013-10-04 21:26:15 +00:00
Disassembler [mips][msa] Direct Object Emission for 3R instructions. 2013-09-26 00:09:46 +00:00
InstPrinter [mips][msa] Added support for matching splati from normal IR (i.e. not intrinsics) 2013-09-27 11:48:57 +00:00
MCTargetDesc [MC][AsmParser] Hook for post assembly file processing 2013-10-04 21:26:15 +00:00
TargetInfo
CMakeLists.txt Turn MipsOptimizeMathLibCalls into a target-independent scalar transform 2013-08-23 10:27:02 +00:00
LLVMBuild.txt
Makefile
MicroMipsInstrFormats.td Support for misc microMIPS instructions. 2013-09-14 06:49:25 +00:00
MicroMipsInstrInfo.td Support for microMIPS DIV instructions. 2013-09-14 07:15:21 +00:00
Mips16FrameLowering.cpp Add the saving of S2. This is needed for some of the floating point 2013-08-04 23:56:53 +00:00
Mips16FrameLowering.h
Mips16HardFloat.cpp Fix a bad typo in the inline assembly code for mips16 pic fp stubs 2013-09-25 20:58:50 +00:00
Mips16HardFloat.h
Mips16InstrFormats.td Create a pattern for the "trap" instruction. 2013-08-07 04:00:26 +00:00
Mips16InstrInfo.cpp Remove unused stdio.h includes 2013-08-18 08:29:51 +00:00
Mips16InstrInfo.h Clean up code for Mips16 large frame handling. 2013-08-04 01:13:25 +00:00
Mips16InstrInfo.td Fix two issues regarding Got pointer (GP) setup. 2013-09-18 22:46:09 +00:00
Mips16ISelDAGToDAG.cpp Fix two issues regarding Got pointer (GP) setup. 2013-09-18 22:46:09 +00:00
Mips16ISelDAGToDAG.h
Mips16ISelLowering.cpp [mips] Make sure loads from lazy-binding entries do not get CSE'd or hoisted out 2013-09-28 00:12:32 +00:00
Mips16ISelLowering.h
Mips16RegisterInfo.cpp Clean up code for Mips16 large frame handling. 2013-08-04 01:13:25 +00:00
Mips16RegisterInfo.h
Mips64InstrInfo.td [mips] Add definition of instruction "drotr32" (double rotate right plus 32). 2013-09-07 00:18:01 +00:00
Mips.h Turn MipsOptimizeMathLibCalls into a target-independent scalar transform 2013-08-23 10:27:02 +00:00
Mips.td [Mips][msa] Added initial MSA support. 2013-08-13 20:54:07 +00:00
MipsAnalyzeImmediate.cpp
MipsAnalyzeImmediate.h Even more spelling fixes for "instruction". 2013-09-28 13:42:22 +00:00
MipsAsmPrinter.cpp [MC][AsmParser] Hook for post assembly file processing 2013-10-04 21:26:15 +00:00
MipsAsmPrinter.h
MipsCallingConv.td [mips] Add support for calling convention CC_MipsO32_FP64, which is used when the 2013-08-20 23:38:40 +00:00
MipsCodeEmitter.cpp [mips] Define "trap" as a pseudo instruction that turns into "break 0, 0". 2013-09-06 23:52:46 +00:00
MipsCondMov.td [mips] Set instruction itineraries of loads, stores and conditional moves. 2013-09-06 23:28:24 +00:00
MipsConstantIslandPass.cpp
MipsDelaySlotFiller.cpp [mips] Make sure loads from lazy-binding entries do not get CSE'd or hoisted out 2013-09-28 00:12:32 +00:00
MipsDSPInstrFormats.td
MipsDSPInstrInfo.td [mips] Use uimm5 and uimm6 instead of shamt and imm, if the immediate has to fit 2013-09-07 00:02:02 +00:00
MipsFrameLowering.cpp
MipsFrameLowering.h
MipsInstrFormats.td Fixed bug when generating Load Upper Immediate microMIPS instruction. 2013-09-14 07:35:41 +00:00
MipsInstrFPU.td This patch implements Mips load/store instructions from/to coprocessor 2. Test cases are added. 2013-09-16 10:29:42 +00:00
MipsInstrInfo.cpp Test commit. Updated comment. 2013-10-01 12:53:00 +00:00
MipsInstrInfo.h
MipsInstrInfo.td This patch adds aliases for Mips sub instruction with immediate operands. Corresponding test cases are added. 2013-10-01 09:48:56 +00:00
MipsISelDAGToDAG.cpp [mips][msa] Added support for matching splati from normal IR (i.e. not intrinsics) 2013-09-27 11:48:57 +00:00
MipsISelDAGToDAG.h [mips][msa] Added support for matching splati from normal IR (i.e. not intrinsics) 2013-09-27 11:48:57 +00:00
MipsISelLowering.cpp [mips] Make sure loads from lazy-binding entries do not get CSE'd or hoisted out 2013-09-28 00:12:32 +00:00
MipsISelLowering.h [mips] Make sure loads from lazy-binding entries do not get CSE'd or hoisted out 2013-09-28 00:12:32 +00:00
MipsJITInfo.cpp
MipsJITInfo.h
MipsLongBranch.cpp [mips] Fix a bug in MipsLongBranch::replaceBranch, which was erasing 2013-10-04 20:51:40 +00:00
MipsMachineFunction.cpp MipsMachineFunction.cpp: Add missing #include <raw_ostream.h> 2013-09-28 01:35:07 +00:00
MipsMachineFunction.h [mips] Define a derived class of PseudoSourceValue that represents a GOT entry 2013-09-27 22:30:36 +00:00
MipsMCInstLower.cpp
MipsMCInstLower.h
MipsModuleISelDAGToDAG.cpp
MipsModuleISelDAGToDAG.h
MipsMSAInstrFormats.td [mips][msa] Direct Object Emission for I8 instructions. 2013-09-30 18:05:18 +00:00
MipsMSAInstrInfo.td [mips][msa] Added support for matching mod_[us] from normal IR (i.e. not intrinsics) 2013-10-01 10:22:35 +00:00
MipsOs16.cpp Make nomips16 mask not repeat if it ends with a '.'. 2013-09-23 22:36:11 +00:00
MipsOs16.h
MipsRegisterInfo.cpp [mips][msa] Added cfcmsa, and ctcmsa 2013-08-28 10:26:24 +00:00
MipsRegisterInfo.h [mips] Resolve register classes dynamically using ptr_rc to reduce the number of 2013-08-20 21:08:22 +00:00
MipsRegisterInfo.td [mips][msa] Direct Object Emission support for the MSA instruction set. 2013-09-25 23:50:44 +00:00
MipsRelocations.h
MipsSchedule.td
MipsSEFrameLowering.cpp [mips] Define register class FGRH32 for the high half of the 64-bit floating 2013-08-20 22:58:56 +00:00
MipsSEFrameLowering.h
MipsSEInstrInfo.cpp [mips][msa] Added support for MSA registers to copyPhysReg 2013-09-27 12:03:51 +00:00
MipsSEInstrInfo.h [mips] Enhance command line option "-mno-ldc1-sdc1" to expand base+index double 2013-09-07 00:52:30 +00:00
MipsSEISelDAGToDAG.cpp [mips][msa] Added support for matching splati from normal IR (i.e. not intrinsics) 2013-09-27 11:48:57 +00:00
MipsSEISelDAGToDAG.h [mips][msa] Added support for matching splati from normal IR (i.e. not intrinsics) 2013-09-27 11:48:57 +00:00
MipsSEISelLowering.cpp [mips][msa] Added support for matching mod_[us] from normal IR (i.e. not intrinsics) 2013-10-01 10:22:35 +00:00
MipsSEISelLowering.h [mips][msa] Implemented insert_vector_elt for v4f32 and v2f64. 2013-09-27 12:31:32 +00:00
MipsSelectionDAGInfo.cpp
MipsSelectionDAGInfo.h
MipsSERegisterInfo.cpp [mips] Rename register classes CPURegs and CPU64Regs. 2013-08-06 23:08:38 +00:00
MipsSERegisterInfo.h
MipsSubtarget.cpp [mips][msa] MSA requires FR=1 mode (64-bit FPU register file). Report fatal error when using it in FR=0 mode. 2013-09-27 10:08:31 +00:00
MipsSubtarget.h Fix a problem with dual mips16/mips32 mode. When the underlying processor 2013-08-30 19:40:56 +00:00
MipsTargetMachine.cpp Turn MipsOptimizeMathLibCalls into a target-independent scalar transform 2013-08-23 10:27:02 +00:00
MipsTargetMachine.h
MipsTargetObjectFile.cpp
MipsTargetObjectFile.h
MSA.txt [mips][msa] Implemented copy_[us].d intrinsic. 2013-09-27 13:04:21 +00:00