llvm/llvm/lib/Target/Hexagon/HexagonBlockRanges.h

//===- HexagonBlockRanges.h -------------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, 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
//
//===----------------------------------------------------------------------===//

#ifndef LLVM_LIB_TARGET_HEXAGON_HEXAGONBLOCKRANGES_H
#define LLVM_LIB_TARGET_HEXAGON_HEXAGONBLOCKRANGES_H

#include "llvm/ADT/BitVector.h"
#include "llvm/CodeGen/Register.h"
#include <cassert>
#include <map>
#include <set>
#include <utility>
#include <vector>

namespace llvm {

class HexagonSubtarget;
class MachineBasicBlock;
class MachineFunction;
class MachineInstr;
class MachineRegisterInfo;
class raw_ostream;
class TargetInstrInfo;
class TargetRegisterInfo;

struct HexagonBlockRanges {};

operator unsigned int()

inline bool HexagonBlockRanges::IndexType::operator== (unsigned x) const {}

inline bool HexagonBlockRanges::IndexType::operator== (IndexType Idx) const {}

inline bool HexagonBlockRanges::IndexType::operator!= (unsigned x) const {}

inline bool HexagonBlockRanges::IndexType::operator!= (IndexType Idx) const {}

inline
HexagonBlockRanges::IndexType HexagonBlockRanges::IndexType::operator++ () {}

inline bool HexagonBlockRanges::IndexType::operator< (unsigned Idx) const {}

inline bool HexagonBlockRanges::IndexType::operator< (IndexType Idx) const {}

inline bool HexagonBlockRanges::IndexType::operator<= (IndexType Idx) const {}

raw_ostream &operator<< (raw_ostream &OS, HexagonBlockRanges::IndexType Idx);
raw_ostream &operator<< (raw_ostream &OS,
      const HexagonBlockRanges::IndexRange &IR);
raw_ostream &operator<< (raw_ostream &OS,
      const HexagonBlockRanges::RangeList &RL);
raw_ostream &operator<< (raw_ostream &OS,
      const HexagonBlockRanges::InstrIndexMap &M);
raw_ostream &operator<< (raw_ostream &OS,
      const HexagonBlockRanges::PrintRangeMap &P);

} // end namespace llvm

#endif // LLVM_LIB_TARGET_HEXAGON_HEXAGONBLOCKRANGES_H