[all-commits] [llvm/llvm-project] c4ad24: [Attributor][NCFI] Explicitly state what interferi...

Johannes Doerfert via All-commits all-commits at lists.llvm.org
Thu Feb 2 14:03:25 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c4ad24deeed8165f1c636473459982b8d9570e74
      https://github.com/llvm/llvm-project/commit/c4ad24deeed8165f1c636473459982b8d9570e74
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-02-02 (Thu, 02 Feb 2023)

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

  Log Message:
  -----------
  [Attributor][NCFI] Explicitly state what interfering accesses to look for

We used to check the query instructions for effects but that does not
work well with complex accesses we will probably support in the future.
Now we simply let the user decide what accesses to look for.


  Commit: 63b02271a8916c8ed8ce240ac5823825329755a6
      https://github.com/llvm/llvm-project/commit/63b02271a8916c8ed8ce240ac5823825329755a6
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2023-02-02 (Thu, 02 Feb 2023)

  Changed paths:
    M llvm/lib/Transforms/IPO/Attributor.cpp

  Log Message:
  -----------
  [Attributor][NFCI] Avoid spending time resolving kernel reachability queries

We know kernels (generally) cannot be called from within the module. Thus,
for reachability we would need to step back from a kernel which would allow
us to reach anything anyway. Even if a kernel is invoked from another
kernel, values like allocas and shared memory are not accessible. We
implicitly check for this situation to avoid costly lookups.


Compare: https://github.com/llvm/llvm-project/compare/d98086036a62...63b02271a891


More information about the All-commits mailing list