summaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
Commit message (Collapse)AuthorAgeFilesLines
* (gen_lowpart): If gen_lowpart_common fails for a REG, load it into akenner1995-09-141-0/+7
| | | | | | | pseudo and try again. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10349 138bc75d-0d04-0410-961f-82ee72b054a4
* Update FSF address.kenner1995-06-151-1/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9959 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix typos in comments.kenner1995-05-161-3/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9712 138bc75d-0d04-0410-961f-82ee72b054a4
* (gen_highpart): Add comment about broken implementation.kenner1995-04-251-0/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9463 138bc75d-0d04-0410-961f-82ee72b054a4
* (gen_sequence): If the insn has a non-nulldje1995-04-141-1/+3
| | | | | | | | CALL_INSN_FUNCTION_USAGE field, output it as a sequence so the latter isn't discarded. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9378 138bc75d-0d04-0410-961f-82ee72b054a4
* (gen_inline_header): Add new parm FORCED_LABELS.kenner1995-03-081-3/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9137 138bc75d-0d04-0410-961f-82ee72b054a4
* (gen_lowpart_common): Do nothing if size is greater than twice hostkenner1994-11-221-1/+1
| | | | | | | wordsize, not just if equal. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8552 138bc75d-0d04-0410-961f-82ee72b054a4
* (init_emit): Set REGNO_POINTER_FLAG for HARD_FRAME_POINTER_REGNUM.kenner1994-11-221-2/+6
| | | | | | | | (ptr_mode): Add definition. (init_emit_once): Initialize ptr_mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8548 138bc75d-0d04-0410-961f-82ee72b054a4
* (operand_subword): For CONST_DOUBLE, add case towilson1994-11-211-0/+9
| | | | | | | handle BITS_PER_WORD of 16. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8541 138bc75d-0d04-0410-961f-82ee72b054a4
* (operand_subword): Fix typo: HOST_BITS_PER_INT should bekenner1994-10-301-1/+1
| | | | | | | HOST_BITS_PER_WIDE_INT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8360 138bc75d-0d04-0410-961f-82ee72b054a4
* (add_insn_{before,after}): Don't abort if AFTER was deleted, but noterich1994-10-161-2/+2
| | | | | | | optiimzing git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8281 138bc75d-0d04-0410-961f-82ee72b054a4
* (add_insn_{after,before}): Fix error in last change.kenner1994-10-071-2/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8233 138bc75d-0d04-0410-961f-82ee72b054a4
* (add_insn_{before,after}): Abort if insertion point is a deleted insn.kenner1994-10-021-2/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8193 138bc75d-0d04-0410-961f-82ee72b054a4
* (add_insn_after): Abort if can't find AFTER and it has no NEXT_INSN.kenner1994-09-301-10/+56
| | | | | | | | (add_insn_before): New function. (emit_{insn,insns,jump_insn,call_insn,barrier,note}_before): Call it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8188 138bc75d-0d04-0410-961f-82ee72b054a4
* Cast pointer operands to bzero, bcopy, and bcmp to (char *).kenner1994-06-141-9/+12
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7472 138bc75d-0d04-0410-961f-82ee72b054a4
* (operand_subword): Fix arg of REAL_VALUE_TO_TARGET_SINGLE andkenner1994-05-191-14/+18
| | | | | | | | .._DOUBLE. Permit float subword extraction when host's word width is wider than target's. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7338 138bc75d-0d04-0410-961f-82ee72b054a4
* * calls.c (expand_call): Only destroy temporaries at the endmrs1994-05-131-1/+3
| | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7289 138bc75d-0d04-0410-961f-82ee72b054a4
* (make_call_insn_raw): New function.kenner1994-05-061-3/+32
| | | | | | | (emit_call_insn{,_before}): Use make_call_insn_raw. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7238 138bc75d-0d04-0410-961f-82ee72b054a4
* (try_split): Don't try to recursively split deleted insn.kenner1994-04-241-2/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7143 138bc75d-0d04-0410-961f-82ee72b054a4
* Use CONST_DOUBLE_FROM_REAL_VALUE macro for immed_real_const_1.kenner1994-04-211-4/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7126 138bc75d-0d04-0410-961f-82ee72b054a4
* Include <stdarg.h> instead of "gstdarg.h"; similarly for varargs.kenner1994-03-301-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6922 138bc75d-0d04-0410-961f-82ee72b054a4
* (reset_used_flags): Remove decl of unused variable.kenner1994-03-251-2/+0
| | | | | | | (gen_sequence): Remove decl of unused variable NEWVEC. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6879 138bc75d-0d04-0410-961f-82ee72b054a4
* (try_split): Rename third parameter as LAST. Recursively callkenner1994-03-201-7/+16
| | | | | | | try_split for each new insn created. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6832 138bc75d-0d04-0410-961f-82ee72b054a4
* (gen_lowpart_common, gen_highpart, operand_subword): Test inputkenner1994-03-161-9/+9
| | | | | | | against RTX for FP, AP, and SP, not same register number. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6795 138bc75d-0d04-0410-961f-82ee72b054a4
* (copy_rtx_if_shared, case LABEL_REF): Can't share.kenner1994-03-111-1/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6746 138bc75d-0d04-0410-961f-82ee72b054a4
* (subreg_realpart_p): New function.wilson1994-02-281-0/+15
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6667 138bc75d-0d04-0410-961f-82ee72b054a4
* If __STDC__, include gstdarg and use ANSI form of varargs.kenner1994-02-101-8/+22
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6514 138bc75d-0d04-0410-961f-82ee72b054a4
* (gen_lowpart_common, gen_highpart): Test *_BIG_ENDIAN with "if", notkenner1994-02-041-16/+16
| | | | | | | #if and fix one erroneous test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6479 138bc75d-0d04-0410-961f-82ee72b054a4
* (gen_{real,imag}part): Extract value from CONCAT directly.kenner1994-01-111-15/+7
| | | | | | | (gen_lowpart_common, gen_highpart): Don't do it here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6377 138bc75d-0d04-0410-961f-82ee72b054a4
* (gen_reg_rtx): Only clear part of arrays we aren't going to copy into.kenner1993-12-251-2/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6324 138bc75d-0d04-0410-961f-82ee72b054a4
* (gen_lowpart_common): Return a new hard reg even if not valid in MODEkenner1993-12-211-2/+7
| | | | | | | if the input REG is not valid in its mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6249 138bc75d-0d04-0410-961f-82ee72b054a4
* (start_sequence): Save current sequence_rtl_expr.dje1993-12-061-0/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6186 138bc75d-0d04-0410-961f-82ee72b054a4
* (push_topmost_sequence, end_sequence): Update sequence_rtl_expr fromkenner1993-12-021-0/+2
| | | | | | | sequence_stack entry. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6179 138bc75d-0d04-0410-961f-82ee72b054a4
* Include tree.h.kenner1993-11-251-2/+24
| | | | | | | | | | (sequence_rtl_expr): New variable. (save_emit_status, restore_emit_status): Save and restore it. (init_emit): Initialize it. (start_sequence_for_rtl_expr): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6162 138bc75d-0d04-0410-961f-82ee72b054a4
* (gen_highpart): If arg is function value hard reg,rms1993-11-051-0/+3
| | | | | | | return a subreg of it (as in gen_lowpart_common). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6005 138bc75d-0d04-0410-961f-82ee72b054a4
* Move in initialization of byte_mode and word_mode from rtl.cian1993-10-071-0/+22
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@5662 138bc75d-0d04-0410-961f-82ee72b054a4
* * emit-rtl.c: (hard_frame_pointer_rtx): New variable.dje1993-09-241-1/+21
| | | | | | | | | (gen_rtx): return hard_frame_pointer_rtx if generating rtl for HARD_FRAME_POINTER_REGNUM. (enit_emit_once): Generate initial rtl for hard_frame_pointer_rtx. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@5453 138bc75d-0d04-0410-961f-82ee72b054a4
* (gen_label_rtx): If output_bytecode, make a CODE_LABELrms1993-09-241-3/+3
| | | | | | | but with different contents. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@5447 138bc75d-0d04-0410-961f-82ee72b054a4
* bytecodebson1993-09-211-2/+39
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@5379 138bc75d-0d04-0410-961f-82ee72b054a4
* (gen_lowpart_common, gen_highpart): Handle CONCAT.rms1993-07-151-1/+41
| | | | | | | | (operand_subword): Likewise. (gen_reg_rtx): For complex mode, return a CONCAT of two pseudos. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@4923 138bc75d-0d04-0410-961f-82ee72b054a4
* (restore_emit_status): Clear LAST_LABEL_NUM.kenner1993-06-281-0/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@4775 138bc75d-0d04-0410-961f-82ee72b054a4
* (copy_rtx_if_shared): Don't try to copy a 0-length vector.rms1993-06-281-5/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@4774 138bc75d-0d04-0410-961f-82ee72b054a4
* (gen_lowpart_common): Use those macros if REAL_ARITHMETIC.rms1993-06-131-2/+34
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@4672 138bc75d-0d04-0410-961f-82ee72b054a4
* (operand_subword): Shift by (HOST_BITS_PER_WIDE_INT / 2), not by 32.rms1993-05-311-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@4598 138bc75d-0d04-0410-961f-82ee72b054a4
* (operand_subword): Correctly handle case whenkenner1993-05-291-4/+18
| | | | | | | REAL_VALUE_TO_TARGET_DOUBLE is used on a 64-bit machine. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@4593 138bc75d-0d04-0410-961f-82ee72b054a4
* (operand_subword): Reject cases when BITS_PER_WORD is greater thankenner1993-05-191-8/+9
| | | | | | | HOST_BITS_PER_INT unless OP is const0_rtx. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@4502 138bc75d-0d04-0410-961f-82ee72b054a4
* emit-rtl.c (init_emit): Clear sequence_stack.bothner1993-04-011-0/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3984 138bc75d-0d04-0410-961f-82ee72b054a4
* (operand_subword): Use REAL_VALUE_TO_TARGET_SINGLE to convert to target float.rms1993-03-311-15/+45
| | | | | | | | | If REAL_ARITHMETIC is defined, let real.c handle incompatible host and target floating point bit patterns. (init_emit_once): Add machine_mode argument to REAL_VALUE_ATOF. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3938 138bc75d-0d04-0410-961f-82ee72b054a4
* (push_topmost_sequence, pop_topmost_sequence): Newwood1993-03-231-0/+34
| | | | | | | functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3841 138bc75d-0d04-0410-961f-82ee72b054a4
* (init_emit): Use INIT_EXPANDERS.jrv1993-03-221-0/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3827 138bc75d-0d04-0410-961f-82ee72b054a4