Commit Graph

68557 Commits

Author SHA1 Message Date
Zdenek Dvorak
ed9c043b26 tree-ssa-loop-im.c (struct mem_ref): Add field "next".
* tree-ssa-loop-im.c (struct mem_ref): Add field "next".
	(struct hmr_data, hoist_memory_reference, memref_del,
	struct fmrv_data): Removed.
	(hoist_memory_references, free_mem_ref, free_mem_refs): New functions.
	(gather_mem_refs, gather_mem_refs_stmt): Add new references to the
	list.
	(find_more_ref_vops): Traverse the list of memory references.
	(determine_lsm_loop): Work with the list of memory references instead
	of traversing the hashtable.

From-SVN: r99627
2005-05-12 19:41:10 +00:00
Steve Ellcey
dbaef7e22b libiberty.h: Do not define empty basename prototype.
From-SVN: r99626
2005-05-12 19:29:53 +00:00
Steven Bosscher
98f464e058 except.c (duplicate_eh_region_1, [...]): New functions, based on old implementation removed with RTL inliner.
* except.c  (duplicate_eh_region_1, duplicate_eh_region_2,
	duplicate_eh_regions): New functions, based on old
	implementation removed with RTL inliner.
	(reachable_next_level): Modify behaviour pre-inline.
	* except.h (duplicate_eh_regions_map, duplicate_eh_regions):
	Declare.
	* function.h (struct function): Add after_inlining flag.
	* tree-optimize.c (tree_rest_of_compilation): Set it.
	* tree-eh.c (add_stmt_to_eh_region_fn): Initialize hashtable
	when needed.
	* tree-cfg.c (label_to_block_fn): Deal with cases where
	label was never insterted into code.

Co-Authored-By: Jan Hubicka <jh@suse.cz>
Co-Authored-By: Stuart Hastings <stuart@apple.com>

