[PATCH] D103138: [AMDGPU] [IndirectCalls] Don't propagate attributes to address taken functions and their callees

Madhur Amilkanthwar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 25 22:50:07 PDT 2021


madhur13490 created this revision.
madhur13490 added reviewers: rampitec, arsenm.
Herald added subscribers: foad, nikic, jdoerfert, kerbowa, hiraditya, t-tye, tpr, dstuttard, yaxunl, nhaehnle, jvesely, kzhuravl.
madhur13490 requested review of this revision.
Herald added subscribers: llvm-commits, wdng.
Herald added a project: LLVM.

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 <https://reviews.llvm.org/D94585> as latent issues
are fixed in hasAddressTaken function in the recent
past.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D103138

Files:
  llvm/lib/Target/AMDGPU/AMDGPUPropagateAttributes.cpp
  llvm/test/CodeGen/AMDGPU/opt-pipeline.ll
  llvm/test/CodeGen/AMDGPU/propagate-attributes-common-callees.ll
  llvm/test/CodeGen/AMDGPU/propagate-attributes-direct-indirect-common-callee.ll
  llvm/test/CodeGen/AMDGPU/propagate-attributes-indirect.ll
  llvm/test/CodeGen/AMDGPU/propagate-attributes-launch-bounds.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D103138.347849.patch
Type: text/x-patch
Size: 12684 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210526/e7b893c5/attachment.bin>


More information about the llvm-commits mailing list