Jeff Law
c5c7673583
Merge in gcc2-ss-010999
...
From-SVN: r29150
1999-09-06 23:49:18 -06:00
Richard Henderson
d7db664650
Makefile.in (stor-layout.o): Depend on ggc.h.
...
* Makefile.in (stor-layout.o): Depend on ggc.h.
(expr.o): Depend on ggc.h.
(profile.o): Depend on ggc.h.
(stor-layout.o): Depend on ggc.h.
* emit-rtl.c (init_emit_once): Add gc roots.
* expr.c: Include ggc.h.
(emit_block_move): Add gc roots.
(clear_storage): Likewise.
* expr.h (init_stor_layout_once): New function.
* profile.c: Include ggc.h.
(init_arc_profiler): profiler_label is a root.
* scan.c (make_sstring_space): Trust xrealloc to function
correctly with first parameter NULL.
* stor-layout.c: Include ggc.h.
(set_sizetype): Add gc root.
(init_stor_layout_once): New function.
* toplev.c (compile_file): Call it.
Co-Authored-By: Bernd Schmidt <bernds@cygnus.co.uk>
Co-Authored-By: Mark Mitchell <mark@codesourcery.com>
From-SVN: r29122
1999-09-05 03:49:52 +00:00
Richard Henderson
e2bef702d6
dwarf2out.c (dwarf2out_line): Constify `lastfile'.
...
* dwarf2out.c (dwarf2out_line): Constify `lastfile'.
* except.c (expand_rethrow): Remove unused variable.
* expr.c (do_jump_by_parts_greater_rtx): Likewise.
* flow.c (replace_insns): Likewise.
(create_edge_list, verify_edge_list): Likewise.
* gcse.c (cprop_cc0_jump): Protect declaration with HAVE_cc0.
* genemit.c (gen_expand): Only emit `operands[N]' decl if there
is special code to run.
(main): Don't define operands to emit_operand.
* genrecog.c (main): Don't emit an empty peephole2_insn function.
* rtl.h (NOTE_BASIC_BLOCK): Use X0BBDEF.
* alpha/alpha.h (normal_memory_operand): Declare.
(reg_no_subreg_operand): Declare.
* alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
From-SVN: r29061
1999-09-02 10:29:25 -07:00
Nathan Sidwell
2ac84cfe01
expr.c (expand_expr): Cope with COND_EXPRs with one non-returning branch.
...
* expr.c (expand_expr): Cope with COND_EXPRs with one
non-returning branch.
From-SVN: r28825
1999-08-24 16:49:12 -04:00
Mark Mitchell
1da93fe012
expr.c (store_expr): Always pass down the target, even when not doing CSE.
...
* expr.c (store_expr): Always pass down the target, even when not
doing CSE.
From-SVN: r28824
1999-08-24 18:09:10 +00:00
Jeffrey A Law
d60eaeffd5
expr.c (convert_move): Fix arguments to TRULY_NOOP_TRUNCATION call.
...
* expr.c (convert_move): Fix arguments to TRULY_NOOP_TRUNCATION
call.
From-SVN: r28818
1999-08-24 02:48:27 -06:00
Bernd Schmidt
b30f05db01
Combined compare & jump infrastructure
...
From-SVN: r28752
1999-08-18 17:51:27 +00:00
Bernd Schmidt
49ad7cfa7a
Include function.h in most files.
...
Include function.h in most files. Remove most of the global variables
duplicated in function.h. Add accessor macros for them which access
current_function. Delete INLINE_HEADER rtx and related code, replace
with code using struct function to store inlining related data.
From-SVN: r28626
1999-08-09 14:00:21 +00:00
Jim Wilson
7c4a6db023
Allow PARALLEL return value for complex type represented as a CONCAT.
...
* expr.c (emit_group_load): Allow src to be a CONCAT.
From-SVN: r28546
1999-08-05 19:30:39 -07:00
Jason Merrill
2a94e396c6
* expr.c (expand_expr, case PLUS_EXPR): Fix parallel case, too.
...
From-SVN: r28511
1999-08-04 16:32:26 -04:00
Jason Merrill
a5efcd6370
expr.c (expand_expr, [...]): Get the mode from the tree for op1, not the rtl.
...
* expr.c (expand_expr, case PLUS_EXPR): Get the mode from the
tree for op1, not the rtl.
From-SVN: r28292
1999-07-27 06:23:05 -04:00
Richard Henderson
d3707adb79
builtins.c (expand_builtin_saveregs): Remove static, remove exp and ignore arguments, bail if no EXPAND_BUILTIN_SAVEREGS.
...
* builtins.c (expand_builtin_saveregs): Remove static, remove exp
and ignore arguments, bail if no EXPAND_BUILTIN_SAVEREGS.
(expand_builtin_next_arg): Accept ARGLIST not EXP.
(stabilize_va_list): New function.
(std_expand_builtin_va_start): New function.
(expand_builtin_va_start): New function.
(get_varargs_alias_set): New function.
(std_expand_builtin_va_arg): New function.
(expand_builtin_va_arg): New function.
(expand_builtin_va_end): New function.
(expand_builtin_va_copy): New function.
(expand_builtin): Call them.
* c-common.c (c_common_nodes_and_builtins): Build __builtin_va_list,
__builtin_{varargs_start,stdarg_start,end,copy}.
(build_va_arg): New function.
* c-common.h (CTI_PTR_TYPE, ptr_type_node): Delete.
(build_va_arg): Declare.
* c-decl.c (ptr_type_node, va_list_type_node): New.
* c-parse.gperf (__builtin_va_arg): New.
* c-parse.in (VA_ARG): New token.
(unary_expr): Recognize it.
* expr.c (expand_expr): Expand VA_ARG_EXPR.
* expr.h (std_expand_builtin_va_start): Declare.
(std_expand_builtin_va_arg): Declare.
(expand_builtin_va_arg): Declare.
(get_varargs_alias_set): Declare.
* tree.def (VA_ARG_EXPR): New.
* tree.h (BUILT_IN_VARARGS_START): New.
(BUILT_IN_STDARG_START, BUILT_IN_VA_END): New.
(ptr_type_node, va_list_type_node): Declare.
* tm.texi (EXPAND_BUILTIN_SAVEREGS): Kill unused ARGLIST argument.
* m32r.h (EXPAND_BUILTIN_SAVEREGS): Likewise.
* m88k.h, m88k.c: Likewise.
* mn10300.h, mn10300.c: Likewise.
* pa.h, pa.c: Likewise.
* rs6000.h, rs6000.c: Likewise.
* sh.h, sh.c: Likewise.
* sparc.h, sparc.c: Likewise.
* emit-rtl.c (operand_subword): Copy alias set.
(change_address): Likewise.
From-SVN: r28243
1999-07-25 18:21:03 -07:00
Bernd Schmidt
28f4ec01e9
Break out builtin function expansion from expr.c
...
From-SVN: r28217
1999-07-22 11:04:58 +00:00
Jeff Law
7f401c745e
Duh. INTVAL only wants the rtx, not an operand #.
...
From-SVN: r28072
1999-07-12 14:20:10 -06:00
Jeff Law
3ea744b25b
* expr.c (expand_expr): Fix thinko in last change.
...
From-SVN: r28069
1999-07-12 11:25:20 -06:00
Jeff Law
ae2591ab41
Remove redundant definition of constant_part that slipped through.
...
From-SVN: r28067
1999-07-12 07:35:07 -06:00
Jeffrey A Law
cbbc503edd
expr.c (expand_expr, [...]): Pass constants through immed_double_const to ensure they are properly truncated...
...
* expr.c (expand_expr, case PLUS_EXPR): Pass constants through
immed_double_const to ensure they are properly truncated then
sign extended.
From-SVN: r28066
1999-07-12 07:30:40 -06:00
Jeffrey A Law
f3dc586a42
expr.c (emit_block_move): Use copy_to_mode_reg for !TARGET_MEM_FUNCTIONS case too.
...
* expr.c (emit_block_move): Use copy_to_mode_reg for
!TARGET_MEM_FUNCTIONS case too.
From-SVN: r27862
1999-06-30 17:06:18 -06:00
Jeff Law
fe7bbd2ae6
Fix typos (missing commas) in last change
...
From-SVN: r27849
1999-06-30 01:02:03 -06:00
Jeff Law
4bc973aedd
expr.c (emit_block_move): Properly handle case where one of the block move arguments has a queued...
...
�
* expr.c (emit_block_move): Properly handle case where one of the
block move arguments has a queued increment or decrement.
(clear_storage): Similarly. Fix formatting goof.
From-SVN: r27822
1999-06-28 18:42:41 -06:00
Gavin Romig-Koch
6ab46dffd6
expr.c (expand_expr): Allow RTL_EXPR's through the MAX_INTEGER_COMPUTATION_MODE checks.
...
* expr.c (expand_expr): Allow RTL_EXPR's through the
MAX_INTEGER_COMPUTATION_MODE checks.
From-SVN: r27768
1999-06-25 08:28:35 +00:00
Jason Merrill
5f652c070f
expr.c (expand_expr): STRIP_NOPS before checking against MAX_INTEGER_COMPUTATION_MODE
...
* expr.c (expand_expr): STRIP_NOPS before checking against
MAX_INTEGER_COMPUTATION_MODE
(check_max_integer_computation_mode): Likewise.
From-SVN: r27715
1999-06-22 20:49:46 -04:00
Jim Wilson
3dbecef9bc
Fix for abort when PROMOTE_MODES defined but PROMOTE_FUNCTION_{ARG,RETURN} not.
...
* expr.c (store_expr): When target is a promoted subreg, return a
promoted subreg as a result.
From-SVN: r27705
1999-06-22 07:39:07 -07:00
Mark Mitchell
c15398de77
tree.def (TYPE_NONCOPIED_PARTS): Revise documentation to match reality.
...
* tree.def (TYPE_NONCOPIED_PARTS): Revise documentation to match
reality.
* expr.c (init_noncopied_parts): Don't generate initializers for
parts that don't need them.
From-SVN: r26969
1999-05-17 07:21:14 +00:00
Craig Burley
41af162ca7
disable maintenance of errno
...
From-SVN: r26897
1999-05-12 00:38:14 -04:00
Mark Mitchell
5c7a310f81
emit-rtl.c (start_sequence): Expand comments.
...
* emit-rtl.c (start_sequence): Expand comments.
(start_sequence_for_rtl_expr): Likewise.
(push_to_sequence): Likewise.
(end_sequence): Likewise.
* expr.c (inhibit_defer_pop): Likewise.
* expr.h (inhibit_defer_pop): Likewise.
(NO_DEFER_POP): Likewise.
(OK_DEFER_POP): Likewise.
From-SVN: r26704
1999-04-29 23:01:29 +00:00
Zack Weinberg
76bbe0281d
expr.c (emit_move_insn_1): Abort if MODE argument is invalid.
...
1999-04-27 08:32 -0400 Zack Weinberg <zack@rabi.columbia.edu>
* expr.c (emit_move_insn_1): Abort if MODE argument is invalid.
(compare): Punt if TREE_OPERAND (exp, 0) is an ERROR_MARK.
From-SVN: r26673
1999-04-27 05:34:43 +00:00
Mumit Khan
6a9c4aed1a
function.c (put_var_into_stack): Change ptr_mode to Pmode in setup for chkr_set_right_libfunc calls.
...
* function.c (put_var_into_stack): Change ptr_mode to Pmode
in setup for chkr_set_right_libfunc calls.
(assign_params): Likewise.
* expr.c (emit_push_insn): Change ptr_mode to Pmode in
setup for chkr_copy_bitmap_libfunc and chkr_set_right_libfunc calls.
(expand_assignment): Change ptr_mode to Pmode in
setup for chkr_add_libfunc and chkr_copy_bitmap_libfunc.
(store_expr): Change ptr_mode to Pmode in
setup for chkr_add_libfunc and chkr_copy_bitmap_libfunc.
(expand_expr): Change ptr_mode to Pmode in
setup for chkr_check_addr_libfunc.
(expand_builtin): Change ptr_mode to Pmode in
setup for chkr_check_str_libfunc, chkr_copy_bitmap_libfunc and
chkr_check_addr_libfunc.
* calls.c (rtx_for_function_call): Change ptr_mode to Pmode in
setup for chkr_check_exec_libfunc.
(expand_call): Change ptr_mode to Pmode in
setup for chkr_set_right_libfunc.
(expand_call): Change ptr_mode to Pmode in
setup for chkr_set_right_libfunc.
(store_one_arg): Change ptr_mode to Pmode in
setup for chkr_set_right_libfunc.
Co-Authored-By: Donn Terry <donn@interix.com>
From-SVN: r26664
1999-04-26 16:51:09 -06:00
Donn Terry
ab40f61225
* expr.c (expand_assignment): Improve test for pointer type.
...
From-SVN: r26634
1999-04-25 18:39:01 -06:00
Donn Terry
6419e5b063
expr.c (expand_assignment): Force pointers to proper mode if POINTERS_EXTEND_UNSIGNED is defined.
...
* expr.c (expand_assignment): Force pointers to proper mode if
POINTERS_EXTEND_UNSIGNED is defined.
From-SVN: r26484
1999-04-15 16:52:22 -06:00
Jeffrey A Law
efd07ca794
expr.c (expand_expr, [...]): Do not try to optimize a aggregate address which has VOIDmode.
...
* expr.c (expand_expr, case ARRAY_REF, COMPONENT_REF, BIT_FIELD_REF):
Do not try to optimize a aggregate address which has VOIDmode.
Mirrors March 23 change to expand_assignment.
From-SVN: r26307
1999-04-08 19:35:36 -06:00
Richard Henderson
d22cba0ade
expr.c (expand_builtin): Use copy_to_mode_reg; don't force constants into a register.
...
* expr.c (expand_builtin) [BUILT_IN_RETURN_ADDRESS]: Use
copy_to_mode_reg; don't force constants into a register.
From-SVN: r26231
1999-04-06 19:14:06 -07:00
Richard Henderson
89c846727b
expr.c (expand_builtin_setjmp): Put setjmp return label on nonlocal_goto_handler_labels for flow.
...
* expr.c (expand_builtin_setjmp): Put setjmp return label on
nonlocal_goto_handler_labels for flow.
From-SVN: r26225
1999-04-06 15:10:24 -07:00
Michael Hayes
6e01bd94f8
tm.texi (USE_LOAD_POST_DECREMENT, [...]): Document.
...
* tm.texi (USE_LOAD_POST_DECREMENT, USE_LOAD_PRE_DECREMENT,
USE_STORE_POST_DECREMENT, USE_STORE_PRE_DECREMENT): Document.
(USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT,
USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Fix documentation.
* rtl.h (USE_LOAD_POST_DECREMENT, USE_LOAD_PRE_DECREMENT,
USE_STORE_POST_DECREMENT, USE_STORE_PRE_DECREMENT,
USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT,
USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Provide default
definition.
* expr.c: (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT,
USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Delete default
definition.
From-SVN: r26134
1999-04-02 15:39:55 +00:00
Jim Wilson
6ab06cbb5b
Fix irix6 libstdc++ v3 build failure with complex types.
...
* expr.c (store_field): When check direct_store, assume all complex
modes can be directly stored.
From-SVN: r26104
1999-04-01 04:05:24 -08:00
Jeffrey A Law
9a7b9f4f06
expr.c (expand_assignment): Do not try to optimize a aggregate address which has VOIDmode.
...
* expr.c (expand_assignment): Do not try to optimize a aggregate
address which has VOIDmode.
From-SVN: r25934
1999-03-23 15:33:35 -07:00
Martin v. Löwis
68557e1473
* expr.c (expand_expr): Handle ERROR_MARK much earlier.
...
From-SVN: r25864
1999-03-19 14:26:50 +00:00
Kaveh R. Ghazi
91813b2835
Warning fixes:
...
* calls.c (initialize_argument_information): Mark parameters
`num_actuals' and `n_named_args' with ATTRIBUTE_UNUSED.
* dbxout.c (dbxout_start_new_source_file): Likewise for parameter
`filename'.
(dbxout_finish): Likewise for parameters `file' and `filename'.
(dbxout_prepare_symbol): Likewise for parameter `decl'.
(dbxout_begin_function): Likewise.
* explow.c (hard_function_value): Likewise for parameter `func'.
* function.c (locate_and_pad_parm): Likewise for parameter `fndecl'.
* expmed.c (expand_divmod): Omit unused argument to `expand_abs'.
* expr.c (expand_expr): Likewise.
* expr.h (expand_abs): Delete unused argument from prototype.
* optabs.c (expand_abs): Remove unused parameter `unsignedp'.
* sdbout.c (sdbout_init): Mark parameter `syms' with ATTRIBUTE_UNUSED.
(sdbout_end_block): Likewise for parameter `n'.
* toplev.c (debug_define): Likewise for parameters `lineno' and
`buffer'.
(debug_undef): Likewise.
* varasm.c (named_section): Likewise for parameter 'reloc'.
(assemble_external): Likewise for parameter `decl'.
(assemble_alias): Likewise for parameter `target'.
From-SVN: r25858
1999-03-19 08:50:14 +00:00
Jeffrey A Law
6bcd94ae80
expr.c (expand_expr): Allow a CALL_EXPR with a mode wider than MAX_INTEGER_COMPUTATION_MODE.
...
* expr.c (expand_expr): Allow a CALL_EXPR with a mode wider than
MAX_INTEGER_COMPUTATION_MODE.
From-SVN: r25714
1999-03-11 17:02:32 -07:00
Per Bothner
b335b813b5
tree.def (TRY_FINALLY_EXPR, [...]): New tree nodes,
...
h
* tree.def (TRY_FINALLY_EXPR, GOTO_SUBROUTINE_EXPR): New tree nodes,
* expr.c (expand_expr): Support new tree nodes.
From-SVN: r25308
1999-02-19 03:19:30 -08:00
Jeffrey A Law
c5d5d46141
except.c (start_catch_handler): Use emit_cmp_and_jump_insns.
...
* except.c (start_catch_handler): Use emit_cmp_and_jump_insns.
* explow.c (probe_stack_range): Likewise.
* expmed.c (do_cmp_and_jump): Likewise.
* expr.c (store_expr, expand_expr, expand_builtin): Likewise.
(do_tablejump): Likewise.
* stmt.c (expand_expr_stmt, expand_end_case): Likewise.
(do_jump_if_equal, emit_case_nodes): Likewise.
* optabs.c (emit_cmp_and_jump_insns): Clarify comments. If UNSIGNEDP,
then convert comparison to an unsigned code before emitting the jump.
(expand_float, expand_fix): Use emit_cmp_and_jump_insns.
From-SVN: r25205
1999-02-14 13:08:39 -07:00
Richard Henderson
acd693d10c
output.h (current_function_has_computed_jump): Rename from current_function_addresses_labels.
...
* output.h (current_function_has_computed_jump): Rename from
current_function_addresses_labels.
* function.h (struct function): Likewise for addresses_labels member.
* rtl.h (FUNCTION_FLAGS_HAS_COMPUTED_JUMP): Likewise.
* function.c (current_function_has_computed_jump): Likewise.
Update all references.
* integrate.c (function_cannot_inline_p):
Test current_function_has_computed_jump instead of addresses_labels.
(initialize_for_inline): Likewise save.
(output_inline_function): Likewise restore.
* expr.c (expand_expr): Don't reference addresses_labels variables.
* stmt.c (expand_computed_goto): Set has_computed_jump.
From-SVN: r25100
1999-02-08 13:39:33 -08:00
Jeffrey A Law
ab87f8c8d1
Merge in gcc2 snapshot 19980929. See gcc/ChangeLog and gcc/FSFChangeLog for
...
details.
From-SVN: r24879
1999-01-26 18:43:17 -07:00
Andrew MacLeod
15914757c6
* expr.c (emit_push_insn): Fix Dumb Typo.
...
From-SVN: r24811
1999-01-21 20:50:56 +00:00
Andrew MacLeod
fbe1758db2
expr.c (MOVE_BY_PIECES_P): Define condition for deciding to use move_by_pieces.
...
* expr.c (MOVE_BY_PIECES_P): Define condition for deciding to use
move_by_pieces.
(MOVE_MAX_PIECES): Define maximum number of bytes to move at once.
(USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_DECREMENT): Define defaults.
(USE_STORE_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Define defaults.
(move_by_pieces): Use new macros.
(emit_block_move): Use new macros.
(clear_by_pieces): Use new macros.
(clear_storage): Use new macros.
(emit_push_insn): Use new macros.
(expand_expr): Use new macros.
* config/sh/sh.h (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_DECREMENT):
Define.
(USE_STORE_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Define.
(MOVE_BY_PIECES_P): Define based on alignment and TARGET_SMALLCODE.
(MOVE_MAX_PIECES): move 8 bytes on SH4.
* tm.texi(MOVE_BY_PIECES_P, MOVE_MAX_PIECES, USE_LOAD_POST_INCREMENT,
USE_LOAD_PRE_DECREMENT, USE_STORE_POST_INCREMENT,
USE_STORE_PRE_DECREMENT): Describe new macros.
From-SVN: r24801
1999-01-21 11:33:44 +00:00
Richard Henderson
ee5332b81a
cse.c (fold_rtx): Revert 29 Dec change.
...
* cse.c (fold_rtx): Revert 29 Dec change.
(cse_insn): Revert 12 Jan change.
* expr.c (expand_builtin): Don't emit CONST around CONSTANT_P_RTX.
* regclass.c (reg_scan_mark_refs): Revert 29 Dec change.
* rtl.def: Likewise.
* rtl.h (CONSTANT_P): Likewise.
* expr.c (emit_move_insn): Never try to flush CONSTANT_P_RTX
to memory.
* recog.c (immediate_operand): Accept CONSTANT_P_RTX.
* alpha.c (input_operand): Likewise.
* c4x.c (const_operand): Likewise.
* explow.c (allocate_dynamic_stack_space): Use register_operand
instead of arith_operand, which does not exist.
* 1750a.h: Fix comment closure.
* a29k.c (a29k_set_memflags): Fix typo in 19 Jan change.
* arc.md (one_cmplsi2_set_cc_insn): Fix set mode mismatch.
* arm.h (TARGET_SWITCHES): Fix typo.
* i370.md (anon mult and div patterns): Fix set mode mismatch.
* i860.c (output_delayed_branch): Fix operands to constrain_operands.
(output_delay_insn): Likewise.
* m88k.md (anon rotate insns): Fix set mode mismatch.
(anon BLKmode moves): Commonize and fix set mode mismatches.
* ns32k.md (udivmoddi[shq]i4_internal): Fix mode mismatch.
* romp.md (movdf): Fix typo.
From-SVN: r24796
1999-01-20 18:21:28 -08:00
Richard Henderson
70f8a7a13f
Update comment to match code.
...
From-SVN: r24785
1999-01-20 01:15:00 -08:00
Richard Henderson
d804ed43d0
expr.c (do_jump_for_compare): Handle conditional branch expanders emitting multiple jump instructions.
...
* expr.c (do_jump_for_compare): Handle conditional branch expanders
emitting multiple jump instructions.
* jump.c (condjump_label): New function.
* rtl.h (condjump_label): Declare it.
From-SVN: r24773
1999-01-19 13:30:48 -08:00
Richard Henderson
c14c652997
expr.c (emit_move_insn_1): Revert 17 Dec change.
...
* expr.c (emit_move_insn_1): Revert 17 Dec change. Don't emit
clobber during or after reload.
From-SVN: r24772
1999-01-19 13:11:00 -08:00
Mark Mitchell
c6df88cbec
rtl.h (rtx_def): Update documentation.
...
* rtl.h (rtx_def): Update documentation.
(MEM_IN_STRUCT_P): Likewise.
(MEM_SCALAR_P): New macro.
(MEM_COPY_ATTRIBUTES): Likewise.
(MEM_SET_IN_STRUCT_P): Likewise.
* rtl.texi (MEM_SCALAR_P): Document.
* alias.c (canon_rtx): Use MEM_COPY_ATTRIBUTES.
(fixed_scalar_and_varying_struct_p): New function. Use
MEM_SCALAR_P rather than !MEM_IN_STRUCT_P.
(aliases_everything_p): Likewise.
(true_dependence): Use them.
(write_dependence_p): New function, containing code common to
anti_dependence and output_dependence.
(anti_dependence): Use it.
(output_dependence): Likewise.
* calls.c (save_fixed_argument_area): Don't clear
MEM_IN_STRUCT_P.
(expand_call): Use MEM_SET_IN_STRUCT_P.
(emit_library_call): Don't clear MEM_IN_STRUCT_P.
(emit_library_call_value): Likewise.
(store_one_arg): Use MEM_SET_IN_STRUCT_P.
* combine.c (simplify_rtx): Use MEM_COPY_ATTRIBUTES.
(make_extraction): Likewise.
(simplify_shift_const): Likewise.
(gen_lowpart_for_combine): Likewise.
* cse.c (gen_lowpart_if_possible): Use MEM_COPY_ATTRIBUTES.
* emit-rtl.c (operand_subword): Likewise.
(change_address): Likewise.
* explow.c (stabilize): Use MEM_COPY_ATTRIBUTES.
* expr.c (protect_from_queue): Use MEM_COPY_ATTRIBUTES.
(emit_group_store): Use MEM_SET_IN_STRUCT_P.
(copy_blkmode_from_reg): Likewise.
(store_field): Likewise.
(expand_expr): Remove bogus guesswork setting MEM_IN_STRUCT_P
heuristically. Use MEM_SET_IN_STRUCT_P.
(get_memory_rtx): Likewise.
* final.c (alter_subreg): Use MEM_COPY_ATTRIBUTES.
* function.c (assign_stack_temp): Clear MEM_SCALAR_P and
MEM_ALIAS_SET on newly returned MEMs.
(assign_temp): Use MEM_SET_IN_STRUCT_P.
(put_reg_into_stack): Likewise.
(fixup_var_refs1): Use MEM_COPY_ATTRIBUTES.
(gen_mem_addressof): Use MEM_SET_IN_STRUCT_P.
(assign_parms): Likewise.
(expand_function): Likewise.
* integrate.c (expand_inline_function): Likewise.
(copy_rtx_and_substitute): Use MEM_COPY_ATTRIBUTES.
* loop.c (note_addr_stored): Remove check on MEM_IN_STRUCT_P.
* optabs.c (gen_move_insn): Use MEM_COPY_ATTRIBUTES.
* print-rtl.c (print_rtx): Print /f for frame_related.
* recog.c (validate_replace_rtx_1): Use MEM_COPY_ATTRIBUTES.
* reload1.c (reload): Copy MEM_SCALAR_P as well.
* stmt.c (expand_decl): Use MEM_SET_IN_STRUCT_P.
(expand_anon_union_decl): Use MEM_COPY_ATTRIBUTES.
* varasm.c (make_decl_rtl): Use MEM_SET_IN_STRUCT_P.
(output_constant_def): Likewise.
* a29k.c (a29k_set_memflags_1): Take scalar_p.
Set MEM_SCALAR_P.
(a29k_set_memflags): Use it.
* alpha.c (get_aligned_mem): Use MEM_COPY_ATTRIBUTES.
* c4x.c (c4x_scan_for_ld): Likewise.
* h8300.c (fix_bit_operand): Likewise.
* m88k.c (legitimize_address): Likewise.
(block_move_loop): Likewise.
(block_move_no_loop): Likewise.
(block_move_sequence): Likewise.
(m88k_builtin_saveregs): Use MEM_SET_IN_STRUCT_P.
* mips/abi64.h (SETUP_INCOMING_VARARGS): Likewise.
* rs6000.c (expand_block_move_insn): Use MEM_COPY_ATTRIBUTES.
* sh.c (sh_builtin_saveregs): Use MEM_SET_IN_STRUCT_P.
* arm.h (arm_gen_load_multiple): Take scalar_p.
(arm_store_load_multiple): Likewise.
* arm.c (arm_gen_load_multiple): Likewise.
(arm_gen_store_multiple): Likewise.
(arm_gen_movstrqi): Treat MEM_SCALAR_P like MEM_IN_STRUCT_P.
From-SVN: r24759
1999-01-19 10:32:33 +00:00