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

Methods

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

Declared at: clang/include/clang/Basic/TargetInfo.h:1036

bool allowsRegister() const

Declared at: clang/include/clang/Basic/TargetInfo.h:1035

bool earlyClobber()

Declared at: clang/include/clang/Basic/TargetInfo.h:1034

const std::string& getConstraintStr() const

Declared at: clang/include/clang/Basic/TargetInfo.h:1031

const std::string& getName() const

Declared at: clang/include/clang/Basic/TargetInfo.h:1032

unsigned int getTiedOperand() const

Declared at: clang/include/clang/Basic/TargetInfo.h:1048

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

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

Declared at: clang/include/clang/Basic/TargetInfo.h:1033

bool isValidAsmImmediate(
    const llvm::APInt& Value) const

Declared at: clang/include/clang/Basic/TargetInfo.h:1056

Parameters

const llvm::APInt& Value

bool requiresImmediateConstant() const

Declared at: clang/include/clang/Basic/TargetInfo.h:1053

void setAllowsMemory()

Declared at: clang/include/clang/Basic/TargetInfo.h:1065

void setAllowsRegister()

Declared at: clang/include/clang/Basic/TargetInfo.h:1066

void setEarlyClobber()

Declared at: clang/include/clang/Basic/TargetInfo.h:1064

void setHasMatchingInput()

Declared at: clang/include/clang/Basic/TargetInfo.h:1067

void setIsReadWrite()

Declared at: clang/include/clang/Basic/TargetInfo.h:1063

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)

Declared at: clang/include/clang/Basic/TargetInfo.h:1074

Parameters

llvm::ArrayRef<int> Exacts

void setRequiresImmediate(int Exact)

Declared at: clang/include/clang/Basic/TargetInfo.h:1079

Parameters

int Exact

void setRequiresImmediate()

Declared at: clang/include/clang/Basic/TargetInfo.h:1083

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