Commit Graph

30476 Commits

Author SHA1 Message Date
Michael Hayes
ed5bb68db3 loop.h (LOOP_IVS): New macro.
* loop.h (LOOP_IVS): New macro.
	(REG_IV_TYPE, REG_IV_INFO): Add ivs argument.
	(struct loop_ivs): New.
	(struct loop_info): Add ivs field.
	(reg_iv_type, reg_iv_info): Delete prototype.
	(reg_biv_class, loop_iv_list): Likewise.
	* loop.c (record_biv, find_life_end): Pass loop argument.
	(reg_iv_type): Remove global array and use
	field in loop_regs structure within loop_ivs structure.
	(reg_iv_info, reg_biv_class, loop_iv_list): Likewise.
	(first_increment_giv, last_increment_giv): Use entry in
	loop_ivs structure.
	(record_initial): Pass ivs pointer.
	* unroll.c (copy_loop_body, remap_split_bivs): Add loop argument.

From-SVN: r36336
2000-09-11 21:48:46 +00:00
Michael Hayes
1ecd860b28 loop.h (LOOP_REGS): New macro.
* loop.h (LOOP_REGS): New macro.
	(struct loop_regs): New.
	(struct loop_info): Add regs field.
	* loop.c (set_in_loop): Remove global array and store
	in loop_regs structure as part of loop_info structure.
	(n_times_set, may_not_optimize): Likewise.
	(reg_single_usage, moved_once): Likewise.
	(count_one_set): Add regs argument.
	(combine_movables, rtx_equal_for_loop_p, combine_givs): Likewise.
	(set_pseudo_multiple_uses): Pass regs pointer.

From-SVN: r36335
2000-09-11 21:46:35 +00:00
Michael Hayes
0a5b41f256 unroll.c (iteration_info): Subsume into loop_iterations.
* unroll.c (iteration_info): Subsume into loop_iterations.
	* loop.h (loop_info): New field iv.

From-SVN: r36334
2000-09-11 21:44:21 +00:00
Michael Hayes
5d6a16e27e basic-block.h (LOOP_TREE, [...]): New.
2000-09-12  Michael Hayes  <mhayes@cygnus.com>

	* basic-block.h (LOOP_TREE, LOOP_PRE_HEADER, LOOP_EDGES): New.
	(LOOP_EXITS_DOMS, LOOP_ALL): Likewise.
	(flow_loops_update): New prototype.
	(flow_loops_find): Add flags to prototype.
	(struct loop): Add `pre_header_root' and `pre_header_trace' fields.
	* flow.c (flow_loop_pre_header_scan): New.
	(flow_loop_dump): Dump pre-header root and trace and exit dominators.
	(flow_loop_free): Free pre-header root and trace and exit dominators.
	(flow_loops_find): New argument flags.
	(flow_loops_update): New function.
	* toplev.c (rest_of_compilation): Add flag argument to flow_loops_find.

From-SVN: r36333
2000-09-11 21:42:07 +00:00
Michael Hayes
c586192c7d basic-block.h (split_block, [...]): New prototypes.
* basic-block.h (split_block, update_bb_for_insn): New prototypes.
	* flow.c (split_block, update_bb_for_insn): New functions.

