- Nov 05, 2009
-
-
Evan Cheng authored
llvm-svn: 86085
-
- Nov 03, 2009
-
-
Evan Cheng authored
llvm-svn: 85947
-
- Nov 02, 2009
-
-
Evan Cheng authored
llvm-svn: 85827
-
Evan Cheng authored
the loop preheader. Add instructions which are already in the preheader block that may be common expressions of those that are hoisted out. These does get a few more instructions CSE'ed. llvm-svn: 85799
-
- Oct 30, 2009
-
-
Dan Gohman authored
unfolding loads for hoisting. getOpcodeAfterMemoryUnfold returns the opcode of the original operation without the load, not the load itself, MachineLICM needs to know the operand index in order to get the correct register class. Extend getOpcodeAfterMemoryUnfold to return this information. llvm-svn: 85622
-
- Oct 29, 2009
-
-
Dan Gohman authored
llvm-svn: 85515
-
- Oct 28, 2009
-
-
Dan Gohman authored
the new instructions and leave the old one in place. llvm-svn: 85393
-
Dan Gohman authored
otherwise unhoistable instructions in order to allow the loads to be hoisted. llvm-svn: 85364
-
- Oct 25, 2009
-
-
Nick Lewycky authored
VISIBILITY_HIDDEN removal. llvm-svn: 85043
-
Nick Lewycky authored
Chris claims we should never have visibility_hidden inside any .cpp file but that's still not true even after this commit. llvm-svn: 85042
-
- Oct 10, 2009
-
-
Dan Gohman authored
is trivially rematerializable and integrate it into TargetInstrInfo::isTriviallyReMaterializable. This way, all places that need to know whether an instruction is rematerializable will get the same answer. This enables the useful parts of the aggressive-remat option by default -- using AliasAnalysis to determine whether a memory location is invariant, and removes the questionable parts -- rematting operations with virtual register inputs that may not be live everywhere. llvm-svn: 83687
-
- Oct 09, 2009
-
-
Dan Gohman authored
TargetInstrDesc::isRematerializable flag, so it isn't necessary to do this check in its callers. llvm-svn: 83671
-
Evan Cheng authored
llvm-svn: 83624
-
Evan Cheng authored
llvm-svn: 83622
-
- Oct 07, 2009
-
-
Dan Gohman authored
implementations with a new MachineInstr::isInvariantLoad, which uses MachineMemOperands and is target-independent. This brings MachineLICM and other functionality to targets which previously lacked an isInvariantLoad implementation. llvm-svn: 83475
-
- Sep 26, 2009
-
-
Dan Gohman authored
allocatable. Even if it doesn't appear to have any defs, it may latter on after register allocation. llvm-svn: 82834
-
Dan Gohman authored
llvm-svn: 82825
-
- Aug 22, 2009
-
-
Bill Wendling authored
llvm-svn: 79754
-
- Aug 11, 2009
-
-
Dan Gohman authored
llvm-svn: 78677
-
- Jul 25, 2009
-
-
Daniel Dunbar authored
- Some clients which used DOUT have moved to DEBUG. We are deprecating the "magic" DOUT behavior which avoided calling printing functions when the statement was disabled. In addition to being unnecessary magic, it had the downside of leaving code in -Asserts builds, and of hiding potentially unnecessary computations. llvm-svn: 77019
-
- Feb 27, 2009
-
-
Evan Cheng authored
llvm-svn: 65592
-
- Feb 05, 2009
-
-
Evan Cheng authored
Machine LICM increases register pressure and it almost always increase code size. For now, disable it for optimizing for size. llvm-svn: 63856
-
Evan Cheng authored
llvm-svn: 63854
-
- Feb 04, 2009
-
-
Evan Cheng authored
llvm-svn: 63729
-
Evan Cheng authored
Don't bother hoisting out a "cheap" instruction if all of its uses are PHIs. LICM "cheap" instructions are not particularly beneficial to start with. This will just end up making the copies harder to coalesce. llvm-svn: 63728
-
Evan Cheng authored
For now, only hoist re-materilizable instructions. LICM will increase register pressure. We want to avoid spilling more instructions if it's possible. llvm-svn: 63725
-
- Jan 15, 2009
-
-
Dan Gohman authored
loops, hoisting instructions all the way out in one step rather than hoisting them one nest level at a time. Also, make a few other code simplifications. This speeds up MachineLICM by several fold. llvm-svn: 62283
-
- Jan 05, 2009
-
-
Dan Gohman authored
llvm-svn: 61715
-
- Dec 23, 2008
-
-
Dan Gohman authored
several places. isTerminator() returns true for a superset of cases, and includes things like FP_REG_KILL, which are nither return or branch but aren't safe to move/remat/etc. llvm-svn: 61373
-
- Dec 18, 2008
-
-
Dan Gohman authored
llvm-svn: 61184
-
- Oct 03, 2008
-
-
Dan Gohman authored
isReg, etc., from isRegister, etc. llvm-svn: 57006
-
- Sep 04, 2008
-
-
Dan Gohman authored
llvm-svn: 55779
-
- Aug 31, 2008
-
-
Bill Wendling authored
llvm-svn: 55578
-
- Aug 20, 2008
-
-
Bill Wendling authored
llvm-svn: 55074
-
- Aug 18, 2008
-
-
Bill Wendling authored
hoisting out some "test" and "cmp" instructions. This was obvious badness. llvm-svn: 54908
-
- Jul 07, 2008
-
-
Bill Wendling authored
llvm-svn: 53166
-
- May 13, 2008
-
-
Dan Gohman authored
several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017
-
- May 12, 2008
-
-
Bill Wendling authored
llvm-svn: 50990
-
Bill Wendling authored
possible for it to produce worse code than before. The rest of this patch is code cleanup. llvm-svn: 50987
-
- Mar 10, 2008
-
-
Bill Wendling authored
llvm-svn: 48142
-