History log of /external/llvm/lib/MC/MCParser/AsmParser.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a9e37c5eaf79c3a32f2921536fb7e12514e86fb2 07-Sep-2012 Benjamin Kramer <benny.kra@googlemail.com> Fix alignment of .comm and .lcomm on mingw32.

For some reason .lcomm uses byte alignment and .comm log2 alignment so we can't
use the same setting for both. Fix this by reintroducing the LCOMM enum.
I verified this against mingw's gcc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163420 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
39646d96e76aea5d20bffb386233a0dbb5932a21 07-Sep-2012 Benjamin Kramer <benny.kra@googlemail.com> MC: Overhaul handling of .lcomm

- 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).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163395 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
345d16ddcc688e06428708780e9b1499f9aec0a8 29-Aug-2012 Craig Topper <craig.topper@gmail.com> Add virtual keywords for methods that override the base class.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162826 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
799aacfb27ac51417ad17f4548b9f7743f946e66 21-Aug-2012 Rafael Espindola <rafael.espindola@gmail.com> Fix macros arguments with an underscore, dot or dollar in them. This is based
on a patch by Andy/PaX. I added the support for dot and dollar.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
d7ae0f187635003c385901906fe2cdd95bf13057 21-Aug-2012 Rafael Espindola <rafael.espindola@gmail.com> Make the wording in of the "expected identifier" error in the .macro directive
consistent with the other "expected identifier" errors.
Extracted from the Andy/PaX patch. I added the test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162291 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
7996d045825373d2bd0dbc8ad1d47bb03e81c368 21-Aug-2012 Rafael Espindola <rafael.espindola@gmail.com> Use typedefs. Fix indentation. Extracted from the Andy/PaX patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162283 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
c5584763291fca947e28d3a347c24689677aed1f 21-Aug-2012 Rafael Espindola <rafael.espindola@gmail.com> Remove unused variable. Extracted from the Andy/PaX patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162282 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
76ac200186f2c8eaac75809cfa6f8d9b5645ce5e 21-Aug-2012 Rafael Espindola <rafael.espindola@gmail.com> Fix typo. Extracted from the Andy/PaX patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162281 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
8a403d326e7cb7e7ad6c0108d9e48b3e6ca47997 08-Aug-2012 Rafael Espindola <rafael.espindola@gmail.com> Typedefs and indentation fixes from the Andy Zhang/PAX macro argument patch.
Committing it first as it makes the "real" patch a lot easier to read.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161491 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
9714644a38213d059f3ddced08cfc119ca8a0ab7 31-Jul-2012 Jim Grosbach <grosbach@apple.com> Keep empty assembly macro argument values in the middle of the list.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161002 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
c8e41c591741b3da1077f7000274ad040bef8002 23-Jul-2012 Sylvestre Ledru <sylvestre@debian.org> Fix a typo (the the => the)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160621 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
96cb1128528a512f1ef9c28ae5e1b78a98dcc505 19-Jul-2012 Bill Wendling <isanbard@gmail.com> Remove tabs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160475 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
3b02d95d6375439c3281c84a9620ecabc633e1a6 05-Jul-2012 Akira Hatanaka <ahatanaka@mips.com> Enable target dependent directive parsing to hook before standard parser in
AsmParser::ParseStatement.

Patch by Vladimir Medic.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159768 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
fc9216eb5a437719b3a53d88d79833a8abc93fee 16-Jun-2012 Rafael Espindola <rafael.espindola@gmail.com> Implement irpc. Extracted from a patch by the PaX team. I just added the test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158604 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
aa7a2f2ba308656e206338fe65c422e0b6781c64 15-Jun-2012 Rafael Espindola <rafael.espindola@gmail.com> Factor macro argument parsing into helper methods and add support for .irp.
Patch extracted from a larger one by the PaX team. I added the testcases
and tightened error handling a bit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
761cb0675676f894afa675148bd4e86dcfabd27f 04-Jun-2012 Rafael Espindola <rafael.espindola@gmail.com> Represent .rept as an anonymous macro. This removes the need for the ActiveRept
vector. No functionality change.
Extracted from a patch by the PaX Team.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157909 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
28c1f666bf740a8031b46f17896dcb6579c3f181 04-Jun-2012 Rafael Espindola <rafael.espindola@gmail.com> Add a typedef to simplify the code a bit. Not functionality change.
Part of a patch by the PaX Team.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157908 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
d9b0b025612992a0b724eeca8bdf10b1d7a5c355 02-Jun-2012 Benjamin Kramer <benny.kra@googlemail.com> Fix typos found by http://github.com/lyda/misspell-check

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157885 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
29739e7d5fd0c1e085b072144d32272eeb2f8596 12-May-2012 Benjamin Kramer <benny.kra@googlemail.com> Fix spacing after if.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156716 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
2ec304c0bf308c5c304412c56ca8f6d69c0b94fc 12-May-2012 Rafael Espindola <rafael.espindola@gmail.com> Add support for the .rept directive. Patch by Vladmir Sorokin. I added support
for nesting.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156714 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
bc3b27ccd964df7627ecff4a62715ff72f1c4a7f 12-May-2012 Benjamin Kramer <benny.kra@googlemail.com> AsmParser: Add support for the .purgem directive.

Based on a patch by Team PaX.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
5cdf0add9e2d9ceda861299d614e3efb7a069462 12-May-2012 Benjamin Kramer <benny.kra@googlemail.com> AsmParser: Give a nice error message for .code16gcc, which is currently unsupported.

Patch by Team PaX!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156708 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
e14a3c5084838b40bca4b006cbf78500c874a043 12-May-2012 Benjamin Kramer <benny.kra@googlemail.com> AsmParser: ignore the .extern directive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156707 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
dec06ef43114ca0f7e5a616ca7437be6e98ea0b3 12-May-2012 Benjamin Kramer <benny.kra@googlemail.com> AsmParser: Add support for .ifc and .ifnc directives.

Based on a patch from PaX Team.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156706 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
a3dd0eb93c764905dac919851bca12517e7e8757 12-May-2012 Benjamin Kramer <benny.kra@googlemail.com> AsmParser: Add support for .ifb and .ifnb directives.

Based on a patch from PaX Team.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156705 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
686c01854e49748ef2e23851bd0abfa8b9b414f3 01-May-2012 Jim Grosbach <grosbach@apple.com> MC: Unknown assembler directives are now hard errors.

Previously, an unsupported/unknown assembler directive issued a warning.
That's generally unsafe, and inconsistent with the behaviour of pretty
much every system assembler. Now that the MC assemblers are mature
enough to be the default on multiple targets, it's reasonable to
issue errors for these.

