llvm-project/llvm/lib/Target/Mips
Jack Carter 0b744b3105 This patch is a partial implementation of mips .set assembler directive. Directive is defined as follows:
.set option
The patch implements following options

    at - lets the assembler use the $at register for macros,
         but generates warnings if the source program uses $at

    noat - let source programs use $at without issuingwarnings.

    noreorder - prevents the assembler from reordering machine 
                language instructions.
    nomacro - causes the assembler to print a warning whenever 
              an assembler operation generates more than one 
              machine language instruction.
    macro - lets the assembler generate multiple machine instructions 
            from a single assembler instruction
    reorder - lets the assembler reorder machine language 
               instructions to improve performance

The above variants are parsed and their boolean values set or unset.
The code to actually use them will come later.

Following options are not implemented yet:

nomips16
nomicromips
move
nomove

Contributer: Vladimir Medic
llvm-svn: 165194
2012-10-04 02:29:46 +00:00
..
AsmParser This patch is a partial implementation of mips .set assembler directive. Directive is defined as follows: 2012-10-04 02:29:46 +00:00
Disassembler MIPS DSP: add functions which decode DSP and accumulator registers. 2012-09-27 02:01:10 +00:00
InstPrinter Add HIGHER and HIGHEST relocations to Mips backend. 2012-07-21 03:09:04 +00:00
MCTargetDesc This patch moves from using a hard coded number (4) 2012-10-03 21:58:54 +00:00
TargetInfo remove Emacs-tag form .cpp files in Mips Backend, and fix some typo. 2012-02-17 08:55:11 +00:00
CMakeLists.txt The mips 64bit instructions DSLL, DSRA, DSRL, DEXT and DINS get transformed by the assembler or through codegen direct object output to other variants based on the value of the immediate values of the operands. 2012-10-02 23:09:40 +00:00
LLVMBuild.txt Add disassembler to MIPS. 2012-04-17 18:03:21 +00:00
Makefile MIPS DSP: add code necessary for pseudo instruction lowering. 2012-09-27 01:59:07 +00:00
Mips.h Add long branch expansion pass for MIPS. 2012-06-14 01:19:35 +00:00
Mips.td Add flags and feature bits for mips dsp. 2012-09-21 23:41:49 +00:00
Mips16FrameLowering.cpp Mips16FrameLowering.cpp: Remove unused TII introduced in r164349. [-Wunused-variable] 2012-09-21 02:21:30 +00:00
Mips16FrameLowering.h Properly save and restore RA and Mips16 callee save registers S0,S1 2012-09-21 01:08:16 +00:00
Mips16InstrFormats.td Add basic ability to setup call frame, and make procedure calls. 2012-07-23 23:45:54 +00:00
Mips16InstrInfo.cpp 1. Add load/store words from the stack 2012-09-28 02:26:24 +00:00
Mips16InstrInfo.h Add definitions of two subclasses of MipsRegisterInfo, Mips16RegisterInfo and 2012-07-31 23:41:32 +00:00
Mips16InstrInfo.td 1. Add load/store words from the stack 2012-09-28 02:26:24 +00:00
Mips16RegisterInfo.cpp Delete member MipsFunctionInfo::OutArgFIRange and code that accesses it. 2012-09-26 19:18:19 +00:00
Mips16RegisterInfo.h Remove unused private field to silence build warning. 2012-08-23 04:45:31 +00:00
Mips64InstrInfo.td Remove aligned/unaligned load/store fragments defined in MipsInstrInfo.td and 2012-09-15 01:52:08 +00:00
MipsAnalyzeImmediate.cpp Fix integer undefined behavior due to signed left shift overflow in LLVM. 2012-08-24 23:29:28 +00:00
MipsAnalyzeImmediate.h Fix undefined behavior in the Mips backend. 2012-03-09 06:36:45 +00:00
MipsAsmPrinter.cpp The mips 64bit instructions DSLL, DSRA, DSRL, DEXT and DINS get transformed by the assembler or through codegen direct object output to other variants based on the value of the immediate values of the operands. 2012-10-02 23:09:40 +00:00
MipsAsmPrinter.h MIPS DSP: add code necessary for pseudo instruction lowering. 2012-09-27 01:59:07 +00:00
MipsCallingConv.td Add Android ABI to Mips backend to handle functions returning vectors of four 2012-08-16 03:48:05 +00:00
MipsCodeEmitter.cpp Remove aligned/unaligned load/store fragments defined in MipsInstrInfo.td and 2012-09-15 01:52:08 +00:00
MipsCondMov.td 1. introduce MipsPat in place of Pat in order to exclude those from 2012-06-14 21:03:23 +00:00
MipsDSPInstrFormats.td MIPS DSP: other miscellaneous instructions. 2012-09-28 20:50:31 +00:00
MipsDSPInstrInfo.td MIPS DSP: other miscellaneous instructions. 2012-09-28 20:50:31 +00:00
MipsDelaySlotFiller.cpp Disable Mips' delay slot filler when optimization level is O0. 2012-08-24 20:40:15 +00:00
MipsELFWriterInfo.cpp Fix coding style violations in 162135 and 162136. 2012-08-20 17:53:24 +00:00
MipsELFWriterInfo.h Add MipsELFWriterInfo.{h,cpp}. 2012-08-17 21:38:47 +00:00
MipsFrameLowering.cpp Move the code that creates instances of MipsInstrInfo and MipsFrameLowering out 2012-08-02 18:21:47 +00:00
MipsFrameLowering.h Move the code that creates instances of MipsInstrInfo and MipsFrameLowering out 2012-08-02 18:21:47 +00:00
MipsISelDAGToDAG.cpp Remove aligned/unaligned load/store fragments defined in MipsInstrInfo.td and 2012-09-15 01:52:08 +00:00
MipsISelLowering.cpp MIPS DSP: Branch on Greater Than or Equal To Value 32 in DSPControl Pos Field instruction. 2012-09-27 02:15:57 +00:00
MipsISelLowering.h MIPS DSP: Branch on Greater Than or Equal To Value 32 in DSPControl Pos Field instruction. 2012-09-27 02:15:57 +00:00
MipsInstrFPU.td Remove aligned/unaligned load/store fragments defined in MipsInstrInfo.td and 2012-09-15 01:52:08 +00:00
MipsInstrFormats.td Define ADJCALLSTACKDOWN/UP nodes. These nodes are emitted regardless of whether 2012-07-31 19:13:07 +00:00
MipsInstrInfo.cpp mips16: When copying operands in a conditional branch instruction, allow for 2012-09-13 17:12:37 +00:00
MipsInstrInfo.h Make function loadImmediate a member of MipsSEInstrInfo and change it to return 2012-08-23 00:21:05 +00:00
MipsInstrInfo.td MIPS DSP: add vector load/store patterns. 2012-09-27 01:50:59 +00:00
MipsJITInfo.cpp Implement MipsJITInfo::replaceMachineCodeForFunction. 2012-08-01 02:29:24 +00:00
MipsJITInfo.h Fix coding style violations. Remove white spaces and tabs. 2012-06-14 21:10:56 +00:00
MipsLongBranch.cpp Follow-up patch to r162731. 2012-08-28 18:58:57 +00:00
MipsMCInstLower.cpp There are some Mips instructions that are lowered by the 2012-09-06 02:31:34 +00:00
MipsMCInstLower.h MIPS DSP: add code necessary for pseudo instruction lowering. 2012-09-27 01:59:07 +00:00
MipsMachineFunction.cpp Add basic ability to setup call frame, and make procedure calls. 2012-07-23 23:45:54 +00:00
MipsMachineFunction.h Delete member MipsFunctionInfo::OutArgFIRange and code that accesses it. 2012-09-26 19:18:19 +00:00
MipsRegisterInfo.cpp Add MIPS accumulator and DSP control registers. 2012-09-21 23:48:37 +00:00
MipsRegisterInfo.h Add a member of type Mips16InstrInfo/MipsSEInstrInfo to class 2012-08-22 23:58:53 +00:00
MipsRegisterInfo.td 1. Add load/store words from the stack 2012-09-28 02:26:24 +00:00
MipsRelocations.h remove blanks, and some code format 2012-02-28 07:46:26 +00:00
MipsSEFrameLowering.cpp Move the code that creates instances of MipsInstrInfo and MipsFrameLowering out 2012-08-02 18:21:47 +00:00
MipsSEFrameLowering.h Add definitions of two subclasses of MipsFrameLowering, Mips16FrameLowering and 2012-07-31 22:50:19 +00:00
MipsSEInstrInfo.cpp Make function loadImmediate a member of MipsSEInstrInfo and change it to return 2012-08-23 00:21:05 +00:00
MipsSEInstrInfo.h Make function loadImmediate a member of MipsSEInstrInfo and change it to return 2012-08-23 00:21:05 +00:00
MipsSERegisterInfo.cpp Delete member MipsFunctionInfo::OutArgFIRange and code that accesses it. 2012-09-26 19:18:19 +00:00
MipsSERegisterInfo.h Add a member of type Mips16InstrInfo/MipsSEInstrInfo to class 2012-08-22 23:58:53 +00:00
MipsSchedule.td remove blanks, and some code format 2012-02-28 07:46:26 +00:00
MipsSelectionDAGInfo.cpp remove Emacs-tag form .cpp files in Mips Backend, and fix some typo. 2012-02-17 08:55:11 +00:00
MipsSelectionDAGInfo.h Reverse unnecessary changes made in r129606 and r129608. There is no change in functionality. 2011-04-15 21:51:11 +00:00
MipsSubtarget.cpp Initialize boolean variables in MipsSubtarget's constructor. 2012-09-25 23:07:11 +00:00
MipsSubtarget.h Add flags and feature bits for mips dsp. 2012-09-21 23:41:49 +00:00
MipsTargetMachine.cpp Add register Mips::GP to the list of reserved registers if target is bare-metal 2012-08-22 03:18:13 +00:00
MipsTargetMachine.h Fix coding style violations in 162135 and 162136. 2012-08-20 17:53:24 +00:00
MipsTargetObjectFile.cpp Fix UseInitArray option for MIPS target. 2012-09-05 06:17:17 +00:00
MipsTargetObjectFile.h Reverse unnecessary changes made in r129606 and r129608. There is no change in functionality. 2011-04-15 21:51:11 +00:00