Skip to content

Commit

Permalink
Add DIGlobalVariableExpression to LangRef
Browse files Browse the repository at this point in the history
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351837 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
adrian-prantl committed Jan 22, 2019
1 parent f26bb9e commit d536428
Showing 1 changed file with 29 additions and 6 deletions.
35 changes: 29 additions & 6 deletions docs/LangRef.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4511,13 +4511,36 @@ DIGlobalVariable

.. code-block:: text

!0 = !DIGlobalVariable(name: "foo", linkageName: "foo", scope: !1,
file: !2, line: 7, type: !3, isLocal: true,
isDefinition: false, variable: i32* @foo,
declaration: !4)
@foo = global i32, !dbg !0
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = !DIGlobalVariable(name: "foo", linkageName: "foo", scope: !2,
file: !3, line: 7, type: !4, isLocal: true,
isDefinition: false, declaration: !5)

All global variables should be referenced by the `globals:` field of a
:ref:`compile unit <DICompileUnit>`.

DIGlobalVariableExpression
""""""""""""""""""""""""""

``DIGlobalVariableExpression`` nodes tie a :ref:`DIGlobalVariable` together
with a :ref:`DIExpression`.

.. code-block:: text

@lower = global i32, !dbg !0
@upper = global i32, !dbg !1
!0 = !DIGlobalVariableExpression(
var: !2,
expr: !DIExpression(DW_OP_LLVM_fragment, 0, 32)
)
!1 = !DIGlobalVariableExpression(
var: !2,
expr: !DIExpression(DW_OP_LLVM_fragment, 32, 32)
)
!2 = !DIGlobalVariable(name: "split64", linkageName: "split64", scope: !3,
file: !4, line: 8, type: !5, declaration: !6)

All global variable expressions should be referenced by the `globals:` field of
a :ref:`compile unit <DICompileUnit>`.

.. _DISubprogram:

Expand Down

0 comments on commit d536428

Please sign in to comment.