summaryrefslogtreecommitdiff
path: root/include/llvm/MC/MCInst.h
Commit message (Collapse)AuthorAge
* Simplify the MCInst operator iterator declaration.Jim Grosbach2013-04-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179541 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix Doxygen issues:Dmitri Gribenko2012-09-14
| | | | | | | | | | | * wrap code blocks in \code ... \endcode; * refer to parameter names in paragraphs correctly (\arg is not what most people want -- it starts a new paragraph); * use \param instead of \arg to document parameters in order to be consistent with the rest of the codebase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163902 91177308-0d34-0410-b5e6-96231b3b80d8
* Add simple support for keeping MCFixup source information.Jim Grosbach2012-01-26
| | | | | | | Can be used to issue more user friendly diagnostics for faulty relocation constructs and such. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149092 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new form of MCOperand, for representing sub-instructions. This is ↵Owen Anderson2012-01-19
| | | | | | intended for supporting bundles through the MC layer, rather than lowering them pre-MC as we currently do for Thumb2 IT blocks. Since these sub-instruction operands hold pointers to the sub-instructions, it is the responsibility of the target's AsmPrinter to provide storage for them for the duration of the EmitInstruction() call. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148492 91177308-0d34-0410-b5e6-96231b3b80d8
* MCOperand is pod-like.Benjamin Kramer2011-10-17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142253 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't attach annotations to MCInst's. Instead, have the disassembler ↵Owen Anderson2011-09-15
| | | | | | return, and the printer accept, an annotation string which can be passed through if the client cares about annotations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139876 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for stored annotations to MCInst, and provide facilities for ↵Owen Anderson2011-09-15
| | | | | | MC-based InstPrinters to print them out. Enhance the ARM and X86 InstPrinter's to do so in verbose mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139820 91177308-0d34-0410-b5e6-96231b3b80d8
* Add accessors for manipulating an MCInst's operands.Owen Anderson2011-08-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136818 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a clear() operation to MCInst, to drop all of its operands. Useful for ↵Owen Anderson2011-08-01
| | | | | | the disassembler, where we may realize fairly late into decoding that something is wrong and need to reset. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136634 91177308-0d34-0410-b5e6-96231b3b80d8
* Merge System into Support.Michael J. Spencer2010-11-29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow << streaming of MCOperand.Jim Grosbach2010-10-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116107 91177308-0d34-0410-b5e6-96231b3b80d8
* Add output stream operator for MCInst.Jim Grosbach2010-10-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115974 91177308-0d34-0410-b5e6-96231b3b80d8
* make this non brain dead... Jim Grosbach2010-09-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114100 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unnecessary by-reference return.Jim Grosbach2010-09-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114099 91177308-0d34-0410-b5e6-96231b3b80d8
* store MC FP immediates as a double instead of as an APFloat, thus avoiding anJim Grosbach2010-09-16
| | | | | | unnecessary dtor for MCOperand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114064 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for floating point immediates to MC instruction printing. ARMJim Grosbach2010-09-15
| | | | | | | | | | | | | VFP instructions use it for loading some constants, so implement that handling. Not thrilled with adding a member to MCOperand, but not sure there's much of a better option that's not pretty fragile (like putting a double in the union instead and just assuming that's good enough). Suggestions welcome... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113996 91177308-0d34-0410-b5e6-96231b3b80d8
* trailing whitespace and 80 column cleanupJim Grosbach2010-09-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113977 91177308-0d34-0410-b5e6-96231b3b80d8
* MCInst: Add ::dump_pretty.Daniel Dunbar2010-03-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99216 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove a redundant copy constructor.Dan Gohman2009-10-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85547 91177308-0d34-0410-b5e6-96231b3b80d8
* Move DataTypes.h to include/llvm/System, update all users. This breaks the lastChandler Carruth2009-10-26
| | | | | | | direct inclusion edge from System to Support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85086 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate the "MBBLabel" MCOperand type, and just use a MCSymbol forChris Lattner2009-09-12
| | | | | | | MBB labels like everything else. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81628 91177308-0d34-0410-b5e6-96231b3b80d8
* default construct MCInst's ctor to 0, which is "PHI" which is invalid for ↵Chris Lattner2009-09-11
| | | | | | MCInsts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81525 91177308-0d34-0410-b5e6-96231b3b80d8
* remove DebugLoc from MCInst and eliminate "Comment printing" fromChris Lattner2009-09-09
| | | | | | | | | | | | | | | the MCInst path of the asmprinter. Instead, pull comment printing out of the autogenerated asmprinter into each target that uses the autogenerated asmprinter. This causes code duplication into each target, but in a way that will be easier to clean up later when more asmprinter stuff is commonized into the base AsmPrinter class. This also fixes an xcore strangeness where it inserted two tabs before every instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81396 91177308-0d34-0410-b5e6-96231b3b80d8
* add a gross hack to get "SrcLine" comments to show up with theChris Lattner2009-09-09
| | | | | | | new asmprinter. Differently gross hack coming next. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81379 91177308-0d34-0410-b5e6-96231b3b80d8
* Thread an MCAsmInfo pointer through the various MC printing APIs, Chris Lattner2009-09-03
| | | | | | | | and fix a few things using << on MCSymbols to use ->print(). No functionality change other than unbreaking my previous patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80890 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Switch MCInst to storing an MCExpr* instead of an MCValue.Daniel Dunbar2009-08-31
| | | | | | Also, use MCInst::print instead of custom code in MCAsmPrinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80575 91177308-0d34-0410-b5e6-96231b3b80d8
* Add {MCInst,MCOperand}::{print,dump}Daniel Dunbar2009-08-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80231 91177308-0d34-0410-b5e6-96231b3b80d8
* Change MCOperand to use Create style instead of Make style for constructingDaniel Dunbar2009-08-02
| | | | | | | operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77837 91177308-0d34-0410-b5e6-96231b3b80d8
* Fill in some methods for the MCValue field of an MCOperand.Daniel Dunbar2009-06-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74572 91177308-0d34-0410-b5e6-96231b3b80d8
* rename MCImm ->MCValue.Chris Lattner2009-06-23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74023 91177308-0d34-0410-b5e6-96231b3b80d8
* add a simple MCImm class.Chris Lattner2009-06-23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73984 91177308-0d34-0410-b5e6-96231b3b80d8
* add an accessor.Chris Lattner2009-06-23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73966 91177308-0d34-0410-b5e6-96231b3b80d8
* implement support for lowering subregs when preparing to print Chris Lattner2009-06-20
| | | | | | | | | | LEA64_32r, eliminating a bunch of modifier logic stuff on addr modes. Implement support for printing mbb labels as operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73817 91177308-0d34-0410-b5e6-96231b3b80d8
* make immediates be int64_t like machineoperand. Add some apisChris Lattner2009-06-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73809 91177308-0d34-0410-b5e6-96231b3b80d8
* stub out some hacky code for wiring up the new asmprinter interfacesChris Lattner2009-06-19
| | | | | | | | on X86. Not useful yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73799 91177308-0d34-0410-b5e6-96231b3b80d8
* Include DataTypes.h for 'uint64_t'.Zhongxing Xu2009-06-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73748 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some scaffolding for a new experimental asmprinterChris Lattner2009-06-19
implementation. The idea is that we want asmprinting to work by converting MachineInstrs into a new MCInst class, then the per-instruction asmprinter works on MCInst. MCInst and the new asmprinters will not depend on most of the llvm code generators. This allows building diassemblers that don't link in the whole llvm code generator. This is step #1 of many. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73743 91177308-0d34-0410-b5e6-96231b3b80d8