[all-commits] [llvm/llvm-project] ef4ffc: [DAE] MarkLive in MarkValue(MaybeLive) if any use ...

aeubanks via All-commits all-commits at lists.llvm.org
Mon Nov 2 21:13:32 PST 2020


  Branch: refs/heads/release/11.x
  Home:   https://github.com/llvm/llvm-project
  Commit: ef4ffcafbb2deeb30ccc30ebcdf9a5a843a27ec1
      https://github.com/llvm/llvm-project/commit/ef4ffcafbb2deeb30ccc30ebcdf9a5a843a27ec1
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2020-11-03 (Tue, 03 Nov 2020)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/DeadArgumentElimination.h
    M llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
    A llvm/test/Transforms/DeadArgElim/preserve-used-ret.ll

  Log Message:
  -----------
  [DAE] MarkLive in MarkValue(MaybeLive) if any use is live

While looping through all args or all return values, we may mark a use
of a later iteration as live. Previously when we got to that later value
it would ignore that and continue adding to Uses instead of marking it
live. For example, when looping through arg#0 and arg#1,
MarkValue(arg#0, Live) may cause some use of arg#1 to be live, but
MarkValue(arg#1, MaybeLive) will not notice that and continue adding
into Uses.

Now MarkValue(RA, MaybeLive) will MarkLive(RA) if any use is live.

Fixes PR47444.

Reviewed By: rnk

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

(cherry picked from commit 7468afe9ca135228f4c5a48f1b061ca57786fad6)




More information about the All-commits mailing list