[PATCH] D30350: [LSR] Add a cap for reassociation of AllFixupsOutsideLoop type LSRUse to protect compile time
Wei Mi via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 17 10:52:51 PDT 2017
wmi added a comment.
Sanjoy, thanks for all the helpful comments.
================
Comment at: include/llvm/Analysis/ScalarEvolution.h:1163
+
+ typedef SmallDenseMap<std::pair<const SCEV *, Type *>, const SCEV *, 8>
+ CacheTypeForExtend;
----------------
sanjoy wrote:
> I think the usual naming scheme here is `ExtendCacheTy`?
Fixed.
================
Comment at: lib/Analysis/ScalarEvolution.cpp:1522
+ const SCEV *ZExt = getZeroExtendExprImpl(Op, Ty, Cache);
+ Cache.insert({{Op, Ty}, ZExt});
+ return ZExt;
----------------
sanjoy wrote:
> If possible, you should
>
> ```
> auto InsertResult = Cache.insert({{Op, Ty}, ZExt});
> assert(InsertResult.second);
> ```
>
> otherwise state that it is possible (how?) that the key is already present in the cache.
I added the assertion and at least unittest and llvm testsuite didn't trigger it.
Repository:
rL LLVM
https://reviews.llvm.org/D30350
More information about the llvm-commits
mailing list