For target or platform directives that need to stay warnings, we
should add explicit handlers for them in, e.g., ELFAsmParser.cpp,
DarwinAsmParser.cpp, et. al., and issue the warning there.

rdar://9246275

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155926 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
25c7b6e0df86d75bd7b0b92060a9fc37786e397c 01-May-2012 Jim Grosbach <grosbach@apple.com> MC: Remove errant EatToEndOfStatement() in asm parser.

The caller is already responsible for eating any additional input on the
line. Putting an additional EatToEndOfStatement() in ParseStatement()
causes an entire extra statement to be consumed when treating warnings
as errors. For example, test/MC/macros.s will assert() because the
.endmacro directive is missed as a result.

rdar://11355843

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
68f89a61587e8d482347cf892c2670a869a1ad61 16-Apr-2012 Jim Grosbach <grosbach@apple.com> MC assembly parser handling for trailing comma in macro instantiation.

A trailing comma means no argument at all (i.e., as if the comma were not
present), not an empty argument to the invokee.

rdar://11252521

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154863 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
4e02f23de24375294005f88b5254a3775d39fcb2 27-Mar-2012 Craig Topper <craig.topper@gmail.com> Prune some includes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
48c9533181ec7ef24e49a4f5bca9151dc6886bad 20-Mar-2012 Jim Grosbach <grosbach@apple.com> Assembler should accept redefinitions of unused variable symbols.

rdar://11027851

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
ae151ed87d4100ec352fee8fc70e2c8c26281c69 17-Mar-2012 Jim Grosbach <grosbach@apple.com> MC asm parser macro argument count was wrong when empty.

evaluated to '1' when the argument list was empty (should be '0').

rdar://11057257

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
858143816d43e58b17bfd11cb1b57afbd7f0f893 07-Feb-2012 Craig Topper <craig.topper@gmail.com> Convert assert(0) to llvm_unreachable

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
0db58bfecea020ffcdfa1fc6458995371e1c3c50 31-Jan-2012 Devang Patel <dpatel@apple.com> Add assembler dialect attribute in asm parser which lets target specific asm parser change dialect on the fly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149396 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
518ff566f5d3c39fee606c34d045543cf4682a13 28-Jan-2012 Benjamin Kramer <benny.kra@googlemail.com> Silence GCC's -Wreturn-type warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149179 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
8b01c82f25aaea12340f53789ba59a2527713b9e 28-Jan-2012 Rafael Espindola <rafael.espindola@gmail.com> Small improvement to the recursion detection logic from the previous commit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149175 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
e71cc86ad10143173195182f28bf90844f682436 28-Jan-2012 Rafael Espindola <rafael.espindola@gmail.com> Handle recursive variable definitions directly. This gives us better error
messages and allows us to fix PR11865.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149174 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
ebd4c05c3cbd61215366d4d16f1c1a2e57e7156d 27-Jan-2012 Jim Grosbach <grosbach@apple.com> Better diagnostic for malformed .org assembly directive.

Provide source line number information.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149101 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
16d7d437e03ce87fdaef7971919302920d54a966 23-Jan-2012 Rafael Espindola <rafael.espindola@gmail.com> Add support for .cfi_signal_frame. Fixes pr11762.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148733 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
4d6ccb5f68cd7c6418a209f1fa4dbade569e4493 20-Jan-2012 David Blaikie <dblaikie@gmail.com> More dead code removal (using -Wunreachable-code)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
8704b7897db5d877970bde2c8d6766488c457b90 11-Jan-2012 Kevin Enderby <enderby@apple.com> The error check for using -g with a .s file already containing dwarf .file
directives was in the wrong place and getting triggered incorectly with a
cpp .file directive. This change fixes that and adds a test case.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147951 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
a005c3140d8c16fd68b7e3a3dffb3153609f7527 10-Jan-2012 Devang Patel <dpatel@apple.com> Let asm parser query asm syntax dialect.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147880 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
11c2defa9157bd589cb322218c718c4492ed5746 10-Jan-2012 Kevin Enderby <enderby@apple.com> This is the matching change for the data structure name changes for the
functional change in r147860 to use DW_TAG_label's instead TAG_subprogram's.
This only changes names and updates comments. No functional change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147877 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
ed23bdb65fe86cdb7a38c8c1998ec965e6973966 29-Dec-2011 Rafael Espindola <rafael.espindola@gmail.com> Implement cfi_restore. Patch by Brian Anderson!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
6f0b181bc70318f8d5d4b9bdead7fc748677fe2a 29-Dec-2011 Rafael Espindola <rafael.espindola@gmail.com> Implement .cfi_escape. Patch by Brian Anderson!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147352 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
dac2953e3b5e5de73290c25740983a64a3e9920b 15-Dec-2011 Kevin Enderby <enderby@apple.com> Another improvement to the implementation of .incbin directive by avoiding a
buffer copy. Suggestion by Chris Lattner!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
c3fc3136a1760601458267163ea0fe6d7e4af72b 14-Dec-2011 Kevin Enderby <enderby@apple.com> Improve the implementation of .incbin directive by replacing a loop by using
getStreamer().EmitBytes. Suggestion by Benjamin Kramer!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146599 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
c55accaddb472a517f697d4b0c44017f40c2a5a7 14-Dec-2011 Kevin Enderby <enderby@apple.com> Add the .incbin directive which takes the binary data from a file and emits
it to the streamer. rdar://10383898


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146592 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
94c2e85bea1ab1b837a4c055ccc83d5cd32dd027 09-Dec-2011 Kevin Enderby <enderby@apple.com> The second part of support for generating dwarf for assembly source files. This
generates the dwarf Compile Unit DIE and a dwarf subprogram DIE for each
non-temporary label.

The next part will be to get the clang driver to enable this when assembling
a .s file. rdar://9275556


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146262 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
dba9a17f9a69d16264ab30cfd878f2e74ba36d26 02-Nov-2011 Kevin Enderby <enderby@apple.com> Replace tabs I added in this new line of code with spaces.
Thanks to Nick for spotting this!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143556 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
613b7576896fbd03fe495f4ee27b404f81386774 01-Nov-2011 Kevin Enderby <enderby@apple.com> First part of support for generating dwarf for assembly source files with the
-g flag. In this part we generate the .file for the source being assembled and
the .loc's for the assembled instructions.

The next part will be to generate the dwarf Compile Unit DIE and a dwarf
subprogram DIE for each non-temporary label.

