struct TargetInfo::ConstraintInfo
Declaration
struct TargetInfo::ConstraintInfo { /* full declaration omitted */ };
Declared at: clang/include/clang/Basic/TargetInfo.h:1002
Member Variables
- public unsigned int Flags
- public int TiedOperand
- public struct(unnamed struct at / home / hdoc / tmp / llvm - project / clang / include / clang / Basic / TargetInfo.h : 1014 : 5) ImmRange
- public llvm::SmallSet<int, 4> ImmSet
- public std::string ConstraintStr
- public std::string Name
Method Overview
- public ConstraintInfo(llvm::StringRef ConstraintStr, llvm::StringRef Name)
- public bool allowsMemory() const
- public bool allowsRegister() const
- public bool earlyClobber()
- public const std::string & getConstraintStr() const
- public const std::string & getName() const
- public unsigned int getTiedOperand() const
- public bool hasMatchingInput() const
- public bool hasTiedOperand() const
- public bool isReadWrite() const
- public bool isValidAsmImmediate(const llvm::APInt & Value) const
- public bool requiresImmediateConstant() const
- public void setAllowsMemory()
- public void setAllowsRegister()
- public void setEarlyClobber()
- public void setHasMatchingInput()
- public void setIsReadWrite()
- public void setRequiresImmediate(int Min, int Max)
- public void setRequiresImmediate(llvm::ArrayRef<int> Exacts)
- public void setRequiresImmediate(int Exact)
- public void setRequiresImmediate()
- public void setTiedOperand(unsigned int N, clang::TargetInfo::ConstraintInfo & Output)
Methods
¶ConstraintInfo(llvm::StringRef ConstraintStr,
llvm::StringRef Name)
ConstraintInfo(llvm::StringRef ConstraintStr,
llvm::StringRef Name)
Declared at: clang/include/clang/Basic/TargetInfo.h:1024
Parameters
- llvm::StringRef ConstraintStr
- llvm::StringRef Name
¶bool allowsMemory() const
bool allowsMemory() const
Declared at: clang/include/clang/Basic/TargetInfo.h:1036
¶bool allowsRegister() const
bool allowsRegister() const
Declared at: clang/include/clang/Basic/TargetInfo.h:1035
¶bool earlyClobber()
bool earlyClobber()
Declared at: clang/include/clang/Basic/TargetInfo.h:1034
¶const std::string& getConstraintStr() const
const std::string& getConstraintStr() const
Declared at: clang/include/clang/Basic/TargetInfo.h:1031
¶const std::string& getName() const
const std::string& getName() const
Declared at: clang/include/clang/Basic/TargetInfo.h:1032
¶unsigned int getTiedOperand() const
unsigned int getTiedOperand() const
Declared at: clang/include/clang/Basic/TargetInfo.h:1048
¶bool hasMatchingInput() const
bool hasMatchingInput() const
Description
Return true if this output operand has a matching (tied) input operand.
Declared at: clang/include/clang/Basic/TargetInfo.h:1040
¶bool hasTiedOperand() const
bool hasTiedOperand() const
Description
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.
Declared at: clang/include/clang/Basic/TargetInfo.h:1047
¶bool isReadWrite() const
bool isReadWrite() const
Declared at: clang/include/clang/Basic/TargetInfo.h:1033
¶bool isValidAsmImmediate(
const llvm::APInt& Value) const
bool isValidAsmImmediate(
const llvm::APInt& Value) const
Declared at: clang/include/clang/Basic/TargetInfo.h:1056
Parameters
- const llvm::APInt& Value
¶bool requiresImmediateConstant() const
bool requiresImmediateConstant() const
Declared at: clang/include/clang/Basic/TargetInfo.h:1053
¶void setAllowsMemory()
void setAllowsMemory()
Declared at: clang/include/clang/Basic/TargetInfo.h:1065
¶void setAllowsRegister()
void setAllowsRegister()
Declared at: clang/include/clang/Basic/TargetInfo.h:1066
¶void setEarlyClobber()
void setEarlyClobber()
Declared at: clang/include/clang/Basic/TargetInfo.h:1064
¶void setHasMatchingInput()
void setHasMatchingInput()
Declared at: clang/include/clang/Basic/TargetInfo.h:1067
¶void setIsReadWrite()
void setIsReadWrite()
Declared at: clang/include/clang/Basic/TargetInfo.h:1063
¶void setRequiresImmediate(int Min, int Max)
void setRequiresImmediate(int Min, int Max)
Declared at: clang/include/clang/Basic/TargetInfo.h:1068
Parameters
- int Min
- int Max
¶void setRequiresImmediate(
llvm::ArrayRef<int> Exacts)
void setRequiresImmediate(
llvm::ArrayRef<int> Exacts)
Declared at: clang/include/clang/Basic/TargetInfo.h:1074
Parameters
- llvm::ArrayRef<int> Exacts
¶void setRequiresImmediate(int Exact)
void setRequiresImmediate(int Exact)
Declared at: clang/include/clang/Basic/TargetInfo.h:1079
Parameters
- int Exact
¶void setRequiresImmediate()
void setRequiresImmediate()
Declared at: clang/include/clang/Basic/TargetInfo.h:1083
¶void setTiedOperand(
unsigned int N,
clang::TargetInfo::ConstraintInfo& Output)
void setTiedOperand(
unsigned int N,
clang::TargetInfo::ConstraintInfo& Output)
Description
Indicate that this is an input operand that is tied to the specified output operand. Copy over the various constraint information from the output.
Declared at: clang/include/clang/Basic/TargetInfo.h:1091
Parameters
- unsigned int N
- clang::TargetInfo::ConstraintInfo& Output