9c4b7d5c4f 
								
							 
						 
						
							
							
								
								Fix command-line option printing to print two spaces where needed,  
							
							... 
							
							
							
							instead of requiring all "short description" strings to begin with
two spaces. This makes these strings less mysterious, and it fixes
some cases where short description strings mistakenly did not
begin with two spaces.
llvm-svn: 57521 
							
						 
						
							2008-10-14 20:25:08 +00:00  
				
					
						
							
							
								 
						
							
								9371964f47 
								
							 
						 
						
							
							
								
								Use raw_ostream throughout the AsmPrinter.  
							
							... 
							
							
							
							llvm-svn: 55092 
							
						 
						
							2008-08-21 00:14:44 +00:00  
				
					
						
							
							
								 
						
							
								28dc9d0ad9 
								
							 
						 
						
							
							
								
								Factor out asmprinter out of ppc  
							
							... 
							
							
							
							llvm-svn: 54887 
							
						 
						
							2008-08-17 13:54:28 +00:00  
				
					
						
							
							
								 
						
							
								c31eb205c1 
								
							 
						 
						
							
							
								
								Add a flag to disable jump table generation (all  
							
							... 
							
							
							
							switches use the binary search algorithm) for
environments that don't support it.  PPC64 JIT
is such an environment; turn the flag on for that.
llvm-svn: 54248 
							
						 
						
							2008-07-31 18:13:12 +00:00  
				
					
						
							
							
								 
						
							
								bc780e3441 
								
							 
						 
						
							
							
								
								Unbreak build: 'DarwinTargetAsmInfo' was already taken as PPC TAI flavour.  
							
							... 
							
							
							
							llvm-svn: 53801 
							
						 
						
							2008-07-19 21:44:57 +00:00  
				
					
						
							
							
								 
						
							
								d78c400b5b 
								
							 
						 
						
							
							
								
								Clean up the use of static and anonymous namespaces. This turned up  
							
							... 
							
							
							
							several things that were neither in an anonymous namespace nor static
but not intended to be global.
llvm-svn: 51017 
							
						 
						
							2008-05-13 00:00:25 +00:00  
				
					
						
							
							
								 
						
							
								24570836b2 
								
							 
						 
						
							
							
								
								Use PassManagerBase instead of FunctionPassManager for functions  
							
							... 
							
							
							
							that merely add passes. This allows them to be used with either
FunctionPassManager or PassManager, or even with a custom new
kind of pass manager.
llvm-svn: 48256 
							
						 
						
							2008-03-11 22:29:46 +00:00  
				
					
						
							
							
								 
						
							
								40d67c59d5 
								
							 
						 
						
							
							
								
								Remove bunch of gcc 4.3-related warnings from Target  
							
							... 
							
							
							
							llvm-svn: 47369 
							
						 
						
							2008-02-20 11:22:39 +00:00  
				
					
						
							
							
								 
						
							
								f3ebc3f3d2 
								
							 
						 
						
							
							
								
								Remove attribution from file headers, per discussion on llvmdev.  
							
							... 
							
							
							
							llvm-svn: 45418 
							
						 
						
							2007-12-29 20:36:04 +00:00  
				
					
						
							
							
								 
						
							
								aad83c8ee5 
								
							 
						 
						
							
							
								
								Remove meaningless qualifiers from return types, avoiding compiler warnings.  
							
							... 
							
							
							
							llvm-svn: 44240 
							
						 
						
							2007-11-19 20:46:23 +00:00  
				
					
						
							
							
								 
						
							
								9d5df0a5f6 
								
							 
						 
						
							
							
								
								Added -print-emitted-asm to print out JIT generated asm to cerr.  
							
							... 
							
							
							
							llvm-svn: 40123 
							
						 
						
							2007-07-20 21:56:13 +00:00  
				
					
						
							
							
								 
						
							
								517290ae52 
								
							 
						 
						
							
							
								
								The various "getModuleMatchQuality" implementations should return  
							
							... 
							
							
							
							zero if they see a target triple they don't understand.
