Commit Graph

325 Commits

Author SHA1 Message Date
Richard Kenner
05019f83a3 (expand_expr, case COMPONENT_REF): If result is BLKmode, use that to
access object too.

From-SVN: r10697
1995-12-10 09:51:54 -05:00
Richard Kenner
07604beb82 (expand_expr, case CONSTRUCTOR): If TREE_READONLY, set
RTX_UNCHANGING_P in TARGET.

From-SVN: r10696
1995-12-10 08:46:44 -05:00
Richard Kenner
5cb7a25a95 (expand_expr, case INDIRECT_REF): Correct typo in May 8 change.
From-SVN: r10695
1995-12-10 08:44:42 -05:00
Richard Kenner
cf04eb80b0 (store_constructor, record): If field is READONLY, set
RTX_UNCHANGING_P in TO_RTX.

From-SVN: r10671
1995-12-04 14:10:50 -05:00
Richard Kenner
16545b0a67 (truthvalue_conversion): Add declaration.
From-SVN: r10585
1995-11-26 11:19:51 -05:00
Richard Kenner
2ae342f72c (expand_expr, case ARRAY_REF): Properly convert types of index, size,
and multiplication.

From-SVN: r10573
1995-11-09 11:01:13 -05:00
Richard Kenner
4c08eef0d2 (clear_storage): SIZE is now rtx, not int.
(store_constructor): Call clear_storage with rtx.
(get_inner_reference): Convert index to precision of sizetype, not
POINTER_SIZE.
(expand_expr, case ARRAY_REF): Likewise.

From-SVN: r10529
1995-10-27 06:41:39 -04:00
Richard Kenner
3bb5826ab8 (safe_from_p, case RTL_EXPR): Return 0 if RTL_EXPR_SEQUENCE exists.
Delete code to return 0 if exp_rtl is zero.

From-SVN: r10492
1995-10-20 19:30:53 -04:00
Mike Stump
0ebba7fc0d fix small typo
From-SVN: r10431
1995-10-04 17:59:40 +00:00
Richard Kenner
15a7a8ec1c (emit_move_insn_1): When doing multi-word move, show output is
clobbered.

From-SVN: r10427
1995-10-03 12:31:19 -04:00
Richard Kenner
2bbf216f5e (expand_builtin_return_addr): Break out functionality from expand_builtin.
(expand_builtin): Call expand_builtin_return_addr.

From-SVN: r10418
1995-10-03 11:48:39 -04:00
Richard Kenner
b74f5ff2bd (expand_expr, case COMPONENT_REF): If getting component of union of
variable size, propagate TARGET.

From-SVN: r10415
1995-10-01 21:23:04 -04:00
Richard Kenner
f29369b9f2 (store_expr): When storing promoted value, don't return MEM if address
contains target.

