- Nov 19, 2009
-
-
Jakob Stoklund Olesen authored
critical edges in PHIElimination. This has a huge impact on regalloc performance, and we recover almost all of the 10% compile time regression that edge splitting introduced. llvm-svn: 89381
-
Bill Wendling authored
$ svn merge -c -89279 https://llvm.org/svn/llvm-project/llvm/trunk --- Reverse-merging r89279 into '.': U lib/CodeGen/AsmPrinter/DwarfException.cpp U lib/Target/TargetLoweringObjectFile.cpp $ svn merge -c -89270 https://llvm.org/svn/llvm-project/llvm/trunk --- Reverse-merging r89270 into '.': G lib/CodeGen/AsmPrinter/DwarfException.cpp G lib/Target/TargetLoweringObjectFile.cpp llvm-svn: 89379
-
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
-
Lang Hames authored
All spiller calls in RegAllocLinearScan now go through the new Spiller interface. The "-new-spill-framework" command line option has been removed. To use the trivial in-place spiller you should now pass "-spiller=trivial -rewriter=trivial". (Note the trivial spiller/rewriter are only meant to serve as examples of the new in-place modification work. Enabling them will yield terrible, though hopefully functional, code). llvm-svn: 89311
-
Bill Wendling authored
exception table than DataRel. llvm-svn: 89279
-
Bob Wilson authored
llvm-svn: 89275
-
Bill Wendling authored
Place the EH table in the __TEXT section on MachO. It saves space. llvm-svn: 89270
-
- Nov 18, 2009
-
-
Bob Wilson authored
the tail of a block may make that block a new candidate for duplication. llvm-svn: 89264
-
Bob Wilson authored
llvm-svn: 89254
-
Jakob Stoklund Olesen authored
When TwoAddressInstructionPass deletes a dead instruction, make sure that all register kills are accounted for. The 2-addr register does not get special treatment. llvm-svn: 89246
-
Jakob Stoklund Olesen authored
Verify LiveVariables information when present. llvm-svn: 89241
-
Jakob Stoklund Olesen authored
llvm-svn: 89240
-
Lang Hames authored
Fixed the in-place spiller and trivial rewriter, which had been broken by the recent SlotIndexes work. llvm-svn: 89238
-
Bob Wilson authored
llvm-svn: 89225
-
Jakob Stoklund Olesen authored
when LiveVariables is available. The -split-phi-edges is now gone, and so is the hack to disable it when using the local register allocator. The PHIElimination pass no longer has LiveVariables as a prerequisite - that is what broke the local allocator. Instead we do critical edge splitting when possible - that is when LiveVariables is available. llvm-svn: 89213
-
Bob Wilson authored
contents of the block to be duplicated. Use this for ARM Cortex A8/9 to be more aggressive tail duplicating indirect branches, since it makes it much more likely that they will be predicted in the branch target buffer. Testcase coming soon. llvm-svn: 89187
-
Jakob Stoklund Olesen authored
llvm-svn: 89167
-
- Nov 17, 2009
-
-
Jakob Stoklund Olesen authored
llvm-svn: 89142
-
Jakob Stoklund Olesen authored
llvm-svn: 89139
-
Evan Cheng authored
llvm-svn: 89130
-
Evan Cheng authored
llvm-svn: 89129
-
Jakob Stoklund Olesen authored
The local register allocator doesn't like it when LiveVariables is run. We should also disable edge splitting under -O0, but that has to wait a bit. llvm-svn: 89125
-
Bob Wilson authored
unnecessary. It is broken because the "isIdenticalTo" check should be negated. If that is fixed, this code causes the CodeGen/X86/tail-opts.ll test to fail, in the dont_merge_oddly function. And, I confirmed that the regression is real -- the generated code is worse. As far as I can tell, that tail-opts.ll test is checking for what this code is supposed to handle and we're doing the right thing anyway. llvm-svn: 89121
-
Dan Gohman authored
llvm-svn: 89114
-
Bob Wilson authored
folding optimizations. llvm-svn: 89109
-
Bob Wilson authored
It was too difficult to keep the heuristics for merging and duplication consistent. llvm-svn: 89105
-
Evan Cheng authored
llvm-svn: 89082
-
Nick Lewycky authored
llvm-svn: 89075
-
Nick Lewycky authored
llvm-svn: 89066
-
Bill Wendling authored
more than one place. No intended functionality change. llvm-svn: 89024
-
Jakob Stoklund Olesen authored
llvm-svn: 89021
-
Dan Gohman authored
unconditional branches or fallthroghes. Instcombine/SimplifyCFG should be simplifying branches with known conditions. This fixes some problems caused by these transformations not updating the MachineBasicBlock CFG. llvm-svn: 89017
-
- Nov 16, 2009
-
-
Dan Gohman authored
uninitialized memory. llvm-svn: 88985
-
Devang Patel authored
llvm-svn: 88973
-
Dan Gohman authored
llvm-svn: 88956
-
Dan Gohman authored
llvm-svn: 88953
-
Bob Wilson authored
llvm-svn: 88940
-
Devang Patel authored
llvm-svn: 88939
-
Bob Wilson authored
llvm-svn: 88932
-