- Nov 21, 2009
-
-
Devang Patel authored
llvm-svn: 89536
-
Jakob Stoklund Olesen authored
When splitting a critical edge, the registers live through the edge are: - Used in a PHI instruction, or - Live out from the predecessor, and - Live in to the successor. This allows the coalescer to eliminate even more phi joins. llvm-svn: 89530
-
Devang Patel authored
llvm-svn: 89522
-
Dale Johannesen authored
and stores, handle the case where the element size is not a valid target type correctly (PPC). llvm-svn: 89521
-
Devang Patel authored
DIEs are created from MDNode, which are already uniqued. And DwarfDebug already uses ValueMaps to find and use existing DIE for a given MDNode. llvm-svn: 89518
-
David Goodwin authored
llvm-svn: 89511
-
Evan Cheng authored
llvm-svn: 89510
-
Dan Gohman authored
and support for blockaddresses in x86-32 PIC mode. llvm-svn: 89506
-
- Nov 20, 2009
-
-
Devang Patel authored
Use ValueMap, instead of std::map. llvm-svn: 89490
-
David Greene authored
Cleanups. Make things a little more efficient as suggested by Evan. llvm-svn: 89489
-
Devang Patel authored
llvm-svn: 89487
-
Evan Cheng authored
llvm-svn: 89477
-
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
-
Jakob Stoklund Olesen authored
llvm-svn: 89470
-
Duncan Sands authored
which was an expensive checks failure due to a bug in the checking. This patch in essence reverts the original fix for PR3393, and refixes it by a tweak to the way expensive checking is done. llvm-svn: 89454
-
Dan Gohman authored
tail call has been encountered. llvm-svn: 89444
-
Dan Gohman authored
just before codegen. llvm-svn: 89439
-
Jakob Stoklund Olesen authored
Fix debug code that assumes getBasicBlock never returns NULL. llvm-svn: 89428
-
Lang Hames authored
llvm-svn: 89422
-
David Goodwin authored
llvm-svn: 89404
-
- 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
-