- Nov 11, 2010
-
-
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
-
Rafael Espindola authored
a weakref is used with a VariantKind. llvm-svn: 118798
-
Chris Lattner authored
llvm-svn: 118797
-
Jim Grosbach authored
llvm-svn: 118794
-
Rafael Espindola authored
easier to read by having const references to the symbol, aliased symbol and renamed symbol. llvm-svn: 118793
-
Dan Gohman authored
llvm-svn: 118790
-
Dan Gohman authored
llvm-svn: 118789
-
Dan Gohman authored
llvm-svn: 118788
-
Dan Gohman authored
execute. Make Sink's predicate more precise. llvm-svn: 118787
-
Rafael Espindola authored
a leftover from the removal of isExplicit. llvm-svn: 118774
-
Jim Grosbach authored
llvm-svn: 118767
-
Jim Grosbach authored
llvm-svn: 118761
-
Jim Grosbach authored
llvm-svn: 118757
-
Jakob Stoklund Olesen authored
superceded by SplitKit. llvm-svn: 118754
-
Dan Gohman authored
these points. llvm-svn: 118752
-
Dan Gohman authored
it, so that it doesn't appear to be a known size. llvm-svn: 118748
-
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
-
Jim Grosbach authored
encoding bits. llvm-svn: 118738
-
Jim Grosbach authored
llvm-svn: 118736
-
Rafael Espindola authored
llvm-svn: 118733
-
Jim Grosbach authored
llvm-svn: 118732
-
Jim Grosbach authored
llvm-svn: 118730
-
- Nov 10, 2010
-
-
Dan Gohman authored
the reverse map too. This fixes seflhost build errors. llvm-svn: 118729
-
Rafael Espindola authored
llvm-svn: 118728
-
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
-
Rafael Espindola authored
llvm-svn: 118725
-
Dan Gohman authored
for a given instruction into a helper function. llvm-svn: 118723
-
Rafael Espindola authored
llvm-svn: 118722
-
Dan Gohman authored
type is insufficient for, or incompatible with, the current query. llvm-svn: 118721
-
Nate Begeman authored
llvm-svn: 118720
-
Duncan Sands authored
Probably it should just be 1, but compromise with 3. llvm-svn: 118718
-
Dan Gohman authored
references. For example, this allows gvn to eliminate the load in this example: void foo(int n, int* p, int *q) { p[0] = 0; p[1] = 1; if (n) { *q = p[0]; } } llvm-svn: 118714
-
Rafael Espindola authored
llvm-svn: 118709
-
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
-
Rafael Espindola authored
llvm-svn: 118699
-
Dan Gohman authored
instructions instead of hard-coding operand numbers. llvm-svn: 118698
-
Duncan Sands authored
nodes can be used in loops, this could result in infinite looping if there is no recursion limit, so add such a limit. It is also used for the SelectInst case because in theory there could be an infinite loop there too if the basic block is unreachable. llvm-svn: 118694
-