- Aug 07, 2008
-
-
Owen Anderson authored
Correct handle cases where two phis are coalesced together, and correct break up the case where two different phis want to coalesce with the same vreg. llvm-svn: 54426
-
- Aug 06, 2008
-
-
Owen Anderson authored
llvm-svn: 54425
-
Owen Anderson authored
llvm-svn: 54422
-
Owen Anderson authored
llvm-svn: 54421
-
Owen Anderson authored
llvm-svn: 54420
-
Dan Gohman authored
this time using MOV32to32_ and MOV16to16_. Thanks to Evan for suggesting this. llvm-svn: 54418
-
Dan Gohman authored
when it meant to be emitting undef indices. llvm-svn: 54417
-
Evan Cheng authored
Fix PR2355: bug in ChangeCompareStride. When the loop termination compare is the only use of its iv stride, the stride can be eliminated by moving it to another stride. If the scale is negative, swap the predicate instead of using a inverse predicate. llvm-svn: 54415
-
Dan Gohman authored
llvm-svn: 54411
-
Chris Lattner authored
llvm-svn: 54408
-
Bruno Cardoso Lopes authored
Added fp register clobbering during calls. Added AsmPrinter support for "fmask", a bitmask that indicates where on the stack the fp callee saved registers are. Fixed the stack frame layout for Mips, now the callee saved regs are in the right stack location (a little documentation about how this stack frame must look like is present in MipsRegisterInfo.cpp). This was done using the method MipsRegisterInfo::adjustMipsStackFrame To be more clear, these are examples of what is solves : 1) FP and RA are also callee saved, and despite they aren't in CSI they must be saved before the fp callee saved registers. 2) The ABI requires that local varibles are allocated before the callee saved register area, the opposite behavior from the default allocation. 3) CPU and FPU saved register area must be aligned independent of each other. llvm-svn: 54403
-
Chris Lattner authored
matters, the result is undefined anyway. llvm-svn: 54396
-
Nick Lewycky authored
tracking down that this was breaking llvm-gcc bootstrap on Linux. llvm-svn: 54394
-
Dan Gohman authored
warning. There wasn't actually a problem here, because the contents of the string are known. llvm-svn: 54385
-
Dan Gohman authored
instead of having it call getIterationCount again. llvm-svn: 54380
-
Owen Anderson authored
llvm-svn: 54378
-
Evan Cheng authored
llvm-svn: 54376
-
- Aug 05, 2008
-
-
Evan Cheng authored
llvm-svn: 54375
-
Owen Anderson authored
llvm-svn: 54374
-
Bill Wendling authored
looks bogus. Please see PR2629 for details on why this is breaking things. llvm-svn: 54372
-
Owen Anderson authored
llvm-svn: 54371
-
Owen Anderson authored
llvm-svn: 54369
-
Owen Anderson authored
llvm-svn: 54361
-
Dan Gohman authored
llvm-svn: 54351
-
Dan Gohman authored
llvm-svn: 54350
-
Dan Gohman authored
llvm-svn: 54349
-
Evan Cheng authored
llvm-svn: 54347
-
Evan Cheng authored
Fix PR2568: Fix bug that cause redudant kill marker after its live interval has been extended due to coalescing. llvm-svn: 54346
-
Owen Anderson authored
llvm-svn: 54337
-
Owen Anderson authored
llvm-svn: 54336
-
Owen Anderson authored
- Add a basic machine-level dead block eliminator. These two have to go together, since many other parts of the code generator are unable to handle the unreachable blocks otherwise created. llvm-svn: 54333
-
Eli Friedman authored
version uses a new algorithm for evaluating the binomial coefficients which is significantly more efficient for AddRecs of more than 2 terms (see the comments in the code for details on how the algorithm works). It also fixes some bugs: it removes the arbitrary length restriction for AddRecs, it fixes the silent generation of incorrect code for AddRecs which require a wide calculation width, and it fixes an issue where we were incorrectly truncating the iteration count too far when evaluating an AddRec expression narrower than the induction variable. There are still a few related issues I know of: I think there's still an issue with the SCEVExpander expansion of AddRec in terms of the width of the induction variable used. The hack to avoid generating too-wide integers shouldn't be necessary; instead, the callers should be considering the cost of the expansion before expanding it (in addition to not expanding too-wide integers, we might not want to expand expressions that are really expensive, especially when optimizing for size; calculating an length-17 32-bit AddRec currently generates about 250 instructions of straight-line code on X86). Also, for long 32-bit AddRecs on X86, CodeGen really sucks at scheduling the code. I'm planning on filing follow-up PRs for these issues. llvm-svn: 54332
-
Dan Gohman authored
This allows it to work correctly on aggregate values. This fixes PR2623. llvm-svn: 54331
-
Dan Gohman authored
This allows it to work correctly on nested aggregate values. This fixes PR2625. llvm-svn: 54330
-
Dan Gohman authored
llvm-svn: 54329
-
- Aug 04, 2008
-
-
Bruno Cardoso Lopes authored
aren't used anyway, they also used to broke compiling when fastcc was specified for a function, but not anymore. llvm-svn: 54316
-
Bruno Cardoso Lopes authored
llvm-svn: 54315
-
- Aug 03, 2008
-
-
Andrew Lenharth authored
llvm-svn: 54314
-
Chris Lattner authored
llvm-svn: 54313
-
Bruno Cardoso Lopes authored
llvm-svn: 54312
-