- Dec 04, 2008
-
-
Scott Michel authored
- First patch from Nehal Desai, a new contributor at Aerospace. Nehal's patch fixes sign/zero/any-extending loads for integers and floating point. Example code, compiled w/o debugging or optimization where he first noticed the bug: int main(void) { float a = 99.0; printf("%d\n", a); return 0; } Verified that this code actually works on a Cell SPU. Changes by Scott Michel: - Fix bug in the value type list constructed by SPUISD::LDRESULT to include both the load result's result and chain, not just the chain alone. - Simplify LowerLOAD and remove extraneous and unnecessary chains. - Remove unused SPUISD pseudo instructions. llvm-svn: 60526
-
Dan Gohman authored
llvm-svn: 60525
-
Dan Gohman authored
llvm-svn: 60524
-
Evan Cheng authored
llvm-svn: 60519
-
Dan Gohman authored
the main thing this covers is spills to distinct spill slots. llvm-svn: 60517
-
Chris Lattner authored
llvm-svn: 60514
-
Dan Gohman authored
issues with subreg operands and tied operands. llvm-svn: 60510
-
- Dec 03, 2008
-
-
Dale Johannesen authored
llvm-svn: 60509
-
Dale Johannesen authored
llvm-svn: 60508
-
Dan Gohman authored
on PseudoSourceValue values. This also fixes a FIXME in lib/VMCode/AsmWriter.cpp. llvm-svn: 60507
-
Dale Johannesen authored
llvm-svn: 60506
-
Chris Lattner authored
llvm-svn: 60501
-
Dan Gohman authored
llvm-svn: 60500
-
Evan Cheng authored
llvm-svn: 60499
-
Dan Gohman authored
an area where eventually it would be good to use target-dependent information. llvm-svn: 60498
-
Dale Johannesen authored
llvm-svn: 60497
-
Dan Gohman authored
examining non-anti-dependence edges. llvm-svn: 60496
-
Dan Gohman authored
llvm-svn: 60495
-
Dale Johannesen authored
llvm-svn: 60494
-
Chris Lattner authored
llvm-svn: 60492
-
Dan Gohman authored
parts, and add target-independent code to add/preserve MachineMemOperands. llvm-svn: 60488
-
Dan Gohman authored
llvm-svn: 60487
-
Dan Gohman authored
the frame reference. This will help post-RA scheduling determine that spills to distinct stack slots are independent. llvm-svn: 60486
-
Rafael Espindola authored
llvm-svn: 60485
-
Dan Gohman authored
llvm-svn: 60484
-
Duncan Sands authored
a new node if the node was actually remapped. llvm-svn: 60482
-
Rafael Espindola authored
Print a single parameter .file directive if we have an ELF target. llvm-svn: 60480
-
Richard Osborne authored
llvm-svn: 60479
-
Evan Cheng authored
llvm-svn: 60478
-
Bill Wendling authored
llvm-svn: 60477
-
Evan Cheng authored
llvm-svn: 60476
-
Chris Lattner authored
llvm-svn: 60471
-
Chris Lattner authored
1) have it fold "br undef", which does occur with surprising frequency as jump threading iterates. 2) teach j-t to delete dead blocks. This removes the successor edges, reducing the in-edges of other blocks, allowing recursive simplification. 3) Fold things like: br COND, BBX, BBY BBX: br COND, BBZ, BBW which also happens because jump threading iterates. llvm-svn: 60470
-
Chris Lattner authored
llvm-svn: 60469
-
Chris Lattner authored
llvm-svn: 60468
-
Chris Lattner authored
loop deletion (it is for a ton of passes), which is very bad. llvm-svn: 60465
-
Chris Lattner authored
unconditionally delete the block. All likely clients will do the checking anyway. llvm-svn: 60464
-
Chris Lattner authored
DeleteBlockIfDead method. llvm-svn: 60463
-
Dan Gohman authored
foldMemoryOperand how to "fold" them, by converting them into constant-pool loads. When they aren't folded, they use xorps/cmpeqd, but for example when register pressure is high, they may now be folded as memory operands, which reduces register pressure. Also, mark V_SET0 isAsCheapAsAMove so that two-address-elimination will remat it instead of copying zeros around (V_SETALLONES was already marked). llvm-svn: 60461
-
Bill Wendling authored
llvm-svn: 60460
-