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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								b6089d6cac 
								
							 
						 
						
							
							
								
								Factor some code into a new EmitFrames method.  
							
							... 
							
							
							
							llvm-svn: 131119 
							
						 
						
							2011-05-10 03:14:15 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								1d1eced025 
								
							 
						 
						
							
							
								
								Implement MCAsmStreamer::EmitDwarfAdvanceFrameAddr.  
							
							... 
							
							
							
							llvm-svn: 130585 
							
						 
						
							2011-04-30 03:21:04 +00:00  
				
					
						
							
							
								 
						
							
								6c961e1b75 
								
							 
						 
						
							
							
								
								Implement MCAsmStreamer::EmitCFIDefCfa.  
							
							... 
							
							
							
							llvm-svn: 130543 
							
						 
						
							2011-04-29 21:41:06 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								6aea59268a 
								
							 
						 
						
							
							
								
								Remove unused argument.  
							
							... 
							
							
							
							llvm-svn: 129955 
							
						 
						
							2011-04-21 23:39:26 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								af66980d8a 
								
							 
						 
						
							
							
								
								Fix whitespace.  
							
							... 
							
							
							
							llvm-svn: 128370 
							
						 
						
							2011-03-27 01:44:40 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								b037383a35 
								
							 
						 
						
							
							
								
								Enable DebugInfo support for COFF object files.  
							
							... 
							
							
							
							Patch by Nathan Jeffords!
llvm-svn: 126425 
							
						 
						
							2011-02-24 21:04:00 +00:00  
				
					
						
							
							
								 
						
							
								58ac6e1677 
								
							 
						 
						
							
							
								
								Add support for pushsection and popsection. Patch by Joerg Sonnenberger.  
							
							... 
							
							
							
							llvm-svn: 125629 
							
						 
						
							2011-02-16 01:08:29 +00:00  
				
					
						
							
							
								 
						
							
								e2bea1c82e 
								
							 
						 
						
							
							
								
								Use common style for .cfi directives  
							
							... 
							
							
							
							llvm-svn: 123472 
							
						 
						
							2011-01-14 21:57:39 +00:00  
				
					
						
							
							
								 
						
							
								52899a9c34 
								
							 
						 
						
							
							
								
								Add comment about Thumb2 fixup comments being completely bogus.  
							
							... 
							
							
							
							llvm-svn: 123411 
							
						 
						
							2011-01-13 23:27:39 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								0de20af7ba 
								
							 
						 
						
							
							
								
								Add missing standard headers. Patch by Joerg Sonnenberger!  
							
							... 
							
							
							
							llvm-svn: 122193 
							
						 
						
							2010-12-19 20:43:38 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								e5e1f9ad0f 
								
							 
						 
						
							
							
								
								Make EmitIntValue non virtual.  
							
							... 
							
							
							
							llvm-svn: 120271 
							
						 
						
							2010-11-28 23:22:44 +00:00  
				
					
						
							
							
								 
						
							
								3c227b0b89 
								
							 
						 
						
							
							
								
								Add basic CFI methods to the streamer interface.  
							
							... 
							
							
							
							llvm-svn: 119972 
							
						 
						
							2010-11-22 14:27:24 +00:00  
				
					
						
							
							
								 
						
							
								8be14414f6 
								
							 
						 
						
							
							
								
								Added support for the Mach-O .symbol_resolver directive.  rdar://8673046  
							
							... 
							
							
							
							llvm-svn: 119816 
							
						 
						
							2010-11-19 18:39:33 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								9e7d8c0313 
								
							 
						 
						
							
							
								
								correct the fixup comment printer to work on big endian platforms.  
							
							... 
							
							
							
							llvm-svn: 119122 
							
						 
						
							2010-11-15 05:56:19 +00:00  
				
					
						
							
							
								 
						
							
								2d006b1ade 
								
							 
						 
						
							
							
								
								Fix warning and add support for printing  gnu_unique_object.  
							
							... 
							
							
							
							llvm-svn: 118981 
							
						 
						
							2010-11-13 04:55:06 +00:00  
				
					
						
							
							
								 
						
							
								cbdf7efe1c 
								
							 
						 
						
							
							
								
								Add '.code 32' assembler directive to MC streamers.  
							
							... 
							
							
							
							llvm-svn: 118309 
							
						 
						
							2010-11-05 22:40:09 +00:00  
				
					
						
							
							
								 
						
							
								5a2c68d308 
								
							 
						 
						
							
							
								
								MC'ize the '.code 16' and '.thumb_func' ARM directives.  
							
							... 
							
							
							
							llvm-svn: 118301 
							
						 
						
							2010-11-05 22:08:08 +00:00  
				
					
						
							
							
								 
						
							
								38d0756b88 
								
							 
						 
						
							
							
								
								Add 118023 back, but with proper spelling for .uleb128/.sleb128.  
							
							... 
							
							
							
							llvm-svn: 118254 
							
						 
						
							2010-11-04 18:17:08 +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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								7bce0596a7 
								
							 
						 
						
							
							
								
								allow target-specific label suffixes, patch by Yuri Gribov!  
							
							... 
							
							
							
							llvm-svn: 114592 
							
						 
						
							2010-09-22 22:19:53 +00:00  
				
					
						
							
							
								 
						
							
								6ebd728067 
								
							 
						 
						
							
							
								
								grammar tweakage  
							
							... 
							
							
							
							llvm-svn: 114561 
							
						 
						
							2010-09-22 18:18:30 +00:00  
				
					
						
							
							
								 
						
							
								3bde49aa29 
								
							 
						 
						
							
							
								
								remove trailing whitespace  
							
							... 
							
							
							
							llvm-svn: 114560 
							
						 
						
							2010-09-22 18:16:55 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								e39017cb97 
								
							 
						 
						
							
							
								
								Add AsmParser support for the ELF .previous directive. Patch by Roman Divacky.  
							
							... 
							
							
							
							llvm-svn: 112849 
							
						 
						
							2010-09-02 18:53:37 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								082d0fd7ad 
								
							 
						 
						
							
							
								
								Added the darwin .weak_def_can_be_hidden directive.  
							
							... 
							
							
							
							llvm-svn: 107886 
							
						 
						
							2010-07-08 17:22:42 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								3627af5da4 
								
							 
						 
						
							
							
								
								MC: Change MCInst::dump_pretty to not include a trailing newline.  
							
							... 
							
							
							
							llvm-svn: 104696 
							
						 
						
							2010-05-26 15:18:13 +00:00  
				
					
						
							
							
								 
						
							
								5c87be766d 
								
							 
						 
						
							
							
								
								Make EmitTBSSSymbol take a section argument so that we can find it later.  
							
							... 
							
							
							
							Fix up callers and users.
