Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ab9cd3e132 
								
							 
						 
						
							
							
								
								fix parsing .comm directives on systems which do not represent alignments  
							
							 
							
							... 
							
							
							
							as a power of 2.  This fixes MC/AsmParser/directive_comm.s
llvm-svn: 93867 
							
						 
						
							2010-01-19 06:22:22 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e17df0b7f0 
								
							 
						 
						
							
							
								
								fix a bug in range information for $42, eliminate an  
							
							 
							
							... 
							
							
							
							unneeded argument from ParseExpression.
llvm-svn: 93536 
							
						 
						
							2010-01-15 19:39:23 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								528d00b913 
								
							 
						 
						
							
							
								
								extend MCAsmParser::ParseExpression and ParseParenExpression  
							
							 
							
							... 
							
							
							
							to return range information for subexpressions.  Use this to
provide range info for several new X86Operands.
llvm-svn: 93534 
							
						 
						
							2010-01-15 19:28:38 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								14bf521792 
								
							 
						 
						
							
							
								
								add virtual methods to get the start/end of a MCParsedAsmOperand,  
							
							 
							
							... 
							
							
							
							the default implementation returns "unknown".
llvm-svn: 93470 
							
						 
						
							2010-01-14 22:29:57 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f29c0b6880 
								
							 
						 
						
							
							
								
								Split the TargetAsmParser "ParseInstruction" interface in half:  
							
							 
							
							... 
							
							
							
							the new ParseInstruction method just parses and returns a list of
target operands.  A new MatchInstruction interface is used to
turn the operand list into an MCInst.
This requires new/deleting all the operands, but it also gives 
targets the ability to use polymorphic operands if they want to. 
llvm-svn: 93469 
							
						 
						
							2010-01-14 22:21:20 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								77fd677111 
								
							 
						 
						
							
							
								
								prune #includes in TargetAsmParser.h  
							
							 
							
							... 
							
							
							
							Pass in SMLoc of instr opcode into ParseInstruction.
Make AsmToken be a class, not a struct.
llvm-svn: 93457 
							
						 
						
							2010-01-14 21:32:45 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								ae606a1d1d 
								
							 
						 
						
							
							
								
								Mark some debug variables as 'unused' to quiet compiler and analyzer.  
							
							 
							
							... 
							
							
							
							llvm-svn: 92183 
							
						 
						
							2009-12-28 01:34:57 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								c3bd60e393 
								
							 
						 
						
							
							
								
								MC: Remove unneeded context argument to MCExpr::Evaluate*.  
							
							 
							
							... 
							
							
							
							llvm-svn: 84233 
							
						 
						
							2009-10-16 01:57:52 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								5f339244fb 
								
							 
						 
						
							
							
								
								MC: Tweak variable assignment diagnostics, and make reassignment of non-absolute  
							
							 
							
							... 
							
							
							
							variables and symbols invalid.
llvm-svn: 84232 
							
						 
						
							2009-10-16 01:57:39 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								d20cda028a 
								
							 
						 
						
							
							
								
								MC: When parsing a variable reference, substitute absolute variables immediately  
							
							 
							
							... 
							
							
							
							since they are allowed to be redefined.
llvm-svn: 84230 
							
						 
						
							2009-10-16 01:34:54 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								351a7ef01a 
								
							 
						 
						
							
							
								
								add a new DirectiveMap stringmap, which allows more efficient dispatching  
							
							 
							
							... 
							
							
							
							to directive handlers and allows for easier extensibility.
I only switched a few over for now.
llvm-svn: 82926 
							
						 
						
							2009-09-27 21:16:52 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c6a889d0b6 
								
							 
						 
						
							
							
								
								use an accessor to simplify code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 81997 
							
						 
						
							2009-09-16 04:12:47 +00:00  
						
					 
				
					
						
							
							
								 
								Kevin Enderby
							
						 
						
							 
							
							
							
							
								
							
							
								ce4bec8e0c 
								
							 
						 
						
							
							
								
								Added the ParseInstruction() hook for target specific assembler directives so  
							
							 
							
							... 
							
							
							
							that things like .word can be parsed as target specific.  Moved parsing .word
