summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCParser/AsmParser.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Move TargetAsmParser.h TargetAsmBackend.h and TargetAsmLexer.h to MC where ↵Evan Cheng2011-07-231-1/+1
| | | | | | they belong. llvm-svn: 135833
* Goodbye TargetAsmInfo. This eliminate last bit of CodeGen and Target in llvm-mc.Evan Cheng2011-07-201-1/+0
| | | | | | | There is still a bit more refactoring left to do in Targets. But we are now very close to fixing all the layering issues in MC. llvm-svn: 135611
* Add MCObjectFileInfo and sink the MCSections initialization code fromEvan Cheng2011-07-201-0/+1
| | | | | | | | TargetLoweringObjectFileImpl down to MCObjectFileInfo. TargetAsmInfo is done to one last method. It's *almost* gone! llvm-svn: 135569
* Sink getDwarfRegNum, getLLVMRegNum, getSEHRegNum from TargetRegisterInfo downEvan Cheng2011-07-181-1/+1
| | | | | | | | | to MCRegisterInfo. Also initialize the mapping at construction time. This patch eliminate TargetRegisterInfo from TargetAsmInfo. It's another step towards fixing the layering violation. llvm-svn: 135424
* Update MCParsedAsmOperand debug methods.Jim Grosbach2011-07-131-1/+1
| | | | | | | | | | | Update the debug output interface for MCParsedAsmOperand to have a print() method which takes an output stream argument, an << operator which invokes the print method using the given stream, and a dump() method which prints the operand to the dbgs() stream. This makes the interface more consistent with the rest of LLVM, and more convenient to use at the debugger command line. llvm-svn: 135043
* Asm parser range checking on .<size> <value> directives.Jim Grosbach2011-06-291-3/+9
| | | | | | | | | For example, ".byte 256" would previously assert() when emitting an object file. Now it generates a diagnostic that the literal value is out of range. rdar://9686950 llvm-svn: 134069
* MC: Allow .common as alias for .comm assembler directive. PR10116.Hans Wennborg2011-06-181-1/+1
| | | | llvm-svn: 133349
* Diagnostic for undefined assembler local symbols.Jim Grosbach2011-06-151-4/+29
| | | | | | | | | | | | | | | Re-apply 133010, with fixes for inline assembler. Original commit message: "When an assembler local symbol is used but not defined in a module, a Darwin assembler wants to issue a diagnostic to that effect." Added fix to only perform the check when finalizing, as otherwise we're not done and undefined symbols may simply not have been encountered yet. Passes "make check" and a self-host check on Darwin. llvm-svn: 133071
* Revert 133010. Self-hosted buildbot unhappy.Jim Grosbach2011-06-141-25/+4
| | | | | | | Apparently llvm itself generates undefined assembler local labels, causing self-hosting problems with this patch. Reverting until that's sorted out. llvm-svn: 133013
* Diagnostic for undefined assembler local symbols.Jim Grosbach2011-06-141-4/+25
| | | | | | | | | When an assembler local symbol is used but not defined in a module, a Darwin assembler wants to issue a diagnostic to that effect. rdar://9559714 llvm-svn: 133010
* Basic support for macros with explicit arguments.Rafael Espindola2011-06-051-39/+104
| | | | | | | | | | | We still don't handle * default values * :req * :vararg * \() llvm-svn: 132656
* .cfi directive register parsing flexibility.Jim Grosbach2011-06-021-1/+1
| | | | | | | | | | Parsing a register name/number for .cfi directives can't assume that a register name starts with a '%' token. Be more flexible and check for a register number instead. Still unlikely to be perfect, but it allows us to parse both plain identifiers as register names and integers as register numbers, which is what we're wanting to support at this point. llvm-svn: 132466
* Add new -d option to tblgen. It writes a make(1)-style dependency file.Joerg Sonnenberger2011-06-011-1/+2
| | | | llvm-svn: 132395
* Propagate error correctly in the MC Asm parser for leading '$' expressions.Jim Grosbach2011-05-231-1/+1
| | | | llvm-svn: 131918
* Reapply 131644 including the missing header changes:Joerg Sonnenberger2011-05-191-4/+12
| | | | | | Introduce -fatal-assembler-warnings for the obvious purpose llvm-svn: 131655
* Revert r131644; it's breaking the build.Eli Friedman2011-05-191-12/+4
| | | | llvm-svn: 131653
* Introduce -fatal-assembler-warnings for the obvious purposeJoerg Sonnenberger2011-05-191-4/+12
| | | | llvm-svn: 131644
* Parsing and plumbing for .cfi_sections.Rafael Espindola2011-05-101-0/+36
| | | | llvm-svn: 131117
* MC/AsmParser: Generalize a check.Daniel Dunbar2011-04-291-1/+1
| | | | llvm-svn: 130515
* Reduce clutter in asm output. Do not emit source location as comment for ↵Devang Patel2011-04-181-1/+1
| | | | | | each instruction. llvm-svn: 129715
* Be consistent about being virtual and returning void in the cfi methods.Rafael Espindola2011-04-121-10/+19
| | | | | | Implement the ones that were missing in the asm streamer. llvm-svn: 129413
* Remove LastOffset from the asm parser.Rafael Espindola2011-04-121-19/+3
| | | | llvm-svn: 129378
* Fix the case of a .cfi_rel_offset before any .cfi_def_cfa_offset.Rafael Espindola2011-04-121-6/+2
| | | | llvm-svn: 129362
* Implement .cfi_same_value.Rafael Espindola2011-04-121-0/+17
| | | | llvm-svn: 129361
* To avoid printing out multiple error messages for cases like:Eric Christopher2011-04-121-0/+3
| | | | | | | | | | .long 80+08 go ahead and assume that if we've got an Error token that we handled it already. Otherwise if it's a token we can't handle then go ahead and return the default error. llvm-svn: 129322
* Implement cfi_rel_offsetRafael Espindola2011-04-111-1/+33
| | | | llvm-svn: 129306
* implement .cfi_adjust_cfa_offset.Rafael Espindola2011-04-111-1/+28
| | | | llvm-svn: 129296
* Add support for .skip.Rafael Espindola2011-04-071-1/+1
| | | | | | | Patch by Roman Divacky. Fixes PR9361. llvm-svn: 129106
* Added support symbolic floating point constants in the MC assembler for InfinityKevin Enderby2011-03-291-3/+11
| | | | | | and Nans with the same strings as GAS supports. rdar://8673024 llvm-svn: 128488
* MC: Improve some diagnostics on uses of '.' pseudo-symbol.Daniel Dunbar2011-03-251-1/+18
| | | | llvm-svn: 128289
* 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
OpenPOWER on IntegriCloud