diff options
author | Farzon Lotfi <farzonlotfi@microsoft.com> | 2025-03-17 20:33:02 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-17 20:33:02 -0400 |
commit | a2fbc9a8e3d3822cea6f14299285ff0a440d1bf3 (patch) | |
tree | b19aa1487a0d843b66ece5ba18b141f104d28ec9 /llvm/lib/Target/DirectX/DirectXTargetMachine.cpp | |
parent | 092e25571c09d377d2dde835cf38c5698decadad (diff) | |
download | llvm-a2fbc9a8e3d3822cea6f14299285ff0a440d1bf3.zip llvm-a2fbc9a8e3d3822cea6f14299285ff0a440d1bf3.tar.gz llvm-a2fbc9a8e3d3822cea6f14299285ff0a440d1bf3.tar.bz2 |
[DirectX] Start the creation of a DXIL Instruction legalizer (#131221)
- Legalize i8 truncation back to original types
- remove sext and truncs
- Legalize i64 indicies for insert\extract elements to i32 indicies
- fixes https://github.com/llvm/llvm-project/issues/126323
- fixes https://github.com/llvm/llvm-project/issues/129757
Diffstat (limited to 'llvm/lib/Target/DirectX/DirectXTargetMachine.cpp')
-rw-r--r-- | llvm/lib/Target/DirectX/DirectXTargetMachine.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Target/DirectX/DirectXTargetMachine.cpp b/llvm/lib/Target/DirectX/DirectXTargetMachine.cpp index 82dc1c6..ce408b4 100644 --- a/llvm/lib/Target/DirectX/DirectXTargetMachine.cpp +++ b/llvm/lib/Target/DirectX/DirectXTargetMachine.cpp @@ -15,6 +15,7 @@ #include "DXILDataScalarization.h" #include "DXILFlattenArrays.h" #include "DXILIntrinsicExpansion.h" +#include "DXILLegalizePass.h" #include "DXILOpLowering.h" #include "DXILPrettyPrinter.h" #include "DXILResourceAccess.h" @@ -52,6 +53,7 @@ extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeDirectXTarget() { initializeDXILDataScalarizationLegacyPass(*PR); initializeDXILFlattenArraysLegacyPass(*PR); initializeScalarizerLegacyPassPass(*PR); + initializeDXILLegalizeLegacyPass(*PR); initializeDXILPrepareModulePass(*PR); initializeEmbedDXILPassPass(*PR); initializeWriteDXILPassPass(*PR); @@ -99,6 +101,7 @@ public: ScalarizerPassOptions DxilScalarOptions; DxilScalarOptions.ScalarizeLoadStore = true; addPass(createScalarizerPass(DxilScalarOptions)); + addPass(createDXILLegalizeLegacyPass()); addPass(createDXILTranslateMetadataLegacyPass()); addPass(createDXILOpLoweringLegacyPass()); addPass(createDXILPrepareModulePass()); |