diff options
author | Javed Absar <javed.absar@arm.com> | 2017-03-08 23:01:50 +0000 |
---|---|---|
committer | Javed Absar <javed.absar@arm.com> | 2017-03-08 23:01:50 +0000 |
commit | 382f98733a685f93815a33f643957aa34ffc028f (patch) | |
tree | 904559088c6e055b50a1d8d0b6adea297315002d /polly/lib/Transform/DeadCodeElimination.cpp | |
parent | a54d32404c0942321bb9d8c0f184ae15f7dc688b (diff) | |
download | bcm5719-llvm-382f98733a685f93815a33f643957aa34ffc028f.tar.gz bcm5719-llvm-382f98733a685f93815a33f643957aa34ffc028f.zip |
[ConstantFold] Fix defect in constant folding computation for GEP
When the array indexes are all determined by GVN to be constants,
a call is made to constant-folding to optimize/simplify the address
computation.
The constant-folding, however, makes a mistake in that it sometimes reads
back stale Idxs instead of NewIdxs, that it re-computed in previous iteration.
This leads to incorrect addresses coming out of constant-folding to GEP.
A test case is included. The error is only triggered when indexes have particular
patterns that the stale/new index updates interplay matters.
Reviewers: Daniel Berlin
Differential Revision: https://reviews.llvm.org/D30642
llvm-svn: 297317
Diffstat (limited to 'polly/lib/Transform/DeadCodeElimination.cpp')
0 files changed, 0 insertions, 0 deletions