aboutsummaryrefslogtreecommitdiff
path: root/gcc/combine.c
AgeCommit message (Collapse)AuthorFilesLines
2003-05-01Merge from rewrite branch.Eric Christopher1-1/+11
From-SVN: r66318
2003-04-16Re-apply this patch:J"orn Rennecke1-6/+8
2002-05-16 Dale Johannesen <dalej@apple.com> * combine.c (cant_combine_insn_p): Reenable combinations involving hard regs unless CLASS_LIKELY_SPILLED_P. From-SVN: r65689
2003-04-01combine.c (merge_outer_ops): Fix typo.Franz Sirl1-1/+1
2003-04-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> * combine.c (merge_outer_ops): Fix typo. * varasm.c (make_decl_one_only): Revert 2003-03-09 patch. From-SVN: r65136
2003-03-31combine.c (can_combine_p): Allow ZERO_EXTRACT and STRICT_LOW_PART.Eric Christopher1-52/+20
2003-03-31 Eric Christopher <echristo@redhat.com> * combine.c (can_combine_p): Allow ZERO_EXTRACT and STRICT_LOW_PART. (combinable_i3pat): Remove call to expand_field_assignment and #if 0'd code. From-SVN: r65118
2003-03-24re PR target/10072 ([Sparc] internal compiler error: in trunc_int_for_mode, ↵Eric Botcazou1-1/+3
at explow.c:54) PR target/10072 * combine.c (simplify_if_then_else): Check that the mode has MODE_INT class before applying the (OP Z (mult COND C2)) transformation. From-SVN: r64785
2003-03-22* combine.c (simplify_comparison <AND>): Use gen_int_mode. Tidy.Alan Modra1-39/+35
From-SVN: r64703
2003-03-21* combine.c (make_field_assignment): Fix a warning.Kazu Hirata1-1/+1
From-SVN: r64680
2003-03-21combine.c (make_field_assignment): Remove unnecessary AND when storing into ↵Kazu Hirata1-0/+11
zero_extract. * combine.c (make_field_assignment): Remove unnecessary AND when storing into zero_extract. From-SVN: r64674
2003-03-19re PR target/10073 (powerpc cannot split insn while building rscheme)Alan Modra1-1/+2
PR target/10073 * combine.c (force_to_mode <NOT>): Use gen_int_mode. From-SVN: r64564
2003-03-08calls.c: Fix comment formatting.Kazu Hirata1-1/+1
* calls.c: Fix comment formatting. * cfgloopanal.c: Likewise. * cfgloopmanip.c: Likewise. * combine.c: Likewise. * dwarf2out.c: Likewise. * ggc-common.c: Likewise. * langhooks.c: Likewise. * loop-unroll.c: Likewise. * loop.c: Likewise. * ra-build.c: Likewise. * sbitmap.c: Likewise. * toplev.c: Likewise. From-SVN: r63966
2003-02-28combine.c (gen_lowpart_for_combine): Update handling of subregs_of_modeJan Hubicka1-2/+3
* combine.c (gen_lowpart_for_combine): Update handling of subregs_of_mode * flow.c (life_analysis, mark_used_regs): Likewise. * regclass.c (subregs_of_mode): Turn into single bitmap. (cannot_change-mode_set_regs, invalid_mode_change_p): Update dealing with subregs_of_mode * regs.h (subregs_of_mode): Update prototype. From-SVN: r63552
2003-02-27Patch for PR 9255James E Wilson1-0/+3
Patch for PR 9255 * combine.c (simplify_comparison): Require integral mode when permuting SUBREG with AND. From-SVN: r63514
2003-02-26combine.c (combine_simplify_rtx, [...]): Use CC0_P.Roger Sayle1-7/+2
* combine.c (combine_simplify_rtx, simplfy_comparison): Use CC0_P. * cse.c (invalidate_skipped_set): Likewise. * integrate.c (subst_constants): Likewise. * jump.c (reversed_comparison_code_parts): Likewise. * loop.c (canonicalize_condition): Likewise. * simplify-rtx.c (simplify_relational_operation): Likewise. From-SVN: r63446
2003-02-24* combine.c (simplify_shift_const): Fix previous patch.Jan Hubicka1-2/+2
From-SVN: r63380
2003-02-20toplev.c (flag_sched2_use_superblocks, [...]): New global variables.Jan Hubicka1-0/+10
* toplev.c (flag_sched2_use_superblocks, flag_sched2_use_traces): New global variables. (lang_independent_options): Add -fsched2-use-superblocks -fsced2-use-traces. (rest_of_compilation): Deal with it. * invoke.texi (-fsched2-use-traces, fsched2-use-superblocks): Declare. * flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces): Declare. * rtl.h (reg_to_stack): Update prototype. * reg-stack.c (reg_to_stack): Return when something has changed; update liveness when executing after superblock scheduling. * combine.c (simplify_shift_const): Simplify few special cases into constants. From-SVN: r63183
2003-02-20combine.c (distribute_notes): Kill REG_EXEC_COUNT.Josef Zlomek1-1/+0
* combine.c (distribute_notes): Kill REG_EXEC_COUNT. * rtl.c (reg_note_name): Likewise. * rtl.h (enum reg_note): Likewise. * doc/invoke.texi: Likewise. * doc/rtl.texi: Likewise. From-SVN: r63157
2003-02-14re PR rtl-optimization/2391 (Exponential compilation time explosion in combine)Adam Nemet1-53/+266
PR opt/2391 * combine.c: Fix spelling in comment. (cached_nonzero_bits): New function. (cached_num_sign_bit_copies): New function. (nonzero_bits_with_known): New macro. (num_sign_bit_copies_with_known): New macro. (nonzero_bits1): Rename from nonzero_bits. Add three new arguments. Change calls from nonzero_bits to nonzero_bits_with_known. (num_sign_bit_copies1): Rename from num_sign_bit_copies. Add three new arguments. Change calls from num_sign_bit_copies to num_sign_bit_copies_with_known. (nonzero_bits): New macro. (num_sign_bit_copies): New macro. (update_table_tick): Don't traverse identical subexpression more than once. (get_last_value_validate): Likewise. From-SVN: r62893
2003-02-11combine.c (combine_simplify_rtx): Fix folding of nested float_truncates.Jan Hubicka1-1/+1
* combine.c (combine_simplify_rtx): Fix folding of nested float_truncates. From-SVN: r62702
2003-02-10combine.c (combine_simplify_rtx): Simplify using (float_truncate (float x)) ↵Jan Hubicka1-0/+46
is (float x) (float_extend... * combine.c (combine_simplify_rtx): Simplify using (float_truncate (float x)) is (float x) (float_extend (float_extend x)) is (float_extend x). From-SVN: r62624
2003-02-06* combine.c (nonzero_bits): Fix double break.Richard Henderson1-1/+0
From-SVN: r62495
2003-02-05defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.Richard Henderson1-3/+20
* defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New. (CTZ_DEFINED_VALUE_AT_ZERO): New. * doc/rtl.texi, doc/tm.texi: Document them. * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness of the value at zero properly. * fold-const.c (tree_expr_nonnegative_p): Likewise. * simplify-rtx.c (simplify_unary_operation): Likewise. * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New. (CTZ_DEFINED_VALUE_AT_ZERO): New. * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove. (TARGET_EXPAND_BUILTIN): Remove. (def_builtin, arm_init_builtins, arm_expand_builtin): Remove. * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New. (enum arm_builtins): Remove. * config/arm/arm.md (UNSPEC_CLZ): Remove. (clzsi2): Rename from clz; use clz instead of unspec. (ctzsi2): New. * config/arm/arm-protos.h: Update. From-SVN: r62453
2003-02-01[multiple changes]Richard Henderson1-0/+14
2003-02-01 Richard Henderson <rth@redhat.com> * optabs.c (expand_unop): Use word_mode for outmode of bit scaners. * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2, __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change return type to Wtype. * libgcc-std.ver (GCC_3.4): Fix inheritance. * config/i386/i386.md (ffssi2): Use nonimmediate_operand for expander input constraint. 2003-02-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de> * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and OTI_parity. (clz_optab, ctz_optab, popcount_optab, parity_optab): New. * optabs.c (widen_clz, expand_parity): New. (expand_unop): Handle clz and parity. Hardcode SImode as outmode for libcalls to clz, ctz, popcount, and parity. (init_optabs): Init clz_optab, ctz_optab, popcount_optab and parity_optab, and set up libfunc handlers. * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2, __popcountsi2, __popcountdi2, __paritysi2 __paritydi2, __popcount_tab): New. * libgcc2.h: Declare them. * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c. * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab and parity_optab. * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New. * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT, BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL, BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL, BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL, BUILT_IN_PARITYLL): New. * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs and add optab argument. (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*. * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New. * expr.c (expand_expr): Handle them. * fold-const.c (tree_expr_nonnegative_p): Likewise. * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New. * reload1.c (eliminate_regs): Handle them. (elimination_effects): Likewise. * function.c (instantiate_virtual_regs_1): Likewise * genattrtab.c (check_attr_value): Likewise. * simplify-rtx.c (simplify_unary_operation): Likewise. * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR. * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY. (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY. * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New. * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to __builtin_arm_clz. * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move... * mklibgcc.in (lib2funcs): ...here and merge. Add new members. * doc/extend.texi (Other Builtins): Add new builtins. * doc/md.texi (Standard Names): Add new patterns. From-SVN: r62252
2003-02-01* combine.c (combine_simplify_rtx): Use reversed_comparison_code_parts.Jan Hubicka1-7/+12
From-SVN: r62246
2003-01-31loop.c (emit_prefetch_instructions): Do conversion at right place in RTL chain.Jan Hubicka1-2/+2
* loop.c (emit_prefetch_instructions): Do conversion at right place in RTL chain. * combine.c (simplify_set): Reverse order of ragumetns to REG_CANNOT_CHANGE_MODE_P * df.c (df_def_record_1): Likewise. * recog.c (register_operand): Likewise. * simplify-rtx.c (simplify_subreg): Likewise. * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of CANNOT_CHANGE_MODE_CLASS. * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p): Likewise. * reload.c (push_reload): Likewise. * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition. * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition. * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition. * mips-protos.h (mips_cannot_change_mode_class): Update prototype. * mips.c (mips_cannot_change_mode_class): Update. * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition. * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition. * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition. * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition. * sh-protos.h (sh_cannot_change_mode_class): Update prototype. * sh.c (sh_cannot_change_mode_class): Update. * i386.h (CANNOT_CHANGE_MODE_CLASS): New. * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation. From-SVN: r62212
2003-01-28* combine.c (nonzero_bits): Fix check for negative divide operands.Richard Sandiford1-2/+3
From-SVN: r62029
2003-01-28combine.c (force_to_mode): Add cast to fix warning when STORE_FLAG_VALUE is ↵Andreas Schwab1-1/+2
negative. * combine.c (force_to_mode): Add cast to fix warning when STORE_FLAG_VALUE is negative. From-SVN: r61961
2003-01-26* combine.c: Fix formatting.Kazu Hirata1-15/+16
From-SVN: r61862
2003-01-25combine.c (simplify_comparison, case AND): Remove a redundant test.Kazu Hirata1-10/+6
* combine.c (simplify_comparison, case AND): Remove a redundant test. From-SVN: r61787
2003-01-18basic-block.h: Fix comment formatting.Kazu Hirata1-1/+1
* basic-block.h: Fix comment formatting. * calls.c: Likewise. * combine.c: Likewise. * convert.c: Likewise. * gcov.c: Likewise. * haifa-sched.c: Likewise. * libgcc2.c: Likewise. * loop.c: Likewise. * profile.c: Likewise. * system.h: Likewise. From-SVN: r61478
2003-01-10combine.c (make_compound_operation): Use SCALAR_INT_MODE_P, not ↵Richard Henderson1-1/+1
INTEGRAL_MODE_P when widening extensions. * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P, not INTEGRAL_MODE_P when widening extensions. From-SVN: r61178
2002-12-16Merge basic-improvements-branch to trunkZack Weinberg1-33/+8
From-SVN: r60174
2002-12-05Index: gcc/ChangeLogGeoffrey Keating1-0/+57
2002-12-02 Geoffrey Keating <geoffk@apple.com> * combine.c (combine_simplify_rtx): Add new canonicalizations. * doc/md.texi (Insn Canonicalizations): Document new canonicalizations for multiply/add combinations. * config/rs6000/rs6000.md: Add and modify floating add/multiply patterns to ensure they're used whenever they can be. Index: gcc/testsuite/ChangeLog 2002-12-02 Geoffrey Keating <geoffk@apple.com> * gcc.dg/ppc-fmadd-1.c: New file. * gcc.dg/ppc-fmadd-2.c: New file. * gcc.dg/ppc-fmadd-3.c: New file. From-SVN: r59841
2002-11-20combine.c (force_to_mode): Only replace with (not Y) if all bits in ↵Jakub Jelinek1-2/+2
fuller_mask (not just mask) are set in C. * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask (not just mask) are set in C. * gcc.c-torture/execute/20021118-3.c: New test. From-SVN: r59295
2002-11-04hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.Aldy Hernandez1-17/+12
2002-11-04 Aldy Hernandez <aldyh@redhat.com> * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New. * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove. (CLASS_CANNOT_CHANGE_MODE): Remove. (CANNOT_CHANGE_MODE_CLASS): New. * config/alpha/alpha.h: Same. * config/ia64/ia64.h: Same. * config/mips/mips.h: Same. * config/s390/s390.h: Same. * config/sh/sh.h: Same. * config/pa/pa64-regs.h: Same. * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype. * config/sh/sh.c (sh_cannot_change_mode_class): New. * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add prototype. * config/mips/mips.c (mips_cannot_change_mode_class): New. * doc/tm.texi (Register Classes): Remove CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P. Document CANNOT_CHANGE_MODE_CLASS. * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS. (push_reload): Same. * simplify-rtx.c (simplify_subreg): Same. * reload1.c (choose_reload_regs): Same. * recog.c (register_operand): Same. * regrename.c (mode_change_ok): Change to use new CANNOT_CHANGE_MODE_CLASS infrastructure. * regclass.c (cannot_change_mode_set_regs): New. Declare subregs_of_mode. (regclass): Use subregs_of_mode. Remove references to reg_changes_mode. (init_reg_sets_1): Remove class_can_change_mode and reg_changes_mode code. (invalid_mode_change_p): New. (dump_regclass): Use invalid_mode_change_p instead of class_can_change_mode. (regclass): Same. (record_operand_costs): Do not set reg_changes_mode. * local-alloc.c (struct qty): Remove changes_mode field. (alloc_qty): Remove changes_mode initialization. (update_qty_class): Remove set of changes_mode. (find_free_reg): Use subregs_of_mode. * global.c (find_reg): Use subregs_of_mode info. * rtl.h (cannot_change_mode_set_regs): New prototype. (invalid_mode_change_p): Same. (REG_CANNOT_CHANGE_MODE_P): New macro. * flow.c (mark_used_regs): Calculate subregs_of_mode. Remove REG_CHANGES_MODE. (life_analysis): Clear subregs_of_mode. * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P. Remove use of CLASS_CANNOT_CHANGE_MODE. (simplify_set): Same. (gen_lowpart_for_combine): Calculate subregs_of_mode. Remove REG_CHANGES_MODE. * regs.h: Add extern for subregs_of_mode; Include hard-reg-set and basic-block. (REG_CHANGES_MODE): Delete. From-SVN: r58794
2002-10-27combine.c: Fix comment formatting.Kazu Hirata1-2/+2
* combine.c: Fix comment formatting. * loop.c: Likewise. * real.c: Likewise. * regclass.c: Likewise. * regmove.c: Likewise. * regrename.c: Likewise. * reg-stack.c: Likewise. * reload1.c: Likewise. * reload.c: Likewise. * reload.h: Likewise. * unroll.c: Likewise. From-SVN: r58583
2002-10-15* combine.c (simplify_set): Treat MODE_CC registers like cc0.Roger Sayle1-5/+3
From-SVN: r58148
2002-09-29combine.c (force_to_mode): Handle FLOAT_MODE destinations for CONST_INT.Richard Henderson1-2/+10
* combine.c (force_to_mode): Handle FLOAT_MODE destinations for CONST_INT. From-SVN: r57634
2002-09-29builtins.def: Fix comment formatting.Kazu Hirata1-1/+1
* builtins.def: Fix comment formatting. * c-common.def: Likewise. * cfgcleanup.c: Likewise. * combine.c: Likewise. * gengtype.c: Likewise. * params.def: Likewise. * predict.def: Likewise. * rtl.def: Likewise. * stab.def: Likewise. * stor-layout.c: Likewise. * tree.def: Likewise. * config/darwin.c: Likewise. * config/darwin.h: Likewise. * config/dbxcoff.h: Likewise. * config/elfos.h: Likewise. * config/fp-bit.c: Likewise. * config/freebsd-spec.h: Likewise. * config/interix.h: Likewise. * config/libgloss.h: Likewise. * config/linux-aout.h: Likewise. * config/linux.h: Likewise. * config/lynx-ng.h: Likewise. * config/lynx.h: Likewise. * config/netbsd-aout.h: Likewise. * config/netbsd.h: Likewise. * config/netware.h: Likewise. * config/psos.h: Likewise. * config/ptx4.h: Likewise. From-SVN: r57624
2002-09-26combine.c (simplify_set): Don't call to force_to_mode if size of integer ↵Igor Shevlyakov1-1/+2
type is larger than... * combine.c (simplify_set): Don't call to force_to_mode if size of integer type is larger than HOST_BITS_PER_WIDE_INT. From-SVN: r57549
2002-09-22ChangeLog: Follow spelling conventions.Kazu Hirata1-27/+27
* ChangeLog: Follow spelling conventions. * ChangeLog.0: Likewise. * ChangeLog.1: Likewise. * ChangeLog.2: Likewise. * ChangeLog.3: Likewise. * ChangeLog.4: Likewise. * ChangeLog.5: Likewise. * ChangeLog.6: Likewise. * FSFChangeLog.10: Likewise. * FSFChangeLog.11: Likewise. * alias.c: Likewise. * basic-block.h: Likewise. * c-aux-info.c: Likewise. * c-common.c: Likewise. * c-common.h: Likewise. * c-decl.c: Likewise. * c-format.c: Likewise. * c-semantics.c: Likewise. * c-typeck.c: Likewise. * calls.c: Likewise. * cfganal.c: Likewise. * cfgloop.c: Likewise. * collect2.c: Likewise. * combine.c: Likewise. * conflict.c: Likewise. * cppexp.c: Likewise. * cppfiles.c: Likewise. * cpphash.h: Likewise. * cppinit.c: Likewise. * cpplex.c: Likewise. * cpplib.c: Likewise. * cpplib.h: Likewise. * cppmacro.c: Likewise. * cse.c: Likewise. From-SVN: r57398
2002-09-20Fix v850 ICE.Jim Wilson1-0/+6
* combine.c (try_combine): When split an instruction pair, where the first has a sign_extend src, verify that the src and dest modes match. From-SVN: r57371
2002-09-19fix subreg optimization bug introduced 2002-05-25Jim Wilson1-1/+1
fix subreg optimization bug introduced 2002-05-25 * combine.c (simplify_set): When optimizing a subreg src with a cc0 dest, use GET_MODE (src) for mask instead of inner_mode. From-SVN: r57323
2002-09-19Remove creation of invalid subreg. PR 7705, 7339, 7720.Dale Johannesen1-0/+5
From-SVN: r57315
2002-09-08combine.c (try_combine): Handle the case that undobuf.other_insn has been ↵Roger Sayle1-2/+43
turned into a return or... * combine.c (try_combine): Handle the case that undobuf.other_insn has been turned into a return or unconditional jump, by inserting a BARRIER if necessary. (simplify_set): Test if a condition code setter has a constant comparison at compile time, if so convert this insn to a no-op move and update/simplify the condition code user (undobuf.other_insn). From-SVN: r56955
2002-09-07combine.c (simplify_shift_const): Calculate rotate count correctly for ↵Igor Shevlyakov1-1/+8
vector operands. * combine.c (simplify_shift_const): Calculate rotate count correctly for vector operands. From-SVN: r56928
2002-09-04combine.c (make_compound_operation): Don't generate zero / sign extensions ↵J"orn Rennecke1-1/+5
in floating point modes. * combine.c (make_compound_operation): Don't generate zero / sign extensions in floating point modes. From-SVN: r56804
2002-08-19machmode.h (SCALAR_INT_MODE_P): New macro to test for scaler integer mode ↵Geoffrey Keating1-4/+18
(MODE_INT or MODE_PARTIAL_INT). * machmode.h (SCALAR_INT_MODE_P): New macro to test for scaler integer mode (MODE_INT or MODE_PARTIAL_INT). * explow.c (trunc_int_for_mode): Abort when the mode is not a scaler integer mode. * combine.c (expand_compound_operation): Don't expand Vector or Complex modes into shifts. (expand_field_assignment): Don't do bitwise arithmatic and shifts on Vector or Complex modes. (simplify_comparison): Don't call trunc_int_for_mode for VOIDmode. * recog.c (general_operand): Likewise. (immediate_operand): Likewise. (nonmemory_operand): Likewise. Co-Authored-By: Steve Ellcey <sje@cup.hp.com> From-SVN: r56443
2002-08-01c-common.c (cb_register_builtins): Set __FINITE_MATH_ONLY__ to 1 if ↵Toon Moene1-2/+2
-ffinite-math-only is given, and to 0 otherwise. 2002-08-01 Toon Moene <toon@moene.indiv.nluug.nl> * c-common.c (cb_register_builtins): Set __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only is given, and to 0 otherwise. * combine.c (simplify_if_then_else): HONOR_NANS implies FLOAT_MODE_P. From-SVN: r55932
2002-07-30flags.h: Declare flag_finite_math_only.Toon Moene1-2/+2
2002-07-30 Toon Moene <toon@moene.indiv.nluug.nl> * flags.h: Declare flag_finite_math_only. Use it in definition of HONOR_NANS and HONOR_INFINITIES. * c-common.c (cb_register_builtins): Emit __FINITE_MATH_ONLY__ when flag_finite_math_only is set. * combine.c (simplify_if_then_else): If flag_finite_math_only is set, a == b has a definite value. * toplev.c: Initialize flag_finite_math_only. (set_flags_fast_math): Set it on -ffast-math. (flag_fast_math_set_p): Test it. doc: * invoke.texi: Document -ffinite-math-only. f: * com.c (ffe_init_options): Set flag_finite_math_only. * invoke.texi: Document -fno-finite-math-only. From-SVN: r55887
2002-07-11combine.c (try_combine): When converting a paradoxical subreg to an extension...J"orn Rennecke1-2/+13
* combine.c (try_combine): When converting a paradoxical subreg to an extension, take LOAD_EXTEND_OP into account. From-SVN: r55404