gcc/:
commit1a6a0f2a8b031758448b9f00219811342cb433a1
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 1 Feb 2007 01:09:35 +0000 (1 01:09 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 1 Feb 2007 01:09:35 +0000 (1 01:09 +0000)
treeef18ae23759d8cebf30524fd23a40023979adb9e
parentae8bbff506d08a4a512f533c0e9e916ee44dd205
gcc/:
* lower-subreg.c: New file.
* rtl.def (CONCATN): Define.
* passes.c (init_optimization_passes): Add pass_lower_subreg and
pass_lower_subreg2.
* emit-rtl.c (update_reg_offset): New static function, broken out
of gen_rtx_REG_offset.
(gen_rtx_REG_offset): Call update_reg_offset.
(gen_reg_rtx_offset): New function.
* regclass.c: Revert patch of 2006-03-05, restoring
reg_scan_update.
(clear_reg_info_regno): New function.
* dwarf2out.c (concatn_loc_descriptor): New static function.
(loc_descriptor): Handle CONCATN.
* common.opt (fsplit_wide_types): New option.
* opts.c (decode_options): Set flag_split_wide_types when
optimizing.
* timevar.def (TV_LOWER_SUBREG): Define.
* rtl.h (gen_reg_rtx_offset): Declare.
(reg_scan_update): Declare.
* regs.h (clear_reg_info_regno): Declare.
* tree-pass.h (pass_lower_subreg): Declare.
(pass_lower_subreg2): Declare.
* doc/invoke.texi (Option Summary): List -fno-split-wide-types.
(Optimize Options): Add -fsplit-wide-types to -O1 list.  Document
-fsplit-wide-types.
* doc/rtl.texi (Regs and Memory): Document concat and concatn.
* Makefile.in (OBJS-common): Add lower-subreg.o.
(lower-subreg.o): New target.
gcc/testsuite/:
* gcc.dg/lower-subreg-1.c (test): New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121453 138bc75d-0d04-0410-961f-82ee72b054a4
18 files changed:
gcc/ChangeLog
gcc/Makefile.in
gcc/common.opt
gcc/doc/invoke.texi
gcc/doc/rtl.texi
gcc/dwarf2out.c
gcc/emit-rtl.c
gcc/lower-subreg.c [new file with mode: 0644]
gcc/opts.c
gcc/passes.c
gcc/regclass.c
gcc/regs.h
gcc/rtl.def
gcc/rtl.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/lower-subreg-1.c [new file with mode: 0644]
gcc/timevar.def
gcc/tree-pass.h