[all-commits] [llvm/llvm-project] 8befd0: [Attributor][FIX] Track change status for AAIsDead...

Johannes Doerfert via All-commits all-commits at lists.llvm.org
Mon Jul 26 19:26:40 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8befd05aad9f425937182ac137d3509ddd4d47b3
      https://github.com/llvm/llvm-project/commit/8befd05aad9f425937182ac137d3509ddd4d47b3
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2021-07-26 (Mon, 26 Jul 2021)

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

  Log Message:
  -----------
  [Attributor][FIX] Track change status for AAIsDead properly

If we add a new live edge we need to indicate a change or otherwise the
new live block is not shown to users. Similarly, new known dead ends and
a changed `ToBeExploredFrom` set need to cause us to return CHANGED.


  Commit: e6f3e648c9caf84fca9d2039138b5b539b398f70
      https://github.com/llvm/llvm-project/commit/e6f3e648c9caf84fca9d2039138b5b539b398f70
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2021-07-26 (Mon, 26 Jul 2021)

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

  Log Message:
  -----------
  [Attributor][FIX] Do not return CHANGED unconditionally

This caused us to rerun AAMemoryBehaviorFloating::updateImpl over and
over again. Unfortunately it turned out to be hard to reproduce the
behavior in a reasonable way.


  Commit: be2b569646984e4aac988afda3090c2225228752
      https://github.com/llvm/llvm-project/commit/be2b569646984e4aac988afda3090c2225228752
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2021-07-26 (Mon, 26 Jul 2021)

  Changed paths:
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/test/Transforms/OpenMP/custom_state_machines.ll
    M llvm/test/Transforms/OpenMP/gpu_state_machine_function_ptr_replacement.ll

  Log Message:
  -----------
  [OpenMP] Run rewriteDeviceCodeStateMachine in the Module not CGSCC pass

While rewriteDeviceCodeStateMachine should probably be folded into
buildCustomStateMachine, we at least need the optimization to happen.
This was not reliably the case in the CGSCC pass but in the Module pass
it seems to work reliably.

This also ports a test to the new kernel encoding (target_init/deinit),
and makes sure we cannot run the kernel in SPMD mode.

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


Compare: https://github.com/llvm/llvm-project/compare/ebe817f98cbf...be2b56964698


More information about the All-commits mailing list