From-SVN: r36332
2000-09-11 21:39:33 +00:00
Richard Henderson
a5e5cf67cc * cse.c (fold_rtx): Honor NO_FUNCTION_CSE.
From-SVN: r36331
2000-09-11 14:34:57 -07:00
Richard Henderson
655f2eb93e ia64-protos.h (fr_nonimmediate_operand): Declare.
* config/ia64/ia64-protos.h (fr_nonimmediate_operand): Declare.
        * config/ia64/ia64.c (fr_nonimmediate_operand): New.
        (ia64_override_options): Prevent optimizing division for both
        latency and throughput.
        (rtx_needs_barrier): Handle frcpa.
        * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): New.
        (MASK_INLINE_DIV_THR, TARGET_INLINE_DIV_LAT): New.
        (TARGET_INLINE_DIV_THR, TARGET_INLINE_DIV): New.
        (TARGET_SWITCHES): Add -minline-divide-min-latency and
        -minline-divide-max-throughput.
        (PREDICATE_CODES): Update.
        * config/ia64/ia64.md (extendsidi2): Remove * from f case.
        (zero_extendsidi2): Likewise.  Fix typo in f case insn.
        (extendsfdf2): Add cases for gr<->fr and fr<->mem.
        (extendsftf2): Likewise.
        (extenddftf2): Likewise.
        (fix_trunctfdi2_alts): New.
        (fixuns_trunctfdi2_alts): New.
        (madd*4): Rename from madd*3.
        (divsi3, modsi3, udivsi3, umodsi3): New.
        (divsi3_internal): New.
        (divdi3, moddi3, udivdi3, umoddi3): New.
        (divdi3_internal_lat, divdi3_internal_thr): New.
        (multf3_alts, maddtf4_alts, nmaddtf4_alts): New.
        (recip_approx): New.

From-SVN: r36330
2000-09-11 14:15:50 -07:00
Alexandre Oliva
b5d7770c3e print-rtl.c (debug_call_placeholder_verbose): New variable.
* print-rtl.c (debug_call_placeholder_verbose): New variable.
(print_rtx) [CALL_PLACEHOLDER]: Dump all call sequences if it is
set.
* integrate.c (copy_rtx_and_substitute): Don't share
LEAF_REG_REMAPpable registers with the inlined function.  Don't
share the function value with calling sequences.

From-SVN: r36329
2000-09-11 21:03:26 +00:00
Alexandre Oliva
da88b35278 20000910-1.c: New test.
* gcc.c-torture/execute/20000910-1.c: New test.
* gcc.c-torture/execute/20000910-2.c: Likewise.

From-SVN: r36328
2000-09-11 21:00:19 +00:00
Jakub Jelinek
2a1da89b74 * c-decl.c (do_case): Fix a typo.
From-SVN: r36327
2000-09-11 22:25:44 +02:00
Jakub Jelinek
6ff85fd82d combine.c (simplify_if_then_else): Don't convert a == b ? b ...
* combine.c (simplify_if_then_else): Don't convert a == b ? b : a
	to a if the comparison is floating mode and not -ffast-math.
	* simplify-rtx.c (simplify_ternary_operation): Likewise.

From-SVN: r36326
2000-09-11 22:20:32 +02:00
J"orn Rennecke
4102c782e3 sh.h (INITIALIZE_TRAMPOLINE): Remove stray call to gen_ic_invalidate_line.
* sh.h (INITIALIZE_TRAMPOLINE): Remove stray call to
	gen_ic_invalidate_line.

From-SVN: r36325
2000-09-11 20:10:35 +01:00
Branko Cibej
79f5e38e0d acinclude.m4 (GLIBCPP_CHECK_GNU_MAKE): Replace "grep -q" with "grep -c".
2000-09-10  Branko Cibej  <branko.cibej@hermes.si>

	* acinclude.m4 (GLIBCPP_CHECK_GNU_MAKE): Replace "grep -q" with
	  "grep -c".

From-SVN: r36324
2000-09-11 19:05:07 +00:00
Robert Lipe
a5de05b7d5 * gcc.dg/pragma-align.c: New test.
From-SVN: r36323
2000-09-11 18:38:14 +00:00
Philip Blundell
52a21fc6d1 Don't define `arm_elf'
From-SVN: r36322
2000-09-11 17:14:09 +00:00
Ulrich Drepper
669ed2b149 install.texi (LANGUAGES): Update to include new languages.
* install.texi (LANGUAGES): Update to include new languages.
        * INSTALL: Rebuilt.

