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