Age | Commit message (Collapse) | Author | Files | Lines |
|
elsewhere.
* combine.c (simplify_set): Do not clear out undobuf.other_insn
already set elsewhere.
From-SVN: r72602
|
|
min-insn-modes.o.
* Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o
with min-insn-modes.o.
(STAGESTUFF): Add min-insn-modes.c.
(genobjs): Add genmodes.o.
(print-rtl.o, print-rtl1.o): Depend on $(TM_P_H).
(insn-modes.o): Depend on $(TM_H) not $(GTM_H); also real.h.
(min-insn-modes.c, min-insn-modes.o): New rules.
(s-modes): Also generate min-insn-modes.c.
($(BUILD_PREFIX_1)insn-modes.o): Kill.
* genmodes.c (struct mode_data): Add format field.
(blank_mode, validate_mode, complete_mode): Update to match.
(make_scalar_mode): Separate into make_int_mode and make_float_mode.
(_SCALAR_MODE): Kill.
(FLOAT_MODE, FRACTIONAL_FLOAT_MODE): Add format argument.
(emit_insn_modes_c_header): Adjust.
(emit_min_insn_modes_c_header, emit_real_format_for_mode)
(emit_min_insn_modes_c): New functions.
(emit_insn_modes_c): Call emit_real_format_for_mode.
(main): Add -m option to generate min-insn-modes.c.
* machmode.h: Update documentation. Add format argument to
all uses of FLOAT_MODE.
* real.c: Don't define real_format_for_mode here.
* dwarfout.c: Move default definition of PRINT_REG...
* defaults.h: ...here.
* print-rtl.c: Include tm_p.h.
(DEBUG_PRINT_REG, DEBUG_REGISTER_NAMES, debug_reg_names, reg_names):
Kill.
(print_rtx): Use PRINT_REG, not DEBUG_PRINT_REG. But surround
this entire block with #ifndef GENERATOR_FILE.
* regclass.c: Unconditionally define reg_names.
* config/mips/mips.h, config/rs6000/rs6000.h, config/sh/sh.h
Don't define DEBUG_REGISTER_NAMES.
* config/rs6000/darwin.h: Don't use DEBUG_REGISTER_NAMES in
redefinition of REGISTER_NAMES.
* config/i386/i386.h: Don't define DEBUG_PRINT_REG.
* combine.c: Change all preprocessor conditionals on
EXTRA_CC_MODES to use SELECT_CC_MODE instead; rearrange a bit
for clarity.
* genopinit.c: Remove mention of EXTRA_CC_MODES in comment.
* configure.in: Don't define EXTRA_CC_MODES.
* configure, config.in: Regenerate.
* doc/tm.texi: Remove documentation of EXTRA_CC_MODES.
* config/arc/arc.c, config/m32r/m32r.c, config/sparc/sparc.c:
May assume that GET_MODE_CLASS is accurate for extra CC modes
at all times.
* config/i860/i860.h (INIT_CUMULATIVE_ARGS): Pass correct
number of arguments to aggregate_value_p.
* genmodes.c (RESET_FLOAT_FORMAT, reset_float_format): New.
* machmode.def: Explain ARCH-modes.def. Document
RESET_FLOAT_FORMAT. Improve commentary on various mode
clusters. Do not define OI, PQI, PHI, PSI, PDI, QF, HF, TQF,
XF, or TF modes here. Remove backward-compatibility
definition of CC.
* config/alpha/alpha-modes.def: New file; define TF mode.
* config/arc/arm-modes.def: Define XF mode.
* config/c4x/c4x-modes.def: Define QF and HF modes. Unset
float format for SF and DF modes.
* config/dsp16xx/dsp16xx-modes.def: New file; define HF mode.
* config/i386/i386-modes.def: Define XF and TF modes.
* config/i960/i960-modes.def: Define TF mode.
* config/ia64/ia64-modes.def: Define TF and OI modes.
* config/m68k/m68k-modes.def: New file; define XF mode.
* config/mips/mips-modes.def: New file; define TF mode, reset
formats for SF and DF modes.
* config/pa/pa-modes.def: Define TF mode.
* config/rs6000/rs6000.c: Define TF and PSI modes.
* config/s390/s390-modes.def: Define OI mode.
* config/sh/sh-modes.def: New file; define PSI mode.
* config/sparc/sparc-modes.def: Define TF mode.
* config/vax/vax-modes.def: New file; reset formats for SF and
DF modes.
* config/c4x/c4x.c (c4x_override_options): No need to mess
with real_format_for_mode or set REAL_MODE_FORMATs.
(c4x_immed_int_constant): Don't apply GET_MODE_CLASS to rtx
variable.
* config/i386/i386.c (override_options): No need to set
REAL_MODE_FORMATs here.
* config/i960/i960.c (i960_initialize): Likewise.
* config/m68k/m68k.c (m68k_override_options): Likewise.
* config/ia64/ia64.c (ia64_override_options): Set REAL_MODE_FORMAT
for TFmode only if not the default.
* config/mips/mips.c (override_options): Likewise.
* config/vax/vax.c (override_optionms): Set REAL_MODE_FORMAT for
DFmode only if not the default.
* config/i370/i370.h (RET_REG): Don't consider TFmode.
* config/m68hc11/m68hc11.c (print_operand): Don't consider XFmode.
* config/dsp16xx/dsp16xx.c (hard_regno_mode_ok): #if 0 out use
of modes that don't appear anywhere in the machine description.
* config/arc/arc-modes.def, config/arm/arm-modes.def
* config/c4x/c4x-modes.def, config/frv/frv-modes.def
* config/i386/i386-modes.def, config/i960/i960-modes.def
* config/ia64/ia64-modes.def, config/mmix/mmix-modes.def
* config/pa/pa-modes.def, config/pdp11/pdp11-modes.def
* config/rs6000/rs6000-modes.def, config/s390/s390-modes.def
* config/sparc/sparc-modes.def: Convert to new style for
declaring extra CC modes.
From-SVN: r72440
|
|
optimizations with -funsafe-math-optimizations.
* combine.c (apply_distributive_law): Enable "distributive" floating
point optimizations with -funsafe-math-optimizations.
From-SVN: r72334
|
|
From-SVN: r72310
|
|
2003-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
PR optimization/11637
* combine.c (adjust_for_new_dest): New function to adjust the
notes and LOG_LINKS when the dest of an insn has changed.
(try_combine): Use it when deleting the first insn of a two-insn
parallel or splitting a two-load parallel.
From-SVN: r72138
|
|
before using INTVAL.
PR/12292
* combine.c (make_field_assignment): Check whether rtx's code
is CONST_INT before using INTVAL.
From-SVN: r72033
|
|
From-SVN: r71815
|
|
1) 0) into (eq (and (lshiftrt X Y) 1) 0).
* combine.c (simplify_comparison): Convert
(ne (and (lshiftrt (xor X CST) Y) 1) 0) into
(eq (and (lshiftrt X Y) 1) 0).
From-SVN: r71385
|
|
from here...
* combine.c (combine_simplify_rtx): Move several NOT and NEG
optimizations from here...
* simplify-rtx.c (simplify_unary_operation): to here. Recursively
simplify expressions using simplify_gen_*ary instead of gen_rtx_*.
From-SVN: r71300
|
|
* combine.c (force_to_mode): Set fuller_mask based only on mask,
not op_mode.
From-SVN: r71292
|
|
care about sign-dependent rounding.
* combine.c (combine_simplify_rtx): Don't convert -(A*B) into
(-A)*B if we care about sign-dependent rounding.
From-SVN: r71178
|
|
* targhooks.c: New file.
* targhooks.h: New file.
* Makefile.in: Add targhooks.o support.
(function.o): Depend on$(TARGET_H).
(stmt.o): Likewise.
(combine.o): Depend on $(TREE_H) and $(TARGET_H).
* builtins.c (apply_args_size, expand_builtin_apply_args_1,
expand_builtin_apply): Convert to calls.struct_value_rtx hook.
(expand_builtin_saveregs): Convert to
calls.expand_builtin_saveregs hook.
* c-decl.c (start_decl): Handle new calls.promote_prototypes hook
here, instead of ...
(get_parm_info) ... here.
(store_parm_decls_oldstyle): Convert to calls.promote_prototypes
hook.
(finish_function): Handle calls.promote_prototypes hook here too.
* c-typeck.c (convert_arguments): Convert to
calls.promote_prototypes hook.
(c_convert_parm_for_inlining): Likewise.
* calls.c (initialize_argument_information): Convert to
calls.promote_function_args hook.
(expand_call): Convert to calls.struct_value_rtx,
calls.strict_argument_naming,
calls.pretend_outgoing_varargs_named, and
calls.promote_function_return hooks. Pass fndecl to
aggregate_value_p. Initialize CUMULATIVE_ARGS before calling
hooks, so they can use that.
(emit_library_call_value_1): Likewise.
* combine.c (setup_incoming_promotions): Convert to
calls.promote_function_args hook.
* emit-rtl.c: Convert to calls.struct_value_rtx hook.
* expr.c (expand_assignment): Pass call to aggregate_value_p.
(expand_expr): Likewise.
* expr.h: Remove support for SETUP_INCOMING_VARARGS,
STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
RETURN_IN_MEMORY macro defaults.
* final.c (profile_function): Convert to calls.struct_value_rtx
hook.
* function.c (aggregate_value_p): Accept function type tree as
second parameter; try to deduce fntype from it. Convert to
calls.return_in_memory hook.
(assign_parms): Convert to calls.setup_incoming_varargs,
calls.strict_argument_naming, calls.promote_function_args,
calls.pretend_outgoing_varargs_named hooks. Pass fndecl to
aggregate_value_p.
(expand_function_start): Likewise. Convert to
calls.struct_value_rtx hook.
(expand_function_end): Convert to calls.promote_function_return hook.
(allocate_struct_function): Pass fndecl to aggregate_value_p.
* hard-reg-set.h: Update comments to new hook names.
* integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
* reg-stack.c (stack_result): Likewise.
* rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
* stmt.c (expand_value_return): Convert to
calls.promote_function_return hook.
* target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
TARGET_STRICT_ARGUMENT_NAMING,
TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
* target.h: Likewise.
* tree.h (aggregate_value_p): Also takes a tree to deduce function
attributes from (for target hooks).
* doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
to hooks.
* config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
to aggregate_value_p.
* config/arm/arm.c (arm_init_cumulative_args,
arm_output_mi_thunk): Likewise.
* config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
Likewise.
* config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
mips_can_use_return_insn): Likewise.
* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
* config/s390/s390.c (s390_output_mi_thunk): Likewise.
* config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
aggregate_value_p.
* config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
function to aggregate_value_p.
* objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
aggregate_value_p.
* config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
(sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
sh_function_arg_advance, sh_pass_in_reg_p): New. * config/sh/sh.c
(sh_handle_renesas_attribute, sh_promote_prototypes,
sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
sh_setup_incoming_varargs, sh_strict_argument_naming,
sh_pretend_outgoing_varargs_named): New decls.
(targetm): Add new hooks.
(calc_live_regs): Save MACL and MACH if the function has the
renesas attribute.
(sh_expand_prologue): Support renesas attribute.
(sh_builtin_saveregs): Make static.
(sh_build_va_list): Support renesas attribute.
(sh_va_start): Likewise.
(sh_va_arg): Likewise.
(sh_promote_prototypes): New.
(sh_function_arg): New, moved from sh.h. Support renesas
attribute.
(sh_function_arg_advance): Likewise.
(sh_return_in_memory): Likewise.
(sh_strict_argument_naming): Likewise.
(sh_pretend_outgoing_varargs_named): Likewise.
(sh_struct_value_rtx): New.
(sh_attribute): Add renesas attribute.
(sh_handle_renesas_attribute): New.
(sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
(sh_ms_bitfield_layout_p): Support renesas attribute also.
(sh_output_mi_thunk): Pass function to aggregate_value_p. *
config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
-mhitachi.
(STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
target hooks.
(sh_args): Add renesas_abi flag.
(INIT_CUMULATIVE_ARGS): Set it. Pass fndecl to aggregate_value_p.
(FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
(PASS_IN_REG_P): Support renesas attribute. Pass DF and TF on the
stack for the renesas abi.
(STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
PROMOTE_PROTOTYPES): Moved to sh.c. * config/sh/sh.md (call): Set
call cookie to indicate renesas calls.
* decl.c (finish_function): Pass fndecl to aggregate_value_p.
* misc.c (default_pass_by_ref): Convert to calls.return_in_memory
hook.
From-SVN: r71048
|
|
non-paradoxical subregs of non-REG...
* combine.c (simplify_comparison): Re-enable widening of comparisons
with non-paradoxical subregs of non-REG expressions.
From-SVN: r70785
|
|
* combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
* gcc.dg/20030702-1.c: New test.
From-SVN: r70779
|
|
From-SVN: r70778
|
|
From-SVN: r70734
|
|
* c-decl.c: Fix comment formatting.
* cfgrtl.c: Likewise.
* combine.c: Likewise.
* convert.c: Likewise.
* dominance.c: Likewise.
* dwarf2out.c: Likewise.
* dwarfout.c: Likewise.
* expmed.c: Likewise.
* fold-const.c: Likewise.
* gcov.c: Likewise.
* genattrtab.c: Likewise.
* ggc-common.c: Likewise.
* mips-tfile.c: Likewise.
* regmove.c: Likewise.
From-SVN: r70677
|
|
* combine.c (try_combine): Set JUMP_LABEL for newly created
unconditional jump.
From-SVN: r70010
|
|
* combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
* gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
GCOV_N_VALUE_COUNTERS): New.
* profile.c (compute_value_histograms): New static function.
(branch_prob): Read back the value histograms.
* rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
* rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
* value-prof.c: Add comment on reading the profile.
* value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
* doc/invoke.texi (-fprofile-values): Document behavior with
-fbranch-probabilities.
From-SVN: r69969
|
|
* alias.c: Fix comment formatting.
* c-common.c: Likewise.
* c-decl.c: Likewise.
* c-opts.c: Likewise.
* combine.c: Likewise.
* cpplib.c: Likewise.
* diagnostic.c: Likewise.
* dojump.c: Likewise.
* final.c: Likewise.
* fold-const.c: Likewise.
* gcc.c: Likewise.
* gcse.c: Likewise.
* ggc-page.c: Likewise.
* jump.c: Likewise.
* loop.c: Likewise.
* mips-tfile.c: Likewise.
* recog.c: Likewise.
* regclass.c: Likewise.
* regmove.c: Likewise.
* tree.c: Likewise.
* tree.h: Likewise.
From-SVN: r69689
|
|
and 1.
* combine.c (if_then_else_cond): Simplify the comparison of
rtx against -1, 0, and 1.
* loop.c (check_dbra_loop): Likewise.
* optabs.c (emit_conditional_move): Likewise.
(emit_conditional_add): Likewise.
* config/i386/i386.md (*movsi_or): Likewise.
(*movdi_or_rex6): Likewise.
From-SVN: r69658
|
|
* alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
genemit.c genextract.c genoutput.c genrecog.c gensupport.c
ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
postreload.c prefix.c print-tree.c protoize.c ra-build.c
ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
regmove.c regrename.c reload.c reload1.c reorg.c resource.c
sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
casts.
From-SVN: r69587
|
|
(not X) 1) 0) to (eq (and X 1) 0).
* combine.c (simplify_comparison): Don't share rtx when converting
(ne (and (not X) 1) 0) to (eq (and X 1) 0).
From-SVN: r69571
|
|
in inner_dest if inner_dest is a mem.
* combine.c (combinable_i3pat): Don't forbid occurrences of
i2dest or i1dest in inner_dest if inner_dest is a mem.
From-SVN: r69566
|
|
by a substitution...
* combine.c (subst): Also handle (subreg (const_double ...)) case
if created by a substitution, by using the original inner mode.
From-SVN: r69476
|
|
X 1) 0).
* combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
to (eq (and X 1) 0).
From-SVN: r69300
|
|
operation with it.
* combine.c (gen_binary): Handle the CLOBBER rtx and
don't build a binary operation with it.
Co-Authored-By: Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
From-SVN: r69199
|
|
From-SVN: r68983
|
|
* basic-block.h: Fix comment typos.
* bb-reorder.c: Likewise.
* c-format.c: Likewise.
* cfgcleanup.c: Likewise.
* cfghooks.h: Likewise.
* cfgloop.c: Likewise.
* cfgloopmanip.c: Likewise.
* cfgrtl.c: Likewise.
* cgraph.h: Likewise.
* cgraphunit.c: Likewise.
* combine.c: Likewise.
* convert.c: Likewise.
* dbxout.c: Likewise.
* df.c: Likewise.
* df.h: Likewise.
* diagnostic.c: Likewise.
* dwarf2out.c: Likewise.
* et-forest.h: Likewise.
* flow.c: Likewise.
* fold-const.c: Likewise.
* function.h: Likewise.
* gcov-io.h: Likewise.
* gcov.c: Likewise.
* gcse.c: Likewise.
* genautomata.c: Likewise.
* ggc-common.c: Likewise.
* ggc-page.c: Likewise.
* loop-unroll.c: Likewise.
* loop-unswitch.c: Likewise.
* loop.c: Likewise.
* mips-tfile.c: Likewise.
* optabs.c: Likewise.
* ra-build.c: Likewise.
* ra-colorize.c: Likewise.
* ra-rewrite.c: Likewise.
* ra.h: Likewise.
* regmove.c: Likewise.
* reload.c: Likewise.
* rtlanal.c: Likewise.
* sched-ebb.c: Likewise.
* sched-int.h: Likewise.
* sched-vis.c: Likewise.
* sreal.c: Likewise.
* ssa-ccp.c: Likewise.
* ssa.c: Likewise.
* toplev.c: Likewise.
* tree-inline.c: Likewise.
* value-prof.c: Likewise.
* value-prof.h: Likewise.
From-SVN: r68770
|
|
* combine.c (distribute_notes): Don't bother REG_WAS_0.
* cse.c (cse_insn): Likewise.
* final.c (final_scan_insn): Likewise.
* jump.c (duplicate_loop_exit_test): Likewise.
* rtl.c (reg_note_name): Remove REG_WAS_0.
* rtl.h (REG_WAS_0): Remove.
* unroll.c (final_reg_note_copy): Don't bother REG_WAS_0.
* config/avr/avr.c (output_movqi): Don't use reg_was_0.
(output_movhi): Likewise.
(output_movsisf): Likewise.
(reg_was_0): Remove.
* config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't use
REG_WAS_0.
(m68hc11_gen_movqi): Likewise.
* config/vax/vax-protos.h: Remove the prototype for
reg_was_0_p.
* config/vax/vax.c (follows_p): Remove.
(reg_was_0_p): Likewise.
* config/vax/vax.md (movsi): Don't use reg_was_0_p.
(movhi): Likewise.
(movqi): Likewise.
* doc/rtl.texi (REG_WAS_0): Remove.
From-SVN: r68753
|
|
pointer equality comparison.
* combine.c (force_to_mode): Replace the equality comparison
of INTVALs with a pointer equality comparison.
(simplify_comparison): Likewise.
From-SVN: r68603
|
|
while compiling libjava)
PR bootstrap/10983
* combine.c (make_extraction): Use gen_lowpart_for_combine
when extracting from a REG and not in the destination of a SET.
Co-Authored-By: Eric Botcazou <ebotcazou@libertysurf.fr>
From-SVN: r67916
|
|
* cfglayout.c (insn_scope): New static function
(block_locators_*, line_locators*, file_locators*): New static varrays.
(scope_to_insns_initialize): Use them.
(insn_line, insn_file): New functions.
(scope_to_insns_finalize): Use insn_scope.
(prologue_locator, epilogue_locator): New global variables.
* emit-rt.c (try_split, make_insn_raw, make_jump_insn_raw,
make_call_insn_raw, emit_copy_of_insn_after): Use locators.
(emit_insn_after_scope, emit_insn_before_scope
emit_jump_insn_after_scope, emit_jump_insn_before_scope
emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
(emit_insn_after_setloc, emit_insn_before_setloc
emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
use locators.
* final.c (notice_source_line): Use locators.
(final_start_function): Set initial source file and line.
(final_scan_insn): Use locators.
* ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove,
noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
noce_process_if_block, find_cond_trap): Likewise.
* integrate.c (copy_insn_list): Likewise.
* jump.c (duplicate_loop_exit_test): LIkewise.
* print-rtl.c (print_rtx): Print locators.
* recog.c (peephole2_optimize): Likewise.
* rtl.h (INSN_SCOPE): Remove.
(emit_insn_after_scope, emit_insn_before_scope
emit_jump_insn_after_scope, emit_jump_insn_before_scope
emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
(emit_insn_after_setloc, emit_insn_before_setloc
emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
(insn_file, insn_line, prologue_locator, epilogue_locator): Declare.
* unroll.c (copy_loop_body): Use locators.
* function.c (set_insn_locators): New function.
(thread_prologue_and_epilogue_insns): Set the locators accordingly.
From-SVN: r67637
|
|
* predict.h: Convert to ISO C90 prototypes.
* predict.c: Likewise.
* tree-dump.h: Likewise.
* tree-dump.c: Likewise.
* diagnostic.h: Likewise.
* diagnostic.c: Likewise.
* combine.c: Likewise.
* rtl.h: Convert prototypes of combine.c to ISO C90.
From-SVN: r67626
|
|
for nonzero_bits (REG) == 8.
* combine.c (simplify_if_then_else): (IF_THEN_ELSE (NE REG 0) (0) (8))
is REG for nonzero_bits (REG) == 8.
From-SVN: r67488
|
|
* combine.c (simplify_set): Don't move a subreg in SET_SRC to
SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
From-SVN: r67388
|
|
is profitable.
2003-05-15 Eric Christopher <echristo@redhat.com>
* combine.c (expand_compound_operation): Make sure
that zero_extend operation is profitable.
From-SVN: r66853
|
|
2003-05-14 Eric Christopher <echristo@redhat.com>
* combine.c: Fix header comments.
(distribute_notes): Remove usage of elim_i1, elim_i2. Propagate
to all calls and prototype.
From-SVN: r66813
|
|
From-SVN: r66318
|
|
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-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-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
|
|
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
|
|
From-SVN: r64703
|
|
From-SVN: r64680
|
|
zero_extract.
* combine.c (make_field_assignment): Remove unnecessary AND
when storing into zero_extract.
From-SVN: r64674
|
|
PR target/10073
* combine.c (force_to_mode <NOT>): Use gen_int_mode.
From-SVN: r64564
|
|
* 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
|
|
* 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
|
|
Patch for PR 9255
* combine.c (simplify_comparison): Require integral mode when
permuting SUBREG with AND.
From-SVN: r63514
|