llvm/lib/Target/Mips
Daniel Sanders fc2427bcf8 [mips] Free up two values in SubtargetFeatureFlag by folding the redundant IsGP32/IsGP64 into IsGP32bit/IsGP64bit
Summary:
We are currently very close to the 32-bit limit of the current assembler
implementation. This is because there is no way to represent an instruction
that is available in, for example, Mips3 or Mips32. We have to define a
feature bit that represents this.

This patch cleans up a pair of redundant feature bits and slightly postpones the
point we will reach the limit.

Reviewers: zoran.jovanovic, jkolek, vmedic

Reviewed By: vmedic

Differential Revision: http://reviews.llvm.org/D3703

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208685 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-13 11:17:46 +00:00
..
AsmParser [mips] Implement l[wd]c3, and s[wd]c3. 2014-05-08 13:02:11 +00:00
Disassembler [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
InstPrinter TableGen: use PrintMethods to print more aliases 2014-05-12 18:04:06 +00:00
MCTargetDesc Remove the UseCFI option from createAsmStreamer. 2014-05-07 13:00:43 +00:00
TargetInfo
CMakeLists.txt enable fast isel tablegen files for Mips 2014-04-25 18:36:38 +00:00
LLVMBuild.txt
Makefile enable fast isel tablegen files for Mips 2014-04-25 18:36:38 +00:00
MicroMipsInstrFormats.td Implementation of 16-bit microMIPS instructions MFHI and MFLO. 2014-04-03 12:47:34 +00:00
MicroMipsInstrFPU.td [mips] Marked up instructions added in MIPS-V and tested that IAS for -mcpu=mips[1234] does not accept them 2014-05-12 12:52:44 +00:00
MicroMipsInstrInfo.td [mips] Fold FeatureBitCount into FeatureMips32 and FeatureMips64 2014-05-12 12:41:59 +00:00
Mips16FrameLowering.cpp Use FrameSetup on frame instructions for the Mips port. 2014-04-14 22:21:22 +00:00
Mips16FrameLowering.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
Mips16HardFloat.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
Mips16HardFloat.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
Mips16HardFloatInfo.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
Mips16HardFloatInfo.h
Mips16InstrFormats.td
Mips16InstrInfo.cpp [Modules] Make Support/Debug.h modular. This requires it to not change 2014-04-21 22:55:11 +00:00
Mips16InstrInfo.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
Mips16InstrInfo.td
Mips16ISelDAGToDAG.cpp [mips] Replace FeatureFPIdx with FeatureMips4_32r2 2014-05-12 11:56:16 +00:00
Mips16ISelDAGToDAG.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
Mips16ISelLowering.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
Mips16ISelLowering.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
Mips16RegisterInfo.cpp [Modules] Make Support/Debug.h modular. This requires it to not change 2014-04-21 22:55:11 +00:00
Mips16RegisterInfo.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
Mips32r6InstrFormats.td Revert: r208582 - [mips][mips64r6] Add sel.s and sel.d 2014-05-12 15:43:41 +00:00
Mips32r6InstrInfo.td Revert: r208582 - [mips][mips64r6] Add sel.s and sel.d 2014-05-12 15:43:41 +00:00
Mips64InstrInfo.td [mips] Free up two values in SubtargetFeatureFlag by folding the redundant IsGP32/IsGP64 into IsGP32bit/IsGP64bit 2014-05-13 11:17:46 +00:00
Mips64r6InstrInfo.td [mips][mips64r6] Add d?div, d?mod, d?divu, d?modu 2014-05-12 15:24:16 +00:00
Mips.h
Mips.td [mips][mips64r6] Added mul/mulu/muh/muhu 2014-05-12 15:12:45 +00:00
MipsAnalyzeImmediate.cpp
MipsAnalyzeImmediate.h
MipsAsmPrinter.cpp [mips] Fix MipsLongBranch pass to work when the offset from the branch to the 2014-04-30 15:06:25 +00:00
MipsAsmPrinter.h [mips] Fix MipsLongBranch pass to work when the offset from the branch to the 2014-04-30 15:06:25 +00:00
MipsCallingConv.td [mips] Correct callee saved list for the N32 ABI and enable test 2014-04-16 10:23:37 +00:00
MipsCodeEmitter.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsCondMov.td [mips] Marked up instructions added in MIPS-IV and tested that IAS for -mcpu=mips[123] does not accept them 2014-05-09 14:06:17 +00:00
MipsConstantIslandPass.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsDelaySlotFiller.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsDSPInstrFormats.td
MipsDSPInstrInfo.td
MipsFastISel.cpp Add basic functionality for assignment of ints. 2014-05-01 20:39:21 +00:00
MipsFrameLowering.cpp Make consistent use of MCPhysReg instead of uint16_t throughout the tree. 2014-04-04 05:16:06 +00:00
MipsFrameLowering.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsInstrFormats.td [mips] Implement tlbp, tlbr, tlbwi, and tlbwr 2014-05-08 11:51:18 +00:00
MipsInstrFPU.td [mips] Marked up instructions added in MIPS-V and tested that IAS for -mcpu=mips[1234] does not accept them 2014-05-12 12:52:44 +00:00
MipsInstrInfo.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
MipsInstrInfo.h [mips] Fix MipsLongBranch pass to work when the offset from the branch to the 2014-04-30 15:06:25 +00:00
MipsInstrInfo.td [mips] Free up two values in SubtargetFeatureFlag by folding the redundant IsGP32/IsGP64 into IsGP32bit/IsGP64bit 2014-05-13 11:17:46 +00:00
MipsISelDAGToDAG.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
MipsISelDAGToDAG.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsISelLowering.cpp Try to fix an SDAG dependence issue with sret 2014-05-12 22:01:27 +00:00
MipsISelLowering.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsJITInfo.cpp [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:41:26 +00:00
MipsJITInfo.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsLongBranch.cpp [mips] Fix MipsLongBranch pass to work when the offset from the branch to the 2014-04-30 15:06:25 +00:00
MipsMachineFunction.cpp Use range loop. 2014-05-07 14:53:32 +00:00
MipsMachineFunction.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsMCInstLower.cpp [mips] Fix MipsLongBranch pass to work when the offset from the branch to the 2014-04-30 15:06:25 +00:00
MipsMCInstLower.h [mips] Fix MipsLongBranch pass to work when the offset from the branch to the 2014-04-30 15:06:25 +00:00
MipsModuleISelDAGToDAG.cpp [Modules] Make Support/Debug.h modular. This requires it to not change 2014-04-21 22:55:11 +00:00
MipsModuleISelDAGToDAG.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsMSAInstrFormats.td
MipsMSAInstrInfo.td [mips][msa] Fix vector insertions where the index is variable 2014-04-30 12:09:32 +00:00
MipsOptimizePICCall.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsOs16.cpp [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:41:26 +00:00
MipsOs16.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsRegisterInfo.cpp [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:41:26 +00:00
MipsRegisterInfo.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsRegisterInfo.td [mips] Implement l[wd]c3, and s[wd]c3. 2014-05-08 13:02:11 +00:00
MipsRelocations.h
MipsSchedule.td
MipsSEFrameLowering.cpp Use FrameSetup on frame instructions for the Mips port. 2014-04-14 22:21:22 +00:00
MipsSEFrameLowering.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsSEInstrInfo.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
MipsSEInstrInfo.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsSEISelDAGToDAG.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
MipsSEISelDAGToDAG.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsSEISelLowering.cpp [mips][msa] Fix vector insertions where the index is variable 2014-04-30 12:09:32 +00:00
MipsSEISelLowering.h [mips][msa] Fix vector insertions where the index is variable 2014-04-30 12:09:32 +00:00
MipsSelectionDAGInfo.cpp [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:41:26 +00:00
MipsSelectionDAGInfo.h
MipsSERegisterInfo.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
MipsSERegisterInfo.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsSubtarget.cpp [mips] Marked up instructions added in MIPS-V and tested that IAS for -mcpu=mips[1234] does not accept them 2014-05-12 12:52:44 +00:00
MipsSubtarget.h [mips] Marked up instructions added in MIPS-V and tested that IAS for -mcpu=mips[1234] does not accept them 2014-05-12 12:52:44 +00:00
MipsTargetMachine.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsTargetMachine.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsTargetObjectFile.cpp
MipsTargetObjectFile.h
MipsTargetStreamer.h [mips] Move expansion of .cpsetup to target streamer. 2014-05-01 10:24:46 +00:00
MSA.txt