[all-commits] [llvm/llvm-project] 160e9b: [DirectX] Get resource information via TargetExtType

Justin Bogner via All-commits all-commits at lists.llvm.org
Mon Dec 16 14:55:50 PST 2024


  Branch: refs/heads/users/bogner/119773
  Home:   https://github.com/llvm/llvm-project
  Commit: 160e9b98a8ad9750ee17e800b92d48735e829b2a
      https://github.com/llvm/llvm-project/commit/160e9b98a8ad9750ee17e800b92d48735e829b2a
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/DXILResource.h
    M llvm/lib/Analysis/DXILResource.cpp
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
    M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
    M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
    M llvm/unittests/Analysis/DXILResourceTest.cpp

  Log Message:
  -----------
  [DirectX] Get resource information via TargetExtType

Instead of storing an auxilliary structure with the information from the
DXIL resource target extension types duplicated, access the information
that we can via the type itself.

This also means we need to handle some of the target extension types we
haven't fully defined yet, like Texture and CBuffer. For now we make an
educated guess to what those should look like based on llvm/wg-hlsl#76,
and we can update them fairly easily when we've defined them more
thoroughly.

First part of #118400


  Commit: f8291d229c1e98bb7b4735dc3ce0cd9613dd94cf
      https://github.com/llvm/llvm-project/commit/f8291d229c1e98bb7b4735dc3ce0cd9613dd94cf
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/DXILResource.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/LinkAllPasses.h
    M llvm/lib/Analysis/Analysis.cpp
    M llvm/lib/Analysis/DXILResource.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
    M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
    M llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
    M llvm/lib/Target/DirectX/DXILFinalizeLinkage.h
    M llvm/lib/Target/DirectX/DXILFlattenArrays.cpp
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/lib/Target/DirectX/DXILPrepare.cpp
    M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
    M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
    M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
    M llvm/test/CodeGen/DirectX/llc-pipeline.ll
    M llvm/unittests/Analysis/DXILResourceTest.cpp

  Log Message:
  -----------
  [DirectX] Split resource info into type and binding info. NFC

This splits the DXILResourceAnalysis pass into TypeAnalysis and
BindingAnalysis passes. The type analysis pass is made immutable and
populated lazily so that it can be used earlier in the pipeline without
needing to carefully maintain the invariants of the binding analysis.

Fixes #118400


Compare: https://github.com/llvm/llvm-project/compare/58f5bb68bc0d...f8291d229c1e

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