|
clang
5.0.0
|
#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. More... | |
| bool | hasTiedOperand () const |
| Return true if this input operand is a matching constraint that ties it to an output operand. More... | |
| 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. More... | |
Public Attributes | |
| unsigned | Flags |
| int | TiedOperand |
| struct { | |
| int Min | |
| int Max | |
| } | ImmRange |
| llvm::SmallSet< int, 4 > | ImmSet |
| std::string | ConstraintStr |
| std::string | Name |
Definition at line 634 of file TargetInfo.h.
| anonymous enum |
| Enumerator | |
|---|---|
| CI_None | |
| CI_AllowsMemory | |
| CI_AllowsRegister | |
| CI_ReadWrite | |
| CI_HasMatchingInput | |
| CI_ImmediateConstant | |
| CI_EarlyClobber | |
Definition at line 635 of file TargetInfo.h.
|
inline |
Definition at line 655 of file TargetInfo.h.
References ImmRange.
|
inline |
Definition at line 666 of file TargetInfo.h.
References CI_AllowsMemory, and Flags.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 665 of file TargetInfo.h.
References CI_AllowsRegister, and Flags.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 664 of file TargetInfo.h.
References CI_EarlyClobber, and Flags.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 661 of file TargetInfo.h.
References ConstraintStr.
Referenced by clang::Sema::ActOnGCCAsmStmt(), checkExprMemoryConstraintCompat(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 662 of file TargetInfo.h.
References Name.
|
inline |
Definition at line 678 of file TargetInfo.h.
References hasTiedOperand(), and TiedOperand.
Referenced by clang::Sema::ActOnGCCAsmStmt(), clang::CodeGen::CodeGenFunction::EmitAsmStmt(), and clang::TargetInfo::validateInputConstraint().
|
inline |
Return true if this output operand has a matching (tied) input operand.
Definition at line 670 of file TargetInfo.h.
References CI_HasMatchingInput, and Flags.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt().
|
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 677 of file TargetInfo.h.
References TiedOperand.
Referenced by clang::Sema::ActOnGCCAsmStmt(), clang::CodeGen::CodeGenFunction::EmitAsmStmt(), getTiedOperand(), and clang::TargetInfo::validateInputConstraint().
|
inline |
Definition at line 663 of file TargetInfo.h.
References CI_ReadWrite, and Flags.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 686 of file TargetInfo.h.
|
inline |
Definition at line 683 of file TargetInfo.h.
References CI_ImmediateConstant, and Flags.
|
inline |
Definition at line 693 of file TargetInfo.h.
References CI_AllowsMemory, and Flags.
Referenced by clang::TargetInfo::validateInputConstraint(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 694 of file TargetInfo.h.
References CI_AllowsRegister, and Flags.
Referenced by clang::TargetInfo::validateInputConstraint(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 692 of file TargetInfo.h.
References CI_EarlyClobber, and Flags.
Referenced by clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 695 of file TargetInfo.h.
References CI_HasMatchingInput, and Flags.
Referenced by setTiedOperand().
|
inline |
Definition at line 691 of file TargetInfo.h.
References CI_ReadWrite, and Flags.
Referenced by clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 696 of file TargetInfo.h.
References CI_ImmediateConstant, Flags, ImmRange, Max, and Min.
|
inline |
Definition at line 701 of file TargetInfo.h.
References CI_ImmediateConstant, Flags, and ImmSet.
|
inline |
Definition at line 706 of file TargetInfo.h.
References CI_ImmediateConstant, Flags, and ImmSet.
|
inline |
Definition at line 710 of file TargetInfo.h.
References CI_ImmediateConstant, Flags, ImmRange, INT_MAX, and INT_MIN.
|
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 720 of file TargetInfo.h.
References Flags, setHasMatchingInput(), and TiedOperand.
Referenced by clang::TargetInfo::validateInputConstraint().
| std::string clang::TargetInfo::ConstraintInfo::ConstraintStr |
Definition at line 652 of file TargetInfo.h.
Referenced by getConstraintStr(), and clang::TargetInfo::validateInputConstraint().
| unsigned clang::TargetInfo::ConstraintInfo::Flags |
Definition at line 644 of file TargetInfo.h.
Referenced by allowsMemory(), allowsRegister(), earlyClobber(), hasMatchingInput(), isReadWrite(), requiresImmediateConstant(), setAllowsMemory(), setAllowsRegister(), setEarlyClobber(), setHasMatchingInput(), setIsReadWrite(), setRequiresImmediate(), and setTiedOperand().
| struct { ... } clang::TargetInfo::ConstraintInfo::ImmRange |
Referenced by ConstraintInfo(), isValidAsmImmediate(), and setRequiresImmediate().
| llvm::SmallSet<int, 4> clang::TargetInfo::ConstraintInfo::ImmSet |
Definition at line 650 of file TargetInfo.h.
Referenced by isValidAsmImmediate(), and setRequiresImmediate().
| int clang::TargetInfo::ConstraintInfo::Max |
Definition at line 648 of file TargetInfo.h.
Referenced by setRequiresImmediate().
| int clang::TargetInfo::ConstraintInfo::Min |
Definition at line 647 of file TargetInfo.h.
Referenced by setRequiresImmediate().
| std::string clang::TargetInfo::ConstraintInfo::Name |
Definition at line 653 of file TargetInfo.h.
Referenced by getName().
| int clang::TargetInfo::ConstraintInfo::TiedOperand |
Definition at line 645 of file TargetInfo.h.
Referenced by getTiedOperand(), hasTiedOperand(), and setTiedOperand().
1.8.6