This is an archive of the discontinued LLVM Phabricator instance.

AMDGPU/SI: Enable lanemask tracking in misched
ClosedPublic

Authored by tstellarAMD on Mar 24 2016, 9:35 AM.

Details

Summary

This results in higher register usage, but should make it easier for
the compiler to hide latency.

This pass is a prerequisite for some more scheduler improvements, and I
think the increase register usage with this patch is acceptable, because
when combined with the scheduler improvements, the total register usage
will decrease.

shader-db stats:

2382 shaders in 478 tests
Totals:
SGPRS: 48672 -> 49088 (0.85 %)
VGPRS: 34148 -> 34847 (2.05 %)
Code Size: 1285816 -> 1289128 (0.26 %) bytes
LDS: 28 -> 28 (0.00 %) blocks
Scratch: 492544 -> 573440 (16.42 %) bytes per wave
Max Waves: 6856 -> 6846 (-0.15 %)
Wait states: 0 -> 0 (0.00 %)

Depends on D18451

Diff Detail

Repository
rL LLVM

Event Timeline

tstellarAMD retitled this revision from to AMDGPU/SI: Enable lanemask tracking in misched.
tstellarAMD updated this object.
tstellarAMD added reviewers: nhaehnle, arsenm.
tstellarAMD added a subscriber: llvm-commits.
arsenm accepted this revision.Mar 24 2016, 9:38 AM
arsenm edited edge metadata.

LGTM

This revision is now accepted and ready to land.Mar 24 2016, 9:38 AM
This revision was automatically updated to reflect the committed changes.