[PATCH] D76305: [RS4GC] Fix algorithm to avoid setting vector BDV for scalar derived pointer

Anna Thomas via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 17 11:49:27 PDT 2020


anna created this revision.
anna added reviewers: reames, skatkov, dantrushin.
Herald added a subscriber: hiraditya.
Herald added a project: LLVM.

This is a more general fix to 59029b9eef23 <https://reviews.llvm.org/rG59029b9eef23c72d904f9a6b182c5cd4402a69c5> (D75704 <https://reviews.llvm.org/D75704>).
This patch does the following:

1. updates isKnownBaseValue to account for base pointer and

derived pointer having differing types.

2. This inturn allows us to populate the

lattice (States) for such derived pointers.

3. It also updates all states where the base and derived pointers have

differing types (vector versus scalar) and conservatively marks these
states as conflictcs.
Note that in 59029b9eef23 <https://reviews.llvm.org/rG59029b9eef23c72d904f9a6b182c5cd4402a69c5>, we were just fixing existing lattice values
and that too, only for uses of extractelement.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D76305

Files:
  llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
  llvm/test/Transforms/RewriteStatepointsForGC/scalar-base-vector.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D76305.250838.patch
Type: text/x-patch
Size: 13356 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200317/e244acb7/attachment.bin>


More information about the llvm-commits mailing list