9d76c236f7 
								
							 
						 
						
							
							
								
								Fix a regression caused by the previous patch  
							
							... 
							
							
							
							llvm-svn: 18449 
							
						 
						
							2004-12-03 05:13:15 +00:00  
				
					
						
							
							
								 
						
							
								7651614c4d 
								
							 
						 
						
							
							
								
								The stripping pass as we know it is about to disappear  
							
							... 
							
							
							
							llvm-svn: 18436 
							
						 
						
							2004-12-02 21:05:01 +00:00  
				
					
						
							
							
								 
						
							
								335c342440 
								
							 
						 
						
							
							
								
								Reverting revision 1.209.  
							
							... 
							
							
							
							Including alloca.h on Solaris brings in the prototype of strftime(), which
breaks compilation of CBE generated code.
llvm-svn: 18435 
							
						 
						
							2004-12-02 19:02:49 +00:00  
				
					
						
							
							
								 
						
							
								33660426a5 
								
							 
						 
						
							
							
								
								Spill/restore X86 floating point stack registers with 64-bits of precision  
							
							... 
							
							
							
							instead of 80-bits of precision.  This fixes PR467.
This change speeds up fldry on X86 with LLC from 7.32s on apoc to 4.68s.
llvm-svn: 18433 
							
						 
						
							2004-12-02 18:17:31 +00:00  
				
					
						
							
							
								 
						
							
								96b14e18bb 
								
							 
						 
						
							
							
								
								Consider 64-bit registers to be FP as well.  
							
							... 
							
							
							
							llvm-svn: 18432 
							
						 
						
							2004-12-02 17:57:21 +00:00  
				
					
						
							
							
								 
						
							
								201e972dc4 
								
							 
						 
						
							
							
								
								Reworked branch adding in prologue. Added check for infinite loops which are not modulo scheduled.  
							
							... 
							
							
							
							llvm-svn: 18419 
							
						 
						
							2004-12-02 07:22:15 +00:00  
				
					
						
							
							
								 
						
							
								e94b466a8e 
								
							 
						 
						
							
							
								
								Reverting this patch:  
							
							... 
							
							
							
							http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20041122/021428.html 
It broke Mutlisource/Applications/obsequi
llvm-svn: 18407 
						
							2004-12-01 18:27:03 +00:00  
				
					
						
							
							
								 
						
							
								e58bf09138 
								
							 
						 
						
							
							
								
								Initial support for packed types, contributed by Morten Ofstad  
							
							... 
							
							
							
							llvm-svn: 18406 
							
						 
						
							2004-12-01 17:14:28 +00:00  
				
					
						
							
							
								 
						
							
								798e0349c0 
								
							 
						 
						
							
							
								
								Do not let GCC emit a warning for INT64_MIN  
							
							... 
							
							
							
							llvm-svn: 18398 
							
						 
						
							2004-11-30 21:33:58 +00:00  
				
					
						
							
							
								 
						
							
								86deaf2211 
								
							 
						 
						
							
							
								
								Sparcs behave better if we use <alloca.h> and avoid messing with __builtin_alloca.  
							
							... 
							
							
							
							llvm-svn: 18397 
							
						 
						
							2004-11-30 21:27:01 +00:00  
				
					
						
							
							
								 
						
							
								5c9fa5bcee 
								
							 
						 
						
							
							
								
								Update list of failing benchmarks.  
							
							... 
							
							
							
							llvm-svn: 18384 
							
						 
						
							2004-11-30 08:15:44 +00:00  
				
					
						
							
							
								 
						
							
								1d6b926ab6 
								
							 
						 
						
							
							
								
								If we're about to emit something like:  
							
							... 
							
							
							
							%f0 = fmovs %f0
  %f1 = fmovs %f1
then just delete the FpMOVD pseudo-instruction instead.  Also, add
statistics and debug printouts.
llvm-svn: 18383 
							
						 
						
							2004-11-30 08:15:15 +00:00  
				
					
						
							
							
								 
						
							
								bd11625469 
								
							 
						 
						
							
							
								
								Fix several bugs in 'op x, imm' handling.  Foremost is that we now emit  
							
							... 
							
							
							
							addi r3, r3, -1
instead of
   addi r3, r3, 1