From-SVN: r10414
1995-09-29 07:47:40 -04:00
Richard Kenner
5480a90cce (expand_builtin...
(expand_builtin, case BUILT_IN_MEMCPY): Strip off all NOP_EXPRs from
the source and destination nodes, then set MEM_IN_STRUCT_P.

From-SVN: r10397
1995-09-22 19:19:34 -04:00
Richard Kenner
f4510f3757 (safe_from_p): Only safe if EXP is variable-size and X is BLKmode.
From-SVN: r10243
1995-08-15 17:51:44 -04:00
Richard Kenner
402c7311a9 (preexpand_calls): Don't look past a CLEANUP_POINT_EXPR.
From-SVN: r10165
1995-07-26 09:09:44 -04:00
Richard Kenner
dabf8373fb (stor_expr): Force stack adjust before NO_DEFER_POP.
(expand_expr, case COND_EXPR): Likewise.

From-SVN: r10131
1995-07-14 18:18:14 -04:00
Richard Kenner
9c51f37585 (expand_expr, TARGET_EXPR): Only use original_target if !ignore.
From-SVN: r10061
1995-06-27 07:58:20 -04:00
Richard Kenner
0184223489 (expand_expr, case COND_EXPR): Protect the condition from being evaluated more than once.
(expand_expr, case COND_EXPR): Protect the condition from being evaluated more
than once.
(do_jump, case TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR): Likewise.

From-SVN: r10055
1995-06-26 18:57:58 -04:00
Richard Kenner
0f869a71da (expand_expr, TARGET_EXPR): Use original_target.
From-SVN: r10035
1995-06-22 21:41:40 -04:00
Richard Kenner
940d9d638b Update FSF address.
From-SVN: r9959
1995-06-15 07:33:25 -04:00
Richard Kenner
c816db88c3 (expand_builtin_apply_args): Put back original register save and
restore order.

From-SVN: r9952
1995-06-14 17:03:45 -04:00
Richard Kenner
330446eb52 (expand_expr, case PLACEHOLDER_EXPR): Consider two types identical if
their TYPE_MAIN_VARIANTs are the same.

From-SVN: r9897
1995-06-06 18:55:28 -04:00
Richard Kenner
9faa82d8c0 Fix typos in comments.
From-SVN: r9712
1995-05-16 08:39:54 -04:00
Richard Kenner
201012cbf9 (do_jump, case EX_EXPR, NE_EXPR): Fix typo for complex.
From-SVN: r9616
1995-05-11 06:44:14 -04:00
Richard Kenner
1125706fe4 (expand_expr, case INDIRECT_REF): Set RTX_UNCHANGING_P if both
TREE_READONLY and TREE_STATIC set.

From-SVN: r9591
1995-05-08 17:59:41 -04:00
Richard Kenner
c8465d869b (do_jump): Fix error in last change.
From-SVN: r9583
1995-05-05 17:36:40 -04:00
Richard Kenner
0e8c917222 (do_jump, case EQ_EXPR, NE_EXPR): Properly compare complex.
From-SVN: r9577
1995-05-05 07:03:41 -04:00
Jim Wilson
4c7a0be934 (expand_expr, case SAVE_EXPR): Handle the case where
mode is VOIDmode.

From-SVN: r9556
1995-05-01 16:26:28 -07:00
Richard Kenner
67225c151e (expand_expr, case CONSTRUCTOR): Don't set target to zero if more then one word.
(expand_expr, case CONSTRUCTOR): Don't set target to zero if more then one
word.
Pass size and alignment to move_by_pieces_ninsns in bytes, not bits.

From-SVN: r9548
1995-04-30 07:22:58 -04:00
Richard Kenner
33cf5823a5 (expand_builtin, case BUILT_IN_CONSTANT_P): A pointer to a string
constant is a constant.

From-SVN: r9475
1995-04-26 12:29:48 -04:00
Jim Wilson
e9cf6a9776 (struct move_by_pieces): Add to_struct and from_struct fields.
(move_by_pieces): Set to_struct and from_struct fields.
(move_by_pieces_1): Set MEM_IN_STRUCT_P of to1 and from1.
(expand_builtin, case BUILT_IN_MEMCPY): New variable type.
Set MEM_IN_STRUCT_P of src_mem and dest_mem.

From-SVN: r9468
1995-04-25 16:36:38 -07:00
Richard Kenner
ee33823f45 (expand_builtin_apply_args): If STACK_REGS is defined...
(expand_builtin_apply_args): If STACK_REGS is defined, generate USE
insns before the function body, thus showing which registers are
filled with parameters.
Reverse order of saving registers, more compact code for i387.
(expand_builtin_apply): Likewise.

From-SVN: r9462
1995-04-25 19:09:01 -04:00
Richard Kenner
34aa3599f1 (convert_move): Don't access a hard reg in an invalid mode when doing
a truncation.

From-SVN: r9447
1995-04-25 17:05:37 -04:00
Per Bothner
b09f334842 (store_constructor): Fix BITS_BIG_ENDIAN -> BYTES_BIG_ENDIAN for SET_TYPE.
From-SVN: r9416
1995-04-18 18:07:59 -07:00
Jim Wilson
85c53d245a (expand_builtin, case BUILT_IN_MEMCPY): Call force_operand
on dest_rtx before returning it.

From-SVN: r9393
1995-04-17 12:19:48 -07:00
Richard Kenner
e9cdf6e48c (expand_increment): Handle case where INCREMENTED has a non-trivial
conversion.

From-SVN: r9337
1995-04-08 16:32:01 -04:00
Richard Kenner
9fcfcce705 (expand_expr, case ADDR_EXPR): Always call convert_memory_address when
converting; add extra arg.

From-SVN: r9329
1995-04-07 12:35:49 -04:00
Richard Kenner
88f63c77d9 (clear_storage, expand_assignment, store_{expr,constructor}): Use ptr_mode instead of Pmode in some places.
(clear_storage, expand_assignment, store_{expr,constructor}): Use ptr_mode
instead of Pmode in some places.
(expand_expr, expand_builtin): Likewise.
(push_block, store_expr): Convert size to Pmode.
(expand_expr, case ADDR_EXPR): Convert from Pmode to ptr_mode.

From-SVN: r9305
1995-04-03 18:12:50 -04:00
Jim Wilson
01188446e8 (expand_assignment): When offset is zero, make new MEM
before setting MEM_VOLATILE_P.

From-SVN: r9167
1995-03-10 11:45:20 -08:00
Jason Merrill
f283f66b1f (expand_expr, CLEANUP_POINT_EXPR): Force the operand out
of memory before running cleanups.

From-SVN: r9117
1995-03-03 03:45:02 +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
Richard Kenner
f635a84d96 (store_expr): Do conversion in two steps for promoted lhs.
From-SVN: r9098
1995-03-01 06:39:01 -05:00
Per Bothner
7c38c3ad5e expr.c (expand_expr): If non-local variable is expanded...
* expr.c (expand_expr):  If non-local variable is expanded,
set FUNCTION_NEEDS_STATIC_CHAIN (current_function_decl).
* expr.c (expand_expr case ADDR_EXPR):  Check for trampoline
using FUNCTION_NEEDS_STATIC_CHAIN, instead of decl_function_context.

From-SVN: r9095
1995-02-28 15:05:01 -08:00
Jim Wilson
f9409c3ac3 (expand_expr, case COMPONENT_REF): Don't fetch unaligned
field if we only want its address.

From-SVN: r9069
1995-02-24 17:45:43 -08:00
Per Bothner
b4ee5a7269 * expr.c (store_constructor): Don't use get_set_constructor_words.
From-SVN: r8954
1995-02-14 22:40:27 -08:00
Jim Wilson
5b4ff0de30 (expand_builtin, case BUILT_IN_NEXT_ARG): Don't warn when
no argument if this is a varargs routine.

From-SVN: r8912
1995-02-11 15:12:05 -08:00
Richard Kenner
5b6c44ffbc (store_constructor, ARRAY_TYPE): Use code for non-integer INDEX for non-integer ELTTYPE size.
(store_constructor, ARRAY_TYPE): Use code for non-integer INDEX for
non-integer ELTTYPE size.
Allow INDEX to be zero in code and divide size by BITS_PER_UNIT.

From-SVN: r8902
1995-02-10 17:37:38 -05:00
Richard Kenner
2391bfeaa2 (expand_expr, case MINUS_EXPR): Remove bogus operand swap.
From-SVN: r8829
1995-01-27 18:51:02 -05:00
Jim Wilson
fa2981d865 (expand_expr, case MIN_EXPR): If must emit multiple
instructions, then don't allow a MEM target.

From-SVN: r8822
1995-01-25 15:09:41 -08:00