Commit Graph

177 Commits

Author SHA1 Message Date
Richard Kenner
adc22a04eb (expand_expr...
(expand_expr, case SAVE_EXPR): Properly recompute the value of
UNSIGNEDP when SAVE_EXPR_RTL is nonzero and we have promoted.

From-SVN: r6143
1993-11-23 15:26:10 -05:00
Richard Stallman
7b073ca6c5 (expand_builtin): For sin, cos, fsqrt, alloca, ffs, strlen,
strcpy, memcpy, strcmp, memcmp, if args are bad, use expand_call.

From-SVN: r6122
1993-11-20 09:21:06 +00:00
Richard Kenner
bbd6cf73c6 (store_field): Convert EXP to MODE before calling store_bit_field.
From-SVN: r6119
1993-11-19 18:48:17 -05:00
Richard Stallman
b258707c7e (expand_expr): For TRUTH_AND_EXPR...
(expand_expr): For TRUTH_AND_EXPR, TRUTH_OR_EXPR
and TRUTH_XOR_EXPR, if result mode doesn't match operands,
don't use subtarget.

(store_expr): Convert constants to proper mode in two places.

From-SVN: r6096
1993-11-15 02:42:39 +00:00
Richard Stallman
034f9101fd (expand_expr): Use a smaller alignment when reading from a field
with a variable offset.

From-SVN: r6054
1993-11-10 21:31:41 +00:00
Richard Stallman
d78d243c9c (expand_assignment): Use a smaller alignment when storing
into a field with a variable offset.

From-SVN: r6051
1993-11-10 19:41:37 +00:00
Richard Stallman
e33c0d6689 (emit_move_insn_1): Push the components of a complex
in proper order: imag part has higher address.

From-SVN: r6024
1993-11-06 06:24:13 +00:00
Jim Wilson
0c316b201f (do_store_flag): For equality test of a single bit, use
subtarget instead of target in calls.

From-SVN: r5956
1993-10-31 10:33:12 -08:00
Richard Stallman
a81fee56a9 (convert_move): When extending to multi-word register
via its low word, clobber the whole thing.

From-SVN: r5953
1993-10-31 03:04:16 +00:00
Richard Stallman
0766f23917 (do_jump): Use do_jump_by_parts_equality for complex compares.
From-SVN: r5938
1993-10-30 06:03:36 +00:00
Richard Stallman
6d6e61ceba (expand_assignment): Use duplicate instead of dup as bytecode op.
(bc_expand_expr): Likewise.
(bc_expand_constructor): Likewise.

(emit_move_insn_1): Don't call group_insns when X is a CONCAT.
(emit_move_insn_1, case CONJ_EXPR and COMPLEX_EXPR): Likewise.

From-SVN: r5916
1993-10-27 06:39:01 +00:00
Richard Kenner
4805bfa06d (expand_expr, case PLACEHOLDER_EXPR): Fix typos.
From-SVN: r5887
1993-10-25 18:53:35 -04:00
Richard Stallman
46093b975f (store_field): In BLKmode case, return blk_object.
From-SVN: r5885
1993-10-25 21:44:05 +00:00
Richard Kenner
7c314719ba (store_constructor): Handle non-zero array lower bound.
From-SVN: r5835
1993-10-20 17:39:45 -04:00
Richard Kenner
f12f485a96 (do_jump_for_compare): Don't blow up if aren't any insns in this
sequence yet.

From-SVN: r5789
1993-10-14 00:34:07 -04:00
Richard Kenner
64791b18b8 (convert_modes): Reset OLDMODE from X after we strip a SUBREG due to a
promoted variable.

From-SVN: r5752
1993-10-12 15:41:52 -04:00
Richard Kenner
33a20d105c (expand_assignment): When assigning an INDIRECT_REF to a RESULT_DECL,
the size and source rtx were swapped.

From-SVN: r5735
1993-10-11 15:04:26 -04:00
Richard Kenner
1ad87b6329 (expand_assignment): Don't short circuit store_expr when TO is a
VAR_DECL since it needs special handling if promoted.

From-SVN: r5712
1993-10-10 17:06:36 -04:00
Richard Kenner
3756812583 (expand_expr, case ABS_EXPR): Don't copy twice into volatile MEM.
From-SVN: r5698
1993-10-09 15:19:52 -04:00
Richard Kenner
90764a87b6 (expand_expr): Never reset ORIGINAL_TARGET.
Pass ORIGINAL_TARGET to lang_expand_expr, not TARGET.

From-SVN: r5697
1993-10-09 15:17:01 -04:00
Richard Kenner
ee456b1c64 Undo rev 1.156 change; redundant with rev 1.155 change.
From-SVN: r5694
1993-10-08 19:30:27 -04:00
Richard Stallman
f0dbe37245 (expand_expr, MAX_EXPR and MIN_EXPR case):
Don't store in TARGET twice if it's volatile.

From-SVN: r5688
1993-10-08 22:02:44 +00:00
Richard Kenner
fc1557074c (expand_expr, case MAX_EXPR): Don't use TARGET directly if it is a
volatile MEM.

From-SVN: r5681
1993-10-08 11:25:24 -04:00
Richard Stallman
2dca20cd24 (expand_expr, case VAR_DECL): If decl wasn't laid out,
lay it out now, and fix the rtl's mode.

From-SVN: r5671
1993-10-08 04:58:24 +00:00
Richard Kenner
ba2e110c46 (convert_modes): Properly handle extending constants since we might be
changing signedness.

From-SVN: r5623
1993-10-05 22:17:52 -04:00
Richard Kenner
6bd6178de9 (bc_init_mode_to_opcode_maps, bc_expand_expr): Cast enum array indices to int.
(bc_load_memory, bc_store_memory): Likewise.
(bc_runtime_type_code): Cast enum logical operand to int.

From-SVN: r5592
1993-10-04 18:01:19 -04:00
Richard Kenner
b50d17a148 (store_expr): Use expr_size value, not size_int.
(store_constructor): Handle case of variable position and allow it to contain
a PLACEHOLDER_EXPR.
(get_inner_reference): Make a WITH_RECORD_EXPR if required.
(expand_expr, case PLACEHOLDER_EXPR, WITH_RECORD_EXPR): New cases.
(expand_expr, case ARRAY_REF): Make WITH_RECORD_EXPR expressions when needed.

From-SVN: r5584
1993-10-03 21:48:03 -04:00
Richard Kenner
0088fcb195 (expand_assignment, expand_expr, do_jumps): Push and pop temp slots
around making new temp slots and freeing them.

From-SVN: r5524
1993-09-28 21:26:23 -04:00
Jan Brittenson
de7d93205e (bc_expand_constructor): Delete cast of argument to bc_emit_instruction to HOST_WIDE_INT.
(bc_expand_constructor): Delete cast of argument to
bc_emit_instruction to HOST_WIDE_INT. Move assignment of ptroffs to
separate line.

From-SVN: r5487
1993-09-27 11:21:32 -07:00
Richard Stallman
673bc773d3 (expand_expr, case COND_EXPR): Set MEM_IN_STRUCT_P properly for TEMP.
From-SVN: r5481
1993-09-27 01:25:54 +00:00
Richard Kenner
ad92c8260e (do_store_flag): Use new macros LOAD_EXTEND_OP and WORD_REGISTER_OPERATION...
(do_store_flag): Use new macros LOAD_EXTEND_OP and
WORD_REGISTER_OPERATION instead of BYTE_LOADS_*_EXTEND and
LOAD_EXTEND.

From-SVN: r5474
1993-09-25 08:21:34 -04:00
Richard Stallman
eb862a3735 Fix typo in last change.
From-SVN: r5472
1993-09-25 12:15:25 +00:00
Jan Brittenson
e7a4277263 changed bytecode rtx structure references into macros
From-SVN: r5435
1993-09-23 10:08:13 -07:00
Richard Stallman
a97f5a864f (expand_increment): Don't store directly ito a subreg
that is narrower than a word.

From-SVN: r5433
1993-09-23 16:56:28 +00:00
Richard Stallman
a68c760860 (bc_adjust_stack): Use VALIDATE_STACK_FOR_BC, not VALIDATE_STACK.
From-SVN: r5421
1993-09-22 22:01:15 +00:00
Richard Stallman
5e70898cb4 (bc_strdup): Don't use strcpy's value.
From-SVN: r5414
1993-09-22 20:21:03 +00:00
Jan Brittenson
292b12167d fixed typo in bytecode code
From-SVN: r5404
1993-09-22 11:45:16 -07:00
Jan Brittenson
c02bd5d96e bytecode fixes
From-SVN: r5402
1993-09-22 11:33:20 -07:00
Jan Brittenson
ca695ac93d bytecode
From-SVN: r5379
1993-09-21 14:25:24 -07:00
Richard Stallman
2c4c436ae8 (expand_expr): Handle flag_volatile here.
From-SVN: r5375
1993-09-20 21:24:17 +00:00
Richard Stallman
81d79e2c7a (convert_move): Use emit_library_call_value.
From-SVN: r5353
1993-09-18 13:28:10 +00:00
Richard Stallman
03dc44a614 (store_constructor): Handle TREE_PURPOSE of array constructor.
(expand_expr, ARRAY_REF case): Likewise.

From-SVN: r5315
1993-09-13 20:16:51 +00:00
Per Bothner
d4c8913966 (expand_expr, ARRAY_REF): Coerce low_bound to sizetype.
From-SVN: r5313
1993-09-12 23:01:37 -07:00
Richard Stallman
3f15938e00 (protect_from_queue): Don't alter an existing MEM.
(convert_modes): Use X's mode (not OLDMODE) unless it is VOIDmode.

From-SVN: r5311
1993-09-12 13:19:38 +00:00
Richard Stallman
5ffe63ed99 (convert_modes): New function.
(convert_to_mode): Use that.

From-SVN: r5297
1993-09-09 19:51:59 +00:00
Richard Stallman
4d87de75c5 (expand_expr): Set ignore for COND_EXPR with VOID_TYPE.
From-SVN: r5293
1993-09-09 13:49:54 +00:00
Jim Wilson
431a6ecab3 (convert_move): When truncating, call force_reg first if
it is something that gen_lowpart won't understand.

From-SVN: r5287
1993-09-08 11:58:14 -07:00
Richard Kenner
904762c89e (apply_args_egister_offset): Don't use ANSI-style definition.
From-SVN: r5214
1993-08-26 05:58:46 -04:00
Kresten Krab Thorup
fb2ca25a9d (apply_args_register_offset): New function
(apply_args_register_offset): New function
(apply_args_register_offset): New function
(apply_args_reg_offset): New variable
(apply_args_size): Added initialization of apply_args_reg_offset.

From-SVN: r5198
1993-08-24 09:53:21 +00:00
Jeff Law
b4af138b01 * expr.c (expand_builtin_apply): Fix typo.
From-SVN: r5191
1993-08-22 21:37:09 -06:00