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
Richard Stallman
3934c98b30
Add comment in find_reloads.
...
From-SVN: r2187
1992-09-20 07:25:26 +00:00
Richard Stallman
ec35ef5057
(SIZE_TYPE): Defined.
...
From-SVN: r2186
1992-09-19 22:02:28 +00:00
Richard Kenner
9e87cc8929
(walk_insn_part, case IF_THEN_ELSE): Refine when HAVE_CMOVE_FLAG gets set.
...
From-SVN: r2185
1992-09-19 15:55:22 -04:00
Richard Kenner
9571f07974
(delete_insn): Don't change labels to NOTEs if we would not really have
...
deleted them.
From-SVN: r2184
1992-09-19 15:54:32 -04:00
Richard Kenner
8cfef35ae2
(note_insn_name): Fix typo: had NOT_INSN_DELETED_LABEL.
...
From-SVN: r2183
1992-09-19 15:54:05 -04:00
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