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 1051 of file TargetInfo.h.
anonymous enum |
Enumerator | |
---|---|
CI_None | |
CI_AllowsMemory | |
CI_AllowsRegister | |
CI_ReadWrite | |
CI_HasMatchingInput | |
CI_ImmediateConstant | |
CI_EarlyClobber |
Definition at line 1052 of file TargetInfo.h.
|
inline |
Definition at line 1073 of file TargetInfo.h.
|
inline |
Definition at line 1085 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1084 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt(), AddVariableConstraints(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1083 of file TargetInfo.h.
Referenced by clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1080 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt(), checkExprMemoryConstraintCompat(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1081 of file TargetInfo.h.
|
inline |
Definition at line 1097 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 1089 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 1096 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt(), and clang::TargetInfo::validateInputConstraint().
|
inline |
Definition at line 1082 of file TargetInfo.h.
Referenced by clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1105 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt().
|
inline |
Definition at line 1102 of file TargetInfo.h.
Referenced by clang::Sema::ActOnGCCAsmStmt().
|
inline |
Definition at line 1114 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 1115 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 1113 of file TargetInfo.h.
Referenced by clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1116 of file TargetInfo.h.
Referenced by setTiedOperand().
|
inline |
Definition at line 1112 of file TargetInfo.h.
Referenced by clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 1132 of file TargetInfo.h.
|
inline |
Definition at line 1128 of file TargetInfo.h.
Definition at line 1117 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 1123 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 1140 of file TargetInfo.h.
References Flags, and setHasMatchingInput().
Referenced by clang::TargetInfo::validateInputConstraint().
std::string clang::TargetInfo::ConstraintInfo::ConstraintStr |
Definition at line 1070 of file TargetInfo.h.
Referenced by clang::targets::X86TargetInfo::validateAsmConstraint(), and clang::TargetInfo::validateInputConstraint().
unsigned clang::TargetInfo::ConstraintInfo::Flags |
Definition at line 1061 of file TargetInfo.h.
Referenced by setTiedOperand().
struct { ... } clang::TargetInfo::ConstraintInfo::ImmRange |
llvm::SmallSet<int, 4> clang::TargetInfo::ConstraintInfo::ImmSet |
Definition at line 1068 of file TargetInfo.h.
bool clang::TargetInfo::ConstraintInfo::isConstrained |
Definition at line 1066 of file TargetInfo.h.
int clang::TargetInfo::ConstraintInfo::Max |
Definition at line 1065 of file TargetInfo.h.
int clang::TargetInfo::ConstraintInfo::Min |
Definition at line 1064 of file TargetInfo.h.
std::string clang::TargetInfo::ConstraintInfo::Name |
Definition at line 1071 of file TargetInfo.h.
int clang::TargetInfo::ConstraintInfo::TiedOperand |
Definition at line 1062 of file TargetInfo.h.