From-SVN: r36321
2000-09-11 10:50:05 -06:00
DJ Delorie
50936d2734 gcc.c (main): Don't warn about unused -B prefixes
* gcc.c (main): Don't warn about unused -B prefixes
        (unused_prefix_warnings): remove

From-SVN: r36320
2000-09-11 10:40:12 -06:00
Kazu Hirata
00174bdfec * integrate.c: Fix formatting.
From-SVN: r36319
2000-09-11 10:36:56 -06:00
Nathan Sidwell
181d2ba0f3 * error.c (cp_tree_printer, case 'P'): Append break.
From-SVN: r36318
2000-09-11 15:08:44 +00:00
Geoff Keating
b14066a92d * alias.c (memrefs_conflict_p): An ADDRESSOF does conflict, sorry.
From-SVN: r36317
2000-09-11 14:39:42 +00:00
Nathan Sidwell
6cd0d4dedf explicit82.C: New test.
* g++.old-deja/g++.pt/explicit82.C: New test.
	* g++.old-deja/g++.pt/explicit83.C: New test.

From-SVN: r36316
2000-09-11 14:21:08 +00:00
Nathan Sidwell
f2d71db623 cp-tree.h (frob_opname): Declare.
* cp-tree.h (frob_opname): Declare.
	* parse.y (saved_scopes): New static variable.
	(cp_parse_init): Adjust.
	(do_id): If lastiddecl is NULL, do do_identifier.
	(operator): Save scope information.
	(unoperator): new reduction. Restore scope information.
	(operator_name): Append unoperator. Call frob_opname.
	* spew.c (frob_opname): Define.

From-SVN: r36315
2000-09-11 14:19:53 +00:00
Bernd Schmidt
e695931e41 Fix obvious thinko
From-SVN: r36314
2000-09-11 13:13:00 +00:00
Jeff Law
224e89835b Daily bump.
From-SVN: r36313
2000-09-11 01:45:10 -06:00
Stephane Carrez
456aadaa8f * gcc.1: Document 68hc11 specific options.
From-SVN: r36312
2000-09-11 08:10:30 +02:00
Geoff Keating
e0f7170a43 sysv4.h (MASK_LONG_DOUBLE_128): Define.
* config/rs6000/sysv4.h (MASK_LONG_DOUBLE_128): Define.
	(TARGET_LONG_DOUBLE_128): Define.
	(SUBTARGET_SWITCHES): Add -mlong-double-64 and -mlong-double-128.
	(LONG_DOUBLE_TYPE_SIZE): Redefine.
	(MAX_LONG_DOUBLE_TYPE_SIZE): Define.
	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on definition
	of __LONG_DOUBLE_128__.
	(CPP_SYSV_SPEC): Define __LONG_DOUBLE_128__ if -mlong-double-128
	passed.
	(CPP_LONGDOUBLE_DEFAULT_SPEC): Define.
	(CPP_SYSV_DEFAULT_SPEC): Define.
	(SUBTARGET_EXTRA_SPECS): Add cpp_longdouble_default.
	(INIT_TARGET_OPTABS): Define.

From-SVN: r36311
2000-09-11 06:03:02 +00:00
Geoff Keating
9cb8fcaf50 aix.h (RS6000_ITRUNC): Moved from rs6000.h.
* config/rs6000/aix.h (RS6000_ITRUNC): Moved from rs6000.h.
	(RS6000_UITRUNC): Likewise.
	(INIT_TARGET_OPTABS): New macro.
	* config/rs6000/rs6000.c (rs6000_trunc_used): Delete.
	(trunc_defined): Delete.
	(output_prolog): Don't output .extern definitions for fp->int
	conversion routines, ASM_OUTPUT_EXTERNAL_LIBCALL will do it.
	* config/rs6000/rs6000.h (rs6000_trunc_used): Delete.
	(trunc_defined): Delete.
	(RS6000_ITRUNC): Moved to aix.h.
	(RS6000_UITRUNC): Likewise.
	* config/rs6000/rs6000.md (fix_truncdfsi2): Fail if it would
	only emit a libcall.
	(fixuns_truncdfsi2): Delete.
	(trunc_call): Delete.
	(trunc_call_rtl): Delete.

