2ae93b2c9c 
								
							 
						 
						
							
							
								
								Remove second return.  
							
							... 
							
							
							
							llvm-svn: 122616 
							
						 
						
							2010-12-29 02:42:33 +00:00  
				
					
						
							
							
								 
						
							
								290d71671e 
								
							 
						 
						
							
							
								
								Implement cfi_def_cfa. Also don't convert to dwarf reg numbers twice. Looks  
							
							... 
							
							
							
							like 6 is a fixed point of that and so the previous tests were OK :-)
llvm-svn: 122614 
							
						 
						
							2010-12-29 01:42:56 +00:00  
				
					
						
							
							
								 
						
							
								426e68f793 
								
							 
						 
						
							
							
								
								Implement cfi_def_cfa_register.  
							
							... 
							
							
							
							llvm-svn: 122612 
							
						 
						
							2010-12-29 00:26:06 +00:00  
				
					
						
							
							
								 
						
							
								86d347dd31 
								
							 
						 
						
							
							
								
								Initial .cfi_offset implementation.  
							
							... 
							
							
							
							llvm-svn: 122611 
							
						 
						
							2010-12-29 00:09:59 +00:00  
				
					
						
							
							
								 
						
							
								85d91982ca 
								
							 
						 
						
							
							
								
								Implement .cfi_remember_state and .cfi_restore_state.  
							
							... 
							
							
							
							llvm-svn: 122602 
							
						 
						
							2010-12-28 18:36:23 +00:00  
				
					
						
							
							
								 
						
							
								a75b87b55a 
								
							 
						 
						
							
							
								
								Start adding basic support for emitting the call frame instructions.  
							
							... 
							
							
							
							llvm-svn: 122590 
							
						 
						
							2010-12-28 04:15:37 +00:00  
				
					
						
							
							
								 
						
							
								1de2dd0e5e 
								
							 
						 
						
							
							
								
								Add support for .cfi_lsda.  
							
							... 
							
							
							
							llvm-svn: 122584 
							
						 
						
							2010-12-27 15:56:22 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								a6cd2d821a 
								
							 
						 
						
							
							
								
								Rename NeedsSetToChangeDiffSize to HasAggressiveSymbolFolding which is a much  
							
							... 
							
							
							
							better name and matches what is used in the MachO writer.
