[clang] [CIR] Upstream support for accessing structure members (PR #136383)
Henrich Lauko via cfe-commits
cfe-commits at lists.llvm.org
Sat Apr 19 04:48:24 PDT 2025
================
@@ -1310,6 +1310,70 @@ def GetGlobalOp : CIR_Op<"get_global",
let hasVerifier = 0;
}
+//===----------------------------------------------------------------------===//
+// GetMemberOp
+//===----------------------------------------------------------------------===//
+
+def GetMemberOp : CIR_Op<"get_member"> {
+ let summary = "Get the address of a member of a record";
+ let description = [{
+ The `cir.get_member` operation gets the address of a particular named
+ member from the input record.
+
+ It expects a pointer to the base record as well as the name of the member
+ and its field index.
+
+ Example:
+ ```mlir
+ // Suppose we have a record with multiple members.
+ !s32i = !cir.int<s, 32>
+ !s8i = !cir.int<s, 32>
----------------
xlauko wrote:
```suggestion
!s8i = !cir.int<s, 8>
```
https://github.com/llvm/llvm-project/pull/136383
More information about the cfe-commits
mailing list