From-SVN: r36310
2000-09-11 06:00:52 +00:00
Zack Weinberg
8f820299e3 varasm.c (make_decl_rtl): Restore leading star on DECL_ASSEMBLER_NAME set for decls with an asmspec.
* varasm.c (make_decl_rtl): Restore leading star on
	DECL_ASSEMBLER_NAME set for decls with an asmspec.
	* gcc.dg/asm-names.c: New test.

From-SVN: r36309
2000-09-11 05:44:51 +00:00
Zack Weinberg
4337bc937c c-pragma.c (handle_pragma_pack): Correct parsing logic so it won't give a spurious error for '#pragma pack()'.
* c-pragma.c (handle_pragma_pack): Correct parsing logic so it
	won't give a spurious error for '#pragma pack()'.  Simplify
	control flow for readability.  'reset' action is not necessary.

From-SVN: r36308
2000-09-11 04:29:58 +00:00
Zack Weinberg
d8ea8f2871 defaults.h: Provide default definitions for...
* defaults.h: Provide default definitions for: CHAR_TYPE_SIZE,
        SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE,
        LONG_LONG_TYPE_SIZE, WCHAR_TYPE_SIZE, FLOAT_TYPE_SIZE,
        DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE, and WCHAR_UNSIGNED.

        * cppexp.c, dwarfout.c, dwarf2out.c, emit-rtl.c, final.c, optabs.c,
        profile.c, sdbout.c, tradcif.y, tree.c, ch/decl.c, ch/timing.c,
        cp/decl.c, cp/rtti.c, f/com.c, f/com.h, java/decl.c, java/expr.c:
        Include defaults.h if not already included.
        Don't define the above macros.

        * Makefile.in, ch/Makefile.in, cp/Makefile.in, f/Makefile.in:
        Update dependencies.

From-SVN: r36307
2000-09-11 01:50:49 +00:00
Tom Tromey
fe5e3b9714 BytesToUnicode.java (getDefaultDecoder): Let default decoder use iconv.
* gnu/gcj/convert/BytesToUnicode.java (getDefaultDecoder): Let
	default decoder use iconv.
	* gnu/gcj/convert/UnicodeToBytes.java (getDefaultEncoder):
	Let default encoder use iconv.
	* configure: Rebuilt.
	* configure.in: Check for nl_langinfo and <langinfo.h>.
	* java/lang/natSystem.cc (file_encoding): New function.
	(DEFAULT_FILE_ENCODING): Define to file_encoding() if possible.

