LLDB mainline
Typedefs | Functions
IRForTarget.cpp File Reference
#include "IRForTarget.h"
#include "ClangExpressionDeclMap.h"
#include "ClangUtil.h"
#include "Plugins/TypeSystem/Clang/TypeSystemClang.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/Operator.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/LegacyPassManager.h"
#include "llvm/IR/Metadata.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/ValueSymbolTable.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/IPO.h"
#include "clang/AST/ASTContext.h"
#include "lldb/Core/dwarf.h"
#include "lldb/Expression/IRExecutionUnit.h"
#include "lldb/Expression/IRInterpreter.h"
#include "lldb/Symbol/CompilerType.h"
#include "lldb/Utility/ConstString.h"
#include "lldb/Utility/DataBufferHeap.h"
#include "lldb/Utility/Endian.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/Scalar.h"
#include "lldb/Utility/StreamString.h"
#include <map>
#include <optional>

Go to the source code of this file.

Typedefs

typedef SmallVector< Instruction *, 2 > InstrList
 

Functions

static llvm::Value * FindEntryInstruction (llvm::Function *function)
 
static std::string PrintValue (const Value *value, bool truncate=false)
 
static std::string PrintType (const llvm::Type *type, bool truncate=false)
 
static bool isGuardVariableSymbol (llvm::StringRef mangled_symbol, bool check_ms_abi=true)
 Returns true iff the mangled symbol is for a static guard variable.
 
static bool IsObjCSelectorRef (Value *value)
 
static bool isGuardVariableRef (Value *V)
 
static void ExciseGuardStore (Instruction *guard_store)
 

Typedef Documentation

◆ InstrList

typedef SmallVector<Instruction *, 2> InstrList

Definition at line 48 of file IRForTarget.cpp.

Function Documentation

◆ ExciseGuardStore()

static void ExciseGuardStore ( Instruction *  guard_store)
static

Definition at line 1279 of file IRForTarget.cpp.

Referenced by IRForTarget::RemoveGuards().

◆ FindEntryInstruction()

static llvm::Value * FindEntryInstruction ( llvm::Function *  function)
static

Definition at line 65 of file IRForTarget.cpp.

◆ isGuardVariableRef()

static bool isGuardVariableRef ( Value *  V)
static

Definition at line 1264 of file IRForTarget.cpp.

References isGuardVariableSymbol().

Referenced by IRForTarget::RemoveGuards().

◆ isGuardVariableSymbol()

static bool isGuardVariableSymbol ( llvm::StringRef  mangled_symbol,
bool  check_ms_abi = true 
)
static

Returns true iff the mangled symbol is for a static guard variable.

Definition at line 155 of file IRForTarget.cpp.

Referenced by IRForTarget::CreateResultVariable(), and isGuardVariableRef().

◆ IsObjCSelectorRef()

static bool IsObjCSelectorRef ( Value *  value)
static

◆ PrintType()

static std::string PrintType ( const llvm::Type *  type,
bool  truncate = false 
)
static

Definition at line 96 of file IRForTarget.cpp.

◆ PrintValue()

static std::string PrintValue ( const Value *  value,
bool  truncate = false 
)
static

Definition at line 84 of file IRForTarget.cpp.