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
Jim Wilson
79c0672ee6
(instantiate_decls): Use temporary allocation if
...
DECL_DEFER_OUTPUT is set.
From-SVN: r9394
1995-04-17 12:23:52 -07:00
Richard Kenner
6dfc5c6de5
(preserve_temp_slots): Clear ADDR_TAKEN on item that we are
...
preserving.
From-SVN: r9236
1995-03-27 20:45:05 -05:00
Richard Kenner
49468af2d9
(pop_function_context): Fix error in last change; reference old value
...
of current_function_decl before we modify it.
From-SVN: r9202
1995-03-18 16:37:13 -05:00
Jason Merrill
a0dabda52b
Handle compilation of nested functions from another scope.
...
From-SVN: r9185
1995-03-15 21:48:01 +00:00
Per Bothner
b001a02f29
Remove Feb 28's FUNCTION_NEEDS_STATIC_CHAIN changes.
...
From-SVN: r9106
1995-03-01 19:33:25 -08:00
Per Bothner
7ad8c4bf11
function.c (lookup_static_chain): Check for a static chain using FUNCTION_NEEDS_STATIC_CHAIN.
...
* function.c (lookup_static_chain): Check for a static chain
using FUNCTION_NEEDS_STATIC_CHAIN.
(init_function_start): Set current_function_needs_context depending
on FUNCTION_NEEDS_STATIC_CHAIN rather than decl_function_context.
From-SVN: r9096
1995-02-28 15:06:03 -08:00
Richard Kenner
64e6d9cc49
(assign_parms): Added arg to RETURN_POPS_ARGS.
...
From-SVN: r9011
1995-02-21 18:48:03 -05:00
Jim Wilson
71cd4a8d33
(delete_handlers): When clear LABEL_PRESERVE_P,
...
also remove label from nonlocal_label list.
From-SVN: r8782
1995-01-20 17:58:34 -08:00
Richard Kenner
4013a70901
(optimize_bit_field): Don't remove a SUBREG that changes mode class.
...
From-SVN: r8744
1995-01-13 18:43:36 -05:00
Jeff Law
3668e76e90
calls.c (expand_call): Set MEM_IN_STRUCT_P as needed on return value from assign_stack_temp.
...
* calls.c (expand_call): Set MEM_IN_STRUCT_P as needed on return
value from assign_stack_temp.
(store_one_arg): Likewise.
* expr.c (save_noncopied_parts): Likewise.
(expand_expr): Likewise.
* function.c (assign_parms): Likewise.
* integrate.c (expand_inline_function): Likewise.
* stmt.c (expand_decl): Likewise.
From-SVN: r8708
1994-12-29 19:50:28 -07:00
Doug Evans
b1f82ccff1
(instantiate_virtual_regs_1, case PLUS): If offset is
...
zero, make sure register replacement is still validated.
From-SVN: r8649
1994-12-13 15:04:05 +00:00
Doug Evans
ea5917da8d
(locate_and_pad_parm): Don't call pad_below for BLKmode parms in regs.
...
From-SVN: r8645
1994-12-12 18:14:40 +00:00
Doug Evans
d4b0a7a049
(locate_and_pad_parm): Do padding before rounding
...
so pad_below knows how much is needed.
From-SVN: r8622
1994-12-07 20:58:08 +00:00
Ian Lance Taylor
f76b9db287
Check target endianness at run time, not compile time
...
From-SVN: r8470
1994-11-16 21:10:09 +00:00
Jason Merrill
8eda074c87
(init_function_start): Use
...
POINTER_TYPE_P rather than checking the type against POINTER_TYPE
(to include references).
From-SVN: r8458
1994-11-16 00:45:41 +00:00
Doug Evans
b2a80c0d2b
(assign_stack_temp): Compute size of slot after
...
assign_stack_local has accounted for alignment.
From-SVN: r8438
1994-11-15 14:55:15 +00:00
Richard Kenner
84e24c036d
(assign_stack_temp): Always initialize p->rtl_expr.
...
From-SVN: r8429
1994-11-11 18:55:49 -05:00
Richard Kenner
199b61d8f8
(preserve_rtl_expr_result): find_temp_slot_from_address now used.
...
Don't bring the temp slot to an inner level than it was.
From-SVN: r8427
1994-11-11 17:37:45 -05:00
Richard Kenner
73620b82c8
(preserve_temp_slots): Preserve anything whose address was taken when
...
X is zero.
From-SVN: r8363
1994-10-31 07:24:20 -05:00
Per Bothner
f733963397
* function.c (current_function_outgoing_args_size): Update comment.
...
From-SVN: r8291
1994-10-17 16:09:35 -07:00
Richard Kenner
e19571dbde
(preserve_temp_slots): If X cannot be a temp slot, preserve all things
...
whose address was taken at the present level.
From-SVN: r8238
1994-10-07 16:13:58 -04:00
Richard Kenner
303ec2aa60
(assign_stack_temp): Abort if SIZE == -1.
...
From-SVN: r8235
1994-10-07 08:28:44 -04:00
Richard Kenner
a25d4ba2f6
(struct temp_slot): New field addr_taken.
...
(assign_stack_temp): Initialize it.
(mark_temp_addr_taken): New function.
(preserve_temp_slots): Decrement level of things at same level but whose
address has been taken.
From-SVN: r8224
1994-10-06 06:52:10 -04:00
Jason Merrill
e4a4639ef0
ontext, adds argument to indicate that the new function is not a nested function.
...
ontext, adds argument to indicate that the new
function is not a nested function.
(push_function_context): Call it.
(pop_function_context{,_from}): Similarly.
From-SVN: r8205
1994-10-02 23:16:51 +00:00
Richard Kenner
e87ee2a99d
(trampoline_address): Add missing call to round_trampoline.
...
From-SVN: r8157
1994-09-28 19:18:05 -04:00
Richard Kenner
b88a314292
(optimize_bit_field): Put any insns made by change_address in front of INSN.
...
(expand_function_end): Don't pass DECL_INITIAL to setjmp_protect if it is
error_mark_node.
From-SVN: r8146
1994-09-27 18:29:21 -04:00
Richard Kenner
7cbc7b0cac
(pop_function_context): Clear reg_renumber.
...
From-SVN: r8103
1994-09-20 17:51:32 -04:00
Jim Wilson
7a30f0c44e
(assign_parms): Set RTX_UNCHANGING_P on stack_parm
...
for const parameter before calling move_block_from_reg.
From-SVN: r8075
1994-09-12 11:51:39 -07:00