clang 20.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 1093 of file TargetInfo.h.
anonymous enum |
Enumerator | |
---|---|
CI_None | |
CI_AllowsMemory | |
CI_AllowsRegister | |
CI_ReadWrite | |
CI_HasMatchingInput | |
CI_ImmediateConstant | |
CI_EarlyClobber |
Definition at line 1094 of file TargetInfo.h.
|
inline |
Definition at line 1115 of file TargetInfo.h.
|
inline |
Definition at line 1127 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1126 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt(), AddVariableConstraints(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1125 of file TargetInfo.h.
Referenced by clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1122 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt(), checkExprMemoryConstraintCompat(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1123 of file TargetInfo.h.
|
inline |
Definition at line 1139 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 1131 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 1138 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt(), and clang::TargetInfo::validateInputConstraint().
|
inline |
Definition at line 1124 of file TargetInfo.h.
Referenced by clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1147 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt().
|
inline |
Definition at line 1144 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt().
|
inline |
Definition at line 1156 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 1157 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::targets::XtensaTargetInfo::validateAsmConstraint(), clang::TargetInfo::validateInputConstraint(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1155 of file TargetInfo.h.
Referenced by clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1158 of file TargetInfo.h.
Referenced by setTiedOperand().
|
inline |
Definition at line 1154 of file TargetInfo.h.
Referenced by clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1174 of file TargetInfo.h.
|
inline |
Definition at line 1170 of file TargetInfo.h.
Definition at line 1159 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 1165 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 1182 of file TargetInfo.h.
References Flags, and setHasMatchingInput().
Referenced by clang::TargetInfo::validateInputConstraint().
std::string clang::TargetInfo::ConstraintInfo::ConstraintStr |
Definition at line 1112 of file TargetInfo.h.
Referenced by clang::targets::X86TargetInfo::validateAsmConstraint(), and clang::TargetInfo::validateInputConstraint().
unsigned clang::TargetInfo::ConstraintInfo::Flags |
Definition at line 1103 of file TargetInfo.h.
Referenced by setTiedOperand().
struct { ... } clang::TargetInfo::ConstraintInfo::ImmRange |
llvm::SmallSet<int, 4> clang::TargetInfo::ConstraintInfo::ImmSet |
Definition at line 1110 of file TargetInfo.h.
bool clang::TargetInfo::ConstraintInfo::isConstrained |
Definition at line 1108 of file TargetInfo.h.
int clang::TargetInfo::ConstraintInfo::Max |
Definition at line 1107 of file TargetInfo.h.
int clang::TargetInfo::ConstraintInfo::Min |
Definition at line 1106 of file TargetInfo.h.
std::string clang::TargetInfo::ConstraintInfo::Name |
Definition at line 1113 of file TargetInfo.h.
int clang::TargetInfo::ConstraintInfo::TiedOperand |
Definition at line 1104 of file TargetInfo.h.