Eric Christopher
							
						 
						
							 
							
							
							
							
								
							
							
								96513120b7 
								
							 
						 
						
							
							
								
								Revert r133513:  
							
							 
							
							... 
							
							
							
							"Reinstate r133435 and r133449 (reverted in r133499) now that the clang
self-hosted build failure has been fixed (r133512)."
Due to some additional warnings.
llvm-svn: 133700 
							
						 
						
							2011-06-23 06:24:52 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								b3aaf95c4f 
								
							 
						 
						
							
							
								
								Remove the subclassing. This will be moved to the ASM printer.  
							
							 
							
							... 
							
							
							
							llvm-svn: 133473 
							
						 
						
							2011-06-20 22:12:24 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								098321c145 
								
							 
						 
						
							
							
								
								* Override the "EmitBytes" function, since it can sneak values in that way.  
							
							 
							
							... 
							
							
							
							* Make this used only if CFI is used.
llvm-svn: 133319 
							
						 
						
							2011-06-18 00:19:35 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								804e6d191b 
								
							 
						 
						
							
							
								
								Remove false assertion.  
							
							 
							
							... 
							
							
							
							llvm-svn: 133314 
							
						 
						
							2011-06-17 23:42:01 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								03cb993560 
								
							 
						 
						
							
							
								
								Disable for another investigation.  
							
							 
							
							... 
							
							
							
							llvm-svn: 133299 
							
						 
						
							2011-06-17 21:44:15 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								23de6d07c4 
								
							 
						 
						
							
							
								
								Support only DwarfCFI or SjLj exception handling in LSDA decoder.  
							
							 
							
							... 
							
							
							
							llvm-svn: 133297 
							
						 
						
							2011-06-17 21:31:43 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								590adcbcbf 
								
							 
						 
						
							
							
								
								SjLj exception handling LSDA decoding support wasn't represented correctly. Use  
							
							 
							
							... 
							
							
							
							the correct values, etc. In particular, the exception handling type is SjLj, not
ARM.
llvm-svn: 133296 
							
						 
						
							2011-06-17 21:29:06 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								cc648ad092 
								
							 
						 
						
							
							
								
								Disable to investigate ARM failure.  
							
							 
							
							... 
							
							
							
							llvm-svn: 133293 
							
						 
						
							2011-06-17 21:09:50 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								b74b9de151 
								
							 
						 
						
							
							
								
								Use the verbose asm flag instead of a new flag for decoding the LSDA.  
							
							 
							
							... 
							
							
							
							llvm-svn: 133292 
							
						 
						
							2011-06-17 20:55:01 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								e303114b3c 
								
							 
						 
						
							
							
								
								Add an option that allows one to "decode" the LSDA.  
							
							 
							
							... 
							
							
							
							The LSDA is a bit difficult for the non-initiated to read. Even with comments,
it's not always clear what's going on. This wraps the ASM streamer in a class
that retains the LSDA and then emits a human-readable description of what's
going on in it.
So instead of having to make sense of:
Lexception1:
        .byte   255
        .byte   155
        .byte   168
        .space  1
        .byte   3
        .byte   26
Lset0 = Ltmp7-Leh_func_begin1
      .long     Lset0
Lset1 = Ltmp812-Ltmp7
      .long     Lset1
Lset2 = Ltmp913-Leh_func_begin1
      .long     Lset2
      .byte     3
Lset3 = Ltmp812-Leh_func_begin1
      .long     Lset3
Lset4 = Leh_func_end1-Ltmp812
      .long     Lset4
      .long     0
      .byte     0
      .byte     1
      .byte     0
      .byte     2
      .byte     125
      .long     __ZTIi@GOTPCREL+4
      .long     __ZTIPKc@GOTPCREL+4
you can read this instead:
## Exception Handling Table: Lexception1
##  @LPStart Encoding: omit
##    @TType Encoding: indirect pcrel sdata4
##        @TType Base: 40 bytes
## @CallSite Encoding: udata4
## @Action Table Size: 26 bytes
## Action 1:
##   A throw between Ltmp7 and Ltmp812 jumps to Ltmp913 on an exception.
##     For type(s):  __ZTIi@GOTPCREL+4 __ZTIPKc@GOTPCREL+4
## Action 2:
##   A throw between Ltmp812 and Leh_func_end1 does not have a landing pad.
llvm-svn: 133286 
							
						 
						
							2011-06-17 20:35:21 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								d6860522b2 
								
							 
						 
						
							
							
								
								Don't hardcode the %reg format in the streamer.  
							
							 
							
							... 
							
							
							
							llvm-svn: 132451 
							
						 
						
							2011-06-02 02:34:55 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								08600bcf65 
								
							 
						 
						
							
							
								
								Use the dwarf->llvm mapping to print register names in the cfi  
							
							 
							
							... 
							
							
							
							directives.
Fixes PR9826.
llvm-svn: 132317 
							
						 
						
							2011-05-30 20:20:15 +00:00  
						
					 
				
					
						
							
							
								 
								Charles Davis
							
						 
						
							 
							
							
							
							
								
							
							
								03eef62db0 
								
							 
						 
						
							
							
								
								Add a parameter to the Win64 EH section getters to get a section with a  
							
							 
							
							... 
							
							
							
							suffix (e.g. .xdata$myfunc). The suffix part isn't implemented yet, but
I'll get to it in the next patch.
Fix up all callers of the affected functions. Make them pass said suffix to
the function.
llvm-svn: 132205 
							
						 
						
							2011-05-27 19:09:24 +00:00  
						
					 
				
					
						
							
							
								 
								Charles Davis
							
						 
						
							 
							
							
							
							
								
							
							
								2f6ecea19d 
								
							 
						 
						
							
							
								
								Add tests for .seh_setframe and .seh_handlerdata parsing. Fix issues with  
							
							 
							
							... 
							
							
							
							them.
I had to add a special SwitchSectionNoChange method to MCStreamer just for
.seh_handlerdata. If this isn't OK, please let me know, and I'll find some
other way to fix .seh_handlerdata streaming.
llvm-svn: 132084 
							
						 
						
							2011-05-25 21:43:45 +00:00  
						
					 
				
					
						
							
							
								 
								Charles Davis
							
						 
						
							 
							
							
							
							
								
							
							
								c7250faeb1 
								
							 
						 
						
							
							
								
								Add methods to parse the SEH directives to the COFFAsmParser. Implement some  
							
							 
							
							... 
							
							
							
							of them, particularly the ones that don't take arguments. Also implement
.seh_proc and .seh_handler.
llvm-svn: 131866 
							
						 
						
							2011-05-22 21:12:15 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								860b03b5f9 
								
							 
						 
						
							
							
								
								Add missing leading \t when printing .cfi_def_cfa in the asmstreamer.  
							
							 
							
							... 
							
							
							
							llvm-svn: 131755 
							
						 
						
							2011-05-20 21:22:37 +00:00  
						
					 
				
					
						
							
							
								 
								Charles Davis
							
						 
						
							 
							
							
							
							
								
							
							
								9a115a4bd2 
								
							 
						 
						
							
							
								
								Now that they're implemented, make the Win64 EH MCAsmStreamer methods call  
							
							 
							
							... 
							
							
							
							super.
llvm-svn: 131743 
							
						 
						
							2011-05-20 18:19:22 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								8e129296fe 
								
							 
						 
						
							
							
								
								Misc code refactorings:  
							
							 
							
							... 
							
							
							
							* Remove unnecessary arguments now that ForceExpAbs is a method.
* Use ForceExpAbs in EmitAbsValue.
llvm-svn: 131683 
							
						 
						
							2011-05-19 21:40:34 +00:00  
						
					 
				
					
						
							
							
								 
								Charles Davis
							
						 
						
							 
							
							
							
							
								
							
							
								7e6e8951af 
								
							 
						 
						
							
							
								
								Implement the Win64 EH prolog instruction methods on the base MCStreamer.  
							
							 
							
							... 
							
							
							
							I had to change the API slightly to avoid overloading issues.
llvm-svn: 131666 
							
						 
						
							2011-05-19 19:35:55 +00:00  
						
					 
				
					
						
							
							
								 
								Charles Davis
							
						 
						
							 
							
							
							
							
								
							
							
								4cd8856704 
								
							 
						 
						
							
							
								
								Turns out GAS does have Win64 EH directives. (It also supports WinCE EH.) Make  
							
							 
							
							... 
							
							
							
							ours compatible with GAS.
