Commit Graph

29526 Commits

Author SHA1 Message Date
Zack Weinberg
6ead1e9971 [multiple changes]
2000-07-31  Jakub Jelinek  <jakub@redhat.com>

	* cpplex.c (_cpp_get_line): If index is 0, return line 0 col 0.
	(_cpp_get_token): Don't macro expand a just pasted token if it
	was pasted at no_expand_level.

	* testsuite/gcc.dg/cpp/paste7.c: New test.

2000-07-31  Zack Weinberg  <zack@wolery.cumb.org>

	* cppmacro.c (find_param, count_params, save_expansion):
	Permit 'defined' as a macro parameter name.

From-SVN: r35394
2000-07-31 23:47:19 +00:00
Zack Weinberg
ed39843b41 Oops - this went with the previous change set
From-SVN: r35393
2000-07-31 23:39:08 +00:00
Jason Merrill
ab4fa7ed31 * lang-specs.h: Use %i in rule for .ii files.
From-SVN: r35392
2000-07-31 17:00:36 -04:00
Jakub Jelinek
42eb567d5c * gcc.dg/cpp/20000725-1.c: New test.
From-SVN: r35391
2000-07-31 21:51:10 +02:00
Alexandre Oliva
04179d4a51 configure.in (qCXX_FOR_TARGET): Quote `&' characters in CXX_FOR_TARGET for sed.
* configure.in (qCXX_FOR_TARGET): Quote `&' characters in
CXX_FOR_TARGET for sed.

From-SVN: r35390
2000-07-31 19:29:03 +00:00
Zack Weinberg
4871239e64 Makefile.in: Rename cpp to cpp0, tradcpp to tradcpp0, and xcpp to cpp throughout.
* Makefile.in: Rename cpp to cpp0, tradcpp to tradcpp0, and
	xcpp to cpp throughout.
	(native): Remove unnecessary dependency on cpp.

	* gcc.c (trad_capable_cpp, C specs): Rename cpp to cpp,
	tradcpp to tradcpp0.
	(.i spec): Add missing output-file spec to cc1 command line.

	* ch/lang-specs.h, cp/lang-specs.h, f/lang-specs.h,
	objc/lang-specs.h: Rename cpp to cpp0 and/or tradcpp to tradcpp0.

From-SVN: r35389
2000-07-31 18:29:58 +00:00
Zack Weinberg
5f1240b6ba c90-digraph-1.c: Restore { dg-do run } marker.
* gcc.dg/c90-digraph-1.c: Restore { dg-do run } marker.
	* gcc.dg/noncompile/990416-1.c: Do not expect an implicit-
	declaration warning for __builtin_dwarf_reg_size.

From-SVN: r35387
2000-07-31 18:19:28 +00:00
Zack Weinberg
111458f1bf c-decl.c (mesg_implicit_function_declaration): Init to -1.
* c-decl.c (mesg_implicit_function_declaration): Init to -1.
	(implicit_decl_warning): New function.
	(implicitly_declare): Use it.
	* c-typeck.c (build_external_ref): Use implicit_decl_warning
	to complain about implicit decls of builtins.

	* c-lang.c (lang_init): Set mesg_implicit_function_declaration
	based on pedantic && flag_isoc99, if not already set.
	* c-tree.h: Declare mesg_implicit_function_declaration.
	Prototype implicit_decl_warning.

	* gcc.dg/c99-impl-decl-1.c: No longer XFAIL.

