Skip to content

Commit 466738c

Browse files
committed
Move DXILFinalizeLinkage out of backend to clang.
1 parent adb1306 commit 466738c

File tree

9 files changed

+30
-21
lines changed

9 files changed

+30
-21
lines changed

clang/lib/CodeGen/BackendUtil.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
#include "llvm/TargetParser/SubtargetFeature.h"
5858
#include "llvm/TargetParser/Triple.h"
5959
#include "llvm/Transforms/HipStdPar/HipStdPar.h"
60+
#include "llvm/Transforms/HLSL/DXILFinalizeLinkage.h"
6061
#include "llvm/Transforms/IPO/EmbedBitcodePass.h"
6162
#include "llvm/Transforms/IPO/LowerTypeTests.h"
6263
#include "llvm/Transforms/IPO/ThinLTOBitcodeWriter.h"
@@ -1164,6 +1165,11 @@ void EmitAssemblyHelper::RunOptimizationPipeline(
11641165
LangOpts.HIPStdParInterposeAlloc)
11651166
MPM.addPass(HipStdParAllocationInterpositionPass());
11661167

1168+
if (LangOpts.HLSL) {
1169+
// HLSL legalization passes
1170+
MPM.addPass(DXILFinalizeLinkage());
1171+
}
1172+
11671173
// Now that we have all of the passes ready, run them.
11681174
{
11691175
PrettyStackTraceString CrashInfo("Optimizer");

clang/lib/CodeGen/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ set(LLVM_LINK_COMPONENTS
1414
FrontendOpenMP
1515
FrontendOffloading
1616
HIPStdPar
17+
HLSL
1718
IPO
1819
IRPrinter
1920
IRReader

llvm/lib/Target/DirectX/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ add_llvm_target(DirectXCodeGen
2121
DirectXTargetTransformInfo.cpp
2222
DXContainerGlobals.cpp
2323
DXILDataScalarization.cpp
24-
DXILFinalizeLinkage.cpp
2524
DXILFlattenArrays.cpp
2625
DXILIntrinsicExpansion.cpp
2726
DXILOpBuilder.cpp

llvm/lib/Target/DirectX/DirectXTargetMachine.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeDirectXTarget() {
6161
initializeDXILTranslateMetadataLegacyPass(*PR);
6262
initializeDXILResourceMDWrapperPass(*PR);
6363
initializeShaderFlagsAnalysisWrapperPass(*PR);
64-
initializeDXILFinalizeLinkageLegacyPass(*PR);
6564
}
6665

6766
class DXILTargetObjectFile : public TargetLoweringObjectFile {
@@ -91,7 +90,6 @@ class DirectXPassConfig : public TargetPassConfig {
9190

9291
FunctionPass *createTargetRegisterAllocator(bool) override { return nullptr; }
9392
void addCodeGenPrepare() override {
94-
addPass(createDXILFinalizeLinkageLegacyPass());
9593
addPass(createDXILIntrinsicExpansionLegacyPass());
9694
addPass(createDXILDataScalarizationLegacyPass());
9795
addPass(createDXILFlattenArraysLegacyPass());

llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
//===----------------------------------------------------------------------===//
1212

1313
#include "SPIRVTargetMachine.h"
14+
#include "../DirectX/DirectX.h"
1415
#include "SPIRV.h"
1516
#include "SPIRVCallLowering.h"
1617
#include "SPIRVGlobalRegistry.h"
@@ -224,6 +225,7 @@ void SPIRVPassConfig::addPreLegalizeMachineIR() {
224225

225226
// Use the default legalizer.
226227
bool SPIRVPassConfig::addLegalizeMachineIR() {
228+
227229
addPass(new Legalizer());
228230
addPass(createSPIRVPostLegalizerPass());
229231
return false;

llvm/lib/Transforms/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ add_subdirectory(ObjCARC)
99
add_subdirectory(Coroutines)
1010
add_subdirectory(CFGuard)
1111
add_subdirectory(HipStdPar)
12+
add_subdirectory(HLSL)
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
add_llvm_component_library(LLVMHlsl
2+
DXILFinalizeLinkage.cpp
3+
4+
ADDITIONAL_HEADER_DIRS
5+
${LLVM_MAIN_INCLUDE_DIR}/llvm/Transforms/HLSL
6+
7+
DEPENDS
8+
intrinsics_gen
9+
LLVMAnalysis
10+
11+
COMPONENT_NAME
12+
HLSL
13+
14+
LINK_COMPONENTS
15+
Analysis
16+
Core
17+
Support
18+
TransformUtils)

llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp renamed to llvm/lib/Transforms/HLSL/DXILFinalizeLinkage.cpp

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@
66
//
77
//===----------------------------------------------------------------------===//
88

9-
#include "DXILFinalizeLinkage.h"
10-
#include "DirectX.h"
9+
#include "llvm/Transforms/HLSL/DXILFinalizeLinkage.h"
1110
#include "llvm/IR/Function.h"
1211
#include "llvm/IR/GlobalValue.h"
1312
#include "llvm/IR/Metadata.h"
@@ -44,19 +43,4 @@ PreservedAnalyses DXILFinalizeLinkage::run(Module &M,
4443
if (finalizeLinkage(M))
4544
return PreservedAnalyses::none();
4645
return PreservedAnalyses::all();
47-
}
48-
49-
bool DXILFinalizeLinkageLegacy::runOnModule(Module &M) {
50-
return finalizeLinkage(M);
51-
}
52-
53-
char DXILFinalizeLinkageLegacy::ID = 0;
54-
55-
INITIALIZE_PASS_BEGIN(DXILFinalizeLinkageLegacy, DEBUG_TYPE,
56-
"DXIL Finalize Linkage", false, false)
57-
INITIALIZE_PASS_END(DXILFinalizeLinkageLegacy, DEBUG_TYPE,
58-
"DXIL Finalize Linkage", false, false)
59-
60-
ModulePass *llvm::createDXILFinalizeLinkageLegacyPass() {
61-
return new DXILFinalizeLinkageLegacy();
62-
}
46+
}

0 commit comments

Comments
 (0)