- Jan 07, 2012
-
-
Evan Cheng authored
opportunities that only present themselves after late optimizations such as tail duplication .e.g. ## BB#1: movl %eax, %ecx movl %ecx, %eax ret The register allocator also leaves some of them around (due to false dep between copies from phi-elimination, etc.) This required some changes in codegen passes. Post-ra scheduler and the pseudo-instruction expansion passes have been moved after branch folding and tail merging. They were before branch folding before because it did not always update block livein's. That's fixed now. The pass change makes independently since we want to properly schedule instructions after branch folding / tail duplication. rdar://10428165 rdar://10640363 llvm-svn: 147716
-
- Dec 07, 2011
-
-
Evan Cheng authored
generator to it. For non-bundle instructions, these behave exactly the same as the MC layer API. For properties like mayLoad / mayStore, look into the bundle and if any of the bundled instructions has the property it would return true. For properties like isPredicable, only return true if *all* of the bundled instructions have the property. For properties like canFoldAsLoad, isCompare, conservatively return false for bundles. llvm-svn: 146026
-
- Jul 01, 2011
-
-
Evan Cheng authored
llvm-svn: 134259
-
- Jun 27, 2011
-
-
Evan Cheng authored
llvm-svn: 133944
-
- Jun 16, 2011
-
-
Jakob Stoklund Olesen authored
No functional change was intended. llvm-svn: 133202
-
- Jun 02, 2011
-
-
Devang Patel authored
llvm-svn: 132487
-
- Apr 15, 2011
-
-
Chris Lattner authored
Luis Felipe Strano Moraes! llvm-svn: 129558
-
- Dec 15, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 121805
-
- Sep 02, 2010
-
-
Jim Grosbach authored
llvm-svn: 112832
-
- Jul 15, 2010
-
-
Bill Wendling authored
make sure to allocate enough space in the std::vector. llvm-svn: 108449
-
Bill Wendling authored
llvm-svn: 108448
-
Bill Wendling authored
llvm-svn: 108440
-
Chris Lattner authored
llvm-svn: 108419
-
Bill Wendling authored
llvm-svn: 108413
-
Bill Wendling authored
get *very* large, but we only need it to be the size of the number of pregs. llvm-svn: 108412
-
- Jul 12, 2010
-
-
Rafael Espindola authored
AggressiveAntiDepBreaker should not be using getPhysicalRegisterRegClass. An instruction might be using a register that can only be replaced with one from a subclass of getPhysicalRegisterRegClass. With this patch we use getMinimalPhysRegClass. This is correct, but conservative. We should check the uses of the register and select the largest register class that can be used in all of them. llvm-svn: 108122
-
- Jun 16, 2010
-
-
Evan Cheng authored
Make post-ra scheduling, anti-dep breaking, and register scavenger (conservatively) aware of predicated instructions. This enables ARM to move if-conversion before post-ra scheduler. llvm-svn: 106091
-
- Jun 02, 2010
-
-
Jim Grosbach authored
for debug information. llvm-svn: 105324
-
-
- Apr 20, 2010
-
-
Dan Gohman authored
and End arguments by-value rather than by-reference. llvm-svn: 101830
-
- Apr 09, 2010
-
-
Bob Wilson authored
llvm-svn: 100904
-
- Feb 09, 2010
-
-
Chris Lattner authored
into TargetOpcodes.h. #include the new TargetOpcodes.h into MachineInstr. Add new inline accessors (like isPHI()) to MachineInstr, and start using them throughout the codebase. llvm-svn: 95687
-
- Jan 06, 2010
-
-
Jim Grosbach authored
llvm-svn: 92837
-
- Dec 24, 2009
-
-
David Greene authored
Change errs() to dbgs(). llvm-svn: 92093
-
- Dec 09, 2009
-
-
- Nov 24, 2009
-
-
rdar://problem/6721894David Goodwin authored
<rdar://problem/6721894>. Allow multiple registers to be renamed together (super and sub) if necessary to break an anti-dependence. llvm-svn: 89722
-
- Nov 21, 2009
-
-
David Goodwin authored
llvm-svn: 89511
-
- Nov 20, 2009
-
-
David Goodwin authored
Remove some old experimental code that is no longer needed. Remove additional, speculative scheduling pass as its cost did not translate into significant performance improvement. Minor tweaks. llvm-svn: 89471
-
David Goodwin authored
llvm-svn: 89404
-
- Nov 13, 2009
-
-
David Goodwin authored
llvm-svn: 88682
-
- Nov 12, 2009
-
-
David Goodwin authored
llvm-svn: 87015
-
- Nov 10, 2009
-
-
David Goodwin authored
Allow targets to specify register classes whose member registers should not be renamed to break anti-dependencies. llvm-svn: 86628
-
- Nov 05, 2009
-
-
David Goodwin authored
Fix bug in aggressive antidep breaking; liveness was not updated correctly for regions that do not have antidep candidates. llvm-svn: 86172
-
David Goodwin authored
llvm-svn: 86102
-
David Goodwin authored
Break anti-dependencies using free registers in a round-robin manner to avoid introducing new anti-dependencies. llvm-svn: 86098
-
- Nov 03, 2009
-
-
David Goodwin authored
Do a scheduling pass ignoring anti-dependencies to identify candidate registers that should be renamed. llvm-svn: 85939
-
- Oct 30, 2009
-
-
David Goodwin authored
Between scheduling regions, correctly maintain anti-dep breaking state so that we don't incorrectly rename registers that span these regions. llvm-svn: 85537
-
- Oct 29, 2009
-
-
David Goodwin authored
llvm-svn: 85522
-
- Oct 26, 2009
-
-
David Goodwin authored
Allow the aggressive anti-dep breaker to process the same region multiple times. This is necessary because new anti-dependencies are exposed when "current" ones are broken. llvm-svn: 85166
-
David Goodwin authored
Add aggressive anti-dependence breaker. Currently it is not the default for any target. Enable with -break-anti-dependencies=all. llvm-svn: 85145
-