Matt Arsenault
03c67d1eb2
AMDGPU: Fix breaking SMEM clauses
...
This was completely ignoring subregisters,
so was not very useful. Also only break them
if xnack is actually enabled.
llvm-svn: 318505
2017-11-17 04:18:24 +00:00
Matt Arsenault
59ece95f6c
AMDGPU: Fix broken condition in hazard recognizer
...
Fixes bug 32248.
llvm-svn: 298125
2017-03-17 21:36:28 +00:00
Matt Arsenault
e823d92f7f
AMDGPU: Merge initial gfx9 support
...
llvm-svn: 295554
2017-02-18 18:29:53 +00:00
Tom Stellard
aea899e2a0
AMDGPU/SI: Handle hazard with s_rfe_b64
...
Reviewers: arsenm
Subscribers: kzhuravl, wdng, nhaehnle, yaxunl, llvm-commits, tony-tye
Differential Revision: https://reviews.llvm.org/D25638
llvm-svn: 285368
2016-10-27 23:50:21 +00:00
Tom Stellard
04051b5fad
AMDGPU/SI: Handle hazard with sgpr lane selects for v_{read,write}lane
...
Reviewers: arsenm
Subscribers: kzhuravl, wdng, nhaehnle, yaxunl, tony-tye, llvm-commits
Differential Revision: https://reviews.llvm.org/D25637
llvm-svn: 285367
2016-10-27 23:42:29 +00:00
Tom Stellard
b133fbb9a4
AMDGPU/SI: Handle hazard with > 8 byte VMEM stores
...
Reviewers: arsenm
Subscribers: kzhuravl, wdng, nhaehnle, yaxunl, tony-tye, llvm-commits
Differential Revision: https://reviews.llvm.org/D25577
llvm-svn: 285359
2016-10-27 23:05:31 +00:00
Tom Stellard
30d30824b4
AMDGPU/SI: Handle s_setreg hazard in GCNHazardRecognizer
...
Reviewers: arsenm
Subscribers: kzhuravl, wdng, nhaehnle, yaxunl, llvm-commits, tony-tye
Differential Revision: https://reviews.llvm.org/D25528
llvm-svn: 285338
2016-10-27 20:39:09 +00:00
Tom Stellard
961811c906
AMDGPU/SI: Handle s_getreg hazard in GCNHazardRecognizer
...
Reviewers: arsenm
Subscribers: kzhuravl, wdng, nhaehnle, yaxunl, llvm-commits, tony-tye
Differential Revision: https://reviews.llvm.org/D25526
llvm-svn: 284298
2016-10-15 00:58:14 +00:00
Tom Stellard
5ab6154dc3
AMDGPU/SI: Handle div_fmas hazard in GCNHazardRecognizer
...
Reviewers: arsenm
Subscribers: kzhuravl, wdng, nhaehnle, yaxunl, tony-tye, llvm-commits
Differential Revision: https://reviews.llvm.org/D25250
llvm-svn: 283622
2016-10-07 23:42:48 +00:00
Matt Arsenault
43e92fe306
AMDGPU: Cleanup subtarget handling.
...
Split AMDGPUSubtarget into amdgcn/r600 specific subclasses.
This removes most of the static_casting of the basic codegen
classes everywhere, and tries to restrict the features
visible on the wrong target.
llvm-svn: 273652
2016-06-24 06:30:11 +00:00
Benjamin Kramer
d3f4c05aea
Move instances of std::function.
...
Or replace with llvm::function_ref if it's never stored. NFC intended.
llvm-svn: 272513
2016-06-12 16:13:55 +00:00
Tom Stellard
1f520e5c98
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
2016-05-02 17:39:06 +00:00
Tom Stellard
a27007eb4f
AMDGPU/SI: Use hazard recognizer to detect DPP hazards
...
Reviewers: arsenm
Subscribers: arsenm, llvm-commits
Differential Revision: http://reviews.llvm.org/D18603
llvm-svn: 268247
2016-05-02 16:23:09 +00:00
Tom Stellard
cb6ba62d6f
AMDGPU/SI: Enable the post-ra scheduler
...
Summary:
This includes a hazard recognizer implementation to replace some of
the hazard handling we had during frame index elimination.
Reviewers: arsenm
Subscribers: qcolombet, arsenm, llvm-commits
Differential Revision: http://reviews.llvm.org/D18602
llvm-svn: 268143
2016-04-30 00:23:06 +00:00