[all-commits] [llvm/llvm-project] 083010: [Attributor] Ensure to use the proper liveness AA

Johannes Doerfert via All-commits all-commits at lists.llvm.org
Tue Jun 21 19:31:39 PDT 2022

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 083010312aa4a0ba0cd5299bd3b039af8fb6d58f
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2022-06-21 (Tue, 21 Jun 2022)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/lib/Transforms/IPO/Attributor.cpp
    M llvm/test/Transforms/Attributor/IPConstantProp/return-constant.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/return-constants.ll
    M llvm/test/Transforms/Attributor/align.ll
    M llvm/test/Transforms/Attributor/read_write_returned_arguments_scc.ll

  Log Message:
  [Attributor] Ensure to use the proper liveness AA

When determining liveness via Attributor::isAssumedDead(...) we might
end up without a liveness AA or with one pointing into another function.
Neither is helpful and we will avoid both from now on.

Reapplied after fixing the ASAN error which caused the revert:

  Commit: b7cc3b10c549f6648a267a3ebc5171c42cdcecc5
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2022-06-21 (Tue, 21 Jun 2022)

  Changed paths:
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    A llvm/test/Transforms/Attributor/pointer-info.ll

  Log Message:
  [Attributor][FIX] Avoid empty bin in AAPointerInfo

This avoid creating empty bins in AAPointerInfo which can lead to
segfaults. Also ensure we do not try to translate from callee to caller
except if we really take the argument state and move it to the call site
argument state.

Fixes: https://github.com/llvm/llvm-project/issues/55726

Compare: https://github.com/llvm/llvm-project/compare/20b2d3260d4a...b7cc3b10c549

More information about the All-commits mailing list