History log of /external/llvm/lib/MC/MCParser/AsmParser.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cd81d94322a39503e4a3e87b6ee03d4fcb3465fb 21-Jul-2014 Stephen Hines <srhines@google.com> Update LLVM for rebase to r212749.

Includes a cherry-pick of:
r212948 - fixes a small issue with atomic calls

Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/lib/MC/MCParser/AsmParser.cpp
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/MC/MCParser/AsmParser.cpp
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/MC/MCParser/AsmParser.cpp
c8f4e5db29270fc7ed164af973ece7ba5921539b 25-Oct-2013 Tim Northover <tnorthover@apple.com> ARM: allow .thumb_func to be separated from symbol definition

When assembling, a .thumb_func directive is supposed to be applicable to the
next symbol definition, even if there are intervening directives. We were
racing ahead to try and find it, and this commit should fix the issue.

Patch by Gabor Ballabas

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193403 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
22f9dd4591e8af6d6feed10a4b6e11a784582edc 18-Oct-2013 Hans Wennborg <hans@hanshq.net> MC asm parser: allow ?'s in symbol names, and handle @'s in names in MS asm

This is another (final?) stab at making us able to parse our own asm output
on Windows.

Symbols on Windows often contain @'s and ?'s in their names. Our asm parser
didn't like this. ?'s were not allowed, and @'s were intepreted as trying to
reference PLT/GOT/etc.

We can't just add quotes around the bad names, since e.g. for MinGW, we use gas
to assemble, and it doesn't like quotes in some places (notably in .def
directives).

This commit makes us allow ?'s in symbol names, and @'s in symbol names for MS
assembly.

Differential Revision: http://llvm-reviews.chandlerc.com/D1978

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193000 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
ab887bf52c99c2c9a4346b6dea2b8118e18a4282 18-Oct-2013 Hans Wennborg <hans@hanshq.net> Revert "Re-commit r192758 - MC: quote tricky symbol names in asm output"

This caused the clang-native-mingw32-win7 buildbot to break.

The assembler was complaining about the following lines that were showing up
in the asm for CrashRecoveryContext.cpp:

movl $"__ZL16ExceptionHandlerP19_EXCEPTION_POINTERS@4", 4(%eax)
calll "_AddVectoredExceptionHandler@8"
.def "__ZL16ExceptionHandlerP19_EXCEPTION_POINTERS@4";
"__ZL16ExceptionHandlerP19_EXCEPTION_POINTERS@4":
calll "_RemoveVectoredExceptionHandler@4"

Reverting for now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192940 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
b74b88edac9ab490ba428aef0bdebc957399bbd7 17-Oct-2013 Hans Wennborg <hans@hanshq.net> Re-commit r192758 - MC: quote tricky symbol names in asm output

The reason this got reverted was that the @feat.00 symbol which was emitted
for every TU became quoted, and on cygwin/mingw we use the gas assembler which
couldn't handle the quotes.

This commit fixes the problem by only emitting @feat.00 for win32, where we use
clang -cc1as to assemble. gas would just drop this symbol anyway, so there is no
loss there.

With @feat.00 gone, there shouldn't be quoted symbols showing up on cygwin since
it uses the Itanium ABI, which doesn't put these funny characters in symbols.

> Because of win32 mangling, we produce symbol and section names with
> funny characters in them, most notably @ characters.
>
> MC would choke on trying to parse its own assembly output. This patch addresses
> that by:
>
> - Making @ trigger quoting of symbol names
> - Also quote section names in the same way
> - Just parse section names like other identifiers (to allow for quotes)
> - Don't assume @ signifies a symbol variant if it is in a string.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192859 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
32c24da3730e8e5ea7df3ce7aeffa257b2e7f02f 16-Oct-2013 NAKAMURA Takumi <geek4civic@gmail.com> Revert r192758 (and r192759), "MC: Better handling of tricky symbol and section names"

GNU AS didn't like quotes in symbol names.

