OSDN Git Service

(struct clear_by_pieces): New structure.
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 24 Dec 1995 11:37:15 +0000 (11:37 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 24 Dec 1995 11:37:15 +0000 (11:37 +0000)
commitdbd14dc52525e67b250260a8cef57e4a58c86389
tree0e268edb54f8cd9413167b2de093ad8b555a5bce
parent25e12d4389e58269f26a4ffe579cebc7b106a338
(struct clear_by_pieces): New structure.
(clear_by_pieces{,_1}, {is,mostly}_zeros_p): New functions.
(clrstr_optab): New optab.
(clear_storage): Rework to try to use clear_by_pieces, then
new clrstr insn, then library call.
(store_constructor): Track if target is already cleared.
Clear target first if CONSTRUCTOR is mostly zeros.
Don't write zeros if target has been cleared.
Add new arg to clear_storage call.
(expand_expr, case CONSTRUCTOR): Don't put static constructor
in memory if mostly zero.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10842 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/expr.c