Commit Graph

25168 Commits

Author SHA1 Message Date
Jan Hubicka
591702deff i386.c (ix86_expand_move): Never add clobbers to move patterns.
* i386.c (ix86_expand_move): Never add clobbers to move patterns.
	* i386.md (movsi_xor): New.
	(movsi_or): New.
	(movsi_1, movhi_1, movqi_1): Remove.
	(movsi_2): Rename to movsi_1.
	(movhi_2): Rename to movhi_1.
	(movqi_2): Rename to movqi_1.
	(movdi_1): Remove; remove splitter.
	(movdi_2): Rename to movdi_1.
	(divmodsi4 splitter): Do not emit clobbers for move patterns.
	(long move peep2): Do not create QI or HI mode mov0s
	(mov -1,reg -> or peep2s): Enable again, rewrite to single peephole.

From-SVN: r30741
1999-12-01 16:50:46 +00:00
Jan Hubicka
8f7661f2b8 i386.md (zero_extend?i?i2): Rewrite to expanders; new patterns rewrite splitters.
* i386.md (zero_extend?i?i2): Rewrite to expanders; new patterns
	rewrite splitters.

From-SVN: r30740
1999-12-01 13:38:50 +00:00
Alexandre Petit-Bianco
b5b8a0e779 re GNATS gcj/97 (Internal compiler error)
Thu Nov 11 01:57:14 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * parse.y (lookup_method_invoke): Use lang_printable_name to
 	reliably build the type name during error report. Fixes PR gcj/97.

From-SVN: r30739
1999-12-01 05:06:10 -08:00
Jan Hubicka
e20440c1dd i386.md (neg?f2_if): Split "r" and "f" to separate alternatives.
* i386.md (neg?f2_if): Split "r" and "f" to separate alternatives.
	(abs?f2_if): Likewise.

From-SVN: r30738
1999-12-01 12:04:11 +00:00
Jason Molenda
2c290989c7 re PR other/4 (Test PR)
1999-12-01  Jason Molenda  (jsm@bugshack.cygnus.com)

	* ChangeLog:  Dummy commit to make sure the logging is working
	right.
	Oh, and test the PR system.  PR other/4.

From-SVN: r30737
1999-12-01 03:54:08 -08:00
Jeff Law
2f3655cf1c Daily bump.
From-SVN: r30735
1999-12-01 01:45:07 -07:00
Alex Samuel
52a921766e ggc.h (ggc_test_and_set_mark): New macro.
* ggc.h (ggc_test_and_set_mark): New macro.
	(ggc_mark_rtx): Use ggc_test_and_set_mark.
	(ggc_mark_tree): Likewise.
	(ggc_mark_rtvec): Likewise.
	* ggc-common.c (ggc_mark_rtx_children): Reduce recursion.

From-SVN: r30734
1999-12-01 08:13:54 +00:00
Jason Merrill
777ad4c21f dwarf2out.c (scope_die_for): Only handle types.
* dwarf2out.c (scope_die_for): Only handle types.  Only search for
        containing types.
        (decl_scope_table): Just an array of trees now.
        (push_decl_scope): Simplify.
        (dwarf2out_init): Adjust.
        (local_scope_p): New fn.
        (gen_inlined_enumeration_type_die): Don't call scope_die_for.
        (gen_inlined_union_type_die, gen_inlined_structure_type_die): Likewise.
        (gen_typedef_die): Likewise.
        (gen_lexical_block_die): Don't call push/pop_decl_scope.
        (gen_inlined_subroutine_die): Likewise.
        (gen_abstract_function): Set current_function_decl temporarily.
        (gen_subprogram_die): Don't check DECL_ABSTRACT to set declaration.
        Handle block extern declarations.  Don't call push/pop_decl_scope.
        (gen_decl_die): Fix logic for block externs.

