llvm-6502/lib/Target/Mips
Rafael Espindola 5e195a4c8d Remove some really nasty uses of hasRawTextSupport.
When MC was first added, targets could use hasRawTextSupport to keep features
working before they were added to the MC interface.

The design goal of MC is to provide an uniform api for printing assembly and
object files. Short of relaxations and other corner cases, a object file is
just another representation of the assembly.

It was never the intention that targets would keep doing things like

if (hasRawTextSupport())
  Set flags in one way.
else
  Set flags in another way.

When they do that they create two code paths and the object file is no longer
just another representation of the assembly. This also then requires testing
with llc -filetype=obj, which is extremelly brittle.

This patch removes some of these hacks by replacing them with smaller ones.
The ARM flag setting is trivial, so I just moved it to the constructor. For
Mips, the patch adds two temporary hack directives that allow the assembly
to represent the same things as the object file was already able to.

The hope is that the mips developers will replace the hack directives with
the same ones that gas uses and drop the -print-hack-directives flag.

I will also try to implement a target streamer interface, so that we can
move this out of the common code.

In summary, for any new work, two rules of the thumb are
  * Don't use "llc -filetype=obj" in tests.
  * Don't add calls to hasRawTextSupport.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192035 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-05 16:42:21 +00:00
..
AsmParser Remove some really nasty uses of hasRawTextSupport. 2013-10-05 16:42:21 +00:00
Disassembler [mips][msa] Direct Object Emission for 3R instructions. 2013-09-26 00:09:46 +00:00
InstPrinter [mips][msa] Added support for matching splati from normal IR (i.e. not intrinsics) 2013-09-27 11:48:57 +00:00
MCTargetDesc Remove some really nasty uses of hasRawTextSupport. 2013-10-05 16:42:21 +00:00
TargetInfo
CMakeLists.txt
LLVMBuild.txt
Makefile
MicroMipsInstrFormats.td
MicroMipsInstrInfo.td
Mips16FrameLowering.cpp
Mips16FrameLowering.h
Mips16HardFloat.cpp Fix a bad typo in the inline assembly code for mips16 pic fp stubs 2013-09-25 20:58:50 +00:00
Mips16HardFloat.h
Mips16InstrFormats.td
Mips16InstrInfo.cpp
Mips16InstrInfo.h
Mips16InstrInfo.td Support tblockaddr for static compilation in Mips16. 2013-10-04 22:01:40 +00:00
Mips16ISelDAGToDAG.cpp
Mips16ISelDAGToDAG.h
Mips16ISelLowering.cpp [mips] Make sure loads from lazy-binding entries do not get CSE'd or hoisted out 2013-09-28 00:12:32 +00:00
Mips16ISelLowering.h
Mips16RegisterInfo.cpp
Mips16RegisterInfo.h
Mips64InstrInfo.td
Mips.h
Mips.td
MipsAnalyzeImmediate.cpp
MipsAnalyzeImmediate.h Even more spelling fixes for "instruction". 2013-09-28 13:42:22 +00:00
MipsAsmPrinter.cpp Remove some really nasty uses of hasRawTextSupport. 2013-10-05 16:42:21 +00:00
MipsAsmPrinter.h
MipsCallingConv.td
MipsCodeEmitter.cpp
MipsCondMov.td
MipsConstantIslandPass.cpp
MipsDelaySlotFiller.cpp [mips] Make sure loads from lazy-binding entries do not get CSE'd or hoisted out 2013-09-28 00:12:32 +00:00
MipsDSPInstrFormats.td
MipsDSPInstrInfo.td
MipsFrameLowering.cpp
MipsFrameLowering.h
MipsInstrFormats.td
MipsInstrFPU.td
MipsInstrInfo.cpp Test commit. Updated comment. 2013-10-01 12:53:00 +00:00
MipsInstrInfo.h
MipsInstrInfo.td This patch adds aliases for Mips sub instruction with immediate operands. Corresponding test cases are added. 2013-10-01 09:48:56 +00:00
MipsISelDAGToDAG.cpp [mips][msa] Added support for matching splati from normal IR (i.e. not intrinsics) 2013-09-27 11:48:57 +00:00
MipsISelDAGToDAG.h [mips][msa] Added support for matching splati from normal IR (i.e. not intrinsics) 2013-09-27 11:48:57 +00:00
MipsISelLowering.cpp [mips] Make sure loads from lazy-binding entries do not get CSE'd or hoisted out 2013-09-28 00:12:32 +00:00
MipsISelLowering.h [mips] Make sure loads from lazy-binding entries do not get CSE'd or hoisted out 2013-09-28 00:12:32 +00:00
MipsJITInfo.cpp
MipsJITInfo.h
MipsLongBranch.cpp [mips] Fix a bug in MipsLongBranch::replaceBranch, which was erasing 2013-10-04 20:51:40 +00:00
MipsMachineFunction.cpp MipsMachineFunction.cpp: Add missing #include <raw_ostream.h> 2013-09-28 01:35:07 +00:00
MipsMachineFunction.h [mips] Define a derived class of PseudoSourceValue that represents a GOT entry 2013-09-27 22:30:36 +00:00
MipsMCInstLower.cpp
MipsMCInstLower.h
MipsModuleISelDAGToDAG.cpp
MipsModuleISelDAGToDAG.h
MipsMSAInstrFormats.td [mips][msa] Direct Object Emission for I8 instructions. 2013-09-30 18:05:18 +00:00
MipsMSAInstrInfo.td [mips][msa] Added support for matching mod_[us] from normal IR (i.e. not intrinsics) 2013-10-01 10:22:35 +00:00
MipsOs16.cpp Make nomips16 mask not repeat if it ends with a '.'. 2013-09-23 22:36:11 +00:00
MipsOs16.h
MipsRegisterInfo.cpp
MipsRegisterInfo.h
MipsRegisterInfo.td [mips][msa] Direct Object Emission support for the MSA instruction set. 2013-09-25 23:50:44 +00:00
MipsRelocations.h
MipsSchedule.td
MipsSEFrameLowering.cpp
MipsSEFrameLowering.h
MipsSEInstrInfo.cpp [mips][msa] Added support for MSA registers to copyPhysReg 2013-09-27 12:03:51 +00:00
MipsSEInstrInfo.h
MipsSEISelDAGToDAG.cpp [mips][msa] Added support for matching splati from normal IR (i.e. not intrinsics) 2013-09-27 11:48:57 +00:00
MipsSEISelDAGToDAG.h [mips][msa] Added support for matching splati from normal IR (i.e. not intrinsics) 2013-09-27 11:48:57 +00:00
MipsSEISelLowering.cpp [mips][msa] Added support for matching mod_[us] from normal IR (i.e. not intrinsics) 2013-10-01 10:22:35 +00:00
MipsSEISelLowering.h [mips][msa] Implemented insert_vector_elt for v4f32 and v2f64. 2013-09-27 12:31:32 +00:00
MipsSelectionDAGInfo.cpp
MipsSelectionDAGInfo.h
MipsSERegisterInfo.cpp
MipsSERegisterInfo.h
MipsSubtarget.cpp [mips][msa] MSA requires FR=1 mode (64-bit FPU register file). Report fatal error when using it in FR=0 mode. 2013-09-27 10:08:31 +00:00
MipsSubtarget.h
MipsTargetMachine.cpp
MipsTargetMachine.h
MipsTargetObjectFile.cpp
MipsTargetObjectFile.h
MSA.txt [mips][msa] Implemented copy_[us].d intrinsic. 2013-09-27 13:04:21 +00:00