Issue 140143
Summary [DirectX] Arrays of vectors remain in alloca and global variables after scalarization
Labels new issue
Assignees
Reporter Icohedron
    There are alloca and global variables of arrays of vectors that remain after data scalarization, array flattening, and scalarization passes when compiling several DML shaders. 

These allocas and global variables appear to be used by `memcpy` intrinsics.

Example:
```c++
@outputStrides = external addrspace(2) global [2 x <4 x i32>], align 16
...
define void @CSMain() local_unnamed_addr #2 {
  %1 = alloca [2 x <4 x i32>], align 16
  ...
 call void @llvm.memcpy.p0.p2.i32(ptr noundef nonnull align 16 dereferenceable(32) %1, ptr addrspace(2) noundef align 16 dereferenceable(32) @outputStrides, i32 32, i1 false)
```
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to