llvm-6502/include/llvm/MC
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
..
MCParser Support C99 hexadecimal floating-point literals in assembly 2013-08-14 14:23:31 +00:00
MachineLocation.h Explicitly request unsigned enum types when desired 2013-09-23 23:26:57 +00:00
MCAsmBackend.h Use the appropriate return type for the compact unwind encoding. 2013-09-11 21:47:57 +00:00
MCAsmInfo.h MC: Add support for treating $ as a reference to the PC 2013-09-25 10:47:21 +00:00
MCAsmInfoCOFF.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
MCAsmInfoDarwin.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
MCAsmLayout.h [MC] Bundle alignment: Invalidate relaxed fragments 2013-02-05 17:55:27 +00:00
MCAssembler.h Add support for subsections to the ELF assembler. Fixes PR8717. 2013-04-17 21:18:16 +00:00
MCAtom.h MC CFG: uint64_t -> size_t for vector size. 2013-08-21 07:27:44 +00:00
MCCodeEmitter.h Add more reset methods to make all objects that the backend may use for outputting code have a reset, some are not used but were declared for completeness 2012-12-14 18:52:11 +00:00
MCCodeGenInfo.h
MCContext.h MC: Implement COFF .linkonce directive 2013-07-06 12:13:10 +00:00
MCDirectives.h Refactor data-in-code annotations. 2012-05-18 19:12:01 +00:00
MCDisassembler.h Follow up of the introduction of MCSymbolizer. 2013-05-24 22:51:52 +00:00
MCDwarf.h Implements parsing and emitting of .cfi_window_save in MC. 2013-09-26 14:49:40 +00:00
MCELF.h ELF symbol table field st_other support, 2013-02-19 21:57:35 +00:00
MCELFObjectWriter.h Cleanup relocation sorting for ELF. 2013-05-15 18:22:01 +00:00
MCELFStreamer.h Remove some really nasty uses of hasRawTextSupport. 2013-10-05 16:42:21 +00:00
MCELFSymbolFlags.h
MCExpr.h [PowerPC] Revert r185476 and fix up TLS variant kinds 2013-07-09 16:41:09 +00:00
MCExternalSymbolizer.h Add MCSymbolizer for symbolic/annotated disassembly. 2013-05-24 00:39:57 +00:00
MCFixedLenDisassembler.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
MCFixup.h
MCFixupKindInfo.h Tidy up. Trailing whitespace. 2012-05-11 01:39:13 +00:00
MCFunction.h MCFunction.h: Prune \returns to fix a warning in r188881. [-Wdocumentation] 2013-08-21 09:34:22 +00:00
MCInst.h Simplify the MCInst operator iterator declaration. 2013-04-15 17:40:45 +00:00
MCInstBuilder.h Decouple MCInstBuilder from the streamer per Eli's request. 2012-11-26 18:05:52 +00:00
MCInstPrinter.h [MC] AvailableFeatures needs to be a uint64_t to match FeatureBits in MCSubtargetInfo. 2013-09-03 15:03:36 +00:00
MCInstrAnalysis.h MC: Disassembled CFG reconstruction. 2013-05-24 01:07:04 +00:00
MCInstrDesc.h Somehow this important part of the patch, where I actually check the Mask, 2013-09-12 14:23:19 +00:00
MCInstrInfo.h Revert r152202: "Use uint16_t to store InstrNameIndices in MCInstrInfo." 2012-03-15 18:05:57 +00:00
MCInstrItineraries.h Machine Model: Add MicroOpBufferSize and resource BufferSize. 2013-06-15 04:49:57 +00:00
MCLabel.h Fix Doxygen issues: 2012-09-14 14:57:36 +00:00
MCMachObjectWriter.h Move everything depending on Object/MachOFormat.h over to Support/MachO.h. 2013-09-01 04:28:48 +00:00
MCMachOSymbolFlags.h
MCModule.h MC CFG: Split MCBasicBlocks to mirror atom splitting. 2013-08-21 07:28:24 +00:00
MCModuleYAML.h Fix #include guard. 2013-08-25 19:48:46 +00:00
MCObjectDisassembler.h MC CFG: Support disassembly at arbitrary addresses in MCObjectDisassembler. 2013-08-21 07:28:55 +00:00
MCObjectFileInfo.h Add the gnu pubnames and pubtypes sections to the mc object file 2013-09-09 20:03:14 +00:00
MCObjectStreamer.h Remove some really nasty uses of hasRawTextSupport. 2013-10-05 16:42:21 +00:00
MCObjectSymbolizer.h MC: ObjectSymbolizer can now recognize external function stubs. 2013-08-21 07:28:13 +00:00
MCObjectWriter.h Fix unnecessary removal of const through cast machinery 2013-02-11 01:16:51 +00:00
MCRegisterInfo.h Make SubRegIndex size mandatory, following r183020. 2013-05-31 23:45:26 +00:00
MCRelocationInfo.h Add MCSymbolizer for symbolic/annotated disassembly. 2013-05-24 00:39:57 +00:00
MCSchedule.h Mark the x86 machine model as incomplete. PR17367. 2013-09-25 18:14:12 +00:00
MCSection.h Add support for subsections to the ELF assembler. Fixes PR8717. 2013-04-17 21:18:16 +00:00
MCSectionCOFF.h MC: Implement COFF .linkonce directive 2013-07-06 12:13:10 +00:00
MCSectionELF.h Add support for subsections to the ELF assembler. Fixes PR8717. 2013-04-17 21:18:16 +00:00
MCSectionMachO.h Explicitly request unsigned enum types when desired 2013-09-23 23:26:57 +00:00
MCStreamer.h Remove some really nasty uses of hasRawTextSupport. 2013-10-05 16:42:21 +00:00
MCSubtargetInfo.h Fix X86 subtarget to not overwrite the autodetected features by calling InitMCProcessorInfo right after detecting them. Instead add a new function that only updates the scheduling model and call that. 2013-09-18 05:54:09 +00:00
MCSymbol.h Fix Doxygen issues: 2012-09-14 14:57:36 +00:00
MCSymbolizer.h Add MCSymbolizer for symbolic/annotated disassembly. 2013-05-24 00:39:57 +00:00
MCTargetAsmParser.h reverting per request 2013-10-04 22:52:31 +00:00
MCValue.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
MCWin64EH.h
MCWinCOFFObjectWriter.h MC: Support COFF image-relative MCSymbolRefs 2013-04-10 23:28:17 +00:00
SectionKind.h
SubtargetFeature.h Update documentation. 2013-04-08 18:52:58 +00:00