dd41dcf270 
								
							 
						 
						
							
							
								
								MC/AsmParser: Switch a bunch of directive parsing to use accessors.  
							
							... 
							
							
							
							llvm-svn: 108163 
							
						 
						
							2010-07-12 18:03:11 +00:00  
				
					
						
							
							
								 
						
							
								86033407c9 
								
							 
						 
						
							
							
								
								MCAsmParser: Pull some directive handling out into a helper class, and change  
							
							... 
							
							
							
							DirectiveMap to be based on MCAsmParserExtension.
llvm-svn: 108161 
							
						 
						
							2010-07-12 17:54:38 +00:00  
				
					
						
							
							
								 
						
							
								cc21af1dfb 
								
							 
						 
						
							
							
								
								MC/AsmParser: Switch some directive parsing to use accessor methods.  
							
							... 
							
							
							
							llvm-svn: 108160 
							
						 
						
							2010-07-12 17:45:27 +00:00  
				
					
						
							
							
								 
						
							
								af3d1de891 
								
							 
						 
						
							
							
								
								MC: Add MCAsmParserExtension, a base class for all the target/object specific  
							
							... 
							
							
							
							classes which want to extend the basic asm parser.
llvm-svn: 108158 
							
						 
						
							2010-07-12 17:27:45 +00:00  
				
					
						
							
							
								 
						
							
								4be8f2ffad 
								
							 
						 
						
							
							
								
								MC: Move AsmParser::TokError to MCAsmParser().  
							
							... 
							
							
							
							llvm-svn: 108155 
							
						 
						
							2010-07-12 17:18:45 +00:00  
				
					
						
							
							
								 
						
							
								41b4a6b36a 
								
							 
						 
						
							
							
								
								Convert some tab stops into spaces.  
							
							... 
							
							
							
							llvm-svn: 108130 
							
						 
						
							2010-07-12 08:16:59 +00:00  
				
					
						
							
							
								 
						
							
								082d0fd7ad 
								
							 
						 
						
							
							
								
								Added the darwin .weak_def_can_be_hidden directive.  
							
							... 
							
							
							
							llvm-svn: 107886 
							
						 
						
							2010-07-08 17:22:42 +00:00  
				
					
						
							
							
								 
						
							
								0e980755d3 
								
							 
						 
						
							
							
								
								MC: Fix some stray hunks I didn't intend to commit.  
							
							... 
							
							
							
							llvm-svn: 107428 
							
						 
						
							2010-07-01 20:48:51 +00:00  
				
					
						
							
							
								 
						
							
								02877d6e85 
								
							 
						 
						
							
							
								
								MC: Pass the target instance to the AsmParser constructor.  
							
							... 
							
							
							
							llvm-svn: 107426 
							
						 
						
							2010-07-01 20:41:56 +00:00  
				
					
						
							
							
								 
						
							
								0aa4365e47 
								
							 
						 
						
							
							
								
								MC: Fix an error message.  
							
							... 
							
							
							
							llvm-svn: 107424 
							
						 
						
							2010-07-01 20:20:01 +00:00  
				
					
						
							
							
								 
						
							
								5667a08468 
								
							 
						 
						
							
							
								
								Remove unused calls to Lexer.getLoc and the pointless variable HasFillExpr.  
							
							... 
							
							
							
							llvm-svn: 107136 
							
						 
						
							2010-06-29 13:24:40 +00:00  
				
					
						
							
							
								 
						
							
								e233dda2e2 
								
							 
						 
						
							
							
								
								Added the darwin .secure_log_unique and .secure_log_reset directives.  
							
							... 
							
							
							
							llvm-svn: 107077 
							
						 
						
							2010-06-28 21:45:58 +00:00  
				
					
						
							
							
								 
						
							
								6738a2e39e 
								
							 
						 
						
							
							
								
								llvm-mc: Use EmitIntValue where possible, which makes the API calls from the AsmParser and CodeGen line up better.  
							
							... 
							
							
							
							llvm-svn: 104467 
							
						 
						
							2010-05-23 18:36:38 +00:00  
				
					
						
							
							
								 
						
							
								8271d1bb4a 
								
							 
						 
						
							
							
								
								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.  
							
							... 
							
							
							
							llvm-svn: 104466 
							
						 
						
							2010-05-23 18:36:34 +00:00  
				
					
						
							
							
								 
						
							
								ec9d6faef0 
								
							 
						 
						
							
							
								
								Add support for parsing the ELF .type assembler directive.  
							
							... 
							
							
							
							llvm-svn: 104316 
							
						 
						
							2010-05-21 11:36:59 +00:00  
				
					
						
							
							
								 
						
							
								7cbfa4462f 
								
							 
						 
						
							
							
								
								fix rdar://7986634 - match instruction opcodes case insensitively.  
							
							... 
							
							
							
							llvm-svn: 104183 
							
						 
						
							2010-05-19 23:34:33 +00:00  
				
					
						
							
							
								 
						
							
								5c87be766d 
								
							 
						 
						
							
							
								
								Make EmitTBSSSymbol take a section argument so that we can find it later.  
							
							... 
							
							
							
							Fix up callers and users.
llvm-svn: 104057 
							
						 
						
							2010-05-18 21:16:04 +00:00  
				
					
						
							
							
								 
						
							
								0510b48fd9 
								
							 
						 
						
							
							
								
								Added support in MC for Directional Local Labels.  
							
							... 
							
							
							
							llvm-svn: 103989 
							
						 
						
							2010-05-17 23:08:19 +00:00  
				
					
						
							
							
								 
						
							
								9635b3da6b 
								
							 
						 
						
							
							
								
								More data/parsing support for tls directives.  Add a few more testcases  
							
							... 
							
							
							
							and cleanup comments as well.
llvm-svn: 103985 
							
						 
						
							2010-05-17 22:53:55 +00:00  
				
					
						
							
							
								 
						
							
								bb166bed40 
								
							 
						 
						
							
							
								
								MC/Mach-O/x86: Optimal nop sequences should only be used for the .text sections, not all sections in the text segment.  
							
							... 
							
							
							
							llvm-svn: 103981 
							
						 
						
							2010-05-17 21:54:30 +00:00  
				
					
						
							
							
								 
						
							
								9b4a824217 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 103950 
							
						 
						
							2010-05-17 17:46:23 +00:00  
				
					
						
							
							
								 
						
							
								68b1bbe66a 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 103928 
							
						 
						
							2010-05-17 02:13:02 +00:00  
				
					
						
							
							
								 
						
							
								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