From-SVN: r35385
2000-07-31 18:10:31 +00:00
Jeffrey D. Oldham
cdbca1727c Makefile.in (ssa.o): Updated header files in dependences.
* Makefile.in (ssa.o): Updated header files in dependences.
	* basic-block.h: Added compute_immediate_postdominators declaration.
	* config/i386/i386.h (CONVERT_HARD_REGISTER_TO_SSA_P): Added
	definition.
	* flow.c (compute_immediate_dominators): Updated comment.
	(compute_immediate_postdominators): Added definition.
	* rtl.h (HARD_REGISTER_P): Added definition.
	* ssa.c: Include additional header files.
	(assert): Added definition.
	(ssa_rename_to_lookup): Added to reimplement ssa_rename_to to
	include select hard registers.
	(ssa_rename_to_insert): Likewise.
	(ssa_rename_from_initialize): Likewise.
	(ssa_rename_from_lookup): Likewise.
	(original_register): Likewise.
	(ssa_rename_from_insert): Added to reimplement ssa_rename_from to
	include select hard reigsters.
	(ssa_rename_from_traverse): Likewise.
	(ssa_rename_from_free): Likewise.
	(ssa_rename_from_print): Likewise.
	(ssa_rename_from_print_1): Likewise.
	(ssa_rename_from_hash_function): Likewise.
	(ssa_rename_from_equal): Likewise.
	(ssa_rename_from_delete): Likewise.
	(simplify_to_immediate_dominators): Removed in favor of
	flow.c:compute_immediate_dominators.
	(find_evaluations_1): Modified to work with hard registers.
	(insert_phi_node): Likewise.
	(insert_phi_nodes): Likewise.
	(struct rename_set_data): Updated prev_reg comment.
	(create_delayed_rename): Modified to work with hard registers.
	(RENAME_NO_RTX): Updated comment.
	(apply_delayed_renames): Modified to work with hard registers.
	(rename_insn_1): Likewise and added handling of CLOBBER rtls.
	(rename_block): Updated to use revised ssa_rename_to interface.
	(rename_registers): Updated to use revised ssa_rename_to and
	ssa_rename_from interface.
	(convert_to_ssa): Revised to use compute_immediate_dominators and
	deal with hard registers.
	(make_regs_equivalent_over_bad_edges): Modified to work with hard
	registers.  Added check for illegal unification of hard register.
	(make_equivalent_phi_alternatives_equivalent): Modified to work
	with hard registers.
	(compute_conservative_reg_partition): Likewise.
	(coalesce_if_unconflicting): Modified to work with hard registers
	and check for conflicting hard registers.
	(mark_phi_and_copy_regs): Revised loop to work only on pseudo
	registers.
	(rename_equivalent_regs_in_insn): Modified to work with hard
	registers.
	(record_canonical_element_1): Added definition.
	(check_hard_regs_in_partition): Added definition.
	(convert_from_ssa): Added data structure deallocation and check
	for illegal hard register unification.
	(conflict_hard_regs_p): Added definition.
	* toplev.c (rest_of_compilation): Added comment.

From-SVN: r35384
2000-07-31 17:33:28 +00:00
Anthony Green
ca47b73994 crtbegin.asm (__EH_FRAME_BEGIN__): Align correctly.
2000-07-30  Anthony Green  <green@redhat.com>

        * config/ia64/crtbegin.asm (__EH_FRAME_BEGIN__): Align correctly.

From-SVN: r35383
2000-07-31 17:23:25 +00:00
Jason McMullan
9d53e58583 builtins.c (expand_builtin_apply): Don't defer pop during argument setup.
* builtins.c (expand_builtin_apply): Don't defer pop during
        argument setup.

From-SVN: r35382
2000-07-31 09:37:34 -07:00
Herman A.J. ten Brugge
e079dcdb68 calls.c (combine_pending_stack_adjustment_and_call): Only use preferred_unit_stack_boundary when it is > 1.
* calls.c (combine_pending_stack_adjustment_and_call): Only use
        preferred_unit_stack_boundary when it is > 1.

From-SVN: r35381
2000-07-31 08:04:41 -06:00
Joseph Myers
980d86e9b4 c-common.c (init_function_format_info): Add C99 format functions in C99 mode.
* c-common.c (init_function_format_info): Add C99 format functions
	in C99 mode.

From-SVN: r35380
2000-07-31 08:00:34 -06:00
Casper Dik
9c08f7e6be * Makefile.in: Remove naked "^L".
From-SVN: r35379
2000-07-31 07:58:51 -06:00
Kazu Hirata
64e3a41371 * local-alloc.c: Fix formatting.
From-SVN: r35378
2000-07-31 07:57:02 -06:00
Joseph Myers
bbe65572cd c-decl.c (get_parm_info): Don't treat 'const void'...
* c-decl.c (get_parm_info): Don't treat 'const void', 'volatile
	void' or 'register void' as being the special case of 'void' alone
	in a parameter list.

