|
clang
3.8.0
|
#include <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 553 of file include/clang/Basic/TargetInfo.h.
| anonymous enum |
| Enumerator | |
|---|---|
| CI_None | |
| CI_AllowsMemory | |
| CI_AllowsRegister | |
| CI_ReadWrite | |
| CI_HasMatchingInput | |
| CI_ImmediateConstant | |
| CI_EarlyClobber | |
Definition at line 554 of file include/clang/Basic/TargetInfo.h.
|
inline |
Definition at line 574 of file include/clang/Basic/TargetInfo.h.
References ImmRange.
|
inline |
Definition at line 585 of file include/clang/Basic/TargetInfo.h.
References CI_AllowsMemory, and Flags.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 584 of file include/clang/Basic/TargetInfo.h.
References CI_AllowsRegister, and Flags.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 583 of file include/clang/Basic/TargetInfo.h.
References CI_EarlyClobber, and Flags.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 580 of file include/clang/Basic/TargetInfo.h.
References ConstraintStr.
Referenced by clang::Sema::ActOnGCCAsmStmt(), checkExprMemoryConstraintCompat(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 581 of file include/clang/Basic/TargetInfo.h.
References Name.
|
inline |
Definition at line 597 of file include/clang/Basic/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 589 of file include/clang/Basic/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 596 of file include/clang/Basic/TargetInfo.h.
References TiedOperand.
Referenced by clang::Sema::ActOnGCCAsmStmt(), clang::CodeGen::CodeGenFunction::EmitAsmStmt(), getTiedOperand(), and clang::TargetInfo::validateInputConstraint().
|
inline |
Definition at line 582 of file include/clang/Basic/TargetInfo.h.
References CI_ReadWrite, and Flags.
Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 605 of file include/clang/Basic/TargetInfo.h.
|
inline |
Definition at line 602 of file include/clang/Basic/TargetInfo.h.
References CI_ImmediateConstant, and Flags.
|
inline |
Definition at line 612 of file include/clang/Basic/TargetInfo.h.
References CI_AllowsMemory, and Flags.
Referenced by clang::TargetInfo::validateInputConstraint(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 613 of file include/clang/Basic/TargetInfo.h.
References CI_AllowsRegister, and Flags.
Referenced by clang::TargetInfo::validateInputConstraint(), and clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 611 of file include/clang/Basic/TargetInfo.h.
References CI_EarlyClobber, and Flags.
Referenced by clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 614 of file include/clang/Basic/TargetInfo.h.
References CI_HasMatchingInput, and Flags.
Referenced by setTiedOperand().
|
inline |
Definition at line 610 of file include/clang/Basic/TargetInfo.h.
References CI_ReadWrite, and Flags.
Referenced by clang::TargetInfo::validateOutputConstraint().
|
inline |
Definition at line 615 of file include/clang/Basic/TargetInfo.h.
References CI_ImmediateConstant, Flags, ImmRange, Max, and Min.
|
inline |
Definition at line 620 of file include/clang/Basic/TargetInfo.h.
References CI_ImmediateConstant, Flags, and ImmSet.
|
inline |
Definition at line 625 of file include/clang/Basic/TargetInfo.h.
References CI_ImmediateConstant, Flags, and ImmSet.
|
inline |
Definition at line 629 of file include/clang/Basic/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 639 of file include/clang/Basic/TargetInfo.h.
References Flags, setHasMatchingInput(), and TiedOperand.
Referenced by clang::TargetInfo::validateInputConstraint().
| std::string clang::TargetInfo::ConstraintInfo::ConstraintStr |
Definition at line 571 of file include/clang/Basic/TargetInfo.h.
Referenced by getConstraintStr(), and clang::TargetInfo::validateInputConstraint().
| unsigned clang::TargetInfo::ConstraintInfo::Flags |
Definition at line 563 of file include/clang/Basic/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 569 of file include/clang/Basic/TargetInfo.h.
Referenced by isValidAsmImmediate(), and setRequiresImmediate().
| int clang::TargetInfo::ConstraintInfo::Max |
Definition at line 567 of file include/clang/Basic/TargetInfo.h.
Referenced by setRequiresImmediate().
| int clang::TargetInfo::ConstraintInfo::Min |
Definition at line 566 of file include/clang/Basic/TargetInfo.h.
Referenced by setRequiresImmediate().
| std::string clang::TargetInfo::ConstraintInfo::Name |
Definition at line 572 of file include/clang/Basic/TargetInfo.h.
Referenced by getName().
| int clang::TargetInfo::ConstraintInfo::TiedOperand |
Definition at line 564 of file include/clang/Basic/TargetInfo.h.
Referenced by getTiedOperand(), hasTiedOperand(), and setTiedOperand().
1.8.6