| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
direction.
Live interval reconstruction needs to account for this, and scour its maps to
prevent dangling references.
llvm-svn: 63558
|
|
|
|
| |
llvm-svn: 63267
|
|
|
|
| |
llvm-svn: 63255
|
|
|
|
|
|
|
|
|
|
| |
RA problem by expanding the live interval of an
earlyclobber def back one slot. Remove
overlap-earlyclobber throughout. Remove
earlyclobber bits and their handling from
live internals.
llvm-svn: 56539
|
|
|
|
|
|
|
| |
and redo as linked list walk. Logic moved into RA.
Per review feedback.
llvm-svn: 56326
|
|
|
|
| |
llvm-svn: 54780
|
|
|
|
|
|
| |
top bit of 'reg' instead. If the top bit is set, than the LiveInterval represents a stack slot live interval.
llvm-svn: 52639
|
|
|
|
| |
llvm-svn: 51934
|
|
|
|
| |
llvm-svn: 47629
|
|
|
|
|
|
| |
would have been a Godsend here!
llvm-svn: 47625
|
|
|
|
| |
llvm-svn: 47368
|
|
|
|
|
|
|
| |
register defs and uses after each successful coalescing.
- Also removed a number of hacks and fixed some subtle kill information bugs.
llvm-svn: 47167
|
|
|
|
|
|
| |
- removeRange() can now update value# information.
llvm-svn: 47044
|
|
|
|
| |
llvm-svn: 46930
|
|
|
|
|
|
| |
val# with previous liverange's.
llvm-svn: 46579
|
|
|
|
| |
llvm-svn: 45971
|
|
|
|
| |
llvm-svn: 45418
|
|
|
|
| |
llvm-svn: 44434
|
|
|
|
| |
llvm-svn: 44427
|
|
|
|
|
|
| |
their value numbers with the specified value number.
llvm-svn: 43062
|
|
|
|
|
|
|
|
| |
the source register will be coalesced to the super register of the LHS. Properly
merge in the live ranges of the resulting coalesced interval that were part of
the original source interval to the live interval of the super-register.
llvm-svn: 42961
|
|
|
|
|
|
|
|
|
| |
(almost) a register copy. However, it always coalesced to the register of the
RHS (the super-register). All uses of the result of a EXTRACT_SUBREG are sub-
register uses which adds subtle complications to load folding, spiller rewrite,
etc.
llvm-svn: 42899
|
|
|
|
| |
llvm-svn: 41751
|
|
|
|
| |
llvm-svn: 41739
|
|
|
|
|
|
| |
This reduces coalescing time on siod Mac OS X PPC by 35%. Also remove the back ptr from VNInfo to LiveInterval and other tweaks.
llvm-svn: 41729
|
|
|
|
| |
llvm-svn: 41669
|
|
|
|
| |
llvm-svn: 41641
|
|
|
|
|
|
|
| |
Changes related modules so VNInfo's are not copied. This decrease
copy coalescing time by 45% and overall compilation time by 10% on siod.
llvm-svn: 41579
|
|
|
|
|
|
|
|
| |
1. Eliminate the costly live interval "swapping".
2. Change ValueNumberInfo container from SmallVector to std::vector. The former
performs slowly when the vector size is very large.
llvm-svn: 41536
|
|
|
|
| |
llvm-svn: 41064
|
|
|
|
| |
llvm-svn: 41043
|
|
|
|
| |
llvm-svn: 41016
|
|
|
|
| |
llvm-svn: 40921
|
|
|
|
|
|
|
| |
- Fix some minor bugs related to special markers on val# def. ~0U means
undefined, ~1U means dead val#.
llvm-svn: 40916
|
|
|
|
| |
llvm-svn: 40914
|
|
|
|
|
|
|
|
|
|
| |
kill instruction #, and source register number (iff the value# is defined by a
copy).
- Now def instruction # is set for every value#, not just for copy defined ones.
- Update some outdated code related inactive live ranges.
- Kill info not yet set. That's next patch.
llvm-svn: 40913
|
|
|
|
|
|
| |
a live interval.
llvm-svn: 36216
|
|
|
|
|
|
|
| |
rework the hacks that had us passing OStream in. We pass in std::ostream*
instead, check for null, and then dispatch to the correct print() method.
llvm-svn: 32636
|
|
|
|
| |
llvm-svn: 32622
|
|
|
|
| |
llvm-svn: 32617
|
|
|
|
|
|
| |
now cerr, cout, and NullStream resp.
llvm-svn: 32298
|
|
|
|
| |
llvm-svn: 31992
|
|
|
|
| |
llvm-svn: 31958
|
|
|
|
| |
llvm-svn: 31954
|
|
|
|
|
|
|
|
|
|
| |
Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to delete code without review) and unused
variables in generated code. Maintainers should clean up the remaining
issues when they see them. All changes pass DejaGnu tests and Olden.
llvm-svn: 31380
|
|
|
|
|
|
| |
method for joining the live ranges instead of the fully-general one.
llvm-svn: 30049
|
|
|
|
| |
llvm-svn: 29994
|
|
|
|
|
|
|
|
| |
number of copies, potentially defining live ranges that appear to have
differing value numbers that become identical when coallsced. Among other
things, this fixes CodeGen/X86/shift-coalesce.ll and PR687.
llvm-svn: 29968
|
|
|
|
| |
llvm-svn: 29896
|
|
|
|
|
|
|
|
| |
paves the way for future changes, increases coallescing opportunities (in
theory, not witnessed in practice), and eliminates the really expensive
LiveIntervals::overlapsAliases method.
llvm-svn: 29890
|