llvm-svn: 122443 
							
						 
						
							2010-12-22 21:51:29 +00:00  
				
					
						
							
							
								 
						
							
								f991d4f587 
								
							 
						 
						
							
							
								
								Better fix for opt build  
							
							... 
							
							
							
							llvm-svn: 121910 
							
						 
						
							2010-12-15 23:14:45 +00:00  
				
					
						
							
							
								 
						
							
								15f96baa01 
								
							 
						 
						
							
							
								
								Fix opt -Werror build  
							
							... 
							
							
							
							llvm-svn: 121904 
							
						 
						
							2010-12-15 22:21:20 +00:00  
				
					
						
							
							
								 
						
							
								f80f18a11a 
								
							 
						 
						
							
							
								
								Generalize an assert.  
							
							... 
							
							
							
							llvm-svn: 121851 
							
						 
						
							2010-12-15 07:12:24 +00:00  
				
					
						
							
							
								 
						
							
								0a017a6db2 
								
							 
						 
						
							
							
								
								Fixed version of 121434 with no new memory leaks.  
							
							... 
							
							
							
							llvm-svn: 121471 
							
						 
						
							2010-12-10 07:39:47 +00:00  
				
					
						
							
							
								 
						
							
								a945a34c73 
								
							 
						 
						
							
							
								
								Revert my previous patch to make the valgrind bots happy.  
							
							... 
							
							
							
							llvm-svn: 121461 
							
						 
						
							2010-12-10 04:01:09 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								3ebe3defe3 
								
							 
						 
						
							
							
								
								Add assert to catch an attempt to emit .byte 256  
							
							... 
							
							
							
							llvm-svn: 121402 
							
						 
						
							2010-12-09 19:26:21 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								dee3062373 
								
							 
						 
						
							
							
								
								Revert previous two patches while I try to find out how to make both  
							
							... 
							
							
							
							linux and darwin assemblers happy :-(
llvm-svn: 121004 
							
						 
						
							2010-12-06 15:35:15 +00:00  
				
					
						
							
							
								 
						
							
								34a06a0802 
								
							 
						 
						
							
							
								
								Add an EmitAbsValue helper method and use it in cases where we want to be sure  
							
							... 
							
							
							
							that no relocations are used (on MochO).
Fixes llc producing different output from llc + llvm-mc.
llvm-svn: 121000 
							
						 
						
							2010-12-06 14:53:14 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								b746531c2c 
								
							 
						 
						
							
							
								
								Avoid code duplication in the many unsupported EmitGPRel32Value implementations.  
							
							... 
							
							
							
							llvm-svn: 120243 
							
						 
						
							2010-11-28 15:09:24 +00:00  
				
					
						
							
							
								 
						
							
								3c227b0b89 
								
							 
						 
						
							
							
								
								Add basic CFI methods to the streamer interface.  
							
							... 
							
							
							
							llvm-svn: 119972 
							
						 
						
							2010-11-22 14:27:24 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								5e874982f2 
								
							 
						 
						
							
							
								
								Add support for expressions in .sleb/.uleb directives.  
							
							... 
							
							
							
							llvm-svn: 118023 
							
						 
						
							2010-11-02 17:22:24 +00:00  
				
					
						
							
							
								 
						
							
								1614597873 
								
							 
						 
						
							
							
								
								Implement .weakref.  
							
							... 
							
							
							
							llvm-svn: 117911 
							
						 
						
							2010-11-01 14:28:48 +00:00  
				
					
						
							
							
								 
						
							
								e46564a4a8 
								
							 
						 
						
							
							
								
								This is the last major patch to implement support for the .loc directive  
							
							... 
							
							
							
							and output the dwarf line number tables.  This contains the code to emit and
encode the dwarf line tables from the previously gathered information in the
MCLineSection objects.  This contains all the details to encode the line and
address deltas into the dwarf line table.
To do this an MCDwarfLineAddrFragment has been added.
Also this moves the interface code out of Mach-O streamer into
MCDwarf so it should be useable by other object file formats.
There is now one call to be made from an MCObjectStreamer
EmitInstruction() method:
   MCLineEntry::Make(this, getCurrentSection());
to create a line entry after each instruction is assembled.
And one call call to be made from an MCObjectStreamer Finish() method:
   MCDwarfFileTable::Emit(this, DwarfLineSection);
when getContext().hasDwarfFiles() is true and is passed a object file specific
MCSection where to emit the dwarf file and the line tables.
This appears to now be correct for 32-bit targets, at least x86.  But the
relocation entries for 64-bit Darwin needs some further work which is next
up to work on.  So for now the 64-bit Mach-O target does not output the
dwarf file and line tables.
llvm-svn: 115157 
							
						 
						
							2010-09-30 16:52:03 +00:00  
				
					
						
							
							
								 
						
							
								e39017cb97 
								
							 
						 
						
							
							
								
								Add AsmParser support for the ELF .previous directive. Patch by Roman Divacky.  
							
							... 
							
							
							
							llvm-svn: 112849 
							
						 
						
							2010-09-02 18:53:37 +00:00  
				
					
						
							
							
								 
						
							
								2ed9f4bd39 
								
							 
						 
						
							
							
								
								_[A-Z] identifiers are reserved for the implementation.  
							
							... 
							
							
							
							llvm-svn: 108682 
							
						 
						
							2010-07-19 06:26:19 +00:00  
				
					
						
							
							
								 
						
							
								141791c6d1 
								
							 
						 
						
							
							
								
								Grammar fix. This is a test commit.  
							
							... 
							
							
							
							llvm-svn: 104264 
							
						 
						
							2010-05-20 19:45:09 +00:00  
				
					
						
							
							
								 
						
							
								1716721df1 
								
							 
						 
						
							
							
								
								add a twine form of MCStreamer::EmitRawText, and mc'ize  
							
							... 
							
							
							
							a few more things in AsmPrinter.cpp.
llvm-svn: 100294 
							
						 
						
							2010-04-03 22:12:35 +00:00  
				
					
						
							
							
								 
						
							
								6ec72d2e8f 
								
							 
						 
						
							
							
								
								add <cstdlib> header for abort() on linux builders.  
							
							... 
							
							
							
							llvm-svn: 100290 
							
						 
						
							2010-04-03 21:48:59 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								b14490d912 
								
							 
						 
						
							
							
								
								add a EmitSymbolValue convenience method to MCStreamer.  
							
							... 
							
							
							
							llvm-svn: 98017 
							
						 
						
							2010-03-09 00:39:24 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								0c65fd4902 
								
							 
						 
						
							
							
								
								add a "MCStreamer::EmitFill" method, and move the default implementation  
							
							... 
							
							
							
							(which just iteratively emits bytes) to MCStreamer.
llvm-svn: 93888 
							
						 
						
							2010-01-19 18:45:47 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								9faf273fc4 
								
							 
						 
						
							
							
								
								Start MCAsmStreamer implementation.  
							
							... 
							
							
							
							llvm-svn: 74044 
							
						 
						
							2009-06-24 01:03:06 +00:00