From-SVN: r36306
2000-09-11 00:35:51 +00:00
Mark Mitchell
56cb97339b c-common.h (add_stmt): Change prototype.
* c-common.h (add_stmt): Change prototype.
	(RECHAIN_STMTS): New macro.
	(CASE_LABEL_DECL): Likewise.
	(genrtl_case_label): Change prototype.
	(c_expand_start_case): Remove prototype.
	(build_case_label): Change prototype.
	(decl_constant_value): Declare.
	* c-common.c (check_case_value): Handle C++'s extensions to C
	semantics.
	* c-commnon.def (CASE_LABEL): Add room for the CASE_LABEL_DECL
	field.
	* c-parse.in (stmt): Adjust handling of return statements and case
	laels.
	* c-semantics.c (add_stmt): Return the new statement.
	(genrtl_return_stmt): Take the RETURN_STMT as input, not the
	returned expression.  Directly generate RTL, rather than calling
	c_expand_return.
	(genrtl_switch_stmt): Don't call c_expand_start_case.
	(build_case_label): Take the LABEL_DECL as input, too.
	(genrtl_case_label): Just call add_case_node.
	(expand_stmt): Adjust calls to genrtl_return_stmt and
	genrtl_case_label.
	* c-tree.h (c_expand_start_case): Declare.
	* c-typeck.c (decl_constant_value): Give it external linkage.
	(c_expand_return): Don't call expand_return or expand_null_return;
	use genrtl_return_stmt instead.
	* stmt.c (struct nesting): Remove num_ranges field.
	(add_case_node): Give it external linkage.
	(expand_start_case): Don't set num_ranges.
	(expand_start_case_dummy): Don't clear it.
	(pushcase): Rely on add_case_node to handle `default' labels.
	(add_case_node): Handle `default' labels.
	* tree.c (tree_int_cst_compare): New function.
	* tree.h (tree_int_cst_compare): Declare.
	(add_case_node): Likewise.

	* cp-tree.h (push_switch): Change prototype.
	(check_cp_case_value): Remove declaration.
	(decl_constant_value): Likewise.
	* decl.c (struct cp_switch): Add switch_stmt and cases.
	(case_compare): New function.
	(push_switch): Set switch_stmt.  Initialize cases.
	(pop_switch): Clean up cases.
	(define_case_label): Rename to ...
	(finish_case_label): ... this.  Do semantic analysis for case
	labels here.
	(start_function): Correct comment.
	* decl2.c (check_cp_case_value): Remove.
	* expr.c (do_case): Remove.
	* pt.c (tsubst_expr): Adjust call to finish_case_label.
	* semantics.c (genrtl_do_poplevel): Remove declaration.
	(RECHAIN_STMTS): Remove.
	(finish_break_stmt): Use build_break_stmt.
	(finish_continue_stmt): Use build_continue_stmt.
	(finish_switch_cond): Adjust condition here, rater than in
	c_expand_start_case.
	(finish_case_label): Remove.
	* typeck.c (c_expand_return): Remove.
	(c_expand_start_case): Likewise.

From-SVN: r36305
2000-09-10 21:34:41 +00:00
Mark Mitchell
2c9f4db73a splay-tree.h (splay_tree_predecessor): Declare.
* splay-tree.h (splay_tree_predecessor): Declare.

	* splay-tree.c (splay_tree_predecessor): New function.
	(splay_tree_successor): Likewise.

From-SVN: r36304
2000-09-10 21:28:21 +00:00
Richard Henderson
aac02f4e6b c-parse.in: Revert last change.
* c-parse.in: Revert last change.
        (init_reswords): Do not enter disabled keywords into the ridpointers
        table, modulo objc weirdness.
        (_yylex): Return the canonical spelling for a keyword.

From-SVN: r36303
2000-09-10 14:00:16 -07:00
Philip Blundell
75d8aea7ff Don't define arm' or thumb'.
For linux-elf don't define `__arm__'

From-SVN: r36302
2000-09-10 19:37:51 +00:00
Hans-Peter Nilsson
bb22da4b6d demangle-expected: Add four tests for type_info mangling.
* testsuite/demangle-expected: Add four tests for type_info
	mangling.

	* cplus-dem.c (gnu_special): Use do_type, not demangle_fund_type,
	for a non-template non-qualified type_info function or node.

From-SVN: r36301
2000-09-10 19:35:16 +00:00
John Wehle
d982e46e1c alias.c (find_base_term): Handle ADDRESSOF.
* alias.c (find_base_term): Handle ADDRESSOF.
	(memrefs_conflict_p): An ADDRESSOF doesn't conflict.

From-SVN: r36300
2000-09-10 18:25:49 +00:00
Denis Chertykov
212d447c7f genoutput.c (output_insn_data): Translate <NEWLINE> to \n\ while outputting templates with many lines.
2000-09-10  Denis Chertykov  <denisc@overta.ru>

	* genoutput.c (output_insn_data): Translate <NEWLINE> to \n\ while
	outputting templates with many lines.

