summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCParser/AsmParser.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Tidyness.Daniel Dunbar2011-03-251-2/+2
| | | | llvm-svn: 128288
* Restore r125595 (reverted in r126336) with modifications:Joerg Sonnenberger2011-02-241-0/+20
| | | | | | | Introduce a variable in the AsmParserExtension whether [] is valid in an expression. If it is true, parse them like (). Enable this for ELF only. llvm-svn: 126443
* Revert r125595, which is an X86-only undocumented assembly syntax extensionJim Grosbach2011-02-231-18/+0
| | | | | | | | | | enabled for all targets. Non-X86 targets should not have this behavior enabled by default. Joerg, if you would like to resubmit with the behavior conditionalized to be X86-ELF only, that's fine. llvm-svn: 126336
* Add support for parsing [expr].Roman Divacky2011-02-151-0/+18
| | | | | | This is submitted by Joerg Sonnenberger and fixes his PR8685. llvm-svn: 125595
* More whitespace cleanup...Jim Grosbach2011-02-111-1/+1
| | | | llvm-svn: 125388
* Support for .ifdef / .ifndef in the assembler parser. Patch by Joerg ↵Benjamin Kramer2011-02-081-1/+31
| | | | | | Sonnenberger. llvm-svn: 125120
* Do not sign extend floating-point values in the asm parser.Bob Wilson2011-02-031-1/+1
| | | | llvm-svn: 124831
* Enumerate .code16/32/64 instead of checking .code prefix. ThisRoman Divacky2011-01-311-1/+1
| | | | | | unbreaks some ARM tests. llvm-svn: 124608
* Error on all .code* directives instead of just .code16 as theyRoman Divacky2011-01-311-2/+2
| | | | | | all lead to a silent miscompilation of code. llvm-svn: 124603
* Error on .code16 instead of producing wrong (32bit) code.Roman Divacky2011-01-281-0/+3
| | | | llvm-svn: 124498
* Add support for parsing .floatRoman Divacky2011-01-281-1/+1
| | | | llvm-svn: 124485
* PR8951: Support for .equiv in integrated assembler, patch by Jörg Sonnenberger!Nico Weber2011-01-281-8/+12
| | | | llvm-svn: 124467
* Add support for specifying register name in cfi-register/offset/defRoman Divacky2011-01-271-3/+23
| | | | | | as well as register number. llvm-svn: 124379
* Add support for parsing a Real value. It stores the Real value as its binaryBill Wendling2011-01-251-1/+7
| | | | | | | encoding. It's up to the individual back-ends to convert it to their preferred representation when printing. llvm-svn: 124229
* Make sure to propogate the error code when we fail to parse a modifier.Jim Grosbach2011-01-191-1/+1
| | | | llvm-svn: 123857
* Correctly encode pcrel|indirect.Rafael Espindola2010-12-291-3/+2
| | | | llvm-svn: 122624
* Implement cfi_def_cfa. Also don't convert to dwarf reg numbers twice. LooksRafael Espindola2010-12-291-0/+22
| | | | | | like 6 is a fixed point of that and so the previous tests were OK :-) llvm-svn: 122614
* Implement .cfi_remember_state and .cfi_restore_state.Rafael Espindola2010-12-281-0/+20
| | | | llvm-svn: 122602
* Add support for .cfi_lsda.Rafael Espindola2010-12-271-1/+1
| | | | llvm-svn: 122584
* Add support for the same encodings of the personality function that gnu asRafael Espindola2010-12-271-1/+1
| | | | | | supports. llvm-svn: 122577
* Add basic support for .cfi_personality.Rafael Espindola2010-12-261-2/+25
| | | | llvm-svn: 122566
* In llvm-mc parse a Hash token as a full line comment. Allows handling ofKevin Enderby2010-12-241-2/+7
| | | | | | | preprocessed .s files and matches darwin gas. rdar://8798690 Also fix a comment on the next line of AsmParser.cpp after this new code. llvm-svn: 122531
* Add missing standard headers. Patch by Joerg Sonnenberger!Nick Lewycky2010-12-191-0/+1
| | | | llvm-svn: 122193
* Add basic CFI methods to the streamer interface.Rafael Espindola2010-11-221-7/+19
| | | | llvm-svn: 119972
* Added support for the Mach-O .symbol_resolver directive. rdar://8673046Kevin Enderby2010-11-191-0/+2
| | | | llvm-svn: 119816
* Add support for .int.Rafael Espindola2010-11-171-0/+2
| | | | llvm-svn: 119512
* Add support for .2byte, .4byte and .8byte.Rafael Espindola2010-11-171-0/+6
| | | | | | Fixes PR8631. llvm-svn: 119511
* Add .loc methods to the streamer.Rafael Espindola2010-11-161-4/+3
| | | | | | | Next: Add support for the !HasDotLocAndDotFile case to the MCAsmStreamer and then switch codegen to use it. llvm-svn: 119384
* Parse and ignore some .cfi_* directives.Rafael Espindola2010-11-161-0/+95
| | | | llvm-svn: 119362
* Fix PR8565.Rafael Espindola2010-11-151-6/+25
| | | | | | | | | | | This moves most of the isUsed logic to the MCSymbol itself. With this we get a bit more relaxed about allowing definitions after uses: uses that don't evaluate their argument immediately (jmp foo) are accepted. ddunbar, this was the smallest compromise I could think of that lets us accept gcc (and clang!) assembly. llvm-svn: 119144
* Parse and remember discriminators in .loc line. I try to output them withRafael Espindola2010-11-131-1/+7
| | | | | | | another patch. This lets us parse a bit more of the gcc 4.5 output. llvm-svn: 118975
* Mark labels declared in tls sections as STT_TLS. This matches the behavior ofRafael Espindola2010-11-111-1/+0
| | | | | | gas. llvm-svn: 118818
* Fix typo.Daniel Dunbar2010-11-081-1/+1
| | | | llvm-svn: 118421
* Add support for expressions in .sleb/.uleb directives.Rafael Espindola2010-11-021-31/+7
| | | | llvm-svn: 118023
* Add support for .value.Rafael Espindola2010-11-011-0/+2
| | | | llvm-svn: 117922
* Add support for the .string directive.Rafael Espindola2010-10-281-8/+10
| | | | llvm-svn: 117592
* Use the IDVal directly as there's no need to convert to std::string.Roman Divacky2010-10-281-2/+2
| | | | | | Pointed out by Chris! llvm-svn: 117557
* Implement .equ directive as a synonym to .set.Roman Divacky2010-10-281-6/+6
| | | | llvm-svn: 117553
* MC/AsmParser: Fix relative precedence of {+,-} and comparison ops.Daniel Dunbar2010-10-251-12/+14
| | | | llvm-svn: 117299
* Remove remaining uses of ATTRIBUTE_UNUSED on variables, and delete threeChandler Carruth2010-10-201-2/+0
| | | | | | #includes in the process. llvm-svn: 116919
* MC/AsmParser: Report .stabs directive as unsupported.Daniel Dunbar2010-10-161-0/+9
| | | | llvm-svn: 116659
* MC-COFF: Add COFFAsmParser. Completes PR8343.Michael J. Spencer2010-10-091-1/+5
| | | | llvm-svn: 116150
* Fix Whitespace.Michael J. Spencer2010-10-091-58/+58
| | | | llvm-svn: 116149
* MC: Move ParseDirectiveELFType into ELFAsmParser. COFF uses .type for ↵Michael J. Spencer2010-10-091-48/+0
| | | | | | something else. llvm-svn: 116142
* Add support for a fill value in the .zero directive.Rafael Espindola2010-10-051-1/+8
| | | | llvm-svn: 115655
* Incorporate suggestions by Daniel Dunbar after his review. Thanks Daniel!Kevin Enderby2010-10-041-1/+1
| | | | | | | | | | | | | | | | 1) Changed ValidateDwarfFileNumber() to isValidDwarfFileNumber() to be better named. Since it is just a predicate and isn't actually changing any state. 2) Added a missing return in the comments for setCurrentDwarfLoc() in include/llvm/MC/MCContext.h for fix formatting. 3) Changed clearDwarfLocSeen() to ClearDwarfLocSeen() since it does change state. 4) Simplified the last test in isValidDwarfFileNumber() to just a one line boolean test of MCDwarfFiles[FileNumber] != 0 for the final return statement. llvm-svn: 115551
* Add hook in MCSection to decide when to use "optimized nops", for eachJan Wen Voung2010-10-041-6/+1
| | | | | | | section kind. Previously, optimized nops were only used for MachO. Also added tests for ELF and COFF. llvm-svn: 115523
* This is the last major patch to implement support for the .loc directiveKevin Enderby2010-09-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | and output the dwarf line number tables. This contains the code to emit and encode the dwarf line tables from the previously gathered information in the MCLineSection objects. This contains all the details to encode the line and address deltas into the dwarf line table. To do this an MCDwarfLineAddrFragment has been added. Also this moves the interface code out of Mach-O streamer into MCDwarf so it should be useable by other object file formats. There is now one call to be made from an MCObjectStreamer EmitInstruction() method: MCLineEntry::Make(this, getCurrentSection()); to create a line entry after each instruction is assembled. And one call call to be made from an MCObjectStreamer Finish() method: MCDwarfFileTable::Emit(this, DwarfLineSection); when getContext().hasDwarfFiles() is true and is passed a object file specific MCSection where to emit the dwarf file and the line tables. This appears to now be correct for 32-bit targets, at least x86. But the relocation entries for 64-bit Darwin needs some further work which is next up to work on. So for now the 64-bit Mach-O target does not output the dwarf file and line tables. llvm-svn: 115157
* Test commit - Deleted some whitespace at the end of a line.Jan Wen Voung2010-09-301-1/+1
| | | | llvm-svn: 115122
* change the protocol TargetAsmPArser::MatchInstruction method to take anChris Lattner2010-09-291-9/+3
| | | | | | | MCStreamer to emit into instead of an MCInst to fill in. This allows the matcher extra flexibility and is more convenient. llvm-svn: 115014
OpenPOWER on IntegriCloud