[PATCH] D30350: [LSR] Add a cap for reassociation of AllFixupsOutsideLoop type LSRUse to protect compile time

Sanjoy Das via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 12 14:15:35 PDT 2017


sanjoy requested changes to this revision.
sanjoy added inline comments.
This revision now requires changes to proceed.


================
Comment at: lib/Analysis/ScalarEvolution.cpp:1509
+  // getZeroExtendExprImpl.
+  DenseMap<std::pair<const SCEV *, Type *>, const SCEV *> Cache;
+  return getZeroExtendExprImpl(Op, Ty, Cache);
----------------
`DenseMap` is probably too heavyweight here -- can you change this to `SmallDenseMap<8>`?


================
Comment at: lib/Analysis/ScalarEvolution.cpp:2002
+RET:
+  Cache.insert({{Op, Ty}, SExt});
+  return SExt;
----------------
Can you create a lambda for this that use as `return InsertResult(SExt);` instead of `goto RET;`?


Repository:
  rL LLVM

https://reviews.llvm.org/D30350





More information about the llvm-commits mailing list