Eric Christopher 
							
						 
					 
					
						
						
							
						
						c260a3e59a 
					 
					
						
						
							
							Fix a couple of typos.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103756  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-14 01:38:54 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7bb7c55a61 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-05-13 00:10:34 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						c304718fd8 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-05-05 19:01:00 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						08a408a4b3 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-05-05 17:41:00 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						31e8e1d085 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-05-04 00:33:07 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7834facff9 
					 
					
						
						
							
							refactor .if handling code a bit.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101659  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-17 18:14:27 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d305035155 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-04-14 04:40:28 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f0559e4b24 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-04-08 20:30:37 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						79180e2ef5 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-04-05 23:15:42 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9b97a73ded 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-03-30 18:10:53 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						4e815f8a8c 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-03-15 23:51:06 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						5e6a7a248b 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-03-13 02:20:57 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						0965200ac2 
					 
					
						
						
							
							Remove unneeded includes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98167  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-03-10 17:56:05 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						00685bb5cf 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-03-10 01:29:27 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f60e9bbbad 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-02-26 18:32:26 +00:00 
						 
				 
			
				
					
						
							
							
								Kevin Enderby 
							
						 
					 
					
						
						
							
						
						d74acb0c78 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-02-25 18:46:04 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						e9a60eb498 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-02-13 01:28:07 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d32e803073 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-01-25 19:02:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						75f265fbbb 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-01-24 01:07:33 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a5ad93a10a 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-01-23 06:39:22 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						be343b3ca3 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-01-22 01:58:08 +00:00