llvm/mlir/include/mlir/Dialect/LLVMIR/Transforms/DIExpressionRewriter.h

//===- DIExpressionRewriter.h - Rewriter for DIExpression operators -------===//
//
// 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
//
//===----------------------------------------------------------------------===//
//
// A driver for running rewrite patterns on DIExpression operators.
//
//===----------------------------------------------------------------------===//

#ifndef MLIR_DIALECT_LLVMIR_TRANSFORMS_DIEXPRESSIONREWRITER_H
#define MLIR_DIALECT_LLVMIR_TRANSFORMS_DIEXPRESSIONREWRITER_H

#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
#include <deque>

namespace mlir {
namespace LLVM {

/// Rewriter for DIExpressionAttr.
///
/// Users of this rewriter register their own rewrite patterns. Each pattern
/// matches on a contiguous range of LLVM DIExpressionElemAttrs, and can be
/// used to rewrite it into a new range of DIExpressionElemAttrs of any length.
class DIExpressionRewriter {};

} // namespace LLVM
} // namespace mlir

#endif // MLIR_DIALECT_LLVMIR_TRANSFORMS_DIEXPRESSIONREWRITER_H