- Dec 03, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 120842
-
- Nov 19, 2010
-
-
Jakob Stoklund Olesen authored
Patch by Krister Wombell! llvm-svn: 119791
-
- Nov 16, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 119374
-
- Nov 11, 2010
-
-
Jakob Stoklund Olesen authored
constant loads. llvm-svn: 118741
-
- Oct 28, 2010
-
-
Jakob Stoklund Olesen authored
proper SSA updating. This doesn't cause MachineDominators to be recomputed since we are already requiring MachineLoopInfo which uses dominators as well. llvm-svn: 117598
-
- Oct 26, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 117337
-
- Oct 19, 2010
-
-
Owen Anderson authored
Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize the pass's dependencies. Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h before parsing commandline arguments. I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass registration/creation, please send the testcase to me directly. llvm-svn: 116820
-
- Oct 12, 2010
-
-
Owen Anderson authored
perform initialization without static constructors AND without explicit initialization by the client. For the moment, passes are required to initialize both their (potential) dependencies and any passes they preserve. I hope to be able to relax the latter requirement in the future. llvm-svn: 116334
-
- Oct 08, 2010
-
-
Owen Anderson authored
llvm-svn: 115996
-
- Sep 25, 2010
-
-
Lang Hames authored
Removed VNInfo::isDefAccurate(). Def "accuracy" can be checked by testing whether LiveIntervals::getInstructionFromIndex(def) returns NULL. llvm-svn: 114791
-
- Sep 02, 2010
-
-
Jim Grosbach authored
at them since they'd end up in the register weights list. Tell it to stop doing that. llvm-svn: 112756
-
- Sep 01, 2010
-
-
Jim Grosbach authored
llvm-svn: 112746
-
Jim Grosbach authored
physical register in a register class. Make sure to assert if the register class is empty. llvm-svn: 112743
-
Jim Grosbach authored
r112728 did this for fast regalloc. llvm-svn: 112741
-
- Aug 14, 2010
-
-
Jakob Stoklund Olesen authored
The earliestStart argument is entirely specific to linear scan allocation, and can be easily calculated by RegAllocLinearScan. Replace std::vector with SmallVector. llvm-svn: 111055
-
- Aug 06, 2010
-
-
Owen Anderson authored
llvm-svn: 110460
-
Owen Anderson authored
llvm-svn: 110410
-
Owen Anderson authored
ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396
-
- Jul 27, 2010
-
-
Jim Grosbach authored
llvm-svn: 109525
-
- Jul 22, 2010
-
-
Owen Anderson authored
llvm-svn: 109045
-
- Jul 21, 2010
-
-
Jakob Stoklund Olesen authored
The spillers can pluck the analyses they need from the pass reference. Switch some never-null pointers to references. llvm-svn: 108969
-
- Jul 19, 2010
-
-
Jakob Stoklund Olesen authored
non-const. llvm-svn: 108734
-
- Jul 16, 2010
-
-
Jakob Stoklund Olesen authored
TII::isMoveInstr is going tobe completely removed. llvm-svn: 108507
-
- Jul 08, 2010
-
-
Jakob Stoklund Olesen authored
EXTRACT_SUBREG no longer appears as a machine instruction. Use COPY instead. Add isCopy() checks in many places using isMoveInstr() and isExtractSubreg(). The isMoveInstr hook will be removed later. llvm-svn: 107879
-
- Jul 03, 2010
-
-
Eric Christopher authored
llvm-svn: 107537
-
- Jun 24, 2010
-
-
Jakob Stoklund Olesen authored
vector instead. This avoids needless copying and allocation. Add documentation. llvm-svn: 106788
-
- May 15, 2010
-
-
Chris Lattner authored
patch by Evzen Muller! llvm-svn: 103876
-
- Apr 08, 2010
-
-
Chris Lattner authored
llvm-svn: 100709
-
- Feb 26, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 97261
-
- Jan 05, 2010
-
-
David Greene authored
llvm-svn: 92583
-
- Dec 19, 2009
-
-
Douglas Gregor authored
llvm-svn: 91764
-
- Dec 14, 2009
-
-
Lang Hames authored
Moved spill weight calculation out of SimpleRegisterCoalescing and into its own pass: CalculateSpillWeights. llvm-svn: 91273
-
- Dec 10, 2009
-
-
Jakob Stoklund Olesen authored
The coalescer is supposed to clean these up, but when setting up parameters for a function call, there may be copies to physregs. If the defining instruction has been LICM'ed far away, the coalescer won't touch it. The register allocation hint does not always work - when the register allocator is backtracking, it clears the hints. This patch is more conservative than r90502, and does not break 483.xalancbmk/i686. It still breaks the PowerPC bootstrap, so it is disabled by default, and can be enabled with the -trivial-coalesce-ends option. llvm-svn: 91049
-
- Dec 09, 2009
-
-
Lang Hames authored
When a call is placed to spill an interval this spiller will first try to break the interval up into its component values. Single value intervals and intervals which have already been split (or are the result of previous splits) are spilled by the default spiller. Splitting intervals as described above may improve the performance of generated code in some circumstances. This work is experimental however, and it still miscompiles many benchmarks. It's not recommended for general use yet. llvm-svn: 90951
-
- Dec 05, 2009
-
-
Bill Wendling authored
llvm-svn: 90653
-
- Dec 04, 2009
-
-
Jakob Stoklund Olesen authored
The coalescer is supposed to clean these up, but when setting up parameters for a function call, there may be copies to physregs. If the defining instruction has been LICM'ed far away, the coalescer won't touch it. The register allocation hint does not always work - when the register allocator is backtracking, it clears the hints. This patch takes care of a few more cases that r90163 missed. llvm-svn: 90502
-
- Nov 20, 2009
-
-
David Greene authored
Cleanups. Make things a little more efficient as suggested by Evan. llvm-svn: 89489
-
Lang Hames authored
llvm-svn: 89422
-
- Nov 19, 2009
-
-
David Greene authored
Fix a small bug. Fix one case we missed to make sure we reserve registers from allocation. llvm-svn: 89376
-
David Greene authored
Add support for spreading register allocation. Add a -linearscan-skip-count argument (default to 0) that tells the allocator to remember the last N registers it allocated and skip them when looking for a register candidate. This tends to spread out register usage and free up post-allocation scheduling at the cost of slightly more register pressure. The primary benefit is the ability to backschedule reloads. This is turned off by default. llvm-svn: 89356
-