Once the next part is done test cases will be added. rdar://9275556


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143509 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
12ae52767f2d0e4312ba059c0e97ed8beb9777d5 19-Oct-2011 Rafael Espindola <rafael.espindola@gmail.com> Fix parsing of a line with only a # in it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142537 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
44d798d9763bc32aaf49fe7c10d604845f4b6685 18-Oct-2011 Nick Lewycky <nicholas@mxc.ca> Add support for a new extension to the .file directive:

.file filenumber "directory" "filename"

This removes one join+split of the directory+filename in MC internals. Because
bitcode files have independent fields for directory and filenames in debug info,
this patch may change the .o files written by existing .bc files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142300 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
04a0426cc283fe6a03f16612e0f172c3c97a1102 16-Oct-2011 Benjamin Kramer <benny.kra@googlemail.com> PR11143: Save the old diagnostic handler and call it when munging diagnostics for #line directives.

This reenables proper inline asm diagnostics in clang

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142132 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
462b43cbf61fd38db5f2467175c4a51ac1aba154 16-Oct-2011 Chris Lattner <sabre@nondot.org> remove the dead 'ShowLine' argument from SMDiagnostic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142108 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
3f2d5f60b31fd057c10f77b2e607b23a8c94f6d3 16-Oct-2011 Chris Lattner <sabre@nondot.org> Make SMDiagnostic a little more sane. Instead of passing around note/warning/error as a
string, pass it around as an enum.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
d8b7aa26134d2abee777f745c32005e63dea2455 16-Oct-2011 Chris Lattner <sabre@nondot.org> Enhance llvm::SourceMgr to support diagnostic ranges, the same way clang does. Enhance
the X86 asmparser to produce ranges in the one case that was annoying me, for example:

test.s:10:15: error: invalid operand for instruction
movl 0(%rax), 0(%edx)
^~~~~~~

It should be straight-forward to enhance filecheck, tblgen, and/or the .ll parser to use
ranges where appropriate if someone is interested.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
acbaecd4c8e4d19207e63624dcd9e01947b51757 12-Oct-2011 Kevin Enderby <enderby@apple.com> Finish supporting cpp #file/line comments in assembler for error messages. So
for cpp pre-processed assembly we give correct filename and line numbers when
reporting errors in assembly files when using clang and -integrated-as on .s
files. rdar://8998895



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141814 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
10ec65004d8da411ab59a1fee85c0ff54539776a 15-Sep-2011 Jim Grosbach <grosbach@apple.com> Assmebler symbol attribute directives don't work on temporary symbols.

Assembler private local symbols aren't legal targets of symbol attributes,
so issue a diagnostic for them.

Based on patch by Stepan Dyatkovskiy.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139807 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
f1c21a8da6ed27a6ab4944e30bbeb4bd3ee08a71 14-Sep-2011 Kevin Enderby <enderby@apple.com> First step in supporting #line directives in assembler. This step parses the
#line directives with the needed support in the lexer. Next will be to build
a simple file/line# table mapping source SMLoc's for later use by diagnostics.
And the last step will be to get the diagnostics to use the mapping for file
and line numbers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139669 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
fbe1681490f4386a351e385129f2c3bce516adbc 20-Aug-2011 Jim Grosbach <grosbach@apple.com> Fix AsmParser binary precedence for shift operators.

rdar://9976729



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138208 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
1b84cce77f8bccc905b4800927ce9016f76c1c40 16-Aug-2011 Jim Grosbach <grosbach@apple.com> Remove unused Target argument from AsmParser construction methods.

The argument is unused, and is a layering violation in any case.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137735 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
bd27f5adbd8f3b8ab8def5aa43fbc406ac9b8cbe 27-Jul-2011 Evan Cheng <evan.cheng@apple.com> Support .code32 and .code64 in X86 assembler.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
94b9550a32d189704a8eae55505edf62662c0534 26-Jul-2011 Evan Cheng <evan.cheng@apple.com> Rename TargetAsmParser to MCTargetAsmParser and TargetAsmLexer to MCTargetAsmLexer; rename createAsmLexer to createMCAsmLexer and createAsmParser to createMCAsmParser.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
f2a35fbd60fbb86465ad2fb4d801cd5c240decd7 25-Jul-2011 Jim Grosbach <grosbach@apple.com> Move some ELF directives into ELF asm parser.

