diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2007-02-01 01:09:35 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2007-02-01 01:09:35 +0000 |
commit | e53a16e75f3cbaaa46e5ce2fc1ed449a18eef7d9 (patch) | |
tree | ef18ae23759d8cebf30524fd23a40023979adb9e /gcc/rtl.h | |
parent | 15c48c45f552564d65a3cc869b2a8f896492f05f (diff) | |
download | gcc-e53a16e75f3cbaaa46e5ce2fc1ed449a18eef7d9.zip gcc-e53a16e75f3cbaaa46e5ce2fc1ed449a18eef7d9.tar.gz gcc-e53a16e75f3cbaaa46e5ce2fc1ed449a18eef7d9.tar.bz2 |
lower-subreg.c: New file.
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.
From-SVN: r121453
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r-- | gcc/rtl.h | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -1,6 +1,7 @@ /* Register Transfer Language (RTL) definitions for GCC Copyright (C) 1987, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. + 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 + Free Software Foundation, Inc. This file is part of GCC. @@ -1471,6 +1472,7 @@ extern int rtx_equal_p (rtx, rtx); extern rtvec gen_rtvec_v (int, rtx *); extern rtx gen_reg_rtx (enum machine_mode); extern rtx gen_rtx_REG_offset (rtx, enum machine_mode, unsigned int, int); +extern rtx gen_reg_rtx_offset (rtx, enum machine_mode, int); extern rtx gen_label_rtx (void); extern rtx gen_lowpart_common (enum machine_mode, rtx); @@ -2162,6 +2164,7 @@ extern void init_reg_sets (void); extern void regclass_init (void); extern void regclass (rtx, int); extern void reg_scan (rtx, unsigned int); +extern void reg_scan_update (rtx, rtx, unsigned int); extern void fix_register (const char *, int, int); extern void init_subregs_of_mode (void); extern void record_subregs_of_mode (rtx); |