Jim Grosbach
c7e6b8fed5
Diagnostic for undefined assembler local symbols.
...
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
2011-06-15 18:33:28 +00:00
Jim Grosbach
ed1da49673
Revert 133010. Self-hosted buildbot unhappy.
...
Apparently llvm itself generates undefined assembler local labels, causing
self-hosting problems with this patch. Reverting until that's sorted out.
llvm-svn: 133013
2011-06-14 21:51:20 +00:00
Jim Grosbach
627e780902
Diagnostic for undefined assembler local symbols.
...
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
2011-06-14 21:13:25 +00:00
Rafael Espindola
1134ab23df
Basic support for macros with explicit arguments.
...
We still don't handle
* default values
* :req
* :vararg
* \()
llvm-svn: 132656
2011-06-05 02:43:45 +00:00
Jim Grosbach
dac0238ed2
.cfi directive register parsing flexibility.
...
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
2011-06-02 17:14:04 +00:00
Joerg Sonnenberger
af5f23ee07
Add new -d option to tblgen. It writes a make(1)-style dependency file.
...
llvm-svn: 132395
2011-06-01 13:10:15 +00:00
Jim Grosbach
bae9fee95f
Propagate error correctly in the MC Asm parser for leading '$' expressions.
...
llvm-svn: 131918
2011-05-23 20:36:04 +00:00
Joerg Sonnenberger
74ba2623ce
Reapply 131644 including the missing header changes:
...
Introduce -fatal-assembler-warnings for the obvious purpose
llvm-svn: 131655
2011-05-19 18:00:13 +00:00
Eli Friedman
3e2f17499e
Revert r131644; it's breaking the build.
...
llvm-svn: 131653
2011-05-19 17:48:09 +00:00
Joerg Sonnenberger
59b523169f
Introduce -fatal-assembler-warnings for the obvious purpose
...
llvm-svn: 131644
2011-05-19 17:27:01 +00:00
Rafael Espindola
74b101f3e3
Parsing and plumbing for .cfi_sections.
...
llvm-svn: 131117
2011-05-10 01:10:18 +00:00
Daniel Dunbar
1bf128eaeb
MC/AsmParser: Generalize a check.
...
llvm-svn: 130515
2011-04-29 17:53:11 +00:00
Devang Patel
17740e70d5
Reduce clutter in asm output. Do not emit source location as comment for each instruction.
...
llvm-svn: 129715
2011-04-18 20:26:49 +00:00
Rafael Espindola
539d96f01d
Be consistent about being virtual and returning void in the cfi methods.
...
Implement the ones that were missing in the asm streamer.
llvm-svn: 129413
2011-04-12 23:59:07 +00:00
Rafael Espindola
fd794affe5
Remove LastOffset from the asm parser.
...
llvm-svn: 129378
2011-04-12 18:53:30 +00:00
Rafael Espindola
1ec0f46169
Fix the case of a .cfi_rel_offset before any .cfi_def_cfa_offset.
...
llvm-svn: 129362
2011-04-12 16:12:03 +00:00
Rafael Espindola
2e1c9d2188
Implement .cfi_same_value.
...
llvm-svn: 129361
2011-04-12 15:31:05 +00:00
Eric Christopher
104af0619e
To avoid printing out multiple error messages for cases like:
...
.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
2011-04-12 00:03:13 +00:00
Rafael Espindola
82065cb6cf
Implement cfi_rel_offset
...
llvm-svn: 129306
2011-04-11 21:49:50 +00:00
Rafael Espindola
ffd2e5163b
implement .cfi_adjust_cfa_offset.
...
llvm-svn: 129296
2011-04-11 20:29:16 +00:00
Rafael Espindola
88bc341061
Add support for .skip.
...
Patch by Roman Divacky.
Fixes PR9361.
llvm-svn: 129106
2011-04-07 20:26:23 +00:00
Kevin Enderby
5bbe957155
Added support symbolic floating point constants in the MC assembler for Infinity
...
and Nans with the same strings as GAS supports. rdar://8673024
llvm-svn: 128488
2011-03-29 21:11:52 +00:00
Daniel Dunbar
6f4c9425eb
MC: Improve some diagnostics on uses of '.' pseudo-symbol.
...
llvm-svn: 128289
2011-03-25 17:47:17 +00:00
Daniel Dunbar
3f56104be1
Tidyness.
...
llvm-svn: 128288
2011-03-25 17:47:14 +00:00
Joerg Sonnenberger
afb36fad99
Restore r125595 (reverted in r126336) with modifications:
...
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
2011-02-24 21:59:22 +00:00
Jim Grosbach
0c03a3a146
Revert r125595, which is an X86-only undocumented assembly syntax extension
...
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
2011-02-23 21:26:51 +00:00
Roman Divacky
4e0f4957bc
Add support for parsing [expr].
...
This is submitted by Joerg Sonnenberger and fixes his PR8685.
llvm-svn: 125595
2011-02-15 20:43:39 +00:00
Jim Grosbach
01af6c4641
More whitespace cleanup...
...
llvm-svn: 125388
2011-02-11 19:05:56 +00:00
Benjamin Kramer
7b7caf51e9
Support for .ifdef / .ifndef in the assembler parser. Patch by Joerg Sonnenberger.
...
llvm-svn: 125120
2011-02-08 22:29:56 +00:00
Bob Wilson
813bdf6e58
Do not sign extend floating-point values in the asm parser.
...
llvm-svn: 124831
2011-02-03 23:17:47 +00:00
Roman Divacky
9a58919c8e
Enumerate .code16/32/64 instead of checking .code prefix. This
...
unbreaks some ARM tests.
llvm-svn: 124608
2011-01-31 21:19:43 +00:00
Roman Divacky
bd59dff739
Error on all .code* directives instead of just .code16 as they
...
all lead to a silent miscompilation of code.
llvm-svn: 124603
2011-01-31 20:56:49 +00:00
Roman Divacky
cd9ae95ae7
Error on .code16 instead of producing wrong (32bit) code.
...
llvm-svn: 124498
2011-01-28 19:29:48 +00:00
Roman Divacky
7e9e290952
Add support for parsing .float
...
llvm-svn: 124485
2011-01-28 14:20:32 +00:00
Nico Weber
4ada0d9164
PR8951: Support for .equiv in integrated assembler, patch by Jörg Sonnenberger!
...
llvm-svn: 124467
2011-01-28 03:04:41 +00:00
Roman Divacky
ed5efb4053
Add support for specifying register name in cfi-register/offset/def
...
as well as register number.
llvm-svn: 124379
2011-01-27 17:16:37 +00:00
Bill Wendling
cdbf17b179
Add support for parsing a Real value. It stores the Real value as its binary
...
encoding. It's up to the individual back-ends to convert it to their preferred
representation when printing.
llvm-svn: 124229
2011-01-25 21:26:41 +00:00
Jim Grosbach
493c0fbde8
Make sure to propogate the error code when we fail to parse a modifier.
...
llvm-svn: 123857
2011-01-19 23:06:07 +00:00
Rafael Espindola
46a5b05207
Correctly encode pcrel|indirect.
...
llvm-svn: 122624
2010-12-29 04:31:26 +00:00
Rafael Espindola
290d71671e
Implement cfi_def_cfa. Also don't convert to dwarf reg numbers twice. Looks
...
like 6 is a fixed point of that and so the previous tests were OK :-)
llvm-svn: 122614
2010-12-29 01:42:56 +00:00
Rafael Espindola
85d91982ca
Implement .cfi_remember_state and .cfi_restore_state.
...
llvm-svn: 122602
2010-12-28 18:36:23 +00:00
Rafael Espindola
1de2dd0e5e
Add support for .cfi_lsda.
...
llvm-svn: 122584
2010-12-27 15:56:22 +00:00
Rafael Espindola
2ac8355ecd
Add support for the same encodings of the personality function that gnu as
...
supports.
llvm-svn: 122577
2010-12-27 00:36:05 +00:00
Rafael Espindola
9141b611ad
Add basic support for .cfi_personality.
...
llvm-svn: 122566
2010-12-26 20:20:31 +00:00
Kevin Enderby
fa3c6f148c
In llvm-mc parse a Hash token as a full line comment. Allows handling of
...
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
2010-12-24 00:12:02 +00:00
Nick Lewycky
0de20af7ba
Add missing standard headers. Patch by Joerg Sonnenberger!
...
llvm-svn: 122193
2010-12-19 20:43:38 +00:00
Rafael Espindola
3c227b0b89
Add basic CFI methods to the streamer interface.
...
llvm-svn: 119972
2010-11-22 14:27:24 +00:00
Kevin Enderby
8be14414f6
Added support for the Mach-O .symbol_resolver directive. rdar://8673046
...
llvm-svn: 119816
2010-11-19 18:39:33 +00:00
Rafael Espindola
b67912d5cd
Add support for .int.
...
llvm-svn: 119512
2010-11-17 16:24:40 +00:00
Rafael Espindola
5c996894bd
Add support for .2byte, .4byte and .8byte.
...
Fixes PR8631.
llvm-svn: 119511
2010-11-17 16:15:42 +00:00