LLVM 20.0.0git
|
#include "ARMBaseInstrInfo.h"
#include "ARMFeatures.h"
#include "MCTargetDesc/ARMAddressingModes.h"
#include "MCTargetDesc/ARMBaseInfo.h"
#include "MCTargetDesc/ARMInstPrinter.h"
#include "MCTargetDesc/ARMMCExpr.h"
#include "MCTargetDesc/ARMMCTargetDesc.h"
#include "TargetInfo/ARMTargetInfo.h"
#include "Utils/ARMBaseInfo.h"
#include "llvm/ADT/APFloat.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallBitVector.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/StringSet.h"
#include "llvm/ADT/StringSwitch.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/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/TargetRegistry.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/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/SMLoc.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/TargetParser/SubtargetFeature.h"
#include "llvm/TargetParser/TargetParser.h"
#include "llvm/TargetParser/Triple.h"
#include <algorithm>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <iterator>
#include <limits>
#include <memory>
#include <optional>
#include <string>
#include <utility>
#include <vector>
#include "ARMGenAsmMatcher.inc"
Go to the source code of this file.
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
Macros | |
#define | DEBUG_TYPE "asm-parser" |
#define | GET_OPERAND_DIAGNOSTIC_TYPES |
Auto-generated Match Functions | |
{ | |
#define | GET_ASSEMBLER_HEADER |
Functions | |
template<> | |
bool | llvm::IsCPSRDead< MCInst > (const MCInst *Instr) |
#define DEBUG_TYPE "asm-parser" |
Definition at line 71 of file ARMAsmParser.cpp.
#define GET_ASSEMBLER_HEADER |
Definition at line 620 of file ARMAsmParser.cpp.
#define GET_MATCHER_IMPLEMENTATION |
Definition at line 12735 of file ARMAsmParser.cpp.
#define GET_MNEMONIC_SPELL_CHECKER |
Definition at line 12736 of file ARMAsmParser.cpp.
#define GET_OPERAND_DIAGNOSTIC_TYPES |
Definition at line 683 of file ARMAsmParser.cpp.
#define GET_REGISTER_MATCHER |
Definition at line 12733 of file ARMAsmParser.cpp.
#define GET_SUBTARGET_FEATURE_NAME |
Definition at line 12734 of file ARMAsmParser.cpp.
|
static |
|
static |
|
static |
Definition at line 7491 of file ARMAsmParser.cpp.
References llvm::MCInst::getNumOperands(), llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), and llvm::isARMLowRegister().
Definition at line 6934 of file ARMAsmParser.cpp.
References llvm::StringRef::starts_with().
unsigned findCCOutInd | ( | const OperandVector & | Operands, |
unsigned | MnemonicOpsEndInd | ||
) |
Definition at line 5807 of file ARMAsmParser.cpp.
unsigned findCondCodeInd | ( | const OperandVector & | Operands, |
unsigned | MnemonicOpsEndInd | ||
) |
Definition at line 5797 of file ARMAsmParser.cpp.
|
static |
Definition at line 7636 of file ARMAsmParser.cpp.
References llvm::ARM::isVpred(), llvm::MCInstrDesc::NumOperands, and llvm::MCInstrDesc::operands().
Referenced by isVectorPredicable().
|
static |
Definition at line 4156 of file ARMAsmParser.cpp.
References llvm::MCExpr::Constant, llvm::ARM_PROC::ID, llvm::ARM_PROC::IE, isDataTypeToken(), and Operands.
|
static |
Definition at line 4576 of file ARMAsmParser.cpp.
References contains(), llvm_unreachable, and Reg.
Definition at line 8769 of file ARMAsmParser.cpp.
References llvm_unreachable.
Definition at line 8660 of file ARMAsmParser.cpp.
References llvm_unreachable.
unsigned getRegListInd | ( | const OperandVector & | Operands, |
unsigned | MnemonicOpsEndInd | ||
) |
Definition at line 7526 of file ARMAsmParser.cpp.
|
static |
Definition at line 4598 of file ARMAsmParser.cpp.
References E, I, Reg, and std::swap().
Definition at line 7519 of file ARMAsmParser.cpp.
References llvm::MCInst::getOpcode().
|
static |
Definition at line 7648 of file ARMAsmParser.cpp.
}
Definition at line 4148 of file ARMAsmParser.cpp.
References llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::contains().
Referenced by getMnemonicOpsEndInd().
|
static |
Definition at line 6873 of file ARMAsmParser.cpp.
References llvm::ARMMCExpr::getKind(), llvm::ARMMCExpr::VK_ARM_HI_0_7, llvm::ARMMCExpr::VK_ARM_HI_8_15, llvm::ARMMCExpr::VK_ARM_LO_0_7, and llvm::ARMMCExpr::VK_ARM_LO_8_15.
|
static |
Definition at line 7644 of file ARMAsmParser.cpp.
References findFirstVectorPredOperandIdx().
|
static |
Definition at line 7508 of file ARMAsmParser.cpp.
References llvm::MCInst::getNumOperands(), llvm::MCInst::getOperand(), and llvm::MCOperand::getReg().
LLVM_EXTERNAL_VISIBILITY void LLVMInitializeARMAsmParser | ( | ) |
Force static initialization.
Definition at line 12726 of file ARMAsmParser.cpp.
References A, B, llvm::getTheARMBETarget(), llvm::getTheARMLETarget(), llvm::getTheThumbBETarget(), llvm::getTheThumbLETarget(), X, and Y.
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 4444 of file ARMAsmParser.cpp.
References Name.
|
static |
bool operandsContainWide | ( | OperandVector & | Operands, |
unsigned | MnemonicOpsEndInd | ||
) |
Definition at line 6773 of file ARMAsmParser.cpp.
void removeCCOut | ( | OperandVector & | Operands, |
unsigned & | MnemonicOpsEndInd | ||
) |
Definition at line 7065 of file ARMAsmParser.cpp.
void removeCondCode | ( | OperandVector & | Operands, |
unsigned & | MnemonicOpsEndInd | ||
) |
Definition at line 7056 of file ARMAsmParser.cpp.
void removeVPTCondCode | ( | OperandVector & | Operands, |
unsigned & | MnemonicOpsEndInd | ||
) |
Definition at line 7074 of file ARMAsmParser.cpp.