[all-commits] [llvm/llvm-project] 6a3beb: [AMDGPU] [IndirectCalls] Don't propagate attribute...

Madhur via All-commits all-commits at lists.llvm.org
Thu Jun 3 23:07:23 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6a3beb1f68d6791a4cd0190f68b48510f754a00a
      https://github.com/llvm/llvm-project/commit/6a3beb1f68d6791a4cd0190f68b48510f754a00a
  Author: madhur13490 <Madhur.Amilkanthwar at amd.com>
  Date:   2021-06-04 (Fri, 04 Jun 2021)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPropagateAttributes.cpp
    M llvm/test/CodeGen/AMDGPU/opt-pipeline.ll
    A llvm/test/CodeGen/AMDGPU/propagate-attributes-common-callees.ll
    A llvm/test/CodeGen/AMDGPU/propagate-attributes-direct-indirect-common-callee.ll
    M llvm/test/CodeGen/AMDGPU/propagate-attributes-function-pointer-argument.ll
    A llvm/test/CodeGen/AMDGPU/propagate-attributes-indirect.ll
    A llvm/test/CodeGen/AMDGPU/propagate-attributes-launch-bounds.ll

  Log Message:
  -----------
  [AMDGPU] [IndirectCalls] Don't propagate attributes to address taken functions and their callees

Don't propagate launch bound related attributes to
address taken functions and their callees. The idea
is to do a traversal over the call graph starting at
address taken functions and erase the attributes
set by previous logic i.e. process().

This two phase approach makes sure that we don't
miss out on deep nested callees from address taken
functions as a function might be called directly as
well as indirectly.

This patch is also reattempt to D94585 as latent issues
are fixed in hasAddressTaken function in the recent
past.

Reviewed By: arsenm

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




More information about the All-commits mailing list