This is an archive of the discontinued LLVM Phabricator instance.

CodeGen: Allow virtual registers in bundles
ClosedPublic

Authored by arsenm on Jul 30 2019, 11:55 AM.

Details

Reviewers
qcolombet
Summary

The note in the documentation suggests this restriction is a compile
time optimization for architectures that make heavy use of
bundling. Allowing virtual registers in a bundle is useful for some
(non-R600) AMDGPU use cases and are infrequent enough to matter.

A more common AMDGPU use case has already been using virtual registers
in bundles since r333691, although never calling finalizeBundle on
them and manually creating the use/def list on the BUNDLE
instruction. This is also relatively infrequent, and only happens for
consecutive sequences of some load/store types.

Diff Detail

Event Timeline

arsenm created this revision.Jul 30 2019, 11:55 AM
qcolombet accepted this revision.Aug 1 2019, 2:03 AM
This revision is now accepted and ready to land.Aug 1 2019, 2:03 AM
arsenm closed this revision.Aug 1 2019, 11:40 AM

r367597