#include "DAGISelMatcher.h"
#include "CodeGenDAGPatterns.h"
#include "CodeGenInstruction.h"
#include "CodeGenRegisters.h"
#include "CodeGenTarget.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/TableGen/Record.h"
usingnamespacellvm;
void Matcher::anchor() { … }
void Matcher::dump() const { … }
void Matcher::print(raw_ostream &OS, indent Indent) const { … }
void Matcher::printOne(raw_ostream &OS) const { … }
Matcher *Matcher::unlinkNode(Matcher *Other) { … }
bool Matcher::canMoveBefore(const Matcher *Other) const { … }
bool Matcher::canMoveBeforeNode(const Matcher *Other) const { … }
ScopeMatcher::~ScopeMatcher() { … }
SwitchOpcodeMatcher::~SwitchOpcodeMatcher() { … }
SwitchTypeMatcher::~SwitchTypeMatcher() { … }
CheckPredicateMatcher::CheckPredicateMatcher(const TreePredicateFn &pred,
ArrayRef<unsigned> Ops)
: … { … }
TreePredicateFn CheckPredicateMatcher::getPredicate() const { … }
unsigned CheckPredicateMatcher::getNumOperands() const { … }
unsigned CheckPredicateMatcher::getOperandNo(unsigned i) const { … }
void ScopeMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void RecordMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void RecordChildMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void RecordMemRefMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void CaptureGlueInputMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void MoveChildMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void MoveSiblingMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void MoveParentMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void CheckSameMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void CheckChildSameMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void CheckPatternPredicateMatcher::printImpl(raw_ostream &OS,
indent Indent) const { … }
void CheckPredicateMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void CheckOpcodeMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void SwitchOpcodeMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void CheckTypeMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void SwitchTypeMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void CheckChildTypeMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void CheckIntegerMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void CheckChildIntegerMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void CheckCondCodeMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void CheckChild2CondCodeMatcher::printImpl(raw_ostream &OS,
indent Indent) const { … }
void CheckValueTypeMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void CheckComplexPatMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void CheckAndImmMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void CheckOrImmMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void CheckFoldableChainNodeMatcher::printImpl(raw_ostream &OS,
indent Indent) const { … }
void CheckImmAllOnesVMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void CheckImmAllZerosVMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void EmitIntegerMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void EmitStringIntegerMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void EmitRegisterMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void EmitConvertToTargetMatcher::printImpl(raw_ostream &OS,
indent Indent) const { … }
void EmitMergeInputChainsMatcher::printImpl(raw_ostream &OS,
indent Indent) const { … }
void EmitCopyToRegMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void EmitNodeXFormMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
void EmitNodeMatcherCommon::printImpl(raw_ostream &OS, indent Indent) const { … }
void CompleteMatchMatcher::printImpl(raw_ostream &OS, indent Indent) const { … }
bool CheckOpcodeMatcher::isEqualImpl(const Matcher *M) const { … }
bool EmitNodeMatcherCommon::isEqualImpl(const Matcher *m) const { … }
void EmitNodeMatcher::anchor() { … }
void MorphNodeToMatcher::anchor() { … }
static bool TypesAreContradictory(MVT::SimpleValueType T1,
MVT::SimpleValueType T2) { … }
bool CheckOpcodeMatcher::isContradictoryImpl(const Matcher *M) const { … }
bool CheckTypeMatcher::isContradictoryImpl(const Matcher *M) const { … }
bool CheckChildTypeMatcher::isContradictoryImpl(const Matcher *M) const { … }
bool CheckIntegerMatcher::isContradictoryImpl(const Matcher *M) const { … }
bool CheckChildIntegerMatcher::isContradictoryImpl(const Matcher *M) const { … }
bool CheckValueTypeMatcher::isContradictoryImpl(const Matcher *M) const { … }
bool CheckImmAllOnesVMatcher::isContradictoryImpl(const Matcher *M) const { … }
bool CheckImmAllZerosVMatcher::isContradictoryImpl(const Matcher *M) const { … }
bool CheckCondCodeMatcher::isContradictoryImpl(const Matcher *M) const { … }
bool CheckChild2CondCodeMatcher::isContradictoryImpl(const Matcher *M) const { … }