Xazax-hun wrote: > After profiling further, I noticed one current bottleneck is in > handleImplicitObjectFieldUses, it accounts for ~1/2 samples in Lifetime > Safety Analysis right now (before is ~1/4 samples) for some files (e.g., > SemaExpr.cpp). This is because record types now have origins, so > handleImplicitObjectFieldUses builds origin trees for more fields and emits a > UseFact for each at every this->method() call site.
Thanks a lot for the analysis! This makes me believe the biggest win is to be lazy about creating origins for the fields! If we only created origins for the fields that are actually mentioned in the function I believe we would significantly cut down on this. https://github.com/llvm/llvm-project/pull/195603 _______________________________________________ llvm-branch-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
