[llvm] [DirectX] Legalize memcpy (PR #139173)
Deric C. via llvm-commits
llvm-commits at lists.llvm.org
Thu May 15 13:09:13 PDT 2025
================
@@ -0,0 +1,174 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
+; RUN: opt -S -dxil-legalize -dxil-finalize-linkage -mtriple=dxil-pc-shadermodel6.3-library %s | FileCheck %s
+
+ at outputStrides = external local_unnamed_addr addrspace(2) global [2 x <4 x i32>], align 4
----------------
Icohedron wrote:
According to [DirectXTargetMachine.cpp:L110-L116](https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/DirectX/DirectXTargetMachine.cpp#L110-L116) this legalize pass comes after scalarization.
The test `replace_2x4xint_global_memcpy_test` reflects that of LLVM IR I saw when compiling DML shaders, which use shader model 6.6, yet the alloca and the global variable clearly contain vector types.
If native vectors aren't supposed to be present in the final DXIL until 6.9, then I suppose something is going very wrong here?
https://github.com/llvm/llvm-project/pull/139173
More information about the llvm-commits
mailing list