|
LLVM 24.0.0git
|
#include "SPIRVNonSemanticDebugHandler.h"#include "MCTargetDesc/SPIRVMCTargetDesc.h"#include "SPIRVSubtarget.h"#include "SPIRVUtils.h"#include "llvm/ADT/STLExtras.h"#include "llvm/ADT/STLFunctionalExtras.h"#include "llvm/ADT/SetVector.h"#include "llvm/ADT/SmallPtrSet.h"#include "llvm/ADT/SmallVectorExtras.h"#include "llvm/ADT/Twine.h"#include "llvm/BinaryFormat/Dwarf.h"#include "llvm/CodeGen/AsmPrinter.h"#include "llvm/CodeGen/MachineDominators.h"#include "llvm/CodeGen/MachineFunction.h"#include "llvm/CodeGen/MachineInstr.h"#include "llvm/CodeGen/MachineModuleInfo.h"#include "llvm/IR/DebugInfo.h"#include "llvm/IR/DebugInfoMetadata.h"#include "llvm/IR/DebugProgramInstruction.h"#include "llvm/IR/GlobalVariable.h"#include "llvm/IR/InstIterator.h"#include "llvm/IR/Instructions.h"#include "llvm/IR/Module.h"#include "llvm/MC/MCInst.h"#include "llvm/MC/MCStreamer.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/MathExtras.h"#include "llvm/Support/Path.h"#include <cassert>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 } |
|
strong |
| Enumerator | |
|---|---|
| Deref | |
| Plus | |
| Minus | |
| PlusUconst | |
| BitPiece | |
| Swap | |
| Xderef | |
| StackValue | |
| Constu | |
| Fragment | |
Definition at line 1091 of file SPIRVNonSemanticDebugHandler.cpp.
|
static |
Definition at line 338 of file SPIRVNonSemanticDebugHandler.cpp.
References DL, llvm::dyn_cast(), llvm::dyn_cast_or_null(), F, I, llvm::SetVector< T, Vector, Set, N >::insert(), instructions, and N.
Referenced by llvm::SPIRVNonSemanticDebugHandler::beginModule().
Definition at line 365 of file SPIRVNonSemanticDebugHandler.cpp.
References llvm::DIScope::getScope(), llvm::isa(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::SmallVectorTemplateCommon< T, typename >::rbegin(), and llvm::SmallVectorTemplateCommon< T, typename >::rend().
Referenced by llvm::SPIRVNonSemanticDebugHandler::beginModule().
|
static |
Definition at line 282 of file SPIRVNonSemanticDebugHandler.cpp.
References constantBits(), isBooleanType(), and uint64_t.
|
static |
Definition at line 271 of file SPIRVNonSemanticDebugHandler.cpp.
References isBooleanType(), and uint64_t.
Referenced by constantBits(), and getConstantDbgValueBits().
|
static |
Definition at line 728 of file SPIRVNonSemanticDebugHandler.cpp.
References llvm::getImm(), I, MI, and uint64_t.
|
static |
Definition at line 1814 of file SPIRVNonSemanticDebugHandler.cpp.
References isEmitted(), and MI.
|
static |
Definition at line 2104 of file SPIRVNonSemanticDebugHandler.cpp.
References F, llvm::MachineModuleInfo::getMachineFunction(), llvm::MachineModuleInfo::getModule(), MBB, and MI.
Referenced by llvm::SPIRVNonSemanticDebugHandler::emitNonSemanticGlobalDebugInfo().
|
static |
Definition at line 1730 of file SPIRVNonSemanticDebugHandler.cpp.
References constantBits(), llvm::DIVariable::getType(), MI, stripToScalarType(), and uint64_t.
Referenced by llvm::SPIRVNonSemanticDebugHandler::emitNonSemanticGlobalDebugInfo().
|
static |
Definition at line 1673 of file SPIRVNonSemanticDebugHandler.cpp.
References llvm::Register::isVirtual(), and MI.
|
static |
Definition at line 1766 of file SPIRVNonSemanticDebugHandler.cpp.
References llvm::Register::isVirtual(), and MI.
|
static |
Definition at line 499 of file SPIRVNonSemanticDebugHandler.cpp.
References llvm::SPIRV::ModuleAnalysisInfo::getRegisterAlias(), and MI.
Referenced by llvm::SPIRVNonSemanticDebugHandler::prepareModuleOutput().
|
static |
Definition at line 266 of file SPIRVNonSemanticDebugHandler.cpp.
Referenced by constantBits(), constantBits(), scalarTypeNeedsCapability(), and stripToScalarType().
|
static |
Definition at line 1797 of file SPIRVNonSemanticDebugHandler.cpp.
References isEmitted(), and MI.
|
static |
Definition at line 1793 of file SPIRVNonSemanticDebugHandler.cpp.
References llvm::SPIRV::ModuleAnalysisInfo::getSkipEmission(), and MI.
Referenced by findAdjacentEmittedInstruction(), and isDebugLocTarget().
Definition at line 1787 of file SPIRVNonSemanticDebugHandler.cpp.
|
static |
Definition at line 1105 of file SPIRVNonSemanticDebugHandler.cpp.
References BitPiece, Constu, Deref, llvm::dwarf::DW_OP_LLVM_fragment, Fragment, Minus, Plus, PlusUconst, StackValue, Swap, uint64_t, and Xderef.
Referenced by mapExprOperand().
|
static |
Definition at line 1135 of file SPIRVNonSemanticDebugHandler.cpp.
References E(), I, llvm::isUInt(), mapDwarfOpToNonSemanticOp(), Operands, and uint64_t.
|
static |
Definition at line 663 of file SPIRVNonSemanticDebugHandler.cpp.
References isBooleanType().
|
static |
Definition at line 291 of file SPIRVNonSemanticDebugHandler.cpp.
References llvm::dyn_cast_or_null(), llvm::SmallPtrSetImpl< PtrType >::insert(), isBooleanType(), and Size.
Referenced by getConstantDbgValueBits().