for 'sub int X, 1'.
Secondarily, this fixes several cases where we could crash given an unsigned
constant.  And fixes a couple of minor missed optimization cases, such as
xor X, ~0U -> not X
llvm-svn: 18379 
							
						 
						
							2004-11-30 07:30:20 +00:00  
				
					
						
							
							
								 
						
							
								7562a05735 
								
							 
						 
						
							
							
								
								Fix CodeGen/PowerPC/2004-11-30-shr-var-crash.ll  
							
							... 
							
							
							
							llvm-svn: 18376 
							
						 
						
							2004-11-30 06:40:04 +00:00  
				
					
						
							
							
								 
						
							
								ce350cbd3a 
								
							 
						 
						
							
							
								
								Fix test/Regression/CodeGen/PowerPC/2004-11-29-ShrCrash.ll  
							
							... 
							
							
							
							llvm-svn: 18374 
							
						 
						
							2004-11-30 06:36:11 +00:00  
				
					
						
							
							
								 
						
							
								9eeb2033ff 
								
							 
						 
						
							
							
								
								Fix test/Regression/CodeGen/PowerPC/2004-11-30-shift-crash.ll  
							
							... 
							
							
							
							llvm-svn: 18371 
							
						 
						
							2004-11-30 06:29:10 +00:00  
				
					
						
							
							
								 
						
							
								e0c207d2d3 
								
							 
						 
						
							
							
								
								Remove extraneous namespacification.  In particular, don't define llvm::llvm::createInternalGlobalMapperPass  
							
							... 
							
							
							
							llvm-svn: 18365 
							
						 
						
							2004-11-30 00:22:59 +00:00  
				
					
						
							
							
								 
						
							
								f9c5dc9fb4 
								
							 
						 
						
							
							
								
								Revamp long/ulong comparisons to use a much more efficient sequence (thanks  
							
							... 
							
							
							
							to Brian and the Sun compiler for pointing out that the obvious works :)
This also enables folding all long comparisons into setcc and branch
instructions: before we could only do == and !=
For example, for:
void test(unsigned long long A, unsigned long long B) {
   if (A < B) foo();
 }
We now generate:
test:
        subl $4, %esp
        movl %esi, (%esp)
        movl 8(%esp), %eax
        movl 12(%esp), %ecx
        movl 16(%esp), %edx
        movl 20(%esp), %esi
        subl %edx, %eax
        sbbl %esi, %ecx
        jae .LBBtest_2  # UnifiedReturnBlock
.LBBtest_1:     # then
        call foo
        movl (%esp), %esi
        addl $4, %esp
        ret
.LBBtest_2:     # UnifiedReturnBlock
        movl (%esp), %esi
        addl $4, %esp
        ret
Instead of:
test:
        subl $12, %esp
        movl %esi, 8(%esp)
        movl %ebx, 4(%esp)
        movl 16(%esp), %eax
        movl 20(%esp), %ecx
        movl 24(%esp), %edx
        movl 28(%esp), %esi
        cmpl %edx, %eax
        setb %al
        cmpl %esi, %ecx
        setb %bl
        cmove %ax, %bx
        testb %bl, %bl
        je .LBBtest_2   # UnifiedReturnBlock
.LBBtest_1:     # then
        call foo
        movl 4(%esp), %ebx
        movl 8(%esp), %esi
        addl $12, %esp
        ret
.LBBtest_2:     # UnifiedReturnBlock
        movl 4(%esp), %ebx
        movl 8(%esp), %esi
        addl $12, %esp
        ret
llvm-svn: 18330 
							
						 
						
							2004-11-29 05:55:24 +00:00  
				
					
						
							
							
								 
						
							
								d8cc4facd0 
								
							 
						 
						
							
							
								
								Reworked branching so we don't handle BAs specially. It just updates the branchTO regardless of what type of branch it is.  
							
							... 
							
							
							
							llvm-svn: 18322 
							
						 
						
							2004-11-29 04:39:47 +00:00  
				
					
						
							
							
								 
						
							
								341828ee64 
								
							 
						 
						
							
							
								
								Fixed bug where instructions in the kernel were not ordered right to preserve dependencies in a cycle.  
							
							... 
							
							
							
							llvm-svn: 18314 
							
						 
						
							2004-11-28 23:36:15 +00:00  
				
					
						
							
							
								 
						
							
								c0f8a1c721 
								
							 
						 
						
							
							
								
								The LLVM bool type shall have 1 byte alignment on PPC.  
							
							... 
							
							
							
							llvm-svn: 18311 
							
						 
						
							2004-11-28 21:16:45 +00:00  
				
					
						
							
							
								 
						
							
								43123c9f7a 
								
							 
						 
						
							
							
								
								Remove the ISel->AsmPrinter link via the TargetMachine that was put in  
							
							... 
							
							
							
							place to help bring up the PowerPC back end on Darwin.  This code is no
