llvm-project/llvm/lib/Target/Mips
Daniel Sanders e160f83f71 [mips] Enable IAS by default for 32-bit MIPS targets (O32).
Summary:
The MIPS IAS can now pass 'ninja check-all', recurse, build a bootable linux
kernel, and pass a variety of LNT testing.

Unfortunately we can't enable it by default for 64-bit targets yet since the N32
ABI is still very buggy and this also means we can't enable it for N64 either
because we can't distinguish between N32 and N64 in the relevant code.

Reviewers: vkalintiris

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D18759
Differential Revision: http://reviews.llvm.org/D18761

llvm-svn: 269560
2016-05-14 12:43:08 +00:00
..
AsmParser [mips][ias] Fix O32 .cprestore directive when inside .set noat region and offset is in range. 2016-05-12 14:01:50 +00:00
Disassembler [mips][microMIPS] Implement APPEND, BPOSGE32C, MODSUB, MULSA.W.PH and MULSAQ_S.W.PH instructions 2016-05-13 11:32:53 +00:00
InstPrinter [mips] Fix unused variable warning for release builds introduced by r268379. 2016-05-03 14:00:37 +00:00
MCTargetDesc [mips] Enable IAS by default for 32-bit MIPS targets (O32). 2016-05-14 12:43:08 +00:00
TargetInfo Remove autoconf support 2016-01-26 21:29:08 +00:00
CMakeLists.txt [mips] MIPS32R6 compact branch support 2016-03-14 16:24:05 +00:00
LLVMBuild.txt
MSA.txt Revert: r249536 - Testing commit access with a trival whitespace change. 2015-10-07 10:57:06 +00:00
MicroMips32r6InstrFormats.td Revert "[mips][microMIPS] Implement CFC*, CTC* and LDC* instructions" 2016-05-12 12:46:06 +00:00
MicroMips32r6InstrInfo.td Revert "[mips][microMIPS] Implement CFC*, CTC* and LDC* instructions" 2016-05-12 12:46:06 +00:00
MicroMips64r6InstrFormats.td [mips][micromips] Implement DSBH, DSHD, DSLL, DSLL32, DSLLV, DSRA, DSRA32 and DSRAV instructions 2016-05-11 11:17:04 +00:00
MicroMips64r6InstrInfo.td [mips][micromips] Implement DSBH, DSHD, DSLL, DSLL32, DSLLV, DSRA, DSRA32 and DSRAV instructions 2016-05-11 11:17:04 +00:00
MicroMipsDSPInstrFormats.td [mips][microMIPS] Implement APPEND, BPOSGE32C, MODSUB, MULSA.W.PH and MULSAQ_S.W.PH instructions 2016-05-13 11:32:53 +00:00
MicroMipsDSPInstrInfo.td [mips][microMIPS] Implement APPEND, BPOSGE32C, MODSUB, MULSA.W.PH and MULSAQ_S.W.PH instructions 2016-05-13 11:32:53 +00:00
MicroMipsInstrFPU.td Revert "[mips][microMIPS] Implement CFC*, CTC* and LDC* instructions" 2016-05-12 12:46:06 +00:00
MicroMipsInstrFormats.td [mips][microMIPS] Revert commit r267137 2016-04-25 15:40:08 +00:00
MicroMipsInstrInfo.td Revert "[mips][microMIPS] Implement CFC*, CTC* and LDC* instructions" 2016-05-12 12:46:06 +00:00
Mips.h [Mips] Fix -Wunused-private-field warning after r263444. 2016-03-14 18:10:20 +00:00
Mips.td [TableGen] Remove MnemonicContainsDot from AsmParser. It isn't used. NFC 2015-12-29 07:03:30 +00:00
Mips16FrameLowering.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
Mips16FrameLowering.h PrologEpilogInserter: Rewrite API to determine callee save regsiters. 2015-07-14 17:17:13 +00:00
Mips16HardFloat.cpp [mips] Use range-based for loops. NFC. 2016-03-14 15:05:30 +00:00
Mips16HardFloatInfo.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Mips16HardFloatInfo.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Mips16ISelDAGToDAG.cpp SDAG: Implement Select instead of SelectImpl in MipsDAGToDAGISel 2016-05-13 23:55:59 +00:00
Mips16ISelDAGToDAG.h SDAG: Implement Select instead of SelectImpl in MipsDAGToDAGISel 2016-05-13 23:55:59 +00:00
Mips16ISelLowering.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
Mips16ISelLowering.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Mips16InstrFormats.td
Mips16InstrInfo.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
Mips16InstrInfo.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Mips16InstrInfo.td [mips] Trivial corrections to range checked immediates. 2016-04-11 15:20:40 +00:00
Mips16RegisterInfo.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
Mips16RegisterInfo.h
Mips32r6InstrFormats.td
Mips32r6InstrInfo.td Revert "[mips][microMIPS] Implement CFC*, CTC* and LDC* instructions" 2016-05-12 12:46:06 +00:00
Mips64InstrInfo.td [mips][micromips] Implement DSBH, DSHD, DSLL, DSLL32, DSLLV, DSRA, DSRA32 and DSRAV instructions 2016-05-11 11:17:04 +00:00
Mips64r6InstrInfo.td [mips][microMIPS] Add CodeGen support for MUL* and DMUL* instructions 2016-05-06 08:24:14 +00:00
MipsAnalyzeImmediate.cpp
MipsAnalyzeImmediate.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsAsmPrinter.cpp [mips] Fix inconsistent .cprestore behaviour between direct object emission and assembling. 2016-05-06 14:37:24 +00:00
MipsAsmPrinter.h [mips] Range check uimm20 and fixed a bug this revealed. 2016-02-29 16:06:38 +00:00
MipsCCState.cpp [mips] Fix an issue with long double when function roundl is defined 2016-03-14 12:50:23 +00:00
MipsCCState.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsCallingConv.td [mips] Interrupt attribute support for mips32r2+. 2015-10-26 12:38:43 +00:00
MipsCondMov.td Revert "[mips] Promote the result of SETCC nodes to GPR width." 2016-03-01 20:25:43 +00:00
MipsConstantIslandPass.cpp [mips][mips16] Use isUnconditionalBranch() in AnalyzeBranch() and constant island pass. 2016-05-06 13:23:51 +00:00
MipsDSPInstrFormats.td [mips][microMIPS] Implement APPEND, BPOSGE32C, MODSUB, MULSA.W.PH and MULSAQ_S.W.PH instructions 2016-05-13 11:32:53 +00:00
MipsDSPInstrInfo.td [mips][microMIPS] Implement APPEND, BPOSGE32C, MODSUB, MULSA.W.PH and MULSAQ_S.W.PH instructions 2016-05-13 11:32:53 +00:00
MipsDelaySlotFiller.cpp [mips] MIPSR6 Compact jump support 2016-04-05 12:50:29 +00:00
MipsEVAInstrFormats.td [mips] Added support for various EVA ASE instructions. 2015-09-15 10:02:16 +00:00
MipsEVAInstrInfo.td [mips] Range check simm9 and fix a bug this revealed. 2016-03-31 13:15:23 +00:00
MipsFastISel.cpp [mips][fastisel] Conditional moves do not have implicit operands. 2016-05-06 12:57:26 +00:00
MipsFrameLowering.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
MipsFrameLowering.h Change eliminateCallFramePseudoInstr() to return an iterator 2016-03-31 18:33:38 +00:00
MipsHazardSchedule.cpp [PATCH] [mips] Fix forbidden slot hazard handling 2016-04-29 16:04:18 +00:00
MipsISelDAGToDAG.cpp SDAG: Implement Select instead of SelectImpl in MipsDAGToDAGISel 2016-05-13 23:55:59 +00:00
MipsISelDAGToDAG.h SDAG: Implement Select instead of SelectImpl in MipsDAGToDAGISel 2016-05-13 23:55:59 +00:00
MipsISelLowering.cpp [mips] Use MipsMCExpr instead of MCSymbolRefExpr for all relocations. 2016-05-03 13:35:44 +00:00
MipsISelLowering.h [PR27599] [SystemZ] [SelectionDAG] Fix extension of atomic cmpxchg result. 2016-05-10 16:49:04 +00:00
MipsInstrFPU.td Revert "[mips][microMIPS] Implement CFC*, CTC* and LDC* instructions" 2016-05-12 12:46:06 +00:00
MipsInstrFormats.td [mips] MIPS32R6 compact branch support 2016-03-14 16:24:05 +00:00
MipsInstrInfo.cpp [mips][mips16] Use isUnconditionalBranch() in AnalyzeBranch() and constant island pass. 2016-05-06 13:23:51 +00:00
MipsInstrInfo.h [mips] MIPS32R6 compact branch support 2016-03-14 16:24:05 +00:00
MipsInstrInfo.td [mips][microMIPS] Implement APPEND, BPOSGE32C, MODSUB, MULSA.W.PH and MULSAQ_S.W.PH instructions 2016-05-13 11:32:53 +00:00
MipsLongBranch.cpp [mips] More range-based for loops. NFC. 2016-04-15 20:43:17 +00:00
MipsMCInstLower.cpp [mips] Use MipsMCExpr instead of MCSymbolRefExpr for all relocations. 2016-05-03 13:35:44 +00:00
MipsMCInstLower.h [mips] Use MipsMCExpr instead of MCSymbolRefExpr for all relocations. 2016-05-03 13:35:44 +00:00
MipsMSAInstrFormats.td [mips] Use PredicateControl for the MSA ASE instructions. NFC. 2015-09-24 12:10:23 +00:00
MipsMSAInstrInfo.td [mips] Split mem_msa into range checked mem_simm10 and mem_simm10_lsl[123] 2016-03-31 14:12:01 +00:00
MipsMachineFunction.cpp [mips][microMIPS] Fix for "Cannot copy registers" assertion 2016-04-13 06:17:21 +00:00
MipsMachineFunction.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
MipsModuleISelDAGToDAG.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsOptimizePICCall.cpp
MipsOptionRecord.h [mips] Add COP0 register class and use it in M[FT]C0/DM[FT]C0. 2015-06-27 15:39:19 +00:00
MipsOs16.cpp [mips] Use range-based for loops. NFC. 2016-04-08 10:33:00 +00:00
MipsRegisterInfo.cpp [mips][ias] Attempt to fix 'not all control paths return a value' reported by MSVC. 2016-05-09 15:37:52 +00:00
MipsRegisterInfo.h [mips][micromips] Make getPointerRegClass() result depend on the instruction. 2016-05-09 13:38:25 +00:00
MipsRegisterInfo.td [mips][micromips] Make getPointerRegClass() result depend on the instruction. 2016-05-09 13:38:25 +00:00
MipsSEFrameLowering.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
MipsSEFrameLowering.h Re-apply "[mips] Use correct frame register for DWARF info when dynamically realigning the stack."" 2015-11-12 14:11:43 +00:00
MipsSEISelDAGToDAG.cpp SDAG: Implement Select instead of SelectImpl in MipsDAGToDAGISel 2016-05-13 23:55:59 +00:00
MipsSEISelDAGToDAG.h SDAG: Implement Select instead of SelectImpl in MipsDAGToDAGISel 2016-05-13 23:55:59 +00:00
MipsSEISelLowering.cpp [mips][microMIPS] Implement APPEND, BPOSGE32C, MODSUB, MULSA.W.PH and MULSAQ_S.W.PH instructions 2016-05-13 11:32:53 +00:00
MipsSEISelLowering.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsSEInstrInfo.cpp [mips] Fix a small typo that would leave BLTZC out of getAnalyzableBrOpc().' 2016-04-22 13:05:51 +00:00
MipsSEInstrInfo.h [mips] Interrupt attribute support for mips32r2+. 2015-10-26 12:38:43 +00:00
MipsSERegisterInfo.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
MipsSERegisterInfo.h
MipsSchedule.td [mips] MIPSR6 Instruction itineraries 2016-03-11 13:05:06 +00:00
MipsScheduleP5600.td TableGen: Check scheduling models for completeness 2016-03-01 20:03:21 +00:00
MipsSubtarget.cpp [mips][micromips] Initial support for micrmomips DSP instructions and addu.qb implementation 2015-10-12 16:07:25 +00:00
MipsSubtarget.h Rename TargetSelectionDAGInfo into SelectionDAGTargetInfo and move it to CodeGen/ 2016-01-27 16:32:26 +00:00
MipsTargetMachine.cpp CodeGen: Move TargetPassConfig from Passes.h to an own header; NFC 2016-05-10 03:21:59 +00:00
MipsTargetMachine.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MipsTargetObjectFile.cpp Unbreak non-X86 targets from fallout caused by r261462 2016-02-21 01:40:04 +00:00
MipsTargetObjectFile.h Unbreak non-X86 targets from fallout caused by r261462 2016-02-21 01:40:04 +00:00
MipsTargetStreamer.h [mips][ias] Fix O32 .cprestore directive when inside .set noat region and offset is in range. 2016-05-12 14:01:50 +00:00