[llvm] [DirectX][Docs] Add DXILIntrinsicExpansion Pass to DXILArchitecture.rst (PR #86198)

Damyan Pepper via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 21 14:30:10 PDT 2024


================
@@ -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 
----------------
damyanp wrote:

> vectors

Is "vectors" in this context unambiguous enough for the intended audience?  Would something like "vector types" be clearer?

https://github.com/llvm/llvm-project/pull/86198


More information about the llvm-commits mailing list