aboutsummaryrefslogtreecommitdiffstats
path: root/tools/llvm-mc
Commit message (Collapse)AuthorAgeFilesLines
* Update CMakeListsDaniel Dunbar2009-07-281-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77385 91177308-0d34-0410-b5e6-96231b3b80d8
* Move X86 instruction parsing into X86/AsmParser.Daniel Dunbar2009-07-284-278/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77384 91177308-0d34-0410-b5e6-96231b3b80d8
* Make expression parsing and error/warning reporting available through theDaniel Dunbar2009-07-281-24/+15
| | | | | | | generic MCAsmParser interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77381 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide generic MCAsmParser when constructing target specific parsers.Daniel Dunbar2009-07-282-21/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77362 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch X86 assembly parser to using the generic lexer interface.Daniel Dunbar2009-07-281-28/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77341 91177308-0d34-0410-b5e6-96231b3b80d8
* Expose Tokens to target specific assembly parsers.Daniel Dunbar2009-07-282-81/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77337 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch AsmLexer::Lex to returning a reference to the current token.Daniel Dunbar2009-07-283-9/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77328 91177308-0d34-0410-b5e6-96231b3b80d8
* Drop some AsmLexer methods in favor of their AsmToken equivalents.Daniel Dunbar2009-07-284-37/+34
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77323 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Sink token enum into AsmToken.Daniel Dunbar2009-07-285-210/+213
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77322 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Factor AsmToken class out of AsmLexer.Daniel Dunbar2009-07-282-83/+108
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77292 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Stop uniqueing string tokens, nothing actually uses this.Daniel Dunbar2009-07-282-20/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77287 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Implement .abort fully in the front endDaniel Dunbar2009-07-273-7/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77272 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Move AsmLexer::getCurStrVal to StringRef based API.Daniel Dunbar2009-07-274-96/+103
| | | | | | | - My DFS traversal of LLVM is, at least for now, nearly complete! :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77258 91177308-0d34-0410-b5e6-96231b3b80d8
* Factor commonality in triple match routines into helper template for registeringDaniel Dunbar2009-07-261-3/+3
| | | | | | | classes, and migrate existing targets over. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77126 91177308-0d34-0410-b5e6-96231b3b80d8
* Add TargetRegistry::lookupTarget.Daniel Dunbar2009-07-261-1/+4
| | | | | | | | | | | | | | | - This is a simplified mechanism which just looks up a target based on the target triple, with a few additional flags. - Remove getClosestStaticTargetForModule, the moral equivalent is now: lookupTarget(Mod->getTargetTriple, true, false, ...); - This no longer does the fuzzy matching with target data (based on endianness and pointer width) that getClosestStaticTargetForModule was doing, but this was deemed unnecessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77111 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert StringMap to using StringRef for its APIs.Daniel Dunbar2009-07-231-6/+9
| | | | | | | | | | | | | - Yay for '-'s and simplifications! - I kept StringMap::GetOrCreateValue for compatibility purposes, this can eventually go away. Likewise the StringMapEntry Create functions still follow the old style. - NIFC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76888 91177308-0d34-0410-b5e6-96231b3b80d8
* Removed the DumpSymbolsandMacros and LoadSymbolsandMacros MCStreamer API asKevin Enderby2009-07-202-7/+9
| | | | | | | | | | the parsing of the .dump and .load should be done in the assembly parser and not have any need for an MCStreamer API. Changed the code for now so these just produce an error saying these specific directives are not yet implemented since they are likely no longer used and may never need to be implemented. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76462 91177308-0d34-0410-b5e6-96231b3b80d8
* Add MCAsmLexer interface.Daniel Dunbar2009-07-202-1/+5
| | | | | | | - This provides the AsmLexer interface to the target specific assembly parsers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76460 91177308-0d34-0410-b5e6-96231b3b80d8
* Add MCAsmParser interface.Daniel Dunbar2009-07-203-6/+15
| | | | | | | | - This provides the AsmParser interface to the target specific assembly parsers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76453 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Default -triple to LLVM_HOSTTRIPLE.Daniel Dunbar2009-07-171-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76260 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Add -triple, and start fetching the target asm printer.Daniel Dunbar2009-07-173-3/+38
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76257 91177308-0d34-0410-b5e6-96231b3b80d8
* Removed the SubsectionsViaSymbols MCStreamer API and replaced it with a genericKevin Enderby2009-07-161-1/+1
| | | | | | | | EmitAssemblerFlag API which takes a value from the added AssemblerFlag enumerated constants. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76087 91177308-0d34-0410-b5e6-96231b3b80d8
* Clean up the definition of Str in AsmParser::ParseDirectiveDarwinDumpOrLoadKevin Enderby2009-07-161-3/+1
| | | | | | | so it is defined with a lifetime that is as short as possible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76082 91177308-0d34-0410-b5e6-96231b3b80d8
* implement .include in the lexer/parser instead of passing it into the streamer.Chris Lattner2009-07-163-7/+35
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75896 91177308-0d34-0410-b5e6-96231b3b80d8
* Added llvm-mc support for parsing the .dump and .load directives.Kevin Enderby2009-07-152-0/+31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75786 91177308-0d34-0410-b5e6-96231b3b80d8
* Added llvm-mc support for parsing the .include directive.Kevin Enderby2009-07-142-0/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75711 91177308-0d34-0410-b5e6-96231b3b80d8
* Added llvm-mc support for parsing the .lsym directive.Kevin Enderby2009-07-142-0/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75685 91177308-0d34-0410-b5e6-96231b3b80d8
* Added llvm-mc support for parsing the .desc directive.Kevin Enderby2009-07-142-0/+34
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75645 91177308-0d34-0410-b5e6-96231b3b80d8
* Added llvm-mc support for parsing the .abort directive.Kevin Enderby2009-07-132-0/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75545 91177308-0d34-0410-b5e6-96231b3b80d8
* add llvm-mc support for parsing the .subsections_via_symbols directive.Kevin Enderby2009-07-132-0/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75500 91177308-0d34-0410-b5e6-96231b3b80d8
* silence vc++ warning.Chris Lattner2009-07-111-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75394 91177308-0d34-0410-b5e6-96231b3b80d8
* add support for .zerofill, patch by Kevin Enderby!Chris Lattner2009-07-102-1/+95
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75301 91177308-0d34-0410-b5e6-96231b3b80d8
* add llvm-mc support for parsing the .lcomm directive, patch by Kevin Enderby!Chris Lattner2009-07-092-12/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75148 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement parsing support for the .comm directive. Patch byChris Lattner2009-07-072-0/+61
| | | | | | | Kevin Enderby! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74944 91177308-0d34-0410-b5e6-96231b3b80d8
* implement error recovery in the llvm-mc parser. Feel the power!Chris Lattner2009-07-021-4/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74728 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc/x86: Fix various nit-picky bugs in displacement parsing.Daniel Dunbar2009-07-021-13/+36
| | | | | | | - Test case to follow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74687 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc/x86: Fix bug in disambiguation of displacement operand, introduced by meDaniel Dunbar2009-07-023-1/+24
| | | | | | | | | | | | | | (I think). - We weren't properly parsing the leading parenthesized expression in something like 'push (4)(%eax)'. - Added ParseParenRelocatableExpression to support this. I suspect we should just use lookahead, though. - Test case to follow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74685 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc/x86: Factor out ParseX86Register.Daniel Dunbar2009-07-022-13/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74684 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc/x86: Rename X86Operand::ScaleReg to IndexReg and make order consistentDaniel Dunbar2009-07-021-6/+6
| | | | | | | with syntax. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74679 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Add some more doxyments.Daniel Dunbar2009-07-011-27/+41
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74607 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Fill in the rest of tokens for 'as-lex' mode.Daniel Dunbar2009-07-011-11/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74598 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename MCValue::isConstant to isAbsolute.Daniel Dunbar2009-07-011-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74596 91177308-0d34-0410-b5e6-96231b3b80d8
* add some of the new tokens, others are still missing.Chris Lattner2009-07-011-10/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74595 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Emit parsed instructions to the MCStreamer.Daniel Dunbar2009-07-011-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74594 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Introduce method to match a parsed x86 instruction into an MCInst.Daniel Dunbar2009-06-303-26/+31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74573 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Accept relocatable expressions when parsing displacements andDaniel Dunbar2009-06-301-13/+13
| | | | | | | immediates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74568 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Symbols in a relocatable expression of the (a - b + cst) form areDaniel Dunbar2009-06-301-5/+4
| | | | | | | | allowed to be undefined when the expression is seen, we cannot enforce the same-section requirement until the entire assembly file has been seen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74565 91177308-0d34-0410-b5e6-96231b3b80d8
* Suppress may-be-used-uninitialized warning.Daniel Dunbar2009-06-301-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74529 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix CMake buildDouglas Gregor2009-06-301-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74527 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Accept relocatable expressions for .org, assignments, .byte, etc.Daniel Dunbar2009-06-301-12/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74498 91177308-0d34-0410-b5e6-96231b3b80d8