longer serves any purpose now that the AsmPrinter does the right thing
all the time printing GlobalValues.  --Cruft.
llvm-svn: 18267 
							
						 
						
							2004-11-27 04:45:11 +00:00  
				
					
						
							
							
								 
						
							
								b50fd9262d 
								
							 
						 
						
							
							
								
								There is no reason to store <x,x>, just store <x>.  
							
							... 
							
							
							
							llvm-svn: 18263 
							
						 
						
							2004-11-26 20:25:17 +00:00  
				
					
						
							
							
								 
						
							
								3f76eb69f6 
								
							 
						 
						
							
							
								
								Enable optimization suggested by Chris Lattner to not emit reloc stubs for  
							
							... 
							
							
							
							static global variables whose addresses are taken.  This allows us to
convert the following code for taking the address of a static function foo
        addis r2, r30, ha16(Ll1__2E_foo_2$non_lazy_ptr-"L00001$pb")
        lwz r3, lo16(Ll1__2E_foo_2$non_lazy_ptr-"L00001$pb")(r2)
which also includes linker stub code emitted at the end of the .s file not
shown here, and replace it with this:
        addis r2, r30, ha16(l1__2E_foo_2-"L00001$pb")
        la r3, lo16(l1__2E_foo_2-"L00001$pb")(r2)
which in addition to not needing linker help, also has no load instruction.
For those not up on PowerPC mnemonics, la is shorthand for add immediate.
llvm-svn: 18239 
							
						 
						
							2004-11-25 07:09:01 +00:00  
				
					
						
							
							
								 
						
							
								8cbad8efcf 
								
							 
						 
						
							
							
								
								Fix the build on non ppc machines  
							
							... 
							
							
							
							llvm-svn: 18235 
							
						 
						
							2004-11-25 06:14:45 +00:00  
				
					
						
							
							
								 
						
							
								497a622376 
								
							 
						 
						
							
							
								
								The JIT works enough  
							
							... 
							
							
							
							llvm-svn: 18228 
							
						 
						
							2004-11-25 04:14:54 +00:00  
				
					
						
							
							
								 
						
							
								da76c16ba4 
								
							 
						 
						
							
							
								
								Fix encoding of fsel, fixing olden/power, McCat/bisort and several others.  
							
							... 
							
							
							
							All of Olden passes now! :)
llvm-svn: 18227 
							
						 
						
							2004-11-25 04:11:07 +00:00  
				
					
						
							
							
								 
						
							
								305f78f646 
								
							 
						 
						
							
							
								
								Fix encoding of fneg instruction  
							
							... 
							
							
							
							llvm-svn: 18226 
							
						 
						
							2004-11-25 03:53:44 +00:00  
				
					
						
							
							
								 
						
							
								191e525bae 
								
							 
						 
						
							
							
								
								Fix encoding of swari, fixing several programs, including Olden/mst  
							
							... 
							
							
							
							llvm-svn: 18225 
							
						 
						
							2004-11-25 03:40:20 +00:00  
				
					
						
							
							
								 
						
							
								5d8ae54267 
								
							 
						 
						
							
							
								
								There is not a 1-1 mappign between llvm blocks and PPC blocks, do not use  
							
							... 
							
							
							
							LLVM blocks as the keys for the branch rewriter.  This fixes treeadd and
many other programs with the JIT.
llvm-svn: 18223 
							
						 
						
							2004-11-25 00:33:57 +00:00  
				
					
						
							
							
								 
						
							
								dd516799d7 
								
							 
						 
						
							
							
								
								* Rename existing relocations to be more specific  
							
							... 
							
							
							
							* Add relocations for refernces to non-lazy darwin stubs and implement
  them correctly.
