- Dec 06, 2007
-
-
Chris Lattner authored
only disable it if we don't know it will be obviously profitable. Still fixme, but less so. :) llvm-svn: 44658
-
Chris Lattner authored
the X86 backend are needed before this should be enabled by default. llvm-svn: 44657
-
Chris Lattner authored
_foo: movl $12, %eax andl 4(%esp), %eax movl _array(%eax), %eax ret instead of: _foo: movl 4(%esp), %eax shrl $2, %eax andl $3, %eax movl _array(,%eax,4), %eax ret As it turns out, this triggers all the time, in a wide variety of situations, for example, I see diffs like this in various programs: - movl 8(%eax), %eax - shll $2, %eax - andl $1020, %eax - movl (%esi,%eax), %eax + movzbl 8(%eax), %eax + movl (%esi,%eax,4), %eax - shll $2, %edx - andl $1020, %edx - movl (%edi,%edx), %edx + andl $255, %edx + movl (%edi,%edx,4), %edx Unfortunately, I also see stuff like this, which can be fixed in the X86 backend: - andl $85, %ebx - addl _bit_count(,%ebx,4), %ebp + shll $2, %ebx + andl $340, %ebx + addl _bit_count(%ebx), %ebp llvm-svn: 44656
-
Chris Lattner authored
llvm-svn: 44654
-
Dale Johannesen authored
llvm-svn: 44649
-
Evan Cheng authored
Fix for PR1831: if all defs of an interval are re-materializable, then it's a preferred spill candiate. llvm-svn: 44644
-
- Dec 05, 2007
-
-
Evan Cheng authored
llvm-svn: 44612
-
Evan Cheng authored
llvm-svn: 44611
-
Evan Cheng authored
llvm-svn: 44610
-
Evan Cheng authored
llvm-svn: 44609
-
Chris Lattner authored
llvm-svn: 44608
-
Chris Lattner authored
llvm-svn: 44607
-
Evan Cheng authored
This allows an important optimization to be re-enabled. - If all uses / defs of a split interval can be folded, give the interval a low spill weight so it would not be picked in case spilling is needed (avoid pushing other intervals in the same BB to be spilled). llvm-svn: 44601
-
Evan Cheng authored
the stored register is killed. llvm-svn: 44600
-
Evan Cheng authored
llvm-svn: 44587
-
- Dec 04, 2007
-
-
Evan Cheng authored
Spiller unfold optimization bug: do not clobber a reusable stack slot value unless it can be modified. llvm-svn: 44575
-
Chris Lattner authored
to codegen this: define float @test_extract_elt(<1 x float> * %P) { %p = load <1 x float>* %P %R = extractelement <1 x float> %p, i32 0 ret float %R } llvm-svn: 44570
-
Chris Lattner authored
llvm-svn: 44569
-
Evan Cheng authored
llvm-svn: 44565
-
- Dec 03, 2007
-
-
Evan Cheng authored
llvm-svn: 44549
-
Duncan Sands authored
throw exceptions", just mark intrinsics with the nounwind attribute. Likewise, mark intrinsics as readnone/readonly and get rid of special aliasing logic (which didn't use anything more than this anyway). llvm-svn: 44544
-
Evan Cheng authored
llvm-svn: 44532
-
Evan Cheng authored
llvm-svn: 44531
-
- Dec 02, 2007
-
-
Evan Cheng authored
llvm-svn: 44517
-
- Dec 01, 2007
-
-
Evan Cheng authored
llvm-svn: 44482
-
Evan Cheng authored
llvm-svn: 44479
-
- Nov 30, 2007
-
-
Evan Cheng authored
llvm-svn: 44467
-
Devang Patel authored
llvm-svn: 44446
-
Evan Cheng authored
llvm-svn: 44443
-
- Nov 29, 2007
-
-
Evan Cheng authored
in the middle of a split basic block, create a new live interval starting at the def. This avoid artifically extending the live interval over a number of cycles where it is dead. e.g. bb1: = vr1204 (use / kill) <= new interval starts and ends here. ... ... vr1204 = (new def) <= start a new interval here. = vr1204 (use) llvm-svn: 44436
-
Evan Cheng authored
llvm-svn: 44434
-
Evan Cheng authored
llvm-svn: 44428
-
Evan Cheng authored
llvm-svn: 44427
-
- Nov 28, 2007
-
-
Duncan Sands authored
use them. llvm-svn: 44403
-
Duncan Sands authored
llvm-svn: 44399
-
Evan Cheng authored
llvm-svn: 44386
-
- Nov 27, 2007
-
-
Owen Anderson authored
llvm-svn: 44384
-
Nate Begeman authored
llvm-svn: 44371
-
Duncan Sands authored
the function type, instead they belong to functions and function calls. This is an updated and slightly corrected version of Reid Spencer's original patch. The only known problem is that auto-upgrading of bitcode files doesn't seem to work properly (see test/Bitcode/AutoUpgradeIntrinsics.ll). Hopefully a bitcode guru (who might that be? :) ) will fix it. llvm-svn: 44359
-
Chris Lattner authored
llvm-svn: 44352
-