clang API Documentation

Public Types | Public Member Functions | Public Attributes
clang::TargetInfo::ConstraintInfo Struct Reference

#include <TargetInfo.h>

Collaboration diagram for clang::TargetInfo::ConstraintInfo:
Collaboration graph
[legend]

List of all members.

Public Types

enum  {
  CI_None = 0x00, CI_AllowsMemory = 0x01, CI_AllowsRegister = 0x02, CI_ReadWrite = 0x04,
  CI_HasMatchingInput = 0x08
}

Public Member Functions

 ConstraintInfo (StringRef ConstraintStr, StringRef Name)
const std::string & getConstraintStr () const
const std::string & getName () const
bool isReadWrite () const
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
void setIsReadWrite ()
void setAllowsMemory ()
void setAllowsRegister ()
void setHasMatchingInput ()
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
std::string ConstraintStr
std::string Name

Detailed Description

Definition at line 517 of file include/clang/Basic/TargetInfo.h.


Member Enumeration Documentation

anonymous enum
Enumerator:
CI_None 
CI_AllowsMemory 
CI_AllowsRegister 
CI_ReadWrite 
CI_HasMatchingInput 

Definition at line 518 of file include/clang/Basic/TargetInfo.h.


Constructor & Destructor Documentation

clang::TargetInfo::ConstraintInfo::ConstraintInfo ( StringRef  ConstraintStr,
StringRef  Name 
) [inline]

Definition at line 531 of file include/clang/Basic/TargetInfo.h.


Member Function Documentation

const std::string& clang::TargetInfo::ConstraintInfo::getConstraintStr ( ) const [inline]
const std::string& clang::TargetInfo::ConstraintInfo::getName ( ) const [inline]

Definition at line 536 of file include/clang/Basic/TargetInfo.h.

References Name.

Return true if this output operand has a matching (tied) input operand.

Definition at line 543 of file include/clang/Basic/TargetInfo.h.

References CI_HasMatchingInput, and Flags.

Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt().

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 550 of file include/clang/Basic/TargetInfo.h.

References TiedOperand.

Referenced by clang::Sema::ActOnGCCAsmStmt(), clang::CodeGen::CodeGenFunction::EmitAsmStmt(), getTiedOperand(), and clang::TargetInfo::validateInputConstraint().

Definition at line 559 of file include/clang/Basic/TargetInfo.h.

References CI_HasMatchingInput, and Flags.

Referenced by setTiedOperand().

Definition at line 556 of file include/clang/Basic/TargetInfo.h.

References CI_ReadWrite, and Flags.

Referenced by clang::TargetInfo::validateOutputConstraint().

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 565 of file include/clang/Basic/TargetInfo.h.

References Flags, setHasMatchingInput(), and TiedOperand.

Referenced by clang::TargetInfo::validateInputConstraint().


Member Data Documentation

Definition at line 529 of file include/clang/Basic/TargetInfo.h.

Referenced by getName().


The documentation for this struct was generated from the following file: