28dc9d0ad9 
								
							 
						 
						
							
							
								
								Factor out asmprinter out of ppc  
							
							... 
							
							
							
							llvm-svn: 54887 
							
						 
						
							2008-08-17 13:54:28 +00:00  
				
					
						
							
							
								 
						
							
								ed47329174 
								
							 
						 
						
							
							
								
								Handle visibility printing with all generality. Remove bunch of duplicate code.  
							
							... 
							
							
							
							llvm-svn: 54540 
							
						 
						
							2008-08-08 18:25:07 +00:00  
				
					
						
							
							
								 
						
							
								f1f8aa3e50 
								
							 
						 
						
							
							
								
								Use chars, where possible  
							
							... 
							
							
							
							llvm-svn: 54539 
							
						 
						
							2008-08-08 18:24:10 +00:00  
				
					
						
							
							
								 
						
							
								c9ad17c3da 
								
							 
						 
						
							
							
								
								Convert PPC/Linux to new section printing stuff  
							
							... 
							
							
							
							llvm-svn: 54538 
							
						 
						
							2008-08-08 18:23:49 +00:00  
				
					
						
							
							
								 
						
							
								5b5d8bcd88 
								
							 
						 
						
							
							
								
								Switch PPC/Darwin to new section handling stuff  
							
							... 
							
							
							
							llvm-svn: 54537 
							
						 
						
							2008-08-08 18:23:25 +00:00  
				
					
						
							
							
								 
						
							
								7c20ede085 
								
							 
						 
						
							
							
								
								Cleanup  
							
							... 
							
							
							
							llvm-svn: 54536 
							
						 
						
							2008-08-08 18:22:59 +00:00  
				
					
						
							
							
								 
						
							
								ca43dce1e8 
								
							 
						 
						
							
							
								
								Remove extra call to DW.SetModuleInfo on Linux.  
							
							... 
							
							
							
							llvm-svn: 53365 
							
						 
						
							2008-07-09 21:33:15 +00:00  
				
					
						
							
							
								 
						
							
								dbd04c0783 
								
							 
						 
						
							
							
								
								Emit debug into for data-only files for Linux PPC.  
							
							... 
							
							
							
							I cannot test this target, let me know if it breaks!
llvm-svn: 53362 
							
						 
						
							2008-07-09 21:24:07 +00:00  
				
					
						
							
							
								 
						
							
								b9aaddc110 
								
							 
						 
						
							
							
								
								Emit debug info for data-only files.  This version  
							
							... 
							
							
							
							applies to ppc Darwin only.
llvm-svn: 53353 
							
						 
						
							2008-07-09 20:43:39 +00:00  
				
					
						
							
							
								 
						
							
								49c8e68e4c 
								
							 
						 
						
							
							
								
								Back out 53254. It broke ppc debug info codegen.  
							
							... 
							
							
							
							llvm-svn: 53280 
							
						 
						
							2008-07-09 06:36:53 +00:00  
				
					
						
							
							
								 
						
							
								b9097a71d4 
								
							 
						 
						
							
							
								
								Make debug info come out in data-only files.  
							
							... 
							
							
							
							This is a question of the debugging setup code not
being called at the right time, and it's called from
target-dependent code for some reason.  I have only
attempted to fix Darwin, but I'm pretty sure it's
broken elsewhere; I'll leave that to people who can
test it.
llvm-svn: 53254 
							
						 
						
							2008-07-08 21:56:22 +00:00  
				
					
						
							
							
								 
						
							
								18cc4d3ea4 
								
							 
						 
						
							
							
								
								Put initialized const weak objects into correct  
							
							... 
							
							
							
							sections on ppc32 darwin.  g++.dg/abi/key2.C
llvm-svn: 51527 
							
						 
						
							2008-05-24 00:10:20 +00:00  
				
					
						
							
							
								 
						
							
								5bf742f2aa 
								
							 
						 
						
							
							
								
								Handle quoted names when constructing $stub's,  
							
							... 
							
							
							
							$non_lazy_ptr's and $lazy_ptr's.
llvm-svn: 51277 
							
						 
						
							2008-05-19 21:38:18 +00:00  
				
					
						
							
							
								 
						
							
								2e1d5e487b 
								
							 
						 
						
							
							
								
								Record weak external linkage in a case where we were  
							
							... 
							
							
							
							missing it. gcc.dg/darwin-weakimport-2.c.
Handle common and weak differently for darwin ppc32.
llvm-svn: 51201 
							
						 
						
							2008-05-16 20:09:25 +00:00  
				
					
						
							
							
								 
						
							
								ce4396bc92 
								
							 
						 
						
							
							
								
								Add CommonLinkage; currently tentative definitions  
							
							... 
							
							
							
							are represented as "weak", but there are subtle differences
in some cases on Darwin, so we need both.  The intent
is that "common" will behave identically to "weak" unless
somebody changes their target to do something else.
No functional change as yet.
llvm-svn: 51118 
							
						 
						
							2008-05-14 20:12:51 +00:00  
				
					
						
							
							
								 
						
							
								fd967cf3fa 
								
							 
						 
						
							
							
								
								Recommitting EH patch; this should answer most of the  
							
							... 
							
							
							
							review feedback.
-enable-eh is still accepted but doesn't do anything.
EH intrinsics use Dwarf EH if the target supports that,
and are handled by LowerInvoke otherwise.
The separation of the EH table and frame move data is,
I think, logically figured out, but either one still
causes full EH info to be generated (not sure how to
split the metadata correctly).
MachineModuleInfo::needsFrameInfo is no longer used and
is removed.
llvm-svn: 49064 
							
						 
						
							2008-04-02 00:25:04 +00:00  
				
					
						
							
							
								 
						
							
								5e4e051c2a 
								
							 
						 
						
							
							
								
								Revert 49006 for the moment.  
							
							... 
							
							
							
							llvm-svn: 49046 
							
						 
						
							2008-04-01 20:00:57 +00:00  
				
					
						
							
							
								 
						
							
								7d02cf3c9c 
								
							 
						 
						
							
							
								
								Emit exception handling info for functions which are  
							
							... 
							
							
							
							not marked nounwind, or for all functions when -enable-eh
is set, provided the target supports Dwarf EH.
llvm-gcc generates nounwind in the right places; other FEs
will need to do so also.  Given such a FE, -enable-eh should
no longer be needed.
llvm-svn: 49006 
							
						 
						
							2008-03-31 23:40:23 +00:00  
				
					
						
							
							
								 
						
							
								ddc58ff92a 
								
							 
						 
						
							
							
								
								Smaller function alignment when optimizing for size.  
							
							... 
							
							
							
							llvm-svn: 48805 
							
						 
						
							2008-03-25 22:29:46 +00:00  
				
					
						
							
							
								 
						
							
								bdc24adaaf 
								
							 
						 
						
							
							
								
								A quick nm audit turned up several fixed tables and objects that were  
							
							... 
							
							
							
							marked read-write. Use const so that they can be allocated in a
read-only segment.
llvm-svn: 48800 
							
						 
						
							2008-03-25 21:45:14 +00:00  
				
					
						
							
							
								 
						
							
								c799065cc3 
								
							 
						 
						
							
							
								
								Add a quick and dirty "loop aligner pass". x86 uses it to align its loops to 16-byte boundaries.  
							
							... 
							
							
							
							llvm-svn: 47703 
							
						 
						
							2008-02-28 00:43:03 +00:00  
				
					
						
							
							
								 
						
							
								c24ea4fb41 
								
							 
						 
						
							
							
								
								Change "Name" to "AsmName" in the target register info. Gee, a refactoring tool  
							
							... 
							
							
							
							would have been a Godsend here!
