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 1087 of file TargetInfo.h.
anonymous enum |
Enumerator | |
---|---|
CI_None | |
CI_AllowsMemory | |
CI_AllowsRegister | |
CI_ReadWrite | |
CI_HasMatchingInput | |
CI_ImmediateConstant | |
CI_EarlyClobber |
Definition at line 1088 of file TargetInfo.h.
|
inline |
Definition at line 1109 of file TargetInfo.h.
|
inline |
Definition at line 1121 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1120 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt(), AddVariableConstraints(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1119 of file TargetInfo.h.
Referenced by clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1116 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt(), checkExprMemoryConstraintCompat(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1117 of file TargetInfo.h.
|
inline |
Definition at line 1133 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 1125 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 1132 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt(), and clang::TargetInfo::validateInputConstraint().
|
inline |
Definition at line 1118 of file TargetInfo.h.
Referenced by clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1141 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt().
|
inline |
Definition at line 1138 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt().
|
inline |
Definition at line 1150 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 1151 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 1149 of file TargetInfo.h.
Referenced by clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1152 of file TargetInfo.h.
Referenced by setTiedOperand().
|
inline |
Definition at line 1148 of file TargetInfo.h.
Referenced by clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1168 of file TargetInfo.h.
|
inline |
Definition at line 1164 of file TargetInfo.h.
Definition at line 1153 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 1159 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 1176 of file TargetInfo.h.
References Flags, and setHasMatchingInput().
Referenced by clang::TargetInfo::validateInputConstraint().
std::string clang::TargetInfo::ConstraintInfo::ConstraintStr |
Definition at line 1106 of file TargetInfo.h.
Referenced by clang::targets::X86TargetInfo::validateAsmConstraint(), and clang::TargetInfo::validateInputConstraint().
unsigned clang::TargetInfo::ConstraintInfo::Flags |
Definition at line 1097 of file TargetInfo.h.
Referenced by setTiedOperand().
struct { ... } clang::TargetInfo::ConstraintInfo::ImmRange |
llvm::SmallSet<int, 4> clang::TargetInfo::ConstraintInfo::ImmSet |
Definition at line 1104 of file TargetInfo.h.
bool clang::TargetInfo::ConstraintInfo::isConstrained |
Definition at line 1102 of file TargetInfo.h.
int clang::TargetInfo::ConstraintInfo::Max |
Definition at line 1101 of file TargetInfo.h.
int clang::TargetInfo::ConstraintInfo::Min |
Definition at line 1100 of file TargetInfo.h.
std::string clang::TargetInfo::ConstraintInfo::Name |
Definition at line 1107 of file TargetInfo.h.
int clang::TargetInfo::ConstraintInfo::TiedOperand |
Definition at line 1098 of file TargetInfo.h.