Commit Graph

70422 Commits

Author SHA1 Message Date
John David Anglin
3c0764fc1e re PR testsuite/23239 (gcc.dg/tree-prof/val-prof-5.c scan-tree-dump Div.mod by constant b..=997 transformation on insn fails)
PR testsuite/23239
	* gcc.dg/tree-prof/val-prof-5.c: Fix scan-tree-dump regexp.

From-SVN: r103305
2005-08-20 16:08:51 +00:00
Jakub Jelinek
5e34206b7e tree-pass.h (TDF_GRAPH): Define.
* tree-pass.h (TDF_GRAPH): Define.
	* tree-dump.c (dump_options): Don't set TDF_GRAPH in "all".
	* passes.c (finish_optimization_passes): Only call
	finish_graph_dump_file if TDF_GRAPH is set.
	(execute_one_pass): Only call clean_graph_dump_file if dump_file !=
	NULL.  Set TDF_GRAPH bit.
	(execute_todo): Call print_rtl_graph_with_bb if TDF_GRAPH is set.

	* gcc.dg/20050811-1.c: New test.
	* gcc.dg/20050811-2.c: New test.

From-SVN: r103304
2005-08-20 18:03:58 +02:00
Richard Earnshaw
b00d752c95 Makefile.def (libssp): Add to lang_env_dependencies.
* Makefile.def (libssp): Add to lang_env_dependencies.
	* Makefile.in: Regenerate.

From-SVN: r103303
2005-08-20 13:43:17 +00:00
Richard Earnshaw
7ad7d1f055 * gcc.dg/arm-eabi1.c (main): Exit with 0 on success.
From-SVN: r103302
2005-08-20 10:59:59 +00:00
Richard Earnshaw
2591db658c arm.h (arm_stack_offsets): Add locals_base field.
* arm.h (arm_stack_offsets): Add locals_base field.
	* arm.c (arm_get_frame_offsets): Compute it.
	(thumb_compute_initial_elimination offset): Make the Thumb frame
	pointer point to the base of the local variables.
	(thumb_expand_prologue): Update accordingly.
	(thumb_expand_epilogue): Likewise.

	* arm.md (thumb_movhi_clobber): Make this insn a define_expand.  Change
	mode of clobbered scratch to DImode.  Handle a case that's known to
	need this.

From-SVN: r103301
2005-08-20 10:31:42 +00:00
David Edelsohn
fc437ce97f rs6000.md (gt0<mode>): Delete.
* config/rs6000/rs6000.md (gt0<mode>): Delete.
        (gt0<mode>_compare): Delete.
        (neg_gt0<mode>): Delete.

From-SVN: r103300
2005-08-20 00:17:17 -04:00
GCC Administrator
cbd4e0b6e5 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r103297.2
2005-08-20 00:16:15 +00:00
Eric Christopher
c414ac1d70 optabs.h: Change CTI_ to COI_.
2005-08-19  Eric Christopher  <echristo@apple.com>

        * optabs.h: Change CTI_ to COI_.
        * optabs.c: Ditto.

From-SVN: r103295
2005-08-19 21:20:02 +00:00
James E Wilson
c8f27794b8 Fix uninitialized register read problem.
* builtins.c (expand_builtin_return_addr): Set
current_function_accesses_prior_frames when count != 0.  Use
frame_pointer_rtx when count == 0.
* function.h (struct function): Add accesses_prior_frames field.
(current_function_accesses_prior_frames): Define.
* reload1.c (init_elim_table): Check
current_function_accesses_prior_frames.
* doc/tm.texi (INITIAL_FRAME_ADDRESS_RTX): Update docs.

From-SVN: r103294
2005-08-19 14:16:20 -07:00
Volker Reichelt
48b5c5c173 parser.c (cp_parser_nth_token_starts_template_argument_list_p): Fix typo in leading comment.
* parser.c (cp_parser_nth_token_starts_template_argument_list_p):
	Fix typo in leading comment.