llvm-svn: 47625 
							
						 
						
							2008-02-26 21:11:01 +00:00  
				
					
						
							
							
								 
						
							
								7b1431785b 
								
							 
						 
						
							
							
								
								Handle \n's in value names for more targets.  The asm printers  
							
							... 
							
							
							
							really really really need refactoring :(
llvm-svn: 47171 
							
						 
						
							2008-02-15 19:04:54 +00:00  
				
					
						
							
							
								 
						
							
								6ca3ccf519 
								
							 
						 
						
							
							
								
								Rewrite tblgen handling of subtarget features so  
							
							... 
							
							
							
							it follows the order of the enum, not alphabetical.
The motivation is to make -mattr=+ssse3,+sse41
select SSE41 as it ought to.  Added "ignored"
enum values of 0 to PPC and SPU to avoid compiler
warnings.
llvm-svn: 47143 
							
						 
						
							2008-02-14 23:35:16 +00:00  
				
					
						
							
							
								 
						
							
								3a4be0fdef 
								
							 
						 
						
							
							
								
								Rename MRegisterInfo to TargetRegisterInfo.  
							
							... 
							
							
							
							llvm-svn: 46930 
							
						 
						
							2008-02-10 18:45:23 +00:00  
				
					
						
							
							
								 
						
							
								f3c89be368 
								
							 
						 
						
							
							
								
								Ident mnemonics appropriately  
							
							... 
							
							
							
							llvm-svn: 46746 
							
						 
						
							2008-02-05 08:49:09 +00:00  
				
					
						
							
							
								 
						
							
								32e5347eb8 
								
							 
						 
						
							
							
								
								Get rid of the annoying blank lines before labels.  
							
							... 
							
							
							
							llvm-svn: 46667 
							
						 
						
							2008-02-02 08:39:46 +00:00  
				
					
						
							
							
								 
						
							
								1a17ef02c8 
								
							 
						 
						
							
							
								
								If there's no instructions being emitted on X86 for a function, emit a  
							
							... 
							
							
							
							nop. Emit the nop directly for PPC.
llvm-svn: 46398 
							
						 
						
							2008-01-26 09:03:52 +00:00  
				
					
						
							
							
								 
						
							
								5079483957 
								
							 
						 
						
							
							
								
								If there are no machine instructions emitted for a function, then insert  
							
							... 
							
							
							
							a "nop" instruction so that we don't have the function's label associated
with something that it's not supposed to be associated with.
llvm-svn: 46394 
							
						 
						
							2008-01-26 06:51:24 +00:00  
				
					
						
							
							
								 
						
							
								7f1ff5fedd 
								
							 
						 
						
							
							
								
								Honor explicit section information on Darwin.  
							
							... 
							
							
							
							llvm-svn: 46267 
							
						 
						
							2008-01-23 00:58:14 +00:00  
				
					
						
							
							
								 
						
							
								60a9855799 
								
							 
						 
						
							
							
								
								Revert the part of 45848 that treated weak globals  
							
							... 
							
							
							
							as weak globals rather than commons.  While not wrong,
this change tickled a latent bug in Darwin's strip,
so revert it for now as a workaround.
llvm-svn: 46144 
							
						 
						
							2008-01-17 23:04:07 +00:00  
				
					
						
							
							
								 
						
							
								2ff66f08f2 
								
							 
						 
						
							
							
								
								Weak things initialized to 0 don't go in bss on Darwin.  
							
							... 
							
							
							
							Cosmetic changes to spacing to match gcc (some dejagnu
tests actually care).
llvm-svn: 45848 
							
						 
						
							2008-01-11 00:54:37 +00:00  
				
					
						
							
							
								 
						
							
								dcbc0f3029 
								
							 
						 
						
							
							
								
								leopard and above support alignment for common symbols.  
							
							... 
							
							
							
							llvm-svn: 45493 
							
						 
						
							2008-01-02 19:35:16 +00:00  
				
					
						
							
							
								 
						
							
								a5bb370aa4 
								
							 
						 
						
							
							
								
								Add new shorter predicates for testing machine operands for various types:  
							
							... 
							
							
							
							e.g. MO.isMBB() instead of MO.isMachineBasicBlock().  I don't plan on 
switching everything over, so new clients should just start using the 
shorter names.
Remove old long accessors, switching everything over to use the short
accessor: getMachineBasicBlock() -> getMBB(), 
getConstantPoolIndex() -> getIndex(), setMachineBasicBlock -> setMBB(), etc.
llvm-svn: 45464 
							
						 
						
							2007-12-30 23:10:15 +00:00  
				
					
						
							
							
								 
						
							
								5c4637816e 
								
							 
						 
						
							
							
								
								Use MachineOperand::getImm instead of MachineOperand::getImmedValue.  Likewise setImmedValue -> setImm  
							
							... 
							
							
							
							llvm-svn: 45453 
							
						 
						
							2007-12-30 20:49:49 +00:00  
				
					
						
							
							
								 
						
							
								f3ebc3f3d2 
								
							 
						 
						
							
							
								
								Remove attribution from file headers, per discussion on llvmdev.  
							
							... 
							
							
							
							llvm-svn: 45418 
							
						 
						
							2007-12-29 20:36:04 +00:00  
				
					
						
							
							
								 
						
							
								763e110a9f 
								
							 
						 
						
							
							
								
								Fix .eh table linkage issues on Darwin.  Some EH support  
							
							... 
							
							
							
							for Darwin PPC, but it's not fully working yet.
llvm-svn: 44258 
							
						 
						
							2007-11-20 23:24:42 +00:00  
				
					
						
							
							
								 
						
							
								283207a71c 
								
							 
						 
						
							
							
								
								Eliminate the remaining uses of getTypeSize.  This  
							
							... 
							
							
							
							should only effect x86 when using long double.  Now
12/16 bytes are output for long double globals (the
exact amount depends on the alignment).  This brings
globals in line with the rest of LLVM: the space
reserved for an object is now always the ABI size.
One tricky point is that only 10 bytes should be
output for long double if it is a field in a packed
struct, which is the reason for the additional
argument to EmitGlobalConstant.
llvm-svn: 43688 
							
						 
						
							2007-11-05 00:04:43 +00:00  
				
					
						
							
							
								 
						
							
								d954dcd138 
								
							 
						 
						
							
							
								
								Fix crash before main on ppc/linux with static constructors. PR1771  
							
							... 
							
							
							
							llvm-svn: 43676 
							
						 
						
							2007-11-04 17:32:10 +00:00  
				
					
						
							
							
								 
						
							
								cdf3609130 
								
							 
						 
						
							
							
								
								Revert 42908 for now.  
							
							... 
							
							
							
							llvm-svn: 42960 
							
						 
						
							2007-10-14 05:57:21 +00:00  
				
					
						
							
							
								 
						
							
								dc35bd79ca 
								
							 
						 
						
							
							
								
								Change the names used for internal labels to use the current  
							
							... 
							
							
							
							function symbol name instead of a codegen-assigned function
number.
Thanks Evan! :-)
llvm-svn: 42908 
							
						 
						
							2007-10-12 14:53:36 +00:00  
				
					
						
							
							
								 
						
							
								c731c97fac 
								
							 
						 
						
							
							
								
								Use empty() member functions when that's what's being tested for instead  
							
							... 
							
							
							
							of comparing begin() and end().
llvm-svn: 42585 
							
						 
						
							2007-10-03 19:26:29 +00:00  
				
					
						
							
							
								 
						
							
								1ff71872c2 
								
							 
						 
						
							
							
								
								Honor user-defined section specification of a global, ignores whether its initializer is null.  
							
							... 
							
							
							
							llvm-svn: 42182 
							
						 
						
							2007-09-21 00:41:19 +00:00  
				
					
						
							
							
								 
						
							
								d29f938335 
								
							 
						 
						
							
							
								
								Do not override user specified section.  
							
							... 
							
							
							
							llvm-svn: 42179 
							
						 
						
							2007-09-20 23:07:37 +00:00  
				
					
						
							
							
								 
						
							
								9da02f5ee2 
								
							 
						 
						
							
							
								
								Remove isReg, isImm, and isMBB, and change all their users to use  
							
							... 
							
							
							
							isRegister, isImmediate, and isMachineBasicBlock, which are equivalent,
