1*480093f4SDimitry Andric //===- GIMatchDagPredicateDependencyEdge.cpp - Have inputs before check ---===// 2*480093f4SDimitry Andric // 3*480093f4SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*480093f4SDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 5*480093f4SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*480093f4SDimitry Andric // 7*480093f4SDimitry Andric //===----------------------------------------------------------------------===// 8*480093f4SDimitry Andric 9*480093f4SDimitry Andric #include "GIMatchDagPredicateDependencyEdge.h" 10*480093f4SDimitry Andric 11*480093f4SDimitry Andric #include "GIMatchDagInstr.h" 12*480093f4SDimitry Andric #include "GIMatchDagPredicate.h" 13*480093f4SDimitry Andric 14*480093f4SDimitry Andric #include "llvm/Support/raw_ostream.h" 15*480093f4SDimitry Andric 16*480093f4SDimitry Andric using namespace llvm; 17*480093f4SDimitry Andric 18*480093f4SDimitry Andric LLVM_DUMP_METHOD void print(raw_ostream & OS) const19*480093f4SDimitry AndricGIMatchDagPredicateDependencyEdge::print(raw_ostream &OS) const { 20*480093f4SDimitry Andric OS << getRequiredMI()->getName(); 21*480093f4SDimitry Andric if (getRequiredMO()) 22*480093f4SDimitry Andric OS << "[" << getRequiredMO()->getName() << "]"; 23*480093f4SDimitry Andric OS << " ==> " << getPredicate()->getName() << "[" 24*480093f4SDimitry Andric << getPredicateOp()->getName() << "]"; 25*480093f4SDimitry Andric } 26*480093f4SDimitry Andric 27*480093f4SDimitry Andric #if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP) dump() const28*480093f4SDimitry AndricLLVM_DUMP_METHOD void GIMatchDagPredicateDependencyEdge::dump() const { 29*480093f4SDimitry Andric print(errs()); 30*480093f4SDimitry Andric } 31*480093f4SDimitry Andric #endif // if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP) 32*480093f4SDimitry Andric operator <<(raw_ostream & OS,const GIMatchDagPredicateDependencyEdge & E)33*480093f4SDimitry Andricraw_ostream &llvm::operator<<(raw_ostream &OS, 34*480093f4SDimitry Andric const GIMatchDagPredicateDependencyEdge &E) { 35*480093f4SDimitry Andric E.print(OS); 36*480093f4SDimitry Andric return OS; 37*480093f4SDimitry Andric } 38