In retrospect, I should have emailed binutils about this earlier. Thanks to
Kai Tietz for pointing out that GAS already had SEH directives.
llvm-svn: 131652 
							
						 
						
							2011-05-19 17:46:39 +00:00  
						
					 
				
					
						
							
							
								 
								Charles Davis
							
						 
						
							 
							
							
							
							
								
							
							
								27117af772 
								
							 
						 
						
							
							
								
								Remove comments as Chris requested.  
							
							 
							
							... 
							
							
							
							llvm-svn: 131590 
							
						 
						
							2011-05-18 22:13:51 +00:00  
						
					 
				
					
						
							
							
								 
								Cameron Zwarich
							
						 
						
							 
							
							
							
							
								
							
							
								492f87de4e 
								
							 
						 
						
							
							
								
								Fix an obvious typo in r131572.  
							
							 
							
							... 
							
							
							
							llvm-svn: 131579 
							
						 
						
							2011-05-18 21:29:07 +00:00  
						
					 
				
					
						
							
							
								 
								Charles Davis
							
						 
						
							 
							
							
							
							
								
							
							
								77e0610d7c 
								
							 
						 
						
							
							
								
								Add some more Win64 EH directives:  
							
							 
							
							... 
							
							
							
							- StartChained and EndChained delimit a chained unwind area, which can contain
  additional operations to be undone if an exception occurs inside of it.
- UnwindOnly declares that this function doesn't handle any exceptions. If it
  has a handler, it's an unwind handler instead of an exception handler.
- Lsda declares the location and size of the LSDA, which in the Win64 EH
  scheme is kept inside the UNWIND_INFO struct. Windows itself ignores the
  LSDA; it's used by the Language-Specific Handler (the "Personality Function"
  from DWARF).
llvm-svn: 131572 
							
						 
						
							2011-05-18 20:54:10 +00:00  
						
					 
				
					
						
							
							
								 
								Charles Davis
							
						 
						
							 
							
							
							
							
								
							
							
								8d9c99042f 
								
							 
						 
						
							
							
								
								Implement the Win64 EH directive methods for the assembly language streamer.  
							
							 
							
							... 
							
							
							
							GAS has no such directives (not even mingw-w64 GAS has them), so I took
creative license with their names in assembly. I prefixed them all with
"w64_" to avoid namespace collisions, for example. If I discover that GAS
has taken a different approach, I'll change ours to match.
llvm-svn: 131525 
							
						 
						
							2011-05-18 04:58:05 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								e90c1cb221 
								
							 
						 
						
							
							
								
								sets bit 0 of the function address of thumb function in .symtab  
							
							 
							
							... 
							
							
							
							("T is 1 if the target symbol S has type STT_FUNC and the
symbol addresses a Thumb instruction ;it is 0 otherwise."
from "ELF for the ARM Architecture" 4.7.1.2)
Patch by Koan-Sin Tan!
llvm-svn: 131406 
							
						 
						
							2011-05-16 16:17:21 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								ec53aa9485 
								
							 
						 
						
							
							
								
								Add CFIStartSections to the asm printer. Add an assert that at least  
							
							 
							
							... 
							
							
							
							one of the sections is created.
llvm-svn: 131124 
							
						 
						
							2011-05-10 13:39:48 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								b6089d6cac 
								
							 
						 
						
							
							
								
								Factor some code into a new EmitFrames method.  
							
							 
							
							... 
							
							
							
							llvm-svn: 131119 
							
						 
						
							2011-05-10 03:14:15 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								750cb61553 
								
							 
						 
						
							
							
								
								GCC uses a different encoding of pointers in the FDE when using  
							
							 
							
							... 
							
							
							
							-fno-dwarf2-cfi-asm. Implement the same behavior.
llvm-svn: 130637 
							
						 
						
							2011-05-01 04:49:54 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								fd05785324 
								
							 
						 
						
							
							
								
								Simplify the handling of pcrel relocations on ELF. Now we do the right thing  
							
							 
							
							... 
							
							
							
							for all symbol differences and can drop the old EmitPCRelSymbolValue
