[llvm] [AMDGPU] Handle lowering addrspace casts from LDS to FLAT address in amdgpu-sw-lower-lds. (PR #121214)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 21 08:36:13 PST 2025
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff cda81b1ec96e26cb7e47acc5656fe219383ffbc5 d1c432c020e3e034cc99ae28b539109eee87bfaa --extensions cpp -- llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
``````````
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp b/llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
index f1ba9c0f9a..5af1ff659f 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
@@ -192,8 +192,7 @@ public:
void getLDSMemoryInstructions(Function *Func,
SetVector<Instruction *> &LDSInstructions);
void replaceKernelLDSAccesses(Function *Func);
- Value *getTranslatedGlobalMemoryPtrOfLDS(Value *LoadMallocPtr,
- Value *LDSPtr);
+ Value *getTranslatedGlobalMemoryPtrOfLDS(Value *LoadMallocPtr, Value *LDSPtr);
void translateLDSMemoryOperationsToGlobalMemory(
Function *Func, Value *LoadMallocPtr,
SetVector<Instruction *> &LDSInstructions);
@@ -665,8 +664,7 @@ void AMDGPUSwLowerLDS::getLDSMemoryInstructions(
}
}
-Value *
-AMDGPUSwLowerLDS::getTranslatedGlobalMemoryPtrOfLDS(Value *LoadMallocPtr,
+Value *AMDGPUSwLowerLDS::getTranslatedGlobalMemoryPtrOfLDS(Value *LoadMallocPtr,
Value *LDSPtr) {
assert(LDSPtr && "Invalid LDS pointer operand");
Type *LDSPtrType = LDSPtr->getType();
@@ -677,11 +675,13 @@ AMDGPUSwLowerLDS::getTranslatedGlobalMemoryPtrOfLDS(Value *LoadMallocPtr,
ElementCount NumElements = VecPtrTy->getElementCount();
Type *Int32VecTy = VectorType::get(IRB.getInt32Ty(), NumElements);
Value *PtrToInt = IRB.CreatePtrToInt(LDSPtr, Int32VecTy);
- Type *GlobalPtrVecTy = VectorType::get(IRB.getPtrTy(AMDGPUAS::GLOBAL_ADDRESS), NumElements);
+ Type *GlobalPtrVecTy =
+ VectorType::get(IRB.getPtrTy(AMDGPUAS::GLOBAL_ADDRESS), NumElements);
Value *GlobalPtrVec = PoisonValue::get(GlobalPtrVecTy);
for (uint64_t Index = 0; Index < NumElements.getKnownMinValue(); ++Index) {
Value *ExtElem = IRB.CreateExtractElement(PtrToInt, Index);
- Value *Gep = IRB.CreateInBoundsGEP(IRB.getInt8Ty(), LoadMallocPtr, {ExtElem});
+ Value *Gep =
+ IRB.CreateInBoundsGEP(IRB.getInt8Ty(), LoadMallocPtr, {ExtElem});
GlobalPtrVec = IRB.CreateInsertElement(GlobalPtrVec, Gep, Index);
}
return GlobalPtrVec;
@@ -720,8 +720,8 @@ void AMDGPUSwLowerLDS::translateLDSMemoryOperationsToGlobalMemory(
} else if (AtomicRMWInst *RMW = dyn_cast<AtomicRMWInst>(Inst)) {
Value *RMWPtrOperand = RMW->getPointerOperand();
Value *RMWValOperand = RMW->getValOperand();
- Value *Replacement = getTranslatedGlobalMemoryPtrOfLDS(
- LoadMallocPtr, RMWPtrOperand);
+ Value *Replacement =
+ getTranslatedGlobalMemoryPtrOfLDS(LoadMallocPtr, RMWPtrOperand);
AtomicRMWInst *NewRMW = IRB.CreateAtomicRMW(
RMW->getOperation(), Replacement, RMWValOperand, RMW->getAlign(),
RMW->getOrdering(), RMW->getSyncScopeID());
@@ -731,8 +731,8 @@ void AMDGPUSwLowerLDS::translateLDSMemoryOperationsToGlobalMemory(
RMW->eraseFromParent();
} else if (AtomicCmpXchgInst *XCHG = dyn_cast<AtomicCmpXchgInst>(Inst)) {
Value *XCHGPtrOperand = XCHG->getPointerOperand();
- Value *Replacement = getTranslatedGlobalMemoryPtrOfLDS(
- LoadMallocPtr, XCHGPtrOperand);
+ Value *Replacement =
+ getTranslatedGlobalMemoryPtrOfLDS(LoadMallocPtr, XCHGPtrOperand);
AtomicCmpXchgInst *NewXCHG = IRB.CreateAtomicCmpXchg(
Replacement, XCHG->getCompareOperand(), XCHG->getNewValOperand(),
XCHG->getAlign(), XCHG->getSuccessOrdering(),
``````````
</details>
https://github.com/llvm/llvm-project/pull/121214
More information about the llvm-commits
mailing list