[llvm] [DirectX][Docs] Update DXILArchitecture documentation (PR #86198)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 21 14:10:51 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-directx
Author: Farzon Lotfi (farzonl)
<details>
<summary>Changes</summary>
for instruction expansion
Completes #<!-- -->84839
---
Full diff: https://github.com/llvm/llvm-project/pull/86198.diff
1 Files Affected:
- (modified) llvm/docs/DirectX/DXILArchitecture.rst (+13)
``````````diff
diff --git a/llvm/docs/DirectX/DXILArchitecture.rst b/llvm/docs/DirectX/DXILArchitecture.rst
index d6712bea4f7712..b3d29cba0a3c95 100644
--- a/llvm/docs/DirectX/DXILArchitecture.rst
+++ b/llvm/docs/DirectX/DXILArchitecture.rst
@@ -61,6 +61,19 @@ on the utilities described in "Common Code" above in order to share
logic with both the DirectX backend and with Clang's codegen of HLSL
support as much as possible.
+The DirectX Intrinsic Expansion Pass
+===================
+There are intrinsics that don't map directly to DXIL Ops. In some cases
+an intrinsic needs to be expanded to a set of LLVM IR instructions. In
+other cases an intrinsic needs modifications to the arguments or return
+values of a DXIL Op. This pass (`DXILIntrinsicExpansion.cpp`) handles all
+the cases where our intrinsics don't have a one to one mapping. You should
+also consider using this pass when the expansion is specific to DXIL so
+as to keep implementation details out of CodeGen. Finally, there is an
+expectation that we maintain vectors through this pass. Therefore, best
+practice would be to avoid scalarization in this pass.
+
+
The DirectX Backend
===================
``````````
</details>
https://github.com/llvm/llvm-project/pull/86198
More information about the llvm-commits
mailing list