From-SVN: r99625
2005-05-12 19:29:21 +00:00
Zack Weinberg
1ed17cd539 directives.c (#sccs table entry): Mark IN_I, consistent with #ident.
libcpp:
	* directives.c (#sccs table entry): Mark IN_I, consistent with #ident.
	(do_sccs): Delete function definition, #define to do_ident.
	(do_ident): Don't hardwire directive name.
gcc:
	* doc/cpp.texi: Document that #sccs is a synonym for #ident.

From-SVN: r99623
2005-05-12 18:31:38 +00:00
Tobias Schlüter
4588b60480 * trans-types.c (gfc_is_nodesc_array): Remove redundant check.
From-SVN: r99621
2005-05-12 20:19:37 +02:00
Thomas Koenig
c42a19d5e3 re PR libfortran/21324 (#undef GFC_CLEAR_MEMORY causes testsuite failures)
2005-05-12  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/21324
        * runtime/memory.c:  Don't define GFC_CLEAR_MEMORY (it's a
        performance hog).
        * io/open.c (new_unit): Zero freshly allocated memory for
        unit structure.
        * io/unit.c (init_units):  Zero freshly allocated memory for
        STDIN, STDOUT and STDERR.
        * io/unix.c (open_internal):  Zero freshly allocated memory
        for unix_stream.
        (fd_to_stream):  Likewise.

From-SVN: r99619
2005-05-12 17:50:33 +00:00
Daniel Berlin
7cc70b5e3c re PR tree-optimization/21532 (ICE caused by PRE dead instruction removal)
2005-05-12  Daniel Berlin  <dberlin@dberlin.org>

	Fix PR tree-optimization/21532
	* tree-ssa-pre.c (create_expression_by_pieces): stmt
	needs to go onto the inserted_exprs list.

From-SVN: r99617
2005-05-12 17:11:16 +00:00
Ian Lance Taylor
feea5b18cc c-common.h (statement_code_p): Don't declare.
./:	* c-common.h (statement_code_p): Don't declare.
	(STATEMENT_CODE_P): Don't define.
	(INIT_STATEMENT_CODES): Don't define.
	* c-common.c (statement_code_p): Don't define.
cp/:
	* cp-tree.h (cp_stmt_codes): Don't define.
	(statement_code_p): Declare.
	(STATEMENT_CODE_P): Define.
	* lex.c (statement_code_p): Define.
	(cxx_init): Use actual codes in stmt_codes initializer, not
	cp_stmt_codes macro.  Initialize statement_code_p directly, rather
	than using INIT_STATEMENT_CODES.

From-SVN: r99615
2005-05-12 13:06:15 +00:00
Ryota Kunisawa
5a8c20ce52 re PR bootstrap/21230 (bootstrap failed unless bootstrap compiler is gcc.)
config/
        PR bootstrap/21230
        * warnings.m4 (ACX_PROG_CC_WARNING_ALMOST_PEDANTIC): Add
        double quotes around GCC variable.

libcpp/
        PR bootstrap/21230
        * configure: Regenerate.

From-SVN: r99613
2005-05-12 12:22:08 +00:00
Eric Botcazou
47bebcf3ba Revert latest accidental commit.
From-SVN: r99610
2005-05-12 12:07:07 +00:00
Eric Botcazou
f8ece00085 sparc.h: Remove dead code.
* config/sparc/sparc.h: Remove dead code.
	* config/sparc/sparc.c (sparc_compute_frame_size): Use
	FIRST_PARM_OFFSET for the size of the register window area.
	(emit_save_regs): Rename into emit_save_or_restore_regs.
	Add 'action' parameter.  Use 4095 as upper bound for the offset.
	Pass 'action' to save_or_restore_regs.
	(emit_restore_regs): Delete.
	(sparc_expand_prologue): Call emit_save_or_restore_regs.
	(sparc_expand_epilogue): Likewise.
	* config/sparc/sparc.md (mode macro P): Move.
	(movdi_insn_sp32_v9, movdi_insn_sp32): Swap.
	(mov<V32:mode> expander): Move to the top of the V32 section.
	(movdf_insn_sp32_v9_no_fpu, movdf_insn_sp32_v9): Swap.
	(movtf_insn_sp64_hq, movtf_insn_sp64): Swap.
	(sibcall_epilogue): Move.

From-SVN: r99609
2005-05-12 11:43:05 +00:00
Richard Earnshaw
fa2c88a05b re PR target/21501 (ICE in extract_insn, at recog.c:2082)
PR target/21501
	* arm.c (arm_gen_constant): Sign-extend intermediate values when
	synthesizing a constant of the difference of two immediates.

From-SVN: r99608
2005-05-12 10:36:03 +00:00
Richard Earnshaw
81632f1168 vfp.md (negsf2_vfp): Add alternative using integer registers.
* arm/vfp.md (negsf2_vfp): Add alternative using integer registers.
	(negdf2_vfp): Likewise.  Convert to define_insn_and_split and split
	the alternatives using integer registers into the appropriate
	primitives.

From-SVN: r99607
2005-05-12 08:05:11 +00:00
Eli Zaretskii
5db1c53105 pex-djgpp.c: Include string.h, fcntl.h, unistd.h, and sys/stat.h.
2005-05-11  Eli Zaretskii  <eliz@gnu.org>

	* pex-djgpp.c: Include string.h, fcntl.h, unistd.h, and
	sys/stat.h.
	(pex_init): Fix last argument to pex_init_common.
	(pex_djgpp_exec_child): Remove leading underscore from _open,
	_dup, _dup2, _close, and _spawnv/_spawnvp.  Replace `program',
	which is undeclared, with `executable', which was unused.  Remove
	unused variable `e'.  Fix casting of last arg to spawnv/spawnvp.
	(pex_djgpp_wait): Declare arguments with ATTRIBUTE_UNUSED.

From-SVN: r99606
2005-05-12 03:44:58 +00:00
Kenneth Zadeck
5765e55258 bitmap.c (bitmap_elmt_to_freelist, [...]): Changed freelist structure.
2005-05-11 Kenneth Zadeck <zadeck@naturalbridge.com>

	* bitmap.c (bitmap_elmt_to_freelist, bitmap_element_allocate,
	bitmap_elt_clear_from, bitmap_clear): Changed freelist structure.
	* bitmap.h: Fixed comments.

From-SVN: r99605
2005-05-12 03:01:44 +00:00
Tom Tromey
cca1655eab gcj.texi (Code Generation): Document -fbootstrap-classes.
gcc/java:
	* gcj.texi (Code Generation): Document -fbootstrap-classes.
	* decl.c (GCJ_BOOTSTRAP_LOADER_ADDITION): New macro.
	(parse_version): Use it.
	* lang.opt (-fbootstrap-classes): New option.
libjava:
	* external/w3c_dom/Makefile.in: Rebuilt.
	* external/w3c_dom/Makefile.am (libw3c_gcj_la_GCJFLAGS): Added
	-fbootstrap-classes.
	* external/sax/Makefile.in: Rebuilt.
	* external/sax/Makefile.am (libsax_gcj_la_GCJFLAGS): Added
	-fbootstrap-classes.
	* java/lang/Class.h (_Jv_CopyClassesToSystemLoader): Declare as
	friend.
	* java/lang/natVMClassLoader.cc (getSystemClassLoaderInternal):
	Call _Jv_CopyClassesToSystemLoader.
	* java/lang/natClassLoader.cc (system_class_list): New global.
	(_Jv_RegisterClassHookDefault): Handle bootstrap and system
	classes differently.
	(_Jv_CopyClassesToSystemLoader): New function.
	(SYSTEM_LOADER_INITIALIZED): New define.
	* include/jvm.h (GCJ_BOOTSTRAP_LOADER_ADDITION): New define.
	(_Jv_CheckABIVersion): Use it.
	(_Jv_ClassForBootstrapLoader): New function.
	* Makefile.in: Rebuilt.
	* Makefile.am (AM_GCJFLAGS): Added -fbootstrap-classes.

From-SVN: r99604
2005-05-12 01:27:15 +00:00
GCC Administrator
cd0b240bf1 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r99602.2
2005-05-12 00:16:20 +00:00
Tobias Schlüter
b160dd2803 re PR fortran/21260 (Conflict between comment and H edit descriptor)
fortran/
	PR fortran/21260
	* io.c (check_format): Look for literal characters inside
	hollerith constant.
testsuite/
	PR fortran/21260
	* gfortran.dg/hollerith_1.f90: New test.

From-SVN: r99597
2005-05-12 00:32:04 +02:00
Richard Henderson
5e6c8b6428 re PR target/21412 (ICE loading TLS address)
PR target/21412
        * config/ia64/ia64.c (TARGET_CANNOT_FORCE_CONST_MEM): New.
        (ia64_cannot_force_const_mem): New.
        (tls_symbolic_operand_type): New.
        (ia64_legitimate_constant_p): New.
        (ia64_expand_load_address): Return true on success.  Improve
        checks for when we should not split.
        (ia64_expand_tls_address): New addend operand.  Distribute it
        as appropriate to the tls_kind.  Delay referencing gp.
        (ia64_expand_move): Split symbolic addend as necessary.  Handle
        tls symbols with addends.
        * config/ia64/ia64-protos.h: Update.
        * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): False for r0,
        p0, f0, f1, and r13.
        (LEGITIMATE_CONSTANT_P): Move to ia64_legitimate_constant_p.
        * config/ia64/ia64.md (UNSPEC_DTPMOD): New.
        (symbolic_operand splitter): Pass everything through
        ia64_expand_load_address and FAIL or DONE as appropriate.
        (load_fptr): Only accept after reload.
        (load_fptr_internal1, gprel64_offset, load_gprel64, load_symptr_high,
        load_symptr_low, load_ltoff_dtpmod,
        (load_dtpmod): New.
        (load_dtprel): Only accept tls symbols.
        (load_dtprel64, load_dtprel22): Likewise.
        (load_tprel, load_tprel64, load_tprel22): Likewise.
        (load_dtprel_gd, load_ltoff_dtprel, load_tprel_ie): New.
        (add_dtprel): Only accept tls symbols.  Canonicalize PLUS.
        (add_dtprel14, add_dtprel22): Likewise.
        (add_tprel, add_tprel14, add_tprel22): Likewise.
        * config/ia64/predicates.md (small_addr_symbolic_operand): New.
        (any_offset_symbol_operand, aligned_offset_symbol_operand): New.
        (got_symbolic_operand): Check CONST offsets.
        (tls_symbolic_operand, ld_tls_symbolic_operand): New.
        (ie_tls_symbolic_operand, le_tls_symbolic_operand): New.
        (move_operand): Don't handle tls here.  Check CONST offsets.

From-SVN: r99596
2005-05-11 14:34:19 -07:00
Richard Sandiford
b331525311 7000.md (rm7_impy_si_mult): Just match imul and imadd.
* config/mips/7000.md (rm7_impy_si_mult): Just match imul and imadd.
	Remove hilo_operand check.
	(rm7_impy_si_mul): Just match imul3.  Remove hilo_operand check.
	* config/mips/predicates.md (hilo_operand): Delete.

From-SVN: r99592
2005-05-11 20:03:39 +00:00
Richard Sandiford
a8cdbec028 * config/mips/sr71k.md, config/mips/7000.md: Reformat.
From-SVN: r99591
2005-05-11 19:02:35 +00:00
Kazu Hirata
f8535b4dcb re PR tree-optimization/18472 (TREE_OPERAND (t, 1) is referenced for t being GOTO_EXPR)
PR tree-optimizer/18472
	* tree-if-conv.c (tree_if_convert_stmt,
	if_convertible_modify_expr_p): Don't handle GOTO_EXPR.

From-SVN: r99588
2005-05-11 18:27:33 +00:00
Tobias Schlüter
3da7937d88 Fix incomplete ChagneLog from previous checkin.
From-SVN: r99586
2005-05-11 19:04:32 +02:00
Jan Hubicka
b4660e5a25 Makefile.in (tree-eh.o): Kill gt-tree-eh.h dependency.
* Makefile.in (tree-eh.o: Kill gt-tree-eh.h dependency.
	(GTFILES): add except.h.
	* except.c (eh_status): Add throw_stmt_table.
	(set_eh_throw_stmt_table, get_eh_throw_stmt_table): New functions.
	* except.h (add_stmt_to_eh_region_fn, remove_stmt_from_eh_region_fn,
	lookup_stmt_eh_region_fn): Declare.
	(throw_stmt_node): New structure.
	(set_eh_throw_stmt_table, get_eh_throw_stmt_table): New.
	* gengtype.c (open_base_files): Add except.h to inlines.
	* tree-eh.c (throw_stmt_node): Kill.
	(record_stmt_eh_region): Update.
	(add_stmt_to_eh_region_fn): Break out from ...
	(add_stmt_to_eh_region): ... here.
	(remove_stmt_from_eh_region_fn): Break out from ...
	(remove_stmt_from_eh_region): ... here.
	(lookup_stmt_eh_region_fn): Break out from ...
	(lookup_stmt_eh_region): ... here.
	(honor_protect_cleanup_actions): Use build_resx.
	(lower_try_finally_onedest): Likewise.
	(lower_try_finally_copy): Likewise.
	(lower_try_finally_switch): Likewise.
	(lower_eh_constructs): Update eh table construction.
	* tree.c (build_resx): New.
	* tree.h (build_resx): Declare.

From-SVN: r99585
2005-05-11 16:25:30 +00:00
H.J. Lu
3ca48b3e72 libgcov.c (gcov_exit): Set prefix_length to 0 if no relocation is needed.
2005-05-11  H.J. Lu  <hongjiu.lu@intel.com>

	* libgcov.c (gcov_exit): Set prefix_length to 0 if no relocation
	is needed.

From-SVN: r99584
2005-05-11 09:08:27 -07:00
Kazu Hirata
78f4111d6a tree-ssa-forwprop.c (forward_propagate_into_cond_1): Remove redundant code.
* tree-ssa-forwprop.c (forward_propagate_into_cond_1): Remove
	redundant code.

From-SVN: r99583
2005-05-11 16:06:36 +00:00
Kazu Hirata
9d6aab7ef8 * fold-const.c, libgcov.c: Fix comment typos.
From-SVN: r99582
2005-05-11 15:21:28 +00:00
Daniel Jacobowitz
a15900b51c linux-elf.h (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
* config/arm/linux-elf.h (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
	* config/arm/arm.h (SUBTARGET_FRAME_POINTER_REQUIRED): Provide
	default definition.
	(FRAME_POINTER_REQUIRED): Use SUBTARGET_FRAME_POINTER_REQUIRED.

From-SVN: r99581
2005-05-11 14:59:09 +00:00
Tobias Schlüter
09e7f68631 resolve.c (resolve_symbol): Copy 'pointer' and 'dimension' attribute from result symbol to function symbol.
fortran/
	* resolve.c (resolve_symbol): Copy 'pointer' and 'dimension'
	attribute from result symbol to function symbol.
testsuite/
	* gfortran.dg/func_result_2.f90: New test.

From-SVN: r99580
2005-05-11 16:52:51 +02:00
Nathan Sidwell
9d48ad93c6 re PR bootstrap/21481 (crtstuff.c should not include auto-host.h)
PR bootstrap/21481
	* crtstuff.c: Include auto-host.h again, for now.

From-SVN: r99579
2005-05-11 13:40:12 +00:00
Richard Sandiford
99917bc339 * config/mips/24k.md: Remove trailing whitespace.
From-SVN: r99578
2005-05-11 13:08:50 +00:00
David Ung
95177e1760 mips.md (type): Add imul3.
* config/mips/mips.md (type): Add imul3.
	(length, hazard, may_clobber_hilo): Check for imul3.
	(mulsi3_mult3, muldi3_mult3, *muls, <su>mulsi3_highpart_mulhi_internal)
	(*<su>mulsi3_highpart_neg_mulhi_internal): Set attr to imul3.
	* config/mips/24k.md (r24k_int_mul3): Enable this reservation
	for a 3 operand mul and its bypasses.
	* config/mips/3000.md (r3k_imul): Add imul3 to reservations.
	* config/mips/4000.md (r4k_imul): Likewise.
	* config/mips/4100.md (r4100_imul_si, r4100_imul_di):  Likewise.
	* config/mips/4130.md (vr4130_class, vr4130_mulsi)
	(vr4130_muldi): Likewise.
	* config/mips/4300.md (r4300_imul_si, r4300_imul_di): Likewise.
	* config/mips/4600.md (r4600_imul, r4650_imul): Likewise.
	* config/mips/5000.md (r5k_imul_si, r5k_imul_di): Likewise.
	* config/mips/5400.md (ir_vr54_imul_si, ir_vr54_imul_di)
	(ir_vr54_imadd_si): Likewise.
	* config/mips/5500.md (ir_vr55_imul_si, ir_vr55_imul_di):  Likewise.
	* config/mips/7000.md (rm7_impy_si_mult, rm7_impy_si_mul)
	(rm7_impy_di): Likewise.
	* config/mips/9000.md (rm9k_mulsi, rm9k_muldi):  Likewise.
	* config/mips/generic.md (generic_imul): Likewise.
	* config/mips/sb1.md (ir_sb1_mulsi, ir_sb1_muldi): Likewise.
	* config/mips/sr71k.md (ir_sr70_imul_si, ir_sr70_imul_di):  Likewise.

From-SVN: r99577
2005-05-11 12:52:58 +00:00
J"orn Rennecke
cbbaf4aefa re PR middle-end/20371 (Some corner cases of MS bitfields don't work)
PR middle-end/20371:
	* tree.h (record_layout_info_s): New member prev_packed.
	* stor-layout.c (update_alignment_for_field): Fix comment about
	KNOWN_ALIGN.  For MS bitfields, if we start a new run, make sure
	we start it properly aligned.
	(place_field): At the beginning of a record, pass 0 as KNOWN_ALIGN
	to update_alignment_for_field, and recompute it afterwards using
	the alignment of the record.
	When a packed bitfield precedes an MS bitfield, don't add padding
	at the end of the packed bitfield on behalf of the base type of
	the packed bit field.
	Don't adjust rli->bitpos at the end
	of an MS bitfield run if we already adjusted bitpos/offset for an
	alignment as large or larger than the bitfield type size.
	Take possible record alignment > BIGGEST_ALIGNMENT into account
	when calculating actual_align.
	Only put packed buit fields into rli->prev_field if they end up
	suitably aligned.
	Also set rli->remaining_in_alignment when we re-set rli->prev_field.
	Update rli->remaining_in_alignment when we have already started a
	run of bit fields and we process a packed bit field.

From-SVN: r99574
2005-05-11 13:24:43 +01:00
Sebastian Pop
4aad410db7 tree-data-ref.c (find_data_references_in_loop): Give up when the body of the loop contains a CALL_EXPR or an ASM_EXPR...
* tree-data-ref.c (find_data_references_in_loop): Give up when
	the body of the loop contains a CALL_EXPR or an ASM_EXPR: they
	may embed arbitrary side effects.
	Remove the assumption that GIMPLE form contains a single array
	access per statement.
	When the statement contains virtual operands, fail if it is not
	a MODIFY_EXPR or a CALL_EXPR.
	Return after the dont know node is inserted.

From-SVN: r99573
2005-05-11 11:03:31 +00:00
Bud Davis
802fc8260d re PR libfortran/19478 (reading back from /dev/null)
PR fortran/19478
	* io/unix.c (fd_truncate): update positions when ftruncate
	fails (like writing to /dev/null).
	* gfortran.dg/dev_null.f90: New test.

From-SVN: r99570
2005-05-11 10:34:05 +00:00
Richard Earnshaw
5a942c07c2 arm.md (negsf2, negdf2): Permit these expands when compiling for VFP.
* arm.md (negsf2, negdf2): Permit these expands when compiling for VFP.
	* gcc.dg/arm-vfp1.c: Revert last change.

From-SVN: r99569
2005-05-11 10:13:23 +00:00
Richard Guenther
c554294001 re PR middle-end/19807 (fold does not fold &a[4]-1)
2005-05-11  Richard Guenther  <rguenth@gcc.gnu.org>

	PR middle-end/19807
	PR tree-optimization/19639
	* fold-const.c (try_move_mult_to_index): Handle INTEGER_CST
	and generic summands for char* as s * delta, too, folding &a[i]
	CODE x to &a[i CODE x/s].  Use tree_int_cst_equal
	for comparison of steps.  Convert types for index addition.
	(fold_binary): Adjust the callers to always dispatch to
	try_move_mult_to_index.
	* tree-ssa-propagate.c (set_rhs): Avoid setting rhs to
	expr with non-gimple ARRAY_REF offset.

	* g++.dg/tree-ssa/pr19807.C: New testcase.

From-SVN: r99568
2005-05-11 08:14:44 +00:00
Richard Guenther
8a29ce604b fold-const.c (fold_indirect_ref_1): Avoid removing NOP_EXPRs with type qualifiers like const.
2005-05-11  Richard Guenther  <rguenth@gcc.gnu.org>

	* fold-const.c (fold_indirect_ref_1): Avoid removing
	NOP_EXPRs with type qualifiers like const.

From-SVN: r99566
2005-05-11 07:43:33 +00:00
Richard Henderson
317a9ac39e re PR c/21502 (small data relocation mismatch)
PR c/21502
        * c-decl.c (finish_decl): Propagate the completed array type of
        a global variable into the binding.

From-SVN: r99563
2005-05-11 00:33:31 -07:00
Francois-Xavier Coudert
da32fddcb6 re PR libfortran/21471 ('POSITION = "APPEND"' doesn't seem to work)
PR libfortran/21471
	* open.c (new_unit): Take care of the case where POSITION_APPEND
	is specified (sseek to the end, and set u>-endfile).
	* gfortran.dg/append-1.f90: New test.

From-SVN: r99560
2005-05-11 05:56:20 +00:00
Matt Kraai
939176ab43 * Makefile.in (gtype-desc.o, build/genautomata.o)
(build/varray.o): Depend on $(VARRAY_H).

From-SVN: r99559
2005-05-11 05:01:34 +00:00
Diego Novillo
9a8cb141dc tree-optimize.c (init_tree_optimization_passes): Re-organize optimization passes to do an initial batch of scalar cleanups.
* tree-optimize.c (init_tree_optimization_passes): Re-organize
	optimization passes to do an initial batch of scalar cleanups.

testsuite/ChangeLog

	* gcc.dg/pr18501.c: XFAIL.
	* gcc.dg/tree-ssa/loop-4.c: Fix expected pattern.
	* gcc.dg/tree-ssa/pr20913.c: Change to link-time test.
	* gcc.dg/tree-ssa/ssa-ccp-2.c: Change to a .optimized scan.
	* gcc.dg/tree-ssa/ssa-ccp-7.c: Likewise.
	* gcc.dg/tree-ssa/ssa-ccp-9.c: Likewise.
	* gcc.dg/tree-ssa/ssa-dom-ccp-1.c: Likewise.
	* gcc.dg/tree-ssa/ssa-pre-7.c: Change to a .fre scan.
	* gcc.dg/tree-ssa/ssa-pre-8.c: Likewise.

From-SVN: r99558
2005-05-10 22:24:44 -04:00
Paul Brook
bd7d50f8b1 Makefile.in: Regenerate dependencies.
2005-05-11  Paul Brook  <paul@codesourcery.com>

	* Makefile.in: Regenerate dependencies.

From-SVN: r99556
2005-05-11 01:39:32 +00:00
GCC Administrator
579714d0b0 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r99553.2
2005-05-11 00:16:18 +00:00
Ian Lance Taylor
f30990b2ee read-rtl.c (struct macro_traverse_data): Define.
* read-rtl.c (struct macro_traverse_data): Define.
	(map_attr_string): New static function, broken out of
	apply_macro_to_string.
	(mode_attr_index, apply_mode_maps): New static functions.
	(apply_macro_to_string): Call map_attr_string.
	(apply_macro_to_rtx): Add mode_maps and infile parameters.  Change
	all callers.
	(apply_macro_traverse): Expect data to point to a struct
	macro_traverse_data.
	(read_rtx): Add mode_maps local variable.  Use mode_traverse_data
	to pass data through htab_traverse.
	(read_rtx_1): Add mode_maps parameter.  Change all callers.
	Handle mode names which are attribute strings.
	* doc/md.texi (Substitutions): Rename from String Substitutions.
	Change references.  Document using attributes as modes.

From-SVN: r99548
2005-05-10 22:40:37 +00:00
Zdenek Dvorak
5deaef19e6 tree-cfg.c (tree_duplicate_sese_region): Update profile.
* tree-cfg.c (tree_duplicate_sese_region): Update profile.
	* tree-optimize.c (init_tree_optimization_passes) Swap
	pass_ch and pass_profile.
	* tree-ssa-loop-ch.c (copy_loop_headers): Do not update profile
	here.  Remove rewrite_into_loop_closed_ssa call.

From-SVN: r99547
2005-05-10 22:33:30 +00:00
Tobias Schlüter
e0bba0931d * gfortran.dg/return_1.f90: Fix dg annotation.
From-SVN: r99546
2005-05-11 00:32:38 +02:00
Tobias Schlüter
a226fc2b9c Fix previous buggy checkin to invoke.texi.
From-SVN: r99545
2005-05-11 00:12:04 +02:00
Tobias Schlüter
973ff4c052 re PR fortran/20178 (COMPLEX function returns incompatible with g77)
gcc/fortran/
	PR fortran/20178
	* gfortran.h (gfc_option): Add flag_f2c.
	* invoke.texi: Document '-ff2c' command line option.  Adapt
	documentation for '-fno-second-underscore' and '-fno-underscoring'.
	* lang.opt (ff2c): New entry.
	* options.c (gfc-init_options): Set default calling convention
	to -fno-f2c.  Mark -fsecond-underscore unset.
	(gfc_post_options): Set -fsecond-underscore if not explicitly set
	by user.
	(handle_options): Set gfc_option.flag_f2c according to requested
	calling	convention.
	* trans-decl.c (gfc_get_extern_function_decl): Use special f2c
	intrinsics where necessary.
	(gfc_trans_deferred_vars): Change todo error to	assertion.
	* trans-expr.c (gfc_conv_variable): Dereference access
	to hidden result argument.
	(gfc_conv_function_call): Add hidden result argument to argument
	list if f2c calling conventions requested.  Slightly restructure
	tests.  Convert result of default REAL function to requested type
	if f2c calling conventions are used.  Dereference COMPLEX result
	if f2c cc are used.
	* trans-types.c (gfc_sym_type):  Return double for default REAL
	function if f2c cc are used.
	(gfc_return_by_reference): Slightly restructure logic.  Return
	COMPLEX by reference depending on calling conventions.
	(gfc_get_function_type): Correctly make hidden result argument a
	pass-by-reference argument for COMPLEX.  Remove old code which does
	this for derived types.
libgfortran/
	PR fortran/20178
	* Makefile.am (gfor_specific_src): Add 'intrinsics/f2c_intrinsics.F90'
	to dependencies.
	* Makefile.in: Regenerate.
	* intrinsics/f2c_specific.F90: New file.
gcc/testsuite/
	PR fortran/20178
	* gfortran.dg/f2c_1.f90, gfortran.dg/f2c_2.f90,
	gfortran.dg/f2c_3.f90: New tests.

From-SVN: r99544
2005-05-11 00:06:55 +02:00
Adrian Straetling
d096725d26 s390.c: (s390_const_double_ok_for_constraint_p): New function.
2005-05-10  Adrian Straetling  <straetling@de.ibm.com>

	* config/s390/s390.c: (s390_const_double_ok_for_constraint_p): New
	function.
	(legitimate_reload_constant_p): Add check for const double zero.
	* config/s390/s390.md: Add comment for constraint letter 'G'.
	("*movdf_64", "*movdf_31", "movsf"): Add constraint and proper
	attributes for new case.
	* config/s390/s390.h: (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Define it as
	s390_const_double_ok_for_constraint_p.
	* config/s390/s390-protos.h (s390_const_double_ok_for_constraint_p):
	Add prototype.

From-SVN: r99541
2005-05-10 20:43:36 +00:00