HomePhabricator

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

Authored by anna on May 14 2020, 6:15 AM.

Description

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

Summary:
This is a more general fix to 59029b9eef23 (D75704).
This patch does the following:

  1. updates isKnownBaseValue to account for base pointer and

derived pointer having differing types.

  1. This inturn allows us to populate the

lattice (States) for such derived pointers.

  1. 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, we were just fixing existing lattice values
and that too, only for uses of extractelement.

Reviewers: reames, skatkov, dantrushin

Reviewed By: skatkov

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D76305