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/passes.c | |
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/passes.c')
-rw-r--r-- | gcc/passes.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/passes.c b/gcc/passes.c index a9bbba6..d700ae9 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -1,6 +1,7 @@ /* Top level of GCC compilers (cc1, cc1plus, etc.) Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, - 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. + 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 + Free Software Foundation, Inc. This file is part of GCC. @@ -663,6 +664,7 @@ init_optimization_passes (void) NEXT_PASS (pass_unshare_all_rtl); NEXT_PASS (pass_instantiate_virtual_regs); NEXT_PASS (pass_jump2); + NEXT_PASS (pass_lower_subreg); NEXT_PASS (pass_cse); NEXT_PASS (pass_rtl_fwprop); NEXT_PASS (pass_gcse); @@ -682,6 +684,7 @@ init_optimization_passes (void) NEXT_PASS (pass_partition_blocks); NEXT_PASS (pass_regmove); NEXT_PASS (pass_split_all_insns); + NEXT_PASS (pass_lower_subreg2); NEXT_PASS (pass_mode_switching); NEXT_PASS (pass_see); NEXT_PASS (pass_recompute_reg_usage); |