summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Fuzzer/test/InfiniteTest.cpp
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2015-03-31 19:57:49 +0000
committerMatthias Braun <matze@braunis.de>2015-03-31 19:57:49 +0000
commitf5f89b9f7d94e360b557c31b067987fc89a22f20 (patch)
tree8c345c9d77b2ffa7d978b6b08ddb07678e38ff49 /llvm/lib/Fuzzer/test/InfiniteTest.cpp
parentd3eee4c95c7ba42603a30af90851080275639053 (diff)
downloadbcm5719-llvm-f5f89b9f7d94e360b557c31b067987fc89a22f20.tar.gz
bcm5719-llvm-f5f89b9f7d94e360b557c31b067987fc89a22f20.zip
RegAllocGreedy: Improve live interval order in ReverseLocal mode
When allocating live intervals in linear order and all of them are local to a single basic block you get an optimal coloring. This is also true if you reverse the order, but it is not true if you sort live ranges beginnings in reverse order, change to sort live range endings in reverse order. Take the following live ranges for example: |---| |--------| |----------| |-------| They get colored suboptimally with 3 registers if you sort the live range starting points in reverse order (but optimally with live range begins in order, or live range ends in reverse order). Apparently the previous strategy was intentional because of allocation time considerations. I am having a hard time replicating these effects, while I see substantial improvements in allocation quality with this change. No testcase as none of the (in tree) targets use reverse order mode. Differential Revision: http://reviews.llvm.org/D8625 llvm-svn: 233742
Diffstat (limited to 'llvm/lib/Fuzzer/test/InfiniteTest.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud