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 Andric GIMatchDagPredicateDependencyEdge::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 Andric LLVM_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 Andric raw_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