diff options
author | Johannes Doerfert <johannes@jdoerfert.de> | 2020-01-23 17:12:56 -0600 |
---|---|---|
committer | Johannes Doerfert <johannes@jdoerfert.de> | 2020-02-12 17:36:38 -0600 |
commit | b2c76002caae91689e94d4ddd2bf4c3474e82066 (patch) | |
tree | 03843c6e34f54e49a20162975aacdcdb6ac8092b /clang/lib/CodeGen/CodeGenFunction.cpp | |
parent | 86509e8c3b846ec8f5264be8b3f53a4bef8e83e8 (diff) | |
download | llvm-b2c76002caae91689e94d4ddd2bf4c3474e82066.zip llvm-b2c76002caae91689e94d4ddd2bf4c3474e82066.tar.gz llvm-b2c76002caae91689e94d4ddd2bf4c3474e82066.tar.bz2 |
[Attributor] Ignore uses if a value is simplified
If we have a replacement for a value, via AAValueSimplify, the original
value will lose all its uses. Thus, as long as a value is simplified we
can skip the uses in checkForAllUses, given that these uses are
transitive uses for the simplified version and will therefore affect the
simplified version as necessary.
Since this allowed us to remove calls without side-effects and a known
return value, we need to make sure not to eliminate `musttail` calls.
Those we keep around, or later remove the entire `musttail` call chain.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions