summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCParser
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix a couple of typos.Eric Christopher2010-05-141-2/+2
| | | | llvm-svn: 103756
* fix rdar://7965971 and a fixme: use ParseIdentifier inChris Lattner2010-05-131-13/+9
| | | | | | | | ParseDirectiveDarwinZerofill instead of hard coding the check for identifier. This allows quoted symbol names to be used. llvm-svn: 103682
* Revert r103137, fix for $ in labels. It looks like we can't actually handle thisDaniel Dunbar2010-05-061-16/+7
| | | | | | | | | | | | at the token level. Consider the following horrible test case: a = 1 .globl $a movl ($a), %eax movl $a, %eax movl $$a, %eax llvm-svn: 103178
* fix rdar://7946934 - in some limited cases, the assembler shouldChris Lattner2010-05-051-7/+16
| | | | | | allow $ at the start of a symbol name. llvm-svn: 103137
* MC: Reject attempts to define a variable symbol.Daniel Dunbar2010-05-051-1/+1
| | | | llvm-svn: 103111
* MC: Rename MCSymbol::{g,s}etValue -> MCSymbol::{g,s}etVariableValue.Daniel Dunbar2010-05-051-3/+3
| | | | llvm-svn: 103095
* llvm-mc: Fix case were we would skip a line in the .s file after an instructionDaniel Dunbar2010-05-041-26/+25
| | | | | | | | match failure. Also, fixes a few memory leak FIXMEs. llvm-svn: 102986
* refactor .if handling code a bit.Chris Lattner2010-04-171-52/+23
| | | | llvm-svn: 101659
* implement mc asmparser support for '.', which gets theChris Lattner2010-04-142-0/+17
| | | | | | | | | | | | | | | | | | | 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 llvm-svn: 101227
* move macho section uniquing from MCParser and TLOF to MCContext whereChris Lattner2010-04-081-56/+17
| | | | | | | the compiler and asmparser now unique to the same sections. This fixes rdar://7835021. llvm-svn: 100807
* Give AsmParser an option to control whether it finalizesChris Lattner2010-04-051-2/+4
| | | | | | | | | | | | | | | | | | | | 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 llvm-svn: 100492
* Rip out the 'is temporary' nonsense from the MCContext interface toChris Lattner2010-03-301-3/+1
| | | | | | | | | 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. llvm-svn: 99902
* MC: Allow modifiers in MCSymbolRefExpr, and eliminate X86MCTargetExpr.Daniel Dunbar2010-03-151-2/+12
| | | | | | | - 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. llvm-svn: 98592
* add a hack to allow parsing negative minint. rdar://7751341Chris Lattner2010-03-131-2/+8
| | | | llvm-svn: 98442
* llvm-mc: Support -n, useful for comparing -integrated-as output since theDaniel Dunbar2010-03-131-7/+6
| | | | | | compiler may not lead with the text section. llvm-svn: 98418
* Remove unneeded includes.Daniel Dunbar2010-03-101-1/+0
| | | | llvm-svn: 98167
* eliminate MCContext::CreateSymbol and CreateTemporarySymbol.Chris Lattner2010-03-101-6/+2
| | | | | | | Add a new GetOrCreateTemporarySymbol method and a version that takes a twine. llvm-svn: 98118
* pass in more section kinds, enough to get the .align 0x90Chris Lattner2010-02-261-5/+9
| | | | | | stuff to emit optimal nops in the right places. llvm-svn: 97233
* This is a patch to the assembler frontend to detect when aligning a textKevin Enderby2010-02-251-3/+9
| | | | | | | | section with TextAlignFillValue and calls EmitCodeAlignment() instead of calling EmitValueToAlignment(). This allows x86 assembly code to be aligned with optimal nops. llvm-svn: 97158
* MC/AsmParser: Attempt to constant fold expressions up-front. This ensures we ↵Daniel Dunbar2010-02-131-2/+10
| | | | | | avoid fixups for obvious cases like '-(16)'. llvm-svn: 96064
* wirte up .file and .file to the mc asmparser.Chris Lattner2010-01-251-3/+7
| | | | llvm-svn: 94438
* make -fno-rtti the default unless a directory builds with REQUIRES_RTTI.Chris Lattner2010-01-241-1/+0
| | | | llvm-svn: 94378
* fix a parsing problem on instructions like:Chris Lattner2010-01-241-4/+3
| | | | | | | | movw $8, (_cost_table_-L97$pb)+66(%eax) After the parens, we could still have a binop. llvm-svn: 94345
* move the various directive enums out of the MCStreamer classChris Lattner2010-01-231-14/+14
| | | | | | into a new MCDirectives.h file. llvm-svn: 94294
* stop using strtoll, it gives windows heartburn.Chris Lattner2010-01-221-8/+24
| | | | llvm-svn: 94167
* Stop building RTTI information for *most* llvm libraries. NotableChris Lattner2010-01-221-0/+1
| | | | | | | | | | | missing ones are libsupport, libsystem and libvmcore. libvmcore is currently blocked on bugpoint, which uses EH. Once it stops using EH, we can switch it off. This #if 0's out 3 unit tests, because gtest requires RTTI information. Suggestions welcome on how to fix this. llvm-svn: 94164
* move some files out of the llvm-mc tool into the MCParser library soChris Lattner2010-01-222-0/+2085
| | | | | | other tools can link it. llvm-svn: 94131
* forgot to svn add these, doh.Chris Lattner2010-01-222-0/+22
| | | | llvm-svn: 94130
* create a new MCParser library and move some stuff into it.Chris Lattner2010-01-223-0/+77
llvm-svn: 94129
OpenPOWER on IntegriCloud