Richard Kenner
a94e4054a9
(mark_all_temps_used): New function.
...
From-SVN: r12671
1996-08-25 22:27:04 -04:00
Mike Stump
1ef08c6373
install EH code
...
From-SVN: r12550
1996-07-23 20:09:26 +00:00
Jim Wilson
e71f7aa5b5
(aggregate_value_p): If hard_function_value returns
...
a non-REG, then return 0.
From-SVN: r12413
1996-07-08 15:11:03 -07:00
Mike Stump
0f41302f47
formatting tweaks
...
From-SVN: r12390
1996-07-03 22:07:53 +00:00
Richard Kenner
abb522465e
(find_temp_slot_from_address): Check for overlap from BASE_OFFSET if X
...
is PLUS of virtual_stack_vars_rtx and const.
From-SVN: r12296
1996-06-18 07:12:49 -04:00
Richard Kenner
0e09cc26ee
(fixup_var_refs_1, case SIGN_EXTEND): Handle paradoxical SUBREGs as first operand.
...
(fixup_var_refs_1, case SIGN_EXTEND): Handle paradoxical SUBREGs as first
operand.
(fixup_var_regs_1, case SET): Handle paradoxical SUBREGs as first operand of
a ZERO_EXTRACT in SET_DEST.
From-SVN: r12243
1996-06-08 13:49:13 -04:00
Jim Wilson
5c4cdc9fdf
(assign_parms): Handle PARALLEL parameter in ENTRY_PARM.
...
From-SVN: r12191
1996-06-06 16:13:24 -07:00
Richard Kenner
69685820b3
(assign_parms): Tighten up code that makes REG_EQUIV notes for parms.
...
From-SVN: r12186
1996-06-06 18:38:13 -04:00
Richard Kenner
9e014ded89
Include bc-emit.h.
...
({save,restore}_machine_status): Add prototype for args.
(bc_runtime_type_code, bc_build_calldesc): Delete redundant decls.
(bc_emit_trampoline, bc_end_function): Likewise.
From-SVN: r12045
1996-05-19 12:24:26 -04:00
Doug Evans
49a2e5b2f7
* function.c (aggregate_value_p): Return 1 if TREE_ADDRESSABLE.
...
From-SVN: r11957
1996-05-09 01:04:06 +00:00
Richard Kenner
a00285d035
(assign_parms): Set RTX_UNCHANGING_P in stack_parm if parm is
...
read-only.
From-SVN: r11944
1996-05-06 18:45:05 -04:00
Richard Kenner
1e2414db59
(expand_function_end): Allow TRAMPOLINE_TEMPLATE
...
to be omitted on systems for which it is not cost effective.
From-SVN: r11822
1996-04-16 16:51:20 -04:00
Richard Kenner
1651bdfef8
(push_function_context_{to,from}): Save and restore
...
current_function_returns_pointer.
From-SVN: r11812
1996-04-16 10:19:07 -04:00
Mike Stump
9cca6a99da
function.c (preserve_temp_slots): Only preserve temporaries that happen to be at the current level.
...
* function.c (preserve_temp_slots): Only preserve temporaries that
happen to be at the current level.
Fixes p7325.C.
From-SVN: r11800
1996-04-15 18:46:12 +00:00
Jeff Law
2c7ee1a641
calls.c (expand_call): Remove current_call_is_indirect nonsense.
...
* calls.c (expand_call): Remove current_call_is_indirect nonsense.
Add additional argument to INIT_CUMULATIVE_ARGS.
(emit_library_call): Likewise.
(emit_library_call_value): Likewise.
* expr.c (expand_builtin): Likewise.
* function.c (assign_parms): Likewise.
* cp/method.c (emit_thunk): Likewise.
* config/pa/pa.h (hppa_args): New field "indirect".
(INIT_CUMULATIVE_ARGS): Initialize "indirect" field.
(FUNCTION_ARG): Check "indirect" field, rather than
"current_call_is_indirect".
* All other backends updated with new argument to
INIT_CUMULATIVE_ARGS
From-SVN: r11641
1996-03-29 07:37:11 -07:00
Jason Merrill
6d7306f76e
(expand_function_start): Don't set up context_display
...
unless current_function_needs_context.
From-SVN: r11615
1996-03-26 00:17:01 +00:00
Jason Merrill
38ee6ed956
(expand_expr, case *_DECL): If we make a non-local reference from a function with DECL_NO_STATIC_CHAIN set, abort.
...
(expand_expr, case *_DECL): If we make a non-local
reference from a function with DECL_NO_STATIC_CHAIN set, abort.
(expand_expr, case ADDR_EXPR): We don't need a trampoline for a
function with DECL_NO_STATIC_CHAIN set.
From-SVN: r11461
1996-03-05 22:16:33 +00:00
Richard Kenner
f6127c6a4a
(bc_expand_function_start): Likewise.
...
From-SVN: r11412
1996-03-04 08:40:01 -05:00
Richard Kenner
b02ab63aa4
({,round_}trampoline_address): TRAMPOLINE_ALIGNMENT is in bits, not
...
bytes.
From-SVN: r10993
1996-01-15 14:57:49 -05:00
Richard Kenner
b55d9ff814
(assign_temp): Add extra arg, DONT_PROMOTE.
...
Don't return (const_int 0) for VOIDmode.
From-SVN: r10923
1995-12-31 21:26:06 -05:00
Richard Kenner
e1686233d2
(instantiate_decls): Check DECL_SAVED_INSNS to see if obstack change
...
is needed.
From-SVN: r10915
1995-12-31 15:03:23 -05:00
Richard Kenner
638141a689
(assign_temp): Fix formatting.
...
From-SVN: r10905
1995-12-30 06:36:58 -05:00
Per Bothner
230f21b48b
function.c (assign_temp): New function.
...
* function.c (assign_temp): New function. Can handle Chill-style
variable-sized array with static maximum size.
From-SVN: r10899
1995-12-29 11:14:31 -08:00
Per Bothner
f9f29478ed
* function.c (assign_parms): Fix thinko for struct value arg.
...
From-SVN: r10897
1995-12-29 11:05:20 -08:00
Richard Kenner
6c6166bdcb
(assign_parms): Set REGNO_POINTER_ALIGN for parms that are pointers.
...
From-SVN: r10868
1995-12-27 15:22:26 -05:00
Richard Kenner
1d273bf509
(fixup_var_refs_1): Fix error in last change (when mode of VAR is not
...
the same as PROMOTED_MODE).
From-SVN: r10795
1995-12-18 07:49:21 -05:00
Richard Kenner
c46722a717
(fixup_var_refs_1): Fix two incorrect calls to single_set.
...
From-SVN: r10776
1995-12-16 06:57:01 -05:00
Richard Kenner
bc0ebdf9ee
(init_temp_slots): New function.
...
(init_function_start): Code moved to new function and called here.
From-SVN: r10733
1995-12-15 08:09:24 -05:00
Mike Stump
b2a59b1589
function.c (identify_blocks): Start with a chain of BLOCKs to match the rest of the backend (dbxout.c)...
...
* function.c (identify_blocks): Start with a chain of BLOCKs to
match the rest of the backend (dbxout.c), instead of just one
BLOCK.
(reorder_blocks): Ditto.
(all_blocks): Ditto.
* stmt.c (find_loop_tree_blocks): Pass the toplevel list of
blocks, not just the first subblock.
Fixes unroll1.C.
From-SVN: r10712
1995-12-14 00:00:20 +00:00
Richard Kenner
926d1ca5a3
(fixup_var_refs_1): Make pseudo for DEST in PROMOTED_MODE unless in a
...
SUBREG.
From-SVN: r10608
1995-11-26 14:50:48 -05:00
Richard Kenner
0006e95bb3
(put_reg_into_stack): New arg volatile_p.
...
(put_var_into_stack): Call with new arg.
From-SVN: r10579
1995-11-12 18:09:22 -05:00
Richard Kenner
926b1b9906
(assign_parms): Don't trust the callee to copy a TREE_ADDRESSABLE
...
type.
From-SVN: r10527
1995-10-26 21:55:22 -04:00
Richard Kenner
41fd457e3e
(init_function_start): Don't call init_insn_lengths here.
...
From-SVN: r10483
1995-10-20 17:57:07 -04:00
Richard Kenner
291dde90f0
(assign_stack_temp): Adjust full_size field of temp_slot when
...
splitting an unused slot.
From-SVN: r10422
1995-10-03 12:02:38 -04:00
Richard Kenner
4738c10dc6
(put_var_into_stack): For CONCAT case, order of placement depends on
...
FRAME_GROWS_DOWNWARD, not STACK_GROWS_DOWNWARD.
From-SVN: r10344
1995-09-12 18:48:36 -04:00
Richard Kenner
abc95ed36d
Fix spelling errors.
...
From-SVN: r10289
1995-08-28 06:54:22 -04:00
Richard Kenner
307d8cd67d
(assign_stack_temp): When split a slot, set base_offset and full_size in the newly created slot.
...
(assign_stack_temp): When split a slot, set base_offset and full_size in the
newly created slot.
(combine_temp_slots): Update full_size when slots are combined.
From-SVN: r10185
1995-07-28 09:09:22 -04:00
Richard Kenner
fc91b0d0aa
(struct temp_slot): New fields base_offset, full_size.
...
(assign_stack_temp): For !FRAME_GROWS_DOWNWARD, set p->size to size.
Set new fields base_offset and full_size.
(combine_temp_slots): Use new fields base_offset and full_size instead
of slot and size.
From-SVN: r10136
1995-07-14 19:15:58 -04:00
Richard Kenner
ebb904cbbe
(current_function_stdarg): New global variable.
...
(push_function_context_to): Save it.
(pop_function_context_from): Restore it.
(assign_parms): Set it.
(init_function_start): Clear it.
From-SVN: r10123
1995-07-14 08:03:09 -04:00
Richard Kenner
0cd6ef3529
(setjmp_args_warning): Remove bogus arg.
...
From-SVN: r10109
1995-07-10 19:14:25 -04:00
Richard Kenner
ad2413517b
(assign_parms): Do all conversions in CONVERSION_INSNS.
...
From-SVN: r9992
1995-06-15 17:51:06 -04:00
Richard Kenner
a35311b035
Update FSF address.
...
From-SVN: r9961
1995-06-15 07:52:21 -04:00
Richard Kenner
95f2916038
(assign_parms): Use convert_to_mode instead of gen_lowpart when
...
converting incoming parm.
From-SVN: r9941
1995-06-14 05:51:51 -04:00
Richard Kenner
621061f4f3
(assign_parms): Handle promotions of both passed and nominal modes separately and insert needed conversions.
...
(assign_parms): Handle promotions of both passed and nominal modes separately
and insert needed conversions.
(promoted_input_arg): Return 0 if nominal and passed modes differ.
From-SVN: r9922
1995-06-11 13:13:53 -04:00
Richard Kenner
cd5b346969
(assign_parms): Don't call promote_mode on arg unless
...
PROMOTE_FUNCTION_ARGS defined.
From-SVN: r9904
1995-06-08 18:49:09 -04:00
Richard Kenner
9faa82d8c0
Fix typos in comments.
...
From-SVN: r9712
1995-05-16 08:39:54 -04:00
Jason Merrill
497dc802f6
(expand_function_end): Don't warn about unused
...
anonymous or artificial parms.
From-SVN: r9585
1995-05-07 10:28:12 +00:00
Richard Kenner
db8717d93b
(expand_function_end): Warn about unused parms if both -Wunused and -W.
...
From-SVN: r9489
1995-04-26 17:56:19 -04:00
Richard Kenner
9dc0f53144
(assign_parms): If STACK_REGS is defined...
...
(assign_parms): If STACK_REGS is defined, generate USE insns before
the function body, thus showing which registers are filled with
parameters.
From-SVN: r9461
1995-04-25 19:08:04 -04:00
Jason Merrill
657bb6dc84
Use TREE_ADDRESSABLE rather than | TYPE_NEEDS_CONSTRUCTING to decide whether a...
...
Use TREE_ADDRESSABLE rather than
| TYPE_NEEDS_CONSTRUCTING to decide whether a parameter needs to be
| passed by invisible reference.
From-SVN: r9420
1995-04-20 22:26:30 +00:00