From-SVN: r103292
2005-08-19 19:08:08 +00:00
Diego Novillo
e3594cb39e tree-cfgcleanup.c (cleanup_tree_cfg): Fix flowgraph change indicator.
* tree-cfgcleanup.c (cleanup_tree_cfg): Fix flowgraph change
	indicator.  Return true if the flowgraph changed during
	cleanup.

From-SVN: r103291
2005-08-19 14:52:55 -04:00
Diego Novillo
52270a3cb5 re PR tree-optimization/23476 (ICE in VRP, remove_range_assertions)
PR 23476
	* tree-cfgcleanup.c (cleanup_control_expr_graph): Fold the
	conditional expression before testing its value.

	PR 23476
	* gcc.c-torture/compile/pr23476.c: New test.

From-SVN: r103290
2005-08-19 14:08:55 -04:00
Diego Novillo
5c1c631ecf * doc/invoke.texi: Fix documentation for -ftree-dominator-opts.
From-SVN: r103289
2005-08-19 14:00:25 -04:00
Devang Patel
3d91803a0b re PR tree-optimization/23048 (ICE in get_loop_body with -O1 -ftree-vectorize on 4.1.x)
PR tree-optimization/23048
       * tree-if-conv.c (if_convertible_bb_p): Supply basic_block as
       third parameter. Check whether latch is dominated by exit
       block or not.
       (if_convertible_loop_p): Supply exit block itself to
       if_convertible_bb_p.

       * gcc.dg/tree-ssa/pr23048.c: New test.

From-SVN: r103287
2005-08-19 10:54:16 -07:00
Richard Earnshaw
e55ef7f426 re PR target/23473 (ICE at config/arm/arm.c:3280)
PR target/23473
	* arm.md (arm_load_pic_register): Change argument to the mask of
	saved registers.  Call thumb_find_work_register if we need a
	scratch register on Thumb.
	(arm_expand_prologue): Pass empty register set to
	arm_load_pic_register.
	(thumb_expand_prologue): Pass live_regs_mask directly to
	arm_load_pic_register.
	* arm-protos.h (arm_load_pic_register): Update prototype.

From-SVN: r103277
2005-08-19 13:17:04 +00:00
Joern Rennecke
d102596bf8 sh.c (find_sole_member): New function.
* sh.c (find_sole_member): New function.
	(sh_gimplify_va_arg_expr): Use it. Allow RECORD_TYPE mode mismatch
	if the record's alignment is larger than the size of its only member.

From-SVN: r103276
2005-08-19 13:33:54 +01:00
Joern Rennecke
21bdb106e7 sh.c (find_sole_member): New function.
* sh.c (find_sole_member): New function.
	(sh_gimplify_va_arg_expr): Use it. Allow RECORD_TYPE mode mismatch
	if the record's alignment is larger than the size of its only member.

From-SVN: r103275
2005-08-19 13:25:58 +01:00
J"orn Rennecke
e27ce37987 atomicity.h: Replace broken generic code with current copy of generic/atomicity.h .
* config/cpu/sh/atomicity.h: Replace broken generic code with current
	copy of generic/atomicity.h .

