This is an archive of the discontinued LLVM Phabricator instance.

X86: Enable subregister liveness tracking.
AbandonedPublic

Authored by MatzeB on Mar 20 2015, 11:30 AM.

Details

Reviewers
qcolombet
Summary

After more extensive testing with the llvm test-suite I see no change in compiletime (+/- 1% noise), no significant changes in benchmark runtime, except for 462.libquantum which got 4% faster. The only change in the assembly there was two instance of tail-merging triggering they probably didn't trigger before because of the implicit superregister def/use operands.

Diff Detail

Repository
rL LLVM

Event Timeline

MatzeB updated this revision to Diff 22362.Mar 20 2015, 11:30 AM
MatzeB retitled this revision from to X86: Enable subregister liveness tracking..
MatzeB updated this object.
MatzeB edited the test plan for this revision. (Show Details)
MatzeB added a reviewer: qcolombet.
MatzeB set the repository for this revision to rL LLVM.
MatzeB added a subscriber: Unknown Object (MLST).
qcolombet edited edge metadata.Mar 20 2015, 11:42 AM

Hi Matthias,

Could you add a test case that demonstrates a difference in codegen other than # kill comments?
Something that uses the -enable-subreg-liveness=<bool> switch.

My concern is that if we disable the subreg liveness, we do not have something to tell us.

Thanks,
-Quentin

MatzeB abandoned this revision.Jun 19 2015, 5:20 PM

Abandoning this: There are no measurable performance benefits, so this is not worth the compiletime. We don't need this for testing the subreg infrastructure as AMDGPU (and an out-of-tree target) already have it enabled.