The .local, .hidden, .internal, and .protected are not legal for all supported
file formats (in particular, they're invalid for MachO). Move the parsing for
them into the ELF assembly parser since that's the format they're for.
Similarly, .weak is used by COFF and ELF, but not MachO, so move the parsing
to the COFF and ELF asm parsers. Previously, using any of these directives
on Darwin would result in an assertion failure in the parser; now we get
a diagnostic as we should.

rdar://9827089


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135921 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
a7cfc08ebe737062917b442830eb5321b0f79e89 23-Jul-2011 Evan Cheng <evan.cheng@apple.com> Move TargetAsmParser.h TargetAsmBackend.h and TargetAsmLexer.h to MC where they belong.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135833 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
203576aa0cb9d8bf2d2e4d910ebab4b7a63262ae 20-Jul-2011 Evan Cheng <evan.cheng@apple.com> Goodbye TargetAsmInfo. This eliminate last bit of CodeGen and Target in llvm-mc.

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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135611 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
e76a33b9567d78a5744dc52fcec3a6056d6fb576 20-Jul-2011 Evan Cheng <evan.cheng@apple.com> Add MCObjectFileInfo and sink the MCSections initialization code from
TargetLoweringObjectFileImpl down to MCObjectFileInfo.

TargetAsmInfo is done to one last method. It's *almost* gone!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135569 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
0e6a052331f674dd70e28af41f654a7874405eab 18-Jul-2011 Evan Cheng <evan.cheng@apple.com> Sink getDwarfRegNum, getLLVMRegNum, getSEHRegNum from TargetRegisterInfo down
to MCRegisterInfo. Also initialize the mapping at construction time.

This patch eliminate TargetRegisterInfo from TargetAsmInfo. It's another step
towards fixing the layering violation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135424 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
b7f689bab98777236a2bf600f299d232d246bb61 13-Jul-2011 Jim Grosbach <grosbach@apple.com> Update MCParsedAsmOperand debug methods.

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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135043 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
254cf03a45534ccfdcc7d223fbebc07d4a0562a7 29-Jun-2011 Jim Grosbach <grosbach@apple.com> Asm parser range checking on .<size> <value> directives.

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134069 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
5cc6491f50d0598715d87c69793bfdb2df7cda6f 18-Jun-2011 Hans Wennborg <hans@hanshq.net> MC: Allow .common as alias for .comm assembler directive. PR10116.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
e82b8eeaa2d36ee52690ae19bca9735629b6003e 15-Jun-2011 Jim Grosbach <grosbach@apple.com> 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133071 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
6c3044db28ca1efa4d3da4ea40043bf8a3a8e030 14-Jun-2011 Jim Grosbach <grosbach@apple.com> 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133013 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
c35dd25ab820c3db37b7bfd506d656c14b14e331 14-Jun-2011 Jim Grosbach <grosbach@apple.com> 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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133010 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
653664471333f316020e96dd3d664f4984f66a65 05-Jun-2011 Rafael Espindola <rafael.espindola@gmail.com> Basic support for macros with explicit arguments.

We still don't handle

* default values
* :req
* :vararg
* \()

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132656 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
6f888a80d59f2eb4532dd9940de62c72899cb6fa 02-Jun-2011 Jim Grosbach <grosbach@apple.com> .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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132466 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
dd137903e47fdb5822724baaddae88f119badc86 01-Jun-2011 Joerg Sonnenberger <joerg@bec.de> Add new -d option to tblgen. It writes a make(1)-style dependency file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132395 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
95ae09afdedcb8de3d20307c7ee924079d12c68a 23-May-2011 Jim Grosbach <grosbach@apple.com> Propagate error correctly in the MC Asm parser for leading '$' expressions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131918 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
f8cd708f14a7a172d51899b68809510ae0c4c4c8 19-May-2011 Joerg Sonnenberger <joerg@bec.de> Reapply 131644 including the missing header changes:
Introduce -fatal-assembler-warnings for the obvious purpose


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131655 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
8bd71a1ec1cf2e24aca43b05319fad82e2c00af7 19-May-2011 Eli Friedman <eli.friedman@gmail.com> Revert r131644; it's breaking the build.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131653 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
bae1c924cea2a6aee5e6259da650c792b64bb370 19-May-2011 Joerg Sonnenberger <joerg@bec.de> Introduce -fatal-assembler-warnings for the obvious purpose


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131644 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
f9efd83166401bca542c6702ea329f9901c4e04b 10-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Parsing and plumbing for .cfi_sections.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131117 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
6db7fe873624dd5e5e21c263614df32577e40c95 29-Apr-2011 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Generalize a check.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130515 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
3f3bf9387b75f4c932e4c59bd7af719d26ae4b99 18-Apr-2011 Devang Patel <dpatel@apple.com> Reduce clutter in asm output. Do not emit source location as comment for each instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
066c2f495ae396ce5335e374c45b1e4ace4f2470 13-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Be consistent about being virtual and returning void in the cfi methods.
Implement the ones that were missing in the asm streamer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
5d7dcd3335234d2a2bc16dc69f86fbb5dcaa8962 12-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Remove LastOffset from the asm parser.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129378 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
25f492e77858dc5a95fcd7180e73aff47925b668 12-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Fix the case of a .cfi_rel_offset before any .cfi_def_cfa_offset.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129362 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
c57543964d1382d3d3a5005f415b6c0f49671b3a 12-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Implement .cfi_same_value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129361 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
f3755b2d0e7aa8e849f6ec6f95584cadb1412135 12-Apr-2011 Eric Christopher <echristo@apple.com> 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129322 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
a61842bf6ec00385488ef63df00f4627ca22b233 11-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Implement cfi_rel_offset

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129306 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
53abbe50646a1d552ec46733f1776b2b6e6ef0ed 11-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> implement .cfi_adjust_cfa_offset.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129296 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
ce8463f1fb223ecea1243b2274a7c18ddab6e815 07-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Add support for .skip.
Patch by Roman Divacky.
Fixes PR9361.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
360d8d7a02188c694b79e5e4c8fafcfa84257938 29-Mar-2011 Kevin Enderby <enderby@apple.com> Added support symbolic floating point constants in the MC assembler for Infinity
and Nans with the same strings as GAS supports. rdar://8673024


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128488 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
8b2b43c41d2f9a25d1eb387bd74dd761fe3cb83b 25-Mar-2011 Daniel Dunbar <daniel@zuster.org> MC: Improve some diagnostics on uses of '.' pseudo-symbol.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128289 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
0143ac136847977bea1ba49f4f343feeabfc6a13 25-Mar-2011 Daniel Dunbar <daniel@zuster.org> Tidyness.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128288 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
93c65e6e661eda75711363bdd5ca15909920e1f0 24-Feb-2011 Joerg Sonnenberger <joerg@bec.de> 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126443 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
33b7bebca4be7e6759e61223d6b058d47ad0e071 23-Feb-2011 Jim Grosbach <grosbach@apple.com> 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126336 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
738a00eb861c045dc11366b4d3203cde0e528f22 15-Feb-2011 Roman Divacky <rdivacky@freebsd.org> Add support for parsing [expr].

This is submitted by Joerg Sonnenberger and fixes his PR8685.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125595 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
de2f5f423bc87f6f1ee0d02862b00cc32940a93a 11-Feb-2011 Jim Grosbach <grosbach@apple.com> More whitespace cleanup...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125388 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
0fd90bc12f77820e757ef3a427fab9f66aba6381 08-Feb-2011 Benjamin Kramer <benny.kra@googlemail.com> Support for .ifdef / .ifndef in the assembler parser. Patch by Joerg Sonnenberger.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125120 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
720b918eebfae06dd15dc2e232f51b95a36586f3 04-Feb-2011 Bob Wilson <bob.wilson@apple.com> Do not sign extend floating-point values in the asm parser.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124831 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
bb6d14fbfe9b665aff5778e0eaecaabacfaf0bcc 31-Jan-2011 Roman Divacky <rdivacky@freebsd.org> Enumerate .code16/32/64 instead of checking .code prefix. This
unbreaks some ARM tests.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124608 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
f6fbd84c56ce45ca7657a9b1098569ab380cd4e1 31-Jan-2011 Roman Divacky <rdivacky@freebsd.org> Error on all .code* directives instead of just .code16 as they
all lead to a silent miscompilation of code.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124603 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
cb727801760a26441d08b593f3a5dc2b5dbdf16d 28-Jan-2011 Roman Divacky <rdivacky@freebsd.org> Error on .code16 instead of producing wrong (32bit) code.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124498 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
14e66553d57ebec1d8ca6619f6570c5342a7a764 28-Jan-2011 Roman Divacky <rdivacky@freebsd.org> Add support for parsing .float



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124485 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
4c4c7329603491838d9c089dfbce19915c1431ea 28-Jan-2011 Nico Weber <nicolasweber@gmx.de> PR8951: Support for .equiv in integrated assembler, patch by Jörg Sonnenberger!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124467 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
54b0f4f2a42919e9073c7220394cbc2d2b23f9bf 27-Jan-2011 Roman Divacky <rdivacky@freebsd.org> Add support for specifying register name in cfi-register/offset/def
as well as register number.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
69c4ef321c9f6e12c66a3f2809e12faec21d4249 25-Jan-2011 Bill Wendling <isanbard@gmail.com> 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124229 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
4121e8a0bd56a63e2d5186d99b62c7bd6afc9b5d 20-Jan-2011 Jim Grosbach <grosbach@apple.com> Make sure to propogate the error code when we fail to parse a modifier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123857 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
caf1158b0f4ee5bd1bfc2c275e95e6fbb359df9d 29-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Correctly encode pcrel|indirect.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122624 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
b40a71fda188f8ca564e606ac2cb051a44ada311 29-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> 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 :-)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
fe024d0a624404ada11fb330e7360abc5f88742e 28-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Implement .cfi_remember_state and .cfi_restore_state.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
bdc3167c086dd4358e24692075db5e7784140843 27-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Add support for .cfi_lsda.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122584 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
3a83c40ab61d5ca624f2bbadd70237c6adbdb304 27-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Add support for the same encodings of the personality function that gnu as
supports.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
d7c8ccae8e48dce3ab7c3e9b4d8a309998c47961 26-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Add basic support for .cfi_personality.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122566 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
d82ed5b7347173a827969966db740c2b34d605b9 24-Dec-2010 Kevin Enderby <enderby@apple.com> 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122531 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
476b242fe7a61e5f9ac6214b0bc5c680d24f152e 19-Dec-2010 Nick Lewycky <nicholas@mxc.ca> Add missing standard headers. Patch by Joerg Sonnenberger!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
cdfecc8759941c2996214070478d30084b79d463 22-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Add basic CFI methods to the streamer interface.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119972 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
e8e98d7f2eaa0613442ce21ab6a040c0f04f5b4d 19-Nov-2010 Kevin Enderby <enderby@apple.com> Added support for the Mach-O .symbol_resolver directive. rdar://8673046


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119816 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
435279b1a6dd5f48d30b1ca793cb661a271c4157 17-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Add support for .int.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119512 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
110f22aae897c348c97c09bbab8de12b3e82251d 17-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Add support for .2byte, .4byte and .8byte.
Fixes PR8631.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119511 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
af6b5808756d6ce335df9eb158efa33894b401c4 16-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Add .loc methods to the streamer.

