Commit Graph

2336 Commits

Author SHA1 Message Date
Jim Wilson
518dd8661d (i960_output_ldconst): Pass missing xoperands argument to output_asm_insn call.
From-SVN: r2237
1992-09-24 22:37:08 -07:00
Jim Wilson
a9fb8bb959 (movti): Split CONST_INTs into 4 moves, and force all other constants to
memory.

From-SVN: r2236
1992-09-24 22:33:07 -07:00
Michael Meissner
1154b096fa Fix varardic functions returning structs.
From-SVN: r2235
1992-09-24 22:11:57 +00:00
Torbjorn Granlund
f4f22302c4 (REGISTER_MOVE_COST): Fix typo. Use ||' instead of |'.
(REG_CLASS_FROM_LETTER): Don't handle 'r' constraints here.

From-SVN: r2234
1992-09-24 19:37:34 +00:00
Torbjorn Granlund
fa5e5c1e7a (clobbered_register): Delete.
(srcsi_operand): Return 1 also for things matching depi_cint_operand.
(secondary_reload_class): Replace.

From-SVN: r2233
1992-09-24 19:36:29 +00:00
Torbjorn Granlund
907f67ccf3 (ldo/ldil SImode and HImode recognizers): Use "const_int_operand" for operand 1 and simplify final condition.
(ldo/ldil SImode and HImode recognizers): Use "const_int_operand"
for operand 1 and simplify final condition.  Remove `n' constraint.
(depi SImode and HImode recognizers): Remove `n' constraint.
(plus:SI ... high ... splitter): Don't overwrite input, go via
clobber operand instead.
(many patterns): Replace `in' constraint with just `i'.
(movstrsi): Don't do (clobber (match_scratch)), use explicit
pseudos instead, generated in preparation C code.  Don't call
force_not_mem for operand 2.
(movstrsi recognizer): Add `&' to operand 3
(andsi3): Fix typo.
(iorsi3): Fix typo.
(load-shift-16): New optimizer.
(load-shift optimizers): Set "type" attr.

From-SVN: r2232
1992-09-24 19:33:59 +00:00
Richard Kenner
fad04099d7 (yylex, case '"'): Initialize arg pased to readescape.
From-SVN: r2231
1992-09-24 15:23:56 -04:00
Richard Stallman
65faa6a4c4 (lang_options): Add Objc options.
From-SVN: r2230
1992-09-24 19:17:56 +00:00
Richard Kenner
d7c665bf13 (length_used): New variable.
(walk_attr_value): Set it when we have (eq_attr "length" ...).
(write_const_num_delay_slots): Value is 1 unless LENGTH_USED is set.

From-SVN: r2229
1992-09-24 07:28:09 -04:00
Richard Kenner
ba12108c7a (mark_set_resources, case CC0): Set RES->CC if IN_SEST.
From-SVN: r2228
1992-09-24 07:09:49 -04:00
Richard Kenner
533d083586 (forbidden_inc_dec_class, in_inc_dec): New variables.
(regclass): Don't alloca the costs twice.
Initialize forbidden_inc_dec_class.
For regs that have inc-dec, ignore forbidden classes.
(record_address_regs): Update in_inc_dec.

From-SVN: r2227
1992-09-24 06:30:43 -04:00
Richard Stallman
dc24dc0a61 Add comment.
From-SVN: r2226
1992-09-24 06:58:57 +00:00
Richard Stallman
2cdb89d3b2 Initial revision
From-SVN: r2225
1992-09-24 06:57:49 +00:00
Richard Stallman
7e81b79c83 Include syslimits.h instead of system's limits.h.
From-SVN: r2224
1992-09-24 06:57:35 +00:00
Richard Stallman
26363cdfd5 (USER_H): Add syslimits.h.
(install-fixincludes): If we fix system's limits.h, install that as syslimits.h

From-SVN: r2223
1992-09-24 06:57:11 +00:00
Richard Stallman
b70af677f2 (readescape): New arg ignore_ptr.
(yylex): Pass new arg, handle result that comes back.

From-SVN: r2222
1992-09-24 06:53:13 +00:00
Richard Stallman
3b647566f7 Comment fix.
From-SVN: r2221
1992-09-24 06:08:30 +00:00
Richard Kenner
191b18e9de (find_reloads_address): Properly check for constant address.
From-SVN: r2220
1992-09-23 19:26:34 -04:00
Richard Kenner
f12564b4c0 (simplify_unary_operation, case SIGN_EXTEND): Use HOST_BITS_PER_WIDE_INT,
not HOST_BITS_PER_INT.

From-SVN: r2219
1992-09-23 19:26:03 -04:00
Richard Kenner
1f9dfb724b (fold_convert): Add missing cast to HOST_WIDE_INT.
From-SVN: r2218
1992-09-23 19:24:45 -04:00
Richard Kenner
01ca1b9182 (jump_optimize): Tighten up test for when we can't delete a set of CC0.
Don't insert insns between set and use of CC0.

From-SVN: r2217
1992-09-23 19:24:25 -04:00
Richard Kenner
b6c9b49af9 (shorten_branches): Correctly access insn needing delay slot.
From-SVN: r2216
1992-09-23 19:23:47 -04:00
Richard Kenner
c3c2cb3741 (significant_bits, num_sign_bit_copies): Handle SUBREGs made for promoted
variables.

From-SVN: r2215
1992-09-23 19:23:19 -04:00
Richard Kenner
d6749decf6 (fill_simple_delay_slots): Don't make copy of insn that references CC0.
From-SVN: r2214
1992-09-23 19:22:40 -04:00
Richard Kenner
fd8c9e1cb9 (define_attr "type"): New type "ibranch".
(define_attr "length"): Set length for "ibranch" type.
(define_attr "in_delay_slot"): Add new type "ibranch"; for "branch", only has
delay slot if length is 4.
(define_attr "cc_type"): Add new type "ibranch".
(indirect branches): Now type "ibranch".

From-SVN: r2213
1992-09-23 19:21:45 -04:00
Michael Meissner
305aa9e2b1 Undo most of 9/22 changes
From-SVN: r2212
1992-09-23 15:25:23 +00:00
Richard Stallman
65a6dd9a32 Finish changing _ANSI_H to _ANSI_H_.
From-SVN: r2211
1992-09-23 04:12:08 +00:00
Richard Stallman
b81fd0f4f2 (basic_induction_var): Inside PLUS, when looking for promoted
var, make sure it's a REG.

From-SVN: r2210
1992-09-23 03:46:26 +00:00
Richard Stallman
8c153768f4 (perform_fixdfsi): Copy arg to memory variable.
From-SVN: r2209
1992-09-23 03:39:59 +00:00
Michael Meissner
a48bb578b4 Eliminate -fbuiltin/-fno-builtin hacks & enable OSF/rose shared libs.
From-SVN: r2208
1992-09-22 21:03:23 +00:00
Michael Meissner
9bbd6c3abe Eliminate -fbuiltin/-fno-builtin hacks.
From-SVN: r2207
1992-09-22 21:02:54 +00:00
Michael Meissner
3928229258 Put correct source into tree.
From-SVN: r2206
1992-09-22 16:31:20 +00:00
Michael Meissner
6cb6c3b358 Fix varardic function returning a structure or union.
From-SVN: r2205
1992-09-22 16:20:16 +00:00
Richard Stallman
372e033b8f (choose_reload_regs): When setting reg_has_output_reload,
loop over multiple regs only for hard reg.  Set reg_is_output_reload
in separate loop.

From-SVN: r2204
1992-09-22 07:13:24 +00:00
Jeff Law
4323a0e11e reorg.c (mark_set_resources, case REG): A register is set iff "in_dest" is nonzero.
* reorg.c (mark_set_resources, case REG): A register is set iff
	"in_dest" is nonzero.

From-SVN: r2203
1992-09-21 10:21:38 -06:00
Richard Stallman
cc4710825d (make_extraction): Make test whether to use AND or
{SIGN,ZERO}_EXTRACT depend on UNSIGNEDP.

From-SVN: r2202
1992-09-21 13:33:38 +00:00
Richard Kenner
e404a39a9c (reload): Print the needs to the dump file.
(reload): If we can't get a register that we know won't interfere with groups,
get one that might instead of giving up.

From-SVN: r2201
1992-09-21 08:26:33 -04:00
Richard Stallman
8ed694b11a Get alloca using ALLOCA, not libucb.a.
From-SVN: r2200
1992-09-21 07:08:50 +00:00
Richard Stallman
8005495c45 Initial revision
From-SVN: r2199
1992-09-21 07:08:28 +00:00
Richard Stallman
2baccce2f7 (put_var_into_stack): Check REG != 0 before dereference.
From-SVN: r2198
1992-09-21 06:46:22 +00:00
Richard Stallman
13c9910fdd (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.

From-SVN: r2197
1992-09-21 03:51:25 +00:00
Richard Stallman
e64ff1039c (subst): Set and compare extend_op with 0, not NULL.
From-SVN: r2196
1992-09-21 03:08:45 +00:00
Richard Stallman
8fed83ffd0 (LPREFIX): Overridden as `.L'.
(ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise.

From-SVN: r2195
1992-09-21 01:19:24 +00:00
Richard Kenner
22609cbf24 (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.

From-SVN: r2194
1992-09-20 20:05:40 -04:00
Richard Stallman
80b0e34e58 Fix indentation. Carry out renamings from hash.h.
Rename args and locals also.

From-SVN: r2193
1992-09-20 23:43:50 +00:00
Richard Stallman
d0bd180dfb Fix indentation, clean up comments.
Rename structure fields and typedefs.

From-SVN: r2192
1992-09-20 23:42:24 +00:00
Richard Kenner
2156dfe383 (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.

From-SVN: r2191
1992-09-20 05:53:06 -04:00
Richard Kenner
255680cfb0 (emit_insn_after_with_line_notes): New function.
From-SVN: r2190
1992-09-20 05:52:26 -04:00
Richard Kenner
457816e2e2 (subst, simplify_and_const_int, significant_bits): Treat BYTE_LOADS_SIGN_EXTEND just like BYTE_LOADS_ZERO_EXTEND.
(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.

From-SVN: r2189
1992-09-20 05:51:37 -04:00
Richard Kenner
46da6b3a5a (find_reloads, find_reloads_toplev): Treat BYTE_LOADS_SIGN_EXTEND just
like BYTE_LOADS_ZERO_EXTEND.

From-SVN: r2188
1992-09-20 05:50:34 -04:00