[Mlir-commits] [mlir] [mlir][debug] Support DICommonBlock. (PR #111706)

Tobias Gysi llvmlistbot at llvm.org
Wed Oct 9 13:08:33 PDT 2024


================
@@ -1064,19 +1064,28 @@ LogicalResult ModuleTranslation::convertGlobals() {
       // There is no `globals` field in DICompileUnitAttr which can be directly
       // assigned to DICompileUnit. We have to build the list by looking at the
       // dbgExpr of all the GlobalOps. The scope of the variable is used to get
-      // the DICompileUnit in which to add it. But for the languages that
-      // support modules, the scope hierarchy can be
-      // variable -> module -> compile unit
-      // If a variable scope points to the module then we use the scope of the
-      // module to get the compile unit.
-      // Global variables are also used for things like static local variables
-      // in C and local variables with the save attribute in Fortran. The scope
-      // of the variable is the parent function. We use the compile unit of the
-      // parent function in this case.
+      // the DICompileUnit in which to add it.
+      // But there are cases where the scope of the global points does not
+      // directly point to the DICompileUnit and we have to do a bit more work
+      // to get to it. Some of those cases are:
+      //
+      // 1. For the languages that support modules, the scope hierarchy can be
+      // variable -> DIModule -> DICompileUnit
+      //
+      // 2. For the Fortran common block variable, the scope hierarchy looks
+      // like as follows:
----------------
gysit wrote:

```suggestion
      // 2. For the Fortran common block variable, the scope hierarchy can be
```
nit: 

https://github.com/llvm/llvm-project/pull/111706


More information about the Mlir-commits mailing list