method.
This also make getExprForFDESymbol on ELF equal to the one on MachO, and it
can be made non-virtual.
llvm-svn: 130634 
							
						 
						
							2011-05-01 03:50:49 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								b7c2286055 
								
							 
						 
						
							
							
								
								Revert the previous patch while I figure out how to make llvm-gcc  
							
							 
							
							... 
							
							
							
							less agressive about disabling cfi on linux :-(
llvm-svn: 130626 
							
						 
						
							2011-04-30 23:03:44 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								5265bc483e 
								
							 
						 
						
							
							
								
								Enable CFI on OS X.  
							
							 
							
							... 
							
							
							
							Currently the output should be almost identical to the one produced by CodeGen
to make the transition easier.
The only two differences I know of are:
* Some files get an extra advance loc of size 0. This will be fixed when
relaxations are enabled.
* The optimization of declaring an EH symbol as an external variable is not
implemented. This is a subset of adding the nounwind attribute, so we if really
this at -O0 we should probably do it at the IL level.
llvm-svn: 130623 
							
						 
						
							2011-04-30 22:29:54 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								bde52bca69 
								
							 
						 
						
							
							
								
								Implement MCAsmStreamer::EmitEHSymAttributes. Doing this in the asm streamer  
							
							 
							
							... 
							
							
							
							is a bit ugly, but doing it on the base MCStreamer would be redundant
with the object streamer which does it using SD.
llvm-svn: 130611 
							
						 
						
							2011-04-30 16:34:57 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								a3181d12c6 
								
							 
						 
						
							
							
								
								Add all the plumbing needed for MC to expand cfi to the old tables in  
							
							 
							
							... 
							
							
							
							the final assembly. It is the same technique used when targeting
assemblers that don't support .loc.
llvm-svn: 130587 
							
						 
						
							2011-04-30 03:44:37 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								1d1eced025 
								
							 
						 
						
							
							
								
								Implement MCAsmStreamer::EmitDwarfAdvanceFrameAddr.  
							
							 
							
							... 
							
							
							
							llvm-svn: 130585 
							
						 
						
							2011-04-30 03:21:04 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								6c961e1b75 
								
							 
						 
						
							
							
								
								Implement MCAsmStreamer::EmitCFIDefCfa.  
							
							 
							
							... 
							
							
							
							llvm-svn: 130543 
							
						 
						
							2011-04-29 21:41:06 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								124ae13421 
								
							 
						 
						
							
							
								
								Hoist MCLineEntry construction AsmPrinter so that anyone who derives from AsmPrinter can have line number entries.  
							
							 
							
							... 
							
							
							
							PR 9810
llvm-svn: 130518 
							
						 
						
							2011-04-29 18:00:54 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								27c0c9bb87 
								
							 
						 
						
							
							
								
								Factor a bit of code to MCStreamer::EmitLabel. Keep track of the last  
							
							 
							
							... 
							
							
							
							non private symbol. This will be use for handling
foo:
  .cfi_startproc
  ...
On OS X where we have to create a foo.eh symbol.
llvm-svn: 130305 
							
						 
						
							2011-04-27 15:21:19 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								6aea59268a 
								
							 
						 
						
							
							
								
								Remove unused argument.  
							
							 
							
							... 
							
							
							
							llvm-svn: 129955 
							
						 
						
							2011-04-21 23:39:26 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								17740e70d5 
								
							 
						 
						
							
							
								
								Reduce clutter in asm output. Do not emit source location as comment for each instruction.  
							
							 
							
							... 
							
							
							
							llvm-svn: 129715 
							
						 
						
							2011-04-18 20:26:49 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								539d96f01d 
								
							 
						 
						
							
							
								
								Be consistent about being virtual and returning void in the cfi methods.  
							
							 
							
							... 
							
							
							
							Implement the ones that were missing in the asm streamer.
llvm-svn: 129413 
							
						 
						
							2011-04-12 23:59:07 +00:00  
						
					 
				
					
						
							
							
								 
								NAKAMURA Takumi
							
						 
						
							 
							
							
							
							
								
							
							
								af66980d8a 
								
							 
						 
						
							
							
								
								Fix whitespace.  
							
							 
							
							... 
							
							
							
							llvm-svn: 128370 
							
						 
						
							2011-03-27 01:44:40 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								e7410dd0d5 
								
							 
						 
						
							
							
								
								Preliminary support for ARM frame save directives emission via MI flags.  
							
							 
							
							... 
							
							
							
							This is just very first approximation how the stuff should be done
(e.g. ARM-only for now). More to follow.
llvm-svn: 127101 
							
						 
						
							2011-03-05 18:43:32 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								a7ec2dcefd 
								
							 
						 
						
							
							
								
								Some first rudimentary support for ARM EHABI: print exception table in "text mode".  
							
							 
							
							... 
							
							
							
							llvm-svn: 127099 
							
						 
						
							2011-03-05 18:43:15 +00:00  
						
					 
				
					
						
							
							
								 
								Cameron Zwarich
							
						 
						
							 
							
							
							
							
								
							
							
								fcf51fd298 
								
							 
						 
						
							
							
								
								Roll out r126425 and r126450 to see if it fixes the failures on the buildbots.  
							
							 
							
							... 
							
							
							
							llvm-svn: 126488 
							
						 
						
							2011-02-25 16:30:32 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								b037383a35 
								
							 
						 
						
							
							
								
								Enable DebugInfo support for COFF object files.  
							
							 
							
							... 
							
							
							
							Patch by Nathan Jeffords!
llvm-svn: 126425 
							
						 
						
							2011-02-24 21:04:00 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								58ac6e1677 
								
							 
						 
						
							
							
								
								Add support for pushsection and popsection. Patch by Joerg Sonnenberger.  
							
							 
							
							... 
							
							
							
							llvm-svn: 125629 
							
						 
						
							2011-02-16 01:08:29 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								e2bea1c82e 
								
							 
						 
						
							
							
								
								Use common style for .cfi directives  
							
							 
							
							... 
							
							
							
							llvm-svn: 123472 
							
						 
						
							2011-01-14 21:57:39 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								52899a9c34 
								
							 
						 
						
							
							
								
								Add comment about Thumb2 fixup comments being completely bogus.  
							
							 
							
							... 
							
							
							
							llvm-svn: 123411 
							
						 
						
							2011-01-13 23:27:39 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								0447d30939 
								
							 
						 
						
							
							
								
								Relax an assertion. On archs like ARM, an immediate field may be scattered. So it's possible for some bits of every 8 bits to be encoded already, and the rest still needs to be fixed up.  
							
							 
							
							... 
							
							
							
							llvm-svn: 123403 
							
						 
						
							2011-01-13 21:45:26 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								1de2dd0e5e 
								
							 
						 
						
							
							
								
								Add support for .cfi_lsda.  
							
							 
							
							... 
							
							
							
							llvm-svn: 122584 
							
						 
						
							2010-12-27 15:56:22 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								2ac8355ecd 
								
							 
						 
						
							
							
								
								Add support for the same encodings of the personality function that gnu as  
							
							 
							
							... 
							
							
							
							supports.
llvm-svn: 122577 
							
						 
						
							2010-12-27 00:36:05 +00:00  
						
					 
				
					
						
							
							
								 
								Nick Lewycky
							
						 
						
							 
							
							
							
							
								
							
							
								0de20af7ba 
								
							 
						 
						
							
							
								
								Add missing standard headers. Patch by Joerg Sonnenberger!  
							
							 
							
							... 
							
							
							
							llvm-svn: 122193 
							
						 
						
							2010-12-19 20:43:38 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								0c9d9fdd81 
								
							 
						 
						
							
							
								
								MC: Move target specific fixup info descriptors to TargetAsmBackend instead of  
							
							 
							
							... 
							
							
							
							the MCCodeEmitter, which seems like a better organization.
 - Also, cleaned up some magic constants while in the area.
llvm-svn: 121953 
							
						 
						
							2010-12-16 03:20:06 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								ecd0c8a557 
								
							 
						 
						
							
							
								
								MC: Make TargetAsmBackend available to the AsmStreamer.  
							
							 
							
							... 
							
							
							
							- Treaty talks on the non-proliferation of MC objects broke down.
llvm-svn: 121949 
							
						 
						
							2010-12-16 03:05:59 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								0a017a6db2 
								
							 
						 
						
							
							
								
								Fixed version of 121434 with no new memory leaks.  
							
							 
							
							... 
							
							
							
							llvm-svn: 121471 
							
						 
						
							2010-12-10 07:39:47 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								a945a34c73 
								
							 
						 
						
							
							
								
								Revert my previous patch to make the valgrind bots happy.  
							
							 
							
							... 
							
							
							
							llvm-svn: 121461 
							
						 
						
							2010-12-10 04:01:09 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								56eb741237 
								
							 
						 
						
							
							
								
								Initial support for the cfi directives. This is just enough to get  
							
							 
							
							... 
							
							
							
							f:
        .cfi_startproc
        nop
        .cfi_endproc
assembled (on ELF).
llvm-svn: 121434 
							
						 
						
							2010-12-09 23:48:29 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								44bbe36de6 
								
							 
						 
						
							
							
								
								Second try at making direct object emission produce the same results  
							
							 
							
							... 
							
							
							
							as llc + llvm-mc. This time ELF is not changed and I tested that llvm-gcc
bootstrap on darwin10 using darwin9's assembler and linker.
llvm-svn: 121006 
							
						 
						
							2010-12-06 17:27:56 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								1c8ac8f027 
								
							 
						 
						
							
							
								
								There are two reasons why we might want to use  
							
							 
							
							... 
							
							
							
							foo = a - b
.long foo
instead of just
.long a - b
First, on darwin9 64 bits the assembler produces the wrong result. Second,
if "a" is the end of the section all darwin assemblers (9, 10 and mc) will not
consider a - b to be a constant but will if the dummy foo is created.
Split how we handle these cases. The first one is something MC should take care
of. The second one has to be handled by the caller.
llvm-svn: 120889 
							
						 
						
							2010-12-04 03:21:47 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								1048e75fb9 
								
							 
						 
						
							
							
								
								Next step: Only pad debug_line when the target is darwin. Add a FIXME to avoid  
							
							 
							
							... 
							
							
							
							doing that if the target is darwin10 or newer.
This fixes
*) Direct object emission was producing objects without the workaround on
   darwin9.
*) Assembly printing was producing objects with the workaround on linux.
llvm-svn: 120866 
							
						 
						
							2010-12-04 00:31:13 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								4c70eeaf33 
								
							 
						 
						
							
							
								
								Make EmitIntValue more efficient and more like what we do for leb128. The  
							
							 
							
							... 
							
							
							
							difference is much smaller (about 0.3s) but significant.
llvm-svn: 120787 
							
						 
						
							2010-12-03 02:54:21 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								675fbb2ad1 
								
							 
						 
						
							
							
								
								Do with uleb the same trick we now do with dwarf line/address advances. This  
							
							 
							
							... 
							
							
							
							avoids creating leb128 fragments and speeds up the test in PR8711 to 33s.
llvm-svn: 120774 
							
						 
						
							2010-12-03 01:19:49 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								57ab708bdd 
								
							 
						 
						
							
							
								
								Try to resolve symbol differences early, and if successful create a plain  
							
							 
							
							... 
							
							
							
							data fragment. This reduces the time to assemble the test in 8711 from 60s to
54s.
llvm-svn: 120767 
							
						 
						
							2010-12-03 00:55:40 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								5eed2e63f8 
								
							 
						 
						
							
							
								
								It may not be an option to skip .debug_line if there are file reference in already emitted debug info. So, for now, emit dummy line table entry to make older linker and assemblers happy. This is not a new behavior, original AsmPrinter emitted similar line table entries.  
							
							 
							
							... 
							
							
							
							llvm-svn: 120760 
							
						 
						
							2010-12-03 00:10:48 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								8cabd938ed 
								
							 
						 
						
							
							
								
								Use set directive for StartMinusEndExpr.  
							
							 
							
							... 
							
							
							
							This is a fix for llvm-gcc-i386-darwin9 buildbot failure.
