#
f110f8f9 |
| 14-Apr-2016 |
Tom Stellard <thomas.stellard@amd.com> |
AMDGPU/SI: Use the correct scratch wave offset register for shaders.
Summary: The code previously always used s1 as it was using the user + system SGPR information for compute kernels. This is incor
AMDGPU/SI: Use the correct scratch wave offset register for shaders.
Summary: The code previously always used s1 as it was using the user + system SGPR information for compute kernels. This is incorrect for Mesa shaders though,
The register should be the next SGPR after all user and system SGPR's. We use that Mesa adds arguments for all input and system SGPR's and take the next available SGPR for the scratch wave offset register.
Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewers: mareko, arsenm, nhaehnle, tstellarAMD
Subscribers: qcolombet, arsenm, llvm-commits
Differential Revision: http://reviews.llvm.org/D18941
Patch By: Bas Nieuwenhuizen
llvm-svn: 266336
show more ...
|
#
6b6a2c37 |
| 11-Mar-2016 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
AMDGPU: R600 code splitting cleanup
Move a few functions only used by R600 to R600 specific code, fix header macros to stop using R600, mark classes as final.
llvm-svn: 263204
|
#
649b5db5 |
| 04-Mar-2016 |
Tom Stellard <thomas.stellard@amd.com> |
AMDGPU/SI: Add support for spiling SGPRs to scratch buffer
Summary: This is necessary for when we run out of VGPRs and can no longer use v_{read,write}_lane for spilling SGPRs.
Reviewers: arsenm
S
AMDGPU/SI: Add support for spiling SGPRs to scratch buffer
Summary: This is necessary for when we run out of VGPRs and can no longer use v_{read,write}_lane for spilling SGPRs.
Reviewers: arsenm
Subscribers: arsenm, llvm-commits
Differential Revision: http://reviews.llvm.org/D17592
llvm-svn: 262732
show more ...
|
Revision tags: llvmorg-3.8.0, llvmorg-3.8.0-rc3 |
|
#
296b8491 |
| 12-Feb-2016 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
AMDGPU: Set flat_scratch from flat_scratch_init reg
This was hardcoded to the static private size, but this would be missing the offset and additional size for someday when we have dynamic sizing.
AMDGPU: Set flat_scratch from flat_scratch_init reg
This was hardcoded to the static private size, but this would be missing the offset and additional size for someday when we have dynamic sizing.
Also stops always initializing flat_scratch even when unused.
In the future we should stop emitting this unless flat instructions are used to access private memory. For example this will initialize it almost always on VI because flat is used for global access.
llvm-svn: 260658
show more ...
|
Revision tags: llvmorg-3.8.0-rc2, llvmorg-3.8.0-rc1 |
|
#
8e9cc63b |
| 13-Jan-2016 |
Marek Olsak <marek.olsak@amd.com> |
AMDGPU/SI: Add s_waitcnt at the end of non-void functions
Summary: v2: Make ReturnsVoid private, so that I can another 8 lines of code and look more productive.
Reviewers: tstellarAMD, arsenm
AMDGPU/SI: Add s_waitcnt at the end of non-void functions
Summary: v2: Make ReturnsVoid private, so that I can another 8 lines of code and look more productive.
Reviewers: tstellarAMD, arsenm
Subscribers: arsenm
Differential Revision: http://reviews.llvm.org/D16034
llvm-svn: 257622
show more ...
|
#
fccabaf5 |
| 13-Jan-2016 |
Marek Olsak <marek.olsak@amd.com> |
AMDGPU/SI: Add new target attribute InitialPSInputAddr
Summary: This allows Mesa to pass initial SPI_PS_INPUT_ADDR to LLVM. The register assigns VGPR locations to PS inputs, while the ENA register d
AMDGPU/SI: Add new target attribute InitialPSInputAddr
Summary: This allows Mesa to pass initial SPI_PS_INPUT_ADDR to LLVM. The register assigns VGPR locations to PS inputs, while the ENA register determines whether or not they are loaded.
Mesa needs to set some inputs as not-movable, so that a pixel shader prolog binary appended at the beginning can assume where some inputs are.
v2: Make PSInputAddr private, because there is never enough silly getters and setters for people to read.
Reviewers: tstellarAMD, arsenm
Subscribers: arsenm
Differential Revision: http://reviews.llvm.org/D16030
llvm-svn: 257591
show more ...
|
Revision tags: llvmorg-3.7.1 |
|
#
26f8f3db |
| 30-Nov-2015 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
AMDGPU: Rework how private buffer passed for HSA
If we know we have stack objects, we reserve the registers that the private buffer resource and wave offset are passed and use them directly.
If not
AMDGPU: Rework how private buffer passed for HSA
If we know we have stack objects, we reserve the registers that the private buffer resource and wave offset are passed and use them directly.
If not, reserve the last 5 SGPRs just in case we need to spill. After register allocation, try to pick the next available registers instead of the last SGPRs, and then insert copies from the inputs to the reserved registers in the progloue.
This also only selectively enables all of the input registers which are really required instead of always enabling them.
llvm-svn: 254331
show more ...
|
#
49affb84 |
| 25-Nov-2015 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
AMDGPU: Check feature attributes in SIMachineFunctionInfo
llvm-svn: 254091
|
Revision tags: llvmorg-3.7.1-rc2, llvmorg-3.7.1-rc1 |
|
#
5b22dfa6 |
| 05-Nov-2015 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
AMDGPU: Also track whether SGPRs were spilled
llvm-svn: 252145
|
Revision tags: llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3, studio-1.4, llvmorg-3.7.0-rc2, llvmorg-3.7.0-rc1, llvmorg-3.6.2, llvmorg-3.6.2-rc1 |
|
#
45bb48ea |
| 13-Jun-2015 |
Tom Stellard <thomas.stellard@amd.com> |
R600 -> AMDGPU rename
llvm-svn: 239657
|
Revision tags: llvmorg-3.6.1, llvmorg-3.6.1-rc1, llvmorg-3.5.2, llvmorg-3.5.2-rc1, llvmorg-3.6.0, llvmorg-3.6.0-rc4, llvmorg-3.6.0-rc3, llvmorg-3.6.0-rc2, llvmorg-3.6.0-rc1, llvmorg-3.5.1, llvmorg-3.5.1-rc2, llvmorg-3.5.1-rc1, llvmorg-3.5.0, llvmorg-3.5.0-rc4, llvmorg-3.5.0-rc3, llvmorg-3.5.0-rc2, llvmorg-3.5.0-rc1, llvmorg-3.4.2, llvmorg-3.4.2-rc1, llvmorg-3.4.1, llvmorg-3.4.1-rc2, llvmorg-3.4.1-rc1, llvmorg-3.4.0, llvmorg-3.4.0-rc3, llvmorg-3.4.0-rc2, llvmorg-3.4.0-rc1, llvmorg-3.3.1-rc1, llvmorg-3.3.0, llvmorg-3.3.0-rc3, llvmorg-3.3.0-rc2, llvmorg-3.3.0-rc1, llvmorg-3.2.0, llvmorg-3.2.0-rc3, llvmorg-3.2.0-rc2, llvmorg-3.2.0-rc1 |
|
#
bcce80fa |
| 16-Jul-2012 |
Tom Stellard <thomas.stellard@amd.com> |
AMDGPU: Add core backend files for R600/SI codegen v6
llvm-svn: 160270
|