summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-mc/AsmParser.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Make the big switch: Change MCSectionMachO to represent a section *semantically*Chris Lattner2009-08-101-92/+96
| | | | | | | | | | | | | | | | instead of syntactically as a string. This means that it keeps track of the segment, section, flags, etc directly and asmprints them in the right format. This also includes parsing and validation support for llvm-mc and "attribute(section)", so we should now start getting errors about invalid section attributes from the compiler instead of the assembler on darwin. Still todo: 1) Uniquing of darwin mcsections 2) Move all the Darwin stuff out to MCSectionMachO.[cpp|h] 3) there are a few FIXMEs, for example what is the syntax to get the S_GB_ZEROFILL segment type? llvm-svn: 78547
* sink the 'name' and 'isdirective' state out of MCSection into its derived ↵Chris Lattner2009-08-081-4/+4
| | | | | | | | classes. This totally optimizes PIC16 sections by not having an 'isdirective' bit anymore!! ;-) llvm-svn: 78517
* switch this to create coff sections for now, it doesn't really matter for Chris Lattner2009-08-081-4/+4
| | | | | | | llvm-mc's purpose yet and we'll want to switch to creating semantic sections at some point. llvm-svn: 78509
* Added Mac OS X assembler style conditional assembly. I may come back and see ifKevin Enderby2009-08-071-1/+158
| | | | | | | | I can clean this up a bit more and do way with the TheCondState and just use the top element on the TheCondStack if not empty. Also may tweak the code around ParseConditionalAssemblyDirectives() to simplify the AsmParser code. llvm-svn: 78423
* update for API change.Chris Lattner2009-08-011-4/+4
| | | | llvm-svn: 77804
* All MCSections are now required to have a SectionKind.Chris Lattner2009-08-011-4/+4
| | | | llvm-svn: 77787
* llvm-mc: More quoted identifier support.Daniel Dunbar2009-08-011-43/+59
| | | | llvm-svn: 77761
* llvm-mc: Support quoted identifiers.Daniel Dunbar2009-07-311-5/+7
| | | | | | | | | - Uses MCAsmToken::getIdentifier which returns the (sub)string representing the meaningfull contents a string or identifier token. - Directives aren't done yet. llvm-svn: 77739
* fix some more issues where we expected GetSection to do "get or create"Chris Lattner2009-07-311-2/+12
| | | | llvm-svn: 77700
* fix a bunch of failing tests now that MCContext::GetSection doesn't create ↵Chris Lattner2009-07-311-2/+13
| | | | | | sections. llvm-svn: 77689
* Move X86 instruction parsing into X86/AsmParser.Daniel Dunbar2009-07-281-2/+1
| | | | llvm-svn: 77384
* Switch AsmLexer::Lex to returning a reference to the current token.Daniel Dunbar2009-07-281-2/+2
| | | | llvm-svn: 77328
* Drop some AsmLexer methods in favor of their AsmToken equivalents.Daniel Dunbar2009-07-281-19/+18
| | | | llvm-svn: 77323
* llvm-mc: Sink token enum into AsmToken.Daniel Dunbar2009-07-281-98/+98
| | | | llvm-svn: 77322
* llvm-mc: Implement .abort fully in the front endDaniel Dunbar2009-07-271-5/+12
| | | | llvm-svn: 77272
* llvm-mc: Move AsmLexer::getCurStrVal to StringRef based API.Daniel Dunbar2009-07-271-90/+91
| | | | | | - My DFS traversal of LLVM is, at least for now, nearly complete! :) llvm-svn: 77258
* Removed the DumpSymbolsandMacros and LoadSymbolsandMacros MCStreamer API asKevin Enderby2009-07-201-6/+8
| | | | | | | | | 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. llvm-svn: 76462
* Add MCAsmParser interface.Daniel Dunbar2009-07-201-1/+3
| | | | | | | - This provides the AsmParser interface to the target specific assembly parsers. llvm-svn: 76453
* 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. llvm-svn: 76087
* 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. llvm-svn: 76082
* implement .include in the lexer/parser instead of passing it into the streamer.Chris Lattner2009-07-161-7/+13
| | | | llvm-svn: 75896
* Added llvm-mc support for parsing the .dump and .load directives.Kevin Enderby2009-07-151-0/+29
| | | | llvm-svn: 75786
* Added llvm-mc support for parsing the .include directive.Kevin Enderby2009-07-141-0/+24
| | | | llvm-svn: 75711
* Added llvm-mc support for parsing the .lsym directive.Kevin Enderby2009-07-141-0/+32
| | | | llvm-svn: 75685
* Added llvm-mc support for parsing the .desc directive.Kevin Enderby2009-07-141-0/+33
| | | | llvm-svn: 75645
* Added llvm-mc support for parsing the .abort directive.Kevin Enderby2009-07-131-0/+25
| | | | llvm-svn: 75545
* add llvm-mc support for parsing the .subsections_via_symbols directive.Kevin Enderby2009-07-131-0/+16
| | | | llvm-svn: 75500
* silence vc++ warning.Chris Lattner2009-07-111-1/+1
| | | | llvm-svn: 75394
* add support for .zerofill, patch by Kevin Enderby!Chris Lattner2009-07-101-0/+94
| | | | llvm-svn: 75301
* add llvm-mc support for parsing the .lcomm directive, patch by Kevin Enderby!Chris Lattner2009-07-091-11/+14
| | | | llvm-svn: 75148
* Implement parsing support for the .comm directive. Patch byChris Lattner2009-07-071-0/+59
| | | | | | Kevin Enderby! llvm-svn: 74944
* implement error recovery in the llvm-mc parser. Feel the power!Chris Lattner2009-07-021-4/+11
| | | | llvm-svn: 74728
* llvm-mc/x86: Fix bug in disambiguation of displacement operand, introduced by meDaniel Dunbar2009-07-021-0/+13
| | | | | | | | | | | | | (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. llvm-svn: 74685
* llvm-mc: Emit parsed instructions to the MCStreamer.Daniel Dunbar2009-07-011-2/+1
| | | | llvm-svn: 74594
* llvm-mc: Introduce method to match a parsed x86 instruction into an MCInst.Daniel Dunbar2009-06-301-1/+1
| | | | llvm-svn: 74573
* llvm-mc: Accept relocatable expressions for .org, assignments, .byte, etc.Daniel Dunbar2009-06-301-12/+16
| | | | llvm-svn: 74498
* llvm-mc: Evaluation for relocatable expressions.Daniel Dunbar2009-06-301-0/+12
| | | | llvm-svn: 74496
* Normalize SourceMgr messages.Daniel Dunbar2009-06-301-7/+11
| | | | | | | | | | | | - Don't print "Parsing" in front of every message. - Take additional "type" argument which is prepended to the message (with ": ") if given. - Update clients to print errors (warnings) as: <filename>:<line number>: error(warning): ... llvm-svn: 74489
* llvm-mc: Parse symbol attribute directives.Daniel Dunbar2009-06-301-0/+55
| | | | llvm-svn: 74487
* llvm-mc: Parse .{,b,p2}align{,w,l} directives.Daniel Dunbar2009-06-291-2/+96
| | | | llvm-svn: 74478
* llvm-mc: Diagnose misuse (mix) of defined symbols and labels.Daniel Dunbar2009-06-291-6/+40
| | | | | | | | | | | | | | | | | - For example, we diagnose errors on: -- a: a = 10 -- - For now we reject code like: -- .long a a = 10 -- which "as" accepts (on Darwin). llvm-svn: 74476
* Fix uninitialized variable warning.Daniel Dunbar2009-06-291-1/+1
| | | | llvm-svn: 74457
* MC: Improve expression parsing and implement evaluation of absolute expressions.Daniel Dunbar2009-06-291-31/+118
| | | | llvm-svn: 74448
* MC: Parse .org directives.Daniel Dunbar2009-06-251-1/+30
| | | | llvm-svn: 74218
* MC: Parse .set and assignments.Daniel Dunbar2009-06-251-2/+51
| | | | llvm-svn: 74208
* Basic .s parsing for .asci[iz], .fill, .space, {.byte, .short, ... }Daniel Dunbar2009-06-241-1/+149
| | | | | | | - Includes some DG tests in test/MC/AsmParser, which are rather primitive since we don't have a -verify mode yet. llvm-svn: 74139
* implement a bunch of synonyms for section switching.Chris Lattner2009-06-241-3/+112
| | | | llvm-svn: 74062
* add support for parsing and emitting .section directives. We can now parse Chris Lattner2009-06-241-1/+34
| | | | | | | things like: .section __TEXT,__cstring,cstring_literals llvm-svn: 74058
* add trivial support for passing label definitions through the MCStreamer.Chris Lattner2009-06-241-0/+6
| | | | | | | This is suboptimal in several aspects, see the commented out assertion. I need to talk to Daniel about this. llvm-svn: 74057
* make the lexer unique strings it lexes instead of passing them back asChris Lattner2009-06-241-1/+1
| | | | | | std::strings. llvm-svn: 74036
OpenPOWER on IntegriCloud