From-SVN: r30733
1999-11-30 20:48:02 -05:00
Kaveh R. Ghazi
d94656872d ansidecl.h (ATTRIBUTE_MALLOC): New macro.
* ansidecl.h (ATTRIBUTE_MALLOC): New macro.

        * libiberty.h (buildargv, dupargv, concat, choose_temp_base,
        make_temp_file, xmalloc, xcalloc, xstrdup, xmemdup): Add
        ATTRIBUTE_MALLOC.
        (xatexit): Remove __GNUC__ check, add ATTRIBUTE_NORETURN.

From-SVN: r30732
1999-11-30 23:56:52 +00:00
Kaveh R. Ghazi
8251469698 calls.c (special_function_p): Remove realloc' and add strdup' to the list of functions which have attribute...
* calls.c (special_function_p): Remove `realloc' and add `strdup'
        to the list of functions which have attribute malloc by default.

From-SVN: r30731
1999-11-30 23:55:26 +00:00
Kaveh R. Ghazi
48776cde06 c-lex.c (yylex): With -Wtraditional...
* c-lex.c (yylex): With -Wtraditional, when the ANSI type of an
	integer constant does not match the traditional type, limit the
	warnings to cases where the base of the type is ten.

	* invoke.texi (-Wtraditional): Document it.

From-SVN: r30730
1999-11-30 23:26:37 +00:00
Franz Sirl
481c7efae8 combine.c (try_combine): Only pass SET or CLOBBER to SET_DEST
* combine.c (try_combine): Only pass SET or CLOBBER to SET_DEST
        * rs6000.md: Only access a CONST_INT with INTVAL

From-SVN: r30729
1999-11-30 15:19:06 -08:00
Richard Henderson
e5b7ca327d lcm.c (compute_laterin): Cast bb->aux to size_t not int.
* lcm.c (compute_laterin): Cast bb->aux to size_t not int.
        (compute_nearerout): Likewise.
        * ggc-page.c (ggc_page_print_statistics): Explicitly cast
        size_t to unsigned long for formatting.

