LLVM: include/llvm/MC/MCInstrDesc.h File Reference (original) (raw)

Go to the source code of this file.

Classes
class llvm::MCOperandInfo
This holds information about one operand of a machine instruction, indicating the register class for register operands, etc. More...
class llvm::MCInstrDesc
Describe properties that are true of each instruction in the target description file. More...
Namespaces
namespace llvm
This is an optimization pass for GlobalISel generic memory operations.
namespace llvm::MCOI
namespace llvm::MCID
Macros
#define MCOI_TIED_TO(op)
#define MCOI_EARLY_CLOBBER (1 << MCOI::EARLY_CLOBBER)
Enumerations
enum llvm::MCOI::OperandConstraint { llvm::MCOI::TIED_TO = 0 , llvm::MCOI::EARLY_CLOBBER }
Operand constraints. More...
enum llvm::MCOI::OperandFlags { llvm::MCOI::LookupRegClassByHwMode = 0 , llvm::MCOI::Predicate, llvm::MCOI::OptionalDef, llvm::MCOI::BranchTarget }
These are flags set on operands, but should be considered private, all access should go through the MCOperandInfo accessors. More...
enum llvm::MCOI::OperandType { llvm::MCOI::OPERAND_UNKNOWN = 0 , llvm::MCOI::OPERAND_IMMEDIATE = 1 , llvm::MCOI::OPERAND_REGISTER = 2 , llvm::MCOI::OPERAND_MEMORY = 3 , llvm::MCOI::OPERAND_PCREL = 4 , llvm::MCOI::OPERAND_FIRST_GENERIC = 6 , llvm::MCOI::OPERAND_GENERIC_0 = 6 , llvm::MCOI::OPERAND_GENERIC_1 = 7 , llvm::MCOI::OPERAND_GENERIC_2 = 8 , llvm::MCOI::OPERAND_GENERIC_3 = 9 , llvm::MCOI::OPERAND_GENERIC_4 = 10 , llvm::MCOI::OPERAND_GENERIC_5 = 11 , llvm::MCOI::OPERAND_LAST_GENERIC = 11 , llvm::MCOI::OPERAND_FIRST_GENERIC_IMM = 12 , llvm::MCOI::OPERAND_GENERIC_IMM_0 = 12 , llvm::MCOI::OPERAND_LAST_GENERIC_IMM = 12 , llvm::MCOI::OPERAND_FIRST_TARGET = 13 }
Operands are tagged with one of the values of this enum. More...
enum llvm::MCID::Flag { llvm::MCID::PreISelOpcode = 0 , llvm::MCID::Variadic, llvm::MCID::HasOptionalDef, llvm::MCID::Pseudo, llvm::MCID::Meta, llvm::MCID::Return, llvm::MCID::EHScopeReturn, llvm::MCID::Call, llvm::MCID::Barrier, llvm::MCID::Terminator, llvm::MCID::Branch, llvm::MCID::IndirectBranch, llvm::MCID::Compare, llvm::MCID::MoveImm, llvm::MCID::MoveReg, llvm::MCID::Bitcast, llvm::MCID::Select, llvm::MCID::DelaySlot, llvm::MCID::FoldableAsLoad, llvm::MCID::MayLoad, llvm::MCID::MayStore, llvm::MCID::MayRaiseFPException, llvm::MCID::Predicable, llvm::MCID::NotDuplicable, llvm::MCID::UnmodeledSideEffects, llvm::MCID::Commutable, llvm::MCID::ConvertibleTo3Addr, llvm::MCID::UsesCustomInserter, llvm::MCID::HasPostISelHook, llvm::MCID::Rematerializable, llvm::MCID::CheapAsAMove, llvm::MCID::ExtraSrcRegAllocReq, llvm::MCID::ExtraDefRegAllocReq, llvm::MCID::RegSequence, llvm::MCID::ExtractSubreg, llvm::MCID::InsertSubreg, llvm::MCID::Convergent, llvm::MCID::Add, llvm::MCID::Trap, llvm::MCID::VariadicOpsAreDefs, llvm::MCID::Authenticated }
These should be considered private to the implementation of the MCInstrDesc class. More...

MCOI_EARLY_CLOBBER

#define MCOI_EARLY_CLOBBER (1 << MCOI::EARLY_CLOBBER)

MCOI_TIED_TO

#define MCOI_TIED_TO ( op )

Value:

((1 << MCOI::TIED_TO) | ((op) << (4 + MCOI::TIED_TO * 4)))

Definition at line 42 of file MCInstrDesc.h.