LLVM 19.0.0git
|
#include "llvm/CodeGen/AsmPrinter.h"
#include "CodeViewDebug.h"
#include "DwarfDebug.h"
#include "DwarfException.h"
#include "PseudoProbePrinter.h"
#include "WasmException.h"
#include "WinCFGuard.h"
#include "WinException.h"
#include "llvm/ADT/APFloat.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/TinyPtrVector.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Analysis/ConstantFolding.h"
#include "llvm/Analysis/MemoryLocation.h"
#include "llvm/Analysis/OptimizationRemarkEmitter.h"
#include "llvm/BinaryFormat/COFF.h"
#include "llvm/BinaryFormat/Dwarf.h"
#include "llvm/BinaryFormat/ELF.h"
#include "llvm/CodeGen/GCMetadata.h"
#include "llvm/CodeGen/GCMetadataPrinter.h"
#include "llvm/CodeGen/LazyMachineBlockFrequencyInfo.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineBranchProbabilityInfo.h"
#include "llvm/CodeGen/MachineConstantPool.h"
#include "llvm/CodeGen/MachineDominators.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineInstrBundle.h"
#include "llvm/CodeGen/MachineJumpTableInfo.h"
#include "llvm/CodeGen/MachineLoopInfo.h"
#include "llvm/CodeGen/MachineModuleInfo.h"
#include "llvm/CodeGen/MachineModuleInfoImpls.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/MachineOptimizationRemarkEmitter.h"
#include "llvm/CodeGen/StackMaps.h"
#include "llvm/CodeGen/TargetFrameLowering.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/CodeGen/TargetLowering.h"
#include "llvm/CodeGen/TargetOpcodes.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/Config/config.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Comdat.h"
#include "llvm/IR/Constant.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DebugInfoMetadata.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/EHPersonalities.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/GCStrategy.h"
#include "llvm/IR/GlobalAlias.h"
#include "llvm/IR/GlobalIFunc.h"
#include "llvm/IR/GlobalObject.h"
#include "llvm/IR/GlobalValue.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Mangler.h"
#include "llvm/IR/Metadata.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/Operator.h"
#include "llvm/IR/PseudoProbe.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/Value.h"
#include "llvm/IR/ValueHandle.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCDirectives.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCSection.h"
#include "llvm/MC/MCSectionCOFF.h"
#include "llvm/MC/MCSectionELF.h"
#include "llvm/MC/MCSectionMachO.h"
#include "llvm/MC/MCSectionXCOFF.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/MC/MCSymbolELF.h"
#include "llvm/MC/MCTargetOptions.h"
#include "llvm/MC/MCValue.h"
#include "llvm/MC/SectionKind.h"
#include "llvm/Object/ELFTypes.h"
#include "llvm/Pass.h"
#include "llvm/Remarks/RemarkStreamer.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/Timer.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetLoweringObjectFile.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetOptions.h"
#include "llvm/TargetParser/Triple.h"
#include <algorithm>
#include <cassert>
#include <cinttypes>
#include <cstdint>
#include <iterator>
#include <memory>
#include <optional>
#include <string>
#include <utility>
#include <vector>
Go to the source code of this file.
Classes | |
class | llvm::AddrLabelMap |
Macros | |
#define | DEBUG_TYPE "asm-printer" |
Enumerations | |
enum class | PGOMapFeaturesEnum { FuncEntryCount , BBFreq , BrProb } |
Functions | |
STATISTIC (EmittedInsts, "Number of machine instrs printed") | |
static bool | canBeHidden (const GlobalValue *GV, const MCAsmInfo &MAI) |
static void | emitComments (const MachineInstr &MI, raw_ostream &CommentOS) |
emitComments - Pretty-print comments for instructions. | |
static void | emitKill (const MachineInstr *MI, AsmPrinter &AP) |
static bool | emitDebugValueComment (const MachineInstr *MI, AsmPrinter &AP) |
emitDebugValueComment - This method handles the target-independent form of DBG_VALUE, returning true if it was able to do so. | |
static bool | emitDebugLabelComment (const MachineInstr *MI, AsmPrinter &AP) |
This method handles the target-independent form of DBG_LABEL, returning true if it was able to do so. | |
static uint32_t | getBBAddrMapMetadata (const MachineBasicBlock &MBB) |
Returns the BB metadata to be emitted in the SHT_LLVM_BB_ADDR_MAP section for a given basic block. | |
static llvm::object::BBAddrMap::Features | getBBAddrMapFeature (const MachineFunction &MF, int NumMBBSectionRanges) |
static bool | needFuncLabels (const MachineFunction &MF) |
Returns true if function begin and end labels should be emitted. | |
static unsigned | getNumGlobalVariableUses (const Constant *C) |
Compute the number of Global Variables that uses a Constant. | |
static bool | isGOTEquivalentCandidate (const GlobalVariable *GV, unsigned &NumGOTEquivUsers) |
Only consider global GOT equivalents if at least one user is a cstexpr inside an initializer of another global variables. | |
static void | emitGlobalConstantImpl (const DataLayout &DL, const Constant *C, AsmPrinter &AP, const Constant *BaseCV=nullptr, uint64_t Offset=0, AsmPrinter::AliasMapTy *AliasList=nullptr) |
static void | emitGlobalConstantFP (const ConstantFP *CFP, AsmPrinter &AP) |
static void | emitGlobalConstantFP (APFloat APF, Type *ET, AsmPrinter &AP) |
static int | isRepeatedByteSequence (const ConstantDataSequential *V) |
isRepeatedByteSequence - Determine whether the given value is composed of a repeated sequence of identical bytes and return the byte value. | |
static int | isRepeatedByteSequence (const Value *V, const DataLayout &DL) |
isRepeatedByteSequence - Determine whether the given value is composed of a repeated sequence of identical bytes and return the byte value. | |
static void | emitGlobalAliasInline (AsmPrinter &AP, uint64_t Offset, AsmPrinter::AliasMapTy *AliasList) |
static void | emitGlobalConstantDataSequential (const DataLayout &DL, const ConstantDataSequential *CDS, AsmPrinter &AP, AsmPrinter::AliasMapTy *AliasList) |
static void | emitGlobalConstantArray (const DataLayout &DL, const ConstantArray *CA, AsmPrinter &AP, const Constant *BaseCV, uint64_t Offset, AsmPrinter::AliasMapTy *AliasList) |
static void | emitGlobalConstantLargeInt (const ConstantInt *CI, AsmPrinter &AP) |
static void | emitGlobalConstantVector (const DataLayout &DL, const ConstantVector *CV, AsmPrinter &AP, AsmPrinter::AliasMapTy *AliasList) |
static void | emitGlobalConstantStruct (const DataLayout &DL, const ConstantStruct *CS, AsmPrinter &AP, const Constant *BaseCV, uint64_t Offset, AsmPrinter::AliasMapTy *AliasList) |
static void | handleIndirectSymViaGOTPCRel (AsmPrinter &AP, const MCExpr **ME, const Constant *BaseCst, uint64_t Offset) |
Transform a not absolute MCExpr containing a reference to a GOT equivalent global, by a target specific GOT pc relative access to the final symbol. | |
static void | PrintParentLoopComment (raw_ostream &OS, const MachineLoop *Loop, unsigned FunctionNumber) |
PrintParentLoopComment - Print comments about parent loops of this one. | |
static void | PrintChildLoopComment (raw_ostream &OS, const MachineLoop *Loop, unsigned FunctionNumber) |
PrintChildLoopComment - Print comments about child loops within the loop for this basic block, with nesting. | |
static void | emitBasicBlockLoopComments (const MachineBasicBlock &MBB, const MachineLoopInfo *LI, const AsmPrinter &AP) |
emitBasicBlockLoopComments - Pretty-print comments for basic blocks. | |
Variables | |
static cl::bits< PGOMapFeaturesEnum > | PgoAnalysisMapFeatures ("pgo-analysis-map", cl::Hidden, cl::CommaSeparated, cl::values(clEnumValN(PGOMapFeaturesEnum::FuncEntryCount, "func-entry-count", "Function Entry Count"), clEnumValN(PGOMapFeaturesEnum::BBFreq, "bb-freq", "Basic Block Frequency"), clEnumValN(PGOMapFeaturesEnum::BrProb, "br-prob", "Branch Probability")), cl::desc("Enable extended information within the SHT_LLVM_BB_ADDR_MAP that is " "extracted from PGO related analysis.")) |
const char | DWARFGroupName [] = "dwarf" |
const char | DWARFGroupDescription [] = "DWARF Emission" |
const char | DbgTimerName [] = "emit" |
const char | DbgTimerDescription [] = "Debug Info Emission" |
const char | EHTimerName [] = "write_exception" |
const char | EHTimerDescription [] = "DWARF Exception Writer" |
const char | CFGuardName [] = "Control Flow Guard" |
const char | CFGuardDescription [] = "Control Flow Guard" |
const char | CodeViewLineTablesGroupName [] = "linetables" |
const char | CodeViewLineTablesGroupDescription [] = "CodeView Line Tables" |
const char | PPTimerName [] = "emit" |
const char | PPTimerDescription [] = "Pseudo Probe Emission" |
const char | PPGroupName [] = "pseudo probe" |
const char | PPGroupDescription [] = "Pseudo Probe Emission" |
#define DEBUG_TYPE "asm-printer" |
Definition at line 135 of file AsmPrinter.cpp.
|
strong |
Enumerator | |
---|---|
FuncEntryCount | |
BBFreq | |
BrProb |
Definition at line 141 of file AsmPrinter.cpp.
|
static |
Definition at line 648 of file AsmPrinter.cpp.
References llvm::GlobalValue::canBeOmittedFromSymbolTable(), and llvm::MCAsmInfo::hasWeakDefCanBeHiddenDirective().
Referenced by llvm::AsmPrinter::emitLinkage().
|
static |
emitBasicBlockLoopComments - Pretty-print comments for basic blocks.
Definition at line 3933 of file AsmPrinter.cpp.
References assert(), llvm::AsmPrinter::getFunctionNumber(), llvm::LoopBase< BlockT, LoopT >::getHeader(), llvm::LoopBase< BlockT, LoopT >::getLoopDepth(), llvm::MachineLoopInfo::getLoopFor(), llvm::LoopBase< BlockT, LoopT >::getParentLoop(), llvm::raw_ostream::indent(), llvm::LoopBase< BlockT, LoopT >::isInnermost(), MBB, OS, llvm::AsmPrinter::OutStreamer, PrintChildLoopComment(), and PrintParentLoopComment().
Referenced by llvm::AsmPrinter::emitBasicBlockStart().
|
static |
emitComments - Pretty-print comments for instructions.
Definition at line 1103 of file AsmPrinter.cpp.
References llvm::TargetSubtargetInfo::getInstrInfo(), llvm::MachineFunction::getSubtarget(), MI, llvm::MachineInstr::ReloadReuse, Size, and TII.
Referenced by llvm::AsmPrinter::emitFunctionBody().
|
static |
This method handles the target-independent form of DBG_LABEL, returning true if it was able to do so.
A false return means the target will need to handle MI in EmitInstruction.
Definition at line 1270 of file AsmPrinter.cpp.
References MI, Name, OS, and llvm::AsmPrinter::OutStreamer.
Referenced by llvm::AsmPrinter::emitFunctionBody().
|
static |
emitDebugValueComment - This method handles the target-independent form of DBG_VALUE, returning true if it was able to do so.
A false return means the target will need to handle MI in EmitInstruction.
Definition at line 1163 of file AsmPrinter.cpp.
References llvm::APFloat::convert(), llvm::APFloat::convertToDouble(), llvm::DIExpression::convertToNonVariadicExpression(), llvm::DIExpression::expr_ops(), llvm::StackOffset::getFixed(), llvm::TargetFrameLowering::getFrameIndexReference(), llvm::TargetSubtargetInfo::getFrameLowering(), llvm::DIExpression::getNumElements(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::MachineFunction::getSubtarget(), I, llvm::APFloatBase::IEEEdouble(), ignored(), llvm::Type::isBFloatTy(), llvm::Type::isDoubleTy(), llvm::Type::isFloatTy(), llvm::Type::isHalfTy(), llvm_unreachable, llvm::AsmPrinter::MF, MI, llvm::MachineOperand::MO_CImmediate, llvm::MachineOperand::MO_FPImmediate, llvm::MachineOperand::MO_FrameIndex, llvm::MachineOperand::MO_Immediate, llvm::MachineOperand::MO_Register, llvm::MachineOperand::MO_TargetIndex, Name, llvm::Offset, llvm::dwarf::OperationEncodingString(), OS, llvm::AsmPrinter::OutStreamer, llvm::DWARFExpression::Operation::print(), llvm::printReg(), and llvm::APFloatBase::rmNearestTiesToEven.
Referenced by llvm::AsmPrinter::emitFunctionBody().
|
static |
Definition at line 3375 of file AsmPrinter.cpp.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::erase(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), llvm::AsmPrinter::getSymbol(), llvm::Offset, and llvm::AsmPrinter::OutStreamer.
Referenced by emitGlobalConstantDataSequential(), emitGlobalConstantImpl(), and emitGlobalConstantVector().
|
static |
Definition at line 3430 of file AsmPrinter.cpp.
References DL, emitGlobalConstantImpl(), llvm::User::getNumOperands(), llvm::User::getOperand(), llvm::ConstantArray::getType(), llvm::Value::getType(), I, isRepeatedByteSequence(), llvm::Offset, and llvm::AsmPrinter::OutStreamer.
Referenced by emitGlobalConstantImpl().
|
static |
Definition at line 3387 of file AsmPrinter.cpp.
References assert(), DL, emitGlobalAliasInline(), emitGlobalConstantFP(), llvm::format(), llvm::ConstantDataSequential::getAsString(), llvm::ConstantDataSequential::getElementAsAPFloat(), llvm::ConstantDataSequential::getElementAsInteger(), llvm::ConstantDataSequential::getElementByteSize(), llvm::ConstantDataSequential::getElementType(), llvm::ConstantDataSequential::getNumElements(), llvm::Value::getType(), I, isRepeatedByteSequence(), llvm::ConstantDataSequential::isString(), llvm::AsmPrinter::isVerbose(), llvm::AsmPrinter::OutStreamer, and Size.
Referenced by emitGlobalConstantImpl().
|
static |
Definition at line 3521 of file AsmPrinter.cpp.
References assert(), llvm::APFloat::bitcastToAPInt(), DL, llvm::APInt::getBitWidth(), llvm::AsmPrinter::getDataLayout(), llvm::APInt::getNumWords(), llvm::APInt::getRawData(), llvm::DataLayout::isBigEndian(), llvm::Type::isPPC_FP128Ty(), llvm::AsmPrinter::isVerbose(), llvm::AsmPrinter::OutStreamer, llvm::Type::print(), and llvm::APFloat::toString().
|
static |
Definition at line 3565 of file AsmPrinter.cpp.
References emitGlobalConstantFP(), llvm::Value::getType(), and llvm::ConstantFP::getValueAPF().
Referenced by emitGlobalConstantDataSequential(), emitGlobalConstantFP(), and emitGlobalConstantImpl().
|
static |
Definition at line 3713 of file AsmPrinter.cpp.
References llvm::ConstantFoldConstant(), DL, emitGlobalAliasInline(), emitGlobalConstantArray(), emitGlobalConstantDataSequential(), emitGlobalConstantFP(), emitGlobalConstantImpl(), emitGlobalConstantLargeInt(), emitGlobalConstantStruct(), emitGlobalConstantVector(), llvm::format(), llvm::AsmPrinter::getObjFileLowering(), llvm::Value::getType(), handleIndirectSymViaGOTPCRel(), llvm::Value::hasOneUse(), llvm::AsmPrinter::isVerbose(), llvm::AsmPrinter::lowerConstant(), llvm::Offset, llvm::AsmPrinter::OutStreamer, Size, llvm::TargetLoweringObjectFile::supportIndirectSymViaGOTPCRel(), and llvm::Value::user_back().
Referenced by llvm::AsmPrinter::emitGlobalConstant(), emitGlobalConstantArray(), emitGlobalConstantImpl(), emitGlobalConstantStruct(), and emitGlobalConstantVector().
|
static |
Definition at line 3569 of file AsmPrinter.cpp.
References llvm::alignTo(), assert(), llvm::BitWidth, DL, llvm::ConstantInt::getBitWidth(), llvm::AsmPrinter::getDataLayout(), llvm::APInt::getRawData(), llvm::Value::getType(), llvm::DataLayout::getTypeStoreSize(), llvm::ConstantInt::getValue(), llvm::APInt::lshrInPlace(), llvm::AsmPrinter::OutStreamer, and Size.
Referenced by emitGlobalConstantImpl(), and emitGlobalConstantVector().
|
static |
Definition at line 3490 of file AsmPrinter.cpp.
References assert(), DL, emitGlobalConstantImpl(), llvm::StructLayout::getElementOffset(), llvm::User::getNumOperands(), llvm::User::getOperand(), llvm::StructLayout::getSizeInBytes(), llvm::ConstantStruct::getType(), I, llvm::Offset, llvm::AsmPrinter::OutStreamer, and Size.
Referenced by emitGlobalConstantImpl().
|
static |
Definition at line 3452 of file AsmPrinter.cpp.
References llvm::ConstantFoldConstant(), DL, emitGlobalAliasInline(), emitGlobalConstantImpl(), emitGlobalConstantLargeInt(), llvm::IntegerType::get(), llvm::ConstantExpr::getBitCast(), llvm::Value::getContext(), llvm::VectorType::getElementType(), llvm::FixedVectorType::getNumElements(), llvm::User::getOperand(), llvm::ConstantVector::getType(), I, llvm::AsmPrinter::OutStreamer, llvm::report_fatal_error(), and Size.
Referenced by emitGlobalConstantImpl().
|
static |
Definition at line 1147 of file AsmPrinter.cpp.
References assert(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::MachineFunction::getSubtarget(), llvm::AsmPrinter::MF, MI, OS, llvm::AsmPrinter::OutStreamer, and llvm::printReg().
Referenced by llvm::AsmPrinter::emitFunctionBody().
|
static |
Definition at line 1374 of file AsmPrinter.cpp.
References llvm::MachineFunction::hasBBSections(), and PgoAnalysisMapFeatures.
Referenced by llvm::AsmPrinter::emitBBAddrMapSection().
|
static |
Returns the BB metadata to be emitted in the SHT_LLVM_BB_ADDR_MAP section for a given basic block.
This can be used to capture more precise profile information.
Definition at line 1364 of file AsmPrinter.cpp.
References llvm::MachineBasicBlock::back(), llvm::MachineBasicBlock::empty(), llvm::TargetSubtargetInfo::getInstrInfo(), llvm::MachineBasicBlock::getParent(), llvm::MachineFunction::getSubtarget(), llvm::MachineBasicBlock::isEHPad(), llvm::MachineBasicBlock::isReturnBlock(), llvm::HexagonInstrInfo::isTailCall(), MBB, llvm::MachineBasicBlock::rbegin(), and TII.
Referenced by llvm::AsmPrinter::emitBBAddrMapSection().
Compute the number of Global Variables that uses a Constant.
Definition at line 2050 of file AsmPrinter.cpp.
References llvm::CallingConv::C, and getNumGlobalVariableUses().
Referenced by getNumGlobalVariableUses(), and isGOTEquivalentCandidate().
|
static |
Transform a not absolute MCExpr containing a reference to a GOT equivalent global, by a target specific GOT pc relative access to the final symbol.
Definition at line 3630 of file AsmPrinter.cpp.
References llvm::MCValue::getConstant(), llvm::TargetLoweringObjectFile::getIndirectSymViaGOTPCRel(), llvm::AsmPrinter::getObjFileLowering(), llvm::User::getOperand(), llvm::MCValue::getSymA(), llvm::MCValue::getSymB(), llvm::MCSymbolRefExpr::getSymbol(), llvm::AsmPrinter::getSymbol(), llvm::AsmPrinter::GlobalGOTEquivs, llvm::MCValue::isAbsolute(), llvm::AsmPrinter::MMI, llvm::Offset, llvm::AsmPrinter::OutStreamer, and llvm::TargetLoweringObjectFile::supportGOTPCRelWithOffset().
Referenced by emitGlobalConstantImpl().
|
static |
Only consider global GOT equivalents if at least one user is a cstexpr inside an initializer of another global variables.
Also, don't handle cstexpr inside instructions. During global variable emission, candidates are skipped and are emitted later in case at least one cstexpr isn't replaced by a PC relative GOT entry access.
Definition at line 2069 of file AsmPrinter.cpp.
References getNumGlobalVariableUses(), llvm::User::getOperand(), llvm::GlobalValue::hasGlobalUnnamedAddr(), llvm::GlobalVariable::hasInitializer(), llvm::GlobalVariable::isConstant(), llvm::GlobalValue::isDiscardableIfUnused(), and llvm::Value::users().
Referenced by llvm::AsmPrinter::computeGlobalGOTEquivs().
|
static |
isRepeatedByteSequence - Determine whether the given value is composed of a repeated sequence of identical bytes and return the byte value.
If it is not a repeated sequence, return -1.
Definition at line 3329 of file AsmPrinter.cpp.
References assert(), llvm::CallingConv::C, and llvm::Data.
Referenced by emitGlobalConstantArray(), emitGlobalConstantDataSequential(), and isRepeatedByteSequence().
|
static |
isRepeatedByteSequence - Determine whether the given value is composed of a repeated sequence of identical bytes and return the byte value.
If it is not a repeated sequence, return -1.
Definition at line 3341 of file AsmPrinter.cpp.
References assert(), DL, llvm::User::getOperand(), isRepeatedByteSequence(), and Size.
|
static |
Returns true if function begin and end labels should be emitted.
Definition at line 1697 of file AsmPrinter.cpp.
References llvm::classifyEHPersonality(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getLandingPads(), llvm::MachineFunction::getMMI(), llvm::Function::getPersonalityFn(), llvm::MachineModuleInfo::hasDebugInfo(), llvm::MachineFunction::hasEHFunclets(), llvm::GlobalObject::hasMetadata(), llvm::Function::hasPersonalityFn(), and llvm::isNoOpWithoutInvoke().
Referenced by llvm::AsmPrinter::emitFunctionBody(), and llvm::AsmPrinter::SetupMachineFunction().
|
static |
PrintChildLoopComment - Print comments about child loops within the loop for this basic block, with nesting.
Definition at line 3920 of file AsmPrinter.cpp.
References llvm::raw_ostream::indent(), OS, and PrintChildLoopComment().
Referenced by emitBasicBlockLoopComments(), and PrintChildLoopComment().
|
static |
PrintParentLoopComment - Print comments about parent loops of this one.
Definition at line 3908 of file AsmPrinter.cpp.
References llvm::LoopBase< BlockT, LoopT >::getHeader(), llvm::LoopBase< BlockT, LoopT >::getLoopDepth(), llvm::LoopBase< BlockT, LoopT >::getParentLoop(), llvm::raw_ostream::indent(), OS, and PrintParentLoopComment().
Referenced by emitBasicBlockLoopComments(), and PrintParentLoopComment().
STATISTIC | ( | EmittedInsts | , |
"Number of machine instrs printed" | |||
) |
Definition at line 165 of file AsmPrinter.cpp.
Referenced by llvm::AsmPrinter::doInitialization().
Definition at line 164 of file AsmPrinter.cpp.
Referenced by llvm::AsmPrinter::doInitialization().
Definition at line 167 of file AsmPrinter.cpp.
Referenced by llvm::AsmPrinter::doInitialization().
Definition at line 166 of file AsmPrinter.cpp.
Referenced by llvm::AsmPrinter::doInitialization().
Definition at line 161 of file AsmPrinter.cpp.
Referenced by llvm::AsmPrinter::doInitialization().
Definition at line 160 of file AsmPrinter.cpp.
Referenced by llvm::AsmPrinter::doInitialization().
Definition at line 159 of file AsmPrinter.cpp.
Referenced by llvm::AsmPrinter::doInitialization().
Definition at line 158 of file AsmPrinter.cpp.
Referenced by llvm::AsmPrinter::doInitialization().
Definition at line 163 of file AsmPrinter.cpp.
Referenced by llvm::AsmPrinter::doInitialization().
Definition at line 162 of file AsmPrinter.cpp.
Referenced by llvm::AsmPrinter::doInitialization().
|
static |
Referenced by llvm::AsmPrinter::emitFunctionBody(), and getBBAddrMapFeature().
Definition at line 171 of file AsmPrinter.cpp.
Referenced by llvm::AsmPrinter::doInitialization().
Definition at line 170 of file AsmPrinter.cpp.
Referenced by llvm::AsmPrinter::doInitialization().
Definition at line 169 of file AsmPrinter.cpp.
Referenced by llvm::AsmPrinter::doInitialization().
Definition at line 168 of file AsmPrinter.cpp.
Referenced by llvm::AsmPrinter::doInitialization().