Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7077efe894 
								
							 
						 
						
							
							
								
								move the pic base symbol stuff up to MachineFunction  
							
							 
							
							... 
							
							
							
							since it is trivial and will be shared between ppc and x86.
This substantially simplifies the X86 backend also.
llvm-svn: 119089 
							
						 
						
							2010-11-14 22:48:15 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								94f0c14cb0 
								
							 
						 
						
							
							
								
								reimplement ppc asmprinter "toc" handling to use a VariantKind  
							
							 
							
							... 
							
							
							
							on the operand, required for .o file writing and fixing 
the PowerPC/mult-alt-generic-powerpc64.ll failure with the new
instprinter.
llvm-svn: 119087 
							
						 
						
							2010-11-14 22:22:59 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2f9f63af0b 
								
							 
						 
						
							
							
								
								lower PPC::MFCRpseud when transforming to MC, avoiding calling  
							
							 
							
							... 
							
							
							
							the aborting printSpecial() method.  This gets us to 8 failures.
llvm-svn: 119084 
							
						 
						
							2010-11-14 22:03:15 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e2d75bf681 
								
							 
						 
						
							
							
								
								properly wire up the instprinter to the ppc64 backend, down to 5 failures.  
							
							 
							
							... 
							
							
							
							llvm-svn: 119081 
							
						 
						
							2010-11-14 21:42:53 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5c1b0cdec2 
								
							 
						 
						
							
							
								
								switch PPC to a simplified MCInstLowering model.  
							
							 
							
							... 
							
							
							
							llvm-svn: 119074 
							
						 
						
							2010-11-14 21:12:33 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7a5c57ecf4 
								
							 
						 
						
							
							
								
								Implement support for printing register and immediate operands,  
							
							 
							
							... 
							
							
							
							add support for darwin vs aix syntax.  We now can print instructions
like this:
	add r3, r3, r4
	blr 
and (in aix mode):
	add 3, 3, 4
	blr 
llvm-svn: 119062 
							
						 
						
							2010-11-14 20:02:39 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								686a095d89 
								
							 
						 
						
							
							
								
								stub out PPCMCInstLowering, add a new option that uses it and the new  
							
							 
							
							... 
							
							
							
							instprinter when -enable-ppc-inst-printer is passed to llc.
llvm-svn: 119061 
							
						 
						
							2010-11-14 19:53:02 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a76eab433a 
								
							 
						 
						
							
							
								
								stub out a powerpc MCInstPrinter implementation.  
							
							 
							
							... 
							
							
							
							llvm-svn: 119059 
							
						 
						
							2010-11-14 19:40:38 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								56477d1690 
								
							 
						 
						
							
							
								
								move PPCAsmPrinter into the main PPC library, like ARM and X86.  
							
							 
							
							... 
							
							
							
							llvm-svn: 119054 
							
						 
						
							2010-11-14 18:33:33 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								28dc9d0ad9 
								
							 
						 
						
							
							
								
								Factor out asmprinter out of ppc  
							
							 
							
							... 
							
							
							
							llvm-svn: 54887 
							
						 
						
							2008-08-17 13:54:28 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								ed47329174 
								
							 
						 
						
							
							
								
								Handle visibility printing with all generality. Remove bunch of duplicate code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 54540 
							
						 
						
							2008-08-08 18:25:07 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								f1f8aa3e50 
								
							 
						 
						
							
							
								
								Use chars, where possible  
							
							 
							
							... 
							
							
							
							llvm-svn: 54539 
							
						 
						
							2008-08-08 18:24:10 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								c9ad17c3da 
								
							 
						 
						
							
							
								
								Convert PPC/Linux to new section printing stuff  
							
							 
							
							... 
							
							
							
							llvm-svn: 54538 
							
						 
						
							2008-08-08 18:23:49 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								5b5d8bcd88 
								
							 
						 
						
							
							
								
								Switch PPC/Darwin to new section handling stuff  
							
							 
							
							... 
							
							
							
							llvm-svn: 54537 
							
						 
						
							2008-08-08 18:23:25 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								7c20ede085 
								
							 
						 
						
							
							
								
								Cleanup  
							
							 
							
							... 
							
							
							
							llvm-svn: 54536 
							
						 
						
							2008-08-08 18:22:59 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								ca43dce1e8 
								
							 
						 
						
							
							
								
								Remove extra call to DW.SetModuleInfo on Linux.  
							
							 
							
							... 
							
							
							
							llvm-svn: 53365 
							
						 
						
							2008-07-09 21:33:15 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								49c8e68e4c 
								
							 
						 
						
							
							
								
								Back out 53254. It broke ppc debug info codegen.  
							
							 
							
							... 
							
							
							
							llvm-svn: 53280 
							
						 
						
							2008-07-09 06:36:53 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								5e4e051c2a 
								
							 
						 
						
							
							
								
								Revert 49006 for the moment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49046 
							
						 
						
							2008-04-01 20:00:57 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								ddc58ff92a 
								
							 
						 
						
							
							
								
								Smaller function alignment when optimizing for size.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48805 
							
						 
						
							2008-03-25 22:29:46 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								3a4be0fdef 
								
							 
						 
						
							
							
								
								Rename MRegisterInfo to TargetRegisterInfo.  
							
							 
							
							... 
							
							
							
							llvm-svn: 46930 
							
						 
						
							2008-02-10 18:45:23 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								f3c89be368 
								
							 
						 
						
							
							
								
								Ident mnemonics appropriately  
							
							 
							
							... 
							
							
							
							llvm-svn: 46746 
							
						 
						
							2008-02-05 08:49:09 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								32e5347eb8 
								
							 
						 
						
							
							
								
								Get rid of the annoying blank lines before labels.  
							
							 
							
							... 
							
							
							
							llvm-svn: 46667 
							
						 
						
							2008-02-02 08:39:46 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								7f1ff5fedd 
								
							 
						 
						
							
							
								
								Honor explicit section information on Darwin.  
							
							 
							
							... 
							
							
							
							llvm-svn: 46267 
							
						 
						
							2008-01-23 00:58:14 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								dcbc0f3029 
								
							 
						 
						
							
							
								
								leopard and above support alignment for common symbols.  
							
							 
							
							... 
							
							
							
							llvm-svn: 45493 
							
						 
						
							2008-01-02 19:35:16 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5c4637816e 
								
							 
						 
						
							
							
								
								Use MachineOperand::getImm instead of MachineOperand::getImmedValue.  Likewise setImmedValue -> setImm  
							
							 
							
							... 
							
							
							
							llvm-svn: 45453 
							
						 
						
							2007-12-30 20:49:49 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f3ebc3f3d2 
								
							 
						 
						
							
							
								
								Remove attribution from file headers, per discussion on llvmdev.  
							
							 
							
							... 
							
							
							
							llvm-svn: 45418 
							
						 
						
							2007-12-29 20:36:04 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Duncan Sands
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Nick Lewycky
							
						 
						
							 
							
							
							
							
								
							
							
								d954dcd138 
								
							 
						 
						
							
							
								
								Fix crash before main on ppc/linux with static constructors. PR1771  
							
							 
							
							... 
							
							
							
							llvm-svn: 43676 
							
						 
						
							2007-11-04 17:32:10 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								cdf3609130 
								
							 
						 
						
							
							
								
								Revert 42908 for now.  
							
							 
							
							... 
							
							
							
							llvm-svn: 42960 
							
						 
						
							2007-10-14 05:57:21 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								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