summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCParser/AsmParser.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* 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-141-0/+12
| | | | | | | | | | | | | | | | | | | 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
* 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
* 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
* move some files out of the llvm-mc tool into the MCParser library soChris Lattner2010-01-221-0/+1781
other tools can link it. llvm-svn: 94131
OpenPOWER on IntegriCloud