summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2011-10-04 06:51:26 +0000
committerNick Lewycky <nicholas@mxc.ca>2011-10-04 06:51:26 +0000
commite97728ecf8a0ee69562cc0e7880cfaa65200c624 (patch)
treeefec7199224c5861d0342b7b7bc827e30ce60947 /include
parent6744a17dcfb941d9fdd869b9f06e20660e18ff88 (diff)
downloadllvm-e97728ecf8a0ee69562cc0e7880cfaa65200c624.tar.gz
llvm-e97728ecf8a0ee69562cc0e7880cfaa65200c624.tar.bz2
llvm-e97728ecf8a0ee69562cc0e7880cfaa65200c624.tar.xz
The product of two chrec's can always be represented as a chrec.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141066 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/Analysis/ScalarEvolution.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/llvm/Analysis/ScalarEvolution.h b/include/llvm/Analysis/ScalarEvolution.h
index f249bcf8c5..10d933e68f 100644
--- a/include/llvm/Analysis/ScalarEvolution.h
+++ b/include/llvm/Analysis/ScalarEvolution.h
@@ -588,6 +588,14 @@ namespace llvm {
Ops.push_back(RHS);
return getMulExpr(Ops, Flags);
}
+ const SCEV *getMulExpr(const SCEV *Op0, const SCEV *Op1, const SCEV *Op2,
+ SCEV::NoWrapFlags Flags = SCEV::FlagAnyWrap) {
+ SmallVector<const SCEV *, 3> Ops;
+ Ops.push_back(Op0);
+ Ops.push_back(Op1);
+ Ops.push_back(Op2);
+ return getMulExpr(Ops, Flags);
+ }
const SCEV *getUDivExpr(const SCEV *LHS, const SCEV *RHS);
const SCEV *getAddRecExpr(const SCEV *Start, const SCEV *Step,
const Loop *L, SCEV::NoWrapFlags Flags);