and more popular.
llvm-svn: 41958 
							
						 
						
							2007-09-14 20:33:02 +00:00  
				
					
						
							
							
								 
						
							
								cf0a5349de 
								
							 
						 
						
							
							
								
								Don't ignore the return value of AsmPrinter::doInitialization and  
							
							... 
							
							
							
							AsmPrinter::doFinalization.
llvm-svn: 40487 
							
						 
						
							2007-07-25 19:33:14 +00:00  
				
					
						
							
							
								 
						
							
								5805c46e8f 
								
							 
						 
						
							
							
								
								Fix debug info and globals filled with zeros.  
							
							... 
							
							
							
							llvm-svn: 40483 
							
						 
						
							2007-07-25 03:48:45 +00:00  
				
					
						
							
							
								 
						
							
								c1a2a3b344 
								
							 
						 
						
							
							
								
								add support for printing offset of global  
							
							... 
							
							
							
							llvm-svn: 36667 
							
						 
						
							2007-05-03 16:39:48 +00:00  
				
					
						
							
							
								 
						
							
								cb35c61a4b 
								
							 
						 
						
							
							
								
								Fix PR1351 and CodeGen/PowerPC/2007-04-24-InlineAsm-I-Modifier.ll  
							
							... 
							
							
							
							llvm-svn: 36410 
							
						 
						
							2007-04-24 22:51:03 +00:00  
				
					
						
							
							
								 
						
							
								ddf082082c 
								
							 
						 
						
							
							
								
								Putting more constants which do not contain relocations into .literal{4|8|16}  
							
							... 
							
							
							
							llvm-svn: 35026 
							
						 
						
							2007-03-08 08:31:54 +00:00  
				
					
						
							
							
								 
						
							
								d918477ac3 
								
							 
						 
						
							
							
								
								For Darwin, put constant data into .const, .const_data, .literal{4|8|16}  
							
							... 
							
							
							
							sections.
llvm-svn: 35017 
							
						 
						
							2007-03-08 01:25:25 +00:00  
				
					
						
							
							
								 
						
							
								e6049c2f08 
								
							 
						 
						
							
							
								
								Emit low/high immediate loads properly for Linux/PPC.  
							
							... 
							
							
							
							llvm-svn: 34871 
							
						 
						
							2007-03-03 05:29:51 +00:00  
				
					
						
							
							
								 
						
							
								18fc09723c 
								
							 
						 
						
							
							
								
								Add support for changes in DwarfWriter.  
							
							... 
							
							
							
							llvm-svn: 34478 
							
						 
						
							2007-02-21 22:47:38 +00:00  
				
					
						
							
							
								 
						
							
								f7937005a3 
								
							 
						 
						
							
							
								
								Fix CodeGen/PowerPC/2007-01-31-InlineAsmAddrMode.ll  
							
							... 
							
							
							
							llvm-svn: 33732 
							
						 
						
							2007-02-01 00:39:08 +00:00  
				
					
						
							
							
								 
						
							
								5301e7c605 
								
							 
						 
						
							
							
								
								For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoid  
							
							... 
							
							
							
							confusion with external linkage types.
llvm-svn: 33663 
							
						 
						
							2007-01-30 20:08:39 +00:00  
				
					
						
							
							
								 
						
							
								0e083d0161 
								
							 
						 
						
							
							
								
								Darwin -static should codegen static ctors / dtors to .constructor / .destructor sections.  
							
							... 
							
							
							
							llvm-svn: 33657 
							
						 
						
							2007-01-30 08:04:53 +00:00  
				
					
						
							
							
								 
						
							
								c56315c2b5 
								
							 
						 
						
							
							
								
								Change the MachineDebugInfo to MachineModuleInfo to better reflect usage  
							
							... 
							
							
							
							for debugging and exception handling.
llvm-svn: 33550 
							
						 
						
							2007-01-26 21:22:28 +00:00  
				
					
						
							
							
								 
						
							
								48518548bd 
								
							 
						 
						
							
							
								
								Fix test/CFrontend/2007-01-24-InlineAsmCModifier.c on PPC  
							
							... 
							
							
							
							llvm-svn: 33494 
							
						 
						
							2007-01-25 02:52:50 +00:00  
				
					
						
							
							
								 
						
							
								3c84b551db 
								
							 
						 
						
							
							
								
								add support for hidden visibility to darwin/ppc and linux/ppc targets  
							
							... 
							
							
							
							llvm-svn: 33200 
							
						 
						
							2007-01-14 06:37:54 +00:00  
				
					
						
							
							
								 
						
							
								28663c73ef 
								
							 
						 
						
							
							
								
								Changes from Nick Lewycky with a simplified PPCTargetAsmInfo.  
							
							... 
							
							
							
							llvm-svn: 32735 
							
						 
						
							2006-12-21 20:26:09 +00:00  
				
					
						
							
							
								 
						
							
								4c90a6df16 
								
							 
						 
						
							
							
								
								Oops.  
							
							... 
							
							
							
							llvm-svn: 32724 
							
						 
						
							2006-12-20 21:35:00 +00:00  
				
					
						
							
							
								 
						
							
								c2c861d00e 
								
							 
						 
						
							
							
								
								Original patch was overly complicated.  
							
							... 
							
							
							
							llvm-svn: 32723 
							
						 
						
							2006-12-20 21:33:34 +00:00  
				
					
						
							
							
								 
						
							
								41621a72f5 
								
							 
						 
						
							
							
								
								Changes to target powerpc for non-Darwin assemblers.  
							
							... 
							
							
							
							1. Patches from Nick Lewycky.
2. Code to filter register names and print them as numeric values on
non-Darwin systems.
llvm-svn: 32721 
							
						 
						
							2006-12-20 20:56:46 +00:00  
				
					
						
							
							
								 
						
							
								1ef9cd400d 
								
							 
						 
						
							
							
								
								eliminate static ctors for Statistic objects.  
							
							... 
							
							
							
							llvm-svn: 32703 
							
						 
						
							2006-12-19 22:59:26 +00:00  
				
					
						
							
							
								 
						
							
								d7998d0e6d 
								
							 
						 
						
							
							
								
								move ExtWeakSymbols to AsmPrinter  
							
							... 
							
							
							
							llvm-svn: 32648 
							
						 
						
							2006-12-18 03:37:18 +00:00  
				
					
						
							
							
								 
						
							
								59e7a777da 
								
							 
						 
						
							
							
								
								Honor cpu directive, take two.  
							
							... 
							
							
							
							llvm-svn: 32492 
							
						 
						
							2006-12-12 20:57:08 +00:00  
				
					
						
							
							
								 
						
							
								8171e58bd9 
								
							 
						 
						
							
							
								
								Rollback changes to take a different tack.  
							
							... 
							
							
							
							llvm-svn: 32488 
							
						 
						
							2006-12-12 19:26:50 +00:00  
				
					
						
							
							
								 
						
							
								7c3cab9ddc 
								
							 
						 
						
							
							
								
								Honor the command line specification for machine type.  
							
							... 
							
							
							
							llvm-svn: 32483 
							
						 
						
							2006-12-12 16:07:33 +00:00  
				
					
						
							
							
								 
						
							
								9bfb1e1f29 
								
							 
						 
						
							
							
								
								What should be the last unnecessary <iostream>s in the library.  
							
							... 
							
							
							
							llvm-svn: 32333 
							
						 
						
							2006-12-07 22:21:48 +00:00  
				
					
						
							
							
								 
						
							
								700b873130 
								
							 
						 
						
							
							
								
								Detemplatize the Statistic class.  The only type it is instantiated with  
							
							... 
							
							
							
							is 'unsigned'.
