LLVM 24.0.0git
DwarfExpression.cpp File Reference

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "dwarfdebug"

Functions

static bool isRemainingExpressionComplex (const DIExpressionCursor &ExprCursor)
 Return whether the rest of the expression needs the complex register path.
static bool isMemoryLocation (DIExpressionCursor ExprCursor)
 Assuming a well-formed expression, match "DW_OP_deref* DW_OP_LLVM_fragment?

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "dwarfdebug"

Definition at line 27 of file DwarfExpression.cpp.

Function Documentation

◆ isMemoryLocation()

bool isMemoryLocation ( DIExpressionCursor ExprCursor)
static

Assuming a well-formed expression, match "DW_OP_deref* DW_OP_LLVM_fragment?

".

Definition at line 530 of file DwarfExpression.cpp.

References llvm::dwarf::DW_OP_LLVM_fragment, and llvm::DIExpressionCursor::take().

◆ isRemainingExpressionComplex()

bool isRemainingExpressionComplex ( const DIExpressionCursor & ExprCursor)
static

Return whether the rest of the expression needs the complex register path.

We use this to decide whether we can emit a simple register location and whether a subregister needs to be masked. Non-emitting operations don't affect either decision, so look past them.

Definition at line 33 of file DwarfExpression.cpp.

References llvm::dwarf::DW_OP_LLVM_fragment.

Referenced by llvm::DwarfExpression::addMachineRegExpression().