[Mlir-commits] [mlir] Give emitc.member_call_opaque operator precedence (PR #226349)
ioana ghiban
llvmlistbot at llvm.org
Fri Sep 25 06:31:20 PDT 2026
================
@@ -852,3 +852,34 @@ func.func @expression_tree(%arg0: !emitc.array<2000xi32>, %arg1: i32, %arg2: i32
}
return %e2 : i1
}
+
+// CPP-DEFAULT: int32_t expression_with_member_call_opaque(MyClass* [[VAL_1:v[0-9]+]], int32_t [[VAL_2:v[0-9]+]]) {
+// CPP-DEFAULT-NEXT: MyClass [[VAL_3:v[0-9]+]];
+// CPP-DEFAULT-NEXT: int32_t [[VAL_4:v[0-9]+]] = ([[VAL_3]].at([[VAL_2]]) + [[VAL_1]]->at([[VAL_2]])) + (*[[VAL_1]]).at([[VAL_2]]);
+// CPP-DEFAULT-NEXT: return [[VAL_4]];
+// CPP-DEFAULT-NEXT: }
----------------
ioghiban wrote:
[nit] To make the test easier to follow, I'd change the SSA values' names to something more suggestive, e.g.
```suggestion
// CPP-DEFAULT: int32_t expression_with_member_call_opaque(MyClass* [[OBJECT_PTR:v[0-9]+]], int32_t [[INDEX:v[0-9]+]]) {
// CPP-DEFAULT-NEXT: MyClass [[OBJECT:v[0-9]+]];
// CPP-DEFAULT-NEXT: int32_t [[RESULT:v[0-9]+]] = ([[OBJECT]].at([[INDEX]]) + [[OBJECT_PTR]]->at([[INDEX]])) + (*[[OBJECT_PTR]]).at([[INDEX]]);
// CPP-DEFAULT-NEXT: return [[RESULT]];
// CPP-DEFAULT-NEXT: }
```
https://github.com/llvm/llvm-project/pull/226349
More information about the Mlir-commits
mailing list