llvm-svn: 104057 
							
						 
						
							2010-05-18 21:16:04 +00:00  
				
					
						
							
							
								 
						
							
								68b1bbe66a 
								
							 
						 
						
							
							
								
								Assume that we'll handle mangling the symbols earlier and just put the  
							
							... 
							
							
							
							symbol to the file as we have it.  Simplifies out tbss handling.
llvm-svn: 103928 
							
						 
						
							2010-05-17 02:13:02 +00:00  
				
					
						
							
							
								 
						
							
								9fb6bb07ca 
								
							 
						 
						
							
							
								
								Add AsmParser support for darwin tbss directive.  
							
							... 
							
							
							
							Nothing uses this yet.
llvm-svn: 103757 
							
						 
						
							2010-05-14 01:50:28 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								deb7ba9cc0 
								
							 
						 
						
							
							
								
								MC: Reject attempts to define a variable symbol.  
							
							... 
							
							
							
							llvm-svn: 103111 
							
						 
						
							2010-05-05 19:01:00 +00:00  
				
					
						
							
							
								 
						
							
								7a989da0af 
								
							 
						 
						
							
							
								
								MC: Rename MCSymbol::{g,s}etValue -> MCSymbol::{g,s}etVariableValue.  
							
							... 
							
							
							
							llvm-svn: 103095 
							
						 
						
							2010-05-05 17:41:00 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								aca014e24e 
								
							 
						 
						
							
							
								
								allow attaching comments to raw text.  
							
							... 
							
							
							
							llvm-svn: 100292 
							
						 
						
							2010-04-03 22:06:56 +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  
				
					
						
							
							
								 
						
							
								04047fbe14 
								
							 
						 
						
							
							
								
								MCInst: Add ::dump_pretty.  
							
							... 
							
							
							
							llvm-svn: 99216 
							
						 
						
							2010-03-22 21:49:34 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								69920c5c8a 
								
							 
						 
						
							
							
								
								daniel *really* likes fixups!  
							
							... 
							
							
							
							llvm-svn: 95742 
							
						 
						
							2010-02-10 01:05:28 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								77fe07a93a 
								
							 
						 
						
							
							
								
								Use a tab instead of space after .type, for consistency.  
							
							... 
							
							
							
							llvm-svn: 95272 
							
						 
						
							2010-02-04 01:42:13 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								3cde760023 
								
							 
						 
						
							
							
								
								mcstreamerize gprel32 emission.  
							
							... 
							
							
							
							llvm-svn: 94452 
							
						 
						
							2010-01-25 21:28:50 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								bc696445e1 
								
							 
						 
						
							
							
								
								emit ELF .type directives through MCStreamer instead of doing it textually.  
							
							... 
							
							
							
							llvm-svn: 94436 
							
						 
						
							2010-01-25 18:33:40 +00:00