//===- Module.cpp ---------------------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "llvm/SandboxIR/Module.h" #include "llvm/SandboxIR/Constant.h" #include "llvm/SandboxIR/Context.h" #include "llvm/SandboxIR/Function.h" #include "llvm/SandboxIR/Value.h" using namespace llvm::sandboxir; Function *Module::getFunction(StringRef Name) const { llvm::Function *LLVMF = LLVMM.getFunction(Name); return cast_or_null(Ctx.getValue(LLVMF)); } GlobalVariable *Module::getGlobalVariable(StringRef Name, bool AllowInternal) const { return cast_or_null( Ctx.getValue(LLVMM.getGlobalVariable(Name, AllowInternal))); } GlobalAlias *Module::getNamedAlias(StringRef Name) const { return cast_or_null(Ctx.getValue(LLVMM.getNamedAlias(Name))); } GlobalIFunc *Module::getNamedIFunc(StringRef Name) const { return cast_or_null(Ctx.getValue(LLVMM.getNamedIFunc(Name))); } #ifndef NDEBUG void Module::dumpOS(raw_ostream &OS) const { OS << LLVMM; } void Module::dump() const { dumpOS(dbgs()); dbgs() << "\n"; } #endif // NDEBUG