LLVM 24.0.0git
SPIRVNonSemanticDebugHandler.cpp File Reference

Go to the source code of this file.

Enumerations

enum class  NonSemanticDebugOp : uint32_t {
  Deref = 0 , Plus = 1 , Minus = 2 , PlusUconst = 3 ,
  BitPiece = 4 , Swap = 5 , Xderef = 6 , StackValue = 7 ,
  Constu = 8 , Fragment = 9
}

Functions

static void collectDebugLocationsAndLocalVariables (const Module &M, SetVector< const DILocation * > &Locations, SetVector< const DILocalVariable * > &LVs)
static void collectLexicalBlockChain (const DIScope *S, SetVector< const DIScope * > &Out)
static std::optional< NonSemanticDebugOpmapDwarfOpToNonSemanticOp (uint64_t DwarfOp)
static std::optional< RegistergetDebugDeclareStorageReg (const MachineInstr &MI)
static bool isMergeInstruction (unsigned Opcode)
static bool isDebugLocTarget (const MachineInstr *MI, SPIRV::ModuleAnalysisInfo &MAI)
static const MachineInstrfindAdjacentEmittedInstruction (const MachineInstr *MI, SPIRV::ModuleAnalysisInfo &MAI, bool Forward)

Enumeration Type Documentation

◆ NonSemanticDebugOp

enum class NonSemanticDebugOp : uint32_t
strong
Enumerator
Deref 
Plus 
Minus 
PlusUconst 
BitPiece 
Swap 
Xderef 
StackValue 
Constu 
Fragment 

Definition at line 860 of file SPIRVNonSemanticDebugHandler.cpp.

Function Documentation

◆ collectDebugLocationsAndLocalVariables()

void collectDebugLocationsAndLocalVariables ( const Module & M,
SetVector< const DILocation * > & Locations,
SetVector< const DILocalVariable * > & LVs )
static

◆ collectLexicalBlockChain()

◆ findAdjacentEmittedInstruction()

const MachineInstr * findAdjacentEmittedInstruction ( const MachineInstr * MI,
SPIRV::ModuleAnalysisInfo & MAI,
bool Forward )
static

◆ getDebugDeclareStorageReg()

std::optional< Register > getDebugDeclareStorageReg ( const MachineInstr & MI)
static

Definition at line 1423 of file SPIRVNonSemanticDebugHandler.cpp.

References llvm::Register::isVirtual(), and MI.

◆ isDebugLocTarget()

bool isDebugLocTarget ( const MachineInstr * MI,
SPIRV::ModuleAnalysisInfo & MAI )
static

◆ isMergeInstruction()

bool isMergeInstruction ( unsigned Opcode)
static

Definition at line 1479 of file SPIRVNonSemanticDebugHandler.cpp.

◆ mapDwarfOpToNonSemanticOp()

std::optional< NonSemanticDebugOp > mapDwarfOpToNonSemanticOp ( uint64_t DwarfOp)
static