With this change, we can correctly references external globals, and now
all but two UnitTests and all but 1 Regression/C tests pass.
More importantly, bugpoint-jit will start giving us useful testcases,
instead of always telling us that references to external globals don't
work :)
llvm-svn: 18222 
							
						 
						
							2004-11-24 22:30:08 +00:00  
				
					
						
							
							
								 
						
							
								e49936af54 
								
							 
						 
						
							
							
								
								Add the same optimization that we do loading from fixed alloca slots to  
							
							... 
							
							
							
							storing to fixed alloca slots.
llvm-svn: 18221 
							
						 
						
							2004-11-24 21:53:14 +00:00  
				
					
						
							
							
								 
						
							
								078b6f2b62 
								
							 
						 
						
							
							
								
								Write CompilationCallback as an explicit assembly stub to avoid getting GCC's  
							
							... 
							
							
							
							prolog.
llvm-svn: 18220 
							
						 
						
							2004-11-24 21:01:46 +00:00  
				
					
						
							
							
								 
						
							
								659d72e319 
								
							 
						 
						
							
							
								
								When rewriting the original call instruction, make sure to rewrite it to  
							
							... 
							
							
							
							call the right address.
llvm-svn: 18213 
							
						 
						
							2004-11-24 18:00:02 +00:00  
				
					
						
							
							
								 
						
							
								cb9af557e7 
								
							 
						 
						
							
							
								
								Force the intregs ptr into R2 and the FPregs ptr into R3.  This fixes a really  
							
							... 
							
							
							
							obscure problem where we were doing:
lmw     r3,0(r9)
which is undefined on PPC.  Now we do:
lmw     r3,0(r2)
by force, not relying on the GCC register allocator for luck :)
llvm-svn: 18212 
							
						 
						
							2004-11-24 17:42:55 +00:00  
				
					
						
							
							
								 
						
							
								7217642438 
								
							 
						 
						
							
							
								
								Update list of failing benchmarks.  
							
							... 
							
							
							
							llvm-svn: 18202 
							
						 
						
							2004-11-24 04:07:42 +00:00  
				
					
						
							
							
								 
						
							
								1139802b98 
								
							 
						 
						
							
							
								
								Fix bug in emitGEPOperation with large struct-member offsets.  
							
							... 
							
							
							
							llvm-svn: 18201 
							
						 
						
							2004-11-24 04:07:33 +00:00  
				
					
						
							
							
								 
						
							
								130888ad37 
								
							 
						 
						
							
							
								
								Fix a few more tests by encoding the extsb and other XForm11 instructions  
							
							... 
							
							
							
							correctly.
llvm-svn: 18200 
							
						 
						
							2004-11-24 03:52:02 +00:00  
				
					
						
							
							
								 
						
							
								022e271db5 
								
							 
						 
						
							
							
								
								Fix the encoding of ORi and other DForm4 instructions.  This brings us to  
							
							... 
							
							
							
							36/42 SingleSource/UnitTests passing!
llvm-svn: 18199 
							
						 
						
							2004-11-24 02:15:41 +00:00  
				
					
						
							
							
								 
						
							
								57542fcfc2 
								
							 
						 
						
							
							
								
								Loads are relocatable too  
							
							... 
							
							
							
							llvm-svn: 18198 
							
						 
						
							2004-11-24 02:03:44 +00:00  
				
					
						
							
							
								 
						
							
								7b1cf0d6c6 
								
							 
						 
						
							
							
								
								Calls do not need a MovPCtoLR instruction  
							
							... 
							
							
							
							llvm-svn: 18197 
							
						 
						
							2004-11-24 02:00:06 +00:00  
				
					
						
							
							
								 
						
							
								6a7ebe034e 
								
							 
						 
						
							
							
								
								Get constant pools working.  This fixes even more programs, allowing us to  
							
							... 
							
							
							
							pass 24/42 in UnitTests (up from 20).
llvm-svn: 18196 
							
						 
						
							2004-11-24 01:56:12 +00:00  
				
					
						
							
							
								 
						
							
								13c71ca7b6 
								
							 
						 
						
							
							
								
								Forced branches to be first to be scheduled.  
							
							... 
							
							
							
							llvm-svn: 18195 
							
						 
						
							2004-11-24 01:49:10 +00:00  
				
					
						
							
							
								 
						
							
								193b6f3281 
								
							 
						 
						
							
							
								
								Rewrite branches more closely to correct.  This makes more stuff pass, and  
							
							... 
							
							
							
							stops the infinite loops!
