clang 19.0.0git
|
#include "clang/Basic/TargetInfo.h"
Public Types | |
enum | { CI_None = 0x00 , CI_AllowsMemory = 0x01 , CI_AllowsRegister = 0x02 , CI_ReadWrite = 0x04 , CI_HasMatchingInput = 0x08 , CI_ImmediateConstant = 0x10 , CI_EarlyClobber = 0x20 } |
Public Member Functions | |
ConstraintInfo (StringRef ConstraintStr, StringRef Name) | |
const std::string & | getConstraintStr () const |
const std::string & | getName () const |
bool | isReadWrite () const |
bool | earlyClobber () |
bool | allowsRegister () const |
bool | allowsMemory () const |
bool | hasMatchingInput () const |
Return true if this output operand has a matching (tied) input operand. | |
bool | hasTiedOperand () const |
Return true if this input operand is a matching constraint that ties it to an output operand. | |
unsigned | getTiedOperand () const |
bool | requiresImmediateConstant () const |
bool | isValidAsmImmediate (const llvm::APInt &Value) const |
void | setIsReadWrite () |
void | setEarlyClobber () |
void | setAllowsMemory () |
void | setAllowsRegister () |
void | setHasMatchingInput () |
void | setRequiresImmediate (int Min, int Max) |
void | setRequiresImmediate (llvm::ArrayRef< int > Exacts) |
void | setRequiresImmediate (int Exact) |
void | setRequiresImmediate () |
void | setTiedOperand (unsigned N, ConstraintInfo &Output) |
Indicate that this is an input operand that is tied to the specified output operand. | |
Public Attributes | |
unsigned | Flags |
int | TiedOperand |
struct { | |
int Min | |
int Max | |
bool isConstrained | |
} | ImmRange |
llvm::SmallSet< int, 4 > | ImmSet |
std::string | ConstraintStr |
std::string | Name |
Definition at line 1067 of file TargetInfo.h.
anonymous enum |
Enumerator | |
---|---|
CI_None | |
CI_AllowsMemory | |
CI_AllowsRegister | |
CI_ReadWrite | |
CI_HasMatchingInput | |
CI_ImmediateConstant | |
CI_EarlyClobber |
Definition at line 1068 of file TargetInfo.h.
|
inline |
Definition at line 1089 of file TargetInfo.h.
|
inline |
Definition at line 1101 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1100 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt(), AddVariableConstraints(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1099 of file TargetInfo.h.
Referenced by clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1096 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt(), checkExprMemoryConstraintCompat(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1097 of file TargetInfo.h.
|
inline |
Definition at line 1113 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt(), and clang::TargetInfo::validateInputConstraint().
|
inline |
Return true if this output operand has a matching (tied) input operand.
Definition at line 1105 of file TargetInfo.h.
|
inline |
Return true if this input operand is a matching constraint that ties it to an output operand.
If this returns true then getTiedOperand will indicate which output operand this is tied to.
Definition at line 1112 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt(), and clang::TargetInfo::validateInputConstraint().
|
inline |
Definition at line 1098 of file TargetInfo.h.
Referenced by clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1121 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt().
|
inline |
Definition at line 1118 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt().
|
inline |
Definition at line 1130 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::validateAsmConstraint(), clang::targets::ARMTargetInfo::validateAsmConstraint(), clang::targets::LoongArchTargetInfo::validateAsmConstraint(), clang::targets::M68kTargetInfo::validateAsmConstraint(), clang::targets::MipsTargetInfo::validateAsmConstraint(), clang::targets::PPCTargetInfo::validateAsmConstraint(), clang::targets::RISCVTargetInfo::validateAsmConstraint(), clang::targets::SystemZTargetInfo::validateAsmConstraint(), clang::TargetInfo::validateInputConstraint(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1131 of file TargetInfo.h.
Referenced by clang::targets::AArch64TargetInfo::validateAsmConstraint(), clang::targets::AMDGPUTargetInfo::validateAsmConstraint(), clang::targets::ARMTargetInfo::validateAsmConstraint(), clang::targets::AVRTargetInfo::validateAsmConstraint(), clang::targets::BPFTargetInfo::validateAsmConstraint(), clang::targets::CSKYTargetInfo::validateAsmConstraint(), clang::targets::HexagonTargetInfo::validateAsmConstraint(), clang::targets::LoongArchTargetInfo::validateAsmConstraint(), clang::targets::M68kTargetInfo::validateAsmConstraint(), clang::targets::MipsTargetInfo::validateAsmConstraint(), clang::targets::NVPTXTargetInfo::validateAsmConstraint(), clang::targets::PPCTargetInfo::validateAsmConstraint(), clang::targets::RISCVTargetInfo::validateAsmConstraint(), clang::targets::SparcTargetInfo::validateAsmConstraint(), clang::targets::SystemZTargetInfo::validateAsmConstraint(), clang::targets::VETargetInfo::validateAsmConstraint(), clang::targets::X86TargetInfo::validateAsmConstraint(), clang::TargetInfo::validateInputConstraint(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1129 of file TargetInfo.h.
Referenced by clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1132 of file TargetInfo.h.
Referenced by setTiedOperand().
|
inline |
Definition at line 1128 of file TargetInfo.h.
Referenced by clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1148 of file TargetInfo.h.
|
inline |
Definition at line 1144 of file TargetInfo.h.
Definition at line 1133 of file TargetInfo.h.
References clang::Max, and clang::Min.
Referenced by clang::targets::AMDGPUTargetInfo::validateAsmConstraint(), clang::targets::ARMTargetInfo::validateAsmConstraint(), clang::targets::AVRTargetInfo::validateAsmConstraint(), clang::targets::LoongArchTargetInfo::validateAsmConstraint(), clang::targets::M68kTargetInfo::validateAsmConstraint(), clang::targets::RISCVTargetInfo::validateAsmConstraint(), clang::targets::X86TargetInfo::validateAsmConstraint(), and clang::TargetInfo::validateInputConstraint().
|
inline |
Definition at line 1139 of file TargetInfo.h.
|
inline |
Indicate that this is an input operand that is tied to the specified output operand.
Copy over the various constraint information from the output.
Definition at line 1156 of file TargetInfo.h.
References Flags, and setHasMatchingInput().
Referenced by clang::TargetInfo::validateInputConstraint().
std::string clang::TargetInfo::ConstraintInfo::ConstraintStr |
Definition at line 1086 of file TargetInfo.h.
Referenced by clang::targets::X86TargetInfo::validateAsmConstraint(), and clang::TargetInfo::validateInputConstraint().
unsigned clang::TargetInfo::ConstraintInfo::Flags |
Definition at line 1077 of file TargetInfo.h.
Referenced by setTiedOperand().
struct { ... } clang::TargetInfo::ConstraintInfo::ImmRange |
llvm::SmallSet<int, 4> clang::TargetInfo::ConstraintInfo::ImmSet |
Definition at line 1084 of file TargetInfo.h.
bool clang::TargetInfo::ConstraintInfo::isConstrained |
Definition at line 1082 of file TargetInfo.h.
int clang::TargetInfo::ConstraintInfo::Max |
Definition at line 1081 of file TargetInfo.h.
int clang::TargetInfo::ConstraintInfo::Min |
Definition at line 1080 of file TargetInfo.h.
std::string clang::TargetInfo::ConstraintInfo::Name |
Definition at line 1087 of file TargetInfo.h.
int clang::TargetInfo::ConstraintInfo::TiedOperand |
Definition at line 1078 of file TargetInfo.h.