llvm-svn: 120742 
							
						 
						
							2010-12-02 21:32:30 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								87b9114f49 
								
							 
						 
						
							
							
								
								If tehre are not any line entry then do not try to emit .debug_line section.  
							
							 
							
							... 
							
							
							
							llvm-svn: 120637 
							
						 
						
							2010-12-02 01:17:51 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								e5e1f9ad0f 
								
							 
						 
						
							
							
								
								Make EmitIntValue non virtual.  
							
							 
							
							... 
							
							
							
							llvm-svn: 120271 
							
						 
						
							2010-11-28 23:22:44 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								3c227b0b89 
								
							 
						 
						
							
							
								
								Add basic CFI methods to the streamer interface.  
							
							 
							
							... 
							
							
							
							llvm-svn: 119972 
							
						 
						
							2010-11-22 14:27:24 +00:00  
						
					 
				
					
						
							
							
								 
								Kevin Enderby
							
						 
						
							 
							
							
							
							
								
							
							
								8be14414f6 
								
							 
						 
						
							
							
								
								Added support for the Mach-O .symbol_resolver directive.  rdar://8673046  
							
							 
							
							... 
							
							
							
							llvm-svn: 119816 
							
						 
						
							2010-11-19 18:39:33 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								92ca933f6e 
								
							 
						 
						
							
							
								
								Fix llvm-gcc boostrap on OS X by avoiding printing sleb and uleb when  
							
							 
							
							... 
							
							
							
							possible.
llvm-svn: 119785 
							
						 
						
							2010-11-19 04:10:13 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								b58867ccba 
								
							 
						 
						
							
							
								
								Change some methods in MCDwarf.cpp to be able to handle an arbitrary  
							
							 
							
							... 
							
							
							
							MCStreamer instead of just MCObjectStreamer. Address changes cannot
be as efficient as we have to use DW_LNE_set_addres, but at least
most of the logic is shared.
This will be used so that, with CodeGen still using EmitDwarfLocDirective,
llvm-gcc is able to produce debug_line sections without needing an
assembler that supports .loc.
llvm-svn: 119777 
							
						 
						
							2010-11-19 02:26:16 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								c653a895c8 
								
							 
						 
						
							
							
								
								Add .loc methods to the streamer.  
							
							 
							
							... 
							
							
							
							Next: Add support for the !HasDotLocAndDotFile case to the MCAsmStreamer
and then switch codegen to use it.
llvm-svn: 119384 
							
						 
						
							2010-11-16 21:20:32 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9e7d8c0313 
								
							 
						 
						
							
							
								
								correct the fixup comment printer to work on big endian platforms.  
							
							 
							
							... 
							
							
							
							llvm-svn: 119122 
							
						 
						
							2010-11-15 05:56:19 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								2d006b1ade 
								
							 
						 
						
							
							
								
								Fix warning and add support for printing  gnu_unique_object.  
							
							 
							
							... 
							
							
							
							llvm-svn: 118981 
							
						 
						
							2010-11-13 04:55:06 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								cbdf7efe1c 
								
							 
						 
						
							
							
								
								Add '.code 32' assembler directive to MC streamers.  
							
							 
							
							... 
							
							
							
							llvm-svn: 118309 
							
						 
						
							2010-11-05 22:40:09 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								5a2c68d308 
								
							 
						 
						
							
							
								
								MC'ize the '.code 16' and '.thumb_func' ARM directives.  
							
							 
							
							... 
							
							
							
							llvm-svn: 118301 
							
						 
						
							2010-11-05 22:08:08 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								38d0756b88 
								
							 
						 
						
							
							
								
								Add 118023 back, but with proper spelling for .uleb128/.sleb128.  
							
							 
							
							... 
							
							
							
							llvm-svn: 118254 
							
						 
						
							2010-11-04 18:17:08 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								5e874982f2 
								
							 
						 
						
							
							
								
								Add support for expressions in .sleb/.uleb directives.  
							
							 
							
							... 
							
							
							
							llvm-svn: 118023 
							
						 
						
							2010-11-02 17:22:24 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								1614597873 
								
							 
						 
						
							
							
								
								Implement .weakref.  
							
							 
							
							... 
							
							
							
							llvm-svn: 117911 
							
						 
						
							2010-11-01 14:28:48 +00:00  
						
					 
				
					
						
							
							
								 
								Jason W Kim
							
						 
						
							 
							
							
							
							
								
							
							
								645f6c2bef 
								
							 
						 
						
							
							
								
								Tiny patch for proof-of-concept cleanup of ARMAsmPrinter::EmitStartOfAsmFile()  
							
							 
							
							... 
							
							
							
							Small test for sanity check of resulting ARM .s file.
Tested against -r115129.
llvm-svn: 115133 
							
						 
						
							2010-09-30 02:45:56 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7bce0596a7 
								
							 
						 
						
							
							
								
								allow target-specific label suffixes, patch by Yuri Gribov!  
							
							 
							
							... 
							
							
							
							llvm-svn: 114592 
							
						 
						
							2010-09-22 22:19:53 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								6ebd728067 
								
							 
						 
						
							
							
								
								grammar tweakage  
							
							 
							
							... 
							
							
							
							llvm-svn: 114561 
							
						 
						
							2010-09-22 18:18:30 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								3bde49aa29 
								
							 
						 
						
							
							
								
								remove trailing whitespace  
							
							 
							
							... 
							
							
							
							llvm-svn: 114560 
							
						 
						
							2010-09-22 18:16:55 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								f667d929ce 
								
							 
						 
						
							
							
								
								Add a InitSections method to the streamer interface.  
							
							 
							
							... 
							
							
							
							The ELF implementation now creates text, data and bss to match the gnu as
behavior.
The text streamer still has the old MachO specific behavior since
the testsuite checks that it will error when a directive is given
before a setting the current section for example.
A nice benefit is that -n is not required anymore when producing
ELF files.
llvm-svn: 114027 
							
						 
						
							2010-09-15 21:48:40 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								e39017cb97 
								
							 
						 
						
							
							
								
								Add AsmParser support for the ELF .previous directive. Patch by Roman Divacky.  
							
							 
							
							... 
							
							
							
							llvm-svn: 112849 
							
						 
						
							2010-09-02 18:53:37 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								a3e0ddb564 
								
							 
						 
						
							
							
								
								Plug the remaining MC leaks by giving MCObjectStreamer/MCAsmStreamer ownership of the TargetAsmBackend and the MCCodeEmitter.  
							
							 
							
							... 
							
							
							
							llvm-svn: 109767 
							
						 
						
							2010-07-29 17:48:06 +00:00  
						
					 
				
					
						
							
							
								 
								Kevin Enderby
							
						 
						
							 
							
							
							
							
								
							
							
								082d0fd7ad 
								
							 
						 
						
							
							
								
								Added the darwin .weak_def_can_be_hidden directive.  
							
							 
							
							... 
							
							
							
							llvm-svn: 107886 
							
						 
						
							2010-07-08 17:22:42 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								79d2075e4a 
								
							 
						 
						
							
							
								
								"This is just a cosmetic change in MCAsmStreamer.cpp/EmitSymbolAttribute: all attributes have now a \t before and after, as done for '.type'.  
							
							 
							
							... 
							
							
							
							This makes the output look consistent, as well as help some third party assemblers expecting the attributes to be in the second column."
Patch by Arnaud de Grandmaison!
llvm-svn: 106469 
							
						 
						
							2010-06-21 20:35:01 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								a76715fc88 
								
							 
						 
						
							
							
								
								Don't call flush() at a library level which isn't checking for errors  
							
							 
							
							... 
							
							
							
							and doesn't know where the output is going.
llvm-svn: 105274 
							
						 
						
							2010-06-01 16:31:34 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								3627af5da4 
								
							 
						 
						
							
							
								
								MC: Change MCInst::dump_pretty to not include a trailing newline.  
							
							 
							
							... 
							
							
							
							llvm-svn: 104696 
							
						 
						
							2010-05-26 15:18:13 +00:00  
						
					 
				
					
						
							
							
								 
								Eric Christopher
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Eric Christopher
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Eric Christopher
							
						 
						
							 
							
							
							
							
								
							
							
								9fb6bb07ca 
								
							 
						 
						
							
							
								
								Add AsmParser support for darwin tbss directive.  
							
							 
							
							... 
							
							
							
							Nothing uses this yet.
llvm-svn: 103757 
							
						 
						
							2010-05-14 01:50:28 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								72afa956db 
								
							 
						 
						
							
							
								
								break coff symbol definition stuff out into proper MCStreamer callbacks,  
							
							 
							
							... 
							
							
							
							patch by Nathan Jeffords!
llvm-svn: 103346 
							
						 
						
							2010-05-08 19:54:22 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								f3a53baf00 
								
							 
						 
						
							
							
								
								MC/Mach-O: Mark absolute variable's appropriately, and add Mach-O support for  
							
							 
							
							... 
							
							
							
							writing them.
 - <rdar://problem/7885351> integrated assembler broken for i386 objc code
