LLVM  6.0.0svn
Namespaces | Macros | Enumerations | Functions
ARMAsmParser.cpp File Reference
#include "ARMFeatures.h"
#include "Utils/ARMBaseInfo.h"
#include "MCTargetDesc/ARMAddressingModes.h"
#include "MCTargetDesc/ARMBaseInfo.h"
#include "MCTargetDesc/ARMMCExpr.h"
#include "MCTargetDesc/ARMMCTargetDesc.h"
#include "llvm/ADT/APFloat.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/None.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/ADT/Triple.h"
#include "llvm/ADT/Twine.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCInstrDesc.h"
#include "llvm/MC/MCInstrInfo.h"
#include "llvm/MC/MCObjectFileInfo.h"
#include "llvm/MC/MCParser/MCAsmLexer.h"
#include "llvm/MC/MCParser/MCAsmParser.h"
#include "llvm/MC/MCParser/MCAsmParserExtension.h"
#include "llvm/MC/MCParser/MCAsmParserUtils.h"
#include "llvm/MC/MCParser/MCParsedAsmOperand.h"
#include "llvm/MC/MCParser/MCTargetAsmParser.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/MC/MCSection.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/MC/SubtargetFeature.h"
#include "llvm/Support/ARMBuildAttributes.h"
#include "llvm/Support/ARMEHABI.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/SMLoc.h"
#include "llvm/Support/TargetParser.h"
#include "llvm/Support/TargetRegistry.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <iterator>
#include <limits>
#include <memory>
#include <string>
#include <utility>
#include <vector>
#include "ARMGenAsmMatcher.inc"

Go to the source code of this file.

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 

Macros

#define GET_OPERAND_DIAGNOSTIC_TYPES
 
Auto-generated Match Functions

