aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2006-02-01 21:31:29 +0100
committerRichard Sandiford <rsandifo@gcc.gnu.org>2006-02-01 20:31:29 +0000
commit46fd0f8c241a0afd36adf9c63b56839ace3a0210 (patch)
treeecd3a546850e19bf0c04f2e7dcfc4da28173a8ff /gcc
parent3f9e6aeda669b07b8f9dd2b93deda2f4bcc3ce86 (diff)
downloadgcc-46fd0f8c241a0afd36adf9c63b56839ace3a0210.zip
gcc-46fd0f8c241a0afd36adf9c63b56839ace3a0210.tar.gz
gcc-46fd0f8c241a0afd36adf9c63b56839ace3a0210.tar.bz2
opts.c (no_unit_at_a_time_default): New global variable.
2006-02-01 Jan Hubicka <jh@suse.cz> * opts.c (no_unit_at_a_time_default): New global variable. (decode_options): Use it. * opts.h (no_unit_at_a_time_default): Declare. java/ * decl.c (end_java_method): Kill hack disabling unit-at-a-time. * lang.c (java_init_options): Set no_unit_at_a_time_default. From-SVN: r110479
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/java/ChangeLog5
-rw-r--r--gcc/java/decl.c1
-rw-r--r--gcc/java/lang.c4
-rw-r--r--gcc/opts.c8
-rw-r--r--gcc/opts.h1
6 files changed, 23 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d9ebf25..1898c2a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2006-02-01 Jan Hubicka <jh@suse.cz>
+
+ * opts.c (no_unit_at_a_time_default): New global variable.
+ (decode_options): Use it.
+ * opts.h (no_unit_at_a_time_default): Declare.
+
2006-02-01 Paul Brook <paul@codesourcery.com>
* function.c (assign_parm_setup_reg): Use function argument promotion
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index f986030..39fb643 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,8 @@
+2006-02-01 Jan Hubicka <jh@suse.cz>
+
+ * decl.c (end_java_method): Kill hack disabling unit-at-a-time.
+ * lang.c (java_init_options): Set no_unit_at_a_time_default.
+
2006-01-30 Andrew Haley <aph@redhat.com>
PR java/21428
diff --git a/gcc/java/decl.c b/gcc/java/decl.c
index 7ef1325..65fa4c6 100644
--- a/gcc/java/decl.c
+++ b/gcc/java/decl.c
@@ -2072,7 +2072,6 @@ end_java_method (void)
attach_init_test_initialization_flags, block_body);
}
- flag_unit_at_a_time = 0;
finish_method (fndecl);
if (! flag_unit_at_a_time)
diff --git a/gcc/java/lang.c b/gcc/java/lang.c
index f435fde..3dc13c5 100644
--- a/gcc/java/lang.c
+++ b/gcc/java/lang.c
@@ -574,6 +574,10 @@ java_init_options (unsigned int argc ATTRIBUTE_UNUSED,
/* Java requires left-to-right evaluation of subexpressions. */
flag_evaluation_order = 1;
+ /* Unit at a time is disabled for Java because it is considered
+ too expensive. */
+ no_unit_at_a_time_default = 1;
+
jcf_path_init ();
return CL_Java;
diff --git a/gcc/opts.c b/gcc/opts.c
index 1218e99..91a5fc2 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -80,6 +80,11 @@ bool use_gnu_debug_info_extensions;
/* The default visibility for all symbols (unless overridden) */
enum symbol_visibility default_visibility = VISIBILITY_DEFAULT;
+/* Disable unit-at-a-time for frontends that might be still broken in this
+ respect. */
+
+bool no_unit_at_a_time_default;
+
/* Global visibility options. */
struct visibility_flags visibility_options;
@@ -538,7 +543,8 @@ decode_options (unsigned int argc, const char **argv)
flag_tree_copy_prop = 1;
flag_tree_sink = 1;
flag_tree_salias = 1;
- flag_unit_at_a_time = 1;
+ if (!no_unit_at_a_time_default)
+ flag_unit_at_a_time = 1;
if (!optimize_size)
{
diff --git a/gcc/opts.h b/gcc/opts.h
index 2c2340c..bfa9ccc 100644
--- a/gcc/opts.h
+++ b/gcc/opts.h
@@ -63,6 +63,7 @@ struct cl_option_state {
extern const struct cl_option cl_options[];
extern const unsigned int cl_options_count;
extern const char *const lang_names[];
+extern bool no_unit_at_a_time_default;
#define CL_DISABLED (1 << 21) /* Disabled in this configuration. */
#define CL_TARGET (1 << 22) /* Target-specific option. */