diff options
| author | Max Kazantsev <max.kazantsev@azul.com> | 2018-11-01 06:18:27 +0000 |
|---|---|---|
| committer | Max Kazantsev <max.kazantsev@azul.com> | 2018-11-01 06:18:27 +0000 |
| commit | e0a2613aeaae93bf75ccc6c616fec3c45147a3df (patch) | |
| tree | 0e12925d5c07b0216e8be574049a4b67706fc725 /llvm/test | |
| parent | 59b78bcba2c7c20fbf5b4dcd14ea7a23c196a289 (diff) | |
| download | bcm5719-llvm-e0a2613aeaae93bf75ccc6c616fec3c45147a3df.tar.gz bcm5719-llvm-e0a2613aeaae93bf75ccc6c616fec3c45147a3df.zip | |
[SCEV] Avoid redundant computations when doing AddRec merge
When we calculate a product of 2 AddRecs, we end up making quite massive
computations to deduce the operands of resulting AddRec. This process can
be optimized by computing all args of intermediate sum and then calling
`getAddExpr` once rather than calling `getAddExpr` with intermediate
result every time a new argument is computed.
Differential Revision: https://reviews.llvm.org/D53189
Reviewed By: rtereshin
llvm-svn: 345813
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/Analysis/ScalarEvolution/binomial-explision.ll | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/test/Analysis/ScalarEvolution/binomial-explision.ll b/llvm/test/Analysis/ScalarEvolution/binomial-explision.ll index 82d0beda6b5..ff27bfcbd76 100644 --- a/llvm/test/Analysis/ScalarEvolution/binomial-explision.ll +++ b/llvm/test/Analysis/ScalarEvolution/binomial-explision.ll @@ -8,7 +8,7 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128-ni:1" define void @test(i32 %x, i64 %y, i1 %cond) { ; CHECK: %tmp19 = mul i32 %tmp17, %tmp18 -; CHECK: (((( +; CHECK: (((((( ; CHECK-NOT: ((((( ; CHECK: %tmp20 = add i32 %tmp19, %x |