From-SVN: r35377
2000-07-31 07:11:39 -06:00
Joseph Myers
b0c4bfae21 * gcc.dg/noncompile/voidparam-1.c: New test.
From-SVN: r35376
2000-07-31 07:10:37 -06:00
Kazu Hirata
b5eaf9ba59 h8300.c (get_shift_alg): Remove the variable alg.
* h8300.c (get_shift_alg): Remove the variable alg.
        (emit_a_shift): Rearrange code to improve readability.

        * h8300.md (movsi_h8300hs): Rearrange code to improve readability.

From-SVN: r35375
2000-07-31 07:08:11 -06:00
Joseph Myers
6fffb55cd7 c-typeck.c (build_c_cast): Change -Wcast-qual pedwarn for discarding qualifiers into a plain warning.
* c-typeck.c (build_c_cast): Change -Wcast-qual pedwarn for
        discarding qualifiers into a plain warning.

From-SVN: r35374
2000-07-31 07:01:23 -06:00
Jeff Law
c30d43bf62 Rotate out 6 more months of ChangeLog entries.
From-SVN: r35373
2000-07-31 06:59:37 -06:00
Kazu Hirata
184ef18e6a h8300.h (MODES_TIEABLE_P): Accept a combination of QImode and HImode on all architectures and a...
* h8300.h (MODES_TIEABLE_P): Accept a combination of QImode and
        HImode on all architectures and a combination of HImode and SImode
        on H8/300H and H8/S.

From-SVN: r35372
2000-07-31 06:51:11 -06:00
Kazu Hirata
9492393e34 * h8300.c (split_adds_subs): Rearrange code for conciseness.
From-SVN: r35371
2000-07-31 06:44:28 -06:00
Jan Hubicka
91f9a498c4 i386.md (addsi to lea splitter, [...]): Fix bugs in my last checkin.
* i386.md (addsi to lea splitter, ashlqi3_1_lea): Fix bugs
	in my last checkin.

From-SVN: r35370
2000-07-31 10:30:44 +00:00
Jan Hubicka
e7adb6fbb7 recog.c (extract_insn): Set operand_mode according to operand if match_operand is VOIDmode.
* recog.c (extract_insn): Set operand_mode according to
	operand if match_operand is VOIDmode.

From-SVN: r35369
2000-07-31 08:42:26 +00:00
Jan Hubicka
22251f806b * recog.c (validate_replace_rtx_1): Do not abort for (nil) expression.
From-SVN: r35368
2000-07-31 08:37:30 +00:00
Geoff Keating
fbddce27a7 c-parse.in (extdefs): Call ggc_collect between external definitions.
* c-parse.in (extdefs): Call ggc_collect between external
definitions.

From-SVN: r35367
2000-07-31 08:28:01 +00:00
Jeff Law
c47fef6e2e Daily bump.
From-SVN: r35366
2000-07-31 01:45:07 -06:00
Bryce McKinlay
aa18e0c184 Component.java (toString): Implemented.
* java/awt/Component.java (toString): Implemented.
	* java/awt/Container.java (addImpl): Remove FIXME. Only call
	dispatchEvent() to dispatch the event.
	(removeImpl): Ditto.

From-SVN: r35363
2000-07-31 05:11:49 +01:00
Anthony Green
b708c42c7a Component.java: Add treeLock object.
2000-07-30  Anthony Green  <green@redhat.com>

        * java/awt/Component.java: Add treeLock object.
        (getTreeLock): Implement.
        (isShowing): Implement.

