Page MenuHomePhabricator

[CallSiteInfo][NFC] CallSiteInfo -> CallSiteInfo.ArgRegPairs
AcceptedPublic

Authored by necipfazil on Jul 29 2021, 2:41 PM.

Details

Summary

CallSiteInfo is originally used only for argument - register pairs. Make
it struct, in which we can store additional data for call sites.

Also, the variables/methods used for CallSiteInfo are named for its
original use case, e.g., CallFwdRegsInfo. Refactor these for the upcoming
use, e.g. addCallArgsForwardingRegs() -> addCallSiteInfo().

An upcoming patch will add type ids for indirect calls to propogate them from
middle-end to the back-end. The type ids will be then used to emit the call
graph section.

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

Diff Detail

Event Timeline

necipfazil created this revision.Jul 29 2021, 2:41 PM
necipfazil requested review of this revision.Jul 29 2021, 2:41 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 29 2021, 2:41 PM
This revision is now accepted and ready to land.Jul 29 2021, 3:55 PM
djtodoro added inline comments.Aug 3 2021, 12:28 AM
llvm/include/llvm/CodeGen/MachineFunction.h
420

I guess we can increase the N at least to 3 or 4, so we avoid mallocs for most of the cases?