llvm-svn: 103112 
							
						 
						
							2010-05-05 19:01:05 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								deb7ba9cc0 
								
							 
						 
						
							
							
								
								MC: Reject attempts to define a variable symbol.  
							
							 
							
							... 
							
							
							
							llvm-svn: 103111 
							
						 
						
							2010-05-05 19:01:00 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								7a989da0af 
								
							 
						 
						
							
							
								
								MC: Rename MCSymbol::{g,s}etValue -> MCSymbol::{g,s}etVariableValue.  
							
							 
							
							... 
							
							
							
							llvm-svn: 103095 
							
						 
						
							2010-05-05 17:41:00 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7012916275 
								
							 
						 
						
							
							
								
								fix an ugly wart in the MCInstPrinter api where the  
							
							 
							
							... 
							
							
							
							raw_ostream to print an instruction to had to be specified
at MCInstPrinter construction time instead of being able
to pick at each call to printInstruction.
llvm-svn: 100307 
							
						 
						
							2010-04-04 05:04:31 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								aca014e24e 
								
							 
						 
						
							
							
								
								allow attaching comments to raw text.  
							
							 
							
							... 
							
							
							
							llvm-svn: 100292 
							
						 
						
							2010-04-03 22:06:56 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8a87fb7633 
								
							 
						 
						
							
							
								
								add a new EmitInlineAsm function to asmprinter to handle inline asm.  
							
							 
							
							... 
							
							
							
							If we have an MCAsmStreamer, we continue to emit asm textually, 
otherwise we (currently) emit an error to errs and ignore it.
llvm-svn: 100289 
							
						 
						
							2010-04-03 21:35:55 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								04047fbe14 
								
							 
						 
						
							
							
								
								MCInst: Add ::dump_pretty.  
							
							 
							
							... 
							
							
							
							llvm-svn: 99216 
							
						 
						
							2010-03-22 21:49:34 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								90a7859ebc 
								
							 
						 
						
							
							
								
								fix an MCInstPrinter leak that jyasskin pointed out:  
							
							 
							
							... 
							
							
							
							createAsmStreamer now takes ownership of the instprinter.
llvm-svn: 98939 
							
						 
						
							2010-03-19 05:48:53 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ac77bf5d1e 
								
							 
						 
						
							
							
								
								remove MAI argument from createAsmStreamer since it  
							
							 
							
							... 
							
							
							
							can get it from the context now.
llvm-svn: 98361 
							
						 
						
							2010-03-12 18:28:53 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								eebaf6a76f 
								
							 
						 
						
							
							
								
								genericize MCAsmStreamer::EmitCodeAlignment to support other targets  
							
							 
							
							... 
							
							
							
							so that it doesn't break them when the code generator starts using it.
llvm-svn: 96966 
							
						 
						
							2010-02-23 18:44:31 +00:00  
						
					 
				
					
						
							
							
								 
								Kevin Enderby
							
						 
						
							 
							
							
							
							
								
							
							
								e83d74f626 
								
							 
						 
						
							
							
								
								This is the first patch to put the needed bits in place to eventually allow code  
							
							 
							
							... 
							
							
							
							to be aligned with optimal nops.  This patch does not change any functionality
and when the compiler is changed to use EmitCodeAlignment() it should also not
change the resulting output.  Once the compiler change is made and everything
looks good the next patch with the table of optimal X86 nops will be added to
WriteNopData() changing the output.  There are many FIXMEs in this patch which
will be removed when we have better target hooks (coming soon I hear).
llvm-svn: 96963 
							
						 
						
							2010-02-23 18:26:34 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								524138176d 
								
							 
						 
						
							
							
								
								add a new MCInstPrinter::getOpcodeName interface, when it is  
							
							 
							
							... 
							
							
							
							implemented, llvm-mc --show-inst now uses it to print the
instruction opcode as well as the number.
llvm-svn: 95929 
							
						 
						
							2010-02-11 22:39:10 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ddeceae839 
								
							 
						 
						
							
							
								
								make getFixupKindInfo return a const reference, allowing  
							
							 
							
							... 
							
							
							
							the tables to be const.  Teach MCCodeEmitter to handle
the target-indep kinds so that we don't crash on them.
llvm-svn: 95924 
							
						 
						
							2010-02-11 21:27:18 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								605474463f 
								
							 
						 
						
							
							
								
								MC: Switch MCFixup to just hold an MCExpr pointer instead of index into the  
							
							 
							
							... 
							
							
							
							MCInst it came from.
llvm-svn: 95767 
							
						 
						
							2010-02-10 04:47:08 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								75c9a4eeae 
								
							 
						 
						
							
							
								
								llvm-mc: Remove --show-fixups and always show as part of --show-encoding.  
							
							 
							
							... 
							
							
							
							Also, fix a silly memory leak.
llvm-svn: 95752 
							
						 
						
							2010-02-10 01:41:14 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								69920c5c8a 
								
							 
						 
						
							
							
								
								daniel *really* likes fixups!  
							
							 
							
							... 
							
							
							
							llvm-svn: 95742 
							
						 
						
							2010-02-10 01:05:28 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								482bf69bfe 
								
							 
						 
						
							
							
								
								Add ability for MCInstPrinters to add comments for instructions.  
							
							 
							
							... 
							
							
							
							Enhance the x86 backend to show the hex values of immediates in
comments when they are large.  For example:
        movl    $1072693248, 4(%esp)    ## imm = 0x3FF00000
llvm-svn: 95728 
							
						 
						
							2010-02-10 00:10:18 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								9a0a46163d 
								
							 
						 
						
							
							
								
								llvm-mc: Add --show-fixups option, for displaying the instruction fixup information in the asm comments.  
							
							 
							
							... 
							
							
							
							llvm-svn: 95710 
							
						 
						
							2010-02-09 23:00:14 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								b311a6b3ae 
								
							 
						 
						
							
							
								
								MC: First cut at MCFixup, for getting fixup/relocation information out of an MCCodeEmitter.  
							
							 
							
							... 
							
							
							
							llvm-svn: 95708 
							
						 
						
							2010-02-09 22:59:55 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								89261502cb 
								
							 
						 
						
							
							
								
								make -show-inst be formatted a bit nicer.  Before:  
							
							 
							
							... 
							
							
							
							movl	$3735928559, a          ## inst: <MCInst 1273 <MCOperand Reg:0> <MCOperand Imm:1> <MCOperand Reg:0> <MCOperand Expr:(a)> <MCOperand Reg:0> <MCOperand Expr:(3735928559)>>
after:
	movl	$3735928559, a          ## <MCInst #1273 
                                        ##   <MCOperand Reg:0>
                                        ##   <MCOperand Imm:1>
                                        ##   <MCOperand Reg:0>
                                        ##   <MCOperand Expr:(a)>
                                        ##   <MCOperand Reg:0>
                                        ##   <MCOperand Expr:(3735928559)>>
llvm-svn: 95637 
							
						 
						
							2010-02-09 00:54:51 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								175629608e 
								
							 
						 
						
							
							
								
								print encodings like this:  
							
							 
							
							... 
							
							
							
							pslld	69, %mm3                ## encoding: [0x0f,0xf2,0x1c,0x25,0x45,0x00,0x00,0x00]
instead of like this:
	pslld	69, %mm3                ## encoding: [0x0f,0xf2,0x1c,0x25,0x45,0000,0000,0000]
this only affects 0.
llvm-svn: 95441 
							
						 
						
							2010-02-05 22:20:08 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								77fe07a93a 
								
							 
						 
						
							
							
								
								Use a tab instead of space after .type, for consistency.  
							
							 
							
							... 
							
							
							
							llvm-svn: 95272 
							
						 
						
							2010-02-04 01:42:13 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								e3ee332fe0 
								
							 
						 
						
							
							
								
								llvm-mc: Add --show-inst option, for showing the MCInst inline with the assembly  
							
							 
							
							... 
							
							
							
							output.
llvm-svn: 95227 
							
						 
						
							2010-02-03 18:18:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								44f7325de5 
								
							 
						 
						
							
							
								
								print instruction encodings with the existing comment facilities,  
							
							 
							
							... 
							
							
							
							so that llvm-mc -show-encoding prints like this:
	hlt                                                 ## encoding: [0xf4]
instead of like this:
	hlt
                     # encoding: [0xf4]
llvm-svn: 95207 
							
						 
						
							2010-02-03 06:28:13 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b0d44c3807 
								
							 
						 
						
							
							
								
								refactor code so that LLVMTargetMachine creates the asmstreamer and  
							
							 
							
							... 
							
							
							
							mccontext instead of having AsmPrinter do it.  This allows other 