llvm-svn: 32279 
							
						 
						
							2006-12-06 17:46:33 +00:00  
				
					
						
							
							
								 
						
							
								022030a425 
								
							 
						 
						
							
							
								
								Add weak reference directive.  
							
							... 
							
							
							
							llvm-svn: 32091 
							
						 
						
							2006-12-01 20:47:11 +00:00  
				
					
						
							
							
								 
						
							
								b689d32b20 
								
							 
						 
						
							
							
								
								Copy and paste error. An initialized global cannot be a weak reference.  
							
							... 
							
							
							
							llvm-svn: 32075 
							
						 
						
							2006-12-01 17:39:22 +00:00  
				
					
						
							
							
								 
						
							
								311622f912 
								
							 
						 
						
							
							
								
								ExternalWeak case in wrong location.  
							
							... 
							
							
							
							llvm-svn: 32073 
							
						 
						
							2006-12-01 14:37:39 +00:00  
				
					
						
							
							
								 
						
							
								5fb2c76d59 
								
							 
						 
						
							
							
								
								A initialized global variable cannot be extern weak. However, if a global value's initializer is itself a external weak symbol, emit the weak reference.  
							
							... 
							
							
							
							llvm-svn: 32069 
							
						 
						
							2006-12-01 09:13:26 +00:00  
				
					
						
							
							
								 
						
							
								fa54c0b6fb 
								
							 
						 
						
							
							
								
								Darwin PPC external weak linkage support.  
							
							... 
							
							
							
							llvm-svn: 32068 
							
						 
						
							2006-12-01 07:56:37 +00:00  
				
					
						
							
							
								 
						
							
								ec05b046c7 
								
							 
						 
						
							
							
								
								Prime text sections to improve branch locality in large object files.  
							
							... 
							
							
							
							llvm-svn: 31969 
							
						 
						
							2006-11-28 18:21:52 +00:00  
				
					
						
							
							
								 
						
							
								9ca15c8914 
								
							 
						 
						
							
							
								
								Pretty print 'rldicr r2, r2, 2, 61' as 'sldi r2, r2, 2'.  
							
							... 
							
							
							
							llvm-svn: 31838 
							
						 
						
							2006-11-18 01:23:56 +00:00  
				
					
						
							
							
								 
						
							
								8c6a41ea12 
								
							 
						 
						
							
							
								
								start using PPC predicates more consistently.  
							
							... 
							
							
							
							llvm-svn: 31833 
							
						 
						
							2006-11-17 22:10:59 +00:00  
				
					
						
							
							
								 
						
							
								30055b9208 
								
							 
						 
						
							
							
								
								fix a regression that I introduced.  stdu should scale the offset by 4  
							
							... 
							
							
							
							before printing it.
llvm-svn: 31791 
							
						 
						
							2006-11-16 21:45:30 +00:00  
				
					
						
							
							
								 
						
							
								6be726048e 
								
							 
						 
						
							
							
								
								Go through all kinds of trouble to mark 'blr' as having a predicate operand  
							
							... 
							
							
							
							that takes a register and condition code.  Print these pieces of BLR the
right way, even though it is currently set to 'always'.
Next up: get the JIT encoding right, then enhance branch folding to produce
predicated blr for simple examples.
llvm-svn: 31449 
							
						 
						
							2006-11-04 05:27:39 +00:00  
				
					
						
							
							
								 
						
							
								de46e48420 
								
							 
						 
						
							
							
								
								For PR786:  
							
							... 
							
							
							
							Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to delete code without review) and unused
variables in generated code. Maintainers should clean up the remaining
issues when they see them. All changes pass DejaGnu tests and Olden.
llvm-svn: 31380 
							
						 
						
							2006-11-02 20:25:50 +00:00  
				
					
						
							
							
								 
						
							
								aa4c0f9374 
								
							 
						 
						
							
							
								
								1. Clean up code due to changes in SwitchTo*Section(2)  
							
							... 
							
							
							
							2. Added partial debug support for mingw\cygwin targets (the same as
   Linux\ELF). Please note, that currently mingw\cygwin uses 'stabs' format
   for storing debug info by default, thus many (runtime) libraries has
   this information included. These formats shouldn't be mixed in one binary
   ('stabs' & 'DWARF'), otherwise binutils tools will be confused.
llvm-svn: 31311 
							
						 
						
							2006-10-31 08:31:24 +00:00  
				
					
						
							
							
								 
						
							
								ae8c29a7d3 
								
							 
						 
						
							
							
								
								Doh. Must check if GV is constant first before putting it in .cstring.  
							
							... 
							
							
							
							llvm-svn: 31253 
							
						 
						
							2006-10-28 05:56:51 +00:00  
				
					
						
							
							
								 
						
							
								e1e06c2de8 
								
							 
						 
						
							
							
								
								Place cstrings in .cstring section.  
							
							... 
							
							
							
							llvm-svn: 31207 
							
						 
						
							2006-10-26 21:48:57 +00:00  
				
					
						
							
							
								 
						
							
								71b99297aa 
								
							 
						 
						
							
							
								
								Move getPreferredAlignmentLog from AsmPrinter to TargetData  
							
							... 
							
							
							
							llvm-svn: 31171 
							
						 
						
							2006-10-24 20:32:14 +00:00  
				
					
						
							
							
								 
						
							
								a6a570e02f 
								
							 
						 
						
							
							
								
								Pass the MachineFunction into EmitJumpTableInfo.  
							
							... 
							
							
							
							llvm-svn: 30742 
							
						 
						
							2006-10-05 03:01:21 +00:00  
				
					
						
							
							
								 
						
							
								028d663ee6 
								
							 
						 
						
							
							
								
								Move getSectionForFunction to AsmPrinter, change it to return a string.  
							
							... 
							
							
							
							llvm-svn: 30735 
							
						 
						
							2006-10-05 02:42:20 +00:00  
				
					
						
							
							
								 
						
							
								0d236450aa 
								
							 
						 
						
							
							
								
								implement DarwinTargetAsmInfo::getSectionForFunction, use it when outputting  
							
							... 
							
							
							
							function bodies
llvm-svn: 30733 
							
						 
						
							2006-10-05 00:35:50 +00:00  
				
					
						
							
							
								 
						
							
								41e22a5419 
								
							 
						 
						
							
							
								
								emit jump table before debug info  
							
							... 
							
							
							
							llvm-svn: 30731 
							
						 
						
							2006-10-05 00:26:05 +00:00  
				
					
						
							
							
								 
						
							
								aad26a19f0 
								
							 
						 
						
							
							
								
								Always emit the jump table after the function so it's part of the same 'atom'  
							
							... 
							
							
							
							as the function body.
llvm-svn: 30730 
							
						 
						
							2006-10-05 00:24:46 +00:00  
				
					
						
							
							
								 
						
							
								a81a75c390 
								
							 
						 
						
							
							
								
								The DarwinAsmPrinter need not check for isDarwin.  createPPCAsmPrinterPass  
							
							... 
							
							
							
							should create the right asmprinter subclass.
llvm-svn: 30542 
							
						 
						
							2006-09-20 17:12:19 +00:00  
				
					
						
							
							
								 
						
							
								8597a2fc4e 
								
							 
						 
						
							
							
								
								Wrap some darwin'isms with isDarwin checks.  
							
							... 
							
							
							
							llvm-svn: 30541 
							
						 
						
							2006-09-20 17:07:15 +00:00  
				
					
						
							
							
								 
						
							
								261779bb45 
								
							 
						 
						
							
							
								
								Make target asm info a property of the target machine.  
							
							... 
							
							
							
							llvm-svn: 30162 
							
						 
						
							2006-09-07 22:06:40 +00:00  
				
					
						
							
							
								 
						
							
								a6211dcdad 
								
							 
						 
						
							
							
								
								Separate target specific asm properties from the asm printers.  
							
							... 
							
							
							
							llvm-svn: 30126 
							
						 
						
							2006-09-06 18:34:40 +00:00  
				
					
						
							
							
								 
						
							
								3d27be1333 
								
							 
						 
						
							
							
								
								s|llvm/Support/Visibility.h|llvm/Support/Compiler.h|  
							
							... 
							
							
							
							llvm-svn: 29911 
							
						 
						
							2006-08-27 12:54:02 +00:00  
				
					
						
							
							
								 
						
							
								d7572fb234 
								
							 
						 
						
							
							
								
								Encode pc-relative conditional branch offset as pc+(num of bytes / 4). The  
							
							... 
							
							
							
							asm printer will print it as offset*4. e.g. bne cr0, $+8.