llvm-svn: 38463 
							
						 
						
							2007-07-09 17:25:29 +00:00  
				
					
						
							
							
								 
						
							
								f9cbdc676c 
								
							 
						 
						
							
							
								
								name change requested by review of previous patch  
							
							... 
							
							
							
							llvm-svn: 37289 
							
						 
						
							2007-05-22 18:31:04 +00:00  
				
					
						
							
							
								 
						
							
								82810c8a13 
								
							 
						 
						
							
							
								
								Make tail merging the default, except on powerPC.  There was no prior art  
							
							... 
							
							
							
							for a target-dependent default with a command-line override; this way
should be generally usable.
llvm-svn: 37285 
							
						 
						
							2007-05-22 17:14:46 +00:00  
				
					
						
							
							
								 
						
							
								249edb8b67 
								
							 
						 
						
							
							
								
								Improve JIT support for linux/ppc: Patch by Nicolas Geoffray!  
							
							... 
							
							
							
							llvm-svn: 34572 
							
						 
						
							2007-02-25 05:04:13 +00:00  
				
					
						
							
							
								 
						
							
								2aa9a42f24 
								
							 
						 
						
							
							
								
								Moved the MachOWriter and ELFWriter out of the Target/* files. Placed the  
							
							... 
							
							
							
							definition of it into the CodeGen library. This is so that a backend doesn't
necessarily add in these writers if it doesn't use them (like in the lli
program).
llvm-svn: 34034 
							
						 
						
							2007-02-08 01:39:44 +00:00  
				
					
						
							
							
								 
						
							
								40cb811cf8 
								
							 
						 
						
							
							
								
								Add a field for and construction of the PPCMachOWriterInfo object.  
							
							... 
							
							
							
							llvm-svn: 33480 
							
						 
						
							2007-01-24 03:41:36 +00:00  
				
					
						
							
							
								 
						
							
								38ee6519b7 
								
							 
						 
						
							
							
								
								Revert patch.  
							
							... 
							
							
							
							llvm-svn: 33298 
							
						 
						
							2007-01-17 09:06:13 +00:00  
				
					
						
							
							
								 
						
							
								05e5a5ee6c 
								
							 
						 
						
							
							
								
								Create the specified TargetObjInfo and use it.  
							
							... 
							
							
							
							llvm-svn: 33291 
							
						 
						
							2007-01-17 03:51:37 +00:00  
				
					
						
							
							
								 
						
							
								72a56fc44c 
								
							 
						 
						
							
							
								
								Disable the macho writer until it is 100% functional.  Enabling it when  
							
							... 
							
							
							
							broken invites bug reports.
llvm-svn: 32961 
							
						 
						
							2007-01-06 22:27:58 +00:00  
				
					
						
							
							
								 
						
							
								28663c73ef 
								
							 
						 
						
							
							
								
								Changes from Nick Lewycky with a simplified PPCTargetAsmInfo.  
							
							... 
							
							
							
							llvm-svn: 32735 
							
						 
						
							2006-12-21 20:26:09 +00:00  
				
					
						
							
							
								 
						
							
								f4646a7e54 
								
							 
						 
						
							
							
								
								Another step forward in PPC64 JIT support: we now no-longer need stubs  
							
							... 
							
							
							
							emitted for external globals in PPC64-JIT-PIC mode (which is good because
we didn't handle them before!).
This also fixes a bug handling the picbase delta, which we would get wrong
in some cases.
llvm-svn: 32451 
							
						 
						
							2006-12-11 23:22:45 +00:00  
				
					
						
							
							
								 
						
							
								09fecf9a47 
								
							 
						 
						
							
							
								
								this is an initial patch to switch the ppc64 jit over to working in PIC mode,  
							
							... 
							
							
							
							which allows the code to be above the 2G marker.  We still need to JIT emit
dyld stubs to support external, weak, common, etc globals, but that will
happen tomorrow.
llvm-svn: 32348 
							
						 
						
							2006-12-08 04:54:03 +00:00  
				
					
						
							
							
								 
						
							
								572e238c14 
								
							 
						 
						
							
							
								
								make sure to safe LR8 in the right stack slot for PPC64  
							
							... 
							
							
							
							llvm-svn: 31839 
							
						 
						
							2006-11-18 01:34:43 +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  
				
					
						
							
							
								 
						
							
								c9db83306f 
								
							 
						 
						
							
							
								
								We actually do support object file writing, so don't return true (error)  
							
							... 
							
							
							
							llvm-svn: 30173 
							
						 
						
							2006-09-08 03:42:15 +00:00  
				
					
						
							
							
								 
						
							
								ae92ce8798 
								
							 
						 
						
							
							
								
								1. Remove condition on delete.  
							
							... 
							
							
							
							2. Protect and outline createTargetAsmInfo.
3. Misc. kruft.
llvm-svn: 30169 
							
						 
						
							2006-09-07 23:39:26 +00:00  
				
					
						
							
							
								 
						
							
								a6211dcdad 
								
							 
						 
						
							
							
								
								Separate target specific asm properties from the asm printers.  
							
							... 
							
							
							
							llvm-svn: 30126 
							
						 
						
							2006-09-06 18:34:40 +00:00  
				
					
						
							
							
								 
						
							
								12e97307a1 
								
							 
						 
						
							
							
								
								Completely rearchitect the interface between targets and the pass manager.  
							
							... 
							
							
							
							This pass:
1. Splits TargetMachine into TargetMachine (generic targets, can be implemented
any way, like the CBE) and LLVMTargetMachine (subclass of TM that is used by
things using libcodegen and other support).
2. Instead of having each target fully populate the passmgr for file or JIT
   output, move all this to common code, and give targets hooks they can
   implement.
3. Commonalize the target population stuff between file emission and JIT
   emission.
4. All (native code) codegen stuff now happens in a FunctionPassManager, which
   paves the way for "fast -O0" stuff in the CFE later, and now LLC could
   lazily stream .bc files from disk to use less memory.
5. There are now many fewer #includes and the targets don't depend on the
   scalar xforms or libanalysis anymore (but codegen does).
6. Changing common code generator pass ordering stuff no longer requires
   touching all targets.
7. The JIT now has the option of "-fast" codegen or normal optimized codegen,
   which is now orthogonal to the fact that JIT'ing is being done.
llvm-svn: 30081 
							
						 
						
							2006-09-04 04:14:57 +00:00  
				
					
						
							
							
								 
						
							
								0fc4541c67 
								
							 
						 
						
							
							
								
								Simplify target construction.  
							
							... 
							
							
							
							llvm-svn: 30070 
							
						 
						
							2006-09-03 18:44:02 +00:00  
				
					
						
							
							
								 
						
							
								18f0329cfc 
								
							 
						 
						
							
							
								
								Make ppc64 jit kinda work right.  About 2/3 of Olden passes with this,  
							
							... 
							
							
							
							there are clearly some encoding bugs lurking in there somewhere.
llvm-svn: 29949 
							
						 
						
							2006-08-29 02:30:59 +00:00  
				
					
						
							
							
								 
						
							
								3cb3921a60 
								
							 
						 
						
							
							
								
								Initial checkin of the Mach-O emitter.  There's plenty of fixmes, but it  
							
							... 
							
							
							
							does emit linkable .o files in very simple cases.
llvm-svn: 29850 
							
						 
						
							2006-08-23 21:08:52 +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  
				
					
						
							
							
								 
						
							
								1ec5e73b32 
								
							 
						 
						
							
							
								
								An overaggressive #ifdef allows a function to fall off the bottom of the  
							
							... 
							
							
							
							function instead of returning a value.  This sometimes allowed the ppc32 jit
to be used in 64-bit mode.
llvm-svn: 29123 
							
						 
						
							2006-07-12 20:42:10 +00:00  
				
					
						
							
							
								 
						
							
								59b6e8a683 
								
							 
						 
						
							
							
								
								Undisable ppc64 jit  
							
							... 
							
							
							
							llvm-svn: 29011 
							
						 
						
							2006-07-06 17:10:42 +00:00  
				
					
						
							
							
								 
						
							
								49cadab385 
								
							 
						 
						
							
							
								
								Implement the getPointerRegClass method, which is required for the ptr_rc  
							
							... 
							
							
							
							magic to work.
llvm-svn: 28847 
							
						 
						
							2006-06-17 00:01:04 +00:00  
				
					
						
							
							
								 
						
							
								a7d9db2fa5 
								
							 
						 
						
							
							
								
								Remove the -darwin and -aix llc options, inferring darwinism and aixism from  
							
							... 
							
							
							
							the target triple & subtarget info.  woo.
llvm-svn: 28835 
							
						 
						
							2006-06-16 18:50:48 +00:00  
				
					
						
							
							
								 
						
							
								f3b5b92e58 
								
							 
						 
						
							
							
								
								Don't pass target name into TargetData anymore, it is never used or needed.  
							
							... 
							
							
							
							Remove explicit casts to std::string now that there is no overload resolution
issues in the TargetData ctors.
llvm-svn: 28830 
							
						 
						
							2006-06-16 18:22:52 +00:00  
				
					
						
							
							
								 
						
							
								0c4aa14deb 
								
							 
						 
						
							
							
								
								First baby step towards ppc64 support.  This adds a new -march=ppc64 backend  
							
							... 
							
							
							
							that is currently just like ppc32 :)
llvm-svn: 28813 
							
						 
						
							2006-06-16 01:37:27 +00:00  
				
					
						
							
							
								 
						
							
								80b1b4d41e 
								
							 
						 
						
							
							
								
								Make TargetData strings less redundant.  
							
							... 
							
							
							
							llvm-svn: 28423 
							
						 
						
							2006-05-20 23:28:54 +00:00  
				
					
						
							
							
								 
						
							
								88812b5c0a 
								
							 
						 
						
							
							
								
								Make all of the TargetMachine subclasses use the new string TargetData methods.  
							
							... 
							
							
							
							This is part of the on-going work on PR 761.
llvm-svn: 28414 
							
						 
						
							2006-05-20 00:24:56 +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  
				
					
						
							
							
								 
						
							
								57a32f0bc1 
								
							 
						 
						
							
							
								
								Fix the comment  
							
							... 
							
							
							
							llvm-svn: 27938 
							
						 
						
							2006-04-21 22:11:27 +00:00  
				
					
						
							
							
								 
						
							
								516b393992 
								
							 
						 
						
							
							
								
								Change the PPC JIT to use a Static relocation model  
							
							... 
							
							
							
							llvm-svn: 27937 
							
						 
						
							2006-04-21 22:04:15 +00:00  
				
					
						
							
							
								 
						
							
								3f9c17906f 
								
							 
						 
						
							
							
								
								Disable switch lowering for targets based on the selection dag isel,  
							
							... 
							
							
							
							letting the code generator handle them directly.
llvm-svn: 27539 
							
						 
						
							2006-04-08 19:46:55 +00:00  
				
					
						
							
							
								 
						
							
								6f95ab7abb 
								
							 
						 
						
							
							
								
								Eliminate IntrinsicLowering from TargetMachine.  
							
							... 
							
							
							
							Make the CBE and V9 backends create their own, since they're the only ones that use it.
llvm-svn: 26974 
							
						 
						
							2006-03-23 05:43:16 +00:00  
				
					
						
							
							
								 
						
							
								20931a798e 
								
							 
						 
						
							
							
								
								Added a way for TargetLowering to specify what values can be used as the  
							
							... 
							
							
							
							scale component of the target addressing mode.
llvm-svn: 26802 
							
						 
						
							2006-03-16 21:47:42 +00:00  
				
					
						
							
							
								 
						
							
								0f9d6534f5 
								
							 
						 
						
							
							
								
								PPC LSR pass should use target lowering hooks.  
							
							... 
							
							
							
							llvm-svn: 26743 
							
						 
						
							2006-03-13 23:56:51 +00:00  
				
					
						
							
							
								 
						
							
								2dd2c652b2 
								
							 
						 
						
							
							
								
								Added getTargetLowering() to TargetMachine. Refactored targets to support this.  
							
							... 
							
							
							
							llvm-svn: 26742 
							
						 
						
							2006-03-13 23:20:37 +00:00