[Bug ipa/92800] New: IPA escape analysis for structs

2019-12-04 Thread christoph.muell...@theobroma-systems.com
Assignee: unassigned at gcc dot gnu.org Reporter: christoph.muell...@theobroma-systems.com CC: marxin at gcc dot gnu.org Target Milestone: --- Having GCC infrastructure code to detect non-escaping structs during whole-program analysis opens the door for the field of struct

[Bug ipa/92801] New: Drop unused struct fields

2019-12-04 Thread christoph.muell...@theobroma-systems.com
: unassigned at gcc dot gnu.org Reporter: christoph.muell...@theobroma-systems.com CC: marxin at gcc dot gnu.org Target Milestone: --- Non-escaping structs [1] can have their unused fields removed such that they have a smaller memory footprint and thus allow a more

[Bug ipa/92538] Proposal for IPA init() constant propagation

2019-12-04 Thread christoph.muell...@theobroma-systems.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92538 --- Comment #4 from Christoph Müllner --- Early tests with this pass showed that a bunch of SPEC CPU2017 benchmarks benefit from this. For example, the written-once global variable TTSize of sjeng is eliminated by this pass.

[Bug ipa/92802] New: Struct field reordering

2019-12-04 Thread christoph.muell...@theobroma-systems.com
: unassigned at gcc dot gnu.org Reporter: christoph.muell...@theobroma-systems.com CC: marxin at gcc dot gnu.org Target Milestone: --- Non-escaping structs [1] can be rearranged such that they have a smaller memory footprint and thus allow a more efficient cache utilisation

[Bug ipa/92801] Drop unused struct fields

2019-12-04 Thread christoph.muell...@theobroma-systems.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92801 --- Comment #2 from Christoph Müllner --- Yes, our current approach is all or nothing (i.e. all uses of a struct are changed or none). Optimizing individual uses of a type would allow a more tailored optimization. We decided to defer such an ap

[Bug ipa/92800] IPA escape analysis for structs

2019-12-05 Thread christoph.muell...@theobroma-systems.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92800 --- Comment #2 from Christoph Müllner --- Thanks for mentioning that. We have an upcoming conf call with Marvell where we will discuss this.