- Aug 10, 2010
-
-
Jakob Stoklund Olesen authored
The live interval may be used for a spill slot as well, and that spill slot could be shared by split registers. We cannot shrink it, even if we know the current register won't need the spill slot in that range. llvm-svn: 110721
-
Jakob Stoklund Olesen authored
llvm-svn: 110720
-
Bill Wendling authored
ARM testers. llvm-svn: 110718
-
Devang Patel authored
llvm-svn: 110717
-
Owen Anderson authored
llvm-svn: 110714
-
Devang Patel authored
llvm-svn: 110712
-
Daniel Dunbar authored
llvm-svn: 110711
-
Evan Cheng authored
llvm-svn: 110710
-
Evan Cheng authored
Re-apply r110655 with fixes. Epilogue must restore sp from fp if the function stack frame has a var-sized object. Also added a test case to check for the added benefit of this patch: it's optimizing away the unnecessary restore of sp from fp for some non-leaf functions. llvm-svn: 110707
-
Rafael Espindola authored
Nick, please review. llvm-svn: 110705
-
Jakob Stoklund Olesen authored
When splitting a live range, the new registers have fewer uses and the permissible register class may be less constrained. Recompute the register class constraint from the uses of new registers created for a split. This may let them be allocated from a larger set, possibly avoiding a spill. llvm-svn: 110703
-
Daniel Dunbar authored
register is", it breaks a couple test-suite tests. llvm-svn: 110701
-
Daniel Dunbar authored
parentheses from argument lists. llvm-svn: 110692
-
Bob Wilson authored
llvm-svn: 110687
-
Jakob Stoklund Olesen authored
during live range splitting. llvm-svn: 110686
-
Jakob Stoklund Olesen authored
llvm-svn: 110685
-
Rafael Espindola authored
llvm-svn: 110684
-
Michael J. Spencer authored
This reverts commit 110575. Target.isAbsolute() is true if SD would be null. llvm-svn: 110683
-
Rafael Espindola authored
llvm-svn: 110682
-
Mikhail Glushenkov authored
Patch by NAKAMURA Takumi! llvm-svn: 110680
-
Mikhail Glushenkov authored
llvm-svn: 110679
-
Chandler Carruth authored
llvm-svn: 110667
-
Tobias Grosser authored
llvm-svn: 110665
-
Tobias Grosser authored
Those look like typos to me. llvm-svn: 110664
-
Devang Patel authored
llvm-svn: 110656
-
Evan Cheng authored
reserved, not available for general allocation. This eliminates all the extra checks for Darwin. This change also fixes the use of FP to access frame indices in leaf functions and cleaned up some confusing code in epilogue emission. llvm-svn: 110655
-
Bill Wendling authored
llvm-svn: 110654
-
Devang Patel authored
llvm-svn: 110653
-
Devang Patel authored
llvm-svn: 110652
-
Bruno Cardoso Lopes authored
llvm-svn: 110650
-
Evan Cheng authored
llvm-svn: 110649
-
Bruno Cardoso Lopes authored
llvm-svn: 110648
-
Bruno Cardoso Lopes authored
Remove replicate intrinsics, clang will generate shufflevector for those. The shuffles can't be matched by x86 codegen yet, but will soon llvm-svn: 110647
-
Bruno Cardoso Lopes authored
llvm-svn: 110645
-
Bruno Cardoso Lopes authored
llvm-svn: 110643
-
Devang Patel authored
Refactor and simplify code to avoid redundant checks. llvm-svn: 110642
-
Dan Gohman authored
if-else statements, to hopefully support older pythons (PR7850). llvm-svn: 110638
-
Chris Lattner authored
is the default. Patch by NAKAMURA Takumi! llvm-svn: 110636
-
Bruno Cardoso Lopes authored
llvm-svn: 110633
-
Jakob Stoklund Olesen authored
register at a time. This turns out to be slightly faster than iterating over instructions, but more importantly, it allows us to compute spill weights for new registers created after the spill weight pass has run. Also compute the allocation hint at the same time as the spill weight. This allows us to use the spill weight as a cost metric for copies, and choose the most profitable hint if there is more than one possibility. The new hints provide a very small (< 0.1%) but universal code size improvement. llvm-svn: 110631
-