types of MCStreamer's to be passed in.
llvm-svn: 95155 
							
						 
						
							2010-02-02 23:37:42 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								dcb03f0f6b 
								
							 
						 
						
							
							
								
								Emit .comm alignment in bytes but .align in powers of 2 for ARM ELF.  
							
							 
							
							... 
							
							
							
							Original patch by Sandeep Patel and updated by me.
llvm-svn: 94582 
							
						 
						
							2010-01-26 20:21:43 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3cde760023 
								
							 
						 
						
							
							
								
								mcstreamerize gprel32 emission.  
							
							 
							
							... 
							
							
							
							llvm-svn: 94452 
							
						 
						
							2010-01-25 21:28:50 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								601ef33c77 
								
							 
						 
						
							
							
								
								mcstreamerize .file and .file.  This also fixes an issue where the  
							
							 
							
							... 
							
							
							
							normal form of .file would fail if the filename had a weird character
in it.
llvm-svn: 94437 
							
						 
						
							2010-01-25 18:58:59 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bc696445e1 
								
							 
						 
						
							
							
								
								emit ELF .type directives through MCStreamer instead of doing it textually.  
							
							 
							
							... 
							
							
							
							llvm-svn: 94436 
							
						 
						
							2010-01-25 18:33:40 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bc8f638531 
								
							 
						 
						
							
							
								
								add symbol attribute support for the ELF .type directive.  
							
							 
							
							... 
							
							
							
							llvm-svn: 94435 
							
						 
						
							2010-01-25 18:30:45 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								91dac6d570 
								
							 
						 
						
							
							
								
								emit the .size directive for global variables on ELF through  
							
							 
							
							... 
							
							
							
							mcstreamer.
llvm-svn: 94416 
							
						 
						
							2010-01-25 07:52:13 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0375d2fbe7 
								
							 
						 
						
							
							
								
								all supported target now have aligned common support.  
							
							 
							
							... 
							
							
							
							llvm-svn: 94413 
							
						 
						
							2010-01-25 07:29:13 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b1301f7bce 
								
							 
						 
						
							
							
								
								mcize lcomm, simplify .comm, extend both to support 64-bit sizes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 94299 
							
						 
						
							2010-01-23 07:47:02 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4225a7b987 
								
							 
						 
						
							
							
								
								mcize jump table and constant pool entry labels, .local on elf,  
							
							 
							
							... 
							
							
							
							and some .weak directives.
llvm-svn: 94284 
							
						 
						
							2010-01-23 05:19:23 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ded9af63bb 
								
							 
						 
						
							
							
								
								teach MCAsmStreamer::EmitBytes to use .ascii and .asciz  
							
							 
							
							... 
							
							
							
							llvm-svn: 94259 
							
						 
						
							2010-01-23 00:15:00 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1386a88c95 
								
							 
						 
						
							
							
								
								Changes to fix buffering that I forgot to commit with previous patch.  
							
							 
							
							... 
							
							
							
							llvm-svn: 94222 
							
						 
						
							2010-01-22 21:16:10 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a3eee3cb69 
								
							 
						 
						
							
							
								
								Convert some more random-comment-printing stuff to use  
							
							 
							
							... 
							
							
							
							AddComment and GetCommentOS.  Add a blank line between globals
(even in non-verbose mode) to make the assembly more readable.
llvm-svn: 94202 
							
						 
						
							2010-01-22 19:52:01 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8fa0e35f97 
								
							 
						 
						
							
							
								
								add a new MCAsmStreamer::GetCommentOS method to simplify stuff  
							
							 
							
							... 
							
							
							
							that doesn't want to use twines.
llvm-svn: 94199 
							
						 
						
							2010-01-22 19:17:48 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e1d8a319a1 
								
							 
						 
						
							
							
								
								rename addComment -> AddComment for consistency.  
							
							 
							
							... 
							
							
							
							llvm-svn: 94190 
							
						 
						
							2010-01-22 18:21:35 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								cfa5ebc336 
								
							 
						 
						
							
							
								
								add comment support to the rest of the directives.  
							
							 
							
							... 
							
							
							
							llvm-svn: 94168 
							
						 
						
							2010-01-22 07:36:39 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								38e9219f71 
								
							 
						 
						
							
							
								
								Add the ability for MCStreamer to emit comments on the same line as directives.  
							
							 
							
							... 
							
							
							
							Switch over the asm-verbose comment for double values to use it.  We now get:
_x:
	.long	343597384                                   ## double 1.231200e+02
	.long	1079953326
For example, note that the comment is on the same line as the .long.  Woo.
llvm-svn: 94166 
							
						 
						
							2010-01-22 07:29:22 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0522eb2160 
								
							 
						 
						
							
							
								
								pass "-fasm-verbose" into createAsmStreamer.  
							
							 
							
							... 
							
							
							
							llvm-svn: 94165 
							
						 
						
							2010-01-22 07:06:15 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1edfeb2c46 
								
							 
						 
						
							
							
								
								don't forget to initialize an instance variable!  
							
							 
							
							... 
							
							
							
							llvm-svn: 94021 
							
						 
						
							2010-01-20 20:48:59 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9fc980403e 
								
							 
						 
						
							
							
								
								use getGlobalDirective(), don't hardcode .globl.  PR6093  
							
							 
							
							... 
							
							
							
							llvm-svn: 94006 
							
						 
						
							2010-01-20 17:50:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								45eeffcc2a 
								
							 
						 
						
							
							
								
								make mcasmstreamer handle expanding 8 byte integer constants to  
							
							 
							
							... 
							
							
							
							4-byte constants if .quad isn't supported.  Switch a bunch of
methods used by the dwarf writer to use OutStreamer.EmitIntValue.
llvm-svn: 93987 
							
						 
						
							2010-01-20 06:45:39 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								38caaf14c1 
								
							 
						 
						
							
							
								
								give createAsmStreamer an 'isLittleEndian' argument.  
							
							 
							
							... 
							
							
							
							llvm-svn: 93986 
							
						 
						
							2010-01-20 06:39:07 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								dc50e5d128 
								
							 
						 
						
							
							
								
								add a new EmitIntValue method that MCStreamer impls can optionally define  
							
							 
							
							... 
							
							
							
							and that clients can use.
llvm-svn: 93923 
							
						 
						
							2010-01-19 22:03:38 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c35681b298 
								
							 
						 
						
							
							
								
								Generalize mcasmstreamer data emission APIs to take an address space  
							
							 
							
							... 
							
							
							
							identifier.  There is no way to work around it.
llvm-svn: 93896 
							
						 
						
							2010-01-19 19:46:13 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ed89f60f5e 
								
							 
						 
						
							
							
								
								mcstreamerize AsmPrinter::EmitZeros, at least when emitting to the  
							
							 
							
							... 
							
							
							
							default address space.
llvm-svn: 93890 
							
						 
						
							2010-01-19 18:58:52 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4340cb3246 
								
							 
						 
						
							
							
								
								add an MCAsmStreamer::EmitFill specialization of EmitFill that  
							
							 
							
							... 
							
							
							
							emits one directive instead of N.  Not doing this would be a
significant regression on the # bytes generated by .fill.
llvm-svn: 93889 
							
						 
						
							2010-01-19 18:52:28 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								95b98959b0 
								
							 
						 
						
							
							
								
								mc'ize some stuff, don't comment out .lcomm directive in -fverbose-asm mode.  
							
							 
							
							... 
							
							
							
							llvm-svn: 93860 
							
						 
						
							2010-01-19 06:01:04 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c8f7717808 
								
							 
						 
						
							
							
								
								remove the MAI argument to MCExpr::print and switch overthing to use << when printing them.  
							
							 
							
							... 
							
							
							
							llvm-svn: 93699 
							
						 
						
							2010-01-18 00:37:40 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8b5d55ed06 
								
							 
						 
						
							
							
								
								now that MCSymbol::print doesn't use it's MAI argument, we can  
							
							 
							
							... 
							
							
							
							remove it and change all the code that prints MCSymbols to use 