llvm-svn: 18194 
							
						 
						
							2004-11-24 01:35:12 +00:00  
				
					
						
							
							
								 
						
							
								b55f748b1a 
								
							 
						 
						
							
							
								
								Branch instructions explicitly represent CRx in them. bEcause of this, encode  
							
							... 
							
							
							
							them explicitly as well.
llvm-svn: 18193 
							
						 
						
							2004-11-24 01:15:19 +00:00  
				
					
						
							
							
								 
						
							
								674fe0bb60 
								
							 
						 
						
							
							
								
								Fix encoding of bctrl, and remove some unused instructions  
							
							... 
							
							
							
							llvm-svn: 18192 
							
						 
						
							2004-11-24 00:16:37 +00:00  
				
					
						
							
							
								 
						
							
								c7eeae4661 
								
							 
						 
						
							
							
								
								Fix encoding of blr and bctr  
							
							... 
							
							
							
							llvm-svn: 18178 
							
						 
						
							2004-11-23 22:06:24 +00:00  
				
					
						
							
							
								 
						
							
								c5fc6f5717 
								
							 
						 
						
							
							
								
								Use the correct register class as a constaint to gcc's inline assembly, so  
							
							... 
							
							
							
							that we don't end up trying to use r0 as a base register.
llvm-svn: 18176 
							
						 
						
							2004-11-23 21:37:22 +00:00  
				
					
						
							
							
								 
						
							
								617760687a 
								
							 
						 
						
							
							
								
								Save/Restore arg regs and nonvolatile regs the compiler might use during  
							
							... 
							
							
							
							CompilationCallback
llvm-svn: 18175 
							
						 
						
							2004-11-23 21:34:18 +00:00  
				
					
						
							
							
								 
						
							
								578dfd5e42 
								
							 
						 
						
							
							
								
								Fix the encoding of OR, AND and many other instructions  
							
							... 
							
							
							
							llvm-svn: 18174 
							
						 
						
							2004-11-23 21:17:35 +00:00  
				
					
						
							
							
								 
						
							
								94c58dc877 
								
							 
						 
						
							
							
								
								Support shr long/ulong.  
							
							... 
							
							
							
							llvm-svn: 18173 
							
						 
						
							2004-11-23 21:10:50 +00:00  
				
					
						
							
							
								 
						
							
								8d4a5ad55c 
								
							 
						 
						
							
							
								
								Support printing ConstantAggregateZeros.  
							
							... 
							
							
							
							llvm-svn: 18172 
							
						 
						
							2004-11-23 21:10:49 +00:00  
				
					
						
							
							
								 
						
							
								2e7f71863f 
								
							 
						 
						
							
							
								
								Update failing SingleSource test-case list.  
							
							... 
							
							
							
							llvm-svn: 18171 
							
						 
						
							2004-11-23 21:10:48 +00:00  
				
					
						
							
							
								 
						
							
								a630adebc7 
								
							 
						 
						
							
							
								
								Remove argtype and argcount magic, which was used by the old asmprinter.  
							
							... 
							
							
							
							llvm-svn: 18170 
							
						 
						
							2004-11-23 20:41:34 +00:00  
				
					
						
							
							
								 
						
							
								be39b8f541 
								
							 
						 
						
							
							
								
								Get rid of flags that are dead  
							
							... 
							
							
							
							llvm-svn: 18169 
							
						 
						
							2004-11-23 20:37:41 +00:00  
				
					
						
							
							
								 
						
							
								5f4b0e1bf7 
								
							 
						 
						
							
							
								
								Fix encoding of rlwinm?  
							
							... 
							
							
							
							llvm-svn: 18165 
							
						 
						
							2004-11-23 19:23:32 +00:00  
				
					
						
							
							
								 
						
							
								1238cca6df 
								
							 
						 
						
							
							
								
								Fix encodings  
							
							... 
							
							
							
							llvm-svn: 18164 
							
						 
						
							2004-11-23 19:23:18 +00:00  
				
					
						
							
							
								 
						
							
								431e0132ef 
								
							 
						 
						
							
							
								
								Enumerate CR registers  
							
							... 
							
							
							
							llvm-svn: 18162 
							
						 
						
							2004-11-23 18:59:59 +00:00  
				
					
						
							
							
								 
						
							
								a8936af13e 
								
							 
						 
						
							
							
								
								Initial implementation of exiting CompilationCallback  
							
							... 
							
							
							
							This should save all argument registers on entry and restore on exit, despite
