Commit Graph

2581 Commits

Author SHA1 Message Date
Richard Kenner
1a26b032d0 (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.

From-SVN: r2182
1992-09-19 15:53:26 -04:00
Richard Kenner
0e91429a56 (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.

From-SVN: r2181
1992-09-19 15:50:23 -04:00
Richard Kenner
98f3b47110 (tail_recursion_args): Use mode of DECL_RTL, not DECL_MODE.
(expand_decl): Promote modes of scalar variables when useful on target.

From-SVN: r2180
1992-09-19 15:49:48 -04:00
Richard Kenner
f3f391d75b (expand_binop, expand_unop): Don't make SUBREG for promoted variables as
operands.

From-SVN: r2179
1992-09-19 15:49:13 -04:00
Richard Kenner
09d7f5a53f (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.

From-SVN: r2178
1992-09-19 15:48:43 -04:00
Richard Kenner
4b7cb39e62 (expand_inline_function): Convert actual to formal's mode (in case formal
was promoted).

From-SVN: r2177
1992-09-19 15:47:55 -04:00
Richard Kenner
c56d91f8e7 (struct var_refs_queue): Remove unused field ORIGINAL.
Add new fields PROMOTED_MODE and UNSIGNEDP.

From-SVN: r2176
1992-09-19 15:47:28 -04:00
Richard Kenner
00d8a4c187 (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.

From-SVN: r2175
1992-09-19 15:47:00 -04:00
Richard Kenner
1499e0a89f (convert_move, convert_to_mode): Strip off a SUBREG made for variables with promoted modes.
(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.

From-SVN: r2174
1992-09-19 15:45:55 -04:00
Richard Kenner
601ce03b17 (PROMOTE_MODE): Provide default definition.
From-SVN: r2173
1992-09-19 15:44:58 -04:00
Richard Kenner
17c7332100 (DECL_MODE, DECL_RTL): Update comments.
From-SVN: r2172
1992-09-19 15:44:33 -04:00
Richard Kenner
07be3989ad (SUBREG_PROMOTED_{VAR,UNSIGNED}_P): New macros.
From-SVN: r2171
1992-09-19 15:44:05 -04:00
Richard Kenner
4d9d7d9d35 (reg_set_last): Allow old value to be a SUBREG.
From-SVN: r2170
1992-09-19 15:42:53 -04:00
Richard Kenner
95ac8e67bc (smax, smin, umax, umin): Add define_splits.
From-SVN: r2169
1992-09-19 15:42:00 -04:00
Richard Kenner
df3d94ed38 (print_operand, case 'h', 'H', 'w'): Minor cleanups.
From-SVN: r2168
1992-09-19 15:41:16 -04:00
Richard Kenner
ef457bda4a (PROMOTE_MODE): New macro.
(BRANCH_COST): Increase from 2 to 3.

From-SVN: r2167
1992-09-19 15:40:40 -04:00
Richard Kenner
2f62200546 ({load,store}_multiple): Use MATCH_PAR_DUP.
From-SVN: r2166
1992-09-19 15:38:28 -04:00
Richard Stallman
b6b19f41c6 (fold_convert): Avoid using conversion of unsigned
to floating; offset value by hand to fit in signed type.

From-SVN: r2165
1992-09-19 19:00:40 +00:00
Richard Stallman
91f9a6ede4 (find_reloads): Always use >= with FIRST_PSEUDO_REGISTER.
From-SVN: r2164
1992-09-19 18:53:18 +00:00
James Van Artsdalen
afc2c5a76f (sCOND patterns): Don't allow a MEM in the SET_DEST...
(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.

From-SVN: r2163
1992-09-19 11:55:33 +00:00
Richard Stallman
91594e4329 (subst_constants): Do substitute in address of MEM dest.
From-SVN: r2162
1992-09-19 05:33:47 +00:00
Charles Hannum
65701fd247 Fix typo in init_reload.
From-SVN: r2161
1992-09-19 04:52:22 +00:00
Richard Stallman
e8d76a395e (fold_rtx): For SUBREG, actually test subreg_lowpart_p in the code to handle narrowing subregs.
(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.

From-SVN: r2160
1992-09-19 04:48:37 +00:00
Richard Stallman
f0c70ef08a (initializer_constant_valid_p): Warn about address arithmetic destined for a type that's too narrow.
(initializer_constant_valid_p): Warn about address
arithmetic destined for a type that's too narrow.
New argument ENDTYPE.

From-SVN: r2159
1992-09-19 04:47:57 +00:00
Richard Stallman
ad38743d79 (exit): Declare _exit as volatile.
(__CTOR_LIST__, __DTOR_LIST__): Moved to separate member.

From-SVN: r2158
1992-09-19 04:47:11 +00:00
Richard Stallman
7e41ffa25c (assign_parms): Set MEM_IN_STRUCT_P right in stack slots.
From-SVN: r2157
1992-09-19 04:46:22 +00:00
Richard Stallman
73bdfabc83 Don't look for *.h symlinks if the host doesn't have symlinks.
From-SVN: r2156
1992-09-19 04:43:29 +00:00
Roland McGrath
9846fee016 entered into RCS
From-SVN: r2155
1992-09-18 23:59:45 +00:00
Michael Meissner
2bba3a75c6 Allow calls to absolute addresses.
From-SVN: r2154
1992-09-18 21:33:31 +00:00
Tom Wood
a5cc4aa982 (load store patterns): Prepend loads and stores with %V and %v to track the type and address of the access.
(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.

From-SVN: r2153
1992-09-18 10:46:32 +00:00
Tom Wood
1039fa4646 *** empty log message ***
From-SVN: r2152
1992-09-18 10:43:20 +00:00
Tom Wood
454e03485b (PERFERRED_DEBUGGING_TYPE): Compute based on m88k_version.
(PERFERRED_DEBUGGING_TYPE): Compute based on
	m88k_version.
	(CPU_DEFAULT): Make it -m88000.

From-SVN: r2151
1992-09-18 10:42:19 +00:00
Tom Wood
08e8857cbb (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.

From-SVN: r2150
1992-09-18 10:41:10 +00:00
Richard Stallman
0380c535b1 (install-common-headers): Don't copy byteorder.h.
From-SVN: r2149
1992-09-18 05:09:55 +00:00
Richard Stallman
47068b86eb Don't include-next if _LIBC_LIMITS_H_ defined.
From-SVN: r2148
1992-09-17 21:28:44 +00:00
Richard Stallman
f46ffce4f8 (parse_escape): Diagnose '\x' with no digits.
Diagnose integer overflow when parsing \x escapes.

From-SVN: r2147
1992-09-17 21:11:17 +00:00
Richard Stallman
0e14ddbcfc Comment added.
From-SVN: r2146
1992-09-17 19:47:09 +00:00
Richard Stallman
f396d2783c (SIGNED_CHAR_SPEC): Use #if rather than ?...
(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.

From-SVN: r2145
1992-09-17 19:45:49 +00:00
Timothy Moore
b5ae93b42f Initial revision
From-SVN: r2144
1992-09-17 19:10:21 +00:00
Timothy Moore
3e5c2e141d (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
WCHAR_SIZE): Define for hpux.

From-SVN: r2143
1992-09-17 19:09:02 +00:00
Timothy Moore
3d247e8521 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Fix double integer argument alignment.
(FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Fix double integer
        argument alignment.
        (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_SIZE): Define.

From-SVN: r2142
1992-09-17 19:08:30 +00:00
James Van Artsdalen
68daafd46e (print_operand): Don't abort if error: might have been a user asm.
From-SVN: r2141
1992-09-17 05:21:44 +00:00
James Van Artsdalen
442426450e (addsi3,ashlsi3): Handle the case where the stack pointer appears as an
index reg.

From-SVN: r2140
1992-09-17 05:20:26 +00:00
Richard Stallman
3292923dd1 (parse_number): Warn about '9' in octal constants.
Commonize overflow detection for various radices.

From-SVN: r2139
1992-09-17 02:46:36 +00:00
Torbjorn Granlund
58939c25bd (casesi): Use emit_jump_insn to emit casesi0 pattern.
(xorsi3): Remove `r' from output template.
(movstrsi recognizer): Add `+' to operand 0 & 1 constraints.

From-SVN: r2138
1992-09-16 23:36:52 +00:00
Michael Meissner
6f3c667fbe print correct number of half-pic ptrs/refs for -mstats
From-SVN: r2137
1992-09-16 19:59:37 +00:00
Michael Meissner
4debb28042 Do not fold constant comparisons
From-SVN: r2136
1992-09-16 18:52:31 +00:00
Richard Stallman
fcc415d459 (rest_of_decl_compilation): Call `dwarfout_file_scope_decl' immediately for...
(rest_of_decl_compilation):  Call `dwarfout_file_scope_decl'
immediately for actual *definitions* of file-scope variables (and
file-scope typedefs too).

From-SVN: r2135
1992-09-16 02:55:26 +00:00
Jim Wilson
04b5ab57e5 (EXINIT): Clear it to avoid problems with bad values.
From-SVN: r2134
1992-09-15 18:17:03 -07:00
Jim Wilson
3629f741df (print_node): Don't print blank line for null fields in a TREE_VEC.
From-SVN: r2133
1992-09-15 18:13:47 -07:00