- Mar 11, 2004
-
-
Brian Gaeke authored
llvm-svn: 12285
-
- Mar 10, 2004
-
-
Brian Gaeke authored
De-constify SaveStateToModule; we have to set both it and SaveRegAllocState explicitly in the reoptimizer. Make SaveRegAllocState an 'external location' option. llvm-svn: 12278
-
Brian Gaeke authored
llvm-svn: 12277
-
- Mar 09, 2004
-
-
Alkis Evlogimenos authored
instructions. llvm-svn: 12258
-
Brian Gaeke authored
llvm-svn: 12255
-
Alkis Evlogimenos authored
llvm-svn: 12254
-
Alkis Evlogimenos authored
llvm-svn: 12253
-
Alkis Evlogimenos authored
llvm-svn: 12252
-
Alkis Evlogimenos authored
llvm-svn: 12251
-
Brian Gaeke authored
AllocInfo.Instruction becoming an int. llvm-svn: 12247
-
Brian Gaeke authored
#-1. Other minor changes to deal with AllocInfo.Instruction becoming an int. llvm-svn: 12246
-
Brian Gaeke authored
(Instruction #-1's operands = argument list). llvm-svn: 12245
-
- Mar 08, 2004
-
-
Chris Lattner authored
llvm-svn: 12207
-
Chris Lattner authored
testcase like this: int %test(int* %P, int %A) { %Pv = load int* %P %B = add int %A, %Pv ret int %B } We now generate: test: mov %ECX, DWORD PTR [%ESP + 4] mov %EAX, DWORD PTR [%ESP + 8] add %EAX, DWORD PTR [%ECX] ret Instead of: test: mov %EAX, DWORD PTR [%ESP + 4] mov %ECX, DWORD PTR [%ESP + 8] mov %EAX, DWORD PTR [%EAX] add %EAX, %ECX ret ... saving one instruction, and often a register. Note that there are a lot of other instructions that could use this, but they aren't handled. I'm not really interested in adding them, but mul/div and all of the FP instructions could be supported as well if someone wanted to add them. llvm-svn: 12204
-
Chris Lattner authored
llvm-svn: 12203
-
- Mar 07, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 12190
-
- Mar 06, 2004
-
-
Brian Gaeke authored
Emit RETL instruction to return instead of funny JMPL. Fix indentation. llvm-svn: 12186
-
Brian Gaeke authored
Add RET, RETL. Rename SAVE, RESTORE & JMPL for consistency. llvm-svn: 12185
-
Brian Gaeke authored
llvm-svn: 12184
-
Brian Gaeke authored
llvm-svn: 12183
-
Brian Gaeke authored
llvm-svn: 12182
-
Brian Gaeke authored
llvm-svn: 12180
-
- Mar 05, 2004
-
-
Brian Gaeke authored
llvm-svn: 12143
-
- Mar 04, 2004
-
-
Brian Gaeke authored
llvm-svn: 12124
-
Brian Gaeke authored
llvm-svn: 12122
-
Alkis Evlogimenos authored
llvm-svn: 12120
-
Brian Gaeke authored
llvm-svn: 12113
-
Brian Gaeke authored
llvm-svn: 12112
-
Brian Gaeke authored
llvm-svn: 12111
-
Brian Gaeke authored
llvm-svn: 12110
-
Brian Gaeke authored
llvm-svn: 12107
-
Brian Gaeke authored
llvm-svn: 12106
-
- Mar 03, 2004
-
-
Chris Lattner authored
been using the default target data layout object to lower malloc instructions, causing us to allocate more memory than we needed! This could improve the performance of the CBE generated code substantially! llvm-svn: 12088
-
Chris Lattner authored
llvm-svn: 12087
-
- Mar 02, 2004
-
-
Misha Brukman authored
llvm-svn: 12064
-
- Mar 01, 2004
-
-
Chris Lattner authored
that Instructions are annotable again llvm-svn: 12045
-
Tanya Lattner authored
llvm-svn: 12044
-
Brian Gaeke authored
(16) into certain areas of the SPARC V9 back-end. I'm fairly sure the US IIIi's dcache has 32-byte lines, so I'm not sure where the 16 came from. However, in the interest of not breaking things any more than they already are, I'm going to leave the constant alone. llvm-svn: 12043
-
Chris Lattner authored
of generating this code: mov %EAX, 4 mov DWORD PTR [%ESP], %EAX mov %AX, 123 movsx %EAX, %AX mov DWORD PTR [%ESP + 4], %EAX call Y we now generate: mov DWORD PTR [%ESP], 4 mov DWORD PTR [%ESP + 4], 123 call Y Which hurts the eyes less. :) Considering that register pressure around call sites is already high (with all of the callee clobber registers n stuff), this may help a lot. llvm-svn: 12028
-
Chris Lattner authored
to function calls, we would emit dead code, like this: int Y(int, short, double); int X() { Y(4, 123, 4); } --- Old X: sub %ESP, 20 mov %EAX, 4 mov DWORD PTR [%ESP], %EAX *** mov %AX, 123 mov %AX, 123 movsx %EAX, %AX mov DWORD PTR [%ESP + 4], %EAX fld QWORD PTR [.CPIX_0] fstp QWORD PTR [%ESP + 8] call Y mov %EAX, 0 # IMPLICIT_USE %EAX %ESP add %ESP, 20 ret Now we emit: X: sub %ESP, 20 mov %EAX, 4 mov DWORD PTR [%ESP], %EAX mov %AX, 123 movsx %EAX, %AX mov DWORD PTR [%ESP + 4], %EAX fld QWORD PTR [.CPIX_0] fstp QWORD PTR [%ESP + 8] call Y mov %EAX, 0 # IMPLICIT_USE %EAX %ESP add %ESP, 20 ret Next up, eliminate the mov AX and movsx entirely! llvm-svn: 12026
-