The PPC code emitter was expecting the offset to be number of instructions, not
number of bytes. This fixes a whole bunch of JIT failures.
llvm-svn: 29885 
							
						 
						
							2006-08-25 21:54:44 +00:00  
				
					
						
							
							
								 
						
							
								984c1a4a8f 
								
							 
						 
						
							
							
								
								Emit .set directives for jump table entries when possible, which reduces  
							
							... 
							
							
							
							the number of relocations in object files, shrinkifying them.
llvm-svn: 29650 
							
						 
						
							2006-08-12 21:29:52 +00:00  
				
					
						
							
							
								 
						
							
								787565024a 
								
							 
						 
						
							
							
								
								Support jump tables when in PIC relocation model  
							
							... 
							
							
							
							llvm-svn: 29318 
							
						 
						
							2006-07-27 01:13:04 +00:00  
				
					
						
							
							
								 
						
							
								9e56e5c003 
								
							 
						 
						
							
							
								
								Rename RelocModel::PIC to PIC_, to avoid conflicts with -DPIC.  
							
							... 
							
							
							
							llvm-svn: 29307 
							
						 
						
							2006-07-26 21:12:04 +00:00  
				
					
						
							
							
								 
						
							
								e1758d4cef 
								
							 
						 
						
							
							
								
								Remove what little AIX support we have.  It has never been tested and isn't  
							
							... 
							
							
							
							complete.
llvm-svn: 29156 
							
						 
						
							2006-07-15 01:24:23 +00:00  
				
					
						
							
							
								 
						
							
								b42a945fd2 
								
							 
						 
						
							
							
								
								Print negative immediates as negative values instead of large constants  
							
							... 
							
							
							
							when using the immshifted addressing mode.
llvm-svn: 29130 
							
						 
						
							2006-07-12 23:24:02 +00:00  
				
					
						
							
							
								 
						
							
								996795b0dd 
								
							 
						 
						
							
							
								
								Use hidden visibility to make symbols in an anonymous namespace get  
							
							... 
							
							
							
							dropped.  This shrinks libllvmgcc.dylib another 67K
llvm-svn: 28975 
							
						 
						
							2006-06-28 23:17:24 +00:00  
				
					
						
							
							
								 
						
							
								2f8c2d8ef2 
								
							 
						 
						
							
							
								
								shrink libllvmgcc.dylib another 25K  
							
							... 
							
							
							
							llvm-svn: 28971 
							
						 
						
							2006-06-28 22:00:36 +00:00  
				
					
						
							
							
								 
						
							
								82ab3e21b1 
								
							 
						 
						
							
							
								
								Print stubs for external globals right.  
							
							... 
							
							
							
							llvm-svn: 28936 
							
						 
						
							2006-06-27 20:20:53 +00:00  
				
					
						
							
							
								 
						
							
								a2af3f47ea 
								
							 
						 
						
							
							
								
								Add a pattern for i64 sra.  Print 8-byte units with a space between the .quad  
							
							... 
							
							
							
							and the data
llvm-svn: 28934 
							
						 
						
							2006-06-27 20:07:26 +00:00  
				
					
						
							
							
								 
						
							
								1df0839067 
								
							 
						 
						
							
							
								
								Print darwin stub stuff correctly in 64-bit mode.  With this, treeadd works in  
							
							... 
							
							
							
							ppc64 mode!
llvm-svn: 28923 
							
						 
						
							2006-06-27 01:02:25 +00:00  
				
					
						
							
							
								 
						
							
								a7b2bd5997 
								
							 
						 
						
							
							
								
								Add and sort "sections" in debug lines.  This always stepping through  
							
							... 
							
							
							
							code in sections other than ".text", including weak sections like ctors and
dtors.
llvm-svn: 28909 
							
						 
						
							2006-06-23 12:51:53 +00:00  
				
					
						
							
							
								 
						
							
								52a956da52 
								
							 
						 
						
							
							
								
								Rename OR4 -> OR.  Move some PPC64-specific stuff to the 64-bit file  
							
							... 
							
							
							
							llvm-svn: 28889 
							
						 
						
							2006-06-20 23:18:58 +00:00  
				
					
						
							
							
								 
						
							
								19f964e048 
								
							 
						 
						
							
							
								
								1. Support standard dwarf format (was bootstrapping in Apple format.)  
							
							... 
							
							
							
							2. Add vector support.
llvm-svn: 28807 
							
						 
						
							2006-06-15 20:51:43 +00:00  
				
					
						
							
							
								 
						
							
								f67bec0579 
								
							 
						 
						
							
							
								
								Place dwarf headers at earliest possible point.  Well behaved when skipping  
							
							... 
							
							
							
							functions.
llvm-svn: 28781 
							
						 
						
							2006-06-14 11:35:03 +00:00  
				
					
						
							
							
								 
						
							
								04a9e38369 
								
							 
						 
						
							
							
								
								Remove some dead code, identified by coverity.  
							
							... 
							
							
							
							llvm-svn: 28303 
							
						 
						
							2006-05-15 05:48:32 +00:00  
				
					
						
							
							
								 
						
							
								f76c42776d 
								
							 
						 
						
							
							
								
								remove dead variable.  
							
							... 
							
							
							
							llvm-svn: 28248 
							
						 
						
							2006-05-12 17:33:59 +00:00  
				
					
						
							
							
								 
						
							
								2814134a5d 
								
							 
						 
						
							
							
								
								Indent .data/.text in the .s file  
							
							... 
							
							
							
							llvm-svn: 28204 
							
						 
						
							2006-05-09 16:15:00 +00:00  
				
					
						
							
							
								 
						
							
								8488ba2e41 
								
							 
						 
						
							
							
								
								Split SwitchSection into SwitchTo{Text|Data}Section methods.  
							
							... 
							
							
							
							llvm-svn: 28184 
							
						 
						
							2006-05-09 04:59:56 +00:00  
				
					
						
							
							
								 
						
							
								8b9e11c110 
								
							 
						 
						
							
							
								
								Print a grouping around inline asm blocks so that we can tell when we are  
							
							... 
							
							
							
							using them.
llvm-svn: 28134 
							
						 
						
							2006-05-05 21:50:04 +00:00  
				
					
						
							
							
								 
						
							
								10b71c0d08 
								
							 
						 
						
							
							
								
								Rename MO_VirtualRegister -> MO_Register.  Clean up immediate handling.  
							
							... 
							
							
							
							llvm-svn: 28104 
							
						 
						
							2006-05-04 18:05:43 +00:00  
				
					
						
							
							
								 
						
							
								fef7a2d0f5 
								
							 
						 
						
							
							
								
								There shalt be only one "immediate" operand type!  
							
							... 
							
							
							
							llvm-svn: 28099 
							
						 
						
							2006-05-04 17:21:20 +00:00  
				
					
						
							
							
								 
						
							
								940cc978ef 
								
							 
						 
						
							
							
								
								Remove a bunch more SparcV9 specific stuff  
							
							... 
							
							
							
							llvm-svn: 28093 
							
						 
						
							2006-05-04 01:15:02 +00:00  
				
					
						
							
							
								 
						
							
								9f6639b64d 
								
							 
						 
						
							
							
								
								Remove some more unused stuff from MachineInstr that was leftover from V9.  
							
							... 
							
							
							
							llvm-svn: 28091 
							
						 
						
							2006-05-04 00:44:25 +00:00  
				
					
						
							
							
								 
						
							
								20a631fde7 
								
							 
						 
						
							
							
								
								Refactor TargetMachine, pushing handling of TargetData into the target-specific subclasses.  This has one caller-visible change: getTargetData() now returns a pointer instead of a reference.  
							
							... 
							
							
							
							This fixes PR 759.
