Matt Arsenault
9b2f3532c7
AMDGPU/GlobalISel: Select DS GWS intrinsics
2020-01-16 11:25:10 -05:00
Stanislav Mekhanoshin
cd69e4c74c
[AMDGPU] Fix bundle scheduling
...
Bundles coming to scheduler considered free, i.e. zero latency.
Fixed.
Differential Revision: https://reviews.llvm.org/D72487
2020-01-09 15:56:36 -08:00
Yevgeny Rouban
5e5af533ab
[IR] Fix mayReadFromMemory() for writeonly calls
...
Current implementation of Instruction::mayReadFromMemory()
returns !doesNotAccessMemory() which is !ReadNone. This
does not take into account that the writeonly attribute
also indicates that the call does not read from memory.
The patch changes the predicate to !doesNotReadMemory()
that reflects the intended behavior.
Differential Revision: https://reviews.llvm.org/D69086
llvm-svn: 375389
2019-10-21 06:52:08 +00:00
Matt Arsenault
bb582ebdba
AMDGPU: Remove v0 workaround for DS_GWS_* instructions
...
Any register should work for the src field since r366067, since the
used value is not pulled from the expected encoding field.
llvm-svn: 367598
2019-08-01 18:41:32 +00:00
Matt Arsenault
48c0df5d46
AMDGPU: Don't rely on m0 being -1 for GWS offsets
...
This only works if the high bits of m0 are also 0, so m0 would have to
be set to 0xffff.
llvm-svn: 366608
2019-07-19 20:01:24 +00:00
Matt Arsenault
85f3890126
AMDGPU: Force s_waitcnt after GWS instructions
...
This is apparently required to be the immediately following
instruction, so force it into a bundle with a waitcnt.
llvm-svn: 366607
2019-07-19 19:47:30 +00:00
Matt Arsenault
8ad1decf45
AMDGPU: Insert mem_viol check loop around GWS pre-GFX9
...
It is necessary to emit this loop around GWS operations in case the
wave is preempted pre-GFX9.
llvm-svn: 363979
2019-06-20 20:54:32 +00:00
Matt Arsenault
4d55d024be
Reapply "AMDGPU: Add ds_gws_init / ds_gws_barrier intrinsics"
...
This reapplies r363678, using the correct chain for the CopyToReg for
v0. glueCopyToM0 counterintuitively changes the operands of the
original node.
llvm-svn: 363870
2019-06-19 19:55:27 +00:00
Simon Pilgrim
128ce93c60
Revert rL363678 : AMDGPU: Add ds_gws_init / ds_gws_barrier intrinsics
...
There may or may not be additional work to handle this correctly on
SI/CI.
........
Breaks EXPENSIVE_CHECKS buildbots - http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/78/
llvm-svn: 363797
2019-06-19 13:00:54 +00:00
Matt Arsenault
8d35dcd703
AMDGPU: Add ds_gws_init / ds_gws_barrier intrinsics
...
There may or may not be additional work to handle this correctly on
SI/CI.
llvm-svn: 363678
2019-06-18 13:19:57 +00:00