This is an archive of the discontinued LLVM Phabricator instance.

[Attributor] Create abstract attributes on-demand
ClosedPublic

Authored by jdoerfert on Aug 14 2019, 10:09 PM.

Details

Summary

Before, we create the set of abstract attributes initially and then
dealt with the fact hat a lookup could fail, e.g., return a nullptr.
This patch will ensure we always return a valid object from a lookup,
allowing us not only to remove the nullptr checks but also to grow the
set of abstract attributes we look at on-demand. One can now start from
those that have the best chance of improving performance without the
need to specify all they might depend on.

Note: A lot of the minor adjustments that are not related to the switch

from pointers to references will go in the preparation patches already
under review. These patches and this one will be updated
accordingly.

Diff Detail

Repository
rL LLVM