out of AsmParser.cpp into X86AsmParser.cpp as it is 2 bytes on X86 and 4 bytes
for other targets that support the .word directive.
llvm-svn: 81461 
							
						 
						
							2009-09-10 20:51:44 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								63951ada31 
								
							 
						 
						
							
							
								
								Fix an integer truncation noticed by MSVC.  
							
							 
							
							... 
							
							
							
							llvm-svn: 81109 
							
						 
						
							2009-09-06 09:35:10 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								897ffadd2d 
								
							 
						 
						
							
							
								
								llvm-mc: Pass values to MCStreamer as MCExprs, not MCValues.  
							
							 
							
							... 
							
							
							
							llvm-svn: 80578 
							
						 
						
							2009-08-31 08:09:28 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								b7b2097aac 
								
							 
						 
						
							
							
								
								llvm-mc: Simplify EmitAssignment ('.set' is identical to '=').  
							
							 
							
							... 
							
							
							
							llvm-svn: 80577 
							
						 
						
							2009-08-31 08:09:09 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								b12b33051d 
								
							 
						 
						
							
							
								
								llvm-mc: Remove MCAsmParser::Parse[Paren]RelocatableExpression.  
							
							 
							
							... 
							
							
							
							llvm-svn: 80576 
							
						 
						
							2009-08-31 08:08:50 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								7c82d56930 
								
							 
						 
						
							
							
								
								llvm-mc: Add MCAsmParser::Parse[Paren]Expression forms which return an MCExpr.  
							
							 
							
							... 
							
							
							
							llvm-svn: 80574 
							
						 
						
							2009-08-31 08:08:17 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								940cda2590 
								
							 
						 
						
							
							
								
								llvm-mc: Add MCAsmParser::getContext.  
							
							 
							
							... 
							
							
							
							llvm-svn: 80571 
							
						 
						
							2009-08-31 08:07:44 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								f363645da2 
								
							 
						 
						
							
							
								
								llvm-mc: Switch MCExpr construction to using static member functions, and taking the MCContext (which now owns all MCExprs).  
							
							 
							
							... 
							
							
							
							llvm-svn: 80569 
							
						 
						
							2009-08-31 08:07:22 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								115e4d6d7b 
								
							 
						 
						
							
							
								
								llvm-mc: Move AsmExpr into MC lib (as MCExpr).  
							
							 
							
							... 
							
							
							
							llvm-svn: 80567 
							
						 
						
							2009-08-31 08:06:59 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								6a715dccdf 
								
							 
						 
						
							
							
								
								llvm-mc: MCStreamer cleanups. - Remove EmitLocalSymbol, this is unsupported for now.  
							
							 
							
							... 
							
							
							
							- Switch Emit{CommonSymbol,Zerofill} to take alignment in bytes (for consistency).
llvm-svn: 80484 
							
						 
						
							2009-08-30 06:17:16 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								96abad185d 
								
							 
						 
						
							
							
								
								llvm-mc: Emit .lcomm as .zerofill.  
							
							 
							
							... 
							
							
							
							llvm-svn: 80343 
							
						 
						
							2009-08-28 05:48:46 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								e48a69b2a3 
								
							 
						 
						
							
							
								
								llvm-mc: Unique zero fill sections.  
							
							 
							
							... 
							
							
							
							llvm-svn: 80342 
							
						 
						
							2009-08-28 05:48:29 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								8d38b8d20c 
								
							 
						 
						
							
							
								
								Revert r80305, I forgot a dependent change.  
							
							 
							
							... 
							
							
							
							--- Reverse-merging r80305 into '.':
U    tools/llvm-mc/AsmParser.cpp
llvm-svn: 80309 
							
						 
						
							2009-08-27 23:58:10 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								ba33ff294e 
								
							 
						 
						
							
							
								
								llvm-mc: Unique sections in .zerofill.  
							
							 
							
							... 
							
							
							
							llvm-svn: 80305 
							
						 
						
							2009-08-27 23:45:06 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								4d7b2e3307 
								
							 
						 
						
							
							
								
								llvm-mc/Mach-O: Unique sections properly, so we don't get duplicate text  
							
							 
							
							... 
							
							
							
							sections, etc.
 - The quick and dirty way, just clone the TargetLoweringObjectFile
   code. Eventually this should be shared... somehow.
