This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
gcc/gcc ChangeLog emit-rtl.c expr.c function.c ...
- From: rth at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: 2 Dec 2004 19:16:38 -0000
- Subject: gcc/gcc ChangeLog emit-rtl.c expr.c function.c ...
CVSROOT: /cvs/gcc
Module name: gcc
Branch: gcc-3_4-branch
Changes by: rth@gcc.gnu.org 2004-12-02 19:16:38
Modified files:
gcc : ChangeLog emit-rtl.c expr.c function.c
integrate.c optabs.c rtl.h
Log message:
PR rtl-opt/15289
* emit-rtl.c (gen_complex_constant_part): Remove.
(gen_realpart, gen_imagpart, subreg_realpart_p): Remove.
* expr.c (write_complex_part, read_complex_part): New.
(emit_move_via_alt_mode, emit_move_via_integer, emit_move_resolve_push,
emit_move_complex_push, emit_move_complex, emit_move_ccmode,
emit_move_multi_word): Split out from ...
(emit_move_insn_1): ... here.
(expand_expr_real) <COMPLEX_EXPR>: Use write_complex_part.
<REALPART_EXPR, IMAGPART_EXPR>: Use read_complex_part.
<CONJ_EXPR>: Likewise.
* function.c (assign_parms): Hard-code transformations
instead of using gen_realpart/gen_imagpart.
* integrate.c (initialize_for_inline): Likewise.
* optabs.c (expand_unop): Use read_complex_part/write_complex_part.
(expand_complex_abs): Likewise.
(expand_binop): Likewise. Rearrange to build a CONCAT at the end,
rather than creating a complex target at the beginning.
* rtl.h (gen_realpart, gen_imagpart, subreg_realpart_p): Remove.
(read_complex_part, write_complex_part): Declare.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=2.2326.2.715&r2=2.2326.2.716
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/emit-rtl.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.365.4.6&r2=1.365.4.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/expr.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.615.4.15&r2=1.615.4.16
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/function.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.483.4.19&r2=1.483.4.20
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/integrate.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.244.2.1&r2=1.244.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/optabs.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.204.4.2&r2=1.204.4.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/rtl.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.448.4.7&r2=1.448.4.8