opts.c (common_handle_option): Handle OPT_fweb
authorJan Hubicka <jh@suse.cz>
Fri, 17 Oct 2003 18:24:41 +0000 (20:24 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Fri, 17 Oct 2003 18:24:41 +0000 (18:24 +0000)
* opts.c  (common_handle_option): Handle OPT_fweb
* invoke.texi (-fweb): Add missing parts of documentation.

From-SVN: r72614

gcc/ChangeLog
gcc/doc/invoke.texi
gcc/opts.c

index 0ee2d0592f8588e88f9ff8509e02c6b5de96eabd..ce73996a71077980bd5498316fcb6dfc07878f14 100644 (file)
@@ -1,3 +1,8 @@
+2003-10-17  Jan Hubicka  <jh@suse.cz>
+
+       * opts.c  (common_handle_option): Handle OPT_fweb
+       * invoke.texi (-fweb): Add missing parts of documentation.
+
 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
        * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
index fd2040034a89d61372c844b2a671f2b89d0d79ae..c8398386701e5d7f0b5abbdf8338caff5d3e0396 100644 (file)
@@ -3687,7 +3687,7 @@ also turns on the following optimization flags:
 -fpeephole2 @gol
 -freorder-blocks  -freorder-functions @gol
 -fstrict-aliasing @gol
--funit-at-a-time @gol
+-funit-at-a-time -fweb @gol
 -falign-functions  -falign-jumps @gol
 -falign-loops  -falign-labels}
 
@@ -4378,6 +4378,15 @@ will most benefit processors with lots of registers.  It can, however,
 make debugging impossible, since variables will no longer stay in
 a ``home register''.
 
+@item -fweb
+@opindex fweb
+Constructs webs as commonly used for register allocation purposes and assign
+each web individual pseudo register.  This allows our register allocation pass
+to operate on pseudos directly, but also strengthens several other optimization
+passes, such as CSE, loop optimizer and trivial dead code remover.  It can,
+however, make debugging impossible, since variables will no longer stay in a
+``home register''.
+
 Enabled at levels @option{-O3}.
 
 @item -fno-cprop-registers
index 8418d1a96c2e3936923537fa5ab5b68d86588696..e4c9ad4549410f9c51c38f8670426237a3daf902 100644 (file)
@@ -1412,6 +1412,10 @@ common_handle_option (size_t scode, const char *arg,
     case OPT_fverbose_asm:
       flag_verbose_asm = value;
       break;
+
+    case OPT_fweb:
+      flag_web = value;
+      break;
       
     case OPT_fwrapv:
       flag_wrapv = value;