{

#define GET_ASSEMBLER_HEADER
 

Enumerations

enum  ImplicitItModeTy
 
enum  VectorLaneTy
 

Functions

template<>
bool llvm::IsCPSRDead< MCInst > (const MCInst *Instr)
 

Auto-generated Match Functions

{

#define GET_REGISTER_MATCHER
 
#define GET_SUBTARGET_FEATURE_NAME
 
#define GET_MATCHER_IMPLEMENTATION
 
struct {
   const unsigned   Kind
 
   const uint64_t   ArchCheck
 
   const FeatureBitset   Features
 
Extensions []
 
static unsigned MatchRegisterName (StringRef Name)
 
static int MatchCoprocessorOperandName (StringRef Name, char CoprocOp)
 MatchCoprocessorOperandName - Try to parse an coprocessor related instruction with a symbolic operand name. More...
 
static unsigned getNextRegister (unsigned Reg)
 
static bool isDataTypeToken (StringRef Tok)
 
static bool doesIgnoreDataTypeSuffix (StringRef Mnemonic, StringRef DT)
 
static void applyMnemonicAliases (StringRef &Mnemonic, uint64_t Features, unsigned VariantID)
 
static bool RequiresVFPRegListValidation (StringRef Inst, bool &AcceptSinglePrecisionOnly, bool &AcceptDoublePrecisionOnly)
 
static bool checkLowRegisterList (const MCInst &Inst, unsigned OpNo, unsigned Reg, unsigned HiReg, bool &containsReg)
 
static bool listContainsReg (const MCInst &Inst, unsigned OpNo, unsigned Reg)
 
static bool instIsBreakpoint (const MCInst &Inst)
 
static unsigned getRealVSTOpcode (unsigned Opc, unsigned &Spacing)
 
static unsigned getRealVLDOpcode (unsigned Opc, unsigned &Spacing)
 
std::string ARMMnemonicSpellCheck (StringRef S, uint64_t FBS)
 
static const chargetSubtargetFeatureName (uint64_t Val)
 
void LLVMInitializeARMAsmParser ()
 Force static initialization. More...
 

Macro Definition Documentation

◆ GET_ASSEMBLER_HEADER

#define GET_ASSEMBLER_HEADER

Definition at line 518 of file ARMAsmParser.cpp.

◆ GET_MATCHER_IMPLEMENTATION

#define GET_MATCHER_IMPLEMENTATION

Definition at line 10159 of file ARMAsmParser.cpp.

◆ GET_OPERAND_DIAGNOSTIC_TYPES

#define GET_OPERAND_DIAGNOSTIC_TYPES

Definition at line 570 of file ARMAsmParser.cpp.

◆ GET_REGISTER_MATCHER

#define GET_REGISTER_MATCHER

Definition at line 10157 of file ARMAsmParser.cpp.

◆ GET_SUBTARGET_FEATURE_NAME

#define GET_SUBTARGET_FEATURE_NAME

Definition at line 10158 of file ARMAsmParser.cpp.

Enumeration Type Documentation

◆ ImplicitItModeTy

enum ImplicitItModeTy
strong

Definition at line 70 of file ARMAsmParser.cpp.

◆ VectorLaneTy

Definition at line 87 of file ARMAsmParser.cpp.

Function Documentation

◆ applyMnemonicAliases()

static void applyMnemonicAliases ( StringRef Mnemonic,
uint64_t  Features,
unsigned  VariantID 
)
static

◆ ARMMnemonicSpellCheck()

std::string ARMMnemonicSpellCheck ( StringRef  S,
uint64_t  FBS 
)

◆ checkLowRegisterList()

static bool checkLowRegisterList ( const MCInst Inst,
unsigned  OpNo,
unsigned  Reg,
unsigned  HiReg,
bool containsReg 
)
static

◆ doesIgnoreDataTypeSuffix()

static bool doesIgnoreDataTypeSuffix ( StringRef  Mnemonic,
StringRef  DT 
)
static

◆ getNextRegister()

static unsigned getNextRegister ( unsigned  Reg)
static

Definition at line 3550 of file ARMAsmParser.cpp.

References llvm::ARM_PROC::A, llvm::MCInst::addOperand(), llvm::ARMCC::AL, llvm::AMDGPU::CodeObject::Kernel::Arg::Key::Align, llvm::lltok::APFloat, llvm::ARMCondCodeFromString(), llvm::ARM_AM::asr, assert(), llvm::sys::path::begin(), llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::AsmToken::Caret, llvm::StringSwitch< T, R >::Case(), llvm::AsmToken::Colon, llvm::AsmToken::Comma, llvm::MCRegisterClass::contains(), contains(), llvm::ARMMCExpr::create(), llvm::MCConstantExpr::create(), llvm::StringSwitch< T, R >::Default(), llvm::AsmToken::Dollar, llvm::AsmToken::Dot, llvm::dyn_cast(), E, llvm::StringRef::empty(), llvm::sys::path::end(), llvm::AsmToken::EndOfStatement, llvm::StringRef::endswith(), llvm::AsmToken::Equal, llvm::StringRef::equals_lower(), llvm::SmallVectorImpl< T >::erase(), llvm::lltok::Error, llvm::AsmToken::Exclaim, llvm::ARM_PROC::F, llvm::StringRef::find(), llvm::find_if(), fuzzer::Flags, llvm::AsmToken::getEndLoc(), llvm::ARM_AM::getFPImmFloat(), llvm::SMLoc::getFromPointer(), llvm::AsmToken::getIdentifier(), llvm::AsmToken::getIntVal(), llvm::AsmToken::getLoc(), llvm::MCInst::getOpcode(), llvm::MCInst::getOperand(), llvm::SMLoc::getPointer(), getReg(), llvm::ARM_AM::getSOImmVal(), llvm::AsmToken::getString(), llvm::MCAsmParser::getTok(), llvm::getToken(), llvm::MCConstantExpr::getValue(), llvm::AsmToken::Hash, High, llvm::ARM_PROC::I, llvm::ARM_PROC::ID, llvm::AsmToken::Identifier, llvm::ARM_PROC::IE, llvm::APFloatBase::IEEEsingle(), llvm::AsmToken::Integer, llvm::tgtok::IntVal, llvm::AsmToken::is(), llvm::isARMLowRegister(), llvm::MCObjectFileInfo::IsCOFF, llvm::MCObjectFileInfo::IsELF, llvm::ARM_MB::ISH, llvm::ARM_MB::ISHLD, llvm::ARM_MB::ISHST, llvm::MCObjectFileInfo::IsMachO, llvm::AsmToken::isNot(), isReg(), isThumb(), llvm::MCObjectFileInfo::IsWasm, llvm::AsmToken::LBrac, llvm::AsmToken::LCurly, llvm::ARM_MB::LD, llvm::MCAsmParser::Lex(), LLVM_FALLTHROUGH, llvm_unreachable, llvm::StringRef::lower(), llvm::AsmToken::LParen, llvm::ARM_AM::lsl, llvm::ARM_AM::lsr, llvm::BitmaskEnumDetail::Mask(), llvm::MatchOperand_NoMatch, llvm::MatchOperand_ParseFail, llvm::MatchOperand_Success, llvm::AsmToken::Minus, MRI, llvm::ARM_AM::no_shift, llvm::StringRef::npos, llvm::ARM_MB::NSH, llvm::ARM_MB::NSHLD, llvm::ARM_MB::NSHST, op, llvm::ARM_MB::OSH, llvm::ARM_MB::OSHLD, llvm::ARM_MB::OSHST, llvm::MCAsmLexer::peekTok(), llvm::AsmToken::Plus, llvm::cl::Prefix, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), R2, R4, R6, llvm::AsmToken::RBrac, llvm::AsmToken::RCurly, llvm::AsmToken::Real, llvm::ARM_MB::RESERVED_0, llvm::ARM_ISB::RESERVED_0, llvm::ARM_AM::ror, llvm::ARM_AM::rrx, llvm::MCInst::setOpcode(), llvm::SmallVectorTemplateCommon< T, typename >::size(), llvm::StringRef::size(), llvm::StringRef::slice(), llvm::ARM_MB::ST, llvm::StringRef::startswith(), llvm::AsmToken::String, llvm::StringRef::substr(), std::swap(), llvm::ARM_MB::SY, llvm::ARM_ISB::SY, llvm::StringRef::upper(), llvm::ARMMCExpr::VK_ARM_HI16, llvm::ARMMCExpr::VK_ARM_LO16, and llvm::ARMMCExpr::VK_ARM_None.

◆ getRealVLDOpcode()

static unsigned getRealVLDOpcode ( unsigned  Opc,
unsigned Spacing 
)
static

◆ getRealVSTOpcode()

static unsigned getRealVSTOpcode ( unsigned  Opc,
unsigned Spacing 
)
static

Definition at line 6567 of file ARMAsmParser.cpp.

References llvm_unreachable.

Referenced by getRealVLDOpcode().

◆ getSubtargetFeatureName()

static const char* getSubtargetFeatureName ( uint64_t  Val)
static

◆ instIsBreakpoint()

static bool instIsBreakpoint ( const MCInst Inst)
static

◆ isDataTypeToken()

static bool isDataTypeToken ( StringRef  Tok)
static

Definition at line 5775 of file ARMAsmParser.cpp.

Referenced by RequiresVFPRegListValidation().

◆ listContainsReg()

static bool listContainsReg ( const MCInst Inst,
unsigned  OpNo,
unsigned  Reg 
)
static

◆ LLVMInitializeARMAsmParser()

void LLVMInitializeARMAsmParser ( )

Force static initialization.

Definition at line 10150 of file ARMAsmParser.cpp.

References B, llvm::getTheARMBETarget(), llvm::getTheARMLETarget(), llvm::getTheThumbBETarget(), llvm::getTheThumbLETarget(), X, and Y.

◆ MatchCoprocessorOperandName()

static int MatchCoprocessorOperandName ( StringRef  Name,
char  CoprocOp 
)
static

MatchCoprocessorOperandName - Try to parse an coprocessor related instruction with a symbolic operand name.

We accept "crN" syntax for GAS compatibility. <operand-name> ::= <prefix><number> If CoprocOp is 'c', then: <prefix> ::= c | cr If CoprocOp is 'p', then : <prefix> ::= p <number> ::= integer in range [0, 15]

Definition at line 3411 of file ARMAsmParser.cpp.

References llvm::ARMCondCodeFromString(), llvm::StringRef::drop_front(), llvm::dyn_cast(), E, llvm::lltok::Error, llvm::AsmToken::getEndLoc(), llvm::AsmToken::getLoc(), llvm::AsmToken::getString(), llvm::MCAsmParser::getTok(), llvm::MCConstantExpr::getValue(), llvm::AsmToken::Identifier, llvm::AsmToken::is(), llvm::AsmToken::isNot(), llvm::AsmToken::LCurly, llvm::MCAsmParser::Lex(), llvm::MatchOperand_NoMatch, llvm::MatchOperand_ParseFail, llvm::MatchOperand_Success, llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), llvm::AsmToken::RCurly, and llvm::StringRef::size().

◆ MatchRegisterName()

static unsigned MatchRegisterName ( StringRef  Name)
static

◆ RequiresVFPRegListValidation()

static bool RequiresVFPRegListValidation ( StringRef  Inst,
bool AcceptSinglePrecisionOnly,
bool AcceptDoublePrecisionOnly 
)
static

Variable Documentation

◆ ArchCheck

const uint64_t ArchCheck

Definition at line 10167 of file ARMAsmParser.cpp.

◆ Extensions

const { ... } Extensions[]
Initial value:
= {
{ ARM::AEK_CRC, Feature_HasV8, {ARM::FeatureCRC} },
{ ARM::AEK_CRYPTO, Feature_HasV8,
{ARM::FeatureCrypto, ARM::FeatureNEON, ARM::FeatureFPARMv8} },
{ ARM::AEK_FP, Feature_HasV8, {ARM::FeatureFPARMv8} },
{ (ARM::AEK_HWDIVTHUMB | ARM::AEK_HWDIVARM), Feature_HasV7 | Feature_IsNotMClass,
{ARM::FeatureHWDivThumb, ARM::FeatureHWDivARM} },
{ ARM::AEK_MP, Feature_HasV7 | Feature_IsNotMClass, {ARM::FeatureMP} },
{ ARM::AEK_SIMD, Feature_HasV8, {ARM::FeatureNEON, ARM::FeatureFPARMv8} },
{ ARM::AEK_SEC, Feature_HasV6K, {ARM::FeatureTrustZone} },
{ ARM::AEK_VIRT, Feature_HasV7, {ARM::FeatureVirtualization} },
{ ARM::AEK_FP16, Feature_HasV8_2a, {ARM::FeatureFPARMv8, ARM::FeatureFullFP16} },
{ ARM::AEK_RAS, Feature_HasV8, {ARM::FeatureRAS} },
{ ARM::AEK_OS, Feature_None, {} },
{ ARM::AEK_IWMMXT, Feature_None, {} },
{ ARM::AEK_IWMMXT2, Feature_None, {} },
{ ARM::AEK_MAVERICK, Feature_None, {} },
{ ARM::AEK_XSCALE, Feature_None, {} },
}

Referenced by llvm::PassManagerBuilder::addExtension(), llvm::AArch64::getDefaultExtensions(), and llvm::PassManagerBuilder::populateModulePassManager().

◆ Features

const FeatureBitset Features

Definition at line 10168 of file ARMAsmParser.cpp.

Referenced by doesIgnoreDataTypeSuffix(), and llvm::IsCPSRDead< MCInst >().

◆ Kind

Definition at line 10166 of file ARMAsmParser.cpp.

Referenced by llvm::AttrBuilder::addAttribute(), addForcedAttributes(), llvm::InnerLoopVectorizer::addMetadata(), llvm::ScheduleDAGInstrs::addPhysRegDeps(), llvm::SIScheduleBlock::addSucc(), llvm::AVRAsmBackend::adjustFixupValue(), llvm::ARMAsmBackend::adjustFixupValue(), adjustFixupValue(), llvm::RegsForValue::append(), llvm::DWARFDebugLine::LineTable::appendSequence(), llvm::MipsAsmBackend::applyFixup(), llvm::ARCMCInstLower::ARCMCInstLower(), llvm::ARMElfTargetObjectFile::ARMElfTargetObjectFile(), llvm::AVRAsmBackend::AVRAsmBackend(), llvm::CodeViewDebug::beginInstruction(), canGoAfterDWARF(), canUseLocalRelocation(), llvm::MCTargetAsmParser::checkTargetMatchPredicate(), llvm::combineMetadata(), llvm::SIInstrInfo::commuteOpcode(), llvm::createHexagonHardwareLoops(), llvm::createPGOInstrumentationUseLegacyPass(), DeleteTriviallyDeadInstructions(), dumpRelocs(), llvm::ARMAsmPrinter::EmitConstantPool(), llvm::TargetLoweringObjectFile::emitModuleMetadata(), llvm::MCObjectStreamer::EmitRelocDirective(), llvm::SystemZTTIImpl::enableInterleavedAccessVectorization(), llvm::rdf::DeadCodeElimination::erase(), llvm::AVRMCExpr::evaluateAsRelocatableImpl(), llvm::TargetLowering::expandMUL(), extractBitsForFixup(), llvm::yaml::Scanner::failed(), llvm::SourceMgr::FindLineNumber(), llvm::pdb::NativeSession::findSymbolByTypeIndex(), llvm::CodeViewYAML::detail::UnknownSymbolRecord::fromCodeViewSymbol(), FunctionNumber(), llvm::AttributeSetNode::get(), llvm::MCValue::getAccessVariant(), GetAEABIUnwindPersonalityName(), llvm::Instruction::getAllMetadataOtherThanDebugLoc(), getARClassRegisterMask(), llvm::Argument::getArgNo(), getAttrFromCode(), getAttrKindEncoding(), llvm::objcarc::GetBasicARCInstKind(), llvm::X86AsmPrinter::GetCPISymbol(), llvm::AArch64RegisterInfo::getCSRFirstUseCost(), llvm::SIRegisterInfo::getCSRFirstUseCost(), llvm::MCContext::getELFSection(), llvm::EnumAttributeImpl::getEnumKind(), llvm::NVPTXTargetObjectFile::getExplicitSectionGlobal(), llvm::MipsMCCodeEmitter::getExprOpValue(), llvm::DWARFDie::getFirstChild(), llvm::AVRMCExpr::getFixupKind(), llvm::MCAsmBackend::getFixupKindInfo(), getFixupKindLog2Size(), getFixupKindNumBytes(), llvm::HexagonFrameLowering::getFrameIndexReference(), llvm::DependenceInfo::getFunction(), getGNUBinOpPrecedence(), llvm::SIScheduleBlock::getID(), llvm::FrameEntry::getKind(), llvm::MCFragment::getKind(), llvm::MCSection::getKind(), llvm::coverage::Counter::getKind(), llvm::DIContext::getKind(), llvm::SCEVPredicate::getKind(), llvm::SMDiagnostic::getKind(), getLit64Encoding(), llvm::TGLexer::getLoc(), llvm::ARMTTIImpl::getMaxInterleaveFactor(), llvm::AVRMCExpr::getName(), llvm::rdf::DataFlowGraph::getNextShadow(), llvm::InstrProfRecord::getNumValueKinds(), llvm::codeview::TypeHasher::getOrCreateRecord(), getOrInsertValueProfilingCall(), llvm::RecurrenceDescriptor::InstDesc::getPatternInst(), getPLTReloc(), llvm::MipsRegisterInfo::getPointerRegClass(), llvm::TargetLowering::getRecipEstimate(), llvm::RecurrenceDescriptor::getRecurrenceKind(), getRelocType32(), llvm::TargetLoweringObjectFileCOFF::getSectionForJumpTable(), llvm::X86TTIImpl::getShuffleCost(), llvm::StringAttributeImpl::getStringKind(), getSubprogram(), llvm::GlobalValueSummary::getSummaryKind(), llvm::codeview::TypeTableCollection::getType(), llvm::SymbolRewriter::RewriteDescriptor::getType(), llvm::AMDGPUTTIImpl::getVectorSplitCost(), llvm::MCContext::getWasmSection(), llvm::GlobalValueSummary::GVFlags::GVFlags(), handleFieldList(), llvm::AttributeImpl::hasAttribute(), llvm::AttributeSetNode::hasAttribute(), HasConditionalBranch(), llvm::AttributeListImpl::hasFnAttribute(), llvm::GlobalObject::hasMetadata(), llvm::ARMAsmBackend::hasNOP(), hasOnlyOneNonZeroIndex(), HasSecRelSymbolRef(), llvm::GCNRegPressure::inc(), incrementLoc(), llvm::XCoreMCInstLower::Initialize(), llvm::MipsMCInstLower::Initialize(), is_ns_word_char(), llvm::rdf::DataFlowGraph::IsCode(), isDbgValueDescribedByReg(), llvm::LanaiTargetObjectFile::isGlobalInSmallSection(), llvm::MipsTargetObjectFile::IsGlobalInSmallSection(), isImmValidForOpcode(), isImplicitOperandIn(), llvm::rdf::DataFlowGraph::IsRef(), llvm::FullDependence::isSplitable(), llvm::AttributeImpl::isStringAttribute(), llvm::CallInst::isTailCall(), llvm::PseudoSourceValue::kind(), llvm::LLLexer::LLLexer(), loadELF64(), llvm::SystemZMCInstLower::lowerOperand(), llvm::MipsMCInstLower::LowerOperand(), LowerSymbolOperand(), llvm::LanaiMCInstLower::LowerSymbolOperand(), llvm::MachObjectWriter::MachObjectWriter(), makeCombineInst(), mapLeafRecordImpl(), mapMemberRecordImpl(), mapSymbolRecordImpl(), maybeLexIntegerOrScalarType(), maybeLexSymbol(), maybePrintComdat(), llvm::InstrProfRecord::merge(), mergeTypeForSet(), llvm::MipsAsmBackend::MipsAsmBackend(), needsPCRel(), needsRuntimeRegistrationOfSectionRange(), llvm::AttributeSet::operator!=(), llvm::rdf::operator<<(), llvm::opt::OptTable::OptTable(), parseAttrKind(), llvm::MetadataLoader::MetadataLoaderImpl::parseMetadataAttachment(), llvm::DWARFDebugLocDWO::parseOneLocationList(), parseOptionalLinkageAux(), parseValidVectorKind(), llvm::PPCTTIImpl::PPCTTIImpl(), printExpr(), llvm::AVRMCExpr::printImpl(), llvm::PrintMessage(), llvm::propagateMetadata(), llvm::codeview::readCVRecordFromStream(), readTriple(), llvm::MIRParserImpl::reportDiagnostic(), llvm::MCAsmBackend::reset(), llvm::MIToken::reset(), llvm::SymbolRewriter::RewriteDescriptor::RewriteDescriptor(), scalarConstantToHexString(), llvm::InstrProfRecord::scale(), selectI64Imm(), llvm::CallInst::setAttributes(), llvm::InvokeInst::setAttributes(), llvm::Instruction::setMetadata(), setRequiredFeatureString(), llvm::MCAssembler::setVersionMinInfo(), shouldEmitUdt(), llvm::HexagonTargetObjectFile::shouldPutJumpTableInFunctionSection(), llvm::InstrProfRecord::sortValueData(), stripRegisterPrefix(), SumCanReachMin(), llvm::Triple::supportsCOMDAT(), SwitchToSelect(), llvm::CodeViewYAML::detail::LeafRecordImpl< T >::toCodeViewRecord(), llvm::CodeViewYAML::detail::UnknownSymbolRecord::toCodeViewSymbol(), llvm::Twine::toNullTerminatedStringRef(), llvm::objcarc::TopDownPtrState::TopDownPtrState(), truncateToSize(), tryToElideArgumentCopy(), UpdatePredRedefs(), llvm::codeview::CVRecord< TypeLeafKind >::valid(), llvm::DIContext::verify(), llvm::codeview::TypeDumpVisitor::visitMemberEnd(), llvm::codeview::visitMemberRecord(), and llvm::X86TTIImpl::X86TTIImpl().