From-SVN: r103274
2005-08-19 12:50:21 +01:00
Richard Earnshaw
a132dad65c re PR target/23436 (Insn does not satisfy its constraints (reload_cse_simplify_operands))
PR target/23436
	* arm.c (thumb_legitimize_reload_address): New function.
	* arm-protos.h (thumb_legitimize_reload_address): Add prototype.
	* arm.h (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Call it.

From-SVN: r103273
2005-08-19 09:20:31 +00:00
Tobias Schlüter
156afe1308 Fix changeLog typo
From-SVN: r103272
2005-08-19 11:05:36 +02:00
Steven G. Kargl
200cfbe7b9 re PR fortran/23065 (MAXPATHLEN usage in fortran/{scanner,module}.c)
2005-08-19  Steven G. Kargl  <kargls@comcast.net>

	PR fortran/23065
	* gfortran.h: Remove PATH_MAX definition.
	* module.c (write_module, gfc_dump_module): Use alloca to allocate
	buffers.
	* scanner.s (gfc_release_include_path, form_from_filename): Ditto.

From-SVN: r103271
2005-08-19 11:05:03 +02:00
Paul Woegerer
4221d00ae0 *** empty log message ***
From-SVN: r103270
2005-08-19 08:02:19 +00:00
Paul Woegerer
e95cfa3ba5 crx.c: Implemented crx_decompose_address (like in the i386 port) so that...
* config/crx/crx.c: Implemented crx_decompose_address (like in the
	  i386 port) so that crx_legitimate_address_p, crx_address_cost
	  and crx_print_operand_address are using the same code for adress
	  handling. Using symbolic displacements now gets rejected since
	  the CRX register relative adressing mode can't handle unsigned
	  32-bit values as displacements.
	* config/crx/crx.h: Simplified definitions for REG_OK_FOR_BASE_P,
	  removed redundant parenthesis and obsolete macros.
	* config/crx/crx.opt: Added a new switch for debugging of address
	  handling.
	* config/crx/crx-protos.h: Added new declarations for above.

From-SVN: r103269
2005-08-19 07:47:34 +00:00
Andrew Pinski
1581a9a177 re PR c++/20624 (wrong "control reaches end of non-void function" warning)
2005-08-19  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/20624
        * g++.dg/warn/Wreturn-3.C: New test

2005-08-19  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/20624
        * gimple-low.c (block_may_fallthru): Handle CLEANUP_POINT_EXPR by
        looking past it.

From-SVN: r103268
2005-08-18 22:41:13 -07:00
Andrew Pinski
c0975bc705 Makefile.am (extra_ldflags_libjava): New variable to substitute in.
2005-08-19  Andrew Pinski  <pinskia@physics.uc.edu>

        * Makefile.am (extra_ldflags_libjava): New variable to
        substitute in.
        (LIBLINK): Add extra_ldflags_libjava to it.
        * configure.ac (extra_ldflags_libjava): Set for *-darwin* to
        "-Wl,-single_module".
        * Makefile.in: Regenerate.
        * aclocal.m4: Regenerate.
        * configure: Regenerate.
        * gcj/Makefile.in: Regenerate.
        * include/Makefile.in: Regenerate.
        * testsuite/Makefile.in: Regenerate.

From-SVN: r103265
2005-08-18 22:14:13 -07:00
Kaveh R. Ghazi
52a6edcc1e collect2.c (dup2): Delete.
* collect2.c (dup2): Delete.
	* configure.ac: Don't check for dup2.

	* config.in, configure: Regenerate.

From-SVN: r103263
2005-08-19 01:20:34 +00:00
GCC Administrator
4958c162cb Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r103260.2
2005-08-19 00:16:24 +00:00
James E Wilson
2483ad581a Fix FreeBSD failure with recursive malloc call.
* mf-hooks1.c (malloc, calloc, realloc, free,
__mf_wrap_alloca_indirect): Call BEGIN_MALLOC_PROTECT before calling
the real routines, and END_MALLOC_PROTECT afterwards.
* mf-impl.h (enum __mf_state_enum): Expand comment.  Add in_malloc.
(BEGIN_PROTECT): Handle in_malloc state.
(BEGIN_MALLOC_PROTECT, END_MALLOC_PROTECT): New.
* testsuite/libmudflap.c/hook2-allocstuff.c: New.

From-SVN: r103256
2005-08-18 13:01:54 -07:00
Ian Lance Taylor
9ed8fb9bbc * MAINTAINERS: Add myself as middle-end maintainer.
From-SVN: r103255
2005-08-18 18:46:32 +00:00
J"orn Rennecke
8a2209bfdb sh.c (sh_gimplify_va_arg_expr): Loop to substitute a RECORD_TYPE record with the type of its only member.
* sh.c (sh_gimplify_va_arg_expr): Loop to substitute a RECORD_TYPE
	record with the type of its only member.

From-SVN: r103254
2005-08-18 17:42:25 +01:00
David Edelsohn
1e24ce8318 rs6000.md (ltu<mode>_compare): Convert to define_insn_and_split.
* config/rs6000/rs6000.md (ltu<mode>_compare): Convert to
	define_insn_and_split.
	(plus_ltu<mode>_compare): Same.
	(gtu<mode>_compare): Same.
	(plus_gtu<mode>_compare): Same.

From-SVN: r103253
2005-08-18 12:36:23 -04:00
Dorit Nuzman
90ff949ff7 re PR tree-optimization/22228 (ICE with -ftree-vectorize in verify_ssa)
PR tree-optimization/22228
        * tree-ssa-loop (pass_vectorize): Add TODO_verify_loops to todo_flags_start.
        * tree-vect-transform.c (vect_transform_loop): Mark the variables that
        are recorded in vect_vnames_to_rename for renaming.
        * tree-vectorizer.c (vect_vnames_to_rename): New global bitmap.
        (slpeel_update_phi_nodes_for_guard1): Record virtual vars for renaming
        in vect_vnames_to_rename.
        (vectorize_loops): Allocate and free the vect_vnames_to_rename bitmap.
        * tree-vectorizer.h (vect_vnames_to_rename): New extern variable.

From-SVN: r103252
2005-08-18 16:07:54 +00:00
Jan Hubicka
f17db6cd86 re PR c++/22034 (ICE on valid (local class), dwarf2)
PR c++/22034
	* cgraphunit.c (cgraph_varpool_assemble_pending_decls): Emit debug
	info only for local statics, not for member variables.

From-SVN: r103251
2005-08-18 15:22:46 +00:00
Volker Reichelt
4286d8cedb * tree-data-ref.c (analyze_siv_subscript_cst_affine): Fix comment typo.
From-SVN: r103248
2005-08-18 11:00:47 +00:00
Volker Reichelt
b06df647c8 * c-typeck.c (designator_errorneous): Rename to designator_erroneous.
From-SVN: r103247
2005-08-18 10:56:07 +00:00
Andrew Pinski
7563412918 re PR middle-end/16045 (ICE fold check: original tree changed by fold)
2005-08-18  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/16045
        * builtins.c (fold_builtin): Create a new NOP_EXPR all the time.

From-SVN: r103243
2005-08-17 22:01:43 -07:00
James E Wilson
9bc2a5cb82 Use TYPE_SIZE_UNIT consistently. Last patch was inconsistent.
* c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
array size check.

From-SVN: r103240
2005-08-17 17:21:28 -07:00
GCC Administrator
8858cd129e Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r103237.2
2005-08-18 00:16:22 +00:00
David Edelsohn
a2dba29155 rs6000.md (leu<mode>): Convert to mode macro.
* config/rs6000/rs6000.md (leu<mode>): Convert to mode macro.
        (leu<mode>_compare): Same.
        (plus_leu<mode>): Same.
        (neg_leu<mode>): Same.
        (and_neg_leu<mode): Same.
        (ltu<mode>_compare): Same.
        (plus_ltu<mode>): Same.
        (geu<mode>): Same.
        (geu<mode>_compare): Same.
        (plus_geu<mode>): Same.
        (neg_geu<mode>): Same.
        (and_neg_geu<mode>): Same.
        (plus_gt<mode>): Same.
        (gtu<mode>_compare): Same.
        (plus_gtu<mode>): Same.

From-SVN: r103233
2005-08-17 19:12:16 -04:00
Erik Christiansen
aa29dfeb70 Eliminate linker error with v850e code using interrupt_handler attribute.
* config/v850/lib1funcs.asm (callt_save_interrupt): Fix comment typos.
Move call_table_data to end.  Delete spurious .text.
(callt_save_all_interrupt): Fix comment typo.

From-SVN: r103231
2005-08-17 15:19:19 -07:00
James E Wilson
90e0c734fa Fix misoptimization of mask and shift.
PR target/21684
* config/mcore/mcore.h (SHIFT_COUNT_TRUNCATED): Define to 0.

Co-Authored-By: Kevin Winchester <winchester@amirix.com>

From-SVN: r103228
2005-08-17 14:43:49 -07:00
Tom Tromey
97b51fd08e class.c (make_class_data): Always emit JV_STATE_PRELOADING for class' initial state.
gcc/java:
	* class.c (make_class_data): Always emit JV_STATE_PRELOADING for
	class' initial state.
libjava:
	* java/lang/Class.h (_Jv_IsBinaryCompatibilityABI): Declare as
	friend.
	* include/jvm.h (_Jv_IsBinaryCompatibilityABI): New function.
	* testsuite/libjava.lang/bclink.java: New file.
	* testsuite/libjava.lang/bclink.out: New file.
	* link.cc (print_class_loaded): Changed ABI test to look at
	various _syms fields.

From-SVN: r103225
2005-08-17 20:44:10 +00:00
Uros Bizjak
87bb8864f6 re PR target/23268 (ICE using math functions log & rint, -ffast-math, -O1 (,2,3,s))
PR target/23268
	* config/i386/i386.md ("*fist<mode>2_1"): New pattern.
	("lrint<mode>2"): Change expander to use "*fist<mode>2_1" pattern.

From-SVN: r103224
2005-08-17 13:44:01 -07:00
Joern Rennecke
c26104e494 sh.c (sh_gimplify_va_arg_expr): Don't substitute a RECORD_TYPE record with the type of its only member if...
* sh.c (sh_gimplify_va_arg_expr): Don't substitute a RECORD_TYPE
	record with the type of its only member if the modes don't match.

From-SVN: r103223
2005-08-17 20:44:24 +01:00
J"orn Rennecke
dd0ae678ee * varasm.c (decode_reg_name): Skip empty aqdditional register names.
From-SVN: r103222
2005-08-17 20:25:12 +01:00
Mark Kettenis
e89b6c1c1e floatformat.c (floatformat_always_valid): Change type of last argument to `void *'.
[libiberty]
* floatformat.c (floatformat_always_valid): Change type of last
argument to `void *'.
(floatformat_i387_ext_is_valid): Likewise.
(floatformat_to_double): Change type of second argument to `const
void *'.
(floatformat_from_double): Change type of last argument to `void
*'.
(floatformat_is_valid): Change type of last argument to `const
void *'.
(ieee_test): Remove redundant casts.
[include]
* floatformat.h (struct floatformat): Change type of large
argument for is_valid member to `const void *'.
(floatformat_to_double): Change type of second argument to `const
void *'.
(floatformat_from_double): Change type of last argument to `void
*'.
(floatformat_is_valid): Change type of last argument to `const
void *'.

From-SVN: r103218
2005-08-17 13:30:47 -04:00
Christian Groessler
0f029d398b Makefile.tpl: (USUAL_CC_FOR_TARGET): Add missing trailing slash.
2005-08-17  Christian Groessler  <chris@groessler.org>

	* Makefile.tpl: (USUAL_CC_FOR_TARGET): Add missing trailing slash.
	* Makefile.in: Regenerate.

From-SVN: r103216
2005-08-17 15:59:29 +00:00
Zdenek Dvorak
d28cbb0767 tree-ssa-loop-im.c (MAX_LSM_NAME_LENGTH, [...]): New.
* tree-ssa-loop-im.c (MAX_LSM_NAME_LENGTH, lsm_tmp_name,
	lsm_tmp_name_length): New.
	(lsm_tmp_name_add, gen_lsm_tmp_name, get_lsm_tmp_name): New functions.
	(schedule_sm): Use get_lsm_tmp_name instead of "lsm_tmp".

From-SVN: r103215
2005-08-17 14:00:52 +00:00
Ulrich Weigand
39bd07e86e Added missing Changelog entry.
From-SVN: r103212
2005-08-17 11:27:03 +00:00
Ulrich Weigand
ec24698eaa config.gcc: Added z9-109 switch.
2005-08-16  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Andreas Krebbel  <krebbel1@de.ibm.com>

	* config.gcc: Added z9-109 switch.
	* config/s390/2084.md ("x_int", "x_agen", "x_lr", "x_la", "x_larl",
	"x_load", "x_store", "x_branch", "x_call", "x_mul_hi", "x_mul_sidi",
	"x_div", "x_sem", "x_cs", "x_vs", "x_stm", "x_lm", "x_other",
	"x_fsimpdf", "x_fsimpsf", "x_fdivdf", "x_fdivsf", "x_floaddf",
	"x_floadsf", "x_fstore_df", "x_fstoresf", "x_ftoi", "x_itof"): Enable
	for "z9_109" cpu attribute.
	* config/s390/s390.c (z9_109_cost): New processor cost structure.
	(CONST_OK_FOR_Os, CONST_OK_FOR_Op, CONST_OK_FOR_On): New macros.
	(s390_handle_arch_option): Added z9-109 switch.
	(override_options): Set respective cost function for z9-109.
	(s390_const_ok_for_constraint_p): New constraints Os, Op, On.
	(legitimate_reload_constant_p): Accept extended immediates.
	(print_operand): Three new output modifiers added: k, m and o.
	(s390_adjust_priority, s390_issue_rate): Handle Z9_109 like Z990.
	(s390_output_mi_thunk): Use extended immediate when possible.
	* config/s390/s390.h (processor_flags): Added PF_EXTIMM.
	(TARGET_CPU_EXTIMM, TARGET_EXTIMM): New macros.
	(CONSTRAINT_LEN): Added length of O constraint.
	(CLZ_DEFINED_VALUE_AT_ZERO): Definition added.
	* config/s390/s390.md ("cpu"): New value z9_109 added.
	("*tstdi_extimm", "*tstdi_ccconly_extimm", "*tstsi_extimm",
	"*tstsi_cconly_extimm", "*movdi_64extimm", "*extendhidi2_extimm",
	"*extendqidi2_extimm", "*extendhisi2_extimm", "*extendqisi2_extimm",
	"*zero_extend<mode>si2_extimm", "*anddi3_extimm", "*iordi3_extimm",
	"*xordi3_extimm", "clzdi2", "clztidi2"): New patterns.
	("*tstdi", "*tstsi", "*movdi_64", "*extendhisi2", "*extendqisi2",
	"*zero_extend<mode>si2_64", "zero_extendqihi2", "*zero_extendqihi2_64",
	"*anddi3", "*iordi3", "*xordi3"): Disable for TARGET_EXTIMM.
	("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccs", "*cmpsi_ccs", "*cmpdi_ccu",
	"*cmpsi_ccu", "*movsi_zarch", "*adddi3_imm_cc", "*adddi3_carry1_cc",
	"*adddi3_carry2_cc", "*adddi3_cc", "*adddi3_64", "*addsi3_imm_cc",
	"*addsi3_carry1_cc", "*addsi3_carry2_cc", "*addsi3_cc", "addsi3",
	"*andsi3_cc", "*andsi3_cconly", "*andsi3_zarch", "*iorsi3_cc",
	"*iorsi3_cconly", "*iorsi3_zarch", "*xorsi3_cc", "*xorsi3_cconly",
	"*xorsi3", "*xorhi3", "*xorqi3"): Added instruction using extended
	immediates.
	("extend<mode>di2", "extend<mode>si2", "zero_extend<mode>di2",
	"zero_extend<mode>si2"): Allow memory operands and don't manually emit
	insns for TARGET_EXTIMM.

From-SVN: r103211
2005-08-17 11:11:05 +00:00