mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-24 13:33:37 +02:00
37f2de7107
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
27 lines
1.0 KiB
LLVM
27 lines
1.0 KiB
LLVM
; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=kaveri -mattr=+flat-for-global < %s | FileCheck -check-prefix=HSA -check-prefix=HSA-DEFAULT -check-prefix=ALL %s
|
|
; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=kaveri -mattr=-flat-for-global < %s | FileCheck -check-prefix=HSA -check-prefix=HSA-NODEFAULT -check-prefix=ALL %s
|
|
; RUN: llc -mtriple=amdgcn-- -mcpu=kaveri -mattr=-flat-for-global < %s | FileCheck -check-prefix=NOHSA-DEFAULT -check-prefix=ALL %s
|
|
; RUN: llc -mtriple=amdgcn-- -mcpu=kaveri -mattr=+flat-for-global < %s | FileCheck -check-prefix=NOHSA-NODEFAULT -check-prefix=ALL %s
|
|
|
|
|
|
; There are no stack objects even though flat is used by default, so
|
|
; flat_scratch_init should be disabled.
|
|
|
|
; ALL-LABEL: {{^}}test:
|
|
; HSA: .amd_kernel_code_t
|
|
; HSA: enable_sgpr_flat_scratch_init = 0
|
|
; HSA: .end_amd_kernel_code_t
|
|
|
|
; ALL-NOT: flat_scr
|
|
|
|
; HSA-DEFAULT: flat_store_dword
|
|
; HSA-NODEFAULT: buffer_store_dword
|
|
|
|
; NOHSA-DEFAULT: buffer_store_dword
|
|
; NOHSA-NODEFAULT: flat_store_dword
|
|
define void @test(i32 addrspace(1)* %out) {
|
|
entry:
|
|
store i32 0, i32 addrspace(1)* %out
|
|
ret void
|
|
}
|