1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 12:33:33 +02:00
llvm-mirror/include/llvm/MC
Daniel Sanders 0ebf8e82e0 Add ability to emit internal instruction representation to CodeGen assembly output.
Summary:
This patch re-uses the implementation of 'llvm-mc -show-inst' and makes it
available to llc as 'llc -asm-show-inst'.

This is necessary to test parts of MIPS32r6/MIPS64r6 without resorting to
'llc -filetype=obj' tests. For example, on MIPS32r2 and earlier we use the
'jr $rs' instruction for indirect branches and returns. On MIPS32r6, we no
longer have 'jr $rs' and use 'jalr $zero, $rs' instead. The catch is that,
on MIPS32r6, 'jr $rs' is an alias for 'jalr $zero, $rs' and is the preferred
way of writing this instruction. As a result, all MIPS ISA's emit 'jr $rs' in
their assembly output and the assembler encodes this to different opcodes
according to the ISA.

Using this option, we can check that the MCInst really is a JR or a JALR by
matching the emitted comment. This removes the need for a 'llc -filetype=obj'
test.

Reviewers: rafael, dsanders

Reviewed By: dsanders

Subscribers: zoran.jovanovic, llvm-commits

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

llvm-svn: 212603
2014-07-09 10:07:36 +00:00
..
MCAnalysis Update comment and include guard. 2014-07-02 22:31:51 +00:00
MCParser This only needs a StringRef. 2014-07-06 14:17:29 +00:00
ConstantPools.h [ARM] [MC] Refactor the constant pool classes 2014-06-18 18:17:25 +00:00
MachineLocation.h Add inequality operator for MachineLocation. 2014-04-01 21:54:52 +00:00
MCAsmBackend.h Completely rewrite ELFObjectWriter::RecordRelocation. 2014-03-29 06:26:49 +00:00
MCAsmInfo.h CodeGen: rename Win64 ExceptionHandling to WinEH 2014-06-29 21:43:47 +00:00
MCAsmInfoCOFF.h [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-08 07:02:02 +00:00
MCAsmInfoDarwin.h
MCAsmInfoELF.h Add a MCAsmInfoELF class and factor some code into it. 2013-10-16 01:34:32 +00:00
MCAsmLayout.h Move getBaseSymbol somewhere the COFF writer can use. 2014-05-01 13:24:25 +00:00
MCAssembler.h MC: make MCSymbolData::dump work on const objects 2014-07-05 00:39:52 +00:00
MCCodeEmitter.h Explictly pass MCSubtargetInfo to MCCodeEmitter::EncodeInstruction() 2014-01-28 23:13:07 +00:00
MCCodeGenInfo.h Teach ISel not to optimize 'optnone' functions (revised). 2013-11-22 19:11:24 +00:00
MCContext.h MC: Fix associative sections on COFF 2014-06-27 17:19:44 +00:00
MCDirectives.h Darwin: Add assembler directives to create version-min load commands. 2014-03-18 22:09:05 +00:00
MCDisassembler.h [C++11] Replace OwningPtr with std::unique_ptr in places where it doesn't break the API. 2014-04-21 09:34:48 +00:00
MCDwarf.h Allow using .cfi_startproc without a leading symbol. 2014-06-23 15:34:32 +00:00
MCELF.h
MCELFObjectWriter.h Completely rewrite ELFObjectWriter::RecordRelocation. 2014-03-29 06:26:49 +00:00
MCELFStreamer.h Print a=b as an assignment. 2014-06-24 22:45:16 +00:00
MCELFSymbolFlags.h ARM: take care not to set the ThumbFunc bit on TLS data symbols 2014-06-30 09:37:24 +00:00
MCExpr.h Move expression visitation logic up to MCStreamer. 2014-06-25 15:45:33 +00:00
MCExternalSymbolizer.h Remove redundant symbolization support from MCDisassembler interface. 2014-04-11 20:07:58 +00:00
MCFixedLenDisassembler.h
MCFixup.h Fix pr19645. 2014-05-03 19:57:04 +00:00
MCFixupKindInfo.h
MCInst.h [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-13 04:57:38 +00:00
MCInstBuilder.h
MCInstPrinter.h [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-13 04:57:38 +00:00
MCInstrAnalysis.h MC: Add some missing include guards 2014-01-17 22:39:45 +00:00
MCInstrDesc.h [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-13 04:57:38 +00:00
MCInstrInfo.h
MCInstrItineraries.h [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-13 04:57:38 +00:00
MCLabel.h
MCLinkerOptimizationHint.h Avoid in-class initializer from r210747 2014-06-12 04:27:37 +00:00
MCMachObjectWriter.h MachO: support N_INDR aliases in assembly files. 2014-05-30 13:22:59 +00:00
MCMachOSymbolFlags.h Fix ODR violation. 2013-10-25 03:29:42 +00:00
MCObjectDisassembler.h Replace OwningPtr<T> with std::unique_ptr<T>. 2014-03-06 05:51:42 +00:00
MCObjectFileInfo.h Stop producing func.eh symbols on Darwin. 2014-06-23 15:13:23 +00:00
MCObjectStreamer.h Move expression visitation logic up to MCStreamer. 2014-06-25 15:45:33 +00:00
MCObjectSymbolizer.h Update MCSymbolizer and its subclasses' constructors to reflect the fact that 2014-03-27 02:39:01 +00:00
MCObjectWriter.h Completely rewrite ELFObjectWriter::RecordRelocation. 2014-03-29 06:26:49 +00:00
MCRegisterInfo.h [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-13 04:57:38 +00:00
MCRelocationInfo.h
MCSchedule.h Move late partial-unrolling thresholds into the processor definitions 2014-05-08 09:14:44 +00:00
MCSection.h
MCSectionCOFF.h Fix a few issues with comdat handling on COFF. 2014-06-06 19:26:12 +00:00
MCSectionELF.h raw_ostream: Forward declare OpenFlags and include FileSystem.h only where necessary. 2014-04-29 23:26:49 +00:00
MCSectionMachO.h MC: Use MachO::SectionType for MCSectionMachO::getType's return type 2014-03-07 18:49:54 +00:00
MCStreamer.h MC: rename EmitWin64EH routines 2014-06-29 01:52:01 +00:00
MCSubtargetInfo.h ArrayRef-ize the Feature and Processor tables for SubtargetFeatures. 2014-05-06 20:23:04 +00:00
MCSymbol.h [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-13 04:57:38 +00:00
MCSymbolizer.h Temporarily remove assert while I dig in to issues that it's causing for LLDB. 2014-03-27 22:45:42 +00:00
MCTargetAsmParser.h AsmMatchers: Use unique_ptr to manage ownership of MCParsedAsmOperand 2014-06-08 16:18:35 +00:00
MCTargetOptions.h Move -dwarf-version to an MC level command line option so it's 2014-06-19 06:22:08 +00:00
MCTargetOptionsCommandFlags.h Add ability to emit internal instruction representation to CodeGen assembly output. 2014-07-09 10:07:36 +00:00
MCValue.h Fix pr19645. 2014-05-03 19:57:04 +00:00
MCWin64EH.h [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-13 04:57:38 +00:00
MCWinCOFFObjectWriter.h MC: introduce ability to restrict recorded relocations 2014-05-21 23:17:50 +00:00
MCWinCOFFStreamer.h MC: rename EmitWin64EH routines 2014-06-29 01:52:01 +00:00
SectionKind.h
StringTableBuilder.h Invert the MC -> Object dependency. 2014-07-03 02:01:39 +00:00
SubtargetFeature.h ArrayRef-ize the Feature and Processor tables for SubtargetFeatures. 2014-05-06 20:23:04 +00:00
YAML.h Invert the MC -> Object dependency. 2014-07-03 02:01:39 +00:00