- Nov 16, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 119374
-
Eric Christopher authored
(and likely) wrong about anyhow. llvm-svn: 119320
-
Jakob Stoklund Olesen authored
Use amazing new function call technology instead of writing identical code in multiple places. This fixes PR8604. llvm-svn: 119306
-
Jakob Stoklund Olesen authored
The live range of a register defined by an early clobber starts at the use slot, not the def slot. Except when it is an early clobber tied to a use operand. Then it starts at the def slot like a standard def. llvm-svn: 119305
-
- Nov 15, 2010
-
-
Jakob Stoklund Olesen authored
This reverts r119183 which borke the buildbots. llvm-svn: 119270
-
Evan Cheng authored
iterator, not TII->OptimizeCompareInstr. llvm-svn: 119186
-
Jakob Stoklund Olesen authored
The live range of a register defined by an early clobber starts at the use slot, not the def slot. llvm-svn: 119183
-
Jakob Stoklund Olesen authored
live ranges for the spill register are also defined at the use slot instead of the normal def slot. This fixes PR8612 for the inline spiller. A use was being allocated to the same register as a spilled early clobber def. This problem exists in all the spillers. A fix for the standard spiller is forthcoming. llvm-svn: 119182
-
Anton Korobeynikov authored
First step of huge frame-related refactoring: move emit{Prologue,Epilogue} out of TargetRegisterInfo to TargetFrameInfo, which is definitely much better suitable place llvm-svn: 119097
-
- Nov 14, 2010
-
-
Chris Lattner authored
since it is trivial and will be shared between ppc and x86. This substantially simplifies the X86 backend also. llvm-svn: 119089
-
- Nov 13, 2010
-
-
Devang Patel authored
llvm-svn: 118940
-
- Nov 12, 2010
-
-
Andrew Trick authored
llvm-svn: 118913
-
Andrew Trick authored
catastrophic compilation time in the event of unreasonable LLVM IR. Code quality is a separate issue--someone upstream needs to do a better job of reducing to llvm.memcpy. If the situation can be reproduced with any supported frontend, then it will be a separate bug. llvm-svn: 118904
-
Chris Lattner authored
llvm-svn: 118896
-
Lang Hames authored
llvm-svn: 118883
-
- Nov 11, 2010
-
-
Dan Gohman authored
llvm-svn: 118803
-
Andrew Trick authored
it makes no sense for allocation_order iterators to visit reserved regs. The inline spiller depends on AliasAnalysis. Manage the Query state to avoid uninitialized or stale results. llvm-svn: 118800
-
Dan Gohman authored
llvm-svn: 118789
-
Jakob Stoklund Olesen authored
superceded by SplitKit. llvm-svn: 118754
-
Jakob Stoklund Olesen authored
This is the first small step towards using closed intervals for liveness instead of the half-open intervals we're using now. We want to be able to distinguish between a SlotIndex that represents a variable being live-out of a basic block, and an index representing a variable live-in to its successor. That requires two separate indexes between blocks. One for live-outs and one for live-ins. With this change, getMBBEndIdx(MBB).getPrevSlot() becomes stable so it stays greater than any instructions inserted at the end of MBB. llvm-svn: 118747
-
Jakob Stoklund Olesen authored
llvm-svn: 118742
-
Jakob Stoklund Olesen authored
constant loads. llvm-svn: 118741
-
- Nov 10, 2010
-
-
Devang Patel authored
Take care of special characters while creating named MDNode name to hold function specific local variable's info. This fixes radar 8653152. I am checking in testcase as a separate check-in. llvm-svn: 118726
-
Jakob Stoklund Olesen authored
Whenever splitting wants to insert a copy, it checks if the value can be rematerialized cheaply instead. Missing features: - Delete instructions when all uses have been rematerialized. - Truncate live ranges to the remaining uses after rematerialization. llvm-svn: 118702
-
Andrew Trick authored
benchmarks hitting an assertion. Adds LiveIntervalUnion::collectInterferingVRegs. Fixes "late spilling" by checking for any unspillable live vregs among all physReg aliases. llvm-svn: 118701
-
Jakob Stoklund Olesen authored
llvm-svn: 118661
-
Rafael Espindola authored
earlier. Implicit bool -> int conversions are evil! llvm-svn: 118651
-
- Nov 09, 2010
-
-
Andrew Trick authored
(retry now that the windows build is green) llvm-svn: 118630
-
Matt Beaumont-Gay authored
-Wnon-virtual-dtor. llvm-svn: 118616
-
Andrew Trick authored
llvm-svn: 118613
-
Andrew Trick authored
llvm-svn: 118604
-
Dan Gohman authored
in order to fold it into a load. llvm-svn: 118471
-
Dale Johannesen authored
{i64, i64} from matching i128. llvm-svn: 118465
-
- Nov 08, 2010
-
-
Andrew Trick authored
handle cases in which a register is unavailable for spill code. Adds LiveIntervalUnion::extract. While processing interferences on a live virtual register, reuses the same Query object for each physcial reg. llvm-svn: 118423
-
Che-Liang Chiou authored
llvm-svn: 118394
-
- Nov 06, 2010
-
-
Benjamin Kramer authored
llvm-svn: 118342
-
- Nov 05, 2010
-
-
Duncan Sands authored
to perform the copy, which may be of lots of memory [*]. It would be good if the fall-back code generated something reasonable, i.e. did the copy in a loop, rather than vast numbers of loads and stores. Add a note about this. Currently target specific code seems to always kick in so this is more of a theoretical issue rather than a practical one now that X86 has been fixed. [*] It's amazing how often people pass mega-byte long arrays by copy... llvm-svn: 118275
-
- Nov 04, 2010
-
-
Rafael Espindola authored
llvm-svn: 118254
-
Rafael Espindola authored
they do :-( llvm-svn: 118250
-
Rafael Espindola authored
llvm-svn: 118249
-