[PATCH] D17201: [SCEV] Introduce a guarded backedge taken count and use it in LAA and LV
email@example.com via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 18 10:06:14 PDT 2016
sbaranga updated this revision to Diff 51037.
sbaranga added a comment.
Reworked the ExitNotTakenInfo allocation scheme to avoid allocating
The new allocation scheme follows Sanjoy's idea:
we have a new optional structure that can hold optional (almost always not
needed) data. The optional data contains a SCEVPredicate and a vector
of ExitNotTakenInfo structs. The first elemet has the optional info if it
has a SCEVPredicate or there are more than one loop exits. The other
ExitNotTakenInfo structs will contain the extra info only if they have
Note that we could pottentially modify this scheme such that the first
loop exit has a union of all the SCEV predicates (which doesn't have
the per-exit information, but uses less memory - in the cases where
we do need SCEV predicates).
Since the new structure is not trivial to traverse, we also have a new
iterator for this (which keeps the traversals simple to write).
Also followed up on the reset of the review comments from the last round.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 55490 bytes
Desc: not available
More information about the llvm-commits