- Nov 11, 2009
-
-
Dan Gohman authored
llvm-svn: 86873
-
Dan Gohman authored
tail merging support to handle more cases. - Recognize several cases where tail merging is beneficial even when the tail size is smaller than the generic threshold. - Make use of MachineInstrDesc::isBarrier to help detect non-fallthrough blocks. - Check for and avoid disrupting fall-through edges in more cases. llvm-svn: 86871
-
Jakob Stoklund Olesen authored
- Edges are split before any phis are eliminated, so the code is SSA. - Create a proper IR BasicBlock for the split edges. - LiveVariables::addNewBlock now has same syntax as MachineDominatorTree::addNewBlock. Algorithm calculates predecessor live-out set rather than successor live-in set. This feature still causes some miscompilations. llvm-svn: 86867
-
Devang Patel authored
llvm-svn: 86861
-
Devang Patel authored
add debug info location to an instruction. llvm-svn: 86859
-
Evan Cheng authored
Add TargetLowering::isLegalICmpImmediate. It tells LSR what immediate can be folded into target icmp instructions. llvm-svn: 86858
-
Jim Grosbach authored
llvm-svn: 86857
-
Dan Gohman authored
llvm-svn: 86856
-
Dan Gohman authored
llvm-svn: 86855
-
Dan Gohman authored
the numbers mean. llvm-svn: 86854
-
Dan Gohman authored
llvm-svn: 86853
-
Dan Gohman authored
llvm-svn: 86852
-
Dan Gohman authored
llvm-svn: 86851
-
Dan Gohman authored
llvm-svn: 86850
-
Chris Lattner authored
llvm-svn: 86848
-
Chris Lattner authored
llvm-svn: 86847
-
Chris Lattner authored
llvm-svn: 86846
-
Duncan Sands authored
llvm.invariant.start to be used without necessarily being paired with a call to llvm.invariant.end. If you run the entire optimization pipeline then such calls are in fact deleted (adce does it), but that's actually a good thing since we probably do want them to be zapped late in the game. There should really be an integration test that checks that the llvm.invariant.start call lasts long enough that all passes that do interesting things with it get to do their stuff before it is deleted. But since no passes do anything interesting with it yet this will have to wait for later. llvm-svn: 86840
-
Evan Cheng authored
llvm-svn: 86814
-
Chris Lattner authored
llvm-svn: 86810
-
Jeffrey Yasskin authored
by default). llvm-svn: 86807
-
Chris Lattner authored
llvm-svn: 86804
-
Daniel Dunbar authored
llvm-svn: 86803
-
Rafael Espindola authored
llvm-svn: 86802
-
Sandeep Patel authored
llvm-svn: 86797
-
Daniel Dunbar authored
llvm-svn: 86795
-
Daniel Dunbar authored
llvm-svn: 86794
-
Jim Grosbach authored
The TBB and TBH instructions for Thumb2 are really handy for jump tables, but can only branch forward. To best take advantage of them, we'd like to adjust the basic blocks around a bit when reasonable. This patch puts basics in place to do that, with a super-simple algorithm for backwards jump table targets that creates a new branch after the jump table which branches backwards. Real heuristics for reordering blocks or other modifications rather than inserting branches will follow. llvm-svn: 86791
-
Chris Lattner authored
start using them in a trivial way when -enable-jump-threading-lvi is passed. enable-jump-threading-lvi will be my playground for awhile. llvm-svn: 86789
-
Bill Wendling authored
llvm-svn: 86786
-
Bill Wendling authored
llvm-svn: 86785
-
Devang Patel authored
llvm-svn: 86784
-
Bill Wendling authored
function it's generated for. llvm-svn: 86779
-
Daniel Dunbar authored
Add Triple::str() which returns the contents of the Triple as a string, as a more readable alternative to getTriple(). llvm-svn: 86773
-
Devang Patel authored
llvm-svn: 86771
-
Daniel Dunbar authored
Also, add unittests for find_first_of and find_first_not_of. llvm-svn: 86770
-
Daniel Dunbar authored
llvm-svn: 86769
-
Chris Lattner authored
oops, didn't mean to commit this, no harm, but add a todoops, didn't mean to commit this, no harm, but add a todoo llvm-svn: 86768
-
Chris Lattner authored
vend value constraint information to the optimizer. llvm-svn: 86767
-
Chris Lattner authored
llvm-svn: 86766
-