- Nov 30, 2004
-
-
Chris Lattner authored
llvm-svn: 18398
-
Brian Gaeke authored
llvm-svn: 18397
-
Brian Gaeke authored
llvm-svn: 18384
-
Brian Gaeke authored
%f0 = fmovs %f0 %f1 = fmovs %f1 then just delete the FpMOVD pseudo-instruction instead. Also, add statistics and debug printouts. llvm-svn: 18383
-
Chris Lattner authored
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
-
Chris Lattner authored
llvm-svn: 18376
-
Chris Lattner authored
llvm-svn: 18374
-
Chris Lattner authored
llvm-svn: 18371
-
Chris Lattner authored
Remove extraneous namespacification. In particular, don't define llvm::llvm::createInternalGlobalMapperPass llvm-svn: 18365
-
- Nov 29, 2004
-
-
Chris Lattner authored
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
-
Tanya Lattner authored
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
-
Tanya Lattner authored
Fixed bug where instructions in the kernel were not ordered right to preserve dependencies in a cycle. llvm-svn: 18314
-
- Nov 28, 2004
-
-
Chris Lattner authored
llvm-svn: 18311
-
- Nov 27, 2004
-
-
Nate Begeman authored
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
-
- Nov 26, 2004
-
-
Chris Lattner authored
llvm-svn: 18263
-
- Nov 25, 2004
-
-
Nate Begeman authored
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
-
Chris Lattner authored
llvm-svn: 18235
-
Chris Lattner authored
llvm-svn: 18228
-
Chris Lattner authored
All of Olden passes now! :) llvm-svn: 18227
-
Chris Lattner authored
llvm-svn: 18226
-
Chris Lattner authored
llvm-svn: 18225
-
Chris Lattner authored
LLVM blocks as the keys for the branch rewriter. This fixes treeadd and many other programs with the JIT. llvm-svn: 18223
-
- Nov 24, 2004
-
-
Chris Lattner authored
* 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
-
Nate Begeman authored
storing to fixed alloca slots. llvm-svn: 18221
-
Chris Lattner authored
prolog. llvm-svn: 18220
-
Chris Lattner authored
call the right address. llvm-svn: 18213
-
Chris Lattner authored
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
-
Brian Gaeke authored
llvm-svn: 18202
-
Brian Gaeke authored
llvm-svn: 18201
-
Chris Lattner authored
correctly. llvm-svn: 18200
-
Chris Lattner authored
36/42 SingleSource/UnitTests passing! llvm-svn: 18199
-
Chris Lattner authored
llvm-svn: 18198
-
Chris Lattner authored
llvm-svn: 18197
-
Chris Lattner authored
pass 24/42 in UnitTests (up from 20). llvm-svn: 18196
-
Tanya Lattner authored
llvm-svn: 18195
-
Chris Lattner authored
stops the infinite loops! llvm-svn: 18194
-
Chris Lattner authored
them explicitly as well. llvm-svn: 18193
-
Nate Begeman authored
llvm-svn: 18192
-
- Nov 23, 2004
-
-
Chris Lattner authored
llvm-svn: 18178
-
Nate Begeman authored
that we don't end up trying to use r0 as a base register. llvm-svn: 18176
-