[PATCH] D74904: [CallSiteInfo] Handle bundles when updating call site info

David Stenberg via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 26 08:44:16 PST 2020


dstenb added a comment.

In D74904#1893374 <https://reviews.llvm.org/D74904#1893374>, @djtodoro wrote:

> In D74904#1893241 <https://reviews.llvm.org/D74904#1893241>, @djtodoro wrote:
>
> > I see this was triggered in a case when we have not used the '-g' option at all.
> >
> > When we started the work, there were thoughts the "call-site-info" could be used somewhere else, but it is not the case now. It is being used only for the Debug Entry Values feature, so I think it makes sense to avoid production (and handling though out the pipeline) of the call-site-info if not '-g' and '-O>0'.
> >
> > The DWARF generation (for call-site-params) is controlled the same way as production of call-sites by looking at the `DISupprogam` flag `AllCallsDescribed`.
>
>
> Something like D75175 <https://reviews.llvm.org/D75175> (and then rebase reland of the D73534 <https://reviews.llvm.org/D73534> on top of that).


Does that patch make this one redundant, or can we land in the cases that this patch fixes with -O>0?



================
Comment at: llvm/lib/CodeGen/MachineFunction.cpp:878
 
-  CallSiteInfoMap::iterator CSIt = getCallSiteInfo(Old);
-  if (CSIt == CallSitesInfo.end())
-    return;
+  auto BundleIt = MI->getIterator();
+  do {
----------------
Sorry, I missed this the first round, but perhaps it's worth making this a range-based loop?

```
for (auto &BMI : make_range(getBundleStart(MI->getIterator()),
                            getBundleEnd(MI->getIterator())))
```


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

https://reviews.llvm.org/D74904





More information about the llvm-commits mailing list