LLVM 22.0.0git
IntegerInclusiveInterval.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Error.h"
#include <cassert>
#include <cstdint>

Go to the source code of this file.

Classes

class  llvm::IntegerInclusiveInterval
 Represents an inclusive integer interval [Begin, End] where Begin <= End. More...

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::IntegerInclusiveIntervalUtils

Typedefs

using llvm::IntegerInclusiveIntervalUtils::IntervalList = SmallVector<IntegerInclusiveInterval, 8>
 A list of integer intervals.

Functions

Expected< IntervalListllvm::IntegerInclusiveIntervalUtils::parseIntervals (StringRef IntervalStr, char Separator=',')
 Parse a interval specification string like "1-10,20-30,45" or "1-10:20-30:45".
bool llvm::IntegerInclusiveIntervalUtils::contains (ArrayRef< IntegerInclusiveInterval > Intervals, int64_t Value)
 Check if a value is contained in any of the intervals.
void llvm::IntegerInclusiveIntervalUtils::printIntervals (raw_ostream &OS, ArrayRef< IntegerInclusiveInterval > Intervals, char Separator=',')
 Print intervals to output stream.
IntervalList llvm::IntegerInclusiveIntervalUtils::mergeAdjacentIntervals (ArrayRef< IntegerInclusiveInterval > Intervals)
 Merge adjacent/consecutive intervals into single intervals.