that, simple things seem to work!!!
llvm-svn: 18161 
							
						 
						
							2004-11-23 18:49:46 +00:00  
				
					
						
							
							
								 
						
							
								febc3eb8fa 
								
							 
						 
						
							
							
								
								This method is dead  
							
							... 
							
							
							
							llvm-svn: 18160 
							
						 
						
							2004-11-23 18:47:55 +00:00  
				
					
						
							
							
								 
						
							
								24ad93f55c 
								
							 
						 
						
							
							
								
								Remove this method.  
							
							... 
							
							
							
							llvm-svn: 18159 
							
						 
						
							2004-11-23 18:47:42 +00:00  
				
					
						
							
							
								 
						
							
								cccd49f1b7 
								
							 
						 
						
							
							
								
								Squelch a bogus warning  
							
							... 
							
							
							
							llvm-svn: 18157 
							
						 
						
							2004-11-23 15:57:01 +00:00  
				
					
						
							
							
								 
						
							
								b1fd07a862 
								
							 
						 
						
							
							
								
								Squelch a bogus warning.  
							
							... 
							
							
							
							llvm-svn: 18156 
							
						 
						
							2004-11-23 15:56:38 +00:00  
				
					
						
							
							
								 
						
							
								7e7a08dba5 
								
							 
						 
						
							
							
								
								Don't return value from void function.  This is only temporary anyway while  
							
							... 
							
							
							
							the JIT is made to work!
llvm-svn: 18155 
							
						 
						
							2004-11-23 10:04:49 +00:00  
				
					
						
							
							
								 
						
							
								bde370eb58 
								
							 
						 
						
							
							
								
								pseudocode for 64-bit lshr.  
							
							... 
							
							
							
							llvm-svn: 18154 
							
						 
						
							2004-11-23 08:14:09 +00:00  
				
					
						
							
							
								 
						
							
								40ff89c212 
								
							 
						 
						
							
							
								
								Fix a minor bug  
							
							... 
							
							
							
							llvm-svn: 18153 
							
						 
						
							2004-11-23 06:56:31 +00:00  
				
					
						
							
							
								 
						
							
								5369ab3e24 
								
							 
						 
						
							
							
								
								Be really paranoid about not breaking stuff yet  
							
							... 
							
							
							
							llvm-svn: 18152 
							
						 
						
							2004-11-23 06:56:18 +00:00  
				
					
						
							
							
								 
						
							
								4ff117585d 
								
							 
						 
						
							
							
								
								Implement the first hunk of CompilationCallback.  The pieces missing are the  
							
							... 
							
							
							
							ones noted, which require funny PPC specific inline assembly.
If some angel felt the desire to help me, I think this is that last bit missing
for JIT support (however, generic code emitter might night work right with
the constant pool yet).
llvm-svn: 18151 
							
						 
						
							2004-11-23 06:55:05 +00:00  
				
					
						
							
							
								 
						
							
								d3311665cc 
								
							 
						 
						
							
							
								
								Add more known-failing tests.  
							
							... 
							
							
							
							llvm-svn: 18149 
							
						 
						
							2004-11-23 06:39:50 +00:00  
				
					
						
							
							
								 
						
							
								2491727b5d 
								
							 
						 
						
							
							
								
								Add the rest of the logical instructions.  
							
							... 
							
							
							
							llvm-svn: 18148 
							
						 
						
							2004-11-23 06:39:37 +00:00  
				
					
						
							
							
								 
						
							
								7445c5eadc 
								
							 
						 
						
							
							
								
								Implement the stub needed to get into compilation callback.  
							
							... 
							
							
							
							llvm-svn: 18147 
							
						 
						
							2004-11-23 06:27:02 +00:00  
				
					
						
							
							
								 
						
							
								e1187d46a1 
								
							 
						 
						
							
							
								
								Simplify code a bit  
							
							... 
							
							
							
							llvm-svn: 18146 
							
						 
						
							2004-11-23 06:05:44 +00:00  
				
					
						
							
							
								 
						
							
								8296c4c323 
								
							 
						 
						
							
							
								
								Initial implementation of the JIT interfaces.  Relocation is done and stubs  
							
							... 
							
							
							
							for external functions work.  CompilationCallback has not been written, and
