A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://clang.llvm.org/doxygen/Function_8h_source.html below:

clang: lib/AST/ByteCode/Function.h Source File

15#ifndef LLVM_CLANG_AST_INTERP_FUNCTION_H 16#define LLVM_CLANG_AST_INTERP_FUNCTION_H 23#include "llvm/ADT/PointerUnion.h" 24#include "llvm/Support/raw_ostream.h" 50

llvm::iterator_range<LocalVectorTy::const_iterator>

locals

()

const

{

51 return

llvm::make_range(Descriptors.begin(), Descriptors.end());

60

llvm::PointerUnion<const FunctionDecl *, const BlockExpr *>;

104 return

dyn_cast<const FunctionDecl *>(Source);

107 return

dyn_cast<const BlockExpr *>(Source);

128

llvm::iterator_range<llvm::SmallVector<Scope, 2>::const_iterator>

130 return

llvm::make_range(Scopes.begin(), Scopes.end());

137 return

llvm::reverse(ParamTypes);

172 if

(

const auto

*MD = dyn_cast_if_present<CXXMethodDecl>(

173

dyn_cast<const FunctionDecl *>(Source)))

210 if

(

const auto

*MD = dyn_cast_if_present<CXXMethodDecl>(

211

dyn_cast<const FunctionDecl *>(Source)))

212 return

MD->isExplicitObjectMemberFunction();

217 return

ParamOffsets[ParamIndex];

221 return

ParamTypes[ParamIndex];

228

llvm::DenseMap<unsigned, ParamDescriptor> &&Params,

233 void

setCode(

unsigned

NewFrameSize, std::vector<std::byte> &&NewCode,

236

FrameSize = NewFrameSize;

237

Code = std::move(NewCode);

238

SrcMap = std::move(NewSrcMap);

239

Scopes = std::move(NewScopes);

241

HasBody = NewHasBody;

244 void

setIsFullyCompiled(

bool

FC) { IsFullyCompiled = FC; }

245 void

setDefined(

bool D

) { Defined =

D

; }

258 unsigned

FrameSize = 0;

262

std::vector<std::byte> Code;

270

llvm::DenseMap<unsigned, ParamDescriptor> Params;

274 bool

IsValid =

false

;

277 bool

IsFullyCompiled =

false

;

280 bool

HasThisPointer =

false

;

284 bool

HasRVO =

false

;

286 bool

HasBody =

false

;

287 bool

Defined =

false

;

288 bool

Variadic =

false

;

289 bool

Virtual =

false

;

290 unsigned

BuiltinID = 0;

295 void dump

(llvm::raw_ostream &OS)

const

;

This file provides some common utility functions for processing Lambda related AST Constructs.

enum clang::sema::@1704::IndirectLocalPathEntry::EntryKind Kind

BlockExpr - Adaptor class for mixing a BlockDecl with expressions.

Represents a C++ struct/union/class.

DeclContext * getParent()

getParent - Returns the containing DeclContext.

Represents a function declaration or definition.

std::string getQualifiedNameAsString() const

An emitter which links the program to bytecode for later use.

Pointer into the code segment.

Scope & getScope(unsigned Idx)

Returns a specific scope.

CodePtr getCodeBegin() const

Returns a pointer to the start of the code.

bool isDestructor() const

Checks if the function is a destructor.

CodePtr getCodeEnd() const

Returns a pointer to the end of the code.

const std::string getName() const

Returns the name of the function decl this code was generated for.

bool isVirtual() const

Checks if the function is virtual.

unsigned getNumParams() const

bool isDefined() const

Checks if the function is defined.

bool hasNonNullAttr() const

PrimType getParamType(unsigned ParamIndex) const

std::pair< PrimType, Descriptor * > ParamDescriptor

const CXXRecordDecl * getParentDecl() const

Returns the parent record decl, if any.

unsigned getFrameSize() const

Returns the size of the function's local stack.

bool isLambdaCallOperator() const

Returns whether this function is the call operator of a lambda record decl.

const BlockExpr * getExpr() const

bool isFullyCompiled() const

Checks if the function is fully done compiling.

bool isConstructor() const

Checks if the function is a constructor.

unsigned getParamOffset(unsigned ParamIndex) const

const FunctionDecl * getDecl() const

Returns the original FunctionDecl.

bool hasBody() const

Checks if the function already has a body attached.

bool isUnevaluatedBuiltin() const

bool hasThisPointer() const

unsigned getBuiltinID() const

void dump() const

Dumps the disassembled bytecode to llvm::errs().

llvm::iterator_range< arg_reverse_iterator > args_reverse() const

bool isConstexpr() const

Checks if the function is valid to call in constexpr.

const Scope & getScope(unsigned Idx) const

bool isThisPointerExplicit() const

unsigned getNumWrittenParams() const

Returns the number of parameter this function takes when it's called, i.e excluding the instance poin...

unsigned getWrittenArgSize() const

unsigned getArgSize() const

Returns the size of the argument stack.

bool isLambdaStaticInvoker() const

Returns whether this function is a lambda static invoker, which we generate custom byte code for.

SmallVectorImpl< PrimType >::const_reverse_iterator arg_reverse_iterator

Range over argument types.

SourceInfo getSource(CodePtr PC) const

Returns the source information at a given PC.

ParamDescriptor getParamDescriptor(unsigned Offset) const

Returns a parameter descriptor.

llvm::iterator_range< llvm::SmallVector< Scope, 2 >::const_iterator > scopes() const

Range over the scope blocks.

bool hasRVO() const

Checks if the first argument is a RVO pointer.

The program contains and links the bytecode for all functions.

llvm::SmallVector< Local, 8 > LocalVectorTy

llvm::iterator_range< LocalVectorTy::const_iterator > locals() const

Scope(LocalVectorTy &&Descriptors)

Describes the statement/declaration an opcode was generated from.

std::vector< std::pair< unsigned, SourceInfo > > SourceMap

llvm::PointerUnion< const FunctionDecl *, const BlockExpr * > FunctionDeclTy

constexpr size_t align(size_t Size)

Aligns a size to the pointer alignment.

PrimType

Enumeration of the primitive types of the VM.

size_t primSize(PrimType Type)

Returns the size of a primitive type in bytes.

The JSON file list parser is used to communicate input to InstallAPI.

Describes a memory block created by an allocation site.

Information about a local's storage.

unsigned Offset

Offset of the local in frame.

Descriptor * Desc

Descriptor of the local.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4