From-SVN: r35362
2000-07-31 02:33:12 +00:00
Tom Tromey
e0a339f785 BorderLayout.java (BorderLayout()): New constructor.
* java/awt/BorderLayout.java (BorderLayout()): New constructor.

	* java/awt/Frame.java (Frame): Pass `null' to Window constructor.

	* java/awt/Window.java (addNotify): Wrote.
	(addWindowListener): Wrote.
	(getLocale): Wrote.
	(getWarningString): Wrote.
	(processEvent): Wrote.
	(processWindowEvent): Wrote.
	(removeWindowListener): Wrote.
	(show): Call validate(), setVisible().
	(toBack): Wrote.
	(toFront): Wrote.

	* java/awt/Toolkit.java (createWindow): Declare.

	* java/awt/Frame.java (addNotify): Use getToolkit to find
	toolkit.

	* java/awt/Component.java (invalidate): Wrote.
	(isValid): Wrote.
	(getToolkit): Wrote.

	* java/awt/Container.java (addContainerListener): Removed
	unnecessary cast.
	(removeContainerListener): Likewise.
	(addImpl): Wrote.
	(add(Component)): Use it.
	(add(String,Component)): Likewise.
	(add(Component,int)): Likewise.
	(add(Component,Object)): Likewise.
	(add(Component,Object,int)): Likewise.
	(doLayout): Wrote.
	(getAlignmentX): Wrote.
	(getAlignmentY): Wrote.
	(getComponentAt): Wrote.
	(getMaximumSize): Wrote.
	(invalidate): Wrote.
	(list(PrintStream,int)): Wrote.
	(list(PrintWriter,int)): Wrote.
	(getMinimumSize): Wrote.
	(getPreferredSize): Wrote.
	(printComponents): Wrote.
	(processContainerEvent): Look at containerListener, not
	componentListener.
	(remove): Added event processing and peer destruction.
	(removeAll): Use remove.
	(removeNotify): Wrote.
	(validate): Wrote.
	(validateTree): Wrote.

	* java/awt/Scrollbar.java (addNotify): Do nothing if peer exists.
	* java/awt/Label.java (addNotify): Do nothing if peer exists.
	* java/awt/Container.java (addNotify): Don't create Container
	peer.
	* java/awt/Button.java (addNotify): Do nothing if peer exists.

From-SVN: r35361
2000-07-31 02:03:51 +00:00
Mark Mitchell
911a71a729 Allow indirect primary bases.
* cp-tree.h (struct lang_type): Remove vfield_parent.  Add
	primary_base.
	(CLASSTYPE_VFIELD_PARENT): Remove.
	(CLASSTYPE_PRIMARY_BINFO): Reimplement.
	(BINFO_PRIMARY_BINFO): Remove.
	(CLASSTYPE_HAS_PRIMARY_BASE_P): Reimplement.
	(BINFO_VBASE_PRIMARY_P): Likewise.
	(BINFO_PRIMARY_BASE_OF): New macro.
	(BINFO_INDIRECT_PRIMARY_P): Likewise.
	(get_primary_binfo): New function.
	* decl.c (lang_mark_tree): Make lang_type::primary_base.
	* class.c (vcall_offset_data_s): Rename to ...
	(vtbl_init_data_s): ... this.  Rename primary_p to primary_vtbl_p,
	and add ctor_vtbl_p.
	(get_derived_offset): Use get_primary_binfo.
	(dfs_mark_primary_bases): Adjust handling of virtual primary
	bases.
	(mark_primary_bases): Likewise.
	(set_primary_base): Take a binfo, not an integer, as a
	representation of the primary base.
	(indirect_primary_base_p): Remove.
	(determine_primary_base): Adjust for indirect primary bases.
	(dfs_find_final_overrider): Fix typo in coment.
	(update_vtable_entry_for_fn): Use get_primary_binfo.
	(layout_nonempty_base_or_field): Tweak.
	(build_base_fields): Adjust for new primary base semantics.
	(dfs_propagate_binfo_offsets): Remove.
	(propagate_binfo_offsets): Rewrite.
	(dfs_set_offset_for_shared_vbases): Remove.
	(layout_virtual_bases): Don't use it.
	(layout_class_type): Set CLASSTYPE_SIZE correctly under the new
	ABI.
	(finish_struct_1): Set CLASSTYPE_PRIMARY_BINFO, not
	CLASSTYPE_VFIELD_PARENT.
	(dfs_get_primary_binfo): New function.
	(get_primary_binfo): Likewise.
	(dump_class_hierarchy_r): Tweak printing of primary bases.
	(build_vtbl_initializer): Fix typo in comments.  Use
	vtbl_init_data.
	(build_vcall_and_vbase_vtbl_entries): Likewise.
	(build_vbaes_offset_vtbl_entries): Likewise.
	(dfs_build_vcall_offset_vtbl_entries): Adjust setting of
	BV_VCALL_INDEX to handle indirect primary bases.
	(build_vcall_offset_vtbl_entries): Use vtbl_init_data.
	(build_rtti_vtbl_entries): Likewise.
	* search.c (get_shared_vbase_if_not_primary): Tweak.
	(find_vbase_instance): Likewise.
	(binfo_for_vtable): Simplify.
	* tree.c (unshare_base_binfos): Clear BINFO_PRIMARY_BASE_OF.
	(make_binfo): Make it have 11 entries.

From-SVN: r35360
2000-07-31 00:24:44 +00:00
Jan Hubicka
abe24fb317 Fix bug in my last checkin.
From-SVN: r35359
2000-07-31 00:06:48 +00:00
Richard Henderson
5527bf14a5 Makefile.in (OBJS): Add doloop.o.
* Makefile.in (OBJS): Add doloop.o.
	* doloop.c: New file.

	* final.c (insn_current_reference_address): Return 0 before final.
	* flags.h (flag_branch_on_count_reg): Fix typos in commentary.
	* jump.c (any_uncondjump_p): Likewise.
	* loop.c (indirect_jump_in_function): Make static.
	(strength_reduce): Call doloop_optimize.
	(insert_bct, instrument_loop_bct): Remove.
	* loop.h (doloop_optimize): Prototype.
	* recog.c (split_all_insns): Split all INSN_P.
	* toplev.c (flag_branch_on_count_reg): Default on.

	* config/c4x/c4x.c (c4x_optimization_options): Don't set
	flag_branch_on_count_reg.
	* config/i386/i386.c (override_options): Likewise.
	* config/rs6000/rs6000.c (optimization_options): Likewise.

	* config/i386/i386.md (decrement_and_branch_on_count): Remove.
	(doloop_end): New.
	(dbra_ge): Remove, as well as all it's splitters.

	* config/rs6000/rs6000.md (decrement_and_branch_on_count): Remove.
	(doloop_end): New.

	* config/ia64/ia64-protos.h (ar_lc_reg_operand): Declare.
	(ia64_register_move_cost): Declare.
	* config/ia64/ia64.c (ar_lc_reg_operand): New.
	(struct ia64_frame_info): Add ar_size.
	(ia64_compute_frame_size): Set it.
	(save_restore_insns): Save and restore ar.lc.
	(ia64_register_move_cost): New, moved from header file.  Handle
	application registers.
	(REG_AR_PFS, REG_AR_EC): Remove.  Replace with AR_*_REGNUM numbers.
	(emit_insn_group_barriers): Special case doloop_end_internal.
	(ia64_epilogue_uses): Mark ar.lc live at end.
	* config/ia64/ia64.h (AR_CCV_REGNUM, AR_LC_REGNUM): New registers.
	(AR_EC_REGNUM, AR_PFS_REGNUM): New registers.
	(FIRST_PSEUDO_REGISTER): Make room.
	(AR_M_REGNO_P, AR_I_REGNO_P, AR_REGNO_P): New.
	(FIXED_REGISTERS, CALL_USED_REGISTERS): Update.
	(REG_ALLOC_ORDER): Update.
	(HARD_REGNO_MODE_OK): Update.
	(REGISTER_NAMES): Update.
	(enum reg_class): Add AR_M_REGS and AR_I_REGS.
	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
	(REGNO_REG_CLASS): Update.
	(LEGITIMATE_ADDRESS_DISP): Displacement range is 9 bits, not 10.
	(REGISTER_MOVE_COST): Move out of line.
	(PREDICATE_CODES): Update.
	* config/ia64/ia64.md (movdi patterns): Handle ar register classes.
	(addsi3_plus1_alt, adddi3_plus1_alt): New.
	(shladd_elim splitter): Allow constants in the predicate.
	(doloop_end, doloop_end_internal): New.

From-SVN: r35358
2000-07-30 16:58:03 -07:00
Richard Henderson
1cf0acdd19 c90-digraph-1.c: Don't xfail.
* gcc.dg/c90-digraph-1.c: Don't xfail.
        * gcc.dg/compare2.c (case 10): Xfail.
        * gcc.dg/noncompile/redecl-1.c: Fix expected error message.

From-SVN: r35357
2000-07-30 16:54:59 -07:00
Richard Henderson
a4cad54432 genattrtab.c (struct insn_def): Add lineno member.
* genattrtab.c (struct insn_def): Add lineno member.
        (struct insn_ent): Likewise.
        (struct attr_desc): Likewise.
        (struct delay_desc): Likewise.
        (struct function_unit_op): Likewise.
        (struct function_unit): Likewise.
        (check_attr_value): Use message_with_line.
        (check_defs): Likewise.
        (expand_units): Likewise.
        (check_attr_test): Take a lineno argument.
        (gen_attr): Likewise.
        (gen_insn): Likewise.
        (gen_delay): Likewise.
        (gen_unit): Likewise.
        (main): Give it to them.
        (convert_set_attr_alternative): Take an insn_def argument
        instead of num_alt and insn_index.
        (convert_set_attr): Likewise.
        (write_test_expr): Protect INSN_ADDRESSES load
        with INSN_ADDRESSES_SET_P.

From-SVN: r35356
2000-07-30 16:38:26 -07:00
Alex Samuel
722bed0f9c mangle.c (DECL_TEMPLATE_ID_P): Remove.
* mangle.c (DECL_TEMPLATE_ID_P): Remove.
	(CLASSTYEP_TEMPLATE_ID_P): Check template info, and context when
	ascertaining primaryness.
	(G): Remove template_args.
	(decl_is_template_id): New function.
	(write_encoding): Use decl_is_template_id.
	(write_name): Likewise.  Handle type_decls.  Get main variant of
	type decls.
	(write_nested_name): Likewise.
	(write_prefix): Likewise.
	(write_template_prefix): Likewise.
	(write_special_name_constructor): Remove defunct production from
	comment.
	(write_bare_function_type): Remove comment about absent parameter.
	(write_template_template_arg): Add missing grammar production to
	comment.

From-SVN: r35355
2000-07-30 23:37:04 +00:00
Tom Tromey
4e07a9eadb Container.java (remove(int)): Wrote.
* java/awt/Container.java (remove(int)): Wrote.
	(remove(Component)): Wrote.
	(add(Component)): Wrote.
	(add(Component,int)): Wrote.
	(removeAll): Wrote.
	(addNotify): Set our own peer.
	* java/awt/Scrollbar.java (listeners): Changed type.
	(Scrollbar): Don't initialize listeners.
	(addNotify): Wrote.
	(setValue): Call setValues.
	(setMinimum): Likewise.
	(setMaxPriority): Likewise.
	(setVisibleAmount): Likewise.
	(setValues): Wrote.
	(setUnitIncrement): Forward to peer.
	(setLineIncrement): Call setUnitIncrement.
	(setPageIncrement): Call setBlockIncrement.
	(setBlockIncrement): Forward to peer.
	(addAdjustmentListener): Rewrote.
	(removeAdjustmentListener): Rewrote.
	(processAdjustmentEvent): Rewrote.
	(paramString): Wrote.
	* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added Button.java.
	* java/awt/Button.java: New file.
	* java/awt/Toolkit.java (createLabel): Declare.
	(createButton): Likewise.
	(createScrollbar): Likewise.
	(createContainer): Likewise.
	* java/awt/Label.java (addNotify): Wrote.
	(setAlignment): Call setAlignment in the peer.
	(setText): Call setText in the peer.

From-SVN: r35354
2000-07-30 23:19:57 +00:00
Richard Henderson
3a8c5c77d5 * flow.c (init_propagate_block_info): Use pc_set.
From-SVN: r35353
2000-07-30 16:05:52 -07:00
Anthony Green
9145715ca3 Test case for gcj/295.
From-SVN: r35352
2000-07-30 21:50:24 +00:00
Jan Hubicka
587870645c * i386.md (*lea_general_[123]) New insns and splits.
(addsi3 to lea splitter): Handle other modes too.
	(shlsi3 to lea splitter): Likewise.
	(addhi_1_lea, shlhi_1_lea): New patterns.
	(addhi_1, shlhi_1): Conditionize by PARTIAL_REG_STALL.

From-SVN: r35351
2000-07-30 18:59:56 +00:00
Jan Hubicka
8acb2f2414 recog.c (general_operand, [...]): Accept any mode for VOIDmode CONSTANT_P operands.
* recog.c (general_operand, nonimmediate_operand): Accept
	any mode for VOIDmode CONSTANT_P operands.

From-SVN: r35350
2000-07-30 18:53:33 +00:00
Jan Hubicka
e251e2a27f gcse.c (try_replace_reg): Use validate_replace_rtx_subexp instead of replace_rtx.
* gcse.c (try_replace_reg): Use validate_replace_rtx_subexp
	instead of replace_rtx.
	* recog.c (validate_replace_rtx_subexp): New function.
	* recog.h (validate_replace_rtx_subexp): Declare.

From-SVN: r35349
2000-07-30 18:44:13 +00:00
Jan Hubicka
e8dc6d5074 combine.c (simplify_set, [...]): Use full mask instead of GET_MODE_MASK (mode) as force_to_mode argument.
* combine.c (simplify_set, make_extraction, make_compound_operation
	make_field_assignment): Use full mask instead of GET_MODE_MASK (mode)
	as force_to_mode argument.

From-SVN: r35348
2000-07-30 18:40:12 +00:00
Jan Hubicka
4921989511 * combine.c (if_then_else_cond): Be sure that mode fits in HOST_WIDE_INT
From-SVN: r35347
2000-07-30 18:35:53 +00:00
Jan Hubicka
25af74a0a7 combine.c (record_promoted_value): Allow bitsize of mode to be equivalent to HOST_BITS_PER_WISE_INT.
* combine.c (record_promoted_value):  Allow bitsize of mode
	to be equivalent to HOST_BITS_PER_WISE_INT.

From-SVN: r35346
2000-07-30 18:30:05 +00:00
Jan Hubicka
dbab7b72b5 function.c (assign_stack_local_1, [...]): Do not call gen_mode_alignment when mode is BLKmode.
* function.c (assign_stack_local_1, assign_stack_temp_for_type):
	Do not call gen_mode_alignment when mode is BLKmode.

From-SVN: r35345
2000-07-30 18:26:46 +00:00
Jan Hubicka
0ca90ba6b4 * loop.c (express_from_1): Fix call of simplify_gen_binary.
From-SVN: r35344
2000-07-30 18:23:54 +00:00
Jan Hubicka
47b1e19b64 simplify-rtx.c (simplify_relational_operation): Verify that mode == VOIDmode implies both operands to be VOIDmode.
* simplify-rtx.c (simplify_relational_operation): Verify that mode ==
	VOIDmode implies both operands to be VOIDmode.
	(simplify_ternary_operation): Compute properly the mode of comparison.
	* combine.c (combine_simplify_rtx): Likewise.

From-SVN: r35343
2000-07-30 18:13:10 +00:00
Michael Hayes
c34d53740a basic-block.h (struct loops): New field rc_order.
* basic-block.h (struct loops): New field rc_order.
	* flow.c (flow_loops_cfg_dump): Dump rc_order if computed.
	(flow_loops_free): Free rc_order.
	(flow_depth_first_order_compute): New parameter rc_order.
	(flow_loops_find): Allocate rc_order and swap usage with
 	dfs_order.

From-SVN: r35342
2000-07-30 10:35:03 +00:00
Herman A.J. ten Brugge
52695ce05b c4x.md (set_ldp_prologue): Add for RTL prologue/epilogue.
* config/c4x/c4x.md (set_ldp_prologue): Add for RTL prologue/epilogue.
	(push_st, push_dp, pop_st, pop_dp, popqi_unspec): Likewise.
	(nodb_call, return_from_epilogue): Likewise.
	(return_from_interrupt_epilogue, prologue, epilogue): Likewise.
	* config/c4x/c4x.c (c4x_expand_prologue, c4x_expand_eplilogue): Add.
	* config/c4x/c4x-protos.h (c4x_interrupt_function_p): Add.
	(c4x_expand_prologue, c4x_expand_epilogue): Likewise.
	(c4x_valid_type_attribute_p): Likewise.
	* config/c4x/c4x.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete.
	(FUNCTION_BLOCK_PROFILER_EXIT): Convert to emit RTL.

Co-Authored-By: Michael Hayes <m.hayes@elec.canterbury.ac.nz>

From-SVN: r35341
2000-07-30 09:12:46 +00:00