[llvm] [AMDGPU] MCExpr-ify MC layer kernel descriptor (PR #80855)
Pierre van Houtryve via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 1 00:44:10 PST 2024
================
@@ -0,0 +1,45 @@
+//===--- AMDGPUMCKernelDescriptor.h ---------------------------*- C++ -*---===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+//
+/// \file
+/// AMDHSA kernel descriptor MCExpr struct for use in MC layer. Uses
+/// AMDHSAKernelDescriptor.h for sizes and constants.
+///
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_AMDGPUMCKERNELDESCRIPTOR_H
+#define LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_AMDGPUMCKERNELDESCRIPTOR_H
+
+#include "llvm/Support/AMDHSAKernelDescriptor.h"
+
+namespace llvm {
+class MCExpr;
+class MCContext;
+namespace AMDGPU {
+
+struct MCKernelDescriptor {
+ const MCExpr *group_segment_fixed_size = nullptr;
+ const MCExpr *private_segment_fixed_size = nullptr;
+ const MCExpr *kernarg_size = nullptr;
+ const MCExpr *compute_pgm_rsrc3 = nullptr;
+ const MCExpr *compute_pgm_rsrc1 = nullptr;
+ const MCExpr *compute_pgm_rsrc2 = nullptr;
+ const MCExpr *kernel_code_properties = nullptr;
+ const MCExpr *kernarg_preload = nullptr;
+
+ static void bits_set(const MCExpr *&Dst, const MCExpr *Value, uint32_t Shift,
----------------
Pierre-vh wrote:
Can you add the docs in the header instead of the .cpp? It's difficult to tell what those functions do otherwise.
https://github.com/llvm/llvm-project/pull/80855
More information about the llvm-commits
mailing list