Commit Graph

79 Commits

Author SHA1 Message Date
Jeff Law
535d0d1720 * integrate.c (finish_inline): Don't set DECL_INLINE.
From-SVN: r8991
1995-02-21 10:42:19 -07:00
Richard Kenner
d7084298a8 Update comment.
From-SVN: r8807
1995-01-25 14:28:07 -05:00
Jim Wilson
fb854c63db (save_for_inline_copying): Add comment that
nonlocal_label list should be updated if it ever can be nonzero.

From-SVN: r8783
1995-01-20 17:59:17 -08: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
Richard Kenner
136cf361d6 Fix comments.
From-SVN: r8618
1994-12-06 19:05:08 -05:00
Richard Kenner
2132517db0 (expand_inline_function): If called function calls alloca, save and
restore SP around its call.

From-SVN: r8601
1994-12-02 18:11:17 -05:00
Richard Kenner
83b93f40ff (subst_constant): Don't treat all virtual regs as constants, just
those that are off FP and AP, but not SP.

From-SVN: r8600
1994-12-02 18:09:21 -05:00
Jeff Law
203436d9aa integrate.c (function_cannot_inline_p): Do not inline functions which return a BLKmode value in registers.
* integrate.c (function_cannot_inline_p): Do not inline functions
	which return a BLKmode value in registers.

From-SVN: r8576
1994-11-28 22:44:47 -07:00
Richard Kenner
c8ad69c183 (function_cannot_inline): Don't inline if any parm is a transparent
union.

From-SVN: r7950
1994-08-19 17:34:11 -04:00
Richard Kenner
c9734bb90e (expand_inline_function): Use single_set when appropriate.
Delete insn that sets static_chain_incoming_rtx before its use.
(subst_constants): Treat virtual reg as constant.

From-SVN: r7910
1994-08-12 18:59:51 -04:00
Jason Merrill
9175051cae (expand_inline_function): Don't fall down trying to
pass things by invisible reference.

From-SVN: r7842
1994-07-31 21:31:00 +00:00
Jason Merrill
51783c1428 (output_inline_function): Unset DECL_DEFER_OUTPUT on
fndecl.

From-SVN: r7508
1994-06-16 23:38:08 +00:00
Richard Kenner
4c9a05bc55 Cast pointer operands to bzero, bcopy, and bcmp to (char *).
From-SVN: r7472
1994-06-14 18:19:28 -04:00
Jason Merrill
f6bad6ff73 (integrate_decl_tree): Use copy_node to make a copy of the decl.
(integrate_decl_tree): Use copy_node to make a copy
        of the decl.  Also call copy_lang_decl to copy the
        language-specific bits.

From-SVN: r7296
1994-05-14 01:56:51 +00:00
Richard Kenner
d7e09326f2 (save_for_inline_copying, expand_inline_function): Copy
CALL_INSN_FUNCTION_USAGE field.

From-SVN: r7248
1994-05-06 17:53:31 -04:00
Richard Kenner
81fbaa4179 Add prototypes for static functions.
Use CONST_DOUBLE_FROM_REAL_VALUE macro for immed_real_const_1.

From-SVN: r7117
1994-04-21 15:31:30 -04:00
Richard Kenner
5d3fe1fed2 (function_cannot_inline_p): Use current_function_varargs.
From-SVN: r6986
1994-04-06 07:50:07 -04:00
Richard Kenner
29ff151469 (save_for_inline_nocopy): Remove decls of unused vars.
(expand_inline_function): Remove two block-scope decls of unused variable COPY.