From-SVN: r36299
2000-09-10 14:01:56 +00:00
Stephane Carrez
a746dbf5d7 libgcc2.h: Use LONG_LONG_TYPE_SIZE instead of MIN_UNITS_PER_WORD to decide whether 64-bit...
* libgcc2.h: Use LONG_LONG_TYPE_SIZE instead of MIN_UNITS_PER_WORD
	to decide whether 64-bit support must be generated.

From-SVN: r36298
2000-09-10 15:02:52 +02:00
Alexandre Oliva
158a8e6b90 acinclude.m4: Simplify the tests for CC and CXX.
* acinclude.m4: Simplify the tests for CC and CXX.
* aclocal.m4, configure: Rebuilt.

From-SVN: r36297
2000-09-10 09:26:50 +00:00
Alexandre Oliva
6d0860ee89 acinclude.m4: Include libtool macros from the source tree.
* acinclude.m4: Include libtool macros from the source tree.
* aclocal.m4, configure: Rebuilt.

From-SVN: r36296
2000-09-10 08:12:11 +00:00
Alexandre Oliva
205f5ac60a * Updated from libtool multi-language branch.
From-SVN: r36295
2000-09-10 08:04:40 +00:00
Alexandre Oliva
8a24138dca This commit was generated by cvs2svn to compensate for changes in r36292,
which included commits to RCS files with non-trunk default branches.

From-SVN: r36293
2000-09-10 07:53:51 +00:00
Alexandre Oliva
77dd5bce7d Initial revision
From-SVN: r36290
2000-09-10 07:53:50 +00:00
Alexandre Oliva
ed1c1a1a58 config.guess, [...]: Removed.
* config.guess, config.sub, install-sh: Removed.
* ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
* Makefile.in: Rebuilt.

From-SVN: r36289
2000-09-10 07:45:10 +00:00
Jeff Law
19b361db49 Daily bump.
From-SVN: r36288
2000-09-10 01:45:07 -06:00
Alexandre Oliva
2f7bf5b7eb acinclude.m4: Include libtool macros from the top level.
* acinclude.m4: Include libtool macros from the top level.
* aclocal.m4, configure: Rebuilt.

From-SVN: r36287
2000-09-10 07:43:14 +00:00
Richard Henderson
1d0f6d8982 * c-parse.in (asm patterns): Fix volatile check.
From-SVN: r36286
2000-09-10 00:07:20 -07:00
Kaveh R. Ghazi
e1aa514091 cppmacro.c (check_trad_stringification): New function.
* cppmacro.c (check_trad_stringification): New function.
	(save_expansion): If -Wtraditional, warn about stringification of
	macro arguments.

testsuite:
	* gcc.dg/cpp/tr-warn6.c: New test.

From-SVN: r36285
2000-09-10 03:41:50 +00:00
Michael Hayes
afa1738b58 loop.h (struct loop_mem_info): Move from loop.c (struct loop_info): Add fields store_mems...
* loop.h (struct loop_mem_info): Move from loop.c
	(struct loop_info): Add fields store_mems, mems, mems_idx,
	mems_allocated, unknown_address_altered,
	unknown_constant_address_altered, num_mem_sets, and
	first_loop_store_insn.

	* loop.c (loop_store_mems): Replace with field in loop_info struct.
	(loop_mems, loop_mems_idx, loop_mems_allocated): Likewise.
	(unknown_address_altered, unknown_constant_address_altered): Likewise.
	(num_mem_sets): Likewise.
 	(replace_loop_mems, replace_loop_regs): New.
	(struct loop_replace_args): New.
	(load_mems): Use replace_loop_mems.
	(try_copy_prop): Use replace_loop_regs.
	(replace_loop_reg, replace_loop_mem): Use loop_replace_args structure.

From-SVN: r36284
2000-09-09 23:02:15 +00:00