This is an archive of the discontinued LLVM Phabricator instance.

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

Authored by Prabhuk 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 ↗(On Diff #362888)

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

Herald added a project: Restricted Project. · View Herald TranscriptWed, Nov 22, 1:53 PM
Prabhuk updated this revision to Diff 558154.Wed, Nov 22, 2:12 PM

Rebased the patchset and addressed the compilation failures

phosek added a subscriber: phosek.Mon, Nov 27, 9:53 AM