[llvm] e4d21ae - [DirectX] Move DXIL Resource Access Pass before Intrinsic Expansion Pass (#139562)
via llvm-commits
llvm-commits at lists.llvm.org
Tue May 13 15:05:04 PDT 2025
Author: Sarah Spall
Date: 2025-05-13T15:05:01-07:00
New Revision: e4d21aea042d4b9463ba0614f0a5c052a0ad5b57
URL: https://github.com/llvm/llvm-project/commit/e4d21aea042d4b9463ba0614f0a5c052a0ad5b57
DIFF: https://github.com/llvm/llvm-project/commit/e4d21aea042d4b9463ba0614f0a5c052a0ad5b57.diff
LOG: [DirectX] Move DXIL Resource Access Pass before Intrinsic Expansion Pass (#139562)
Move dxil resource access legacy pass before intrinsic expansion legacy
pass so TypedBuffer Loads and Stores will be created before intrinsic
expansion.
This is to facilitate #104423
Added:
Modified:
llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
llvm/test/CodeGen/DirectX/llc-pipeline.ll
Removed:
################################################################################
diff --git a/llvm/lib/Target/DirectX/DirectXTargetMachine.cpp b/llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
index 0d2730f820748..22142484cef3c 100644
--- a/llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
+++ b/llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
@@ -104,11 +104,11 @@ class DirectXPassConfig : public TargetPassConfig {
void addCodeGenPrepare() override {
addPass(createDXILFinalizeLinkageLegacyPass());
addPass(createDXILResourceImplicitBindingLegacyPass());
+ addPass(createDXILResourceAccessLegacyPass());
addPass(createDXILIntrinsicExpansionLegacyPass());
addPass(createDXILCBufferAccessLegacyPass());
addPass(createDXILDataScalarizationLegacyPass());
addPass(createDXILFlattenArraysLegacyPass());
- addPass(createDXILResourceAccessLegacyPass());
ScalarizerPassOptions DxilScalarOptions;
DxilScalarOptions.ScalarizeLoadStore = true;
addPass(createScalarizerPass(DxilScalarOptions));
diff --git a/llvm/test/CodeGen/DirectX/llc-pipeline.ll b/llvm/test/CodeGen/DirectX/llc-pipeline.ll
index 06aa6adbf0fb7..088040a491bdc 100644
--- a/llvm/test/CodeGen/DirectX/llc-pipeline.ll
+++ b/llvm/test/CodeGen/DirectX/llc-pipeline.ll
@@ -16,12 +16,13 @@
; CHECK-NEXT: DXIL Finalize Linkage
; CHECK-NEXT: DXIL Resource Binding Analysis
; CHECK-NEXT: DXIL Resource Implicit Binding
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: DXIL Resource Access
; CHECK-NEXT: DXIL Intrinsic Expansion
; CHECK-NEXT: DXIL CBuffer Access
; CHECK-NEXT: DXIL Data Scalarization
; CHECK-NEXT: DXIL Array Flattener
; CHECK-NEXT: FunctionPass Manager
-; CHECK-NEXT: DXIL Resource Access
; CHECK-NEXT: Dominator Tree Construction
; CHECK-NEXT: Scalarize vector operations
; CHECK-NEXT: DXIL Forward Handle Accesses
More information about the llvm-commits
mailing list