Next: Add support for the !HasDotLocAndDotFile case to the MCAsmStreamer
and then switch codegen to use it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119384 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
1fdfbc47d8c0c3c34c554bda50775352b11d6ce4 16-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Parse and ignore some .cfi_* directives.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119362 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
db9835d0895337eb94c19e3a30b7d3fc8fcddfd5 15-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Fix PR8565.

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119144 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
c50a0fd7cb6da0e674e154205da65241f9c90e1d 13-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Parse and remember discriminators in .loc line. I try to output them with
another patch.
This lets us parse a bit more of the gcc 4.5 output.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118975 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
e1a2587ee273943390608df096378116ce52ffba 11-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Mark labels declared in tls sections as STT_TLS. This matches the behavior of
gas.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118818 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
603abd5619335a0d566ccfa9a3278fa0af3a0887 08-Nov-2010 Daniel Dunbar <daniel@zuster.org> Fix typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118421 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
3ff57094a7d176a759ddb1e1668489d89064f56c 02-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Add support for expressions in .sleb/.uleb directives.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118023 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
cc3acee7b3e1f5813ac604bee18928410270f464 01-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Add support for .value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117922 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
787c33718da09d3f0e4600b30c7d59e6c2632966 28-Oct-2010 Rafael Espindola <rafael.espindola@gmail.com> Add support for the .string directive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117592 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
f9d1752104b13842fe7156c96cabd7b0e43339f0 28-Oct-2010 Roman Divacky <rdivacky@freebsd.org> Use the IDVal directly as there's no need to convert to std::string.
Pointed out by Chris!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117557 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
50e7a787099b8031c3f9754c30179061eb8233b2 28-Oct-2010 Roman Divacky <rdivacky@freebsd.org> Implement .equ directive as a synonym to .set.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117553 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
b1e0f76352cd4a050834f57805e5c6481fd9329f 25-Oct-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Fix relative precedence of {+,-} and comparison ops.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117299 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
1cd9708f5cc13995a4e84ef498e4162a47f8b4f5 20-Oct-2010 Chandler Carruth <chandlerc@gmail.com> Remove remaining uses of ATTRIBUTE_UNUSED on variables, and delete three
#includes in the process.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116919 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
138abae2a2149b2bda3c5e28d3c4db97e3c82663 16-Oct-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Report .stabs directive as unsupported.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
7d4900416af3813aa9473e6ec2f0497ad5d208dd 09-Oct-2010 Michael J. Spencer <bigcheesegs@gmail.com> MC-COFF: Add COFFAsmParser. Completes PR8343.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116150 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
c0c8df3cea0dde2069edd10313a958508f99ec85 09-Oct-2010 Michael J. Spencer <bigcheesegs@gmail.com> Fix Whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116149 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
e90ea139f47752eb122af756a5714ef0b3756298 09-Oct-2010 Michael J. Spencer <bigcheesegs@gmail.com> MC: Move ParseDirectiveELFType into ELFAsmParser. COFF uses .type for something else.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116142 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
e452b171306ac255dedc46a49defc866a65184c6 05-Oct-2010 Rafael Espindola <rafael.espindola@gmail.com> Add support for a fill value in the .zero directive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115655 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
3f55c24df9527de345f6cc960944840a7a101c6a 04-Oct-2010 Kevin Enderby <enderby@apple.com> Incorporate suggestions by Daniel Dunbar after his review. Thanks Daniel!

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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115551 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
083cf1574facc9ce468fba1735c794bd7e520108 04-Oct-2010 Jan Wen Voung <jvoung@google.com> Add hook in MCSection to decide when to use "optimized nops", for each
section kind. Previously, optimized nops were only used for MachO.
Also added tests for ELF and COFF.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
c095793b4ab027181605c79c9808df12afe45d63 30-Sep-2010 Kevin Enderby <enderby@apple.com> This is the last major patch to implement support for the .loc directive
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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
a854a4bbc81fdc800e74cfc4bf6a1e4a429f1cdb 30-Sep-2010 Jan Wen Voung <jvoung@google.com> Test commit - Deleted some whitespace at the end of a line.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115122 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
7036f8be4df8a1a830ca01afe9497b035a5647d6 29-Sep-2010 Chris Lattner <sabre@nondot.org> change the protocol TargetAsmPArser::MatchInstruction method to take an
MCStreamer to emit into instead of an MCInst to fill in. This allows the
matcher extra flexibility and is more convenient.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115014 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
d1e1703c39742f3c9fc3d27a442ff59bbdbfb5aa 27-Sep-2010 Benjamin Kramer <benny.kra@googlemail.com> Push twines deeper into SourceMgr's error handling methods.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114847 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
b95a079cae7bd5232d17be8a095fa63fe84f4e44 24-Sep-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Support .single and .double for embedding floating point literals.
- I believe more modern 'gas' supports a more enhanced set of arithmetic on
them, but for now the only thing we can do is emit them as data.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
f7d4da0c1dcdac3941fe440982bce19706541629 22-Sep-2010 Chris Lattner <sabre@nondot.org> fix rdar://8456417 - llvm-mc can't do basic math



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114532 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
f7c10a3cff61c70efe8e405d9bdc5386e8e3fc0a 21-Sep-2010 Rafael Espindola <rafael.espindola@gmail.com> Implement support for .local and its "interesting" interactions with .comm.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114382 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
f3f95c9274d80ef62ab955ed0e73684f64b8c9bf 17-Sep-2010 Daniel Dunbar <daniel@zuster.org> Fix an MSVC warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114184 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
cceba838935b5018fddf7118bb8b9e6f50bbbe45 17-Sep-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Add support for 'a + 4@GOTPCREL' and friends, by reconsing the
expression to include the modifier.
- Gross, but this a corner case we don't expect to see often in practice, but
it is worth accepting.
- Also improves diagnostics on invalid modifiers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114154 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
2ea2ac798b07855bd950e848d73b8bea6bcdea4b 16-Sep-2010 Rafael Espindola <rafael.espindola@gmail.com> Add support for the .zero directive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114077 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
d80781b98b771d370730ab7c630018f23e202b57 15-Sep-2010 Rafael Espindola <rafael.espindola@gmail.com> Add a InitSections method to the streamer interface.

