[AMDGPU] Better support for VMEM soft clauses in GCNHazardRecognizer
authorJay Foad <jay.foad@amd.com>
Mon, 4 May 2020 16:41:08 +0000 (17:41 +0100)
committerJay Foad <jay.foad@amd.com>
Tue, 5 May 2020 14:49:09 +0000 (15:49 +0100)
commit3d76824b7f493e722ae4c160b47978834226c43c
treedb77a35558effc9ae1d520171474611922bcea68
parentc5b1a0352535e138af867f7b63cf5b4793fd6de7
[AMDGPU] Better support for VMEM soft clauses in GCNHazardRecognizer

VMEM soft clauses only contain VMEM and FLAT instructions. Teaching
GCNHazardRecognizer::checkSoftClauseHazards that other kinds of
instructions will naturally break the clause means there are far fewer
cases where it has to insert an s_nop instruction to forcibly break the
clause.

Differential Revision: https://reviews.llvm.org/D79353
llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.1d.d16.ll
llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.store.2d.d16.ll
llvm/test/CodeGen/AMDGPU/break-vmem-soft-clauses.mir
llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.d16.dim.ll
llvm/test/CodeGen/AMDGPU/memory_clause.ll