[all-commits] [llvm/llvm-project] 5e06b2: [Attributor][FIX] Carefully handle/ignore/forget `...

Johannes Doerfert via All-commits all-commits at lists.llvm.org
Sun May 10 17:08:30 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 5e06b2514aed37e49224c7086468bd4fa5080086
      https://github.com/llvm/llvm-project/commit/5e06b2514aed37e49224c7086468bd4fa5080086
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2020-05-10 (Sun, 10 May 2020)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/test/Transforms/Attributor/memory_locations.ll

  Log Message:
  -----------
  [Attributor][FIX] Carefully handle/ignore/forget `argmemonly`

When we have an existing `argmemonly` or `inaccessiblememorargmemonly`
we used to "know" that information. However, interprocedural constant
propagation can invalidate these attributes. We now ignore and remove
these attributes for internal functions (which may be affected by IP
constant propagation), if we are deriving new attributes for the
function.




More information about the All-commits mailing list