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