[polly] r287984 - [ScopInfo] Use SCEVRewriteVisitor to simplify SCEVSensitiveParameterRewriter [NFC]
Tobias Grosser via llvm-commits
llvm-commits at lists.llvm.org
Sat Nov 26 09:58:40 PST 2016
Author: grosser
Date: Sat Nov 26 11:58:40 2016
New Revision: 287984
URL: http://llvm.org/viewvc/llvm-project?rev=287984&view=rev
Log:
[ScopInfo] Use SCEVRewriteVisitor to simplify SCEVSensitiveParameterRewriter [NFC]
Modified:
polly/trunk/lib/Analysis/ScopInfo.cpp
Modified: polly/trunk/lib/Analysis/ScopInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Analysis/ScopInfo.cpp?rev=287984&r1=287983&r2=287984&view=diff
==============================================================================
--- polly/trunk/lib/Analysis/ScopInfo.cpp (original)
+++ polly/trunk/lib/Analysis/ScopInfo.cpp Sat Nov 26 11:58:40 2016
@@ -1746,13 +1746,12 @@ void Scop::setContext(__isl_take isl_set
/// Remap parameter values but keep AddRecs valid wrt. invariant loads.
struct SCEVSensitiveParameterRewriter
- : public SCEVVisitor<SCEVSensitiveParameterRewriter, const SCEV *> {
+ : public SCEVRewriteVisitor<SCEVSensitiveParameterRewriter> {
ValueToValueMap &VMap;
- ScalarEvolution &SE;
public:
SCEVSensitiveParameterRewriter(ValueToValueMap &VMap, ScalarEvolution &SE)
- : VMap(VMap), SE(SE) {}
+ : SCEVRewriteVisitor(SE), VMap(VMap) {}
static const SCEV *rewrite(const SCEV *E, ScalarEvolution &SE,
ValueToValueMap &VMap) {
@@ -1760,56 +1759,6 @@ public:
return SSPR.visit(E);
}
- const SCEV *visit(const SCEV *E) {
- return SCEVVisitor<SCEVSensitiveParameterRewriter, const SCEV *>::visit(E);
- }
-
- const SCEV *visitConstant(const SCEVConstant *E) { return E; }
-
- const SCEV *visitTruncateExpr(const SCEVTruncateExpr *E) {
- return SE.getTruncateExpr(visit(E->getOperand()), E->getType());
- }
-
- const SCEV *visitZeroExtendExpr(const SCEVZeroExtendExpr *E) {
- return SE.getZeroExtendExpr(visit(E->getOperand()), E->getType());
- }
-
- const SCEV *visitSignExtendExpr(const SCEVSignExtendExpr *E) {
- return SE.getSignExtendExpr(visit(E->getOperand()), E->getType());
- }
-
- const SCEV *visitAddExpr(const SCEVAddExpr *E) {
- SmallVector<const SCEV *, 4> Operands;
- for (int i = 0, e = E->getNumOperands(); i < e; ++i)
- Operands.push_back(visit(E->getOperand(i)));
- return SE.getAddExpr(Operands);
- }
-
- const SCEV *visitMulExpr(const SCEVMulExpr *E) {
- SmallVector<const SCEV *, 4> Operands;
- for (int i = 0, e = E->getNumOperands(); i < e; ++i)
- Operands.push_back(visit(E->getOperand(i)));
- return SE.getMulExpr(Operands);
- }
-
- const SCEV *visitSMaxExpr(const SCEVSMaxExpr *E) {
- SmallVector<const SCEV *, 4> Operands;
- for (int i = 0, e = E->getNumOperands(); i < e; ++i)
- Operands.push_back(visit(E->getOperand(i)));
- return SE.getSMaxExpr(Operands);
- }
-
- const SCEV *visitUMaxExpr(const SCEVUMaxExpr *E) {
- SmallVector<const SCEV *, 4> Operands;
- for (int i = 0, e = E->getNumOperands(); i < e; ++i)
- Operands.push_back(visit(E->getOperand(i)));
- return SE.getUMaxExpr(Operands);
- }
-
- const SCEV *visitUDivExpr(const SCEVUDivExpr *E) {
- return SE.getUDivExpr(visit(E->getLHS()), visit(E->getRHS()));
- }
-
const SCEV *visitAddRecExpr(const SCEVAddRecExpr *E) {
auto *Start = visit(E->getStart());
auto *AddRec = SE.getAddRecExpr(SE.getConstant(E->getType(), 0),
More information about the llvm-commits
mailing list