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