stubs for internal functions are not generated yet.  This means you can call
printf and exit, and use global variables, but cannot call functions local to
a module yet.
llvm-svn: 18145 
							
						 
						
							2004-11-23 06:02:06 +00:00  
				
					
						
							
							
								 
						
							
								743a43424f 
								
							 
						 
						
							
							
								
								Emit relocations for the global variable using instructions.  This gets us  
							
							... 
							
							
							
							LA, LOADHiAddr, CALLpcrel, and MovePCtoLR working, though the constant pool
probably is not right.
llvm-svn: 18144 
							
						 
						
							2004-11-23 05:59:53 +00:00  
				
					
						
							
							
								 
						
							
								1c95751676 
								
							 
						 
						
							
							
								
								Implement all of the methods  
							
							... 
							
							
							
							llvm-svn: 18142 
							
						 
						
							2004-11-23 05:57:57 +00:00  
				
					
						
							
							
								 
						
							
								0b4eb3f806 
								
							 
						 
						
							
							
								
								Initial checkin of the 32-bit PPC relocation types  
							
							... 
							
							
							
							llvm-svn: 18141 
							
						 
						
							2004-11-23 05:57:38 +00:00  
				
					
						
							
							
								 
						
							
								f5363dc789 
								
							 
						 
						
							
							
								
								Move JITInfo from PPCTM to PPC32TM  
							
							... 
							
							
							
							llvm-svn: 18140 
							
						 
						
							2004-11-23 05:56:40 +00:00  
				
					
						
							
							
								 
						
							
								ae670d5895 
								
							 
						 
						
							
							
								
								Do not provide the non-specialized PowerPCJITInfo object, it is pretty useless.  
							
							... 
							
							
							
							Instead, let derived classes provide specialized ones.
llvm-svn: 18139 
							
						 
						
							2004-11-23 05:55:38 +00:00  
				
					
						
							
							
								 
						
							
								6500c6d332 
								
							 
						 
						
							
							
								
								LA is really addi.  Be consistent with operand ordering to avoid confusing the code emitter  
							
							... 
							
							
							
							llvm-svn: 18138 
							
						 
						
							2004-11-23 05:54:25 +00:00  
				
					
						
							
							
								 
						
							
								c3a7394291 
								
							 
						 
						
							
							
								
								Changed the CreateCodeToLoadConst function to preserve SSA form. This basically means adding extra tmp instructions for intermediate values.  
							
							... 
							
							
							
							llvm-svn: 18137 
							
						 
						
							2004-11-23 04:22:29 +00:00  
				
					
						
							
							
								 
						
							
								69e4cc55ef 
								
							 
						 
						
							
							
								
								Remove some dead code  
							
							... 
							
							
							
							llvm-svn: 18136 
							
						 
						
							2004-11-22 23:07:22 +00:00  
				
					
						
							
							
								 
						
							
								40565d72d4 
								
							 
						 
						
							
							
								
								Comment out a couple of unused instructions.  
							
							... 
							
							
							
							llvm-svn: 18135 
							
						 
						
							2004-11-22 23:07:01 +00:00  
				
					
						
							
							
								 
						
							
								a76f09d0d3 
								
							 
						 
						
							
							
								
								Do not push two return addresses on the stack when we call external functions who have their addresses taken.  This fixes test-call.ll  
							
							... 
							
							
							
							llvm-svn: 18134 
							
						 
						
							2004-11-22 22:25:30 +00:00  
				
					
						
							
							
								 
						
							
								0e7faedde7 
								
							 
						 
						
							
							
								
								Disable this.  
							
							... 
							
							
							
							llvm-svn: 18130 
							
						 
						
							2004-11-22 21:51:40 +00:00  
				
					
						
							
							
								 
						
							
								8e9ed2747c 
								
							 
						 
						
							
							
								
								This chunk of code needs to be rewritten  
							
							... 
							
							
							
							llvm-svn: 18127 
							
						 
						
							2004-11-22 21:45:54 +00:00  
				
					
						
							
							
								 
						
							
								54e1b22ea3 
								
							 
						 
						
							
							
								
								Remove some dead vars and some useless namespacification  
							
							... 
							
							
							
							llvm-svn: 18126 
							
						 
						
							2004-11-22 21:42:40 +00:00  
				
					
						
							
							
								 
						
							
								80ad8871e7 
								
							 
						 
						
							
							
								
								Implement a disgusting hack to work around broken machine code emission of  
							
							... 
							
							
							
							the RDCCR instruction.  This fixes a bunch of programs with the JIT.
