|
LLVM
4.0.0
|
#include "Interpreter.h"#include "llvm/ADT/APInt.h"#include "llvm/ADT/ArrayRef.h"#include "llvm/Config/config.h"#include "llvm/ExecutionEngine/GenericValue.h"#include "llvm/IR/DataLayout.h"#include "llvm/IR/DerivedTypes.h"#include "llvm/IR/Function.h"#include "llvm/IR/Type.h"#include "llvm/Support/Casting.h"#include "llvm/Support/DynamicLibrary.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/ManagedStatic.h"#include "llvm/Support/Mutex.h"#include "llvm/Support/raw_ostream.h"#include "llvm/Support/UniqueLock.h"#include <cassert>#include <cmath>#include <csignal>#include <cstdint>#include <cstdio>#include <cstring>#include <map>#include <string>#include <utility>#include <vector>Go to the source code of this file.
Typedefs | |
| typedef GenericValue(* | ExFunc )(FunctionType *, ArrayRef< GenericValue >) |
Functions | |
| static char | getTypeID (Type *Ty) |
| static ExFunc | lookupFunction (const Function *F) |
| static GenericValue | lle_X_atexit (FunctionType *FT, ArrayRef< GenericValue > Args) |
| static GenericValue | lle_X_exit (FunctionType *FT, ArrayRef< GenericValue > Args) |
| static GenericValue | lle_X_abort (FunctionType *FT, ArrayRef< GenericValue > Args) |
| static GenericValue | lle_X_sprintf (FunctionType *FT, ArrayRef< GenericValue > Args) |
| static GenericValue | lle_X_printf (FunctionType *FT, ArrayRef< GenericValue > Args) |
| static GenericValue | lle_X_sscanf (FunctionType *FT, ArrayRef< GenericValue > args) |
| static GenericValue | lle_X_scanf (FunctionType *FT, ArrayRef< GenericValue > args) |
| static GenericValue | lle_X_fprintf (FunctionType *FT, ArrayRef< GenericValue > Args) |
| static GenericValue | lle_X_memset (FunctionType *FT, ArrayRef< GenericValue > Args) |
| static GenericValue | lle_X_memcpy (FunctionType *FT, ArrayRef< GenericValue > Args) |
Variables | |
| static ManagedStatic< sys::Mutex > | FunctionsLock |
| static ManagedStatic< std::map < const Function *, ExFunc > > | ExportedFunctions |
| static ManagedStatic< std::map < std::string, ExFunc > > | FuncNames |
| static Interpreter * | TheInterpreter |
| typedef GenericValue(* ExFunc)(FunctionType *, ArrayRef< GenericValue >) |
Definition at line 63 of file ExternalFunctions.cpp.
|
static |
Definition at line 74 of file ExternalFunctions.cpp.
References llvm::Type::ArrayTyID, llvm::Type::DoubleTyID, llvm::Type::FloatTyID, llvm::Type::FunctionTyID, llvm::Type::getTypeID(), llvm::Type::IntegerTyID, llvm::Type::PointerTyID, llvm::Type::StructTyID, and llvm::Type::VoidTyID.
Referenced by llvm::ConstantDataSequential::getElementAsAPFloat(), LLVMCreateGenericValueOfFloat(), LLVMGenericValueToFloat(), LLVMGetTypeKind(), and lookupFunction().
|
static |
Definition at line 325 of file ExternalFunctions.cpp.
|
static |
Definition at line 309 of file ExternalFunctions.cpp.
References llvm::Interpreter::addAtExitHandler(), assert(), llvm::GVTOP(), llvm::GenericValue::IntVal, llvm::ArrayRef< T >::size(), and TheInterpreter.
|
static |
Definition at line 319 of file ExternalFunctions.cpp.
References llvm::Interpreter::exitCalled(), and TheInterpreter.
|
static |
Definition at line 458 of file ExternalFunctions.cpp.
References assert(), llvm::ArrayRef< T >::begin(), llvm::ArrayRef< T >::end(), llvm::GVTOP(), lle_X_sprintf(), llvm::PTOGV(), and llvm::ArrayRef< T >::size().
|
static |
Definition at line 483 of file ExternalFunctions.cpp.
References llvm::GVTOP(), llvm::GenericValue::IntVal, and llvm::tgtok::IntVal.
|
static |
Definition at line 471 of file ExternalFunctions.cpp.
References llvm::GVTOP(), llvm::GenericValue::IntVal, and llvm::tgtok::IntVal.
|
static |
Definition at line 416 of file ExternalFunctions.cpp.
References llvm::ArrayRef< T >::begin(), llvm::ArrayRef< T >::end(), lle_X_sprintf(), llvm::outs(), and llvm::PTOGV().
|
static |
Definition at line 443 of file ExternalFunctions.cpp.
References AMDGPU::RuntimeMD::KeyName::Args, assert(), llvm::GVTOP(), i, llvm::GenericValue::IntVal, and llvm::ArrayRef< T >::size().
|
static |
Definition at line 334 of file ExternalFunctions.cpp.
References llvm::errs(), llvm::ExecutionEngine::getDataLayout(), llvm::DataLayout::getPointerSizeInBits(), llvm::GVTOP(), llvm::GenericValue::IntVal, llvm::tgtok::IntVal, and TheInterpreter.
Referenced by lle_X_fprintf(), and lle_X_printf().
|
static |
Definition at line 428 of file ExternalFunctions.cpp.
References AMDGPU::RuntimeMD::KeyName::Args, assert(), llvm::GVTOP(), i, llvm::GenericValue::IntVal, and llvm::ArrayRef< T >::size().
Definition at line 101 of file ExternalFunctions.cpp.
References ExportedFunctions, FunctionsLock, llvm::Type::getContainedType(), llvm::Function::getFunctionType(), llvm::Value::getName(), llvm::Type::getNumContainedTypes(), getTypeID(), i, and llvm::sys::DynamicLibrary::SearchForAddressOfSymbol().
Referenced by llvm::Interpreter::callExternalFunction().
|
static |
Definition at line 64 of file ExternalFunctions.cpp.
Referenced by llvm::Interpreter::callExternalFunction(), and lookupFunction().
|
static |
Definition at line 65 of file ExternalFunctions.cpp.
|
static |
Definition at line 61 of file ExternalFunctions.cpp.
Referenced by llvm::Interpreter::callExternalFunction(), and lookupFunction().
|
static |
Definition at line 72 of file ExternalFunctions.cpp.
Referenced by llvm::Interpreter::callExternalFunction(), lle_X_atexit(), lle_X_exit(), and lle_X_sprintf().
1.8.6