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/Log.h"
#include "lldb/Utility/Scalar.h"
#include "lldb/Utility/StreamString.h"
#include <map>
Include dependency graph for IRForTarget.cpp:

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. 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 45 of file IRForTarget.cpp.

Function Documentation

◆ ExciseGuardStore()

static void ExciseGuardStore ( Instruction *  guard_store)
static

Definition at line 1494 of file IRForTarget.cpp.

Referenced by IRForTarget::RemoveGuards().

◆ FindEntryInstruction()

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

Definition at line 62 of file IRForTarget.cpp.

◆ isGuardVariableRef()

static bool isGuardVariableRef ( Value *  V)
static

Definition at line 1467 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 152 of file IRForTarget.cpp.

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

◆ IsObjCClassReference()

static bool IsObjCClassReference ( Value *  value)
static

Definition at line 906 of file IRForTarget.cpp.

Referenced by IRForTarget::RewriteObjCClassReferences().

◆ IsObjCSelectorRef()

static bool IsObjCSelectorRef ( Value *  value)
static

◆ PrintType()

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

Definition at line 93 of file IRForTarget.cpp.

References string().

Referenced by IRForTarget::MaybeHandleVariable().

◆ PrintValue()

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