[all-commits] [llvm/llvm-project] 4ed0a8: [Attributor] Teach AAPointerInfo to look into aggr...

Johannes Doerfert via All-commits all-commits at lists.llvm.org
Sun Sep 11 20:30:04 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4ed0a88cd8a77370073feb270d77a9e8b27bd68c
      https://github.com/llvm/llvm-project/commit/4ed0a88cd8a77370073feb270d77a9e8b27bd68c
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2022-09-11 (Sun, 11 Sep 2022)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/lib/Transforms/IPO/Attributor.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/test/Transforms/Attributor/ArgumentPromotion/aggregate-promote.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/fp80.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/openmp_parallel_for.ll
    A llvm/test/Transforms/Attributor/value-simplify-pointer-info-struct.ll
    M llvm/test/Transforms/OpenMP/remove_globalization.ll

  Log Message:
  -----------
  [Attributor] Teach AAPointerInfo to look into aggregates

If we have a constant aggregate, e.g., as an initializer, we usually
failed to extract the proper value/type from it. This patch provides the
size and offset information necessary to extract the right part of the
constant.


  Commit: 844f6c5d03d58e7ac0c6b838e4a7834ac575ab9b
      https://github.com/llvm/llvm-project/commit/844f6c5d03d58e7ac0c6b838e4a7834ac575ab9b
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2022-09-11 (Sun, 11 Sep 2022)

  Changed paths:
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/test/Transforms/Attributor/heap_to_stack_gpu.ll
    M llvm/test/Transforms/Attributor/pointer-info.ll
    M llvm/test/Transforms/Attributor/value-simplify-pointer-info-struct.ll
    M llvm/test/Transforms/OpenMP/parallel_deletion.ll

  Log Message:
  -----------
  [Attributor] AAPointerInfo should allow "harmless" uses

If a call base use will not capture a pointer we can approximate the
effects. This is important especially for readnone/only uses.


Compare: https://github.com/llvm/llvm-project/compare/b046ebdc0191...844f6c5d03d5


More information about the All-commits mailing list