17e5df5bcSvporpo //===- Module.cpp ---------------------------------------------------------===// 27e5df5bcSvporpo // 37e5df5bcSvporpo // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 47e5df5bcSvporpo // See https://llvm.org/LICENSE.txt for license information. 57e5df5bcSvporpo // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 67e5df5bcSvporpo // 77e5df5bcSvporpo //===----------------------------------------------------------------------===// 87e5df5bcSvporpo 97e5df5bcSvporpo #include "llvm/SandboxIR/Module.h" 102018f4ccSVasileios Porpodas #include "llvm/SandboxIR/Constant.h" 112018f4ccSVasileios Porpodas #include "llvm/SandboxIR/Context.h" 12*e22b07e7Svporpo #include "llvm/SandboxIR/Function.h" 132018f4ccSVasileios Porpodas #include "llvm/SandboxIR/Value.h" 147e5df5bcSvporpo 157e5df5bcSvporpo using namespace llvm::sandboxir; 167e5df5bcSvporpo 177e5df5bcSvporpo Function *Module::getFunction(StringRef Name) const { 187e5df5bcSvporpo llvm::Function *LLVMF = LLVMM.getFunction(Name); 197e5df5bcSvporpo return cast_or_null<Function>(Ctx.getValue(LLVMF)); 207e5df5bcSvporpo } 217e5df5bcSvporpo 227e5df5bcSvporpo GlobalVariable *Module::getGlobalVariable(StringRef Name, 237e5df5bcSvporpo bool AllowInternal) const { 247e5df5bcSvporpo return cast_or_null<GlobalVariable>( 257e5df5bcSvporpo Ctx.getValue(LLVMM.getGlobalVariable(Name, AllowInternal))); 267e5df5bcSvporpo } 277e5df5bcSvporpo 287e5df5bcSvporpo GlobalAlias *Module::getNamedAlias(StringRef Name) const { 297e5df5bcSvporpo return cast_or_null<GlobalAlias>(Ctx.getValue(LLVMM.getNamedAlias(Name))); 307e5df5bcSvporpo } 317e5df5bcSvporpo 327e5df5bcSvporpo GlobalIFunc *Module::getNamedIFunc(StringRef Name) const { 337e5df5bcSvporpo return cast_or_null<GlobalIFunc>(Ctx.getValue(LLVMM.getNamedIFunc(Name))); 347e5df5bcSvporpo } 357e5df5bcSvporpo 367e5df5bcSvporpo #ifndef NDEBUG 377e5df5bcSvporpo void Module::dumpOS(raw_ostream &OS) const { OS << LLVMM; } 387e5df5bcSvporpo 397e5df5bcSvporpo void Module::dump() const { 407e5df5bcSvporpo dumpOS(dbgs()); 417e5df5bcSvporpo dbgs() << "\n"; 427e5df5bcSvporpo } 437e5df5bcSvporpo #endif // NDEBUG 44