The ELF implementation now creates text, data and bss to match the gnu as
behavior.

The text streamer still has the old MachO specific behavior since
the testsuite checks that it will error when a directive is given
before a setting the current section for example.

A nice benefit is that -n is not required anymore when producing
ELF files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
b98ac2a71e55e685efa0fdbebdffb5228f7a512d 11-Sep-2010 Rafael Espindola <rafael.espindola@gmail.com> Add support for leb128 of absolute expressions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
cbf8a98c7c652e96967623c80cb945fef001b090 11-Sep-2010 Chris Lattner <sabre@nondot.org> fix the asmparser so that the target is responsible for skipping to
the end of the line on a parser error, allowing skipping to happen
for syntactic errors but not for semantic errors. Before we would
miss emitting a diagnostic about the second line, because we skipped
it due to the semantic error on the first line:

foo %eax
bar %al

This fixes rdar://8414033 - llvm-mc ignores lines after an invalid instruction mnemonic errors


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113688 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
1ab6f2fa7a38a12d8f20157d71e5280a253f2578 10-Sep-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Don't crash when using -n and we see a directive before the initial section.
- This is annoying, because we have to scatter this check everywhere that could emit real data, but I see no better solution.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113552 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
93bd4d1e6b81b71ce56888e760ce0c9abe44023f 10-Sep-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Make sure we exit != 0 if any errors are encountered.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113551 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
34e53140c2cc02ce4c9d060e48302576d3962e1c 08-Sep-2010 Chris Lattner <sabre@nondot.org> change the MC "ParseInstruction" interface to make it the
implementation's job to check for and lex the EndOfStatement
marker.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113347 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
6d8f1a9a18f07ec099d6f6e9e8e9376e6885c8ea 24-Aug-2010 Kevin Enderby <enderby@apple.com> Change the parsing of .loc back to allow the LineNumber field to be optional as
it is with other assemblers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
c1840b3da25222680b51f853697a871fedda51d5 24-Aug-2010 Kevin Enderby <enderby@apple.com> First bit of support for the dwarf .loc directive. This patch updates the
needed parsing for the .loc directive and saves the current info from that
into the context. The next patch will take the current loc info after an
instruction is assembled and save that info into a vector for each section for
use to build the line number tables. The patch after that will encode the info
from those vectors into the output file as the dwarf line tables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111956 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
e17edff28f684b5c59db395bdecb7b5330638398 24-Aug-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Change ParseExpression to use ParseIdentifier(), to support
dollars in identifiers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111946 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
1f1b865c4062365712a1549191482bd6dd174f51 24-Aug-2010 Daniel Dunbar <daniel@zuster.org> MC/Parser: Accept leading dollar signs in identifiers.
- Implemented by manually splicing the tokens. If this turns out to be
problematically platform specific, a more elegant solution would be to
implement some context dependent lexing support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111934 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
f1e29d4c21d15f9e1e3a64f3b92b1aa9908e4f63 12-Aug-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Push the burdon of emitting diagnostics about unmatched
instructions onto the target specific parser, which can do a better job.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110889 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
3c14ca47fc057c5999cd41ce2782e0ebaa2bcf7d 11-Aug-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Add -show-inst-operands, for dumping the parsed instruction representation before matching.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110791 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
e25c6b95cec7d8e774488c867998a94c3110250f 10-Aug-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Fix a bug in macro argument parsing, which was dropping
parentheses from argument lists.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110692 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
56491303a6e6daa16f3bd92fb11d757f73e85b6a 29-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC: Destroy Macro instances.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109720 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
7cbf73a73f296167b6e978dbd919ed249e88eeb5 28-Jul-2010 Kevin Enderby <enderby@apple.com> Added first bit of support for the dwarf .file directive. This patch collects
the info from the .file directive and makes file and directory tables that
will eventually be put out as part of the dwarf info in the output file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109651 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
5d68ec22299f97f1231966ef9667aa53d06a96a0 19-Jul-2010 Eli Friedman <eli.friedman@gmail.com> Make .align parse correctly on platforms where .align is measured in bytes.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108674 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
1edf6ca2cbb4b01db44683d5e9479a240cfcf497 19-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Stop playing unsafe member function pointer calls, this isn't
portable enough.
- Downside is we now double dispatch through a stub function, but this isn't
performance critical.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108661 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
6a46d571b461246e36f82c146e17bf614d2114ea 18-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Fix .abort and .secure_log_unique to accept arbitrary token
sequences, not just strings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108655 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
7a570d09ac8630f782d394878baf6645cfd264e7 18-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Add macro argument substitution support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108654 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
c64a0d7c3e55cf7d8bc8b49dcc447a3d809b11c8 18-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Add basic support for macro instantiation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108653 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
6d8cf082f643a585b82e8dd136641ee4638b8c7a 18-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Add basic parsing support for .macro definitions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108652 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
3c802de01af19964c41cc17e9d788271d42dbcdb 18-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Add .macros_{off,on} support, not that makes sense since we don't
support macros.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108649 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
275ce397941bc64c6d1643c8c62dbc97a5ebc717 18-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Use Error() instead of calling PrintMessage() directly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108648 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
aef87e3307f61fa54004b5ea01b619bf4e901ac3 18-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Hide the AsmParser implementation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108646 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
d1e3b44d6c0094eda2e2a854d5fdb6a0d7ba327e 17-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Lift Run() and TargetParser to base class.

