Proteus
Programmable JIT compilation and optimization for C/C++ using LLVM
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Functions | Variables
LambdaCallsite.h File Reference
#include "proteus/CompilerInterfaceTypes.h"
#include <llvm/ADT/DenseMap.h>
#include <llvm/ADT/SmallVector.h>
#include <llvm/IR/Constants.h>
#include <llvm/IR/InstrTypes.h>
#include <llvm/IR/LLVMContext.h>
#include <llvm/IR/Metadata.h>
#include <optional>
Include dependency graph for LambdaCallsite.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  proteus::LambdaKernelArgLocation
 

Namespaces

namespace  proteus
 

Typedefs

using proteus::LambdaKernelArgLocationVec = SmallVector< LambdaKernelArgLocation, 4 >
 
using proteus::LambdaKernelArgLocationMap = DenseMap< uint64_t, LambdaKernelArgLocationVec >
 
using proteus::LambdaCallsiteLocationMap = DenseMap< uint64_t, DenseMap< uint32_t, LambdaKernelArgLocation > >
 
using proteus::LambdaCallsiteRuntimeConstants = SmallVector< RuntimeConstant, 8 >
 
using proteus::LambdaCallsiteRuntimeConstantsMap = DenseMap< uint64_t, LambdaCallsiteRuntimeConstants >
 

Functions

void proteus::setLambdaCallsiteMetadata (CallBase &CB, uint64_t LambdaID, uint32_t CallsiteIndex)
 
std::optional< std::pair< uint64_t, uint32_t > > proteus::getLambdaCallsiteMetadata (const CallBase &CB)
 
std::optional< uint32_t > proteus::getLambdaCallsiteIndex (const CallBase &CB, uint64_t ExpectedLambdaID)
 
LambdaKernelArgLocationVec proteus::getOrderedLambdaKernelArgLocations (const DenseMap< uint32_t, LambdaKernelArgLocation > &CallsiteLocations)
 

Variables

constexpr char proteus::LambdaCallsiteMetadataName [] = "proteus.lambda_callsite"
 
constexpr char proteus::LambdaSchemaMetadataName [] = "proteus.lambda_schema"