Error: junk at end of line, first unrecognized character is `"'

.def "@feat.00";
"@feat.00" = 1

Reproduced on Cygwin's 2.23.52.20130309 and mingw32's 2.20.1.20100303.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192775 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
508d7b7330968c48e69f0da82c66bdcc0afe6190 16-Oct-2013 Hans Wennborg <hans@hanshq.net> MC: Better handling of tricky symbol and section names

Because of win32 mangling, we produce symbol and section names with
funny characters in them, most notably @ characters.

MC would choke on trying to parse its own assembly output. This patch addresses
that by:

- Making @ trigger quoting of symbol names
- Also quote section names in the same way
- Just parse section names like other identifiers (to allow for quotes)
- Don't assume @ signifies a symbol variant if it is in a string.

Differential Revision: http://llvm-reviews.chandlerc.com/D1945

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192758 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
6d389f5ebae9aa08309c5795234cf155054b6b39 05-Oct-2013 Jack Carter <jack.carter@imgtec.com> reverting per request

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191992 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
8e48edcf3dd7dea9fec58b05a6ace6fbd0260d7c 04-Oct-2013 Jack Carter <jack.carter@imgtec.com> [MC][AsmParser] Hook for post assembly file processing

This patch handles LLVM standalone assembler (llvm-mc) ELF flag setting based on input file
directive processing.

Mips assembly requires processing inline directives that directly and
indirectly affect the output ELF header flags. This patch handles one
".abicalls".

To process these directives we are following the model the code generator
uses by storing state in a container as we go through processing and when
we detect the end of input file processing, AsmParser is notified and we
update the ELF header flags through a MipsELFStreamer method with a call from
MCTargetAsmParser::emitEndOfAsmFile(MCStreamer &OutStreamer).

This patch will allow other targets the same functionality.

Jack


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191982 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
deac137da710cd8566b857ee9d1e182d4fd35932 27-Sep-2013 Adrian Prantl <aprantl@apple.com> MCParser/Debug info: Accept line number 0 as a legitimate value, since
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191471 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
83ba58e5f0a5afbb23d7d2092d817accded4455a 26-Sep-2013 Venkatraman Govindaraju <venkatra@cs.wisc.edu> Implements parsing and emitting of .cfi_window_save in MC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191431 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
3f22cc1df64a6dd6a3ecc5e7e261f15af083f806 25-Sep-2013 David Majnemer <david.majnemer@gmail.com> MC: Add support for treating $ as a reference to the PC

The binutils assembler supports a mode called DOLLAR_DOT which treats
the dollar sign token as a reference to the current program counter if
the dollar sign doesn't precede a constant or identifier.

This commit adds a new MCAsmInfo flag stating whether or not a given
target supports this interpretation of the dollar sign token; by
default, this flag is not enabled.

Further, enable this flag for PPC. The system assembler for AIX and
binutils both support using the dollar sign in this manner.

This fixes PR17353.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
9c60710c8045f6f22151da1271e2d40d1f68bcfd 24-Sep-2013 Roman Divacky <rdivacky@freebsd.org> Make the size and expr arguments of .fill directive optional.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
0d293e45b66c742fdbc3998209bb20ed6c5806bf 22-Sep-2013 Benjamin Kramer <benny.kra@googlemail.com> Provide basic type safety for array_pod_sort comparators.

This makes using array_pod_sort significantly safer. The implementation relies
on function pointer casting but that should be safe as we're dealing with void*
here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191175 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
4a20092e638935be11e87d33f7e5b35140162bd2 21-Sep-2013 Jim Grosbach <grosbach@apple.com> MC: Tidy up.

Clean up some simple code quality issues. Bring internal naming
conventions up to current standard, fix inconsistent formatting, and
tidy up a couple of odd contructs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191117 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
b06ea25b4c4cff341194279e01c08d23fa022378 17-Sep-2013 Jakub Staszak <kubastaszak@gmail.com> Use reference instead of copy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190813 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
ed119820f223401b0c64769759eafc46de30a9da 05-Sep-2013 Yunzhong Gao <Yunzhong_Gao@playstation.sony.com> Improve handling of .file, .include and .incbin directives to
allow escaped octal character sequences.

The patch was discussed in Phabricator. See:
http://llvm-reviews.chandlerc.com/D1289



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190089 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
4f066b6db8a7a95b206725aecf99a64fd6e9415c 28-Aug-2013 Kevin Enderby <enderby@apple.com> The integrated darwin assembler can hang in an infinite loop (or get an assert
with a debug build) with this buggy .indirect_symbol directive usage:

% cat test.s
x: .indirect_symbol _y

The assertion is because it is trying to get the symbol index for the
symbol _y when it is writing out the indirect symbol table. This line of
code in MachObjectWriter::WriteObject() :

Write32(Asm.getSymbolData(*it->Symbol).getIndex());

And while there is a symbol _y it does not have any getSymbolData set which
is only done in MachObjectWriter::BindIndirectSymbols() for pointer sections
or stub sections. I added a check and an error in there to catch this in case
something slips through.

But to get a better error the parser should detect when a .indirect_symbol
directive is used and it is not in a pointer section or stub section. To make
that work I moved the handling of the indirect symbol out of the target
independent AsmParser code into the DarwinAsmParser code that can check
for the proper Mach-O section types.

rdar://14825505


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189497 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
66b7139b1be1ddce410d97499d5831231c6be267 27-Aug-2013 Joerg Sonnenberger <joerg@bec.de> Given target assembler parsers a chance to handle variant expressions
first. Use this to turn the PPC modifiers into PPC specific expressions,
allowing them to work on constants.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189400 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
7b0a79601b277581dc3c089af71fed641887c38d 20-Aug-2013 Vladimir Medic <Vladimir.Medic@imgtec.com> Fix style issues in AsmParser.cpp

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188798 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
1c9cd021c8999d9c2c0786dff074d1e75bbd0eb2 09-Aug-2013 Saleem Abdulrasool <compnerd@compnerd.org> [CodeGen] prevent abnormal on invalid attributes

Currently, when an invalid attribute is encountered on processing a .s file,
clang will abort due to llvm_unreachable. Invalid user input should not cause
an abnormal termination of the compiler. Change the interface to return a
boolean to indicate the failure as a first step towards improving hanlding of
malformed user input to clang.

Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
a2b0c335d8218e08e5014ce59cb52011f4d3bd55 04-Aug-2013 Benjamin Kramer <benny.kra@googlemail.com> AsmParser: Store MacroLikeBodies on the side so they don't get leaked.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187702 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
a3863ea2dacafc925a8272ebf9884fc64bef686c 02-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove address spaces from MC.

This is dead code since PIC16 was removed in 2010. The result was an odd mix,
where some parts would carefully pass it along and others would assert it was
zero (most of the object streamer for example).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
a89594947ef50b77935c70e10b402337ce47e3ed 21-Jun-2013 Kevin Enderby <enderby@apple.com> Improve the time it takes to generating dwarf for assembly source files
that have been run through the 'C' pre-processor.

The implementation of SrcMgr.FindLineNumber() is slow but OK if
it uses its cache when called multiple times with an SMLoc that is
forward of the previous call.

In the case of generating dwarf for assembly source files that have
been run through the 'C' pre-processor we need to calculate the
logical line number based on the last parsed cpp hash file line
comment. And the current code calls SrcMgr.FindLineNumber()
twice to do this causing its cache not to work and results in very
slow compile times:

% time /Volumes/SandBox/build-llvm/Debug+Asserts/bin/llvm-mc -triple thumbv7-apple-ios -filetype=obj -o /tmp/x.o mscorlib.dll.E -g
672.542u 0.299s 11:13.15 99.9% 0+0k 0+2io 2106pf+0w

So we save the info from the last parsed cpp hash file line comment
to avoid making the second call to SrcMgr.FindLineNumber() most times
and end up with compile times like:

% time /Volumes/SandBox/build-llvm/Debug+Asserts/bin/llvm-mc -triple thumbv7-apple-ios -filetype=obj -o /tmp/x.o mscorlib.dll.E -g
3.404u 0.104s 0:03.80 92.1% 0+0k 0+3io 2105pf+0w

rdar://14156934


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184592 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
151ad37fed2685f020bbed5b342ad7c0c35616bd 20-Jun-2013 Ulrich Weigand <ulrich.weigand@de.ibm.com> [MC] Support @ variants with directional labels

The assembler parser common code supports recognizing symbol variants
using the @ modifer. On PowerPC, it should also be possible to use
(some of) those modifiers with directional labels, like "1f@l".

This patch adds support for accepting symbol variants on directional
labels as well.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184437 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
99cb622041a0839c7dfcf0263c5102a305a0fdb5 18-Jun-2013 Bill Wendling <isanbard@gmail.com> Use pointers to the MCAsmInfo and MCRegInfo.

Someone may want to do something crazy, like replace these objects if they
change or something.

No functionality change intended.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184175 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
da2ed458b4e7066fc414c403173b882ccc2c8833 15-May-2013 Sylvestre Ledru <sylvestre@debian.org> Fix two typo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181848 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
88535dda9050377cc52dfffa20664484b0bb9f7f 07-May-2013 Kevin Enderby <enderby@apple.com> Fix a bug in the MC asm parser evaluating expressions. It was treating:
A = 9
B = 3 * A - 2 * A + 1 as B = 3 * A - (2 * A + 1)

rdar://13816516


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
5c332dbd30d9398ed25b30c3080506f7b8e92290 05-May-2013 Dmitri Gribenko <gribozavr@gmail.com> Add ArrayRef constructor from None, and do the cleanups that this constructor enables

Patch by Robert Wilhelm.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181138 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
087c309779dbd20b3924319fd8f84df663a62058 23-Apr-2013 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Get the OpDecl and remove a redundant lookup.
Part of rdar://13663589

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180057 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
44021515d76ec9b529f2adbc252552869b1357d5 22-Apr-2013 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Refactor/clean up the SemaLookup interface. No functional
change indended.
Part of rdar://13663589

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180028 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
955d1e984cd05c6c5b3b387993da0980ee34517b 22-Apr-2013 Craig Topper <craig.topper@gmail.com> Fix indentation. No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179994 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
efa703dace37263b189b542e0172fec4f2b6ace0 22-Apr-2013 Craig Topper <craig.topper@gmail.com> Put 'else' on same line as preceding curly brace per coding standards. No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179993 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
007b40ff9fe47a6e97c2d2cebc260cfef604819e 22-Apr-2013 Craig Topper <craig.topper@gmail.com> Remove an unreachable 'break' following a 'return'.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179991 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
df39be6cb4eb44011db3d3e86f8fe463f81ce127 17-Apr-2013 Peter Collingbourne <peter@pcc.me.uk> Add support for subsections to the ELF assembler. Fixes PR8717.

Differential Revision: http://llvm-reviews.chandlerc.com/D598

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
dda4b6bf25dbdb3051513eb59885b3f3de8fe3b0 12-Apr-2013 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Add the implementation for the AOK_Delete kind, which was added
in r179325. Test case coming shortly on the clang side.
Part of rdar://13453209

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179383 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
f06cc981495991d2095ed4066f0eb9c0241c0a61 11-Apr-2013 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Remove brackets from around a symbol reference in the target
specific logic. This makes the code much less fragile. Test case coming on the
clang side in a moment.
rdar://13634327


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
ba69b366929a39d393e7eed0bbf2edc31d8de599 10-Apr-2013 Chad Rosier <mcrosier@apple.com> Reapply r179115, but use parsePrimaryExpression a little more judiciously.
Test cases that regressed due to r179115, plus a few more, were added in
r179182. Original commit message below:

[ms-inline asm] Use parsePrimaryExpr in lieu of parseExpression if we need to
parse an identifier. Otherwise, parseExpression may parse multiple tokens,
which makes it impossible to properly compute an immediate displacement.
An example of such a case is the source operand (i.e., [Symbol + ImmDisp]) in
the below example:

__asm mov eax, [Symbol + ImmDisp]

Part of rdar://13611297

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179187 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
3eb6d7fcd024b67d548e4c3a075682d7cff1599e 09-Apr-2013 Chad Rosier <mcrosier@apple.com> Revert r179115 as it looks to have killed the ASan tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179120 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
d4727e3798981af3d1308418464a10a398290851 09-Apr-2013 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Use parsePrimaryExpr in lieu of parseExpression if we need to
parse an identifier. Otherwise, parseExpression may parse multiple tokens,
which makes it impossible to properly compute an immediate displacement.
An example of such a case is the source operand (i.e., [Symbol + ImmDisp]) in
the below example:

__asm mov eax, [Symbol + ImmDisp]

The existing test cases exercise this patch.
rdar://13611297


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179115 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
b976e407dcd7794eb9e151b81cdc8fbbe05e6bd8 09-Apr-2013 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Maintain a StringRef to reference a symbol in a parsed operand,
rather than deriving the StringRef from the Start and End SMLocs.

Using the Start and End SMLocs works fine for operands such as [Symbol], but
not for operands such as [Symbol + ImmDisp]. All existing test cases that
reference a variable exercise this patch.
rdar://13602265



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
6b369ceb582f2deba9c252af301667975456ff86 08-Apr-2013 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Add support for ImmDisp [ Symbol ] memory operands.
rdar://13521249


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179030 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
8a9a16bd3d1426a367d65a07ac0e51fc3f4e4ba6 19-Mar-2013 Chad Rosier <mcrosier@apple.com> Dead code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177451 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
811ddf64afb03fb2262209034900f03fa797879c 19-Mar-2013 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Move the immediate asm rewrite into the target specific
logic as a QOI cleanup. No functional change. Tests already in place.
rdar://13456414

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
0f7ccd279dc65682899a6cdb112068f512bc0246 19-Mar-2013 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Remove the brackets from X86Operand in the IR. These will be
added back in by X86AsmPrinter::printIntelMemReference() during codegen.
Previously, this following example

void t() {
int i;
__asm mov eax, [i]
}

would generate the below assembly

mov eax, dword ptr [[eax]]

which resulted in a fatal error when compiling. Test case coming on the
clang side.
rdar://13444264

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177440 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
023c8802203d7f3b433d93233ccee6f8cce9ca5d 19-Mar-2013 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Move the size directive asm rewrite into the target specific
logic as a QOI cleanup.
rdar://13445327

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
9e999adb48beb61663f6abca667b8c85068ee585 12-Mar-2013 Manman Ren <mren@apple.com> Debug Info: use SmallVector instead of std::vector in MCDwarfDirsCUMap and MCDwarfFilesCUMap


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176893 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
cb2ae3d98e3bb36e5813f8f69b00d39efd026dcd 20-Feb-2013 Jim Grosbach <grosbach@apple.com> MCParser: Update method names per coding guidelines.

s/AddDirectiveHandler/addDirectiveHandler/
s/ParseMSInlineAsm/parseMSInlineAsm/
s/ParseIdentifier/parseIdentifier/
s/ParseStringToEndOfStatement/parseStringToEndOfStatement/
s/ParseEscapedString/parseEscapedString/
s/EatToEndOfStatement/eatToEndOfStatement/
s/ParseExpression/parseExpression/
s/ParseParenExpression/parseParenExpression/
s/ParseAbsoluteExpression/parseAbsoluteExpression/
s/CheckForValidSection/checkForValidSection/

http://llvm.org/docs/CodingStandards.html#name-types-functions-variables-and-enumerators-properly

No functional change intended.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175675 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
8a89cf233dcb3359c8649febefb4c38246f2acb4 16-Feb-2013 Benjamin Kramer <benny.kra@googlemail.com> MCParser: Reject .balign with non-pow2 alignments.

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175360 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
b54562b96d407d007e9e6da3ddef09ac83e9776f 15-Feb-2013 Chad Rosier <mcrosier@apple.com> c[ms-inline asm] It's possible to have a SizeDirective rewrite and an
Input/Output rewrite to the same location. Make sure the SizeDirective rewrite
is performed first. This also ensure the sort algorithm is stable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175317 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
75234372460b720a444ac7b3b0a0bbfb948be1e1 15-Feb-2013 Benjamin Kramer <benny.kra@googlemail.com> AsmParser: Reformat the MS asm parser to reduce nesting.

While there postpone register name printing after uniquing.
No intended functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175292 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
19aa3e37dcf09b126bbd83e11ec9059615c6bd8b 13-Feb-2013 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Add a comment about the determinism of the rewrite sort.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175082 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
abde6755f93cbfa7ad06c71f7e535b0b36f6f532 13-Feb-2013 Chad Rosier <mcrosier@apple.com> [ms-inline-asm] Use an array_pod_sort, rather than a std:sort.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175063 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
b1953981926991bb1373c915952368c653138e71 13-Feb-2013 Chad Rosier <mcrosier@apple.com> [ms-inline-asm] Make sure the AsmRewrite list is sorted in lexical order.
rdar://13202662


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175021 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
469b144f1ce7dc3984cda265bc23ed0b41c20584 12-Feb-2013 Chad Rosier <mcrosier@apple.com> [ms-inline-asm] Implement align directive (which is roughly equivalent to .align).

Also, allow _EMIT and __EMIT for the emit directive. We already do the same
for TYPE, SIZE, and LENGTH.
rdar://13200215


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175008 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
87d0b9ed1462705dd9bf1cb7f67d0bf03af776c8 12-Feb-2013 Guy Benyei <guy.benyei@intel.com> Add static cast to unsigned char whenever a character classification function is called with a signed char argument, in order to avoid assertions in Windows Debug configuration.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175006 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
e1d640312889a9e5ec4fc6cd3d6a1bc74289c8a9 12-Feb-2013 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Pass the length of the IDVal, so we can do a proper AsmRewrite.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174999 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
ab9d251e8569416e37caf29485ad1dd89f148fac 12-Feb-2013 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Accept the emit directive as either _emit or __emit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174998 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
221514efe92676ce84a5e21bea91d8a6b21f9ed7 22-Jan-2013 Kevin Enderby <enderby@apple.com> Add a warning when there is a macro defintion that has named parameters but
the body does not use them and it appears the body has positional parameters.

This can cause unexpected results as in the added test case. As the darwin
version of gas(1) which only supported positional parameters, happened to
ignore the named parameters. Now that we want to support both styles of
macros we issue a warning in this specific case.

rdar://12861644


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173199 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
5de048ec30f9ef9f56c89f9fdb50022beca6ae88 22-Jan-2013 Kevin Enderby <enderby@apple.com> Have the integrated assembler give an error if $1 is used as an identifier in
an expression. Currently this bug causes the line to be ignored in a
release build and an assert in a debug build.

rdar://13062484


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173195 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
bfdcc70d34f9c2bf3d4815c6d29fd43f01db8b76 18-Jan-2013 Daniel Dunbar <daniel@zuster.org> [MC] Expose ParseEscapedString to target AsmParser implementations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172777 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
505bca3617fe310a5ff07914e3cf3ea6ae4d27ed 17-Jan-2013 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Add support for the 'SIZE' and 'LENGTH' operators.
Part of rdar://12576868


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172743 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
ed5df01198a24e3c39930468f47fc2b560fc3684 16-Jan-2013 Eli Bendersky <eliben@google.com> Some small (and mostly cosmetic) fixes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
f9f40bd158942f8cd1c3ed62106280f36a022cde 16-Jan-2013 Eli Bendersky <eliben@google.com> Now that GenericAsmParser was folded into AsmParser, some methods and types can
return into the safe harbor of AsmParser's private areas.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172637 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
171192f149dce679cd520f85ffced4789448b017 16-Jan-2013 Eli Bendersky <eliben@google.com> Use the ExtensionDirectiveHandler type in other places where it makes sense.

Since we already have this type it's a shame to keep dragging a pair of object
and method around explicitly.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172584 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
1c99a7f4892a24eb227802e042917d05d8cd415f 16-Jan-2013 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Address the FIXME in AsmParser.cpp.

// FIXME: Constraints are hard coded to 'm', but we need an 'r'
// constraint for addressof. This needs to be cleaned up!

Test cases are already in place. Specifically,
clang/test/CodeGen/ms-inline-asm.c t15(), t16(), and t24().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172569 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
6ee130893072977aa70e8ae6470e88171e782e46 15-Jan-2013 Eli Bendersky <eliben@google.com> Refactor generic Asm directive parsing.

After discussing the refactoring with Jim and Daniel, the following changes were
made:

* All generic directive parsing is now done by AsmParser itself. The previous
division between it and GenericAsmParser did not have clear boundaries and
just produced unnatural code of GenericAsmParser juggling the internals of
AsmParser through an interface.
The division of responsibilities is now clear: target-specific directives,
other extensions (used by platform-specific parseres), and generic directives.
* Priority for directive parsing was reshuffled to ask extensions first and
check the generic directives later.

No change in functionality.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172568 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
bbe64fba4abbe65824587bd3ed9509df09cbc5e3 15-Jan-2013 Eli Bendersky <eliben@google.com> Now GenericAsmParser and AsmParser are no longer friends, GenericAsmParser can
simply use the getParser method from MCAsmParserExtension, working through the
MCAsmParser interface. There's no longer a need to overload that method to
cast it to the concrete AsmParser.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172491 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
c0c67b03b03d73d3614a084d467a388c35d264d1 15-Jan-2013 Eli Bendersky <eliben@google.com> Properly encapsulate additional methods and data from AsmParser.

This finally allows AsmParser to no longer list GenericAsmParser as a friend.
All member vars directly accessed by GenericAsmParser have been properly
encapsulated and exposed through the MCAsmParser interface. This reduces the
coupling between AsmParser and GenericAsmParser.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172490 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
318cad33231f765f9b6b2af4bb43f8c281b99d19 14-Jan-2013 Eli Bendersky <eliben@google.com> Move CheckForValidSection to the MCAsmParser interface.

Now that it behaves itself in terms of streamer independence (r172450), this
method can be moved to MCAsmParser to be available to all extensions,
overriding, etc.

-- -This line, and those below, will be ignored--

M lib/MC/MCParser/AsmParser.cpp
M include/llvm/MC/MCParser/MCAsmParser.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172451 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
030f63a397edc20f8f661bac62f7b90cb5cf57bc 14-Jan-2013 Eli Bendersky <eliben@google.com> Expose an InitToTextSection through MCStreamer.

The aim of this patch is to fix the following piece of code in the
platform-independent AsmParser:

void AsmParser::CheckForValidSection() {
if (!ParsingInlineAsm && !getStreamer().getCurrentSection()) {
TokError("expected section directive before assembly directive");
Out.SwitchSection(Ctx.getMachOSection(
"__TEXT", "__text",
MCSectionMachO::S_ATTR_PURE_INSTRUCTIONS,
0, SectionKind::getText()));
}
}

This was added for the "-n" option of llvm-mc.

The proposed fix adds another virtual method to MCStreamer, called
InitToTextSection. Conceptually, it's similar to the existing
InitSections which initializes all common sections and switches to
text. The new method is implemented by each platform streamer in a way
that it sees fit. So AsmParser can now do this:

void AsmParser::CheckForValidSection() {
if (!ParsingInlineAsm && !getStreamer().getCurrentSection()) {
TokError("expected section directive before assembly directive");
Out.InitToTextSection();
}
}

Which is much more reasonable.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
9bac6b29b832419f8b76bb2c27af74bb57a8d99a 14-Jan-2013 Eli Bendersky <eliben@google.com> Move ParseMacroArgument to the MCAsmParser interfance.

Since it's used by extensions. One further step to fully decoupling
GenericAsmParser from an intimate knowledge of the internals of AsmParser,
pointing it to the MCASmParser interface instead (like all other parser
extensions do).

Since this change moves the MacroArgument type to the interface header, it's
renamed to be a bit more descriptive in a general context.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172449 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
733c336327621d41617d3d49c7b86199a361a367 14-Jan-2013 Eli Bendersky <eliben@google.com> Encapsulate the MacroEnabled flag in AsmParser behind accessor methods.

The methods are also exposed via the MCAsmParser interface, which allows more
than one client to control them. Previously, GenericAsmParser was playing with
a member var in AsmParser directly (by virtue of being its friend).



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172440 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
b2f0b595a3aac4da1265cfa2f7a53baaa229328f 12-Jan-2013 Eli Bendersky <eliben@google.com> Stop hiding the interface-exposed EatToEndOfStatement (see r172276).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172277 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
bf706b3f9987a88493dea4f206f46e8062eedd0b 12-Jan-2013 Eli Bendersky <eliben@google.com> Make ParseIdentifier a public method instead of private.

The MCAsmParser interface defines ParseIdentifier is public. There's no reason
whatsoever for AsmParser (which implements the MCAsmParser interface) to hide
this method.

This is all part of a bigger scheme. Several asm parsing "extensions" use the
main parser properly through the MCAsmParser interface. However,
GenericAsmParser has much more exclusive access and uses implementation details
from the concrete implementation - AsmParser, in which it is also declared as
a friend. This makes for overly coupled code, and even makes it hard to split
GenericAsmParser into a separate file. There's no reason why GenericAsmParser
shouldn't be able to access AsmParser through an abstract interface, as long
as it's actually registered as an extension.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
9b1bb05386b796eef2438112b2e87ac98409d01a 11-Jan-2013 Eli Bendersky <eliben@google.com> Proof of concept moving of generic directive parsing from AsmParser to the
GenericAsmParser extension, where a lot of directives are already being parsed.
The end goal is having just a single place (and a single lookup table) for
all directive parsing.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172268 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
b956ec176a23dff2324c4938c3433c5e5ce2eae5 11-Jan-2013 NAKAMURA Takumi <geek4civic@gmail.com> Revert r172153, "llvm/lib/MC/MCParser/AsmParser.cpp: [ms-inline-asm] Fix a couple of undefined behaviors. Operand->needAddressOf() is not initialized at !Operand->isReg()."

It has been redundant since r172157.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172166 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
51873db5af7267e757cd1c65cae43df48588bccf 11-Jan-2013 NAKAMURA Takumi <geek4civic@gmail.com> llvm/lib/MC/MCParser/AsmParser.cpp: [ms-inline-asm] Fix a couple of undefined behaviors. Operand->needAddressOf() is not initialized at !Operand->isReg().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172153 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
7eef9c1091760b8c0b3c0afd4df23d5044167a53 11-Jan-2013 Eli Bendersky <eliben@google.com> Rename enumerations s/VK/DK/ to conform to naming convention


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172149 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
63e6f48e138fe52cd6268248b337f34d49fca886 11-Jan-2013 Eli Bendersky <eliben@google.com> fix comments a bit

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172146 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
5d0f0617799c5d200f5a1679423e963c27ac2e8b 10-Jan-2013 Eli Bendersky <eliben@google.com> Remove a couple of if-else chains in parsing directives, replacing them by a
switch. Committed with Jim's and Chris's approval.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172136 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
c1ec207b615cb058d30dc642ee311ed06fe59cfe 10-Jan-2013 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Add support for calling functions from inline assembly.
Part of rdar://12991541

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172121 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
6c1d4972cf1cd6b6072e31c05f97abb1ed7a8497 07-Jan-2013 Eli Bendersky <eliben@google.com> Add the align_to_end option to .bundle_lock in the MC implementation of aligned
bundling. The document describing this feature and the implementation has also
been updated:

https://sites.google.com/a/chromium.org/dev/nativeclient/pnacl/aligned-bundling-support-in-llvm


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171797 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
deb1bab60824c01d85e3fd8bc219c64636fe5380 07-Jan-2013 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Make sure the NullStreamParser doesn't try to emit labels when
parsing MS-style inline assembly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171784 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
3ebe59c892051375623fea55e977ff559fdb3323 07-Jan-2013 Jordan Rose <jordan_rose@apple.com> Change SMRange to be half-open (exclusive end) instead of closed (inclusive)

This is necessary not only for representing empty ranges, but for handling
multibyte characters in the input. (If the end pointer in a range refers to
a multibyte character, should it point to the beginning or the end of the
character in a char array?) Some of the code in the asm parsers was already
assuming this anyway.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171765 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
4766ef41b31e4f97bce1179c3b0398303bf65356 20-Dec-2012 Eli Bendersky <eliben@google.com> Aligned bundling support. Following the discussion here:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-December/056754.html

The proposal and implementation are fully documented here:
https://sites.google.com/a/chromium.org/dev/nativeclient/pnacl/aligned-bundling-support-in-llvm

Tests will follow shortly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170718 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
6c583141bf6b7a6b5f8125c1037ecbc089813288 18-Dec-2012 Eric Christopher <echristo@gmail.com> Add support for passing -main-file-name all the way through to
the assembler.

Part of PR14624

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170390 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
2318ba16ef4414eec4bc43eaf6e0703c40e1c580 18-Dec-2012 Eric Christopher <echristo@gmail.com> Cleanup formatting and whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170389 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
14b8f79c26d4eda996b49e350df4591ff0bc2f09 17-Dec-2012 Eli Bendersky <eliben@google.com> fix indentation

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170381 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
5749801caaf523e2e151eea4cacc87299a4b3822 12-Dec-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Make sure we fail gracefully on parse errors. Parse errors
should only occur on invalid input. Instruction matching errors aren't
unexpected, so we can't rely on the AsmParsers HadError variable directly.
rdar://12840278

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170037 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
4259a1a7d8a0f6e8e53bccd516725f8480751a49 01-Dec-2012 Daniel Dunbar <daniel@zuster.org> MC/AsmParser: Avoid unnecessary use of SourceMgr::FindBufferForLoc()

- Each macro instantiation introduces a new buffer, and FindBufferForLoc() is
linear, so previously macro instantiation could be N^2 for some pathological
inputs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169073 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
f4f14f68f6078ea6681ee27b5bf42719d7db3441 25-Nov-2012 Rafael Espindola <rafael.espindola@gmail.com> Add support for .cfi_register now that it is easy to extent the representation
to support it. Original patch with the parsing and plumbing by the PaX team and
Roman Divacky. I added the bits in MCDwarf.cpp and the test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168565 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
c8fec7e21f5c24303eab8a8592f3b8faff347d86 23-Nov-2012 Rafael Espindola <rafael.espindola@gmail.com> Implement .cfi_undefined. Based on a patch from PaX team, updated by
Roman Divacky. I just added the testcase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
32c1a82a6b1d934e30e05c0e18b9e57fde96c56f 05-Nov-2012 Kevin Enderby <enderby@apple.com> Fix for PR14264 cause by commit r167237 which did not take into account a
possible buffer change with a .macro directive.

rdar://12637628


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167408 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
938482f522d6d144a9af7897af1433f00f630588 01-Nov-2012 Kevin Enderby <enderby@apple.com> Add support for generating dwarf debugging info with assembly files
run through the 'C' preprocessor. That is pick up the file name
and line numbers from the cpp hash file line comments for the
dwarf file and line numbers tables.

rdar://9275556



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167237 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
efcb3d9c1cd9410949b4005fbe6f2817f8dfe395 26-Oct-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Add support for the TYPE operator.
Part of rdar://12576868


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166790 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
6e43157b5d39a713d4061f97629bf9107c6d25e0 26-Oct-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Have the target AsmParser create the asmrewrite for the offsetof
operator.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
6a020a71173a3ea7738a9df69982e85ddbfe0303 25-Oct-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Add support for creating AsmRewrites in the target specific
AsmParser logic. To be used/tested in a subsequent commit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166714 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
c0a14b86f7ad334c2a557c1ee4fff12e8d396fd0 24-Oct-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Create a register operand, rather than a memory operand when we
see the offsetof operator. Previously, we were matching something like MOVrm
in the front-end and later matching MOVrr in the back-end. This change makes
things more consistent. It also fixes cases where we can't match against a
memory operand as the source (test cases coming).
Part of rdar://12470317



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166592 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
5a719fcb5ea91ec4e7af6fc2e48ec31774a859dd 23-Oct-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Add an implementation of the offset operator. This is a follow
on patch to r166433.
rdar://12470317

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166488 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
2128aaebd850edc0415ab8f37b907077651d4399 23-Oct-2012 Eli Friedman <eli.friedman@gmail.com> [ms-inline-asm] Implement _emit directive (which is roughly equivalent to .byte).

<rdar://problem/12470345>.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166451 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
8ee16c7b661ce0b1c1d33db07b57ad2c88b5a8b2 22-Oct-2012 Eli Friedman <eli.friedman@gmail.com> [ms-inline asm] Don't rewrite out parts of an inline-asm skipped by .if 0 and friends.
It's unnecessary and makes the generated assembly less faithful to the original source.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166440 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
4e472d2277fcafb62c65539ac832a6ebd68c1a4d 20-Oct-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Rename AsmOpRewrite to just AsmRewrite to be more generic. No functional change intended.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166360 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
17feeec8d861e99e5860389839e805b2653a2977 20-Oct-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] If the state of the parser is ignore, then don't parse the
inline assembly. Also make sure the remove the ignored statements from the IR.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166357 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
13090f70fc216ad94e8bc10891bca0087f3eee05 20-Oct-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Continue parsing even when we're in an ignore block.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166352 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
ab450e42f1ae00d221a86cd41361834dd2ab95bc 20-Oct-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Reset the opcode prior to parsing a statement.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
96d58e64cfe88356f8be4ce622b829fbd9fb5908 19-Oct-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Have the TargetParser callback to Sema to determine the size of
a memory operand. Retain this information and then add the sizing directives
to the IR. This allows the backend to do proper instruction selection.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166316 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
0d7d11d57f81d2318a730d7599bbdaa67a721150 19-Oct-2012 Nick Lewycky <nicholas@mxc.ca> Pacify -Wnon-virtual-dtor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166270 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
3298959540ca744ec16b4c65db244534a929a862 18-Oct-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Add a size argument to the LookupInlineAsmIdentifier() callback,
which will be used by the asm matcher in the near future.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166222 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
c8dd27e58301af85979facf291b817802d3523e5 18-Oct-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Have the LookupInlineAsmIdentifier() callback function return a
*NamedDecl. In turn, build the expressions after we're finished parsing the
asm. This avoids a crasher if the lookup fails.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166212 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
b1f8c139c5c1b1a50bf65b8141dd57434c793e54 18-Oct-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Move most of the AsmParsing logic in clang back into the MC
layer. Add the ParseMSInlineAsm() function, which is the new interface to
clang. Also expose the new MCAsmParserSemaCallback interface, which is used
by the back-end to do name lookup in Sema. Finally, remove the now defunct
APIs introduced in r165946.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166183 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
c5ac87d067861309fb461b9c53f9e429fbe0d067 16-Oct-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Add the helper function, isParseringInlineAsm(). To be used in a future commit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166054 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
127f5edfd98893d8910a9ae59b10696a824fed24 15-Oct-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] If we parsed a statement and the opcode is valid, then it's an instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165955 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
8f138d1121730007f973131ca79a06a58f981011 15-Oct-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Add a few new APIs to the AsmParser class in support of MS-Style
inline assembly. For the time being, these will be called directly by clang.
However, in the near future I expect these to be sunk back into the MC layer
and more basic APIs (e.g., getClobbers(), getConstraints(), etc.) will be called
by clang.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165946 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
84125ca43c758fd21fdab2b05196e0df57c55c96 13-Oct-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Remove the MatchInstruction() function. Previously, this was
the interface between the front-end and the MC layer when parsing inline
assembly. Unfortunately, this is too deep into the parsing stack. Specifically,
we're unable to handle target-independent assembly (i.e., assembly directives,
labels, etc.). Note the MatchAndEmitInstruction() isn't the correct
abstraction either. I'll be exposing target-independent hooks shortly, so this
is really just a cleanup.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
4f8d27338e92ae474fa51fd0bcaeffcca4cb15fb 09-Oct-2012 Chad Rosier <mcrosier@apple.com> Whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165540 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
7b6f2034ac355bd3b3cc88960bf8d0e694fe3db4 19-Sep-2012 Preston Gurd <preston.gurd@intel.com> Add support for macro parameters/arguments delimited by spaces,
to improve compatibility with GNU as.

Based on a patch by PaX Team.

Fixed assertion failures on non-Darwin and added additional test cases.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
6c9176aeec549adb4bbdd499664c4304ee151f68 19-Sep-2012 Preston Gurd <preston.gurd@intel.com> Support default parameters/arguments for assembler macros.
This patch is based on the one by PaX Team.

Patch by Andy Zhang!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164246 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
6579eea90dfeb7540e37307cc30c8677759c5e4d 19-Sep-2012 Preston Gurd <preston.gurd@intel.com> Enhance unmatched '.endr' directive error message in assembler.
The directive can be matched with directives other than '.rept'

Patch by Andy Zhang!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164245 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
85aadc07d5c5688250b1af6d5bcb3e419fdb8862 15-Sep-2012 Craig Topper <craig.topper@gmail.com> Use LLVM_DELETED_FUNCTION in place of 'DO NOT IMPLEMENT' comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163970 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
c5252da873d547a19069eaf9030fec203f128f66 14-Sep-2012 Dmitri Gribenko <gribozavr@gmail.com> Fix Doxygen issues:
* wrap code blocks in \code ... \endcode;
* refer to parameter names in paragraphs correctly (\arg is not what most
people want -- it starts a new paragraph);
* use \param instead of \arg to document parameters in order to be consistent
with the rest of the codebase.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163902 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
3f90a4c42d1683600e91c2aea325bacf59c37f5e 14-Sep-2012 Jim Grosbach <grosbach@apple.com> Assembler: Darwin variables defined via .set are no-dead-strip.

For gas compatibility.

rdar://12219394

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163854 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCParser/AsmParser.cpp
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