[PATCH] D105909: [clang][CallGraphSection] Add type id metadata to indirect call and targets

Necip Fazil Yildiran via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 16 11:43:33 PDT 2021


necipfazil updated this revision to Diff 359401.
necipfazil added a comment.
Herald added subscribers: dexonsmith, hiraditya.
Herald added a project: LLVM.

Use operand bundles for callsite type ids

- Use (unlossy) operand bundles for propagating indirect callsite type ids
- No longer use type metadata for indirect callsites
- Adapt the tests to the changes

Currently, all callsites are annotated with a `type` operand bundle regardless
of whether indirect or not. While this does not affect the correctness for
call graph section as the extra information is not used, unnecessary operand
bundles on direct callsites increases IR program size. This will be fixed.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D105909/new/

https://reviews.llvm.org/D105909

Files:
  clang/lib/CodeGen/CGCall.cpp
  clang/lib/CodeGen/CodeGenModule.cpp
  clang/test/CodeGen/call-graph-section-1.cpp
  clang/test/CodeGen/call-graph-section-2.cpp
  clang/test/CodeGen/call-graph-section-3.cpp
  clang/test/CodeGen/call-graph-section.c
  llvm/include/llvm/IR/LLVMContext.h
  llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D105909.359401.patch
Type: text/x-patch
Size: 19072 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210716/0464381c/attachment.bin>


More information about the llvm-commits mailing list