Also, add constructor function for creating AsmParser instances.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108604 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
a955853961da51330995b48329e61131235b166c 15-Jul-2010 Chris Lattner <sabre@nondot.org> fix indentation and 80 cols


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
38e59891ee4417a9be2f8146ce0ba3269e38ac21 15-Jul-2010 Benjamin Kramer <benny.kra@googlemail.com> Don't pass StringRef by reference.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
5146a0970df05711ec85cd1d54c79feb0df4fcfc 12-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Move ELF specific parser to ELFAsmParser.cpp.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108196 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
9c23d7f25ec2132292208799386e993cf661dfb5 12-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Move Darwin specific parse to DarwinAsmParser.cpp.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
4d5fe97c479ed3a2736755a3b821f5ff99c67cdc 12-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Move .section parsing to Darwin specific parser.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108190 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
47f5608029cbb7213b8624294f7ff1c39c952b6b 12-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Move special section directive parsing to Darwin specific parser.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108187 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
7a56fc224c80334269e08dc400b27c8513263848 12-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Add a basic ELFAsmParser extension.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108185 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
4c7c08bfbfc3858bddf0ba52550edb683f0070c9 12-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Inline AsmParser::CreateSymbol into callers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108183 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
b6c3a607ac91dc4fdd0b195e9df2b04eaa53a1ef 12-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Move .tbss and .zerofill parsing to Darwin specific parser.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108180 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
492b7a21cb28adf8819ee369f42a8129de5227ae 12-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Move .desc parsing to Darwin specific parser.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108179 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
38a4e2acb7d01fbba3544882084bc9955812b7d3 12-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Move .lsym parsing to Darwin specific parser.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108176 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
9ac66b008d74d0a981455a2220136c59cf363226 12-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Move some misc. Darwin directive handling to DarwinAsmParser.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108174 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
e47497087b00fd4519057d3bd30e8bd4af61c6ca 12-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Add a DarwinAsmParser extension.
- Currently initialization is a bit of a hack, but harmless. We need to rework
various parts of target initialization to clean this up.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108165 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
8f34bead907e6a7d2113c7b4ee7fcca20df6336b 12-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Switch a bunch of directive parsing to use accessors.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108163 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
81ea00f45d59953d34a1db4973dd72d14080ab15 12-Jul-2010 Daniel Dunbar <daniel@zuster.org> MCAsmParser: Pull some directive handling out into a helper class, and change
DirectiveMap to be based on MCAsmParserExtension.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108161 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
eceec05c82d5012aab96e973ad646bc470c473be 12-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Switch some directive parsing to use accessor methods.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108160 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
53131982d6290e3a865f400174778deaac452ff3 12-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC: Add MCAsmParserExtension, a base class for all the target/object specific
classes which want to extend the basic asm parser.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108158 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
dc4c7da5d4c73bef2ce73ce0f96019457337c402 12-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC: Move AsmParser::TokError to MCAsmParser().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108155 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
3472766f9eb7d66f234c390ce1b3a8b76f0ee9ce 12-Jul-2010 Duncan Sands <baldrick@free.fr> Convert some tab stops into spaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108130 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
f59cac5ed36360b4c462781051f996b3499d7e0f 08-Jul-2010 Kevin Enderby <enderby@apple.com> Added the darwin .weak_def_can_be_hidden directive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107886 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
b57096842479bc67111a16f0a0bcee717eb6df8c 01-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC: Fix some stray hunks I didn't intend to commit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107428 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
9186fa6b0c8806786cae78bed50f95d1c7ce2b00 01-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC: Pass the target instance to the AsmParser constructor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107426 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
839348a9f04977862935f4a7734b1b855d1162c2 01-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC: Fix an error message.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107424 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
44886ac5eb52a14a88461fd89f230ae5f43690fb 29-Jun-2010 Duncan Sands <baldrick@free.fr> Remove unused calls to Lexer.getLoc and the pointless variable HasFillExpr.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107136 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
f187ac5a23213f85c3c1f0f80b3592295ee6441d 28-Jun-2010 Kevin Enderby <enderby@apple.com> Added the darwin .secure_log_unique and .secure_log_reset directives.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107077 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
414c0c43d392fab3bed731482186e0022fe4dc18 23-May-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Use EmitIntValue where possible, which makes the API calls from the AsmParser and CodeGen line up better.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104467 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
01777ff0941cad56f8b5efca0b5cdd27f5df176c 23-May-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Use AddBlankLine in asm parser. This makes transliteration match the input much more closely, and also makes the API calls from the AsmParser and CodeGen line up better.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104466 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
924c5e58f2a7c89019000e7dee3391dcebdf8a21 21-May-2010 Matt Fleming <matt@console-pimps.org> Add support for parsing the ELF .type assembler directive.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104316 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
a7f1354eb5289b340220c9138befff89822119b2 20-May-2010 Chris Lattner <sabre@nondot.org> fix rdar://7986634 - match instruction opcodes case insensitively.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104183 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
4d01cbe93b0e1a349b5c2881f1b319963f9e0504 18-May-2010 Eric Christopher <echristo@apple.com> Make EmitTBSSSymbol take a section argument so that we can find it later.
Fix up callers and users.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104057 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
ebe7fcd041e1e9c3a0c535b26d8cdb45805bbeb8 18-May-2010 Kevin Enderby <enderby@apple.com> Added support in MC for Directional Local Labels.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103989 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
c6177a4531a5d7e2207a3184cc8a4f1792073a7d 18-May-2010 Eric Christopher <echristo@apple.com> More data/parsing support for tls directives. Add a few more testcases
and cleanup comments as well.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103985 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
648ac5153e2317d8eb21c5b201f7c58e6a04e2d6 17-May-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O/x86: Optimal nop sequences should only be used for the .text sections, not all sections in the text segment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103981 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
525a3a67c16c2d1d9ce9d75ed1b44296be6c2270 17-May-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Support reassignment of variables in one special case, when the
variable has not yet been used in an expression. This allows us to support a few
cases that show up in real code (mostly because gcc generates it for Objective-C
on Darwin), without giving up a reasonable semantic model for assignment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103950 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
d04d98d24fe5c82c7e69b711cd989ef96980fb8e 17-May-2010 Eric Christopher <echristo@apple.com> Assume that we'll handle mangling the symbols earlier and just put the
symbol to the file as we have it. Simplifies out tbss handling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103928 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
482eba054ab3543ee0e1f453d3d6441092f4b76d 14-May-2010 Eric Christopher <echristo@apple.com> Add AsmParser support for darwin tbss directive.

