Issue 145432
Summary [DirectX] Resource arrays IR cleanup
Labels backend:DirectX
Assignees
Reporter hekota
    After Clang code generation and LLVM optimizations, the code related to resource arrays will most likely require some changes in LLVM backend passes.

The existing `DXILForwardHandleAccesses` pass aims to eliminate redundant stores and loads from resource handle globals. However, it currently expects resource handles to be loaded from a global variable, which is not the case for resource array element handles.

Additionally, local resource arrays and their copies tend to generate IR code that includes resource handles stored in local variables (using `alloca` and lifetime markers), with `load` and `store` operations on those handles through an `i32` type. These will need to be either cleaned up in the `DXILForwardHandleAccesses` pass, or changes may need to be made to Clang codegen for array copying or to subsequent LLVM array optimizations to eliminate these unwanted constructs. The scope of this work is currently TBD.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to