llvm-project/llvm/lib/Target/Mips
Simon Atanasyan 4d13cb0a8a [mips] Disable the selection of mixed microMIPS/MIPS code
This patch modifies hasStandardEncoding() / inMicroMipsMode() /
inMips16Mode() methods of the MipsSubtarget class so only one can be
true at any one time. That prevents the selection of microMIPS and MIPS
instructions and patterns that are defined in TableGen files at the same
time. A few new patterns and instruction definitions hae been added to
keep test cases passed.

Differential revision: https://reviews.llvm.org/D51483

llvm-svn: 341338
2018-09-03 20:48:55 +00:00
..
AsmParser Remove trailing space 2018-07-30 19:41:25 +00:00
Disassembler [mips] Fix the definitions of lwp, swp 2018-05-25 16:15:48 +00:00
InstPrinter [mips] Remove dead code. NFC 2018-07-11 09:41:28 +00:00
MCTargetDesc Remove trailing space 2018-07-30 19:41:25 +00:00
TargetInfo Add backend name to Target to enable runtime info to be fed back into TableGen 2017-11-15 23:55:44 +00:00
CMakeLists.txt [mips] Fix atomic operations at O0, v3 2018-07-05 09:27:05 +00:00
LLVMBuild.txt [MIPS GlobalISel] Adding GlobalISel 2018-02-23 11:06:40 +00:00
MSA.txt
MicroMips32r6InstrFormats.td [mips] Sink PredicateControl further down the class hierarchy. 2018-05-30 12:40:53 +00:00
MicroMips32r6InstrInfo.td [mips] Fix `mtc1` and `mfc1` definitions for microMIPS R6 2018-08-31 15:57:17 +00:00
MicroMipsDSPInstrFormats.td [mips] Fix the predicates of some DSP instructions from AdditionalPredicates to ASEPredicate 2018-06-20 13:29:57 +00:00
MicroMipsDSPInstrInfo.td [mips] Fix the predicates of some DSP instructions from AdditionalPredicates to ASEPredicate 2018-06-20 13:29:57 +00:00
MicroMipsInstrFPU.td [mips] Disable the selection of mixed microMIPS/MIPS code 2018-09-03 20:48:55 +00:00
MicroMipsInstrFormats.td [mips] Add licensing information of the microMIPS tablegen files. (NFC) 2018-06-15 13:29:35 +00:00
MicroMipsInstrInfo.td [mips] Disable the selection of mixed microMIPS/MIPS code 2018-09-03 20:48:55 +00:00
MicroMipsSizeReduction.cpp [mips][microMIPS] Extending size reduction pass with LWP and SWP 2018-06-13 12:51:37 +00:00
Mips.h [mips] Fix atomic operations at O0, v3 2018-07-05 09:27:05 +00:00
Mips.td [mips] Add support for Global INValidate ASE 2018-05-17 16:30:32 +00:00
Mips16FrameLowering.cpp [mips] Support shrink-wrapping 2018-06-29 16:37:16 +00:00
Mips16FrameLowering.h
Mips16HardFloat.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
Mips16HardFloatInfo.cpp
Mips16HardFloatInfo.h
Mips16ISelDAGToDAG.cpp [Mips] Remove uneeded variants of ADDC/ADDE lowering 2018-06-05 22:13:56 +00:00
Mips16ISelDAGToDAG.h
Mips16ISelLowering.cpp Target/TargetInstrInfo.h -> CodeGen/TargetInstrInfo.h to match layering 2017-11-08 01:01:31 +00:00
Mips16ISelLowering.h
Mips16InstrFormats.td
Mips16InstrInfo.cpp Make TargetInstrInfo::isCopyInstr return true for regular COPY-instructions 2018-08-30 14:32:47 +00:00
Mips16InstrInfo.h Make TargetInstrInfo::isCopyInstr return true for regular COPY-instructions 2018-08-30 14:32:47 +00:00
Mips16InstrInfo.td [mips] Fix local dynamic TLS with Sym64 2018-07-24 13:47:52 +00:00
Mips16RegisterInfo.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
Mips16RegisterInfo.h
Mips32r6InstrFormats.td [mips] Sink PredicateControl further down the class hierarchy. 2018-05-30 12:40:53 +00:00
Mips32r6InstrInfo.td [mips] Correct the predicates of the cache and pref instructions 2018-05-22 10:55:05 +00:00
Mips64InstrInfo.td [mips] Sign extend i32 return values on MIPS64 2018-07-26 10:59:35 +00:00
Mips64r6InstrInfo.td [mips] Sign extend i32 return values on MIPS64 2018-07-26 10:59:35 +00:00
MipsAnalyzeImmediate.cpp
MipsAnalyzeImmediate.h
MipsAsmPrinter.cpp Remove trailing space 2018-07-30 19:41:25 +00:00
MipsAsmPrinter.h [X86][Mips] Remove unused method declaration from the X86 and Mips AsmPrinters. 2017-12-08 23:30:03 +00:00
MipsBranchExpansion.cpp [mips] Handle branch expansion corner cases 2018-08-07 10:45:45 +00:00
MipsCCState.cpp MachineFunction: Return reference from getFunction(); NFC 2017-12-15 22:22:58 +00:00
MipsCCState.h
MipsCallLowering.cpp [MIPS GlobalISel] Lower i8 and i16 arguments 2018-08-23 20:41:09 +00:00
MipsCallLowering.h [MIPS GlobalISel] Lower i8 and i16 arguments 2018-08-23 20:41:09 +00:00
MipsCallingConv.td
MipsCondMov.td [mips] Mark select instructions correctly 2018-05-15 16:05:04 +00:00
MipsConstantIslandPass.cpp Remove trailing space 2018-07-30 19:41:25 +00:00
MipsDSPInstrFormats.td [mips] Sink PredicateControl further down the class hierarchy. 2018-05-30 12:40:53 +00:00
MipsDSPInstrInfo.td [mips] Fix the predicates of some DSP instructions from AdditionalPredicates to ASEPredicate 2018-06-20 13:29:57 +00:00
MipsDelaySlotFiller.cpp [mips][microMIPS] Extending size reduction pass with LWP and SWP 2018-06-13 12:51:37 +00:00
MipsEVAInstrFormats.td [mips] Sink PredicateControl further down the class hierarchy. 2018-05-30 12:40:53 +00:00
MipsEVAInstrInfo.td [mips] Correct the definitions of the unaligned word memory operation instructions 2018-04-19 13:33:51 +00:00
MipsExpandPseudo.cpp [mips] Fix atomic operations at O0, v3 2018-07-05 09:27:05 +00:00
MipsFastISel.cpp DAG: Add calling convention argument to calling convention funcs 2018-07-28 13:25:19 +00:00
MipsFrameLowering.cpp
MipsFrameLowering.h [mips] Support shrink-wrapping 2018-06-29 16:37:16 +00:00
MipsISelDAGToDAG.cpp CodeGen: Remove pipeline dependencies on StackProtector; NFC 2018-07-13 00:08:38 +00:00
MipsISelDAGToDAG.h CodeGen: Remove pipeline dependencies on StackProtector; NFC 2018-07-13 00:08:38 +00:00
MipsISelLowering.cpp DAG: Add calling convention argument to calling convention funcs 2018-07-28 13:25:19 +00:00
MipsISelLowering.h DAG: Add calling convention argument to calling convention funcs 2018-07-28 13:25:19 +00:00
MipsInstrFPU.td [mips] Fix `mtc1` and `mfc1` definitions for microMIPS R6 2018-08-31 15:57:17 +00:00
MipsInstrFormats.td [mips] Mark standard encoded instructions as not being in MIPS16e 2018-07-12 08:50:11 +00:00
MipsInstrInfo.cpp [MI] Change the array of `MachineMemOperand` pointers to be 2018-08-16 21:30:05 +00:00
MipsInstrInfo.h [mips] Add support for isBranchOffsetInRange and use it for MipsLongBranch 2018-05-16 10:03:05 +00:00
MipsInstrInfo.td [mips] Fix local dynamic TLS with Sym64 2018-07-24 13:47:52 +00:00
MipsInstructionSelector.cpp [MIPS GlobalISel] Select global address 2018-08-01 09:03:23 +00:00
MipsLegalizerInfo.cpp [MIPS GlobalISel] Legalize i8 and i16 add 2018-08-26 07:25:33 +00:00
MipsLegalizerInfo.h [MIPS GlobalISel] Adding GlobalISel 2018-02-23 11:06:40 +00:00
MipsMCInstLower.cpp [mips] Extend LONG_BRANCH_LUi/ADDiu with extra parameter 2018-06-12 10:23:49 +00:00
MipsMCInstLower.h [mips] Extend LONG_BRANCH_LUi/ADDiu with extra parameter 2018-06-12 10:23:49 +00:00
MipsMSAInstrFormats.td [mips] Correct predicates for MSA pseudo instructions 2018-06-14 13:03:53 +00:00
MipsMSAInstrInfo.td [mips] Handle missing CondCodes 2018-08-22 09:34:44 +00:00
MipsMTInstrFormats.td [mips] Sink PredicateControl further down the class hierarchy. 2018-05-30 12:40:53 +00:00
MipsMTInstrInfo.td Reland "[mips][mt][6/7] Add support for mftr, mttr instructions." 2017-11-14 22:26:42 +00:00
MipsMachineFunction.cpp [mips] Factor out register class selection for global base register. NFC 2018-07-21 16:16:08 +00:00
MipsMachineFunction.h
MipsModuleISelDAGToDAG.cpp CodeGen: Remove pipeline dependencies on StackProtector; NFC 2018-07-13 00:08:38 +00:00
MipsOptimizePICCall.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
MipsOptionRecord.h
MipsOs16.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
MipsRegisterBankInfo.cpp [MIPS GlobalISel] Select bitwise instructions 2018-08-21 08:15:56 +00:00
MipsRegisterBankInfo.h [MIPS GlobalISel] Select add i32, i32 2018-04-11 15:12:32 +00:00
MipsRegisterBanks.td [MIPS GlobalISel] Select add i32, i32 2018-04-11 15:12:32 +00:00
MipsRegisterInfo.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
MipsRegisterInfo.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
MipsRegisterInfo.td Trivial commit to force LLVM to run TableGen for Mips target after 2017-12-20 12:45:40 +00:00
MipsSEFrameLowering.cpp [mips] Prevent shrink-wrap for BuildPairF64, ExtractElementF64 when they use $sp 2018-08-29 14:07:14 +00:00
MipsSEFrameLowering.h [Mips] Remove dead code 2018-03-29 09:21:20 +00:00
MipsSEISelDAGToDAG.cpp [mips] Prevent shrink-wrap for BuildPairF64, ExtractElementF64 when they use $sp 2018-08-29 14:07:14 +00:00
MipsSEISelDAGToDAG.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
MipsSEISelLowering.cpp [Mips] Remove uneeded variants of ADDC/ADDE lowering 2018-06-05 22:13:56 +00:00
MipsSEISelLowering.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
MipsSEInstrInfo.cpp [mips] Disable the selection of mixed microMIPS/MIPS code 2018-09-03 20:48:55 +00:00
MipsSEInstrInfo.h Make TargetInstrInfo::isCopyInstr return true for regular COPY-instructions 2018-08-30 14:32:47 +00:00
MipsSERegisterInfo.cpp [mips] Add microMIPSR6 ll/sc instructions. 2018-05-20 17:21:00 +00:00
MipsSERegisterInfo.h
MipsSchedule.td [mips] Add support for Global INValidate ASE 2018-05-17 16:30:32 +00:00
MipsScheduleGeneric.td [MIPS] Fix DIV/DIVU scheduling classes. 2018-05-02 13:37:28 +00:00
MipsScheduleP5600.td [mips] Update the P5600 scheduler model not to use instruction itineraries. 2018-07-11 13:21:10 +00:00
MipsSubtarget.cpp [mips] Warn when crc, ginv, virt flags are used with too old revision 2018-07-04 19:26:31 +00:00
MipsSubtarget.h [mips] Disable the selection of mixed microMIPS/MIPS code 2018-09-03 20:48:55 +00:00
MipsTargetMachine.cpp [mips] Remove dead code from MipsPassConfig 2018-08-16 08:43:17 +00:00
MipsTargetMachine.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
MipsTargetObjectFile.cpp [MIPS] Don't crash on unsized extern types with -mgpopt 2018-01-26 15:56:14 +00:00
MipsTargetObjectFile.h
MipsTargetStreamer.h [mips] Add support for Global INValidate ASE 2018-05-17 16:30:32 +00:00
Relocation.txt [mips] Removal of microMIPS64R6 2017-12-11 11:21:40 +00:00