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>
Include dependency graph for IRForTarget.cpp:

Go to the source code of this file.


typedef SmallVector< Instruction *, 2 > InstrList


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. More...
static bool IsObjCSelectorRef (Value *value)
static bool IsObjCClassReference (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)

Definition at line 1448 of file IRForTarget.cpp.

Referenced by IRForTarget::RemoveGuards().

◆ FindEntryInstruction()

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

Definition at line 65 of file IRForTarget.cpp.

◆ isGuardVariableRef()

static bool isGuardVariableRef ( Value *  V)

Definition at line 1421 of file IRForTarget.cpp.

References isGuardVariableSymbol().

Referenced by IRForTarget::RemoveGuards().

◆ isGuardVariableSymbol()

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

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().

◆ IsObjCClassReference()

static bool IsObjCClassReference ( Value *  value)

Definition at line 871 of file IRForTarget.cpp.

Referenced by IRForTarget::RewriteObjCClassReferences().

◆ IsObjCSelectorRef()

static bool IsObjCSelectorRef ( Value *  value)

◆ PrintType()

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

Definition at line 96 of file IRForTarget.cpp.

References string().

Referenced by IRForTarget::MaybeHandleVariable().

◆ PrintValue()

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