Skip to content

Commit bf5cff0

Browse files
committed
[llvm] manual fix-ups to IDS codemod of SandboxIR library
1 parent 1776d78 commit bf5cff0

File tree

3 files changed

+15
-44
lines changed

3 files changed

+15
-44
lines changed

llvm/include/llvm/SandboxIR/Constant.h

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1031,7 +1031,7 @@ class GlobalWithNodeAPI : public ParentT {
10311031
struct LLVMGVToGV {
10321032
Context &Ctx;
10331033
LLVMGVToGV(Context &Ctx) : Ctx(Ctx) {}
1034-
GlobalT &operator()(LLVMGlobalT &LLVMGV) const;
1034+
LLVM_ABI GlobalT &operator()(LLVMGlobalT &LLVMGV) const;
10351035
};
10361036

10371037
public:
@@ -1060,24 +1060,15 @@ class GlobalWithNodeAPI : public ParentT {
10601060
}
10611061
};
10621062

1063-
// These are needed for SandboxIRTest when building with LLVM_BUILD_LLVM_DYLIB
1064-
extern template LLVM_TEMPLATE_ABI GlobalIFunc &
1065-
GlobalWithNodeAPI<GlobalIFunc, llvm::GlobalIFunc, GlobalObject,
1066-
llvm::GlobalObject>::LLVMGVToGV::operator()(llvm::GlobalIFunc
1067-
&LLVMGV)
1068-
const;
1069-
extern template LLVM_TEMPLATE_ABI Function &
1070-
GlobalWithNodeAPI<Function, llvm::Function, GlobalObject, llvm::GlobalObject>::
1071-
LLVMGVToGV::operator()(llvm::Function &LLVMGV) const;
1072-
1073-
extern template LLVM_TEMPLATE_ABI GlobalVariable &GlobalWithNodeAPI<
1074-
GlobalVariable, llvm::GlobalVariable, GlobalObject,
1075-
llvm::GlobalObject>::LLVMGVToGV::operator()(llvm::GlobalVariable &LLVMGV)
1076-
const;
1077-
extern template LLVM_TEMPLATE_ABI GlobalAlias &
1078-
GlobalWithNodeAPI<GlobalAlias, llvm::GlobalAlias, GlobalValue,
1079-
llvm::GlobalValue>::LLVMGVToGV::operator()(llvm::GlobalAlias
1080-
&LLVMGV) const;
1063+
// Explicit instantiations.
1064+
extern template class LLVM_TEMPLATE_ABI GlobalWithNodeAPI<GlobalIFunc, llvm::GlobalIFunc, GlobalObject,
1065+
llvm::GlobalObject>;
1066+
extern template class LLVM_TEMPLATE_ABI GlobalWithNodeAPI<Function, llvm::Function, GlobalObject,
1067+
llvm::GlobalObject>;
1068+
extern template class LLVM_TEMPLATE_ABI GlobalWithNodeAPI<GlobalVariable, llvm::GlobalVariable,
1069+
GlobalObject, llvm::GlobalObject>;
1070+
extern template class LLVM_TEMPLATE_ABI GlobalWithNodeAPI<GlobalAlias, llvm::GlobalAlias, GlobalValue,
1071+
llvm::GlobalValue>;
10811072

10821073
class GlobalIFunc final
10831074
: public GlobalWithNodeAPI<GlobalIFunc, llvm::GlobalIFunc, GlobalObject,

llvm/include/llvm/SandboxIR/Tracker.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
#include "llvm/IR/IRBuilder.h"
4848
#include "llvm/IR/Instruction.h"
4949
#include "llvm/SandboxIR/Use.h"
50+
#include "llvm/SandboxIR/Value.h"
5051
#include "llvm/Support/Debug.h"
5152
#include <memory>
5253

llvm/lib/SandboxIR/Constant.cpp

Lines changed: 4 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -305,36 +305,15 @@ GlobalT &GlobalWithNodeAPI<GlobalT, LLVMGlobalT, ParentT, LLVMParentT>::
305305
}
306306

307307
// Explicit instantiations.
308-
template class GlobalWithNodeAPI<GlobalIFunc, llvm::GlobalIFunc, GlobalObject,
308+
template class LLVM_EXPORT_TEMPLATE GlobalWithNodeAPI<GlobalIFunc, llvm::GlobalIFunc, GlobalObject,
309309
llvm::GlobalObject>;
310-
template class GlobalWithNodeAPI<Function, llvm::Function, GlobalObject,
310+
template class LLVM_EXPORT_TEMPLATE GlobalWithNodeAPI<Function, llvm::Function, GlobalObject,
311311
llvm::GlobalObject>;
312-
template class GlobalWithNodeAPI<GlobalVariable, llvm::GlobalVariable,
312+
template class LLVM_EXPORT_TEMPLATE GlobalWithNodeAPI<GlobalVariable, llvm::GlobalVariable,
313313
GlobalObject, llvm::GlobalObject>;
314-
template class GlobalWithNodeAPI<GlobalAlias, llvm::GlobalAlias, GlobalValue,
314+
template class LLVM_EXPORT_TEMPLATE GlobalWithNodeAPI<GlobalAlias, llvm::GlobalAlias, GlobalValue,
315315
llvm::GlobalValue>;
316316

317-
#if defined(_MSC_VER) && !defined(__clang__)
318-
// These are needed for SandboxIRTest when building with LLVM_BUILD_LLVM_DYLIB
319-
template LLVM_EXPORT_TEMPLATE GlobalIFunc &
320-
GlobalWithNodeAPI<GlobalIFunc, llvm::GlobalIFunc, GlobalObject,
321-
llvm::GlobalObject>::LLVMGVToGV::operator()(llvm::GlobalIFunc
322-
&LLVMGV)
323-
const;
324-
template LLVM_EXPORT_TEMPLATE Function &
325-
GlobalWithNodeAPI<Function, llvm::Function, GlobalObject, llvm::GlobalObject>::
326-
LLVMGVToGV::operator()(llvm::Function &LLVMGV) const;
327-
328-
template LLVM_EXPORT_TEMPLATE GlobalVariable &GlobalWithNodeAPI<
329-
GlobalVariable, llvm::GlobalVariable, GlobalObject,
330-
llvm::GlobalObject>::LLVMGVToGV::operator()(llvm::GlobalVariable &LLVMGV)
331-
const;
332-
template LLVM_EXPORT_TEMPLATE GlobalAlias &
333-
GlobalWithNodeAPI<GlobalAlias, llvm::GlobalAlias, GlobalValue,
334-
llvm::GlobalValue>::LLVMGVToGV::operator()(llvm::GlobalAlias
335-
&LLVMGV) const;
336-
#endif
337-
338317
void GlobalIFunc::setResolver(Constant *Resolver) {
339318
Ctx.getTracker()
340319
.emplaceIfTracking<

0 commit comments

Comments
 (0)