- Mar 19, 2008
-
-
Christopher Lamb authored
Fix X86's isTruncateFree to not claim that truncate to i1 is free. This fixes Bill's testcase that failed for r48491. llvm-svn: 48542
-
Chris Lattner authored
struct types. Patch by David Chisnall, with some tweaks. llvm-svn: 48531
-
Gordon Henriksen authored
llvm-svn: 48528
-
Evan Cheng authored
llvm-svn: 48526
-
Gordon Henriksen authored
Based on Erick Tryzelaar's patch. llvm-svn: 48523
-
Evan Cheng authored
1. If part of a register is re-defined, an implicit kill and an implicit def are added to denote read / mod / write. However, this should only be necessary if the register is actually read later. This is a performance issue. 2. If a sub-register is being defined, and it doesn't have a previous use, do not add a implicit kill to the last use of a super-register: = EAX, AX<imp-use,kill> ... AX = In this case, EAX is live but AX is killed, this is wrong and will cause the coalescer to do bad things. llvm-svn: 48521
-
Devang Patel authored
llvm-svn: 48520
-
Bill Wendling authored
attribute instead of ".protected". llvm-svn: 48516
-
Evan Cheng authored
Fix a x86-64 isel lowering bug that's been around forever. A x86-64 varargs function implicitly reads X86::AL, don't clobber it! llvm-svn: 48515
-
- Mar 18, 2008
-
-
Bill Wendling authored
llvm-svn: 48510
-
Daniel Berlin authored
llvm-svn: 48509
-
Dale Johannesen authored
llvm-svn: 48493
-
Scott Michel authored
variables and methods themselves only use unsigned.) llvm-svn: 48492
-
Christopher Lamb authored
Target independent DAG transform to use truncate for field extraction + sign extend on targets where this is profitable. Passes nightly on x86-64. llvm-svn: 48491
-
Evan Cheng authored
Rewrite code that propagate isDead information after a dead copy is coalesced. This remove some ugly spaghetti code and fixed a number of subtle bugs. llvm-svn: 48490
-
Devang Patel authored
Do not run analysis pass again if analysis info is still available. This fixes PR1441. llvm-svn: 48476
-
Devang Patel authored
llvm-svn: 48474
-
- Mar 17, 2008
-
-
Dale Johannesen authored
in ppc64 mode. llvm-svn: 48459
-
Chris Lattner authored
lowering over to SparcCallingConv.td. We can't make the switch yet because we can't say to pass f64 registers in 2 x i32 registers with the td file yet. llvm-svn: 48449
-
Chris Lattner authored
llvm-svn: 48448
-
Evan Cheng authored
llvm-svn: 48447
-
Owen Anderson authored
the coalescer. This doesn't really work, but gets us farther than before. llvm-svn: 48446
-
Chris Lattner authored
llvm-svn: 48445
-
Chris Lattner authored
other targets. Use autogenerated calling conv to lower result of calls. llvm-svn: 48444
-
Chris Lattner authored
return lowering first. This fixes a bug where the top and bottom of i64 values were returned in the wrong registers before. llvm-svn: 48443
-
Chris Lattner authored
best practices. llvm-svn: 48442
-
Chris Lattner authored
each lowering, which is 'best practice'. llvm-svn: 48441
-
Dale Johannesen authored
behavior where a callee thinks a param will be present in memory, even though the ABI doc says it doesn't have to be. Handle complex long long and complex double (4 and 8 return regs). llvm-svn: 48439
-
Chris Lattner authored
llvm-svn: 48438
-
- Mar 16, 2008
-
-
Nate Begeman authored
llvm-svn: 48430
-
Gordon Henriksen authored
llvm-svn: 48422
-
Bill Wendling authored
llvm-svn: 48421
-
Gordon Henriksen authored
Patch originally by Erick Tryzelaar, but has been modified somewhat. llvm-svn: 48419
-
Gordon Henriksen authored
llvm-svn: 48413
-
Christopher Lamb authored
Make insert_subreg a two-address instruction, vastly simplifying LowerSubregs pass. Add a new TII, subreg_to_reg, which is like insert_subreg except that it takes an immediate implicit value to insert into rather than a register. llvm-svn: 48412
-
- Mar 15, 2008
-
-
Evan Cheng authored
llvm-svn: 48381
-
Evan Cheng authored
Replace all target specific implicit def instructions with a target independent one: TargetInstrInfo::IMPLICIT_DEF. llvm-svn: 48380
-
Gordon Henriksen authored
Patch by Erick Tryzelaar. llvm-svn: 48379
-
- Mar 14, 2008
-
-
Duncan Sands authored
table for nounwind calls. llvm-svn: 48373
-
Evan Cheng authored
Fix PR2138. Apparently any modification to a std::multimap (including remove entries for a different key) can invalidate multimap iterators. llvm-svn: 48371
-