llvm-svn: 80168 
							
						 
						
							2009-08-26 22:49:51 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								e73b267301 
								
							 
						 
						
							
							
								
								llvm-mc/Mach-O: Don't put assembler temporary labels in the symbol table.  
							
							 
							
							... 
							
							
							
							- I moved section creation back into AsmParser. I think policy decisions like
   this should be pushed higher, not lower, when possible (in addition the
   assembler has flags which change this behavior, for example).
llvm-svn: 80162 
							
						 
						
							2009-08-26 22:13:22 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								18f3c9b994 
								
							 
						 
						
							
							
								
								llvm-mc: Make non-sensical max bytes to .align an error.  
							
							 
							
							... 
							
							
							
							Also, warn about overflow in alignment values.
llvm-svn: 80077 
							
						 
						
							2009-08-26 09:16:34 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								6860ac7375 
								
							 
						 
						
							
							
								
								llvm-mc: Clean up some handling of symbol/section association to be more correct  
							
							 
							
							... 
							
							
							
							(external was really undefined and there wasn't an explicit representation for
absolute symbols).
 - This still needs some cleanup to how the absolute "pseudo" section is dealt
   with, but I haven't figured out the nicest approach yet.
llvm-svn: 79733 
							
						 
						
							2009-08-22 07:22:36 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								67dfb1de23 
								
							 
						 
						
							
							
								
								llvm-mc: Improve handling of implicit alignment for magic section directives  
							
							 
							
							... 
							
							
							
							(e.g., .objc_message_refs).
 - Just emit a .align when we see the directive; this isn't exactly what 'as'
   does but in practice it should be ok, at least for now. See FIXME.
llvm-svn: 79697 
							
						 
						
							2009-08-21 23:30:15 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								4abcccb965 
								
							 
						 
						
							
							
								
								llvm-mc: In a .fill directive, still honor .align even if invalid maximum bytes  
							
							 
							
							... 
							
							
							
							count is given (this matches 'as').
llvm-svn: 79683 
							
						 
						
							2009-08-21 23:01:53 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								8e5edd81bb 
								
							 
						 
						
							
							
								
								llvm-mc: Accept .fill size of 8.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79635 
							
						 
						
							2009-08-21 15:43:35 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								9df5f33818 
								
							 
						 
						
							
							
								
								llvm-mc: Various section parsing fixes.  
							
							 
							
							... 
							
							
							
							- Add missing flags for various Objective-C sections.
 - Fix names for [non_]lazy_symbol_pointer (these are misspelled in the manual).
 - .symbol_stub does not have the self modifying code flag set (this appears to
   be wrong in the manual?).
 - Add implicit alignment values; not yet used.
