LLVM 20.0.0git
|
#include "CodeViewDebug.h"
#include "llvm/ADT/APSInt.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallBitVector.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/TinyPtrVector.h"
#include "llvm/ADT/Twine.h"
#include "llvm/BinaryFormat/COFF.h"
#include "llvm/BinaryFormat/Dwarf.h"
#include "llvm/CodeGen/AsmPrinter.h"
#include "llvm/CodeGen/LexicalScopes.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineModuleInfo.h"
#include "llvm/CodeGen/TargetFrameLowering.h"
#include "llvm/CodeGen/TargetLowering.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/DebugInfo/CodeView/CVTypeVisitor.h"
#include "llvm/DebugInfo/CodeView/CodeViewRecordIO.h"
#include "llvm/DebugInfo/CodeView/ContinuationRecordBuilder.h"
#include "llvm/DebugInfo/CodeView/DebugInlineeLinesSubsection.h"
#include "llvm/DebugInfo/CodeView/EnumTables.h"
#include "llvm/DebugInfo/CodeView/Line.h"
#include "llvm/DebugInfo/CodeView/SymbolRecord.h"
#include "llvm/DebugInfo/CodeView/TypeRecord.h"
#include "llvm/DebugInfo/CodeView/TypeTableCollection.h"
#include "llvm/DebugInfo/CodeView/TypeVisitorCallbackPipeline.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DebugInfoMetadata.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/GlobalValue.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/Metadata.h"
#include "llvm/IR/Module.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCSectionCOFF.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/Support/BinaryStreamWriter.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/Program.h"
#include "llvm/Support/SMLoc.h"
#include "llvm/Support/ScopedPrinter.h"
#include "llvm/Target/TargetLoweringObjectFile.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/TargetParser/Triple.h"
#include <algorithm>
#include <cassert>
#include <cctype>
#include <cstddef>
#include <iterator>
#include <limits>
Go to the source code of this file.
Classes | |
struct | llvm::CodeViewDebug::TypeLoweringScope |
struct | llvm::ClassInfo |
struct | llvm::ClassInfo::MemberInfo |
|
static |
Definition at line 502 of file CodeViewDebug.cpp.
References llvm::is_contained(), and llvm::SmallVectorTemplateBase< T, bool >::push_back().
|
static |
Definition at line 1338 of file CodeViewDebug.cpp.
References llvm::SmallVectorTemplateCommon< T, typename >::back(), llvm::SmallVectorBase< Size_T >::empty(), and llvm::DbgVariableLocation::LoadChain.
|
static |
Given a DWARF calling convention, get the CodeView equivalent.
If we don't have a translation, use the NearC convention.
Definition at line 1998 of file CodeViewDebug.cpp.
|
static |
Definition at line 710 of file CodeViewDebug.cpp.
References llvm::codeview::MaxRecordLength, OS, llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::StringRef::take_front().
|
static |
Definition at line 896 of file CodeViewDebug.cpp.
References contains(), llvm::StringRef::empty(), llvm::raw_ostream::flush(), OS, llvm::sys::printArg(), and llvm::StringRef::starts_with().
void forEachJumpTableBranch | ( | const MachineFunction * | MF, |
bool | isThumb, | ||
const std::function< void(const MachineJumpTableInfo &, const MachineInstr &, int64_t)> & | Callback | ||
) |
Definition at line 3468 of file CodeViewDebug.cpp.
References assert(), llvm::MachineBasicBlock::end(), llvm::MachineBasicBlock::getFirstTerminator(), llvm::MachineFunction::getJumpTableInfo(), I, llvm::MachineBasicBlock::instr_rbegin(), llvm::MachineBasicBlock::instr_rend(), isThumb(), and MBB.
|
static |
Definition at line 299 of file CodeViewDebug.cpp.
References llvm::reverse().
|
static |
Return ClassOptions that should be present on both the forward declaration and the defintion of a tag type.
Definition at line 2208 of file CodeViewDebug.cpp.
References llvm::StringRef::empty(), llvm::DICompositeType::getIdentifier(), llvm::DIType::getScope(), and llvm::DINode::getTag().
|
static |
Definition at line 424 of file CodeViewDebug.cpp.
References llvm::DISubroutineType::getTypeArray(), and isNonTrivial().
Definition at line 260 of file CodeViewDebug.cpp.
References llvm::StringRef::empty().
|
static |
Definition at line 2195 of file CodeViewDebug.cpp.
References llvm::DINode::getTag(), and llvm_unreachable.
|
static |
Definition at line 890 of file CodeViewDebug.cpp.
References llvm::codeview::GlobalTypeTableBuilder::writeLeafType().
|
static |
Definition at line 3170 of file CodeViewDebug.cpp.
References llvm::codeview::getSymbolTypeNames().
Referenced by llvm::object::ELFObjectFile< ELFT >::getSymbolFlags().
Definition at line 3392 of file CodeViewDebug.cpp.
References assert(), llvm::DINode::getTag(), and isFloatDIType().
Referenced by isFloatDIType().
|
static |
Definition at line 419 of file CodeViewDebug.cpp.
References llvm::DIType::getFlags().
Referenced by getFunctionOptions().
Definition at line 3119 of file CodeViewDebug.cpp.
References DL.
Referenced by llvm::CodeViewDebug::beginInstruction().
|
static |
Definition at line 116 of file CodeViewDebug.cpp.
References llvm::report_fatal_error().
Referenced by llvm::CodeViewDebug::beginModule().
|
static |
Definition at line 570 of file CodeViewDebug.cpp.
Referenced by llvm::CodeViewDebug::beginModule().
|
static |
Definition at line 1342 of file CodeViewDebug.cpp.
References llvm::SmallVectorTemplateCommon< T, typename >::back(), llvm::DbgVariableLocation::LoadChain, and llvm::SmallVectorBase< Size_T >::size().
|
static |
Definition at line 818 of file CodeViewDebug.cpp.
References llvm::CallingConv::C, N, Name, and llvm::Version.
Referenced by llvm::remarks::createYAMLParserFromMeta().
Definition at line 367 of file CodeViewDebug.cpp.
References Name.
|
static |
Definition at line 2423 of file CodeViewDebug.cpp.
References llvm::StringRef::empty(), llvm::DICompositeType::getIdentifier(), llvm::DIType::getName(), and llvm::DIType::isForwardDecl().
Definition at line 1601 of file CodeViewDebug.cpp.
|
static |
Definition at line 2153 of file CodeViewDebug.cpp.
References llvm::DINode::FlagAccessibility, and llvm_unreachable.
|
static |
Definition at line 2175 of file CodeViewDebug.cpp.
References llvm_unreachable.
|
static |
Definition at line 2166 of file CodeViewDebug.cpp.
|
static |
Definition at line 1944 of file CodeViewDebug.cpp.
References llvm::DINode::FlagPtrToMemberRep, and llvm_unreachable.