Commit Graph

154 Commits

Author SHA1 Message Date
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
Richard Kenner
34a25822f3 (expand_expr, case SAVE_EXPR): Set MEM_IN_STRUCT_P appropriately when
the result is a MEM.

From-SVN: r5159
1993-08-13 19:26:34 -04:00
Richard Stallman
7d26fec6ad (store_expr): Don't return TEMP if it's a MEM.
From-SVN: r5139
1993-08-12 08:06:01 +00:00
Jim Wilson
591b15bb1c (expand_increment): Call save_expr on inner expression if
it is itself an increment expression.

From-SVN: r5115
1993-08-08 15:48:15 -07:00
Richard Stallman
709f5be119 (expand_assignment): If WANT_VALUE is 0, return NULL.
(store_expr): Likewise.
Rename arg SUGGEST_REG to WANT_VALUE.
Never return TARGET if WANT_VALUE unless BLKmode.
Instead, return TEMP or a value copied from TARGET.
Pass 0 for WANT_VALUE in recursive calls that ignore value.

(expand_expr, case PLUS_EXPR): Goto binop2 not
both_summands if we should not be returning a plus.

(do_tablejump) [PIC_CASE_VECTOR_ADDRESS]: If pic,
copy INDEX to a register early, to avoid invalid address later.

From-SVN: r5108
1993-08-08 18:54:00 +00:00
Richard Stallman
19b2fd27ea (do_tablejump): Use PIC_CASE_VECTOR_ADDRESS if defined.
From-SVN: r5050
1993-08-01 20:11:48 +00:00
Richard Stallman
b6f01001b1 (expand_expr, case ADDR_EXPR): Treat CONCAT like REG.
From-SVN: r5030
1993-07-28 18:46:31 +00:00
Jim Wilson
0040593d86 (move_block_from_reg): New argument SIZE.
(move_block_from_reg): New argument SIZE.  If SIZE less
than word and BYTES_BIG_ENDIAN, shift block left to align it
before storing it to memory.

From-SVN: r5014
1993-07-28 10:13:53 -07:00
Richard Stallman
c937357e3a (emit_move_insn_1): For complex stack push, don't use change_address.
From-SVN: r4983
1993-07-24 22:20:55 +00:00
Jim Wilson
092dded9eb (expand_expr, COMPONENT_REF case): For unaligned object
in an aligned union, set MEM_IN_STRUCT_P if create a MEM rtx.

From-SVN: r4964
1993-07-21 15:05:43 -07:00
Richard Stallman
a358cee0e5 (expand_increment): Convert constant subtract to add before setting single_insn.
(expand_increment): Convert constant subtract to add
before setting single_insn.  Compensate for this when choosing
the tree code to pass to `build'.

From-SVN: r4944
1993-07-20 06:23:58 +00:00
Jim Wilson
d57c66daa6 (convert_to_mode): Move misplaced parentheses.
From-SVN: r4878
1993-07-07 15:04:52 -07:00
Richard Stallman
ccc9803602 (store_field): Test STRICT_ALIGNMENT at run time.
(expand_expr, COMPONENT_REF case): Fetch unaligned field as bitfield.

From-SVN: r4841
1993-07-05 03:31:42 +00:00
Richard Stallman
c980ac4985 (expand_expr...
(expand_expr, case PLUS_EXPR): In the special case
to return sym+integer as an expression, limit it to when
the non-CONST_INT arg is at least a constant.

(expand_increment): Do preinc with single insn if there's such an insn.

(store_field): Store unaligned field with bit field methods.

From-SVN: r4810
1993-07-01 05:17:45 +00:00
Richard Kenner
e44842fede (store_constructor): Treat QUAL_UNION_TYPE just like UNION_TYPE.
(safe_from_p, case ADDR_EXPR): EXP is safe from X it is is static or if the
object whose address is being taken is safe from X.
(expand_expr): Fix misplaced comment from last change.
(expand_expr, case *_DECL): If not already used, assemble external.
(expand_expr, case EXIT_EXPR): Simplify.
(expand_expr, TRUTH_{AND,OR}IF_EXPR): Properly handle IGNORE case.

From-SVN: r4772
1993-06-27 18:55:11 -04:00
Richard Kenner
3319a3472f Fix typo: was ARGS_GROW_DOWNARD.
From-SVN: r4767
1993-06-27 18:40:04 -04:00
Richard Stallman
cd1db1088e (expand_assignment): If FROM is scalar function call,
expand_expr FROM before TO.

From-SVN: r4759
1993-06-26 20:45:13 +00:00
Richard Kenner
af508edd0a (do_store_flag): When computing via a shift, allow for an inner RSHIFT_EXPR in BITNUM.
(do_store_flag): When computing via a shift, allow for an inner RSHIFT_EXPR
in BITNUM.
Sometimes do the operations as signed.

From-SVN: r4747
1993-06-26 11:06:01 -04:00
Richard Stallman
c2e6aff601 (store_expr): If TARGET is volatile mem ref, return it.
From-SVN: r4730
1993-06-25 18:14:35 +00:00
Richard Kenner
dd27116b8f (expand_expr): Set IGNORE if target is const0_rtx or result type is VOID.
Move most IGNORE processing to one place to avoid expanding things that don't
need to be expanded.
(expand_expr, case CONSTRUCTOR, case COND_EXPR): If IGNORE, don't expand
anything we don't have to.
(expand_expr, case CONVERT_EXPR): Don't deal with IGNORE here.

From-SVN: r4714
1993-06-23 07:50:02 -04:00
Richard Stallman
2937cf8796 (expand_expr, case COND_EXPR): Fix typo; const1_rtx should
be const0_rtx when ignoring expression.

From-SVN: r4674
1993-06-13 18:15:58 +00:00
Richard Stallman
8c042b47af (expand_expr): Finish Tue Aug 18 23:07:33 1992 change.
(expand_expr): Finish Tue Aug 18 23:07:33 1992 change.  It
didn't handle the target != 0 case, now it does.

From-SVN: r4561
1993-05-24 19:26:25 +00:00
Richard Kenner
4be204f02d (expand_assignment): Fix error in last change.
From-SVN: r4476
1993-05-15 16:11:06 -04:00
Richard Stallman
d3652c4b7f (expand_assignment): Always return a result that has the mode of TO.
From-SVN: r4468
1993-05-15 13:59:45 +00:00