[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
Tue Jul 13 10:23:00 PDT 2021


necipfazil created this revision.
necipfazil added reviewers: rjmccall, rsmith, morehouse, kcc, llvm-commits, cfe-commits.
necipfazil requested review of this revision.
Herald added a project: clang.

Create and add generalized type identifier metadata to indirect calls,
and to functions that may be target to indirect calls.

      

Type identifiers will be used by the back-end to construct the call
graph section to precisely represent the possible targets for indirect calls.
The type information is deliberately pulled from the front-end to have extra
precision since some type information is lost at IR, and to ensure
consistent type identifiers between object files compiled at different
times (as C/C++ standards require language-level types to match).

Original RFC: https://lists.llvm.org/pipermail/llvm-dev/2021-June/151044.html
Updated RFC: https://lists.llvm.org/pipermail/llvm-dev/2021-July/151739.html


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D105909

Files:
  clang/lib/CodeGen/CGClass.cpp
  clang/lib/CodeGen/CGExpr.cpp
  clang/lib/CodeGen/CGExprCXX.cpp
  clang/lib/CodeGen/CGObjCMac.cpp
  clang/lib/CodeGen/CodeGenModule.cpp
  clang/lib/CodeGen/CodeGenModule.h
  clang/test/CodeGen/call-graph-section.c

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D105909.358327.patch
Type: text/x-patch
Size: 11532 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210713/419f603e/attachment.bin>


More information about the llvm-commits mailing list