rms [Mon, 21 Sep 1992 07:08:28 +0000 (07:08 +0000)]
Initial revision
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2199
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Mon, 21 Sep 1992 06:46:22 +0000 (06:46 +0000)]
(put_var_into_stack): Check REG != 0 before dereference.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2198
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Mon, 21 Sep 1992 03:51:25 +0000 (03:51 +0000)]
(find_comparison_args): New args PMODE1, PMODE2.
(fold_rtx, record_jump_equiv): Use them to get modes of comparison.
(fold_rtx): Associate MINUS with nested PLUS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2197
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Mon, 21 Sep 1992 03:08:45 +0000 (03:08 +0000)]
(subst): Set and compare extend_op with 0, not NULL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2196
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Mon, 21 Sep 1992 01:19:24 +0000 (01:19 +0000)]
(LPREFIX): Overridden as `.L'.
(ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2195
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Mon, 21 Sep 1992 00:05:40 +0000 (00:05 +0000)]
(try_combine): Always call set_significant on new patterns, so don't call
just in split case.
(subst): Move sign extension inside arithmetic when we have a constant
computation inside another computation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2194
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Sun, 20 Sep 1992 23:43:50 +0000 (23:43 +0000)]
Fix indentation. Carry out renamings from hash.h.
Rename args and locals also.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2193
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Sun, 20 Sep 1992 23:42:24 +0000 (23:42 +0000)]
Fix indentation, clean up comments.
Rename structure fields and typedefs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2192
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sun, 20 Sep 1992 09:53:06 +0000 (09:53 +0000)]
(jump_optimize): Delete insns that set registers that are not used elsewhere.
Fix some bugs in "if (...) x = a; else x = b;" code.
Remove uses of reorder_insns.
Add code to make scc insns for "if (...) x = exp;" if EXP is simple enough.
Optimize "if (...) x = b;" if jumps very expensive; don't use a REG as the
older value of X since it doesn't help and can hurt.
Correctly place generated insns in above case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2191
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sun, 20 Sep 1992 09:52:26 +0000 (09:52 +0000)]
(emit_insn_after_with_line_notes): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2190
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sun, 20 Sep 1992 09:51:37 +0000 (09:51 +0000)]
(subst, simplify_and_const_int, significant_bits): Treat
BYTE_LOADS_SIGN_EXTEND just like BYTE_LOADS_ZERO_EXTEND.
(num_sign_bit_copies, case MEM): New case for BYTE_LOADS_SIGN_EXTEND.
(num_sign_bit_copies, case SUBREG): Handle just like significant_bits.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2189
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sun, 20 Sep 1992 09:50:34 +0000 (09:50 +0000)]
(find_reloads, find_reloads_toplev): Treat BYTE_LOADS_SIGN_EXTEND just
like BYTE_LOADS_ZERO_EXTEND.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2188
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Sun, 20 Sep 1992 07:25:26 +0000 (07:25 +0000)]
Add comment in find_reloads.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2187
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Sat, 19 Sep 1992 22:02:28 +0000 (22:02 +0000)]
(SIZE_TYPE): Defined.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2186
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 19 Sep 1992 19:55:22 +0000 (19:55 +0000)]
(walk_insn_part, case IF_THEN_ELSE): Refine when HAVE_CMOVE_FLAG gets set.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2185
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 19 Sep 1992 19:54:32 +0000 (19:54 +0000)]
(delete_insn): Don't change labels to NOTEs if we would not really have
deleted them.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2184
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 19 Sep 1992 19:54:05 +0000 (19:54 +0000)]
(note_insn_name): Fix typo: had NOT_INSN_DELETED_LABEL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2183
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 19 Sep 1992 19:53:26 +0000 (19:53 +0000)]
(try_combine): When removing REG_UNUSED note, update reg_n_deaths.
Likewise, when making new REG_DEAD notes for distribute_notes.
(remove_death, move_deaths): Update reg_n_deaths.
(distribute_notes): When placing second REG_DEAD or REG_UNUSED note or
ignoring such a note, update reg_n_deaths.
(simplify_comparison, case ASHIFT): Fix typo.
(try_combine): The insns made by a DEFINE_SPLIT might contain a PARALLEL and
the call to recog_for_combine might add it.
(combine_instructions): Clear significant_valid at end of combine pass for
a function.
(find_split_point, case MEM): See if first operand of the PLUS that makes
up an address is complex.
(subst): Add missing arg to recursive calls when IF_THEN_ELSE is an arg
of an operator.
(subst, case IF_THEN_ELSE): Generalize code to propagate comparison result
into arms by using known_cond.
If an arm is the first operand of the comparison, make it the true arm.
Remove unneeded comparison when arms are identical.
Try to convert IF_THEN_ELSE to ABS, (neg (abs X)), [US]MIN, [US]MAX.
Convert (if_then_else (ne A 0) (OP X C) X) to (OP X (mult A C)).
(subst, case SET): If we don't have conditional moves, convert IF_THEN_ELSE
into logical operations.
(subst, case AND): Always make conditional moves, even if we don't support
them on the machine.
(known_cond, extended_count): New functions.
(gen_binary): For commutative operations, put constant last.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2182
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 19 Sep 1992 19:50:23 +0000 (19:50 +0000)]
(find_splittable_regs): If any BIV update isn't simple, don't split it.
(final_giv_value): Look for biv updates by matching insns; don't try to
reparse the insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2181
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 19 Sep 1992 19:49:48 +0000 (19:49 +0000)]
(tail_recursion_args): Use mode of DECL_RTL, not DECL_MODE.
(expand_decl): Promote modes of scalar variables when useful on target.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2180
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 19 Sep 1992 19:49:13 +0000 (19:49 +0000)]
(expand_binop, expand_unop): Don't make SUBREG for promoted variables as
operands.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2179
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 19 Sep 1992 19:48:43 +0000 (19:48 +0000)]
(basic_induction_var): Add new parameter P.
Check for bivs that are set over multiple insns and also allow a SIGN_EXTEND
to be used; remove check for MINUS since we don't make MINUS with a constant
2nd operand any more.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2178
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 19 Sep 1992 19:47:55 +0000 (19:47 +0000)]
(expand_inline_function): Convert actual to formal's mode (in case formal
was promoted).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2177
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 19 Sep 1992 19:47:28 +0000 (19:47 +0000)]
(struct var_refs_queue): Remove unused field ORIGINAL.
Add new fields PROMOTED_MODE and UNSIGNEDP.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2176
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 19 Sep 1992 19:47:00 +0000 (19:47 +0000)]
(fixup_var_refs{,_insns}): Add new parms for promoted mode and signedness;
all callers changed.
Insert mode conversions when required.
(fixup_var_refs_1): Add new parms for mode and signedness; handle SUBREGs
for promoted values.
(assign_parms): Promote the mode of parameters when useful for the target
machine.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2175
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 19 Sep 1992 19:45:55 +0000 (19:45 +0000)]
(convert_move, convert_to_mode): Strip off a SUBREG made for variables with
promoted modes.
(store_expr): Store into variables with promoted modes by doing the
appropriate extension operation.
(expand_expr, case VAR_DECL): Generate SUBREGs for promoted objects.
(expand_expr, case SAVE_EXPR): Likewise for SAVE_EXPRs.
(expand_increment): Handle increment of promoted objects.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2174
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 19 Sep 1992 19:44:58 +0000 (19:44 +0000)]
(PROMOTE_MODE): Provide default definition.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2173
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 19 Sep 1992 19:44:33 +0000 (19:44 +0000)]
(DECL_MODE, DECL_RTL): Update comments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2172
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 19 Sep 1992 19:44:05 +0000 (19:44 +0000)]
(SUBREG_PROMOTED_{VAR,UNSIGNED}_P): New macros.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2171
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 19 Sep 1992 19:42:53 +0000 (19:42 +0000)]
(reg_set_last): Allow old value to be a SUBREG.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2170
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 19 Sep 1992 19:42:00 +0000 (19:42 +0000)]
(smax, smin, umax, umin): Add define_splits.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2169
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 19 Sep 1992 19:41:16 +0000 (19:41 +0000)]
(print_operand, case 'h', 'H', 'w'): Minor cleanups.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2168
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 19 Sep 1992 19:40:40 +0000 (19:40 +0000)]
(PROMOTE_MODE): New macro.
(BRANCH_COST): Increase from 2 to 3.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2167
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 19 Sep 1992 19:38:28 +0000 (19:38 +0000)]
({load,store}_multiple): Use MATCH_PAR_DUP.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2166
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Sat, 19 Sep 1992 19:00:40 +0000 (19:00 +0000)]
(fold_convert): Avoid using conversion of unsigned
to floating; offset value by hand to fit in signed type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2165
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Sat, 19 Sep 1992 18:53:18 +0000 (18:53 +0000)]
(find_reloads): Always use >= with FIRST_PSEUDO_REGISTER.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2164
138bc75d-0d04-0410-961f-
82ee72b054a4
jrv [Sat, 19 Sep 1992 11:55:33 +0000 (11:55 +0000)]
(sCOND patterns): Don't allow a MEM in the SET_DEST, because these insns
can't have input reloads, and a MEM might need an input address reload.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2163
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Sat, 19 Sep 1992 05:33:47 +0000 (05:33 +0000)]
(subst_constants): Do substitute in address of MEM dest.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2162
138bc75d-0d04-0410-961f-
82ee72b054a4
mycroft [Sat, 19 Sep 1992 04:52:22 +0000 (04:52 +0000)]
Fix typo in init_reload.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2161
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Sat, 19 Sep 1992 04:48:37 +0000 (04:48 +0000)]
(fold_rtx): For SUBREG, actually test subreg_lowpart_p in the
code to handle narrowing subregs. And exclude binary ops like DIV
where truncating the args is not valid.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2160
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Sat, 19 Sep 1992 04:47:57 +0000 (04:47 +0000)]
(initializer_constant_valid_p): Warn about address
arithmetic destined for a type that's too narrow.
New argument ENDTYPE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2159
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Sat, 19 Sep 1992 04:47:11 +0000 (04:47 +0000)]
(exit): Declare _exit as volatile.
(__CTOR_LIST__, __DTOR_LIST__): Moved to separate member.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2158
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Sat, 19 Sep 1992 04:46:22 +0000 (04:46 +0000)]
(assign_parms): Set MEM_IN_STRUCT_P right in stack slots.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2157
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Sat, 19 Sep 1992 04:43:29 +0000 (04:43 +0000)]
Don't look for *.h symlinks if the host doesn't have symlinks.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2156
138bc75d-0d04-0410-961f-
82ee72b054a4
roland [Fri, 18 Sep 1992 23:59:45 +0000 (23:59 +0000)]
entered into RCS
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2155
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Fri, 18 Sep 1992 21:33:31 +0000 (21:33 +0000)]
Allow calls to absolute addresses.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2154
138bc75d-0d04-0410-961f-
82ee72b054a4
wood [Fri, 18 Sep 1992 10:46:32 +0000 (10:46 +0000)]
(load store patterns): Prepend loads and stores with %V
and %v to track the type and address of the access.
(call_movstrsi_loop): Renamed from call_block_move_loop.
Use call-value for the block move patterns.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2153
138bc75d-0d04-0410-961f-
82ee72b054a4
wood [Fri, 18 Sep 1992 10:43:20 +0000 (10:43 +0000)]
*** empty log message ***
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2152
138bc75d-0d04-0410-961f-
82ee72b054a4
wood [Fri, 18 Sep 1992 10:42:19 +0000 (10:42 +0000)]
(PERFERRED_DEBUGGING_TYPE): Compute based on
m88k_version.
(CPU_DEFAULT): Make it -m88000.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2151
138bc75d-0d04-0410-961f-
82ee72b054a4
wood [Fri, 18 Sep 1992 10:41:10 +0000 (10:41 +0000)]
(m88k_volatile_code): New variable.
(print_operand): Track volatile memory references and output a
serializing instruction before a load when necessary.
(m88k_version, m88k_version_0300): New variables.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2150
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Fri, 18 Sep 1992 05:09:55 +0000 (05:09 +0000)]
(install-common-headers): Don't copy byteorder.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2149
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Thu, 17 Sep 1992 21:28:44 +0000 (21:28 +0000)]
Don't include-next if _LIBC_LIMITS_H_ defined.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2148
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Thu, 17 Sep 1992 21:11:17 +0000 (21:11 +0000)]
(parse_escape): Diagnose '\x' with no digits.
Diagnose integer overflow when parsing \x escapes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2147
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Thu, 17 Sep 1992 19:47:09 +0000 (19:47 +0000)]
Comment added.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2146
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Thu, 17 Sep 1992 19:45:49 +0000 (19:45 +0000)]
(SIGNED_CHAR_SPEC): Use #if rather than ?: to handle
setting the default SIGNED_CHAR_SPEC macro, since the 3.0 version
of the MIPS C compiler doesn't like ?: in initializers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2145
138bc75d-0d04-0410-961f-
82ee72b054a4
moore [Thu, 17 Sep 1992 19:10:21 +0000 (19:10 +0000)]
Initial revision
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2144
138bc75d-0d04-0410-961f-
82ee72b054a4
moore [Thu, 17 Sep 1992 19:09:02 +0000 (19:09 +0000)]
(SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
WCHAR_SIZE): Define for hpux.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2143
138bc75d-0d04-0410-961f-
82ee72b054a4
moore [Thu, 17 Sep 1992 19:08:30 +0000 (19:08 +0000)]
(FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Fix double integer
argument alignment.
(SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_SIZE): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2142
138bc75d-0d04-0410-961f-
82ee72b054a4
jrv [Thu, 17 Sep 1992 05:21:44 +0000 (05:21 +0000)]
(print_operand): Don't abort if error: might have been a user asm.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2141
138bc75d-0d04-0410-961f-
82ee72b054a4
jrv [Thu, 17 Sep 1992 05:20:26 +0000 (05:20 +0000)]
(addsi3,ashlsi3): Handle the case where the stack pointer appears as an
index reg.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2140
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Thu, 17 Sep 1992 02:46:36 +0000 (02:46 +0000)]
(parse_number): Warn about '9' in octal constants.
Commonize overflow detection for various radices.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2139
138bc75d-0d04-0410-961f-
82ee72b054a4
tege [Wed, 16 Sep 1992 23:36:52 +0000 (23:36 +0000)]
(casesi): Use emit_jump_insn to emit casesi0 pattern.
(xorsi3): Remove `r' from output template.
(movstrsi recognizer): Add `+' to operand 0 & 1 constraints.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2138
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Wed, 16 Sep 1992 19:59:37 +0000 (19:59 +0000)]
print correct number of half-pic ptrs/refs for -mstats
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2137
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Wed, 16 Sep 1992 18:52:31 +0000 (18:52 +0000)]
Do not fold constant comparisons
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2136
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 16 Sep 1992 02:55:26 +0000 (02:55 +0000)]
(rest_of_decl_compilation): Call `dwarfout_file_scope_decl'
immediately for actual *definitions* of file-scope variables (and
file-scope typedefs too).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2135
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Wed, 16 Sep 1992 01:17:03 +0000 (01:17 +0000)]
(EXINIT): Clear it to avoid problems with bad values.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2134
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Wed, 16 Sep 1992 01:13:47 +0000 (01:13 +0000)]
(print_node): Don't print blank line for null fields in a TREE_VEC.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2133
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Wed, 16 Sep 1992 01:10:26 +0000 (01:10 +0000)]
(macroexpand): Don't output another error message if have
already output error message returned from macarg.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2132
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Wed, 16 Sep 1992 01:07:05 +0000 (01:07 +0000)]
(grokparms): Copy parm list if it isn't permanent,
instead of copying it if temporary allocation has been turned off.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2131
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Wed, 16 Sep 1992 01:03:48 +0000 (01:03 +0000)]
(only_leaf_regs_used): Check for global_regs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2130
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Wed, 16 Sep 1992 00:55:38 +0000 (00:55 +0000)]
(lang_identifier): Add limbo_value field for out of
scope block level extern declarations.
(IDENTIFIER_LIMBO_VALUE): New define, to access that field.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2129
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Wed, 16 Sep 1992 00:54:45 +0000 (00:54 +0000)]
(print_lang_identifier): Print value of limbo field.
(pushdecl): Check an extern decl against both previous global and
previous limbo declarations. For global declarations, clear limbo
value field. For block level extern declarations, set limbo field
if zero.
(grokdeclarator): If this is a block level extern, then allocate
it on the permanent obstack, not the temporary obstack.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2128
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Tue, 15 Sep 1992 21:37:46 +0000 (21:37 +0000)]
(yylex): Integer constant is unsigned for purposes of
int_fits_type_p so that it compares huge constants properly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2127
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Tue, 15 Sep 1992 21:37:22 +0000 (21:37 +0000)]
(int_fits_type_p): Negative ints never fit unsigned
types, and unsigned ints with top-bit-set never fit signed types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2126
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Tue, 15 Sep 1992 18:44:07 +0000 (18:44 +0000)]
Do cld before each string move/compare.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2125
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Tue, 15 Sep 1992 05:08:02 +0000 (05:08 +0000)]
(va_arg): Cast ptr to void *, then to TYPE *.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2124
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Tue, 15 Sep 1992 04:47:08 +0000 (04:47 +0000)]
(record_reg_classes): Ignore leading % when examining constraint.
Don't bypass usual cost computation when a pseudo "matches"
a non-pseudo in matching operands.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2123
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Tue, 15 Sep 1992 04:09:42 +0000 (04:09 +0000)]
(ftell): Declaration deleted.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2122
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Mon, 14 Sep 1992 20:38:33 +0000 (20:38 +0000)]
(parse_number): Diagnose integer constants that are too large.
Diagnose duplicate `l' and `u' suffixes. Diagnose ` 0x ' and ` 0a '.
Warn about integer constants that are so large that they are unsigned.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2121
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Mon, 14 Sep 1992 18:45:50 +0000 (18:45 +0000)]
(yylex): Warn about integers so large that they are unsigned.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2120
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Mon, 14 Sep 1992 14:33:07 +0000 (14:33 +0000)]
*** empty log message ***
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2119
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Sun, 13 Sep 1992 17:36:33 +0000 (17:36 +0000)]
(exp): Detect signed integer overflow.
Replace `(unsigned)' with `(unsigned long)'. When
evaluating << and >>, compute the correct answer without shifting
by more than HOST_BITS_PER_LONG, or by a negative quantity.
(integer_overflow, left_shift, right_shift): New functions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2118
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Sun, 13 Sep 1992 17:26:24 +0000 (17:26 +0000)]
(expand_binop): Convert op1 of shift libcall to word_mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2117
138bc75d-0d04-0410-961f-
82ee72b054a4
tege [Sun, 13 Sep 1992 16:02:23 +0000 (16:02 +0000)]
Clean up indentation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2116
138bc75d-0d04-0410-961f-
82ee72b054a4
tege [Sun, 13 Sep 1992 15:39:59 +0000 (15:39 +0000)]
(compute_xdepi_operands_from_integer): New function.
Some code come from output_zdepi.
(output_zdepi): Removed. (depi_cint_operand): New name for zdepi_operand.
(consec_zeros_p, and_operand, ior_mask_p, ior_operand,
output_and, output_ior): New functions.
(output_load_address): Removed. Nothing uses it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2115
138bc75d-0d04-0410-961f-
82ee72b054a4
tege [Sun, 13 Sep 1992 15:38:06 +0000 (15:38 +0000)]
(output_and, output_ior): Declare.
(CONST_OK_FOR_LETTER_P): Add 'O' and 'P'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2114
138bc75d-0d04-0410-961f-
82ee72b054a4
tege [Sun, 13 Sep 1992 15:28:38 +0000 (15:28 +0000)]
(several patterns): Make sure # of attribute alternatives
match # of constraint alternatives.
Return assembler output template instead of calling output_asm_insn.
Don't write to operands[n] for n >= max operand number in the
pattern, use xoperands instead.
(casesi): Rewrite. Used to be buggy and slow.
(and-not patterns): Make them canonical. Put operands in the right order.
(negsi2): Don't use @ for just one output template.
(movstrsi): Change `!= 4' => `< 4' in test for alignment.
(adddi3): Extend to handle CONST_INT.
(ior-with-immediate optimizer): New pattern.
(and-with-immediate optimizer): New pattern.
(sCC, bCC expanders): Remove constraints.
(high:DI recognizer): Add return \"\".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2113
138bc75d-0d04-0410-961f-
82ee72b054a4
moore [Sun, 13 Sep 1992 15:11:55 +0000 (15:11 +0000)]
*** empty log message ***
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2112
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Sat, 12 Sep 1992 19:08:12 +0000 (19:08 +0000)]
(yylex): If integer value overflows so highword is negative,
it needs unsigned long long.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2111
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Sat, 12 Sep 1992 08:45:46 +0000 (08:45 +0000)]
(__gcc_bcmp): New function, in cond on L__gcc_bcmp.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2110
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Sat, 12 Sep 1992 01:10:28 +0000 (01:10 +0000)]
(va_alist): Supply `int' as the type to define it as.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2109
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Fri, 11 Sep 1992 23:22:07 +0000 (23:22 +0000)]
(duplicate_decls): For file-scope redefinitions,
error message distinguishes previous definitions from mere decls.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2108
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Fri, 11 Sep 1992 16:39:13 +0000 (16:39 +0000)]
* pa.md (non-[cf]branch define_delay): Use a single delay description
for the delay slots in "branch", "call", and "milli" insns.
(fbranch define_delay): fbranches have a single delay slot which
may be nullified when the branch is taken (regardless of direction
or distance to the target.)
(in_branch_delay attribute): Disallow fbranch insns explicitly.
(floating point branches): Use "fbranch" attribute for these insns.
Update output template to properly handle nullification.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2107
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Fri, 11 Sep 1992 08:53:34 +0000 (08:53 +0000)]
(build_binary_op): When checking shift widths, don't assume target integer
fits in a HOST_WIDE_INT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2106
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Fri, 11 Sep 1992 08:52:38 +0000 (08:52 +0000)]
(finish_struct): Don't assume that a target integer
fits in a HOST_WIDE_INT when checking bit-field widths.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2105
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Fri, 11 Sep 1992 07:35:32 +0000 (07:35 +0000)]
(convert_to_integer): Don't pass truncation thru lshift
if shift count >= width of narrower type. Instead, just use 0.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2104
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Fri, 11 Sep 1992 05:07:29 +0000 (05:07 +0000)]
(SIZE_TYPE): Defined.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2103
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Fri, 11 Sep 1992 02:01:46 +0000 (02:01 +0000)]
Comment changes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2102
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Fri, 11 Sep 1992 01:15:31 +0000 (01:15 +0000)]
(expand_binop): Fix typo, `mode' => `methods'.
(expand_binop): Delete #ifdef GPC; complex code now uncond.
(expand_binop): Fix typo, `mode' => `methods'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2101
138bc75d-0d04-0410-961f-
82ee72b054a4
moore [Thu, 10 Sep 1992 22:27:06 +0000 (22:27 +0000)]
*** empty log message ***
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2100
138bc75d-0d04-0410-961f-
82ee72b054a4