llvm-svn: 28074 
							
						 
						
							2006-05-03 01:29:57 +00:00  
				
					
						
							
							
								 
						
							
								287dc5be0d 
								
							 
						 
						
							
							
								
								Hooray, everyone now uses the same printBasicBlockLabel implementation  
							
							... 
							
							
							
							llvm-svn: 28056 
							
						 
						
							2006-05-02 17:34:51 +00:00  
				
					
						
							
							
								 
						
							
								b9d4f8324d 
								
							 
						 
						
							
							
								
								Extend printBasicBlockLabel a bit so that it can be used to print all  
							
							... 
							
							
							
							basic block labels, consolidating the code to do so in one place for each
target.
llvm-svn: 28050 
							
						 
						
							2006-05-02 05:37:32 +00:00  
				
					
						
							
							
								 
						
							
								4ca2ea5b43 
								
							 
						 
						
							
							
								
								JumpTable support!  What this represents is working asm and jit support for  
							
							... 
							
							
							
							x86 and ppc for 100% dense switch statements when relocations are non-PIC.
This support will be extended and enhanced in the coming days to support
PIC, and less dense forms of jump tables.
llvm-svn: 27947 
							
						 
						
							2006-04-22 18:53:45 +00:00  
				
					
						
							
							
								 
						
							
								c0d6518f27 
								
							 
						 
						
							
							
								
								Make sure that debug labels are defined within the same section and after the  
							
							... 
							
							
							
							entry point of a function.
llvm-svn: 27494 
							
						 
						
							2006-04-07 20:44:42 +00:00  
				
					
						
							
							
								 
						
							
								2771e2c960 
								
							 
						 
						
							
							
								
								Codegen things like:  
							
							... 
							
							
							
							<int -1, int -1, int -1, int -1>
and
 <int 65537, int 65537, int 65537, int 65537>
Using things like:
  vspltisb v0, -1
and:
  vspltish v0, 1
instead of using constant pool loads.
This implements CodeGen/PowerPC/vec_splat.ll:splat_imm_i{32|16}.
llvm-svn: 27106 
							
						 
						
							2006-03-25 06:12:06 +00:00  
				
					
						
							
							
								 
						
							
								cf0166fbeb 
								
							 
						 
						
							
							
								
								Change interface to DwarfWriter.  
							
							... 
							
							
							
							llvm-svn: 26991 
							
						 
						
							2006-03-23 18:09:44 +00:00  
				
					
						
							
							
								 
						
							
								77373d1bea 
								
							 
						 
						
							
							
								
								Add support for "ri" addressing modes where the immediate is a 14-bit field  
							
							... 
							
							
							
							which is shifted left two bits before use.  Instructions like STD use this
addressing mode.
llvm-svn: 26942 
							
						 
						
							2006-03-22 05:26:03 +00:00  
				
					
						
							
							
								 
						
							
								139eac5b71 
								
							 
						 
						
							
							
								
								Print absolute memory references like this:  
							
							... 
							
							
							
							lwz r2, 8(0)
instead of this:
       lwz r2, 8(r0)
This fixes the llc/llc-beta failures on PPC last night.
llvm-svn: 26922 
							
						 
						
							2006-03-21 17:21:13 +00:00  
				
					
						
							
							
								 
						
							
								2dd2c652b2 
								
							 
						 
						
							
							
								
								Added getTargetLowering() to TargetMachine. Refactored targets to support this.  
							
							... 
							
							
							
							llvm-svn: 26742 
							
						 
						
							2006-03-13 23:20:37 +00:00  
				
					
						
							
							
								 
						
							
								313570fb17 
								
							 
						 
						
							
							
								
								Use "llvm.metadata" section for debug globals.  Filter out these globals in the  
							
							... 
							
							
							
							asm printer.
llvm-svn: 26599 
							
						 
						
							2006-03-07 22:00:35 +00:00  
				
					
						
							
							
								 
						
							
								7674d90fa1 
								
							 
						 
						
							
							
								
								Add memory printing support for PPC.  Input memory operands now work with  
							
							... 
							
							
							
							inline asms! :)
llvm-svn: 26365 
							
						 
						
							2006-02-24 20:27:40 +00:00  
				
					
						
							
							
								 
						
							
								1bad2546d0 
								
							 
						 
						
							
							
								
								Implement the PPC inline asm "L" modifier.  This allows us to compile:  
							
							... 
							
							
							
							long long test(long long X) {
  __asm__("foo %0 %L0 %1 %L1" : "=r"(X): "r"(X));
  return X;
}
to:
        foo r2 r3 r2 r3
llvm-svn: 26333 
							
						 
						
							2006-02-23 19:31:10 +00:00  
				
					
						
							
							
								 
						
							
								73136dfecc 
								
							 
						 
						
							
							
								
								- Added option -relocation-model to set relocation model. Valid values include static, pic,  
							
							... 
							
							
							
							dynamic-no-pic, and default.
PPC and x86 default is dynamic-no-pic for Darwin, pic for others.
- Removed options -enable-pic and -ppc-static.
llvm-svn: 26315 
							
						 
						
							2006-02-22 20:19:42 +00:00  
				
					
						
							
							
								 
						
							
								2fa33a989d 
								
							 
						 
						
							
							
								
								Coordinate activities with llvm-gcc4 and dwarf.  
							
							... 
							
							
							
							llvm-svn: 26314 
							
						 
						
							2006-02-22 19:02:11 +00:00  
				
					
						
							
							
								 
						
							
								5f99760ae7 
								
							 
						 
						
							
							
								
								Moved PICEnabled to include/llvm/Target/TargetOptions.h  
							
							... 
							
							
							
							llvm-svn: 26272 
							
						 
						
							2006-02-18 00:08:58 +00:00  
				
					
						
							
							
								 
						
							
								b134520b86 
								
							 
						 
						
							
							
								
								If we have zero initialized data with external linkage, use .zerofill to  
							
							... 
							
							
							
							emit it (instead of .space), saving a bit of space in the .o file.
For example:
int foo[100];
int bar[100] = {};
when compiled with C++ or -fno-common results in shrinkage from 1160 to 360
bytes of space.  The X86 backend can also do this on darwin.
llvm-svn: 26185 
							
						 
						
							2006-02-14 22:18:23 +00:00  
				
					
						
							
							
								 
						
							
								84fb09eba4 
								
							 
						 
						
							
							
								
								Make sure that weak functions are aligned properly  
							
							... 
							
							
							
							llvm-svn: 26181 
							
						 
						
							2006-02-14 20:42:33 +00:00  
				
					
						
							
							
								 
						
							
								2e07d6370a 
								
							 
						 
						
							
							
								
								Darwin doesn't support #APP/#NO_APP  
							
							... 
							
							
							
							llvm-svn: 26066 
							
						 
						
							2006-02-08 23:42:22 +00:00  
				
					
						
							
							
								 
						
							
								f7b962d7d7 
								
							 
						 
						
							
							
								
								Emit the 'mr' pseudoop for easier reading.  
							
							... 
							
							
							
							llvm-svn: 26053 
							
						 
						
							2006-02-08 06:56:40 +00:00  
				
					
						
							
							
								 
						
							
								2bf2c8d7e7 
								
							 
						 
						
							
							
								
								Change prototype  
							
							... 
							
							
							
							llvm-svn: 26022 
							
						 
						
							2006-02-06 22:18:19 +00:00  
				
					
						
							
							
								 
						
							
								58d48c8118 
								
							 
						 
						
							
							
								
								We seem to have settled to __DWARF for section name.  
							
							... 
							
							
							
							llvm-svn: 26015 
							
						 
						
							2006-02-06 14:16:15 +00:00  
				
					
						
							
							
								 
						
							
								1b1a8731c0 
								
							 
						 
						
							
							
								
								Use the asmprinter to find out what the preferred alignment of a global is.  
							
							... 
							
							
							
							This patch speeds up 172.mgrid from 31.81s to 11.39s on darwin/ppc.
