[llvm] 8384ced - [AMDGPU][NFC]: Remove unnecessary MFI functions
Changpeng Fang via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 28 12:14:12 PDT 2022
Author: Changpeng Fang
Date: 2022-03-28T12:13:33-07:00
New Revision: 8384ced974c629a8c01e8fe19c417b2fd3dd2165
URL: https://github.com/llvm/llvm-project/commit/8384ced974c629a8c01e8fe19c417b2fd3dd2165
DIFF: https://github.com/llvm/llvm-project/commit/8384ced974c629a8c01e8fe19c417b2fd3dd2165.diff
LOG: [AMDGPU][NFC]: Remove unnecessary MFI functions
Summary:
hasHostcallPtr() and hasHeapPtr() are only used in metadata emit.
However, we can use the corresponding function attributes directly
instead introducing the functions.
Reviewers: arsenm
Differential Revision: https://reviews.llvm.org/D122600
Added:
Modified:
llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
Removed:
################################################################################
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp b/llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
index 3b5881a53ea18..cebdc36adb03b 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
@@ -794,7 +794,6 @@ void MetadataStreamerV3::emitHiddenKernelArgs(const MachineFunction &MF,
msgpack::ArrayDocNode Args) {
auto &Func = MF.getFunction();
const GCNSubtarget &ST = MF.getSubtarget<GCNSubtarget>();
- const SIMachineFunctionInfo &MFI = *MF.getInfo<SIMachineFunctionInfo>();
unsigned HiddenArgNumBytes = ST.getImplicitArgNumBytes(Func);
if (!HiddenArgNumBytes)
@@ -823,7 +822,7 @@ void MetadataStreamerV3::emitHiddenKernelArgs(const MachineFunction &MF,
if (M->getNamedMetadata("llvm.printf.fmts"))
emitKernelArg(DL, Int8PtrTy, Align(8), "hidden_printf_buffer", Offset,
Args);
- else if (MFI.hasHostcallPtr()) {
+ else if (!Func.hasFnAttribute("amdgpu-no-hostcall-ptr")) {
// The printf runtime binding pass should have ensured that hostcall and
// printf are not used in the same module.
assert(!M->getNamedMetadata("llvm.printf.fmts"));
@@ -1019,7 +1018,7 @@ void MetadataStreamerV5::emitHiddenKernelArgs(const MachineFunction &MF,
} else
Offset += 8; // Skipped.
- if (MFI.hasHostcallPtr()) {
+ if (!Func.hasFnAttribute("amdgpu-no-hostcall-ptr")) {
emitKernelArg(DL, Int8PtrTy, Align(8), "hidden_hostcall_buffer", Offset,
Args);
} else
@@ -1028,7 +1027,7 @@ void MetadataStreamerV5::emitHiddenKernelArgs(const MachineFunction &MF,
emitKernelArg(DL, Int8PtrTy, Align(8), "hidden_multigrid_sync_arg", Offset,
Args);
- if (MFI.hasHeapPtr())
+ if (!Func.hasFnAttribute("amdgpu-no-heap-ptr"))
emitKernelArg(DL, Int8PtrTy, Align(8), "hidden_heap_v1", Offset, Args);
else
Offset += 8; // Skipped.
diff --git a/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp b/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
index bcde47a0309c9..d5b5360dacee6 100644
--- a/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
+++ b/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
@@ -47,8 +47,6 @@ SIMachineFunctionInfo::SIMachineFunctionInfo(const MachineFunction &MF)
WorkItemIDZ(false),
ImplicitBufferPtr(false),
ImplicitArgPtr(false),
- HostcallPtr(false),
- HeapPtr(false),
GITPtrHigh(0xffffffff),
HighBitsOf32BitAddress(0),
GDSSize(0) {
@@ -143,12 +141,6 @@ SIMachineFunctionInfo::SIMachineFunctionInfo(const MachineFunction &MF)
if (!F.hasFnAttribute("amdgpu-no-dispatch-id"))
DispatchID = true;
-
- if (!F.hasFnAttribute("amdgpu-no-hostcall-ptr"))
- HostcallPtr = true;
-
- if (!F.hasFnAttribute("amdgpu-no-heap-ptr"))
- HeapPtr = true;
}
// FIXME: This attribute is a hack, we just need an analysis on the function
diff --git a/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h b/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
index 76e893d8450f8..e0c5d30be37b4 100644
--- a/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
+++ b/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
@@ -421,8 +421,6 @@ class SIMachineFunctionInfo final : public AMDGPUMachineFunction {
// Pointer to where the ABI inserts special kernel arguments separate from the
// user arguments. This is an offset from the KernargSegmentPtr.
bool ImplicitArgPtr : 1;
- bool HostcallPtr : 1;
- bool HeapPtr : 1;
bool MayNeedAGPRs : 1;
@@ -698,14 +696,6 @@ class SIMachineFunctionInfo final : public AMDGPUMachineFunction {
return ImplicitArgPtr;
}
- bool hasHostcallPtr() const {
- return HostcallPtr;
- }
-
- bool hasHeapPtr () const {
- return HeapPtr;
- }
-
bool hasImplicitBufferPtr() const {
return ImplicitBufferPtr;
}
More information about the llvm-commits
mailing list