Also, call MCStreamer::Finish at the end of a successful parse.
llvm-svn: 79611 
							
						 
						
							2009-08-21 08:34:18 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								ef668c169b 
								
							 
						 
						
							
							
								
								llvm-mc: Support escaped characters in string literals (for .ascii and .asciz)  
							
							 
							
							... 
							
							
							
							llvm-svn: 79010 
							
						 
						
							2009-08-14 18:19:52 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								ba95a7cd8d 
								
							 
						 
						
							
							
								
								llvm-mc: Accept .word as a synonym for .short  
							
							 
							
							... 
							
							
							
							llvm-svn: 78641 
							
						 
						
							2009-08-11 04:44:00 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								a4b069ce00 
								
							 
						 
						
							
							
								
								llvm-mc: Sketch parsing for .file, .line, and .loc. No streamer hooks for these  
							
							 
							
							... 
							
							
							
							yet (I'm not even sure what they do).
llvm-svn: 78639 
							
						 
						
							2009-08-11 04:24:50 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								9af747b421 
								
							 
						 
						
							
							
								
								llvm-mc: Fix darwin .section parsing. It was skipping the section name and a ','  
							
							 
							
							... 
							
							
							
							(and outputting a diagnostic pointing at the wrong place), all of which lead to
much confusion.
llvm-svn: 78637 
							
						 
						
							2009-08-11 03:42:33 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6c20391d38 
								
							 
						 
						
							
							
								
								split MachO section handling stuff out to its out .h/.cpp file.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78576 
							
						 
						
							2009-08-10 18:15:01 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								97189e5d04 
								
							 
						 
						
							
							
								
								add a fixme  
							
							 
							
							... 
							
							
							
							llvm-svn: 78575 
							
						 
						
							2009-08-10 18:05:55 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								cb307a27bf 
								
							 
						 
						
							
							
								
								Make the big switch: Change MCSectionMachO to represent a section *semantically*  
							
							 
							
							... 
							
							
							
							instead of syntactically as a string.  This means that it keeps track of the 
segment, section, flags, etc directly and asmprints them in the right format.
This also includes parsing and validation support for llvm-mc and 
"attribute(section)", so we should now start getting errors about invalid 
section attributes from the compiler instead of the assembler on darwin.
Still todo: 
1) Uniquing of darwin mcsections
2) Move all the Darwin stuff out to MCSectionMachO.[cpp|h]
3) there are a few FIXMEs, for example what is the syntax to get the
   S_GB_ZEROFILL segment type?
llvm-svn: 78547 
							
						 
						
							2009-08-10 01:39:42 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								591105c540 
								
							 
						 
						
							
							
								
								sink the 'name' and 'isdirective' state out of MCSection into its derived classes.  
							
							 
							
							... 
							
							
							
							This totally optimizes PIC16 sections by not having an 'isdirective' bit anymore!! ;-)
llvm-svn: 78517 
							
						 
						
							2009-08-08 23:39:42 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								089b7de20d 
								
							 
						 
						
							
							
								
								switch this to create coff sections for now, it doesn't really matter for  
							
							 
							
							... 
							
							
							
							llvm-mc's purpose yet and we'll want to switch to creating semantic sections
at some point.
llvm-svn: 78509 
							
						 
						
							2009-08-08 22:38:48 +00:00  
						
					 
				
					
						
							
							
								 
								Kevin Enderby
							
						 
						
							 
							
							
							
							
								
							
							
								d9f952948e 
								
							 
						 
						
							
							
								
								Added Mac OS X assembler style conditional assembly.  I may come back and see if  
							
							 
							
							... 
							
							
							
							I can clean this up a bit more and do way with the TheCondState and just use
the top element on the TheCondStack if not empty.  Also may tweak the code
around ParseConditionalAssemblyDirectives() to simplify the AsmParser code.
llvm-svn: 78423 
							
						 
						
							2009-08-07 22:46:00 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a61c05adc0 
								
							 
						 
						
							
							
								
								update for API change.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77804 
							
						 
						
							2009-08-01 21:14:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								95bad379a9 
								
							 
						 
						
							
							
								
								All MCSections are now required to have a SectionKind.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77787 
							
						 
						
							2009-08-01 18:25:49 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								c54ecb384d 
								
							 
						 
						
							
							
								
								llvm-mc: More quoted identifier support.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77761 
							
						 
						
							2009-08-01 00:48:30 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								9ee33ca28e 
								
							 
						 
						
							
							
								
								llvm-mc: Support quoted identifiers.  
							
							 
							
							... 
							
							
							
							- Uses MCAsmToken::getIdentifier which returns the (sub)string representing the
   meaningfull contents a string or identifier token.
 - Directives aren't done yet.
llvm-svn: 77739 
							
						 
						
							2009-07-31 21:55:09 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4b21d044a4 
								
							 
						 
						
							
							
								
								fix some more issues where we expected GetSection to do "get or create"  
							
							 
							
							... 
							
							
							
							llvm-svn: 77700 
							
						 
						
							2009-07-31 18:27:48 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0f5a6fc38b 
								
							 
						 
						
							
							
								
								fix a bunch of failing tests now that MCContext::GetSection doesn't create sections.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77689 
							
						 
						
							2009-07-31 17:47:16 +00:00