Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions llvm/include/llvm/SandboxIR/Constant.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#include "llvm/SandboxIR/Context.h"
#include "llvm/SandboxIR/Type.h"
#include "llvm/SandboxIR/User.h"
#include "llvm/Support/Compiler.h"

namespace llvm::sandboxir {

Expand Down Expand Up @@ -797,6 +798,24 @@ class GlobalWithNodeAPI : public ParentT {
}
};

extern template LLVM_TEMPLATE_ABI GlobalIFunc &
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a comment that this is for LLVM_BUILD_LLVM_DYLIB.

GlobalWithNodeAPI<GlobalIFunc, llvm::GlobalIFunc, GlobalObject,
llvm::GlobalObject>::LLVMGVToGV::operator()(llvm::GlobalIFunc
&LLVMGV)
const;
extern template LLVM_TEMPLATE_ABI Function &
GlobalWithNodeAPI<Function, llvm::Function, GlobalObject, llvm::GlobalObject>::
LLVMGVToGV::operator()(llvm::Function &LLVMGV) const;

extern template LLVM_TEMPLATE_ABI GlobalVariable &GlobalWithNodeAPI<
GlobalVariable, llvm::GlobalVariable, GlobalObject,
llvm::GlobalObject>::LLVMGVToGV::operator()(llvm::GlobalVariable &LLVMGV)
const;
extern template LLVM_TEMPLATE_ABI GlobalAlias &
GlobalWithNodeAPI<GlobalAlias, llvm::GlobalAlias, GlobalValue,
llvm::GlobalValue>::LLVMGVToGV::operator()(llvm::GlobalAlias
&LLVMGV) const;

class GlobalIFunc final
: public GlobalWithNodeAPI<GlobalIFunc, llvm::GlobalIFunc, GlobalObject,
llvm::GlobalObject> {
Expand Down
19 changes: 19 additions & 0 deletions llvm/lib/SandboxIR/Constant.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#include "llvm/SandboxIR/BasicBlock.h"
#include "llvm/SandboxIR/Context.h"
#include "llvm/SandboxIR/Function.h"
#include "llvm/Support/Compiler.h"

namespace llvm::sandboxir {

Expand Down Expand Up @@ -301,6 +302,24 @@ template class GlobalWithNodeAPI<GlobalVariable, llvm::GlobalVariable,
template class GlobalWithNodeAPI<GlobalAlias, llvm::GlobalAlias, GlobalValue,
llvm::GlobalValue>;

template LLVM_EXPORT_TEMPLATE GlobalIFunc &
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here.

GlobalWithNodeAPI<GlobalIFunc, llvm::GlobalIFunc, GlobalObject,
llvm::GlobalObject>::LLVMGVToGV::operator()(llvm::GlobalIFunc
&LLVMGV)
const;
template LLVM_EXPORT_TEMPLATE Function &
GlobalWithNodeAPI<Function, llvm::Function, GlobalObject, llvm::GlobalObject>::
LLVMGVToGV::operator()(llvm::Function &LLVMGV) const;

template LLVM_EXPORT_TEMPLATE GlobalVariable &GlobalWithNodeAPI<
GlobalVariable, llvm::GlobalVariable, GlobalObject,
llvm::GlobalObject>::LLVMGVToGV::operator()(llvm::GlobalVariable &LLVMGV)
const;
template LLVM_EXPORT_TEMPLATE GlobalAlias &
GlobalWithNodeAPI<GlobalAlias, llvm::GlobalAlias, GlobalValue,
llvm::GlobalValue>::LLVMGVToGV::operator()(llvm::GlobalAlias
&LLVMGV) const;

void GlobalIFunc::setResolver(Constant *Resolver) {
Ctx.getTracker()
.emplaceIfTracking<
Expand Down