llvm-project/llvm/lib/Target/Mips
Aleksandar Beserminji a5f755186a [mips] Merge MipsLongBranch and MipsHazardSchedule passes
MipsLongBranchPass and MipsHazardSchedule passes are joined to one pass
because of mutual conflict. When MipsHazardSchedule inserts 'nop's, it
potentially breaks some jumps, so they have to be expanded to long
branches. When some branch is expanded to long branch, it potentially
creates a hazard situation, which should be fixed by adding nops.
New pass is called MipsBranchExpansion, it combines these two passes,
and runs them alternately until one of them reports no changes were made.

Differential Revision: https://reviews.llvm.org/D46641

llvm-svn: 332977
2018-05-22 13:24:38 +00:00
..
AsmParser [mips] Add support for Global INValidate ASE 2018-05-17 16:30:32 +00:00
Disassembler [mips] Add microMIPSR6 ll/sc instructions. 2018-05-20 17:21:00 +00:00
InstPrinter [llvm] Remove redundant return [NFC] 2017-11-12 03:47:50 +00:00
MCTargetDesc MC: Separate creating a generic object writer from creating a target object writer. NFCI. 2018-05-21 19:20:29 +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] Merge MipsLongBranch and MipsHazardSchedule passes 2018-05-22 13:24:38 +00:00
LLVMBuild.txt [MIPS GlobalISel] Adding GlobalISel 2018-02-23 11:06:40 +00:00
MSA.txt
MicroMips32r6InstrFormats.td [mips] Add microMIPSR6 ll/sc instructions. 2018-05-20 17:21:00 +00:00
MicroMips32r6InstrInfo.td [mips] Add microMIPSR6 ll/sc instructions. 2018-05-20 17:21:00 +00:00
MicroMipsDSPInstrFormats.td [mips] Split out ASEPredicate from InsnPredicates (NFC) 2018-03-12 13:16:12 +00:00
MicroMipsDSPInstrInfo.td [mips] Enable spilling and reloading of the dsp register set. 2017-10-03 13:45:49 +00:00
MicroMipsInstrFPU.td [mips] Join existing scopes for DecoderNamespace (NFCI) 2018-05-16 12:37:04 +00:00
MicroMipsInstrFormats.td [mips] Move conditional moves out of isCodeGenOnly 2018-05-09 10:33:21 +00:00
MicroMipsInstrInfo.td [mips] Correct the predicates of the cache and pref instructions 2018-05-22 10:55:05 +00:00
MicroMipsSizeReduction.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
Mips.h [mips] Merge MipsLongBranch and MipsHazardSchedule passes 2018-05-22 13:24:38 +00:00
Mips.td [mips] Add support for Global INValidate ASE 2018-05-17 16:30:32 +00:00
Mips16FrameLowering.cpp Move TargetFrameLowering.h to CodeGen where it's implemented 2017-11-03 22:32:11 +00:00
Mips16FrameLowering.h Add "Restored" flag to CalleeSavedInfo 2017-08-10 16:17:32 +00:00
Mips16HardFloat.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
Mips16HardFloatInfo.cpp
Mips16HardFloatInfo.h
Mips16ISelDAGToDAG.cpp
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 Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +00:00
Mips16InstrInfo.h Teach TargetInstrInfo::getInlineAsmLength to parse .space directives with integer arguments 2017-09-28 09:31:46 +00:00
Mips16InstrInfo.td [NFC] fix trivial typos in comments and documents 2018-01-26 08:15:29 +00:00
Mips16RegisterInfo.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
Mips16RegisterInfo.h
Mips32r6InstrFormats.td [mips] Add support for Global INValidate ASE 2018-05-17 16:30:32 +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] Accept 32-bit offsets for ld/sd/lld commands 2018-05-10 16:01:36 +00:00
Mips64r6InstrInfo.td [mips] Accept 32-bit offsets for ld/sd/lld commands 2018-05-10 16:01:36 +00:00
MipsAnalyzeImmediate.cpp [Mips] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-03 22:12:30 +00:00
MipsAnalyzeImmediate.h [Mips] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-03 22:12:30 +00:00
MipsAsmPrinter.cpp [DebugInfo] Examine all uses of isDebugValue() for debug instructions. 2018-05-09 02:42:00 +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] Merge MipsLongBranch and MipsHazardSchedule passes 2018-05-22 13:24:38 +00:00
MipsCCState.cpp MachineFunction: Return reference from getFunction(); NFC 2017-12-15 22:22:58 +00:00
MipsCCState.h
MipsCallLowering.cpp [MIPS GlobalISel] remove superfluous #includes (NFC) 2018-04-12 17:01:46 +00:00
MipsCallLowering.h [MIPS GlobalISel] remove superfluous #includes (NFC) 2018-04-12 17:01:46 +00:00
MipsCallingConv.td
MipsCondMov.td [mips] Mark select instructions correctly 2018-05-15 16:05:04 +00:00
MipsConstantIslandPass.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
MipsDSPInstrFormats.td [mips] Split out ASEPredicate from InsnPredicates (NFC) 2018-03-12 13:16:12 +00:00
MipsDSPInstrInfo.td [mips] Provide additional DSP bitconvert patterns 2017-12-13 10:13:35 +00:00
MipsDelaySlotFiller.cpp [mips] Rename Filler to MipsDelaySlotFiller and initialize the pass 2018-05-11 16:13:53 +00:00
MipsEVAInstrFormats.td
MipsEVAInstrInfo.td [mips] Correct the definitions of the unaligned word memory operation instructions 2018-04-19 13:33:51 +00:00
MipsFastISel.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
MipsFrameLowering.cpp [mips] Use register scavenging with MSA. 2017-11-02 12:47:22 +00:00
MipsFrameLowering.h Move TargetFrameLowering.h to CodeGen where it's implemented 2017-11-03 22:32:11 +00:00
MipsISelDAGToDAG.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
MipsISelDAGToDAG.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
MipsISelLowering.cpp [mips] Add microMIPSR6 ll/sc instructions. 2018-05-20 17:21:00 +00:00
MipsISelLowering.h [mips] Fix how compiler fuse instructions to fmadd/fmsub 2018-04-27 13:30:27 +00:00
MipsInstrFPU.td [mips] Simplify some of the predicate scopes for (negative) multiply add/sub instructions (NFCI) 2018-05-16 12:44:27 +00:00
MipsInstrFormats.td [mips] Add support for Virtualization ASE 2018-04-27 09:12:08 +00:00
MipsInstrInfo.cpp [mips] Add support for isBranchOffsetInRange and use it for MipsLongBranch 2018-05-16 10:03: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] Correct the predicates of the cache and pref instructions 2018-05-22 10:55:05 +00:00
MipsInstructionSelector.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
MipsLegalizerInfo.cpp [MIPS GlobalISel] remove superfluous #includes (NFC) 2018-04-12 17:01:46 +00:00
MipsLegalizerInfo.h [MIPS GlobalISel] Adding GlobalISel 2018-02-23 11:06:40 +00:00
MipsMCInstLower.cpp [Mips] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-03 22:12:30 +00:00
MipsMCInstLower.h [Mips] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-03 22:12:30 +00:00
MipsMSAInstrFormats.td
MipsMSAInstrInfo.td [mips][msa] Pattern match the splat.d instruction 2018-05-08 15:12:29 +00:00
MipsMTInstrFormats.td Reland "[mips][mt][6/7] Add support for mftr, mttr instructions." 2017-11-14 22:26:42 +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] Removal of microMIPS64R6 2017-12-11 11:21:40 +00:00
MipsMachineFunction.h
MipsModuleISelDAGToDAG.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +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] remove superfluous #includes (NFC) 2018-04-12 17:01:46 +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 MachineFunction: Return reference from getFunction(); NFC 2017-12-15 22:22:58 +00:00
MipsSEFrameLowering.h [Mips] Remove dead code 2018-03-29 09:21:20 +00:00
MipsSEISelDAGToDAG.cpp [NFC] fix trivial typos in comments 2018-01-22 05:54:46 +00:00
MipsSEISelDAGToDAG.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
MipsSEISelLowering.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
MipsSEISelLowering.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
MipsSEInstrInfo.cpp [mips] Add support for isBranchOffsetInRange and use it for MipsLongBranch 2018-05-16 10:03:05 +00:00
MipsSEInstrInfo.h [mips] Define certain instructions in microMIPS32r3 2018-02-08 09:25:17 +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 [SchedModel] Complete models shouldn't match against itineraries when they don't use them (PR35639) 2018-04-05 13:11:36 +00:00
MipsSubtarget.cpp [mips] Add support for Global INValidate ASE 2018-05-17 16:30:32 +00:00
MipsSubtarget.h [mips] Add support for Global INValidate ASE 2018-05-17 16:30:32 +00:00
MipsTargetMachine.cpp [mips] Merge MipsLongBranch and MipsHazardSchedule passes 2018-05-22 13:24:38 +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