[PATCH] D23488: ThinLTO: add early "dead-stripping" on the Index

Teresa Johnson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 22 13:09:22 PST 2016


tejohnson added inline comments.


================
Comment at: include/llvm/LTO/LTO.h:389
+    /// Keep track if the symbol was referenced by the regular LTO partition.
+    bool VisibleToRegularLTOPartition = false;
+
----------------
mehdi_amini wrote:
> tejohnson wrote:
> > pcc wrote:
> > > mehdi_amini wrote:
> > > > pcc wrote:
> > > > > Don't you just need one flag: VisibleOutsideThinLTO (or something).
> > > > I think one flag should be enough, but shouldn't we have the same flag for LTO internalization?
> > > > 
> > > Wouldn't that be redundant with Partition == 0?
> > You're right, we only need one flag (forgot that the VisibleToRegularObj flag was added to GlobalResolutions for this patch). I will combine them as suggested.
> You're right! 
> So do we need to record every ThinLTO module as an individual partition? When do we use this?
> We could have `enum partition { Unkown, Global, LTO, ThinLTO }`?
> So do we need to record every ThinLTO module as an individual partition? When do we use this?

To detect when symbols are used by multiple ThinLTO modules (i.e. exported). E.g. it transitions from Unknown -> partition1  when first called with Partition=partition1, then from partition1 -> External if invoked again for the same symbol with a different partition2.


https://reviews.llvm.org/D23488





More information about the llvm-commits mailing list