blob: a6f3c15711a10707019e7f8ba4a09d68f261b588 [file]
// Copyright 2021 The IREE Authors
//
// Licensed under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
#include "iree/compiler/Dialect/Util/Analysis/DFX/State.h"
namespace mlir {
namespace iree_compiler {
llvm::raw_ostream &operator<<(llvm::raw_ostream &os, ChangeStatus status) {
return os << (status == ChangeStatus::CHANGED ? "changed" : "unchanged");
}
llvm::raw_ostream &operator<<(llvm::raw_ostream &os,
const DFX::AbstractState &state) {
return os << (!state.isValidState() ? "top"
: (state.isAtFixpoint() ? "fix" : ""));
}
llvm::raw_ostream &operator<<(llvm::raw_ostream &os,
const DFX::PotentialConstantIntValuesState &S) {
os << "set-state(< {";
if (!S.isValidState()) {
os << "full-set";
} else {
for (auto &it : S.getAssumedSet()) os << it << ", ";
if (S.isUndefContained()) os << "undef ";
}
os << "} >)";
return os;
}
} // namespace iree_compiler
} // namespace mlir