llvm-svn: 18124 
							
						 
						
							2004-11-22 21:25:10 +00:00  
				
					
						
							
							
								 
						
							
								ab9cf27cd0 
								
							 
						 
						
							
							
								
								Fixed a bug where I was trying to ModuloSchedule a loop with no instructions but a terminator.  
							
							... 
							
							
							
							Fixed a bug in the schedule generation that was always using the start cycle.
llvm-svn: 18123 
							
						 
						
							2004-11-22 20:41:24 +00:00  
				
					
						
							
							
								 
						
							
								c15c120342 
								
							 
						 
						
							
							
								
								Remove JIT-specific code from the code emitter.  
							
							... 
							
							
							
							llvm-svn: 18122 
							
						 
						
							2004-11-22 20:25:10 +00:00  
				
					
						
							
							
								 
						
							
								8edcdaa6eb 
								
							 
						 
						
							
							
								
								New methods implemented  
							
							... 
							
							
							
							llvm-svn: 18121 
							
						 
						
							2004-11-22 20:24:42 +00:00  
				
					
						
							
							
								 
						
							
								b098ce7c8e 
								
							 
						 
						
							
							
								
								Implement the Sparc JIT interfaces, including relocation support.  
							
							... 
							
							
							
							llvm-svn: 18120 
							
						 
						
							2004-11-22 20:24:27 +00:00  
				
					
						
							
							
								 
						
							
								dd10ba214e 
								
							 
						 
						
							
							
								
								Add stub method for long shift codegen.  
							
							... 
							
							
							
							llvm-svn: 18100 
							
						 
						
							2004-11-22 08:02:06 +00:00  
				
					
						
							
							
								 
						
							
								d1502c5c5d 
								
							 
						 
						
							
							
								
								Update to-do list.  
							
							... 
							
							
							
							llvm-svn: 18099 
							
						 
						
							2004-11-22 08:02:05 +00:00  
				
					
						
							
							
								 
						
							
								96304f816f 
								
							 
						 
						
							
							
								
								Initial checkin of the V9 relocation types  
							
							... 
							
							
							
							llvm-svn: 18095 
							
						 
						
							2004-11-22 00:40:51 +00:00  
				
					
						
							
							
								 
						
							
								29a4b354a3 
								
							 
						 
						
							
							
								
								Implement setcc on longs.  
							
							... 
							
							
							
							llvm-svn: 18088 
							
						 
						
							2004-11-21 08:11:28 +00:00  
				
					
						
							
							
								 
						
							
								8ab27507fd 
								
							 
						 
						
							
							
								
								Add all the rest of the ADD and SUB variants, some of which are important for  
							
							... 
							
							
							
							64-bit support.
llvm-svn: 18087 
							
						 
						
							2004-11-21 07:13:17 +00:00  
				
					
						
							
							
								 
						
							
								46cdc9e043 
								
							 
						 
						
							
							
								
								Support add, sub, mul, div, rem on longs/ulongs (latter 3 by emitting libcalls).  
							
							... 
							
							
							
							Add a big comment containing my notes on how to do setcc for longs/ulongs.
llvm-svn: 18086 
							
						 
						
							2004-11-21 07:13:16 +00:00  
				
					
						
							
							
								 
						
							
								07ef7e0ae1 
								
							 
						 
						
							
							
								
								Update to-do list.  
							
							... 
							
							
							
							llvm-svn: 18085 
							
						 
						
							2004-11-21 07:13:15 +00:00  
				
					
						
							
							
								 
						
							
								6c9375b20c 
								
							 
						 
						
							
							
								
								Fix Shootout-C++/wc, which was broken by my recent changes to emit fewer  
							
							... 
							
							
							
							reg-reg copies.  The necessary conditions for this bug are a GEP that is
used outside the basic block in which it is defined, whose components
other than the pointer are all constant zero, and where the use is
selected before the definition (backwards branch to successsor block).
llvm-svn: 18084 
							
						 
						
							2004-11-21 05:14:06 +00:00  
				
					
						
							
							
								 
						
							
								d68ebaacc0 
								
							 
						 
						
							
							
								
								There is no reason to emit function stubs for direct calls.  
							
							... 
							
							
							
							llvm-svn: 18082 
							
						 
						
							2004-11-21 03:46:06 +00:00