aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
diff options
context:
space:
mode:
authorFarzon Lotfi <farzonlotfi@microsoft.com>2025-03-17 20:33:02 -0400
committerGitHub <noreply@github.com>2025-03-17 20:33:02 -0400
commita2fbc9a8e3d3822cea6f14299285ff0a440d1bf3 (patch)
treeb19aa1487a0d843b66ece5ba18b141f104d28ec9 /llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
parent092e25571c09d377d2dde835cf38c5698decadad (diff)
downloadllvm-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.cpp3
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());