- Apr 22, 2005
-
-
Misha Brukman authored
llvm-svn: 21439
-
Misha Brukman authored
llvm-svn: 21420
-
- Apr 13, 2005
-
-
Nate Begeman authored
Make llvm undef values generate ISD::UNDEF nodes llvm-svn: 21261
-
- Apr 09, 2005
-
-
Chris Lattner authored
llvm-svn: 21167
-
- Apr 02, 2005
-
-
Chris Lattner authored
llvm-svn: 21014
-
Chris Lattner authored
llvm-svn: 21011
-
- Mar 31, 2005
-
-
Andrew Lenharth authored
llvm-svn: 20965
-
- Mar 30, 2005
-
-
Chris Lattner authored
them up after the code has been emitted. This allows targets to select one mbb as multiple mbb's as needed. llvm-svn: 20937
-
- Mar 29, 2005
-
-
Chris Lattner authored
returned integer values all of the way to 64-bits (we only did it to 32-bits leaving the top bits undefined). This causes problems for targets like alpha whose ABI's define the top bits too. llvm-svn: 20926
-
- Mar 26, 2005
-
-
Nate Begeman authored
llvm-svn: 20842
-
- Mar 15, 2005
-
-
Chris Lattner authored
using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*. This patch is contributed by Gabor Greif, thanks! llvm-svn: 20597
-
- Feb 17, 2005
-
-
Misha Brukman authored
llvm-svn: 20231
-
Chris Lattner authored
Don't sink argument loads into loops or other bad places. This disables folding of argument loads with instructions that are not in the entry block. llvm-svn: 20228
-
- Jan 23, 2005
-
-
Chris Lattner authored
llvm-svn: 19779
-
Chris Lattner authored
llvm-svn: 19763
-
- Jan 19, 2005
-
-
Chris Lattner authored
llvm-svn: 19707
-
- Jan 18, 2005
-
-
Chris Lattner authored
do it. This results in better code on X86 for floats (because if strict precision is not required, we can elide some more expensive double -> float conversions like the old isel did), and allows other targets to emit CopyFromRegs that are not legal for arguments. llvm-svn: 19668
-
Chris Lattner authored
llvm-svn: 19656
-
- Jan 17, 2005
-
-
Chris Lattner authored
X86/reg-pressure.ll again, and allows us to do nice things in other cases. For example, we now codegen this sort of thing: int %loadload(int *%X, int* %Y) { %Z = load int* %Y %Y = load int* %X ;; load between %Z and store %Q = add int %Z, 1 store int %Q, int* %Y ret int %Y } Into this: loadload: mov %EAX, DWORD PTR [%ESP + 4] mov %EAX, DWORD PTR [%EAX] mov %ECX, DWORD PTR [%ESP + 8] inc DWORD PTR [%ECX] ret where we weren't able to form the 'inc [mem]' before. This also lets the instruction selector emit loads in any order it wants to, which can be good for register pressure as well. llvm-svn: 19644
-
Chris Lattner authored
llvm-svn: 19642
-
Chris Lattner authored
the basic block that uses them if possible. This is a big win on X86, as it lets us fold the argument loads into instructions and reduce register pressure (by not loading all of the arguments in the entry block). For this (contrived to show the optimization) testcase: int %argtest(int %A, int %B) { %X = sub int 12345, %A br label %L L: %Y = add int %X, %B ret int %Y } we used to produce: argtest: mov %ECX, DWORD PTR [%ESP + 4] mov %EAX, 12345 sub %EAX, %ECX mov %EDX, DWORD PTR [%ESP + 8] .LBBargtest_1: # L add %EAX, %EDX ret now we produce: argtest: mov %EAX, 12345 sub %EAX, DWORD PTR [%ESP + 4] .LBBargtest_1: # L add %EAX, DWORD PTR [%ESP + 8] ret This also fixes the FIXME in the code. BTW, this occurs in real code. 164.gzip shrinks from 8623 to 8608 lines of .s file. The stack frame in huft_build shrinks from 1644->1628 bytes, inflate_codes shrinks from 116->108 bytes, and inflate_block from 2620->2612, due to fewer spills. Take that alkis. :-) llvm-svn: 19639
-
Chris Lattner authored
llvm-svn: 19635
-
- Jan 16, 2005
-
-
Chris Lattner authored
llvm-svn: 19612
-
Chris Lattner authored
llvm-svn: 19595
-
Chris Lattner authored
llvm-svn: 19582
-
Chris Lattner authored
llvm-svn: 19579
-
- Jan 15, 2005
-
-
Chris Lattner authored
llvm-svn: 19568
-
- Jan 14, 2005
-
-
Chris Lattner authored
stores/loads. llvm-svn: 19562
-
- Jan 13, 2005
-
-
Chris Lattner authored
llvm-svn: 19535
-
Chris Lattner authored
llvm-svn: 19531
-
Chris Lattner authored
llvm-svn: 19528
-
- Jan 12, 2005
-
-
Chris Lattner authored
llvm-svn: 19498
-
- Jan 11, 2005
-
-
Chris Lattner authored
same for PHI nodes. llvm-svn: 19484
-
Chris Lattner authored
llvm-svn: 19463
-
- Jan 09, 2005
-
-
Chris Lattner authored
llvm-svn: 19409
-
Chris Lattner authored
llvm-svn: 19407
-
- Jan 08, 2005
-
-
Chris Lattner authored
llvm-svn: 19404
-
Chris Lattner authored
llvm-svn: 19384
-
Chris Lattner authored
llvm-svn: 19374
-
Chris Lattner authored
llvm-svn: 19369
-