Per Bothner
071a659510
* expr.c (store_constructor): Add support for SET_TYPE.
...
From-SVN: r8604
1994-12-02 20:17:51 -08:00
Richard Kenner
5c5033c3c7
(convert_move): When emit multiword conversion, force FROM into a new
...
pseudo-reg if it overlaps TO.
From-SVN: r8593
1994-11-30 19:07:49 -05:00
Richard Kenner
8ca00751f7
(emit_block_move): Only use movstr if size is small enough constant or
...
MODE is at least BITS_PER_WORD.
From-SVN: r8585
1994-11-30 18:13:44 -05:00
Jeff Law
aaf87c453b
expr.c (expand_assignment): For BLKmode structure returns...
...
* expr.c (expand_assignment): For BLKmode structure returns,
copy the return value from registers into the target memory
locations.
From-SVN: r8575
1994-11-28 22:44:19 -07:00
Jim Wilson
c7a7ac465e
(move_by_pieces, move_by_pieces_ninsns, emit_push_insn,
...
expand_assignment, store_field, expand_expr): Likewise.
(SLOW_UNALIGNED_ACCESS): Default to STRICT_ALIGNMENT, not zero.
From-SVN: r8569
1994-11-28 16:58:52 -08:00
Richard Kenner
a98c9f1ab2
(emit_move_insn): If splitting up into individual words and X is a push_operand...
...
(emit_move_insn): If splitting up into individual words and X is a
push_operand, do the push and reference top of stack.
From-SVN: r8554
1994-11-23 13:30:35 -05:00
Richard Kenner
5a32d03841
(convert_move): Don't put FROM in a register if it is a SUBREG.
...
(store_expr): If don't want a value and storing into promoted
variable, do conversion at tree level; don't copy volatile MEM unless
want value, as comment says.
From-SVN: r8466
1994-11-16 07:47:58 -05:00
Richard Kenner
2e5ec6cf3b
(do_jump_by_parts_greater_rtx): No longer static.
...
(expand_expr): Delete code for plain `abs'.
From-SVN: r8443
1994-11-15 18:35:35 -05:00
Richard Kenner
2d44400163
(expand_expr, COND_EXPR case): Don't use original target as a temp if it's a volatile mem ref.
...
(expand_expr, COND_EXPR case): Don't use original target as a temp if
it's a volatile mem ref. Finish previous patch (don't expand "X ? A &
1 : A" as "A & (X != 0)").
From-SVN: r8369
1994-10-31 08:11:19 -05:00
Richard Kenner
7a0b7b9a97
(expand_expr, case COMPONENT_REF): Don't extract field from a CONSTRUCTOR if it already has a TREE_CST_RTL.
...
(expand_expr, case COMPONENT_REF): Don't extract field from a CONSTRUCTOR if
it already has a TREE_CST_RTL.
(expand_expr, case ADDR_EXPR): Call mark_temp_addr_taken on the temporary made
when operand needs to be stored into memory.
From-SVN: r8362
1994-10-31 07:23:35 -05:00
Doug Evans
9fbd9f58d7
(expand_expr, COND_EXPR case): Don't expand "X ? A & 1 : A" as "A & (X != 0)".
...
From-SVN: r8345
1994-10-26 22:22:06 +00:00
Richard Kenner
b9bcad654a
(convert_move): Add TImode conversions.
...
From-SVN: r8248
1994-10-10 19:19:32 -04:00
Richard Kenner
45524ce90e
Fix typo in last change.
...
From-SVN: r8236
1994-10-07 08:36:00 -04:00
Richard Kenner
6676e72f96
(safe_from_p): If EXP has a variable size, assume safe.
...
(preexpand_calls): Don't preexpand a call that returns a variable-sized object.
From-SVN: r8234
1994-10-07 08:26:47 -04:00
Richard Kenner
22619c3f61
(store_expr): Don't clobber TEMP with address.
...
From-SVN: r8227
1994-10-06 07:25:21 -04:00
Richard Kenner
af5b53ed8d
(expand_expr, case ADDR_EXPR): Call mark_temp_addr_taken.
...
From-SVN: r8225
1994-10-06 06:53:40 -04:00
Richard Kenner
41dfd40ca0
Fix error in last change.
...
From-SVN: r8215
1994-10-04 21:42:54 -04:00
Richard Kenner
34661f5c30
(do_jump_for_compare): Properly scan insns when branch is at start of
...
sequence.
From-SVN: r8214
1994-10-04 19:06:09 -04:00
Jim Wilson
1899299599
(result_vector): Use INCOMING_REGNO when !savep instead
...
of when savep.
From-SVN: r8170
1994-09-29 17:02:36 -07:00
Mike Stump
7ee055f4ae
expr.c (do_jump): Handle cleanups in TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR.
...
* expr.c (do_jump): Handle cleanups in TRUTH_ANDIF_EXPR and
TRUTH_ORIF_EXPR.
From-SVN: r8164
1994-09-29 20:45:05 +00:00
Richard Kenner
0407367d53
(convert_move): Added handling of PDImode conversions.
...
From-SVN: r8161
1994-09-28 19:32:44 -04:00
Richard Kenner
809ab85718
(emit_move_insn_1): Never make a no-conflict block.
...
From-SVN: r7951
1994-08-19 19:23:00 -04:00
Richard Kenner
ba558a85d2
(expand_builtin): Relegate sin and cos to ffast-math.
...
From-SVN: r7886
1994-08-11 12:56:59 -04:00
Jason Merrill
fd67d2b620
(expand_expr...
...
(expand_expr, COND_EXPR case): Use truthvalue_conversion
to make the condition for running cleanups acceptable to
invert_truthvalue.
From-SVN: r7861
1994-08-05 19:02:42 +00:00
Jason Merrill
4ea8537b90
(defer_cleanups_to): Put back line which was mistakenly
...
removed.
From-SVN: r7857
1994-08-05 01:49:31 +00:00
Richard Kenner
72bb971732
(move_block_to_reg): Do nothing if NREGS == 0.
...
From-SVN: r7820
1994-07-29 17:36:13 -04:00
Richard Kenner
62acb9781f
(expand_expr, case CONJ_EXPR): Use correct mode for parts of a complex
...
expression.
From-SVN: r7815
1994-07-28 19:48:33 -04:00
Richard Kenner
ad2e7dd004
(expand_expr, case ARRAY_REF): Don't fold L"foo"[2].
...
From-SVN: r7797
1994-07-26 19:45:11 -04:00
Jim Wilson
24a13950ca
(store_field): Set MEM_IN_STRUCT_P on object and
...
blk_object.
From-SVN: r7767
1994-07-13 13:35:03 -07:00
Richard Kenner
03747aa399
(convert_move): Add some conversions for TQFmode.
...
From-SVN: r7733
1994-07-11 19:27:23 -04:00
Richard Kenner
e74a220154
(expand_builtin, case BUILT_IN_FSQRT): Don't use asterisk in name of
...
`errno'.
From-SVN: r7695
1994-07-10 06:02:49 -04:00
Richard Kenner
5069803972
(expand_expr, case CONVERT_EXPR): If changing signedness and we have a
...
promoted SUBREG, clear the promotion flag.
From-SVN: r7686
1994-07-08 18:22:46 -04:00
Jim Wilson
6be583037c
(get_inner_unaligned_p): New function.
...
(expand_assignment, expand_expr): Use it.
From-SVN: r7685
1994-07-08 14:41:02 -07:00
Mike Stump
d93d4205f1
fix temp lifetime (FOR TARGET_EXPRs only)
...
From-SVN: r7681
1994-07-08 20:45:14 +00:00
Mike Stump
61d6b1cca1
expr.c (expand_expr, [...]): All cleanups have to be protected by interim exception handling code.
...
* expr.c (expand_expr, defer_cleanups_to, expand_cleanups_to): All
cleanups have to be protected by interim exception handling code.
* stmt.c (expand_decl_cleanup, expand_cleanups): Ditto.
* toplev.c (interim_eh_hook): Hook for interim exception handling.
* toplev.c (interim_eh): Default implementation for exception
handling that does nothing.
* toplev.c (main): Set default for interim_eh_hook.
From-SVN: r7666
1994-07-07 03:08:23 +00:00
Richard Kenner
3e073e7297
(expand_increment): If pre-incrementing a promoted variable, don't
...
adjust OP0 since the result won't be used.
From-SVN: r7655
1994-07-05 18:27:27 -04:00
Richard Kenner
2f6e6d22ea
(do_jump, case BIT_AND_EXPR): Only narrow to a type that corresponds
...
to a mode.
From-SVN: r7580
1994-06-28 05:44:57 -04:00
Richard Kenner
119af78aa8
(expand_expr, case ADDR_EXPR): If result is ignored, just return
...
const0_rtx.
From-SVN: r7421
1994-06-02 08:13:33 -04:00
Richard Kenner
94b25f81ca
Update comments.
...
From-SVN: r7420
1994-06-02 07:24:33 -04:00
Doug Evans
0304dfbb67
expr.c (use_reg): Fix recording of USE information.
...
* expr.c (use_reg): Fix recording of USE information.
(use_regs): Likewise.
Delete argument `reg'. All callers changed.
* expr.h (use_regs): Update prototype.
* calls.c (expand_call): Update call to use_regs. Call use_reg
if parm is wholly in registers.
From-SVN: r7378
1994-05-27 23:27:50 +00:00
Richard Kenner
d720b9d197
(expand_expr...
...
(expand_expr, case CONSTRUCTOR): If constant and large enough for
memcpy to be used, build constructor into static memory.
From-SVN: r7365
1994-05-27 14:56:31 -04:00
Richard Kenner
4ac0968744
Use #ifdef TARGET_EDOM, not #if.
...
From-SVN: r7307
1994-05-16 16:18:54 -04:00
Richard Kenner
930b4e398e
(convert_move): When {zero,sign}_extending, allow a wider intermediate
...
than to_mode if truncation is a no-op.
From-SVN: r7306
1994-05-16 16:16:12 -04:00
Mike Stump
5dab5552a1
calls.c (expand_call): Only destroy temporaries at the end of function calls, if flag_short_temps is set.
...
* calls.c (expand_call): Only destroy temporaries at the end
of function calls, if flag_short_temps is set.
* expr.c (safe_from_p, expand_expr): Handle CLEANUP_POINT_EXPRs.
* expr.c (expand_expr): Improve handling of temporaries inside
COND_EXPRs, cures call to sorry.
* expr.c (defer_cleanups_to): New routine to handle the deferral
of cleanups.
* flags.h (flag_short_temps): New flag, to allow better control
over the lifetime of temporaries.
* toplev.c (flag_short_temps, lang_options): Ditto.
* tree.def (CLEANUP_POINT_EXPR): Add, to allow better control over
the lifetime of temporaries.
From-SVN: r7289
1994-05-13 00:19:57 +00:00
Richard Kenner
6d100794d0
(expand_builtin_apply): Put new function usage data at end of any data
...
already there.
From-SVN: r7274
1994-05-11 16:23:11 -04:00
Richard Kenner
b3f8cf4ab9
(use_regs, expand_builtin_apply): Change from USE and CLOBBER insns to
...
using CALL_INSN_FUNCTION_USAGE.
From-SVN: r7240
1994-05-06 17:47:35 -04:00
Richard Kenner
1ee86d1598
(expand_builtin...
...
(expand_builtin, case BUILT_IN_ALLOCA): Don't set
current_function_calls_alloca here nor record new stack level for
nonlocal gotos.
From-SVN: r7230
1994-05-06 13:44:56 -04:00
Mike Stump
d3158f1a23
tell expand_expr that we are going to ignore the cleanup.
...
TREE_SIDE_EFFECTS should be set on these things.
From-SVN: r7222
1994-05-06 10:13:17 +00:00
Mike Stump
19d3f3c523
minor tweak.
...
From-SVN: r7220
1994-05-06 09:02:42 +00:00
Doug Evans
33162bebd8
(expand_builtin): Fix typo in previous patch
...
(allow __builtin_next_arg in varargs functions).
From-SVN: r7164
1994-04-28 16:39:50 +00:00