Many many thanks to Nate for tracking down the root cause of the issue.
llvm-svn: 25979 
							
						 
						
							2006-02-05 01:30:45 +00:00  
				
					
						
							
							
								 
						
							
								f7f056751c 
								
							 
						 
						
							
							
								
								add a method  
							
							... 
							
							
							
							llvm-svn: 25884 
							
						 
						
							2006-02-01 22:38:46 +00:00  
				
					
						
							
							
								 
						
							
								0bbdc55333 
								
							 
						 
						
							
							
								
								Set up MachineDebugInfo to scan for debug information form "llvm.db"g globals.  
							
							... 
							
							
							
							Global Variable information is now pulled from "llvm.dbg.globals"
llvm-svn: 25655 
							
						 
						
							2006-01-26 20:21:46 +00:00  
				
					
						
							
							
								 
						
							
								3e65f28ffe 
								
							 
						 
						
							
							
								
								Crude Dwarf global variable debugging.  
							
							... 
							
							
							
							llvm-svn: 25569 
							
						 
						
							2006-01-24 00:49:18 +00:00  
				
					
						
							
							
								 
						
							
								de02d7727f 
								
							 
						 
						
							
							
								
								Add explicit #includes of <iostream>  
							
							... 
							
							
							
							llvm-svn: 25515 
							
						 
						
							2006-01-22 23:41:00 +00:00  
				
					
						
							
							
								 
						
							
								9436aa74a9 
								
							 
						 
						
							
							
								
								trivial formatting improvement: don't insert extra blank lines between .comm  
							
							... 
							
							
							
							vars.
llvm-svn: 25492 
							
						 
						
							2006-01-21 01:35:26 +00:00  
				
					
						
							
							
								 
						
							
								194a5268cb 
								
							 
						 
						
							
							
								
								Added minimum Dwarf aranges.  Cleaned up some section headers.  Line number  
							
							... 
							
							
							
							support now works in gdb.
llvm-svn: 25417 
							
						 
						
							2006-01-18 16:54:26 +00:00  
				
					
						
							
							
								 
						
							
								cc9dfecf81 
								
							 
						 
						
							
							
								
								Add frame work for additional dwarf sections.  Comments will improve as code  
							
							... 
							
							
							
							is added.
llvm-svn: 25410 
							
						 
						
							2006-01-17 20:41:40 +00:00  
				
					
						
							
							
								 
						
							
								b9966029fe 
								
							 
						 
						
							
							
								
								Adding basic support for Dwarf line number debug information.  
							
							... 
							
							
							
							I promise to keep future commits smaller.
llvm-svn: 25396 
							
						 
						
							2006-01-17 17:31:53 +00:00  
				
					
						
							
							
								 
						
							
								762e9ec06c 
								
							 
						 
						
							
							
								
								Added initial support for DEBUG_LABEL allowing debug specific labels to be  
							
							... 
							
							
							
							inserted in the code.
llvm-svn: 25104 
							
						 
						
							2006-01-05 01:25:28 +00:00  
				
					
						
							
							
								 
						
							
								219d559824 
								
							 
						 
						
							
							
								
								Applied some recommend changes from sabre.  The dominate one beginning "let the  
							
							... 
							
							
							
							pass manager do it's thing."  Fixes crash when compiling -g files and suppresses
dwarf statements if no debug info is present.
llvm-svn: 25100 
							
						 
						
							2006-01-04 22:28:25 +00:00  
				
					
						
							
							
								 
						
							
								b0609d91c3 
								
							 
						 
						
							
							
								
								Tie dwarf generation to darwin assembler.  
							
							... 
							
							
							
							llvm-svn: 25093 
							
						 
						
							2006-01-04 13:52:30 +00:00  
				
					
						
							
							
								 
						
							
								9aea6e4691 
								
							 
						 
						
							
							
								
								Fix one of the things in the todo file, and get a bit closer to folding  
							
							... 
							
							
							
							constant offsets from statics into the address arithmetic.
llvm-svn: 24999 
							
						 
						
							2005-12-24 01:00:15 +00:00  
				
					
						
							
							
								 
						
							
								6b0325aa26 
								
							 
						 
						
							
							
								
								fix handling of weak linkage  
							
							... 
							
							
							
							llvm-svn: 24964 
							
						 
						
							2005-12-22 21:15:17 +00:00  
				
					
						
							
							
								 
						
							
								c126397a69 
								
							 
						 
						
							
							
								
								Fix a couple of the FIXMEs, thanks to suggestion from Chris.  This allows  
							
							... 
							
							
							
							us to load and store vectors directly at a pointer (offset of zero) by
using r0 as the base register.  This also requires some asm printer work
to satisfy the darwin assembler.
For
void %foo(<4 x float> * %a) {
entry:
  %tmp1 = load <4 x float> * %a;
  %tmp2 = add <4 x float> %tmp1, %tmp1
  store <4 x float> %tmp2, <4 x float> *%a
  ret void
}
We now produce:
_foo:
        lvx v0, 0, r3
        vaddfp v0, v0, v0
        stvx v0, 0, r3
        blr
Instead of:
_foo:
        li r2, 0
        lvx v0, r2, r3
        vaddfp v0, v0, v0
        stvx v0, r2, r3
        blr
llvm-svn: 24872 
							
						 
						
							2005-12-19 23:40:42 +00:00  
				
					
						
							
							
								 
						
							
								8e6a8af205 
								
							 
						 
						
							
							
								
								Convert load/store over to being pattern matched  
							
							... 
							
							
							
							llvm-svn: 24871 
							
						 
						
							2005-12-19 23:25:09 +00:00  
				
					
						
							
							
								 
						
							
								7c462768ed 
								
							 
						 
						
							
							
								
								Added source file/line correspondence for dwarf (PowerPC only at this point.)  
							
							... 
							
							
							
							llvm-svn: 24748 
							
						 
						
							2005-12-16 22:45:29 +00:00  
				
					
						
							
							
								 
						
							
								887af88ce3 
								
							 
						 
						
							
							
								
								Weak and linkonce global vars should still have a .globl emitted for them  
							
							... 
							
							
							
							llvm-svn: 24747 
							
						 
						
							2005-12-16 21:46:14 +00:00  
				
					
						
							
							
								 
						
							
								575751151c 
								
							 
						 
						
							
							
								
								Update the darwin handling of linkonce & weak functions and GV stubs. This  
							
							... 
							
							
							
							should work in all permutations.
llvm-svn: 24728 
							
						 
						
							2005-12-16 00:22:14 +00:00  
				
					
						
							
							
								 
						
							
								87079884d1 
								
							 
						 
						
							
							
								
								Use the shared asmprinter code for printing special llvm globals  
							
							... 
							
							
							
							llvm-svn: 24695 
							
						 
						
							2005-12-13 06:32:50 +00:00  
				
					
						
							
							
								 
						
							
								54a11df95d 
								
							 
						 
						
							
							
								
								reindent a loop, unswitch a loop.  No functionality changes  
							
							... 
							
							
							
							llvm-svn: 24692 
							
						 
						
							2005-12-13 04:33:58 +00:00  
				
					
						
							
							
								 
						
							
								090eed0483 
								
							 
						 
						
							
							
								
								Remove type casts that are no longer needed  
							
							... 
							
							
							
							llvm-svn: 24661 
							
						 
						
							2005-12-11 07:45:47 +00:00  
				
					
						
							
							
								 
						
							
								e0f5f8e43c 
								
							 
						 
						
							
							
								
								Teach the PPC backend about the ctor and dtor list when not using __main and  
							
							... 
							
							
							
							linking the entire program into one bc file.
llvm-svn: 24645 
							
						 
						
							2005-12-09 18:24:29 +00:00  
				
					
						
							
							
								 
						
							
								6f8c1ace6e 
								
							 
						 
						
							
							
								
								No longer track value types for asm printer operands, and remove them as  
							
							... 
							
							
							
							an argument to every operand printing function.  Requires some slight
