[Bug tree-optimization/14295] [tree-ssa] copy propagation for aggregates

2025-02-21 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=14295 --- Comment #14 from Andrew Pinski --- Note looking into how LLVM implements this is almost exactly the same as I have implemented. The memset/memcpy -> memset/memset is exactly the same (though it does work with other things inbetween).

[Bug tree-optimization/14295] [tree-ssa] copy propagation for aggregates

2025-02-21 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=14295 --- Comment #13 from Andrew Pinski --- Created attachment 60556 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=60556&action=edit Patch which adds the simplified copy prop for agg This fixes the testcase and has been bootstrapped and tested

[Bug tree-optimization/14295] [tree-ssa] copy propagation for aggregates

2025-02-20 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=14295 --- Comment #12 from Andrew Pinski --- optimize_memcpy_to_memset does some simple copy prop but with zeroing. A similar method could be done for non zeroing and i am going to try that.

[Bug tree-optimization/14295] [tree-ssa] copy propagation for aggregates

2025-02-20 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=14295 Andrew Pinski changed: What|Removed |Added Assignee|unassigned at gcc dot gnu.org |pinskia at gcc dot gnu.org

[Bug tree-optimization/14295] [tree-ssa] copy propagation for aggregates

2024-05-24 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=14295 Andrew Pinski changed: What|Removed |Added CC||user202729 at protonmail dot com --- Co

[Bug tree-optimization/14295] [tree-ssa] copy propagation for aggregates

2016-12-15 Thread etienne_lorrain at yahoo dot fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=14295 Bug 14295 depends on bug 24177, which changed state. Bug 24177 Summary: function returning structure produce very long/slow assembly https://gcc.gnu.org/bugzilla/show_bug.cgi?id=24177 What|Removed |Added ---

[Bug tree-optimization/14295] [tree-ssa] copy propagation for aggregates

2008-06-22 Thread rguenth at gcc dot gnu dot org
--- Comment #9 from rguenth at gcc dot gnu dot org 2008-06-22 15:07 --- Created an attachment (id=15801) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15801&action=view) aggregate temporary registers Like this simple, untested patch. Breaks tree-sra. -- http://gcc.gnu.org/bu

[Bug tree-optimization/14295] [tree-ssa] copy propagation for aggregates

2008-06-22 Thread rguenth at gcc dot gnu dot org
--- Comment #8 from rguenth at gcc dot gnu dot org 2008-06-22 15:05 --- If we would disallow struct copies in the gimple IL and instead require a register temporary that we would re-write into SSA form like struct s temp_struct3; struct s temp_struct2; struct s temp_struct1; str

[Bug tree-optimization/14295] [tree-ssa] copy propagation for aggregates

2008-01-27 Thread rguenth at gcc dot gnu dot org
--- Comment #7 from rguenth at gcc dot gnu dot org 2008-01-27 14:14 --- One important structure copy propagation that SRA is not able to handle is struct X { int i; int j; }; void foo(struct X); inline void wrap(struct X w) { foo(w); } void bar(struct X x) { wrap(x); } where a copy fr

[Bug tree-optimization/14295] [tree-ssa] copy propagation for aggregates

2006-03-10 Thread dnovillo at gcc dot gnu dot org
-- dnovillo at gcc dot gnu dot org changed: What|Removed |Added CC||dnovillo at gcc dot gnu dot |

[Bug tree-optimization/14295] [tree-ssa] copy propagation for aggregates

2006-02-14 Thread rguenth at gcc dot gnu dot org
--- Comment #6 from rguenth at gcc dot gnu dot org 2006-02-14 15:52 --- Created an attachment (id=10849) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10849&action=view) simple "cleanup" struct copyprop Attached simple "cleanup" style struct copyprop that is able to clean up usele

[Bug tree-optimization/14295] [tree-ssa] copy propagation for aggregates

2006-01-14 Thread rguenth at gcc dot gnu dot org
--- Comment #5 from rguenth at gcc dot gnu dot org 2006-01-14 12:16 --- 4.1 branch has ;; Function foo (foo) Analyzing Edge Insertions. foo (r) { struct s temp_struct3; struct s temp_struct2; struct s temp_struct1; : temp_struct1 = r; temp_struct2 = temp_struct1; temp_struc

[Bug tree-optimization/14295] [tree-ssa] copy propagation for aggregates

2006-01-07 Thread steven at gcc dot gnu dot org
--- Comment #4 from steven at gcc dot gnu dot org 2006-01-07 18:04 --- On AMD64 with GNU C version 4.2.0 20060107, I get this .optimized dump: ;; Function foo (foo) foo (r) { int r$b; int r$a; char r$d; : r$b = r.b; r$a = r.a; r$d = r.d; .m = r.m; .b = r$b; .a = r$a;

[Bug tree-optimization/14295] [tree-ssa] copy propagation for aggregates

2005-09-14 Thread pinskia at gcc dot gnu dot org
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-14 17:35 --- *** Bug 18268 has been marked as a duplicate of this bug. *** -- What|Removed |Added