]> granicus.if.org Git - llvm/commit
CodeGen: Allow virtual registers in bundles
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Thu, 1 Aug 2019 18:41:28 +0000 (18:41 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Thu, 1 Aug 2019 18:41:28 +0000 (18:41 +0000)
commit78c83d2c673a88f9d94b6adfa79687be839c2c50
treeb0d553f4a15ba8709f38fa315da1991b2b71724f
parenta162858e39bffb64ba449ce918c57029f47e678c
CodeGen: Allow virtual registers in bundles

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@367597 91177308-0d34-0410-b5e6-96231b3b80d8
docs/CodeGenerator.rst
lib/CodeGen/MachineInstrBundle.cpp