[PATCH] D61075: [CodeGenPrepare] limit overflow intrinsic matching to a single basic block
Sanjay Patel via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu May 2 14:07:01 PDT 2019
spatel marked an inline comment as done.
spatel added inline comments.
================
Comment at: llvm/lib/CodeGen/CodeGenPrepare.cpp:1206
+ Instruction *InsertPt = nullptr;
+ for (Instruction &Iter : *Cmp->getParent()) {
+ if (&Iter == BO || &Iter == Cmp) {
----------------
hfinkel wrote:
> If the DT was expensive, I'd actually suspect it was this scanning that made it so on large blocks. Does this happen multiple times such that a OBB cache would help?
I only have 1 test case to play with (I'll try to attach it to this review for reference), and it doesn't have large blocks. It's a ~66K line function with ~6K blocks.
>From what I can tell, the problem is that we reset the DT on any made change up at line 472. That seems like overkill, but I don't have the motivation to sort out which of the transforms in the loop could bypass that reset.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D61075/new/
https://reviews.llvm.org/D61075
More information about the llvm-commits
mailing list