This is an archive of the discontinued LLVM Phabricator instance.

[PGO] Instrument only base constructors and destructors.
ClosedPublic

Authored by sepavloff on Dec 2 2015, 11:38 AM.

Details

Summary

Constructors and destructors may be represented by several functions
in IR. Only the base structors correspond to source code, others
are small pieces of code and eventually call the base variant. In
this case instrumentation of non-base structors has little sense,
this fix remove it. Now profile data of a declaration correspond to
exactly one function in IR, it agrees with current logic of profile
data loading.

This change fixes PR24996.

Diff Detail

Repository
rL LLVM

Event Timeline

sepavloff updated this revision to Diff 41653.Dec 2 2015, 11:38 AM
sepavloff retitled this revision from to [PGO] Instrument only base constructors and destructors..
sepavloff updated this object.
sepavloff added a reviewer: bogner.
sepavloff added subscribers: cfe-commits, silvas.
sepavloff updated this revision to Diff 41744.Dec 3 2015, 5:46 AM

Changes according to reviewer's notes.

This revision was automatically updated to reflect the committed changes.