AMDGPU/SI: Use the hazard recognizer to break SMEM soft clauses
authorTom Stellard <thomas.stellard@amd.com>
Mon, 2 May 2016 17:39:06 +0000 (17:39 +0000)
committerTom Stellard <thomas.stellard@amd.com>
Mon, 2 May 2016 17:39:06 +0000 (17:39 +0000)
commit1f520e5c98a0fbeaa1347ea1e58a3f58721ae98c
tree8b8ede37f32568e74beb048b09157f87bef3c498
parent119d3d80cbb53ff601f5bf56affb464d3b5f55ea
AMDGPU/SI: Use the hazard recognizer to break SMEM soft clauses

Summary:
Add support for detecting hazards in SMEM soft clauses, so that we only
break the clauses when necessary, either by adding s_nop or re-ordering
other alu instructions.

Reviewers: arsenm

Subscribers: arsenm, llvm-commits

Differential Revision: http://reviews.llvm.org/D18870

llvm-svn: 268260
llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
llvm/lib/Target/AMDGPU/SIInsertWaits.cpp
llvm/test/CodeGen/AMDGPU/atomic_cmp_swap_local.ll
llvm/test/CodeGen/AMDGPU/fneg-fabs.f64.ll
llvm/test/CodeGen/AMDGPU/schedule-kernel-arg-loads.ll