Nothing uses this yet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
c260a3e59af7d1b283ecd513523ccbd6de574f30 14-May-2010 Eric Christopher <echristo@apple.com> Fix a couple of typos.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103756 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
7bb7c55a619c29f96518f4a0da57799cdef27167 13-May-2010 Chris Lattner <sabre@nondot.org> fix rdar://7965971 and a fixme: use ParseIdentifier in
ParseDirectiveDarwinZerofill instead of hard coding the
check for identifier. This allows quoted symbol names to
be used.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103682 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
c304718fd8fa25f3f36f47f3de0e0cfe7578bc9e 05-May-2010 Daniel Dunbar <daniel@zuster.org> MC: Reject attempts to define a variable symbol.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103111 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
08a408a4b3224627db07eb27e174085d8e1d2426 05-May-2010 Daniel Dunbar <daniel@zuster.org> MC: Rename MCSymbol::{g,s}etValue -> MCSymbol::{g,s}etVariableValue.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103095 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
31e8e1d08566c9b169df003d499a7e22856e5408 04-May-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Fix case were we would skip a line in the .s file after an instruction
match failure.

Also, fixes a few memory leak FIXMEs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102986 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
7834facff938cccce294e5c4065202d922411a5d 17-Apr-2010 Chris Lattner <sabre@nondot.org> refactor .if handling code a bit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
d305035155ef3d138e102434bf5a733ea2e32405 14-Apr-2010 Chris Lattner <sabre@nondot.org> implement mc asmparser support for '.', which gets the
current PC. rdar://7834775

We now produce an identical .o file compared to the cctools
assembler for something like this:

_f0:
L0:
jmp L1
.long . - L0
L1:
jmp A
.long . - L1

.zerofill __DATA,_bss,A,0



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101227 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
f0559e4b242e85d4b9d1dd08758814c599bdce13 08-Apr-2010 Chris Lattner <sabre@nondot.org> move macho section uniquing from MCParser and TLOF to MCContext where
the compiler and asmparser now unique to the same sections. This fixes
rdar://7835021.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100807 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
79180e2ef5ff4aa3c8f64b13736e8648663f3965 06-Apr-2010 Chris Lattner <sabre@nondot.org> Give AsmParser an option to control whether it finalizes
the stream. New demo:

$ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o
$ otool -tv t.o
t.o:
(__TEXT,__text) section
_foo:
0000000000000000 subq $0x08,%rsp
0000000000000004 movl %edi,(%rsp)
0000000000000007 movl %edi,%eax
0000000000000009 incl %eax
000000000000000b movl %eax,(%rsp)
000000000000000e movl %eax,0x04(%rsp)
0000000000000012 addq $0x08,%rsp
0000000000000016 ret



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
9b97a73dedf736e14b04a3d1a153f10d25b2507b 30-Mar-2010 Chris Lattner <sabre@nondot.org> Rip out the 'is temporary' nonsense from the MCContext interface to
create symbols. It is extremely error prone and a source of a lot
of the remaining integrated assembler bugs on x86-64.

This fixes rdar://7807601.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99902 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
4e815f8a8cae6c846cdca52420046cab902865de 16-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC: Allow modifiers in MCSymbolRefExpr, and eliminate X86MCTargetExpr.
- Although it would be nice to allow this decoupling, the assembler needs to be able to reason about MCSymbolRefExprs in too many places to make this viable. We can use a target specific encoding of the variant if this becomes an issue.
- This patch also extends llvm-mc to support parsing of the modifiers, as opposed to lumping them in with the symbol.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98592 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
5e6a7a248b980dd2a98a3613c72b75ba9d01d162 13-Mar-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Support -n, useful for comparing -integrated-as output since the
compiler may not lead with the text section.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
0965200ac21fb481557f256c86d057df13bbb55e 10-Mar-2010 Daniel Dunbar <daniel@zuster.org> Remove unneeded includes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98167 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
00685bb5cf791fcda9fa0ceb42a6a62a07478461 10-Mar-2010 Chris Lattner <sabre@nondot.org> eliminate MCContext::CreateSymbol and CreateTemporarySymbol.
Add a new GetOrCreateTemporarySymbol method and a version that
takes a twine.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98118 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
f60e9bbbad8934341cfbdb6ccdd454f89a36e366 26-Feb-2010 Chris Lattner <sabre@nondot.org> pass in more section kinds, enough to get the .align 0x90
stuff to emit optimal nops in the right places.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97233 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
d74acb0c78c3b738ae8f313461433105fb18543b 25-Feb-2010 Kevin Enderby <enderby@apple.com> This is a patch to the assembler frontend to detect when aligning a text
section with TextAlignFillValue and calls EmitCodeAlignment() instead of
calling EmitValueToAlignment(). This allows x86 assembly code to be aligned
with optimal nops.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97158 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
e9a60eb4987a096df10de0442af1e2929bc32547 13-Feb-2010 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Attempt to constant fold expressions up-front. This ensures we avoid fixups for obvious cases like '-(16)'.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96064 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
d32e80307395581eac25b4b081dc4e42860b62b9 25-Jan-2010 Chris Lattner <sabre@nondot.org> wirte up .file and .file to the mc asmparser.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
75f265fbbbb64ab060bf41c5a4677ce56014ce9f 24-Jan-2010 Chris Lattner <sabre@nondot.org> fix a parsing problem on instructions like:
movw $8, (_cost_table_-L97$pb)+66(%eax)

After the parens, we could still have a binop.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94345 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
a5ad93a10a5435f21090b09edb6b3a7e44967648 23-Jan-2010 Chris Lattner <sabre@nondot.org> move the various directive enums out of the MCStreamer class
into a new MCDirectives.h file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94294 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
be343b3ca3f53d5d5e29f3591af8b9bb831daa98 22-Jan-2010 Chris Lattner <sabre@nondot.org> move some files out of the llvm-mc tool into the MCParser library so
other tools can link it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp