| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
to turn off remat for debugging.
llvm-svn: 41118
|
|
|
|
|
|
| |
its sub-registers may overlap with the interval of the copy that's being coalesced.
llvm-svn: 41084
|
|
|
|
| |
llvm-svn: 41064
|
|
|
|
|
|
| |
intervals that are coalesced to be rematerialized.
llvm-svn: 41060
|
|
|
|
|
|
| |
may be out of whack.
llvm-svn: 41024
|
|
|
|
| |
llvm-svn: 41016
|
|
|
|
| |
llvm-svn: 40976
|
|
|
|
| |
llvm-svn: 40975
|
|
|
|
|
|
|
| |
- Fix some minor bugs related to special markers on val# def. ~0U means
undefined, ~1U means dead val#.
llvm-svn: 40916
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 40843
|
|
|
|
| |
llvm-svn: 40654
|
|
|
|
|
|
|
|
| |
when there are no uses. This fixes a dangling-pointer bug, where pointers to
deleted instructions were not removed from kills lists. More info here:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2007-July/009749.html
llvm-svn: 40131
|
|
|
|
| |
llvm-svn: 40022
|
|
|
|
| |
llvm-svn: 38453
|
|
simultaneously. Move that pass to SimpleRegisterCoalescing.
This makes it easier to implement alternative register allocation and
coalescing strategies while maintaining reuse of the existing live
interval analysis.
llvm-svn: 37520
|