<< instead, which is much simpler and cleaner.
llvm-svn: 93695 
							
						 
						
							2010-01-17 21:43:43 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								ad36e8aceb 
								
							 
						 
						
							
							
								
								Pass StringRef by value.  
							
							 
							
							... 
							
							
							
							llvm-svn: 86251 
							
						 
						
							2009-11-06 10:58:06 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								e024def785 
								
							 
						 
						
							
							
								
								Minor formatting tweaks.  
							
							 
							
							... 
							
							
							
							llvm-svn: 84235 
							
						 
						
							2009-10-16 01:58:15 +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
							
						 
						
							 
							
							
							
							
								
							
							
								11b2fc9ea4 
								
							 
						 
						
							
							
								
								Change MCAsmStreamer to take an MCInstPrinter instead of a  
							
							 
							
							... 
							
							
							
							full AsmPrinter, and change TargetRegistry to keep track
of registered MCInstPrinters.
llvm-mc is still linking in the entire
target foo to get the code emitter stuff, but this is an
important step in the right direction.
llvm-svn: 81754 
							
						 
						
							2009-09-14 03:02:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a4760f3642 
								
							 
						 
						
							
							
								
								'printMCInst' doesn't print newlines after instructions anymore.  
							
							 
							
							... 
							
							
							
							llvm-svn: 81723 
							
						 
						
							2009-09-13 22:24:34 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f4366a3998 
								
							 
						 
						
							
							
								
								Thread an MCAsmInfo pointer through the various MC printing APIs,  
							
							 
							
							... 
							
							
							
							and fix a few things using << on MCSymbols to use ->print(). No
functionality change other than unbreaking my previous patch.
llvm-svn: 80890 
							
						 
						
							2009-09-03 05:46:51 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1800dff44e 
								
							 
						 
						
							
							
								
								inline insertion operators.  
							
							 
							
							... 
							
							
							
							llvm-svn: 80888 
							
						 
						
							2009-09-03 05:33:01 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f16a122213 
								
							 
						 
						
							
							
								
								output alignment value in hex so that we get:  
							
							 
							
							... 
							
							
							
							.align 3, 0x90
instead of,
  .align 3, 144
suggested by eric.
llvm-svn: 80875 
							
						 
						
							2009-09-03 04:01: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
							
						 
						
							 
							
							
							
							
								
							
							
								73da11ebda 
								
							 
						 
						
							
							
								
								llvm-mc: Switch MCInst to storing an MCExpr* instead of an MCValue.  
							
							 
							
							... 
							
							
							
							Also, use MCInst::print instead of custom code in MCAsmPrinter.
llvm-svn: 80575 
							
						 
						
							2009-08-31 08:08:38 +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
							
						 
						
							 
							
							
							
							
								
							
							
								cf72e1c03e 
								
							 
						 
						
							
							
								
								llvm-mc: Add const to EmitZeroFill section argument.  
							
							 
							
							... 
							
							
							
							llvm-svn: 80341 
							
						 
						
							2009-08-28 05:48:22 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								c4f0e7e28d 
								
							 
						 
						
							
							
								
								llvm-mc: Print encodings after the instruction, and only when we have an asm  
							
							 
							
							... 
							
							
							
							printer.
llvm-svn: 80233 
							
						 
						
							2009-08-27 07:58:57 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								65105174a6 
								
							 
						 
						
							
							
								
								Sketch TargetRegistry support for MCCodeEmitter abstract interface.  
							
							 
							
							... 
							
							
							
							- Of course, nothing actually can provide this interface yet.
llvm-svn: 80188 
							
						 
						
							2009-08-27 00:51:57 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e9a75a6654 
								
							 
						 
						
							
							
								
								rename TAI -> MAI, being careful not to make MAILJMP instructions :)  
							
							 
							
							... 
							
							
							
							llvm-svn: 79777 
							
						 
						
							2009-08-22 21:43:10 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7b26fce23e 
								
							 
						 
						
							
							
								
								Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79763 
							
						 
						
							2009-08-22 20:48:53 +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  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								78b23b0e3f 
								
							 
						 
						
							
							
								
								fix asmstreaming of 2/4 byte elements with pow-2 alignments.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79408 
							
						 
						
							2009-08-19 06:35:36 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								37b7234a75 
								
							 
						 
						
							
							
								
								switch asmprinter to emit alignments through OutStreamer.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79406 
							
						 
						
							2009-08-19 06:12:02 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4b7dadb76e 
								
							 
						 
						
							
							
								
								eliminate AsmPrinter::SwitchToSection and just have clients  
							
							 
							
							... 
							
							
							
							talk to the MCStreamer directly instead.
llvm-svn: 79405 
							
						 
						
							2009-08-19 05:49:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0adae25ec1 
								
							 
						 
						
							
							
								
								Make AsmStreamer maintain a notion of the current section, pushing it up from the  
							
							 
							
							... 
							
							
							
							MCAsmStreamer.  Based on this, eliminate the current section from AsmPrinter.
While I'm at it, clean up the last of the horrible "switch to null section" stuff
and add an assert.  This change is in preparation for completely eliminating 
asmprinter::switchtosection.
llvm-svn: 79324 
							
						 
						
							2009-08-18 06:15:16 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								aa1526419c 
								
							 
						 
						
							
							
								
								change AsmPrinter to switch sections using AsmStreamer instead of  
							
							 
							
							... 
							
							
							
							doing it directly.  This requires const'izing a bunch of stuff that
took sections, but this seems like the right semantic thing to do:
emitting a label to a section shouldn't mutate the MCSection object
itself, for example.
llvm-svn: 79227 
							
						 
						
							2009-08-17 05:49:08 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a61e93d4b5 
								
							 
						 
						
							
							
								
								give MCAsmStreamer a TargetAsmInfo.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79222 
							
						 
						
							2009-08-17 04:23:44 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								962c5bd803 
								
							 
						 
						
							
							
								
								formatting cleanups, no functionality change.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79221 
							
						 
						
							2009-08-17 04:17:34 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								6cb1eb5a6d 
								
							 
						 
						
							
							
								
								llvm-mc: Fix bugs where bytes were unintentionally being printed as signed.  
							
							 
							
							... 
							
							
							
							- We now print all of 403.gcc cleanly (llvm-mc -> 'as' as diffed to 'as'), minus two 
   'rep;movsl' instructions (which I missed before).
llvm-svn: 79031 
							
						 
						
							2009-08-14 19:59:24 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								c2346a3037 
								
							 
						 
						
							
							
								
								llvm-mc: When handling a .set, make sure to print subsequent references to the  
							
							 
							
							... 
							
							
							
							symbol as the symbol name itself, not the expression it was defined to. These
have different semantics due to the quirky .set behavior (which absolutizes an
expression that would otherwise be treated as a relocation).
llvm-svn: 79025 
							
						 
						
							2009-08-14 19:10:46 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								563a7e87e3 
								
							 
						 
						
							
							
								
								llvm-mc: zerofill shouldn't print quotes around the section,segment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79017 
							
						 
						
							2009-08-14 18:51:45 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								80d484e7cc 
								
							 
						 
						
							
							
								
								Update llvm-mc / MCAsmStreamer to print the instruction using the actual target  
							
							 
							
							... 
							
							
							
							specific printer (this only works on x86, for now).
 - This makes it possible to do some correctness checking of the parsing and
   matching, since we can compare the results of 'as' on the original input, to
   those of 'as' on the output from llvm-mc.
 - In theory, we could now have an easy ATT -> Intel syntax converter. :)
llvm-svn: 78986 
							
						 
						
							2009-08-14 03:48:55 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								aba5fb8c9a 
								
							 
						 
						
							
							
								
								llvm-mc: Add dummy MCStreamer implementation, (eventually) for use in profiling.  
							
							 
							
							... 
							
							
							
							- Currently unused.
 - A few other random comment fixes lumped in.
llvm-svn: 78960 
							
						 
						
							2009-08-13 23:36:34 +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
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								e0cbd9b986 
								
							 
						 
						
							
							
								
								llvm-mc: Fix .s output to quote section & symbol names when necessary.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77749 
							
						 
						
							2009-07-31 23:04:32 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								eb6bb32bef 
								
							 
						 
						
							
							
								
								llvm-mc: Implement .abort fully in the front end  
							
							 
							
							... 
							
							
							
							llvm-svn: 77272 
							
						 
						
							2009-07-27 23:20:52 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								52d03b252e 
								
							 
						 
						
							
							
								
								llvm-mc: Move AsmLexer::getCurStrVal to StringRef based API.  
							
							 
							
							... 
							
							
							
							- My DFS traversal of LLVM is, at least for now, nearly complete! :)
