[PATCH] D113349: [SCEV] Fix and validate ValueExprMap/ExprValueMap consistency
Nikita Popov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Nov 6 12:50:08 PDT 2021
nikic created this revision.
nikic added reviewers: reames, mkazantsev.
Herald added subscribers: javed.absar, hiraditya, nemanjai.
nikic requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
This adds validation for consistency of ValueExprMap and ExprValueMap, and fixes identified issues:
- Addrec construction directly wrote to ValueExprMap in a few places, without updating ExprValueMap. Add a helper to ensures they stay consistent. The adjustment in forgetSymbolicName() explicitly drops the old value from the map, so that we don't rely on it being overwritten.
- forgetMemoizedResultsImpl() was dropping the SCEV from ExprValueMap, but not dropping the corresponding entries from ValueExprMap.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D113349
Files:
llvm/include/llvm/Analysis/ScalarEvolution.h
llvm/lib/Analysis/ScalarEvolution.cpp
llvm/test/CodeGen/PowerPC/more-dq-form-prepare.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D113349.385291.patch
Type: text/x-patch
Size: 30971 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211106/97268e04/attachment.bin>
More information about the llvm-commits
mailing list