From-SVN: r6887
1994-03-25 14:14:33 -05:00
Jim Wilson
340aa7f68e ((subreg_realpart_p): New function.
(copy_rtx_and_substitute): Use subreg_realpart_p
instead of subreg_lowpart_p for CONCAT.

From-SVN: r6666
1994-02-27 16:51:33 -08:00
Richard Kenner
2d8d0db8f8 (expand_inline_function): Allow extra arguments and force their
evaluation for side-effects.

From-SVN: r6661
1994-02-27 18:36:32 -05:00
Richard Kenner
3eda169fe0 (expand_inline_function): Remove last change.
From-SVN: r6211
1993-12-11 18:41:43 -05:00
Richard Kenner
f231e307b4 (initialize_for_inline): Handle CONCAT when setting up parmdecl_map.
(expand_inline_function): Make test for overlap of TARGET and args_vals[i]
more conservative.

From-SVN: r6207
1993-12-11 08:33:22 -05:00
Richard Stallman
c31e0b8bb1 (output_inline_function): Pass new arg to expand_function_end.
From-SVN: r6139
1993-11-23 06:18:46 +00:00
Richard Kenner
2b145ea883 (global_const_equiv_map_size): New variable.
(expand_inline_function): Set it.
(expand_inline_function, copy_rtx_and_substitute, try_constants):
Never access const_equiv_map without checking for out-of-range.
(mark_stores): Likewise.

From-SVN: r6061
1993-11-10 19:31:34 -05:00
Richard Stallman
bc2eeab256 (expand_inline_function): Handle CONCAT as rtl for parm.
(copy_rtx_and_substitute): For subreg, handle case where the reg
inside turns into a CONCAT.

From-SVN: r6006
1993-11-05 06:57:43 +00:00
Richard Stallman
fd28789a7a (expand_inline_function): Don't call push_temp_slots...
(expand_inline_function): Don't call
push_temp_slots, free_temp_slots, and pop_temp_slots when handling
parameters, because they might end up in a temp slot.

From-SVN: r5999
1993-11-04 23:12:17 +00:00
Richard Kenner
db6b21866d (expand_inline_function): Push and pop temp slots around making new
temp slots and freeing them.

From-SVN: r5525
1993-09-28 21:27:07 -04:00
Jan Brittenson
ca695ac93d bytecode
From-SVN: r5379
1993-09-21 14:25:24 -07:00
Jim Wilson
2edc3b33ce (function_cannot_inline_p): Don't inline if it's set.
From-SVN: r5338
1993-09-15 23:13:54 -07:00
Richard Stallman
81d823048d (copy_for_inline, copy_rtx_and_substitute):
Always preserve the volatil flag when copying ASM_OPERANDS.

From-SVN: r5324
1993-09-15 12:14:19 +00:00
Richard Stallman
5be957a209 (expand_inline_function): Use convert_modes.
From-SVN: r5303
1993-09-10 13:47:31 +00:00
Richard Kenner
23d5d23d23 (expand_inline_function): Copy args that are in hard regs instead of
substiting them directly into insns.

From-SVN: r5154
1993-08-13 14:30:00 -04:00
Richard Kenner
81d57b8e1d (copy_rtx_and_substitute, case LABEL_REF): If we turn off
LABEL_REF_NONLOCAL_P, increment function_call_count.

From-SVN: r5040
1993-07-29 18:58:13 -04:00
Richard Kenner
c1ceaaa6f2 (copy_for_inline, case LABEL_REF): Properly copy LABEL_REF with LABEL_REF_NONLOCAL_P set.
(copy_for_inline, case LABEL_REF): Properly copy LABEL_REF
with LABEL_REF_NONLOCAL_P set.
Copy LABEL_OUTSIDE_LOOP_P flag.
(copy_rtx_and_substitute, case LABEL_REF): Likewise.
(copy_rtx_and_substitute, case CONST): Make recursive call for a LABEL_REF in
the constant pool.

From-SVN: r5034
1993-07-28 15:38:13 -04:00
Richard Kenner
a6dd1cb60d (function_cannot_inline_p): Can now inline nested functions.
(expand_inline_function): Set up static chain if needed.
(output_inline_function): Don't switch to temporary allocation here.

From-SVN: r4753
1993-06-26 11:18:28 -04:00
Richard Stallman
30caed6d0a (expand_inline_function): Always copy a SUBREG as an
argument into a REG.

From-SVN: r4638
1993-06-05 17:19:13 +00:00
Richard Stallman
e62d14be42 (expand_inline_function): Increment map->const_age before copying REG_NOTES.
From-SVN: r4604
1993-05-31 04:33:15 +00:00
Richard Stallman
db25e49216 (expand_inline_function): When copy REG_NOTES, must
also call subst_constants.

From-SVN: r4587
1993-05-28 22:51:47 +00:00
Richard Stallman
1b6d951bcd (expand_inline_function): Set MEM_IN_STRUCT_P for return value if needed.
From-SVN: r4581
1993-05-27 04:31:39 +00:00
Jim Wilson
a70f7bb27e (expand_inline_function): Set map->integrating.
(copy_rtx_and_substitute, case MEM): Don't copy RTX_UNCHANGING_P
when doing function inlining.

From-SVN: r4453
1993-05-14 10:21:54 -07:00
Richard Kenner
36aa0bf595 (expand_inline_function): Don't call convert_to_mode unless we need to...
(expand_inline_function): Don't call convert_to_mode unless we need
to; some converstions of VOIDmode objects can mess them up.

From-SVN: r4359
1993-05-06 12:54:41 -04:00
Richard Kenner
a76386d8e5 (integrate_parm_decls): Copy the DECL_ARG_TYPE value from the PARM_DECL being...
(integrate_parm_decls): Copy the DECL_ARG_TYPE value from the
PARM_DECL being cloned into the DECL_ARG_TYPE field of the clone.

From-SVN: r4188
1993-04-21 18:13:54 -04:00
Richard Stallman
d632e92776 (copy_rtx_and_substitute, case USE):
Don't remove a subreg if ORIG had one.

From-SVN: r3814
1993-03-21 21:28:23 +00:00
Richard Kenner
e2eb57b721 (subst_constants): Use proper mode when getting equivalent constant for paradoxical SUBREG in SET_DEST.
(subst_constants): Use proper mode when getting equivalent constant for
paradoxical SUBREG in SET_DEST.
(mark_stores): Clean up and tighten to properly handle hard regs.

From-SVN: r3574
1993-03-01 07:31:19 -05:00
Richard Kenner
293e1467cb (copy_and_substitute_rtx, case REG): Call gen_lowpart instead of
making an explicit SUBREG.

From-SVN: r3348
1993-01-26 07:14:22 -05:00
Jeff Law
f9b06ea445 * integrate.c (FIXED_BASE_PLUS_P): Fix typo.
From-SVN: r3255
1993-01-15 17:32:00 -07:00
Brendan Kehoe
c3c305882b integrate.c (const_equiv): Delete decl, since it's never defined.
* integrate.c (const_equiv): Delete decl, since it's never defined.
	(fold_out_const_cc0): Likewise.
	* loop.c (delete_insn_forces): Likewise.
	* final.c (alter_cond): Delete decl, since it's never defined.

From-SVN: r3209
1993-01-12 18:29:55 -05:00
Tom Wood
1d7a9c94f2 (expand_inline_function): Don't output line notes
for implicit formals.

From-SVN: r2848
1992-12-08 13:34:34 +00:00
Richard Stallman
2ad701bad0 (expand_inline_function): Ensure a REG used as
COPY has REG_USERVAR_P set if LOC does.

From-SVN: r2796
1992-11-25 18:03:49 +00:00
Richard Stallman
637c5064e8 (expand_inline_function): Use the original declaration of the inlined function...
(expand_inline_function): Use the original declaration of the inlined
function rather than a redeclaration as the BLOCK_ABSTRACT_ORIGIN of the body.

From-SVN: r2774
1992-11-22 21:56:56 +00:00