Richard Stallman [Tue, 29 Sep 1992 20:08:08 +0000 (20:08 +0000)]
Fix comment syntax after #endif.
From-SVN: r2280
Richard Stallman [Tue, 29 Sep 1992 20:06:22 +0000 (20:06 +0000)]
(ENQUIRE_CFLAGS): Remove -DNO_SC.
From-SVN: r2279
Richard Kenner [Tue, 29 Sep 1992 14:14:19 +0000 (10:14 -0400)]
(expand_binop): Convert X - C to X + (-C).
From-SVN: r2278
Jim Wilson [Mon, 28 Sep 1992 21:25:53 +0000 (14:25 -0700)]
(copy_loop_body...
(copy_loop_body, JUMP_INSN case): When invert jump
insn, must first construct new insn before trying to invert it,
so that validate_change will work properly.
From-SVN: r2277
Jim Wilson [Mon, 28 Sep 1992 21:21:34 +0000 (14:21 -0700)]
(find_splittable_givs): Pass mem_mode not mode to memory_address_p.
From-SVN: r2276
Jim Wilson [Mon, 28 Sep 1992 21:18:17 +0000 (14:18 -0700)]
(copy_loop_body, JUMP_INSN case): When setting JUMP_LABEL field, verify that what we think is a label actually is.
(copy_loop_body, JUMP_INSN case): When setting
JUMP_LABEL field, verify that what we think is a label actually
is. If it isn't then map the old JUMP_LABEL to find the new one.
From-SVN: r2275
Jim Wilson [Mon, 28 Sep 1992 21:16:10 +0000 (14:16 -0700)]
(orcc peephole): Don't allow FP regs to match pattern.
From-SVN: r2274
Richard Stallman [Mon, 28 Sep 1992 21:16:00 +0000 (21:16 +0000)]
(va_arg, va_start): Explicitly cast to __gnuc_va_alist.
From-SVN: r2273
Jim Wilson [Mon, 28 Sep 1992 21:14:21 +0000 (14:14 -0700)]
(indirect_jump): Use bx instead of b*, and accept any
address_operand instead of just a register operand.
From-SVN: r2272
Jim Wilson [Mon, 28 Sep 1992 21:11:48 +0000 (14:11 -0700)]
(i960_round_tree): Correct conversion of bits to bytes to round up to nearest byte.
(i960_round_tree): Correct conversion of bits to bytes to
round up to nearest byte.
(i960_round_align): Likewise.
From-SVN: r2271
Michael Meissner [Mon, 28 Sep 1992 19:53:47 +0000 (19:53 +0000)]
Fix typo.
From-SVN: r2270
Richard Stallman [Mon, 28 Sep 1992 16:24:36 +0000 (16:24 +0000)]
(expand_binop): Use get_insns, not gen_sequence.
From-SVN: r2269
Richard Stallman [Mon, 28 Sep 1992 16:07:29 +0000 (16:07 +0000)]
(build_unary_op): Address of nested fcn isn't constant.
From-SVN: r2268
Richard Stallman [Mon, 28 Sep 1992 13:43:23 +0000 (13:43 +0000)]
(__builtin_new): Avoid passing 0 to malloc.
From-SVN: r2267
Richard Stallman [Mon, 28 Sep 1992 13:38:03 +0000 (13:38 +0000)]
(indirect_jump): Use address_operand as predicate.
From-SVN: r2266
Richard Kenner [Mon, 28 Sep 1992 12:18:10 +0000 (08:18 -0400)]
(subsi3): Remove last change.
(allocate_stack): Go back to calling subsi3.
From-SVN: r2265
Richard Kenner [Sun, 27 Sep 1992 22:19:16 +0000 (18:19 -0400)]
(struct arg_data): New field unsignedp.
(expand_call): Handle PROMOTE_FUNCTION_ARGS and PROMOTE_FUNCTION_RETURN.
From-SVN: r2264
Richard Kenner [Sun, 27 Sep 1992 22:18:33 +0000 (18:18 -0400)]
(assign_parms): If PROMOTE_FUNCTION_ARGS is defined, see if the incoming register should be used in a wider mode.
(assign_parms): If PROMOTE_FUNCTION_ARGS is defined, see if the incoming
register should be used in a wider mode.
(expand_function_start): Likewise for return value if PROMOTE_FUNCTION_RETURN
is defined.
From-SVN: r2263
Richard Kenner [Sun, 27 Sep 1992 17:05:40 +0000 (13:05 -0400)]
(subsi3): Don't bother calling negate_rtx for constant; we shouldn't be called with a constant.
(subsi3): Don't bother calling negate_rtx for constant; we shouldn't be
called with a constant.
(maskir patterns): Don't mention an operand before it is used; use operand
number 1 for operand with '0' constraint.
(allocate_stack): Use reg_or_short_operand for predicate of allocation amount;
use negate_rtx and always make a PLUS.
From-SVN: r2262
Richard Kenner [Sun, 27 Sep 1992 17:04:57 +0000 (13:04 -0400)]
(EXTRA_CONSTRAINT, case 'Q'): Check for MEM instead of calling memory_operand.
(SHIFT_COUNT_TRUNCATED): No longer define this.
From-SVN: r2261
Michael Meissner [Sun, 27 Sep 1992 13:19:01 +0000 (13:19 +0000)]
Print OSF/rose for version info.
From-SVN: r2260
Richard Stallman [Sun, 27 Sep 1992 03:31:24 +0000 (03:31 +0000)]
(indirect_jump): Use %a0 for output, and p for constraint.
From-SVN: r2259
Richard Stallman [Sun, 27 Sep 1992 03:28:28 +0000 (03:28 +0000)]
(eliminate_regs_in_insn): If recognition fails on modified insn,
go ahead and modify just the same.
From-SVN: r2258
Richard Stallman [Sat, 26 Sep 1992 22:48:08 +0000 (22:48 +0000)]
(eliminate_regs_in_insn): Rerecognize if move insn becomes a non-move.
From-SVN: r2257
Michael Meissner [Sat, 26 Sep 1992 22:37:56 +0000 (22:37 +0000)]
RISC-OS rev 5, DEC OSF/1 changes.
From-SVN: r2256
Torbjorn Granlund [Sat, 26 Sep 1992 22:36:47 +0000 (22:36 +0000)]
(comment before extendhisi2): Remove the lie.
(zero_extendhisi2): Rewrite to work if op0 == op1. Use
gen_lowpart in preparation code.
(extendqisi2, extendhisi2): Likewise.
(extendqihi2): Expand.
(restorehi): Rewrite for correctness, efficiency, and
clarity. Avoid generating insns involving truncate. Generate
needed pseudos in preparation statements.
(storehi): Likewise.
(storeinthi): Likewise.
(movhi): Call gen_storehi, gen_restorehi, gen_storeinthi according
their new definitions. Use force_reg to put address in register.
From-SVN: r2255
Michael Meissner [Sat, 26 Sep 1992 22:01:27 +0000 (22:01 +0000)]
Initial revision
From-SVN: r2254
Richard Stallman [Sat, 26 Sep 1992 20:40:25 +0000 (20:40 +0000)]
(location_attribute): If DECL_RTL looks like (MEM pseudo),
treat that variable as optimized away.
From-SVN: r2253
Richard Stallman [Sat, 26 Sep 1992 20:28:15 +0000 (20:28 +0000)]
(install-fixincludes): Use - when making syslimits.h; fix if-statement syntax.
From-SVN: r2252
Richard Stallman [Sat, 26 Sep 1992 19:09:26 +0000 (19:09 +0000)]
(jump_optimize): When handling dispatch table that always
goes to the same place, verify previous insn exists.
From-SVN: r2251
Richard Stallman [Sat, 26 Sep 1992 00:16:16 +0000 (00:16 +0000)]
In the targets such as $(HOST_PREFIX_1)rtl.o,
use sed to make them include hconfig.h instead of config.h.
(distclean): Add command to delete hconfig.h.
From-SVN: r2250
Richard Stallman [Fri, 25 Sep 1992 22:31:38 +0000 (22:31 +0000)]
(initializer_constant_valid_p): Really use endtype.
From-SVN: r2249
Richard Stallman [Fri, 25 Sep 1992 22:01:36 +0000 (22:01 +0000)]
(do_include): "Concatenate" multiple "strings" in #include.
From-SVN: r2248
Richard Stallman [Fri, 25 Sep 1992 22:01:21 +0000 (22:01 +0000)]
(CPP_PREDEFINES): Define __ARCHITECTURE__.
From-SVN: r2247
Richard Stallman [Fri, 25 Sep 1992 06:26:22 +0000 (06:26 +0000)]
(dbxout_symbol): For anonymous enum, output type anyway.
From-SVN: r2246
Jim Wilson [Fri, 25 Sep 1992 05:52:48 +0000 (22:52 -0700)]
(push_function_context): Save epilogue_delay_list.
(pop_function_context): Restore epilogue_delay_list.
From-SVN: r2245
Jim Wilson [Fri, 25 Sep 1992 05:52:11 +0000 (22:52 -0700)]
(struct function): Add epilogue_delay_list field.
From-SVN: r2244
Jim Wilson [Fri, 25 Sep 1992 05:49:59 +0000 (22:49 -0700)]
(nonlocal_goto): Force operands[0] to be a register.
From-SVN: r2243
Jim Wilson [Fri, 25 Sep 1992 05:47:53 +0000 (22:47 -0700)]
(va_arg): Add 3 more (void *) casts to avoid warnings
with -Wcast-align.
From-SVN: r2242
Jim Wilson [Fri, 25 Sep 1992 05:46:02 +0000 (22:46 -0700)]
(SF_MODES): Accept all single word or smaller integer modes not just SImode.
(SF_MODES): Accept all single word or smaller integer
modes not just SImode. These are needed for fix/float conversions.
From-SVN: r2241
Jim Wilson [Fri, 25 Sep 1992 05:44:06 +0000 (22:44 -0700)]
(sched_analyze_2, PRE_DEC case): Call sched_analyze_2 in
addition to sched_analyze_1.
From-SVN: r2240
Jim Wilson [Fri, 25 Sep 1992 05:41:51 +0000 (22:41 -0700)]
(va_start): Must access anonymous arg as offset from start of argument block.
From-SVN: r2239
Jim Wilson [Fri, 25 Sep 1992 05:39:45 +0000 (22:39 -0700)]
(movdi...
(movdi, movti, movdf, movtf): Make store zero to memory
a separate case, only accept offsettable memory addresses, and call
adj_offsettable_operand to calculate subword addresses.
From-SVN: r2238
Jim Wilson [Fri, 25 Sep 1992 05:37:08 +0000 (22:37 -0700)]
(i960_output_ldconst): Pass missing xoperands argument to output_asm_insn call.
From-SVN: r2237
Jim Wilson [Fri, 25 Sep 1992 05:33:07 +0000 (22:33 -0700)]
(movti): Split CONST_INTs into 4 moves, and force all other constants to
memory.
From-SVN: r2236
Michael Meissner [Thu, 24 Sep 1992 22:11:57 +0000 (22:11 +0000)]
Fix varardic functions returning structs.
From-SVN: r2235
Torbjorn Granlund [Thu, 24 Sep 1992 19:37:34 +0000 (19:37 +0000)]
(REGISTER_MOVE_COST): Fix typo. Use `||' instead of `|'.
(REG_CLASS_FROM_LETTER): Don't handle 'r' constraints here.
From-SVN: r2234
Torbjorn Granlund [Thu, 24 Sep 1992 19:36:29 +0000 (19:36 +0000)]
(clobbered_register): Delete.
(srcsi_operand): Return 1 also for things matching depi_cint_operand.
(secondary_reload_class): Replace.
From-SVN: r2233
Torbjorn Granlund [Thu, 24 Sep 1992 19:33:59 +0000 (19:33 +0000)]
(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
Richard Kenner [Thu, 24 Sep 1992 19:23:56 +0000 (15:23 -0400)]
(yylex, case '"'): Initialize arg pased to readescape.
From-SVN: r2231
Richard Stallman [Thu, 24 Sep 1992 19:17:56 +0000 (19:17 +0000)]
(lang_options): Add Objc options.
From-SVN: r2230
Richard Kenner [Thu, 24 Sep 1992 11:28:09 +0000 (07:28 -0400)]
(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
Richard Kenner [Thu, 24 Sep 1992 11:09:49 +0000 (07:09 -0400)]
(mark_set_resources, case CC0): Set RES->CC if IN_SEST.
From-SVN: r2228
Richard Kenner [Thu, 24 Sep 1992 10:30:43 +0000 (06:30 -0400)]
(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
Richard Stallman [Thu, 24 Sep 1992 06:58:57 +0000 (06:58 +0000)]
Add comment.
From-SVN: r2226
Richard Stallman [Thu, 24 Sep 1992 06:57:49 +0000 (06:57 +0000)]
Initial revision
From-SVN: r2225
Richard Stallman [Thu, 24 Sep 1992 06:57:35 +0000 (06:57 +0000)]
Include syslimits.h instead of system's limits.h.
From-SVN: r2224
Richard Stallman [Thu, 24 Sep 1992 06:57:11 +0000 (06:57 +0000)]
(USER_H): Add syslimits.h.
(install-fixincludes): If we fix system's limits.h, install that as syslimits.h
From-SVN: r2223
Richard Stallman [Thu, 24 Sep 1992 06:53:13 +0000 (06:53 +0000)]
(readescape): New arg ignore_ptr.
(yylex): Pass new arg, handle result that comes back.
From-SVN: r2222
Richard Stallman [Thu, 24 Sep 1992 06:08:30 +0000 (06:08 +0000)]
Comment fix.
From-SVN: r2221
Richard Kenner [Wed, 23 Sep 1992 23:26:34 +0000 (19:26 -0400)]
(find_reloads_address): Properly check for constant address.
From-SVN: r2220
Richard Kenner [Wed, 23 Sep 1992 23:26:03 +0000 (19:26 -0400)]
(simplify_unary_operation, case SIGN_EXTEND): Use HOST_BITS_PER_WIDE_INT,
not HOST_BITS_PER_INT.
From-SVN: r2219
Richard Kenner [Wed, 23 Sep 1992 23:24:45 +0000 (19:24 -0400)]
(fold_convert): Add missing cast to HOST_WIDE_INT.
From-SVN: r2218
Richard Kenner [Wed, 23 Sep 1992 23:24:25 +0000 (19:24 -0400)]
(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
Richard Kenner [Wed, 23 Sep 1992 23:23:47 +0000 (19:23 -0400)]
(shorten_branches): Correctly access insn needing delay slot.
From-SVN: r2216
Richard Kenner [Wed, 23 Sep 1992 23:23:19 +0000 (19:23 -0400)]
(significant_bits, num_sign_bit_copies): Handle SUBREGs made for promoted
variables.
From-SVN: r2215
Richard Kenner [Wed, 23 Sep 1992 23:22:40 +0000 (19:22 -0400)]
(fill_simple_delay_slots): Don't make copy of insn that references CC0.
From-SVN: r2214
Richard Kenner [Wed, 23 Sep 1992 23:21:45 +0000 (19:21 -0400)]
(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
Michael Meissner [Wed, 23 Sep 1992 15:25:23 +0000 (15:25 +0000)]
Undo most of 9/22 changes
From-SVN: r2212
Richard Stallman [Wed, 23 Sep 1992 04:12:08 +0000 (04:12 +0000)]
Finish changing _ANSI_H to _ANSI_H_.
From-SVN: r2211
Richard Stallman [Wed, 23 Sep 1992 03:46:26 +0000 (03:46 +0000)]
(basic_induction_var): Inside PLUS, when looking for promoted
var, make sure it's a REG.
From-SVN: r2210
Richard Stallman [Wed, 23 Sep 1992 03:39:59 +0000 (03:39 +0000)]
(perform_fixdfsi): Copy arg to memory variable.
From-SVN: r2209
Michael Meissner [Tue, 22 Sep 1992 21:03:23 +0000 (21:03 +0000)]
Eliminate -fbuiltin/-fno-builtin hacks & enable OSF/rose shared libs.
From-SVN: r2208
Michael Meissner [Tue, 22 Sep 1992 21:02:54 +0000 (21:02 +0000)]
Eliminate -fbuiltin/-fno-builtin hacks.
From-SVN: r2207
Michael Meissner [Tue, 22 Sep 1992 16:31:20 +0000 (16:31 +0000)]
Put correct source into tree.
From-SVN: r2206
Michael Meissner [Tue, 22 Sep 1992 16:20:16 +0000 (16:20 +0000)]
Fix varardic function returning a structure or union.
From-SVN: r2205
Richard Stallman [Tue, 22 Sep 1992 07:13:24 +0000 (07:13 +0000)]
(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
Jeff Law [Mon, 21 Sep 1992 16:21:38 +0000 (10:21 -0600)]
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
Richard Stallman [Mon, 21 Sep 1992 13:33:38 +0000 (13:33 +0000)]
(make_extraction): Make test whether to use AND or
{SIGN,ZERO}_EXTRACT depend on UNSIGNEDP.
From-SVN: r2202
Richard Kenner [Mon, 21 Sep 1992 12:26:33 +0000 (08:26 -0400)]
(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
Richard Stallman [Mon, 21 Sep 1992 07:08:50 +0000 (07:08 +0000)]
Get alloca using ALLOCA, not libucb.a.
From-SVN: r2200
Richard Stallman [Mon, 21 Sep 1992 07:08:28 +0000 (07:08 +0000)]
Initial revision
From-SVN: r2199
Richard Stallman [Mon, 21 Sep 1992 06:46:22 +0000 (06:46 +0000)]
(put_var_into_stack): Check REG != 0 before dereference.
From-SVN: r2198
Richard Stallman [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.
From-SVN: r2197
Richard Stallman [Mon, 21 Sep 1992 03:08:45 +0000 (03:08 +0000)]
(subst): Set and compare extend_op with 0, not NULL.
From-SVN: r2196
Richard Stallman [Mon, 21 Sep 1992 01:19:24 +0000 (01:19 +0000)]
(LPREFIX): Overridden as `.L'.
(ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise.
From-SVN: r2195
Richard Kenner [Mon, 21 Sep 1992 00:05:40 +0000 (20:05 -0400)]
(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
Richard Stallman [Sun, 20 Sep 1992 23:43:50 +0000 (23:43 +0000)]
Fix indentation. Carry out renamings from hash.h.
Rename args and locals also.
From-SVN: r2193
Richard Stallman [Sun, 20 Sep 1992 23:42:24 +0000 (23:42 +0000)]
Fix indentation, clean up comments.
Rename structure fields and typedefs.
From-SVN: r2192
Richard Kenner [Sun, 20 Sep 1992 09:53:06 +0000 (05:53 -0400)]
(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
Richard Kenner [Sun, 20 Sep 1992 09:52:26 +0000 (05:52 -0400)]
(emit_insn_after_with_line_notes): New function.
From-SVN: r2190
Richard Kenner [Sun, 20 Sep 1992 09:51:37 +0000 (05:51 -0400)]
(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
Richard Kenner [Sun, 20 Sep 1992 09:50:34 +0000 (05:50 -0400)]
(find_reloads, find_reloads_toplev): Treat BYTE_LOADS_SIGN_EXTEND just
like BYTE_LOADS_ZERO_EXTEND.
From-SVN: r2188
Richard Stallman [Sun, 20 Sep 1992 07:25:26 +0000 (07:25 +0000)]
Add comment in find_reloads.
From-SVN: r2187
Richard Stallman [Sat, 19 Sep 1992 22:02:28 +0000 (22:02 +0000)]
(SIZE_TYPE): Defined.
From-SVN: r2186
Richard Kenner [Sat, 19 Sep 1992 19:55:22 +0000 (15:55 -0400)]
(walk_insn_part, case IF_THEN_ELSE): Refine when HAVE_CMOVE_FLAG gets set.
From-SVN: r2185
Richard Kenner [Sat, 19 Sep 1992 19:54:32 +0000 (15:54 -0400)]
(delete_insn): Don't change labels to NOTEs if we would not really have
deleted them.
From-SVN: r2184
Richard Kenner [Sat, 19 Sep 1992 19:54:05 +0000 (15:54 -0400)]
(note_insn_name): Fix typo: had NOT_INSN_DELETED_LABEL.
From-SVN: r2183
Richard Kenner [Sat, 19 Sep 1992 19:53:26 +0000 (15:53 -0400)]
(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
Richard Kenner [Sat, 19 Sep 1992 19:50:23 +0000 (15:50 -0400)]
(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