- Jan 04, 2008
-
-
Wojciech Matyjewicz authored
llvm-svn: 45594
-
Evan Cheng authored
llvm-svn: 45576
-
Evan Cheng authored
llvm-svn: 45575
-
Bill Wendling authored
llvm-svn: 45574
-
Bill Wendling authored
llvm-svn: 45573
-
Bill Wendling authored
llvm-svn: 45572
-
Bill Wendling authored
llvm-svn: 45571
-
Chris Lattner authored
It is missing validity checks, so it is known broken. However, it is powerful enough to compile this contrived code: void test1(int C, double A, double B, double *P) { double Tmp = A*A+B*B; *P = C ? Tmp : A; } into: _test1: movsd 8(%esp), %xmm0 cmpl $0, 4(%esp) je LBB1_2 # entry LBB1_1: # entry movsd 16(%esp), %xmm1 mulsd %xmm1, %xmm1 mulsd %xmm0, %xmm0 addsd %xmm1, %xmm0 LBB1_2: # entry movl 24(%esp), %eax movsd %xmm0, (%eax) ret instead of: _test1: movsd 16(%esp), %xmm0 mulsd %xmm0, %xmm0 movsd 8(%esp), %xmm1 movapd %xmm1, %xmm2 mulsd %xmm2, %xmm2 addsd %xmm0, %xmm2 cmpl $0, 4(%esp) je LBB1_2 # entry LBB1_1: # entry movapd %xmm2, %xmm1 LBB1_2: # entry movl 24(%esp), %eax movsd %xmm1, (%eax) ret woo. llvm-svn: 45570
-
Chris Lattner authored
llvm-svn: 45569
-
Chris Lattner authored
llvm-svn: 45568
-
Evan Cheng authored
llvm-svn: 45562
-
- Jan 03, 2008
-
-
Chris Lattner authored
llvm-svn: 45553
-
Gordon Henriksen authored
llvm-svn: 45536
-
Chris Lattner authored
could theoretically introduce a trap, but is also a performance issue. This speeds up ptrdist/ks by 8%. llvm-svn: 45533
-
Chris Lattner authored
"libc_nonshared.a". Patch by Edwin Török! llvm-svn: 45532
-
Gordon Henriksen authored
llvm-svn: 45529
-
Gordon Henriksen authored
llvm-svn: 45528
-
Evan Cheng authored
for non-function GV relocations that require function address stubs (e.g. Mac OS X in non-static mode). llvm-svn: 45527
-
Chris Lattner authored
refcount on these correctly, and can end up referring to deleted attributes. This fixes PR1881. llvm-svn: 45525
-
Chris Lattner authored
get a profile. llvm-svn: 45524
-
Chris Lattner authored
llvm-svn: 45519
-
Chris Lattner authored
own file. Don't #include ParameterAttributes.h into any major public header files: just move methods out of line as appropriate. llvm-svn: 45517
-
Chris Lattner authored
llvm-svn: 45516
-
Evan Cheng authored
llvm-svn: 45515
-
Chris Lattner authored
llvm-svn: 45512
-
- Jan 02, 2008
-
-
Chris Lattner authored
llvm-svn: 45506
-
Bill Wendling authored
llvm-svn: 45499
-
Bill Wendling authored
check that register isn't 0 before going further. llvm-svn: 45498
-
Bill Wendling authored
llvm-svn: 45496
-
Chris Lattner authored
llvm-svn: 45494
-
Chris Lattner authored
llvm-svn: 45493
-
Bill Wendling authored
instruction. Also, use "splice" to move the new instruction instead of remove/insert (where it was leaking memory anyway). llvm-svn: 45492
-
Nick Lewycky authored
llvm-svn: 45485
-
- Jan 01, 2008
-
-
Owen Anderson authored
llvm-svn: 45484
-
Chris Lattner authored
Make MachineRegisterInfo::getVRegDef more efficient by aiming the keep the def of the vreg at the start of the list, so the list doesn't need to be traversed. llvm-svn: 45483
-
Chris Lattner authored
it now returns the machineinstr of the use. To get the operand, use I.getOperand(). Add a new MachineRegisterInfo::replaceRegWith, which is basically like Value::replaceAllUsesWith. llvm-svn: 45482
-
Gordon Henriksen authored
Patch by Bryan O'Sullivan! llvm-svn: 45481
-
Chris Lattner authored
instruction that defines the specified vreg. Crazy. llvm-svn: 45480
-
Chris Lattner authored
operands. The lists are currently kept in MachineRegisterInfo, but it does not yet provide an iterator interface to them. llvm-svn: 45477
-
Chris Lattner authored
Fix a bug in my previous patch: refer to the impl not the pure virtual version. It's unclear why gcc would ever compile this... llvm-svn: 45476
-