| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
This is implemented by handling assignments to the '.' pseudo symbol
as ".org" directives.
Differential Revision: http://llvm-reviews.chandlerc.com/D2625
llvm-svn: 201530
|
|
|
|
|
|
|
| |
Add some tests to explicitly validate handling of comma and non-comma separated
arguments.
llvm-svn: 201500
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Until this point only macro definition with named parameters were parsed but the
names were ignored. This adds support for using that information for named
parameter instantiation.
In order to support the full semantics of the keyword arguments, the arguments
are no longer lazily initialised since the keyword arguments can be specified
out of order and partially if they are defaulted. Prepopulate the arguments
with the default value for any defaulted parameters, and then parse the
specified arguments.
This simplies some of the handling of the arguments in the inner loop since
empty arguments simply increment the parameter index and move on.
Note that keyword and positional arguments cannot be mixed.
llvm-svn: 201499
|
|
|
|
|
|
|
|
| |
The Linux kernel defines empty macros for compatibility with ARM UAL syntax.
The comma after the name is optional, and if present can be safely lexed. This
improves compatibility with the GNU assembler.
llvm-svn: 201474
|
|
|
|
| |
llvm-svn: 201361
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
There should be a space before each of these two keywords to avoid
generating invalid assembly files.
NOTE: I could not find an obvious maintainers in CODE_OWNERS.TXT, but
this seems related to debug info.
Reviewers: echristo
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D2791
llvm-svn: 201359
|
|
|
|
|
|
|
|
|
| |
This enables a slightly odd feature of gas. The macro is defined when
the outermost macro is instantiated.
PR18599
llvm-svn: 201045
|
|
|
|
| |
llvm-svn: 200615
|
|
|
|
|
|
|
|
|
|
| |
This is a minimal implementation which accepts only constants rather than
full expressions, but that should be perfectly sufficient for all known
users for now.
Patch from PaX Team <pageexec@freemail.hu>
llvm-svn: 200614
|
|
|
|
|
|
| |
Something funny happened, this should've been part of r200606.
llvm-svn: 200607
|
|
|
|
|
|
|
|
|
| |
Per the GAS documentation, .fill should permit pattern widths that
aren't a power of two. While I was in the neighborhood, I added some
sanity checking. This change was motivated by a use of this construct
in the Linux Kernel.
llvm-svn: 200606
|
|
|
|
|
|
|
|
|
|
|
|
| |
The linux kernel makes uses of a GAS `feature' which substitutes nothing
for macro arguments which aren't specified.
Proper support for these kind of macro arguments necessitated a cleanup of
differences between `GAS' and `Darwin' dialect macro processing.
Differential Revision: http://llvm-reviews.chandlerc.com/D2634
llvm-svn: 200409
|
|
|
|
|
|
|
|
|
|
|
| |
This commit seeks to do two things:
- Run the surfeit of tests under the Darwin dialect. This ends up
affecting tests which assumed that spaces could deliminate arguments.
- The GAS dialect tests should limit their surface area to things that
could plausibly work under GAS. For example, Darwin style arguments
have no business being in such a test.
llvm-svn: 200383
|
|
|
|
|
|
|
| |
Placed the MC variant diagnostics in the wrong directory accidentally. Move
them into their respective architecture specific directories.
llvm-svn: 200161
|
|
|
|
|
|
|
|
|
| |
An emitted diagnostic for an invalid relocation variant would place the caret on
the token following the relocation variant indicator or at the end of the line
if there was no following token. This change corrects the placement of the
caret to point to the token.
llvm-svn: 200159
|
|
|
|
|
|
| |
corresponding 32-bit versions with the same encodings Not64BitMode. Remove hack from tablegen disassembler table emitter. Fix bad test.
llvm-svn: 198530
|
|
|
|
|
|
|
| |
Avoid double diagnostics for invalid expressions for count. Improve caret
location for negative count.
llvm-svn: 198099
|
|
|
|
|
|
|
| |
The GNU assembler supports .rep as an alias for .rept. This simply creates the
alias for it and introduces a test for both .rept and .rep.
llvm-svn: 198097
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The .end directive indicates the end of the file. No further instructions are
processed after a .end directive is encountered.
One potential (glaringly obvious) optimisation that could be pursued here is to
extend MCAsmParser with a DiscardRemainder method to avoid processing lexemes to
the end of the file. It was unclear at this point if that would be worth
adding, and could easily be added in a follow on change.
Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org>
llvm-svn: 197547
|
|
|
|
|
|
|
|
| |
CFE produces it to indicate artificial locations.
c.f.: DWARF standard, Table 6.2:
line -- An unsigned integer indicating a source line number. Lines are numbered beginning at 1. The compiler may emit the value 0 in cases where an instruction cannot be attributed to any source line.
llvm-svn: 191471
|
|
|
|
| |
llvm-svn: 191431
|
|
|
|
| |
llvm-svn: 191318
|
|
|
|
|
|
|
|
|
| |
allow escaped octal character sequences.
The patch was discussed in Phabricator. See:
http://llvm-reviews.chandlerc.com/D1289
llvm-svn: 190089
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Instead of setting the suffixes in a bunch of places, just set one master
list in the top-level config. We now only modify the suffix list in a few
suites that have one particular unique suffix (.ml, .mc, .yaml, .td, .py).
- Aside from removing the need for a bunch of lit.local.cfg files, this enables
4 tests that were inadvertently being skipped (one in
Transforms/BranchFolding, a .s file each in DebugInfo/AArch64 and
CodeGen/PowerPC, and one in CodeGen/SI which is now failing and has been
XFAILED).
- This commit also fixes a bunch of config files to use config.root instead of
older copy-pasted code.
llvm-svn: 188513
|
|
|
|
|
|
| |
Somehow I forgot to test one of the error conditions I'd added.
llvm-svn: 188372
|
|
|
|
|
|
|
|
| |
It's useful to be able to write down floating-point numbers without having to
worry about what they'll be rounded to (as C99 discovered), this extends that
ability to the MC assembly parsers.
llvm-svn: 188370
|
|
|
|
|
|
| |
can be reverted.
llvm-svn: 186643
|
|
|
|
|
|
| |
This should fix the chapuni bots.
llvm-svn: 186611
|
|
|
|
|
|
| |
It also doubles a test that F_Append works.
llvm-svn: 186606
|
|
|
|
| |
llvm-svn: 185554
|
|
|
|
|
|
|
|
|
| |
A = 9
B = 3 * A - 2 * A + 1 as B = 3 * A - (2 * A + 1)
rdar://13816516
llvm-svn: 181366
|
|
|
|
| |
llvm-svn: 179361
|
|
|
|
|
|
|
|
|
|
| |
For integer constants, allow 'L', 'UL' as well as 'ULL' and 'LL'. This provides
better support for shared headers between .s and .c files that define bunches
of constant values.
rdar://9321056
llvm-svn: 176118
|
|
|
|
|
|
|
|
| |
GNU as rejects them and there are configure scripts in the wild that check if
the assembler rejects ".align 3" to determine whether the alignment is in bytes
or powers of two.
llvm-svn: 175360
|
|
|
|
|
|
| |
so.
llvm-svn: 175327
|
|
|
|
|
|
|
|
|
|
| |
to improve compatibility with GNU as.
Based on a patch by PaX Team.
Fixed assertion failures on non-Darwin and added additional test cases.
llvm-svn: 164248
|
|
|
|
|
|
|
|
| |
This patch is based on the one by PaX Team.
Patch by Andy Zhang!
llvm-svn: 164246
|
|
|
|
|
|
|
|
| |
The directive can be matched with directives other than '.rept'
Patch by Andy Zhang!
llvm-svn: 164245
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Darwin lied about not supporting .lcomm and turned it into zerofill in the
asm parser. Push the zerofill-conversion down into macho-specific code.
- This makes the tri-state LCOMMType enum superfluous, there are no targets
without .lcomm.
- Do proper error reporting when trying to use .lcomm with alignment on a target
that doesn't support it.
- .comm and .lcomm alignment was parsed in bytes on COFF, should be power of 2.
- Fixes PR13755 (.lcomm crashes on ELF).
llvm-svn: 163395
|
|
|
|
|
|
| |
on a patch by Andy/PaX. I added the support for dot and dollar.
llvm-svn: 162298
|
|
|
|
|
|
|
| |
consistent with the other "expected identifier" errors.
Extracted from the Andy/PaX patch. I added the test.
llvm-svn: 162291
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Empty macro arguments at the end of the list should be as-if not specified at
all, but those in the middle of the list need to be kept so as not to screw
up the positional numbering. E.g.:
.macro foo
foo_-bash___:
nop
.endm
foo 1, 2, 3, 4
foo 1, , 3, 4
Should create two labels, "foo_1_2_3_4" and "foo_1__3_4".
rdar://11948769
llvm-svn: 161002
|
|
|
|
|
|
|
|
|
|
| |
versions of Bash. In addition, I can back out the change to the lit
built-in shell test runner to support this.
This should fix the majority of fallout on Darwin, but I suspect there
will be a few straggling issues.
llvm-svn: 159544
|
|
|
|
| |
llvm-svn: 158604
|
|
|
|
|
|
|
| |
Patch extracted from a larger one by the PaX team. I added the testcases
and tightened error handling a bit.
llvm-svn: 158523
|
|
|
|
|
|
| |
for nesting.
llvm-svn: 156714
|
|
|
|
|
|
| |
Based on a patch by Team PaX.
llvm-svn: 156709
|
|
|
|
| |
llvm-svn: 156707
|
|
|
|
|
|
| |
Based on a patch from PaX Team.
llvm-svn: 156706
|
|
|
|
|
|
| |
Based on a patch from PaX Team.
llvm-svn: 156705
|