9fb6bb07ca 
								
							 
						 
						
							
							
								
								Add AsmParser support for darwin tbss directive.  
							
							... 
							
							
							
							Nothing uses this yet.
llvm-svn: 103757 
							
						 
						
							2010-05-14 01:50:28 +00:00  
				
					
						
							
							
								 
						
							
								bc81885ff7 
								
							 
						 
						
							
							
								
								Fix a couple of typos.  
							
							... 
							
							
							
							llvm-svn: 103756 
							
						 
						
							2010-05-14 01:38:54 +00:00  
				
					
						
							
							
								 
						
							
								8cb4728a15 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 103682 
							
						 
						
							2010-05-13 00:10:34 +00:00  
				
					
						
							
							
								 
						
							
								deb7ba9cc0 
								
							 
						 
						
							
							
								
								MC: Reject attempts to define a variable symbol.  
							
							... 
							
							
							
							llvm-svn: 103111 
							
						 
						
							2010-05-05 19:01:00 +00:00  
				
					
						
							
							
								 
						
							
								7a989da0af 
								
							 
						 
						
							
							
								
								MC: Rename MCSymbol::{g,s}etValue -> MCSymbol::{g,s}etVariableValue.  
							
							... 
							
							
							
							llvm-svn: 103095 
							
						 
						
							2010-05-05 17:41:00 +00:00  
				
					
						
							
							
								 
						
							
								ce0c1e11ce 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 102986 
							
						 
						
							2010-05-04 00:33:07 +00:00  
				
					
						
							
							
								 
						
							
								926885c090 
								
							 
						 
						
							
							
								
								refactor .if handling code a bit.  
							
							... 
							
							
							
							llvm-svn: 101659 
							
						 
						
							2010-04-17 18:14:27 +00:00  
				
					
						
							
							
								 
						
							
								6b55cb9cd8 
								
							 
						 
						
							
							
								
								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
llvm-svn: 101227 
							
						 
						
							2010-04-14 04:40:28 +00:00  
				
					
						
							
							
								 
						
							
								2073112fc0 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 100807 
							
						 
						
							2010-04-08 20:30:37 +00:00  
				
					
						
							
							
								 
						
							
								3b21e4d404 
								
							 
						 
						
							
							
								
								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
llvm-svn: 100492 
							
						 
						
							2010-04-05 23:15:42 +00:00  
				
					
						
							
							
								 
						
							
								9897043928 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 99902 
							
						 
						
							2010-03-30 18:10:53 +00:00  
				
					
						
							
							
								 
						
							
								5599256415 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 98592 
							
						 
						
							2010-03-15 23:51:06 +00:00  
				
					
						
							
							
								 
						
							
								322fec671b 
								
							 
						 
						
							
							
								
								llvm-mc: Support -n, useful for comparing -integrated-as output since the  
							
							... 
							
							
							
							compiler may not lead with the text section.
llvm-svn: 98418 
							
						 
						
							2010-03-13 02:20:57 +00:00  
				
					
						
							
							
								 
						
							
								7e3283c055 
								
							 
						 
						
							
							
								
								Remove unneeded includes.  
							
							... 
							
							
							
							llvm-svn: 98167 
							
						 
						
							2010-03-10 17:56:05 +00:00  
				
					
						
							
							
								 
						
							
								b973ea88b5 
								
							 
						 
						
							
							
								
								eliminate MCContext::CreateSymbol and CreateTemporarySymbol.  
							
							... 
							
							
							
							Add a new GetOrCreateTemporarySymbol method and a version that
takes a twine.
llvm-svn: 98118 
							
						 
						
							2010-03-10 01:29:27 +00:00  
				
					
						
							
							
								 
						
							
								bb592eb9d0 
								
							 
						 
						
							
							
								
								pass in more section kinds, enough to get the .align 0x90  
							
							... 
							
							
							
							stuff to emit optimal nops in the right places.
llvm-svn: 97233 
							
						 
						
							2010-02-26 18:32:26 +00:00  
				
					
						
							
							
								 
						
							
								7f99302dc9 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 97158 
							
						 
						
							2010-02-25 18:46:04 +00:00  
				
					
						
							
							
								 
						
							
								d0c6d361fe 
								
							 
						 
						
							
							
								
								MC/AsmParser: Attempt to constant fold expressions up-front. This ensures we avoid fixups for obvious cases like '-(16)'.  
							
							... 
							
							
							
							llvm-svn: 96064 
							
						 
						
							2010-02-13 01:28:07 +00:00  
				
					
						
							
							
								 
						
							
								d45adf28de 
								
							 
						 
						
							
							
								
								wirte up .file and .file to the mc asmparser.  
							
							... 
							
							
							
							llvm-svn: 94438 
							
						 
						
							2010-01-25 19:02:58 +00:00  
				
					
						
							
							
								 
						
							
								807a3bcbbb 
								
							 
						 
						
							
							
								
								fix a parsing problem on instructions like:  
							
							... 
							
							
							
							movw	$8, (_cost_table_-L97$pb)+66(%eax)
After the parens, we could still have a binop.
llvm-svn: 94345 
							
						 
						
							2010-01-24 01:07:33 +00:00  
				
					
						
							
							
								 
						
							
								685508cf49 
								
							 
						 
						
							
							
								
								move the various directive enums out of the MCStreamer class  
							
							... 
							
							
							
							into a new MCDirectives.h file.
llvm-svn: 94294 
							
						 
						
							2010-01-23 06:39:22 +00:00  
				
					
						
							
							
								 
						
							
								5b0e01c54e 
								
							 
						 
						
							
							
								
								move some files out of the llvm-mc tool into the MCParser library so  
							
							... 
							
							
							
							other tools can link it.
llvm-svn: 94131 
							
						 
						
							2010-01-22 01:58:08 +00:00