[all-commits] [llvm/llvm-project] 276cc2: [DirectX] Rewrite DIGlobalVariableExpression to DX...

Harald van Dijk via All-commits all-commits at lists.llvm.org
Fri Jun 5 14:08:34 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 276cc2fac75a476824ea25b5349dfbac0d5b5545
      https://github.com/llvm/llvm-project/commit/276cc2fac75a476824ea25b5349dfbac0d5b5545
  Author: Harald van Dijk <hdijk at accesssoftek.com>
  Date:   2026-06-05 (Fri, 05 Jun 2026)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
    M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
    A llvm/test/CodeGen/DirectX/DebugInfo/di-globalvariable.ll
    A llvm/test/tools/dxil-dis/di-globalvariable.ll

  Log Message:
  -----------
  [DirectX] Rewrite DIGlobalVariableExpression to DXDIGlobalVariable (#199791)

DIGlobalVariable used to have an `expr` operand. Starting from
bceaaa964360 `expr` is now an operand of DIGlobalVariableExpression,
which references both the variable and the expression.

Before:
    !0 = !DIGlobalVariable(expr: !1)
    !1 = !DIExpression(DW_OP_plus, 4)

Now:
    !2 = !DIGlobalVariableExpression(var: !3, expr: !4)
!3 = distinct !DIGlobalVariable(name: "a", scope: null, isLocal: false,
isDefinition: true, type: !6)
    !4 = !DIExpression(DW_OP_plus, 4)

DXIL does not support DIGlobalVariableExpression, so we have to fold
`expr` back to DIGlobalVariable.

---------

Co-authored-by: Andrew Savonichev <andrew.savonichev at gmail.com>



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list