llvm-svn: 77258 
							
						 
						
							2009-07-27 21:49:56 +00:00  
						
					 
				
					
						
							
							
								 
								Kevin Enderby
							
						 
						
							 
							
							
							
							
								
							
							
								ee5513582d 
								
							 
						 
						
							
							
								
								Removed the DumpSymbolsandMacros and LoadSymbolsandMacros MCStreamer API as  
							
							 
							
							... 
							
							
							
							the parsing of the .dump and .load should be done in the assembly parser and
not have any need for an MCStreamer API.  Changed the code for now so these
just produce an error saying these specific directives are not yet implemented
since they are likely no longer used and may never need to be implemented.
llvm-svn: 76462 
							
						 
						
							2009-07-20 20:25:37 +00:00  
						
					 
				
					
						
							
							
								 
								Kevin Enderby
							
						 
						
							 
							
							
							
							
								
							
							
								dd27e5e10a 
								
							 
						 
						
							
							
								
								Removed the SubsectionsViaSymbols MCStreamer API and replaced it with a generic  
							
							 
							
							... 
							
							
							
							EmitAssemblerFlag API which takes a value from the added AssemblerFlag
enumerated constants.
llvm-svn: 76087 
							
						 
						
							2009-07-16 17:56:39 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								693fbb8fee 
								
							 
						 
						
							
							
								
								implement .include in the lexer/parser instead of passing it into the streamer.  
							
							 
							
							... 
							
							
							
							llvm-svn: 75896 
							
						 
						
							2009-07-16 06:14:39 +00:00  
						
					 
				
					
						
							
							
								 
								Kevin Enderby
							
						 
						
							 
							
							
							
							
								
							
							
								09ea5709a2 
								
							 
						 
						
							
							
								
								Added llvm-mc support for parsing the .dump and .load directives.  
							
							 
							
							... 
							
							
							
							llvm-svn: 75786 
							
						 
						
							2009-07-15 15:30:11 +00:00  
						
					 
				
					
						
							
							
								 
								Kevin Enderby
							
						 
						
							 
							
							
							
							
								
							
							
								d1ea5393c9 
								
							 
						 
						
							
							
								
								Added llvm-mc support for parsing the .include directive.  
							
							 
							
							... 
							
							
							
							llvm-svn: 75711 
							
						 
						
							2009-07-14 23:21:55 +00:00  
						
					 
				
					
						
							
							
								 
								Kevin Enderby
							
						 
						
							 
							
							
							
							
								
							
							
								cbe475dfe8 
								
							 
						 
						
							
							
								
								Added llvm-mc support for parsing the .lsym directive.  
							
							 
							
							... 
							
							
							
							llvm-svn: 75685 
							
						 
						
							2009-07-14 21:35:03 +00:00  
						
					 
				
					
						
							
							
								 
								Kevin Enderby
							
						 
						
							 
							
							
							
							
								
							
							
								4c21caa656 
								
							 
						 
						
							
							
								
								Added llvm-mc support for parsing the .desc directive.  
							
							 
							
							... 
							
							
							
							llvm-svn: 75645 
							
						 
						
							2009-07-14 18:17:10 +00:00  
						
					 
				
					
						
							
							
								 
								Torok Edwin
							
						 
						
							 
							
							
							
							
								
							
							
								fbcc663cbf 
								
							 
						 
						
							
							
								
								llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.  
							
							 
							
							... 
							
							
							
							This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").
llvm-svn: 75640 
							
						 
						
							2009-07-14 16:55:14 +00:00  
						
					 
				
					
						
							
							
								 
								Kevin Enderby
							
						 
						
							 
							
							
							
							
								
							
							
								56523ceba1 
								
							 
						 
						
							
							
								
								Added llvm-mc support for parsing the .abort directive.  
							
							 
							
							... 
							
							
							
							llvm-svn: 75545 
							
						 
						
							2009-07-13 23:15:14 +00:00  
						
					 
				
					
						
							
							
								 
								Kevin Enderby
							
						 
						
							 
							
							
							
							
								
							
							
								c9d93ef2c6 
								
							 
						 
						
							
							
								
								add llvm-mc support for parsing the .subsections_via_symbols directive.  
							
							 
							
							... 
							
							
							
							llvm-svn: 75500 
							
						 
						
							2009-07-13 21:03:15 +00:00  
						
					 
				
					
						
							
							
								 
								Torok Edwin
							
						 
						
							 
							
							
							
							
								
							
							
								56d0659726 
								
							 
						 
						
							
							
								
								assert(0) -> LLVM_UNREACHABLE.  
							
							 
							
							... 
							
							
							
							Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.
llvm-svn: 75379 
							
						 
						
							2009-07-11 20:10:48 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								07cadaf113 
								
							 
						 
						
							
							
								
								add support for .zerofill, patch by Kevin Enderby!  
							
							 
							
							... 
							
							
							
							llvm-svn: 75301 
							
						 
						
							2009-07-10 22:20:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								28ad7547d2 
								
							 
						 
						
							
							
								
								add llvm-mc support for parsing the .lcomm directive, patch by Kevin Enderby!  
							
							 
							
							... 
							
							
							
							llvm-svn: 75148 
							
						 
						
							2009-07-09 17:25:12 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a1e11f530e 
								
							 
						 
						
							
							
								
								Implement parsing support for the .comm directive.  Patch by  
							
							 
							
							... 
							
							
							
							Kevin Enderby!
llvm-svn: 74944 
							
						 
						
							2009-07-07 20:30:46 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								23a72aa476 
								
							 
						 
						
							
							
								
								Dump MCInsts in the MC .s printer, for now.  
							
							 
							
							... 
							
							
							
							llvm-svn: 74593 
							
						 
						
							2009-07-01 06:35:03 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								cc566a714b 
								
							 
						 
						
							
							
								
								llvm-mc: Parse .{,b,p2}align{,w,l} directives.  
							
							 
							
							... 
							
							
							
							llvm-svn: 74478 
							
						 
						
							2009-06-29 23:46:59 +00:00  
						
					 
				
					
						
							
							
								 
								Torok Edwin
							
						 
						
							 
							
							
							
							
								
							
							
								6fb3e98eed 
								
							 
						 
						
							
							
								
								Initialize CurSection in constructor.  
							
							 
							
							... 
							
							
							
							Not doing so causes some unittests to fail, because CurSection is uninitialized.
llvm-svn: 74442 
							
						 
						
							2009-06-29 19:59:10 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								a97615adf8 
								
							 
						 
						
							
							
								
								Rename MCValue::getCst to getConstant and add MCValue::isConstant.  
							
							 
							
							... 
							
							
							
							llvm-svn: 74440 
							
						 
						
							2009-06-29 19:51:00 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								188e87fa21 
								
							 
						 
						
							
							
								
								MC: Truncate values when printing, to keep 'as' happy.  
							
							 
							
							... 
							
							
							
							llvm-svn: 74201 
							
						 
						
							2009-06-25 21:03:18 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								71ea89dd86 
								
							 
						 
						
							
							
								
								Sketch streamer support for .align, .org functionality.  
							
							 
							
							... 
							
							
							
							llvm-svn: 74109 
							
						 
						
							2009-06-24 19:25:34 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								f782ebc0cb 
								
							 
						 
						
							
							
								
								We decided to not worry about Atoms for now, it should be straightforward to  
							
							 
							
							... 
							
							
							
							reintroduce them later.
Also, don't require MCSection* when creating a symbol.
llvm-svn: 74081 
							
						 
						
							2009-06-24 17:00:42 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								59ff06e83c 
								
							 
						 
						
							
							
								
								MCStreamer: Add a few more "symbol attributes".  
							
							 
							
							... 
							
							
							
							llvm-svn: 74077 
							
						 
						
							2009-06-24 16:36:52 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								de5777022c 
								
							 
						 
						
							
							
								
								MCStreamer: Test printing values.  
							
							 
							
							... 
							
							
							
							llvm-svn: 74076 
							
						 
						
							2009-06-24 16:05:35 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3f5738d599 
								
							 
						 
						
							
							
								
								add trivial support for passing label definitions through the MCStreamer.  
							
							 
							
							... 
							
							
							
							This is suboptimal in several aspects, see the commented out assertion.
I need to talk to Daniel about this.
llvm-svn: 74057 
							
						 
						
							2009-06-24 04:31:49 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								9faf273fc4 
								
							 
						 
						
							
							
								
								Start MCAsmStreamer implementation.  
							
							 
							
							... 
							
							
							
							llvm-svn: 74044 
							
						 
						
							2009-06-24 01:03:06 +00:00