tweaks to x86, the only user.
llvm-svn: 24541 
							
						 
						
							2005-11-30 18:54:35 +00:00  
				
					
						
							
							
								 
						
							
								ef83ebd45d 
								
							 
						 
						
							
							
								
								Use generic constant pool emission code in the AsmPrinter class.  
							
							... 
							
							
							
							llvm-svn: 24465 
							
						 
						
							2005-11-21 08:26:15 +00:00  
				
					
						
							
							
								 
						
							
								ffbfa71866 
								
							 
						 
						
							
							
								
								Use the FunctionNumber provided by the AsmPrinter class  
							
							... 
							
							
							
							llvm-svn: 24462 
							
						 
						
							2005-11-21 08:14:07 +00:00  
				
					
						
							
							
								 
						
							
								dd3bf8e4a2 
								
							 
						 
						
							
							
								
								Use CommentString where possible, fix a bug where aix mode wouldn't assemble  
							
							... 
							
							
							
							due to basic blocks being misnamed.
llvm-svn: 24459 
							
						 
						
							2005-11-21 08:02:41 +00:00  
				
					
						
							
							
								 
						
							
								a0222a1698 
								
							 
						 
						
							
							
								
								unify the darwin and aix constant pool printers  
							
							... 
							
							
							
							llvm-svn: 24458 
							
						 
						
							2005-11-21 07:57:37 +00:00  
				
					
						
							
							
								 
						
							
								99946fb63f 
								
							 
						 
						
							
							
								
								Adjust to capitalized AsmPrinter method names  
							
							... 
							
							
							
							llvm-svn: 24456 
							
						 
						
							2005-11-21 07:51:23 +00:00  
				
					
						
							
							
								 
						
							
								c2bc19af57 
								
							 
						 
						
							
							
								
								use PrivateGlobalPrefix for basic blocks  
							
							... 
							
							
							
							llvm-svn: 24453 
							
						 
						
							2005-11-21 07:41:05 +00:00  
				
					
						
							
							
								 
						
							
								b650241f8b 
								
							 
						 
						
							
							
								
								This is now implemented in common codegen code  
							
							... 
							
							
							
							llvm-svn: 24446 
							
						 
						
							2005-11-21 07:06:58 +00:00  
				
					
						
							
							
								 
						
							
								41cb115afb 
								
							 
						 
						
							
							
								
								set PrivateGlobalPrefix on darwin, use it when printing out CP references  
							
							... 
							
							
							
							llvm-svn: 24441 
							
						 
						
							2005-11-21 06:47:58 +00:00  
				
					
						
							
							
								 
						
							
								cdde9990b7 
								
							 
						 
						
							
							
								
								only use dyld stubs if not in ppc-static mode.  This completes support for  
							
							... 
							
							
							
							non-static codegen.
llvm-svn: 24403 
							
						 
						
							2005-11-17 19:40:30 +00:00  
				
					
						
							
							
								 
						
							
								6ab87fa360 
								
							 
						 
						
							
							
								
								refactor call operand handling to eliminate special cases from printOp.  
							
							... 
							
							
							
							llvm-svn: 24401 
							
						 
						
							2005-11-17 19:25:59 +00:00  
				
					
						
							
							
								 
						
							
								bd9efdb64c 
								
							 
						 
						
							
							
								
								disentangle call operands from branch operands a bit  
							
							... 
							
							
							
							llvm-svn: 24400 
							
						 
						
							2005-11-17 19:16:08 +00:00  
				
					
						
							
							
								 
						
							
								a171f6b20c 
								
							 
						 
						
							
							
								
								Patch to clean up function call pseudos and support the BLA instruction,  
							
							... 
							
							
							
							which branches to an absolute address.  This is required to support objc
direct dispatch.
llvm-svn: 24370 
							
						 
						
							2005-11-16 00:48:01 +00:00  
				
					
						
							
							
								 
						
							
								63985e2892 
								
							 
						 
						
							
							
								
								Make sure to use SwitchSection to switch sections so that we don't accidentally emit  
							
							... 
							
							
							
							functions into the .const section.  Whoops.
llvm-svn: 24363 
							
						 
						
							2005-11-15 01:45:01 +00:00  
				
					
						
							
							
								 
						
							
								1a4adc7aee 
								
							 
						 
						
							
							
								
								Handle globals with explicit alignment requests  
							
							... 
							
							
							
							llvm-svn: 24355 
							
						 
						
							2005-11-14 19:00:30 +00:00  
				
					
						
							
							
								 
						
							
								0aacd2ab9b 
								
							 
						 
						
							
							
								
								Teach the PPC asmwriter to honor globals with explicit section requests.  
							
							... 
							
							
							
							llvm-svn: 24353 
							
						 
						
							2005-11-14 18:52:46 +00:00  
				
					
						
							
							
								 
						
							
								fafff9ba1d 
								
							 
						 
						
							
							
								
								Make BB and CPI labels use the function number, not the function name as a  
							
							... 
							
							
							
							uniquing id.  This makes things happy when the function name is quoted,
preventing labels like LBB"foo"_2.
llvm-svn: 24295 
							
						 
						
							2005-11-10 21:59:25 +00:00  
				
					
						
							
							
								 
						
							
								9eb7dfa15a 
								
							 
						 
						
							
							
								
								Darwin supports quoted labels.  This implements:  
							
							... 
							
							
							
							test/Regression/CodeGen/PowerPC/darwin-labels.ll
llvm-svn: 24287 
							
						 
						
							2005-11-10 19:33:43 +00:00  
				
					
						
							
							
								 
						
							
								59e44ff3d3 
								
							 
						 
						
							
							
								
								Make the aix asm printer interface properly with the parent class  
							
							... 
							
							
							
							llvm-svn: 24274 
							
						 
						
							2005-11-10 18:20:29 +00:00  
				
					
						
							
							
								 
						
							
								7432ceef5c 
								
							 
						 
						
							
							
								
								Add a flag to enable a darwin linker optimization  
							
							... 
							
							
							
							llvm-svn: 24130 
							
						 
						
							2005-11-01 00:12:36 +00:00  
				
					
						
							
							
								 
						
							
								6b63e0c6fd 
								
							 
						 
						
							
							
								
								Make constant pool entries use private labels.  This is important when you're  
							
							... 
							
							
							
							not compiling a whole program at a time :)
llvm-svn: 24129 
							
						 
						
							2005-10-31 22:12:06 +00:00  
				
					
						
							
							
								 
						
							
								97d72c80e4 
								
							 
						 
						
							
							
								
								Do not globalize internal symbols  
							
							... 
							
							
							
							llvm-svn: 24064 
							
						 
						
							2005-10-28 18:44:07 +00:00  
				
					
						
							
							
								 
						
							
								5a2fb9787b 
								
							 
						 
						
							
							
								
								Fix the JIT encoding of LWA, LD, STD, and STDU.  
							
							... 
							
							
							
							llvm-svn: 23787 
							
						 
						
							2005-10-18 16:51:22 +00:00  
				
					
						
							
							
								 
						
							
								6cca84e43c 
								
							 
						 
						
							
							
								
								More PPC32 -> PPC changes, as well as merging some classes that were  
							
							... 
							
							
							
							redundant after the change.
llvm-svn: 23759 
							
						 
						
							2005-10-16 05:39:50 +00:00  
				
					
						
							
							
								 
						
							
								6f3b954662 
								
							 
						 
						
							
							
								
								Rename PPC32*.h to PPC*.h  
							
							... 
							
							
							
							This completes the grand PPC file renaming
llvm-svn: 23745 
							
						 
						
							2005-10-14 23:59:06 +00:00  
				
					
						
							
							
								 
						
							
								bfca1ab79d 
								
							 
						 
						
							
							
								
								Rename PowerPC*.h to PPC*.h  
							
							... 
							
							
							
							llvm-svn: 23743 
							
						 
						
							2005-10-14 23:51:18 +00:00