https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103164
Bug ID: 103164 Summary: -fipa-pta degrades aliasing oracle for tramp3d Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: ipa Assignee: unassigned at gcc dot gnu.org Reporter: hubicka at gcc dot gnu.org CC: marxin at gcc dot gnu.org Target Milestone: --- Compiling tramp3d with -Ofast -fwhole-program -fipa-pta I get: Alias oracle query stats: refs_may_alias_p: 3820161 disambiguations, 4206951 queries ref_maybe_used_by_call_p: 16730 disambiguations, 3872185 queries call_may_clobber_ref_p: 971 disambiguations, 971 queries nonoverlapping_component_refs_p: 0 disambiguations, 10225 queries nonoverlapping_refs_since_match_p: 290 disambiguations, 6293 must overlaps, 6679 queries aliasing_component_refs_p: 3184 disambiguations, 67423 queries TBAA oracle: 2086432 disambiguations 3268935 queries 163779 are in alias set 0 677002 queries asked about the same object 0 queries asked about the same alias set 0 access volatile 341575 are dependent in the DAG 147 are aritificially in conflict with void * Modref stats: modref use: 6077 disambiguations, 52234 queries modref clobber: 38991 disambiguations, 456453 queries 120772 tbaa queries (0.264588 per modref query) 27541 base compares (0.060337 per modref query) PTA query stats: pt_solution_includes: 388070 disambiguations, 703922 queries pt_solutions_intersect: 78596 disambiguations, 579614 queries While with -Ofast -fwhole-program: Alias oracle query stats: refs_may_alias_p: 5462729 disambiguations, 5799042 queries ref_maybe_used_by_call_p: 23575 disambiguations, 5511000 queries call_may_clobber_ref_p: 2188 disambiguations, 2188 queries nonoverlapping_component_refs_p: 0 disambiguations, 6216 queries nonoverlapping_refs_since_match_p: 270 disambiguations, 4803 must overlaps, 5164 queries aliasing_component_refs_p: 2242 disambiguations, 41884 queries TBAA oracle: 2287136 disambiguations 3598543 queries 166373 are in alias set 0 769743 queries asked about the same object 0 queries asked about the same alias set 0 access volatile 375144 are dependent in the DAG 147 are aritificially in conflict with void * Modref stats: modref use: 6124 disambiguations, 55063 queries modref clobber: 43317 disambiguations, 581346 queries 121869 tbaa queries (0.209632 per modref query) 32045 base compares (0.055122 per modref query) PTA query stats: pt_solution_includes: 872055 disambiguations, 1119697 queries pt_solutions_intersect: 106431 disambiguations, 536171 queries This seems to behave similarly on other medium sized testcases I tried.