12 Commits

Author SHA1 Message Date
Kazu Hirata
7a47ee51a1 [llvm] Don't use Optional::getValue (NFC) 2022-06-20 22:45:45 -07:00
Stanislav Mekhanoshin
c7eb846345 [AMDGPU] Merge AMDGPULDSUtils into AMDGPUMemoryUtils
Differential Revision: https://reviews.llvm.org/D119502
2022-02-11 10:32:24 -08:00
Kazu Hirata
9db0e21660 [llvm] Use depth_first (NFC) 2021-12-21 22:28:48 -08:00
Kazu Hirata
67aeae0138 [llvm] Use range-based for loops (NFC) 2021-12-11 22:34:07 -08:00
Kazu Hirata
d395befa65 [llvm] Use range-based for loops (NFC) 2021-12-11 11:29:12 -08:00
Jon Chesterfield
f0e3b39a5d [amdgpu][nfc] Move non-shared code out of LDSUtils 2021-12-08 16:23:03 +00:00
Kazu Hirata
8568ca789e Use llvm::erase_if (NFC) 2021-10-18 09:33:42 -07:00
Jacob Lambert
dc6e8dfdfe [AMDGPU][NFC] Correct typos in lib/Target/AMDGPU/AMDGPU*.cpp files. Test commit for new contributor. 2021-09-20 14:48:50 -07:00
hsmahesha
0c28814015 Revert "[AMDGPU] Split entry basic block after alloca instructions."
This reverts commit 98f47131228cc73b5308e3cc6fd70375808594e3.

Without any (theoretical/practical) guarantee that all the allocas within
*entry* basic block are clustered together at the beginning of the block,
this patch is doomed to fail. Hence reverting it.
2021-09-10 10:23:51 +05:30
hsmahesha
98f4713122 [AMDGPU] Split entry basic block after alloca instructions.
While initializing the LDS pointers within entry basic block of kernel(s), make
sure that the entry basic block is split after alloca instructions.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D108971
2021-09-01 10:18:44 +05:30
Nikita Popov
2c68ecccc9 [OpaquePtr] Remove uses of CreateGEP() without element type
Remove uses of to-be-deprecated API. In cases where the correct
element type was not immediately obvious to me, fall back to
explicit getPointerElementType().
2021-07-17 22:56:27 +02:00
hsmahesha
80fd5fa526 [AMDGPU] Replace non-kernel function uses of LDS globals by pointers.
The main motivation behind pointer replacement of LDS use within non-kernel
functions is - to *avoid* subsequent LDS lowering pass from directly packing
LDS (assume large LDS) into a struct type which would otherwise cause allocating
huge memory for struct instance within every kernel.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D103225
2021-06-21 11:51:49 +05:30