llvm/llvm/lib/Analysis/ScalarEvolutionDivision.cpp

//===- ScalarEvolutionDivision.h - See below --------------------*- 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
//
//===----------------------------------------------------------------------===//
//
// This file defines the class that knows how to divide SCEV's.
//
//===----------------------------------------------------------------------===//

#include "llvm/Analysis/ScalarEvolutionDivision.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Analysis/ScalarEvolution.h"
#include "llvm/Support/Casting.h"
#include <cassert>
#include <cstdint>

namespace llvm {
class Type;
} // namespace llvm

usingnamespacellvm;

namespace {

static inline int sizeOfSCEV(const SCEV *S) {}

} // namespace

// Computes the Quotient and Remainder of the division of Numerator by
// Denominator.
void SCEVDivision::divide(ScalarEvolution &SE, const SCEV *Numerator,
                          const SCEV *Denominator, const SCEV **Quotient,
                          const SCEV **Remainder) {}

void SCEVDivision::visitConstant(const SCEVConstant *Numerator) {}

void SCEVDivision::visitVScale(const SCEVVScale *Numerator) {}

void SCEVDivision::visitAddRecExpr(const SCEVAddRecExpr *Numerator) {}

void SCEVDivision::visitAddExpr(const SCEVAddExpr *Numerator) {}

void SCEVDivision::visitMulExpr(const SCEVMulExpr *Numerator) {}

SCEVDivision::SCEVDivision(ScalarEvolution &S, const SCEV *Numerator,
                           const SCEV *Denominator)
    :{}

// Convenience function for giving up on the division. We set the quotient to
// be equal to zero and the remainder to be equal to the numerator.
void SCEVDivision::cannotDivide(const SCEV *Numerator) {}