diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 747e2f52696fa25c5dc9dffa512904e678a74728..0605af928d5ab58a987623b18e1a8cecfbe5aaeb 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+Tue Mar  4 11:30:04 CET 2003  Jan Hubicka  <jh@suse.cz>
+
+	* doc/invoke.texi:  Document that unit-at-a-time is enabled for -O3
+	* toplev.c (parse_options_and_default_flags): Enable flag_unit_at_a_time
+	for -O3.
+
 2003-03-04  Nathanael Nerode  <neroden@gcc.gnu.org>
 
 	* configure.in: Delete three unused variables.  Move a variable
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 339b198b0cfabf5415f3c1b9cf0b697885b54e0a..e6c67d81daf7db44379dc54b756b914871304150 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -5017,6 +5017,7 @@ parse_options_and_default_flags (argc, argv)
       flag_inline_functions = 1;
       flag_rename_registers = 1;
       flag_unswitch_loops = 1;
+      flag_unit_at_a_time = 1;
     }
 
   if (optimize < 2 || optimize_size)