14#ifndef LLVM_LIB_TARGET_LOONGARCH_MCTARGETDESC_LOONGARCHBASEINFO_H
15#define LLVM_LIB_TARGET_LOONGARCH_MCTARGETDESC_LOONGARCHBASEINFO_H
28namespace LoongArchII {
78static inline unsigned encodeFlags(
unsigned Flags,
bool Relax) {
79 return Flags | (Relax ?
MO_RELAX : 0);
118namespace LoongArchABI {
This file implements the StringSwitch template, which mimics a switch() statement whose cases are str...
Container class for subtarget features.
Wrapper class representing physical registers. Should be passed by value.
MachineOperand class - Representation of each machine instruction operand.
unsigned getTargetFlags() const
StringRef - Represent a constant reference to a string, i.e.
Triple - Helper class for working with autoconf configuration names.
ABI computeTargetABI(const Triple &TT, const FeatureBitset &FeatureBits, StringRef ABIName)
ABI getTargetABI(StringRef ABIName)
static bool isAMCAS(uint64_t TSFlags)
@ IsSubjectToAMORdConstraintShift
@ IsSubjectToAMORdConstraintMask
static bool hasRelaxFlag(const MachineOperand &MO)
static bool isSubjectToAMORdConstraint(uint64_t TSFlags)
static unsigned getDirectFlags(const MachineOperand &MO)
static unsigned encodeFlags(unsigned Flags, bool Relax)
This is an optimization pass for GlobalISel generic memory operations.