[Attributor] Give up early on AANoReturn::initialize
authorJohannes Doerfert <johannes@jdoerfert.de>
Tue, 8 Sep 2020 00:56:51 +0000 (19:56 -0500)
committerJohannes Doerfert <johannes@jdoerfert.de>
Wed, 7 Oct 2020 00:31:07 +0000 (19:31 -0500)
commit3f540c05dfe90f5c0378614e3a4ada06b967227e
tree1e933729d7440c4bd59a499f62cdb6f8ca6e2ff9
parente3b0414b0ea305396a1fcfb2821ad643b0731880
[Attributor] Give up early on AANoReturn::initialize

If the function is not assumed `noreturn` we should not wait for an
update to mark the call site as "may-return".

This has two kinds of consequences:
  - We have less iterations in many tests.
  - We have less deductions based on "known information" (since we ask
    earlier, point 1, and therefore assumed information is not "known"
    yet).
The latter is an artifact that we might want to tackle properly at some
point but which is not easily fixable right now.
19 files changed:
llvm/lib/Transforms/IPO/AttributorAttributes.cpp
llvm/test/Transforms/Attributor/ArgumentPromotion/X86/thiscall.ll
llvm/test/Transforms/Attributor/ArgumentPromotion/byval.ll
llvm/test/Transforms/Attributor/ArgumentPromotion/fp80.ll
llvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead.ll
llvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead_2.ll
llvm/test/Transforms/Attributor/ArgumentPromotion/musttail.ll
llvm/test/Transforms/Attributor/IPConstantProp/PR16052.ll
llvm/test/Transforms/Attributor/IPConstantProp/multiple_callbacks.ll
llvm/test/Transforms/Attributor/IPConstantProp/musttail-call.ll
llvm/test/Transforms/Attributor/IPConstantProp/naked-return.ll
llvm/test/Transforms/Attributor/alwaysinline.ll
llvm/test/Transforms/Attributor/internalize.ll
llvm/test/Transforms/Attributor/misc.ll
llvm/test/Transforms/Attributor/noalias.ll
llvm/test/Transforms/Attributor/nocapture-2.ll
llvm/test/Transforms/Attributor/read_write_returned_arguments_scc.ll
llvm/test/Transforms/Attributor/readattrs.ll
llvm/test/Transforms/Attributor/returned.ll