From-SVN: r30728
1999-11-30 14:28:43 -08:00
Jakub Jelinek
e48addeebc Jakub Jelinek <jakub@redhat.com>
* config/sparc/sparc.h (FIXED_REGISTERS, CONDITIONAL_REGISTER_USAGE):
        Allow the user to override call-used/fixed state of %g2-5
        registers from the command line (with the exception of %g4 for
        embedded model).
        (REG_LEAF_ALLOC_ORDER): Move %g1 and %g4-7 registers to front, so that
        there is a higher chance of having a leaf function.
        (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Provide separate macros
        for ARCH64 which has %ccr register.
        * config/sparc/sparc.md (return_losum_si, return_losum_di): New
        patterns.
        * config/sparc/sparc.c (eligible_for_epilogue_delay): For the return
        insn accept into delay slot any insn which does not use %[ol]
        registers.  Accept some LO_SUM and shift left by 1 for the normal
        restore case.
        (output_function_epilogue): Likewise.
        (epilogue_renumber): Added argument which inhibits any renumbering
        and just tests if the rtx does not use any %[ol] registers.
        (output_return): Reflect above change.

From-SVN: r30727
1999-11-30 14:18:21 -08:00
Jakub Jelinek
f34e52f774 sparc.c (sparc_va_arg): Fix sparc64 va_arg aggregate passing for sizes <= 16 bytes.
* config/sparc/sparc.c (sparc_va_arg): Fix sparc64 va_arg
        aggregate passing for sizes <= 16 bytes.

From-SVN: r30726
1999-11-30 14:06:50 -08:00
Tom Tromey
4cb74b7695 re GNATS libgcj/98 (pthread_mutex_init in libjava/posix-threads.cc)
* posix-threads.cc (_Jv_MutexInit): Use _Jv_PthreadGetMutex to get
	mutex to initialize.  Initialize `count' if required.
	Fixes PR libgcj/98.

From-SVN: r30725
1999-11-30 18:53:15 +00:00
Brendan Kehoe
90199fdb0a fix typo
From-SVN: r30724
1999-11-30 07:47:12 -05:00
Bernd Schmidt
553687c920 Delete obsolete macros
From-SVN: r30723
1999-11-30 12:16:56 +00:00
Brendan Kehoe
c219ddf76d sparc.h (MASK_FASTER_STRUCTS, [...]): Define.
* sparc.h (MASK_FASTER_STRUCTS, TARGET_FASTER_STRUCTS): Define.
        (TARGET_SWITCHES): Add -mfaster-structs/-mno-faster-structs flags.
        (ROUND_TYPE_ALIGN): Use better value of -mfaster-structs.
        * sparc.md (sparclite86x_branch, sparclite86x_shift): New function
        units for the sparclite86x chip.
        (flush): Revert October 14th change; add SImode specifically.
        (flushdi): Copy of flush, but DImode, to avoid genrecog warnings.
        * invoke.texi: Document it.

From-SVN: r30722
1999-11-30 07:02:09 -05:00
Nick Clifton
4c82e14546 Fix psimode truncation patterns to not accept MEMs that are not valid for
PSImode.

From-SVN: r30721
1999-11-30 11:05:05 +00:00
Michael Hayes
4dc9341c04 flow.c (flow_nodes_print, [...]): New functions.
* flow.c (flow_nodes_print, flow_loops_cfg_dump): New functions.
	(flow_loop_nested_p, flow_loops_dump, flow_loops_free): Likewise.
	(flow_loop_exits_find, flow_loop_nodes_find): Likewise.
	(flow_depth_first_order_compute, flow_loop_pre_header_find): Likewise.
	(flow_loop_tree_node_add, flow_loops_tree_build): Likewise.
	(flow_loop_level_compute, low_loops_level_compute): Likewise.
	(flow_loops_find, flow_loop_outside_edge_p): Likewise.
	* basic-block.h: Protect from multiple inclusion.
	(flow_loops_find, flow_loops_free, flow_loop_dump): Add protoypes.
	(struct loops, struct loop): Define structures.
	* sbitmap.c (sbitmap_a_subset_b_p): New function.
	* sbitmap.h: Protect from multiple inclusion.
	(sbitmap_a_subset_b_p): Add prototype.
	* Makefile.in (LOOP_H): New macro.
	(stmt.o, integrate.o, loop.o, unroll.o): Replace loop.h with LOOP_H.

From-SVN: r30720
1999-11-30 10:42:29 +00:00
Jeff Law
edecd81faa Daily bump.
From-SVN: r30719
1999-11-30 01:45:07 -07:00
Philippe De Muyter
8d68dd6975 cppinit.c (CAT): The argument list of this macro may not contain spaces !
* cppinit.c (CAT): The argument list of this macro may not contain
        spaces !

From-SVN: r30718
1999-11-30 01:36:13 -07:00
David S. Miller
1bb98cecc6 Move quantity tables and register equivalence chains into
per-qty and per-register structure arrays respectively.

From-SVN: r30717
1999-11-29 22:03:30 -08:00
Mark Mitchell
de96bf571d * pt.c (tsubst_decl): Robustify.
From-SVN: r30716
1999-11-29 23:39:29 +00:00
Richard Kenner
f9011d0459 Install proper change
From-SVN: r30715
1999-11-29 18:02:14 -05:00
Richard Kenner
59adecfa8c fold-const.c (extract_muldiv, [...]): Reverse operation if C is negative.
* fold-const.c (extract_muldiv, case {MIN,MAX}_EXPR): Reverse
	operation if C is negative.
	(extract_muldiv, case SAVE_EXPR): Supresss if arg has side effects.
	(extract_muldiv, case {PLUS,MINUS}_EXPR): Don't apply distributive
	law for some divisions if constant is negative and change other
	divisions to the opposite rounding.

From-SVN: r30714
1999-11-29 17:56:39 -05:00
Richard Kenner
ce64861eed expr.c (store_constructor_field): If bit position is not multiple of alignment of TARGET's mode, use BLKmode.
* expr.c (store_constructor_field): If bit position is not multiple
	of alignment of TARGET's mode, use BLKmode.

From-SVN: r30713
1999-11-29 17:44:52 -05:00
Richard Kenner
a2b9916174 expr.c (expand_expr_unaligned): Add more code from full case that is needed when OP0 is in a register.
* expr.c (expand_expr_unaligned): Add more code from full case
	that is needed when OP0 is in a register.

From-SVN: r30712
1999-11-29 17:35:51 -05:00
Bruce Korb
b3bd782076 Update e-address
From-SVN: r30711
1999-11-29 22:31:15 +00:00
Alexandre Petit-Bianco
97f3028449 parse.y (catch_clause_parameter:): Still set `$$' to NULL_TREE in case of error.
Tue Nov 23 10:55:18 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (catch_clause_parameter:): Still set `$$' to NULL_TREE
 	in case of error. Error message tuned.

This fixes a catch clause error handling reported on the java-discuss
mailing list:

  http://sourceware.cygnus.com/ml/java-discuss/1999-q4/msg00358.html

From-SVN: r30710
1999-11-29 12:43:24 -08:00
Per Bothner
9b811d11de exception.cc: Remove prototype declarations for malloc and free.
1999-11-27  Per Bothner  <per@bothner.com>

	* exception.cc:  Remove prototype declarations for malloc and free.
	These clash with recent versions of glibc, which specifies `throws ()'
	when __cplusplus is defined.  Instead, #include <stdlib.h>.

From-SVN: r30709
1999-11-29 19:43:55 +00:00
J"orn Rennecke
d0f89bfce0 Fix for gcc.c-torture/noncompile/920824-1.c on SH (and mips?)
Fix for gcc.c-torture/noncompile/920824-1.c on SH (and mips?)
	* dwarfout.c (field_byte_offset): Size can be zero if there was
	an error.

From-SVN: r30708
1999-11-29 18:11:35 +00:00
Alexandre Petit-Bianco
37feda7d76 hu Nov 4 16:27:01 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (resolve_qualified_expression_name): Handle PLUS_EXPR.
        (qualify_ambiguous_name): Likewise.

(This patch fixes the gcj PR #55.)

From-SVN: r30707
1999-11-29 09:40:31 -08:00
Bernd Schmidt
b901ec947a Delete unused vars.
From-SVN: r30706
1999-11-29 17:35:07 +00:00
Bernd Schmidt
7762d54ea8 Add missing return types
From-SVN: r30705
1999-11-29 14:48:30 +00:00
Bruce Korb
c5984b7b9e don't skip GLIBC files any more, more C++ header testing, corrected spelling of mach
From-SVN: r30704
1999-11-29 14:35:50 +00:00
Bernd Schmidt
97c1c80b37 New test: gcc.dg/991129-1.c
From-SVN: r30703
1999-11-29 12:18:56 +00:00
Bernd Schmidt
96b42f4c8c Verify class is ok when allocating reload reg in push_reload
From-SVN: r30702
1999-11-29 12:09:54 +00:00
Bernd Schmidt
ca1a4af124 Fix bug in reloads_conflict
From-SVN: r30701
1999-11-29 11:51:16 +00:00
Bernd Schmidt
e1306f499c Clean up parts of the scheduler
From-SVN: r30700
1999-11-29 11:44:57 +00:00
Bernd Schmidt
d94d6abfeb Delete useless patterns
From-SVN: r30699
1999-11-29 11:06:51 +00:00
Bernd Schmidt
311fe27c71 Fix abort in loop_iterations
From-SVN: r30698
1999-11-29 10:51:09 +00:00
Mark Mitchell
83c23b6c72 Make ChangeLog entry clearer
From-SVN: r30697
1999-11-29 09:05:34 +00:00
Jeff Law
64f4f0826d Daily bump.
From-SVN: r30696
1999-11-29 01:45:07 -07:00
David S. Miller
8843045335 sparc.c (init_cumulative_args): Fix type of third arg.
1999-11-29  David S. Miller  <davem@redhat.com>

	* config/sparc/sparc.c (init_cumulative_args): Fix type of third
	arg.
	* config/sparc/sparc-protos.h: Update proto, move into RTX_CODE.

From-SVN: r30695
1999-11-29 00:07:23 -08:00
Jeff Law
46984a9abc Fix a typo.
From-SVN: r30694
1999-11-28 23:18:49 -07:00
Kaveh R. Ghazi
b0791fa925 com.c (ffecom_file_, [...]): Constify a char*.
* com.c (ffecom_file_, ffecom_file, file_buf,
        ffecom_open_include_): Constify a char*.
        (ffecom_possible_partial_overlap_): Mark parameter `expr2' with
        ATTRIBUTE_UNUSED.
        (ffecom_init_0): Use a fully prototyped cast in call to bsearch.
        (lang_print_error_function): ANSI-fy.

        * com.h (ffecom_file): Constify a char*.

        * fini.c (main): Call return, not exit.

        * g77spec.c (lang_specific_driver): Use non-const *in_argv in
        assignment.

        * intrin.c (ffeintrin_cmp_name_): Don't needlessly cast away
        const-ness.

From-SVN: r30693
1999-11-29 02:50:04 +00:00
Kaveh R. Ghazi
14657de8f1 com.c (ffecom_get_invented_identifier): Rewrite to take an ellipses.
* com.c (ffecom_get_invented_identifier): Rewrite to take an ellipses.

	(ffecom_char_enhance_arg_, ffecom_do_entry_,
	ffecom_f2c_make_type_, ffecom_gen_sfuncdef_,
	ffecom_start_progunit_, ffecom_start_progunit_,
	ffecom_start_progunit_, ffecom_sym_transform_assign_,
	ffecom_transform_equiv_, ffecom_transform_namelist_,
	ffecom_vardesc_, ffecom_vardesc_array_, ffecom_vardesc_dims_,
	ffecom_end_transition, ffecom_lookup_label, ffecom_temp_label):
	Adjust accordingly.

	* com.h (ffecom_get_invented_identifier): Likewise.

	* sts.c (ffests_printf): New function taking ellipses.
	(ffests_printf_1D, ffests_printf_1U, ffests_printf_1s,
	ffests_printf_2Us): Delete.

	* sts.h: Likewise.

	* std.c (ffestd_R1001dump_, ffestd_R1001dump_1005_1_,
	ffestd_R1001dump_1005_2_, ffestd_R1001dump_1005_3_,
	ffestd_R1001dump_1005_4_, ffestd_R1001dump_1005_5_,
	ffestd_R1001dump_1010_2_, ffestd_R1001dump_1010_3_,
	ffestd_R1001dump_1010_4_, ffestd_R1001dump_1010_5_,
	ffestd_R1001rtexpr_): Call `ffests_printf', not `ffests_printf_*'.

	* ste.c (ffeste_io_ialist_, ffeste_io_cilist_, ffeste_io_cllist_,
	ffeste_io_icilist_, ffeste_io_inlist_, ffeste_io_olist_): Likewise.

From-SVN: r30692
1999-11-29 02:26:49 +00:00
Kaveh R. Ghazi
146e60a070 libiberty.h: Include stdarg.h when ANSI_PROTOTYPES is defined.
* libiberty.h: Include stdarg.h when ANSI_PROTOTYPES is defined.
        (asprintf, vasprintf): Provide declarations.

From-SVN: r30691
1999-11-29 02:08:36 +00:00