LLVM 20.0.0git
|
#include "llvm/CodeGen/MIRParser/MIParser.h"
#include "MILexer.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/APSInt.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/ADT/Twine.h"
#include "llvm/AsmParser/Parser.h"
#include "llvm/AsmParser/SlotMapping.h"
#include "llvm/CodeGen/MIRFormatter.h"
#include "llvm/CodeGen/MIRPrinter.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineMemOperand.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/PseudoSourceValueManager.h"
#include "llvm/CodeGen/RegisterBank.h"
#include "llvm/CodeGen/RegisterBankInfo.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/CodeGenTypes/LowLevelType.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DebugInfoMetadata.h"
#include "llvm/IR/DebugLoc.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/Metadata.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/ModuleSlotTracker.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/Value.h"
#include "llvm/IR/ValueSymbolTable.h"
#include "llvm/MC/LaneBitmask.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCDwarf.h"
#include "llvm/MC/MCInstrDesc.h"
#include "llvm/Support/AtomicOrdering.h"
#include "llvm/Support/BranchProbability.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/SMLoc.h"
#include "llvm/Support/SourceMgr.h"
#include "llvm/Target/TargetIntrinsicInfo.h"
#include "llvm/Target/TargetMachine.h"
#include <cassert>
#include <cctype>
#include <cstddef>
#include <cstdint>
#include <limits>
#include <string>
#include <utility>
Go to the source code of this file.
Typedefs | |
typedef function_ref< bool(StringRef::iterator Loc, const Twine &)> | ErrorCallbackType |
typedef function_ref<bool(StringRef::iterator Loc, const Twine &)> ErrorCallbackType |
Definition at line 623 of file MIParser.cpp.
Definition at line 2058 of file MIParser.cpp.
References A, assert(), llvm::MIToken::HexLiteral, llvm::MIToken::is(), llvm::MIToken::range(), and llvm::StringRef::substr().
Referenced by getUnsigned().
|
static |
Definition at line 3548 of file MIParser.cpp.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::lookup().
|
static |
Definition at line 1416 of file MIParser.cpp.
References assert(), llvm::StringRef::lower(), and TRI.
Referenced by llvm::logicalview::LVOperation::getOperandsDWARFInfo(), and llvm::AMDGPUPALMetadata::toString().
|
static |
Definition at line 2075 of file MIParser.cpp.
References A, getHexUint(), llvm::APInt::getLimitedValue(), llvm::MIToken::hasIntegerValue(), llvm::MIToken::HexLiteral, llvm::MIToken::integerValue(), llvm::MIToken::is(), and llvm::MIToken::location().
Referenced by parseGlobalValue(), and parseIRValue().
|
static |
Definition at line 3533 of file MIParser.cpp.
References F, llvm::ModuleSlotTracker::getLocalSlot(), llvm::Value::hasName(), llvm::ModuleSlotTracker::incorporateFunction(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert().
|
static |
Creates the mapping from slot numbers to function's unnamed IR values.
Definition at line 361 of file MIParser.cpp.
References F, I, llvm::ModuleSlotTracker::incorporateFunction(), and mapValueToSlot().
Referenced by llvm::PerFunctionMIParsingState::getIRValue().
|
static |
Return true if the parsed machine operands contain a given machine operand.
Definition at line 1423 of file MIParser.cpp.
References I, llvm::MachineOperand::isIdenticalTo(), and Operands.
|
static |
Definition at line 352 of file MIParser.cpp.
References llvm::ModuleSlotTracker::getLocalSlot(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert().
Referenced by initSlots2Values().
|
static |
Definition at line 2183 of file MIParser.cpp.
References llvm::MachineFunction::getFunction(), llvm::GlobalValue::getParent(), getUnsigned(), llvm::MIToken::GlobalValue, llvm::SlotMapping::GlobalValues, llvm::PerFunctionMIParsingState::IRSlots, llvm::MIToken::kind(), llvm_unreachable, llvm::MIToken::location(), llvm::PerFunctionMIParsingState::MF, llvm::MIToken::NamedGlobalValue, llvm::MIToken::range(), and llvm::MIToken::stringValue().
Referenced by parseIRValue().
|
static |
Definition at line 1884 of file MIParser.cpp.
References llvm::CallingConv::C, llvm::MachineFunction::getFunction(), llvm::GlobalValue::getParent(), llvm::PerFunctionMIParsingState::IRSlots, llvm::PerFunctionMIParsingState::MF, llvm::parseConstantValue(), and llvm::StringRef::str().
Referenced by parseIRValue().
|
static |
Definition at line 3090 of file MIParser.cpp.
References llvm::CallingConv::C, llvm::MachineFunction::getFunction(), llvm::PerFunctionMIParsingState::getIRValue(), getUnsigned(), llvm::Function::getValueSymbolTable(), llvm::MIToken::GlobalValue, llvm::MIToken::IRValue, llvm::MIToken::kind(), llvm::MIToken::kw_unknown_address, llvm_unreachable, llvm::MIToken::location(), llvm::ValueSymbolTable::lookup(), llvm::PerFunctionMIParsingState::MF, llvm::MIToken::NamedGlobalValue, llvm::MIToken::NamedIRValue, parseGlobalValue(), parseIRConstant(), llvm::MIToken::QuotedIRValue, llvm::MIToken::range(), and llvm::MIToken::stringValue().
|
static |
Definition at line 1411 of file MIParser.cpp.
References assert(), llvm::MachineOperand::isDef(), and llvm::MachineOperand::isImplicit().
|
static |
Definition at line 625 of file MIParser.cpp.
References llvm::MIToken::colon, llvm::MIToken::comma, llvm::MIToken::equal, llvm::MIToken::lparen, and llvm::MIToken::rparen.
Referenced by llvm::APInt::toStringSigned(), and llvm::APInt::toStringUnsigned().
Definition at line 1921 of file MIParser.cpp.
Definition at line 1913 of file MIParser.cpp.
References Size.
Definition at line 1917 of file MIParser.cpp.