Age | Commit message (Collapse) | Author | Files | Lines |
|
VALUE's locations has been invalidated.
* alias.c (find_base_term, get_addr): Do not dereference NULL
pointer when all VALUE's locations has been invalidated.
(rtx_equal_for_memref_p): Simplify checking of VALUEs.
From-SVN: r77201
|
|
* alias.c (record_set): Use hard_regno_nregs.
* bt-load.c (find_btr_reference, note_btr_set): Likewise.
* builtins.c (apply_args_size): Likewise.
* caller-save.c (setup_save_areas, save_call_clobbered_regs,
mark_set_regs, add_stored_regs, mark_referenced_regs,
insert_restore, insert_save, insert_one_insn): Likewise.
* cfgcleanup.c: Include regs.h
(mark_effect, mentions_nonequal_regs): Likewise.
* cfgrtl.c (mark_killed_regs): Likewise
* combine.c (update_table_tick, record_value_for_reg,
record_dead_and_set_regs, get_last_value_validate, use_crosses_set_p,
reg_dead_at_p_1, reg_dead_at_p, mark_used_regs_combine, move_deaths,
reg_bitfield_target_p, distribute_notes): Likewise.
* cse.c (mention_regs, insert, invalidate, invalidate_for_call,
exp_equiv_p, cse_insn): Likewise.
* cselib.c (cselib_lookup): Likewise.
(cselib_invalidate_regno, cselib_record_set): Likewise.
* df.c (df_ref_record): Likewise.
* dwarf2out.c (reg_loc_descriptor, multiple_reg_loc_descriptor):
Likewise.
* flow.c (mark_reg, insn_dead_p, mark_set_1, mark_used_reg,
count_or_remove_death_notes_bb): Likewise.
* function.c (aggregate_value_p, keep_stack_depressed): Likewise.
* gloval.c (global_alloc, find_reg, mark_reg_store, mark_reg_conflicts,
mark_reg_death, set_preference, reg_becomes_live, reg_dies): Likewise.
* integrate.c (mark_stores): Likewise.
* jump.c (delete_prior_computation): Likewise.
* lcm.c (reg_dies, reg_becomes_live): Likewise.
* local-alloc.c (combine_regs, find_free_reg, post_mark_life): Likewise.
* loop.c (LOOP_REGNO_NREGS): Likewise.
* postreload.c (reload_combine, reload_combine_note_store,
reload_combine_note_use, reload_cse_move2add, move2add_note_store): Likewise.
* ra-colorize.c (combine, color_usable_p, get_free_reg,
calculate_dont_begin, calculate_dont_begin, colorize_one_web,
try_recolor_web, insert_coalesced_conflicts, check_colors,
break_precolored_alias): Likewise.
* ra-debug.c: Include regs.h
(ra_print_rtx_object): Likewise.
* ra-rewrite (choose_spill_colors): Likewise.
(spill_same_color_p, update_spill_colors, spill_is_free): Likewise.
* ra.c (init_ra): Likewise.
* recog.c (reg_fits_class_p, peep2_reg_dead_p,
peep2_find_free_register): Likewise.
* reg-stack.c (subst_stack_regs_pat, convert_regs_exit): Likewise.
* regclass.c (hard_regno_nregs): New array.
(init_reg_modes_once): Initialize it.
(choose_hard_reg_mode): Use it.
(record_reg_classes): Likewise.
* regmove.c (mark_flags_life_zones): Likewise.
* regrename.c (note_sets, clear_dead_regs, regrename_optimize,
scan_rtx_reg, dump_def_use_chain, kill_value, set_value_regno,
copy_value, maybe_mode_change, find_oldest_value_reg,
copyprop_hardreg_forward_1):
* regs.h (hard_regno_nregs): Declare.
* realod.c (reload_inner_reg_of_subreg): Use it.
(push_reload, combine_reloads, find_dummy_reload,
hard_reg_set_here_p, operands_match_p, decompose, find_reloads,
refers_to_regno_for_reload_p, find_equiv_reg, regno_clobbered_p,
reload_adjust_reg_for_mode): Likewise.
* reload1.c (compute_use_by_pseudos, count_pseudo,
count_spilled_pseudo, find_reg, find_reload_regs, mark_home_live,
spill_hard_reg, forget_old_reloads_1, mark_reload_reg_in_use,
clear_reload_reg_in_use, reload_reg_free_for_value_p, free_for_value_p
allocate_reload_reg, choose_reload_regs, emit_reload_insns,
delete_output_reload): Likewise.
* resource.c (update_live_status, mark_referenced_resources,
mark_set_resources, mark_target_live_regs): Likewise.
* rtlanal.c: Include regs.h
(refers_to_regno_p, reg_overlap_mentioned_p, dead_or_set_p,
dead_or_set_regno_p, find_regno_note, find_reg_fusage,
subreg_regno_offset, subreg_offset_representable_p,
hoist_test_store): Likewise.
* sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
* sched-rgn.c (check_live_1, update_live_1): Likewise.
* stmt.c: Include regs.h
(decl_conflicts_with_clobbers_p): Likewise.
* varasm.c (make_decl_rtl): Likewise.
* Makefile.in (cfgcleanup.o, rtlanal.o, ra-debug.o): Add regs.h dependnecy.
From-SVN: r77088
|
|
* alias.c (reg_base_value): Turn into varray.
(reg_base_value_size): Kill.
(old_reg_base_value): New deletable varray.
(alias_invariant_size): New variable.
(REG_BASE_VALUE): Update to use varray.
(find_base_value): Likewise.
(record_set): Likewise.
(record_base_value): Likewise.
(memrefs_conflict_p): Likewise.
(record_set): Likewise
(record_base_value): Likewise.
(memrefs_conflict_p): Use alias_invariant_size.
(init_alias_analysis): Use varray; set alias_invariant_size;
rescale other arrays to be sized by maxreg.
(end_alias_analysis): Save reg_base_value; clear alias_invariant_size.
From-SVN: r76349
|
|
* alias.c, basic-block.h, c-common.c, c-common.h,
c-cppbuiltin.c, c-opts.c, c-pragma.c, c-pretty-print.c,
calls.c, cfg.c, cfgcleanup.c, cfgrtl.c, cgraph.h, collect2.c,
combine.c, cppcharset.c, cpphash.h, cppinit.c, cpplib.c,
cpplib.h, cppmacro.c, crtstuff.c, cselib.c, cselib.h,
defaults.h, df.c, dominance.c, et-forest.c, expmed.c, expr.c,
expr.h, fix-header.c, function.h, gcc.c, gcse.c, genattrtab.c,
genautomata.c, genconditions.c, genemit.c, genflags.c,
gengtype.c, gengtype.h, genopinit.c, genrecog.c, gensupport.c,
ggc-zone.c, graph.c, haifa-sched.c, input.h, integrate.c,
langhooks-def.h, langhooks.c, langhooks.h, line-map.c,
line-map.h, local-alloc.c, optabs.c, optabs.h, postreload.c,
ra.h, recog.c, reg-stack.c, regmove.c, reload.c, reorg.c,
rtl.c, sched-deps.c, sched-ebb.c, sdbout.c, system.h,
target.h, targhooks.c, toplev.h, tree-inline.c, unwind-pe.h,
unwind.h, varray.c, varray.h: Update copyright.
From-SVN: r76302
|
|
PR pch/13689
* alias.c (new_alias_set): Mark last_alias_set for PCH.
(get_varargs_alias_set): Rename 'set' to 'varargs_set' and mark it
for PCH.
(get_frame_alias_set): Likewise, except rename it to 'frame_set'.
* config/rs6000/rs6000.c (rs6000_sr_alias_set): Mark for PCH.
(get_TOC_alias_set): Mark 'set' for PCH.
From-SVN: r76031
|
|
PR pch/13689
* alias.c (struct alias_set_entry): Mark for GC.
(alias_sets): Make static, mark for GC.
(record_alias_subset): Use GC to allocate alias structures.
* varray.c (element): Make generic varrays GCed.
From-SVN: r75962
|
|
* alias.c (get_alias_set): Initialize alias set to 0 when subset is
impossible.
From-SVN: r75861
|
|
* alias.c (new_alias_set): Construct the alias_set varray.
(init_alias_once): Don't do it here.
From-SVN: r75779
|
|
* alias.c: Invlude varray.h
(alias_sets): Turn into varray.
(get_alias_set_entry): Use VARRAY; mark inline.
(mems_in_disjoint_alias_sets_p): Mark inline.
(record_alias_subset): Use varray.
(init_alias_once): Initialize varray.
(new_alias_set): Grow array.
* varray.c: Make VARRAY_GENERIC_PTR non GTYized.
From-SVN: r75711
|
|
* alias.c: Fix comment typos.
* builtins.c: Likewise.
* cfg.c: Likewise.
* df.c: Likewise.
* dominance.c: Likewise.
* dwarf2out.c: Likewise.
* emit-rtl.c: Likewise.
* expr.c: Likewise.
* final.c: Likewise.
* fold-const.c: Likewise.
* gcse.c: Likewise.
* genattrtab.c: Likewise.
* genrecog.c: Likewise.
* gensupport.c: Likewise.
* ggc-zone.c: Likewise.
* integrate.c: Likewise.
* local-alloc.c: Likewise.
* loop.c: Likewise.
* recog.c: Likewise.
* regmove.c: Likewise.
* reg-stack.c: Likewise.
* reorg.c: Likewise.
* rtlanal.c: Likewise.
* rtl.h: Likewise.
* sched-ebb.c: Likewise.
* simplify-rtx.c: Likewise.
* toplev.c: Likewise.
* varasm.c: Likewise.
From-SVN: r75475
|
|
* alias.c: Fix comment formatting.
* alloc-pool.c: Likewise.
* bitmap.c: Likewise.
* bitmap.h: Likewise.
* bt-load.c: Likewise.
* c-common.c: Likewise.
* c-common.h: Likewise.
* c-decl.c: Likewise.
* c-opts.c: Likewise.
* c-pretty-print.c: Likewise.
* caller-save.c: Likewise.
* cfghooks.h: Likewise.
* cgraph.c: Likewise.
* collect2.c: Likewise.
* cppfiles.c: Likewise.
* cpplib.h: Likewise.
* dwarf2out.c: Likewise.
* dwarfout.c: Likewise.
* emit-rtl.c: Likewise.
* final.c: Likewise.
* function.c: Likewise.
* gcov.c: Likewise.
* gcse.c: Likewise.
* genemit.c: Likewise.
* ggc.h: Likewise.
* haifa-sched.c: Likewise.
* ifcvt.c: Likewise.
* libgcc2.h: Likewise.
* loop.c: Likewise.
* predict.h: Likewise.
* unwind-libunwind.c: Likewise.
* varasm.c: Likewise.
From-SVN: r74907
|
|
From-SVN: r72042
|
|
PR target/11184
* builtins.c (expand_builtin_apply): Use convert_memory_address
before returning the value.
* alias.c (find_base_value): Simplify use of
convert_memory_address.
(find_base_term): Likewise.
* builtins.c (expand_builtin_stejmp_setup): Likewise.
(expand_builtin_longjmp): Likewise.
(expand_builtin_prefetch): Likewise.
(get_memory_rtx): Likewise.
(expand_builtin_return): Likewise.
(expand_builtin_memcpy): Likewise.
(expand_builtin_strncpy): Likewise.
(expand_builtin_memset): Likewise.
(expand_builtin_va_arg): Likewise.
(expand_builtin_va_copy): Likewise.
(expand_builtin_alloca): Likewise.
* calls.c (expand_call): Likewise.
* except.c (expand_builtin_extract_return_addr): Likewise.
(expand_builtin_eh_return): Likewise.
* explow.c (convert_memory_address): Define even when
POINTER_EXTEND_UNSIGNED is not defined. Do nothing if the address
is already in the right mode.
* explow.c (memory_address): Simplify use of convert_memory_address.
(probe_stack_range): Likewise.
* expmed.c (make_tree): Likewise.
* expr.c (emit_block_move_in_libcall): Likewise.
(expand_assignment): Likewise.
(expand_expr): Likewise.
* function.c (assign_parms): Likewise.
(expand_function_end): Likewise.
* integrate.c (copy_rtx_and_substitute): Likewise.
* stmt.c (expand_computed_goto): Likewise.
PR target/11184
* gcc.dg/builtin-apply1.c: New test.
From-SVN: r71539
|
|
* alias.c: Follow spelling conventions.
* cpphash.h: Likewise.
* fold-const.c: Likewise.
* cp/ChangeLog: Likewise.
* cp/parser.c: Likewise.
From-SVN: r71382
|
|
PR optimization/8967
* alias.c (write_dependence_p): Modify to take an additional constp
argument that controls whether the UNCHANGING_RTX_P flags are used.
(anti_dependence, output_dependence): Adjust write_dependence_p
callers to pass this additional argument, to return the same result.
(unchanging_anti_dependence): New variant of anti_dependence that
ignores the UNCHANGING_RTX_P property on memory references.
* rtl.h (unchaning_anti_dependence): Prototype here.
* flow.c (init_propagate_block): Place fake constant mem writes on
the mem_set_list so that dead writes to const variables are deleted.
(insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
(mark_used_regs): Likewise.
From-SVN: r71332
|
|
PR optimization/11319
PR target/10021
* alias.c (find_base_value, case REG): Return 0 not src if no base
found.
From-SVN: r70359
|
|
* 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
|
|
* 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
|
|
PR optimization/11198
* alias.c (objects_must_conflict_p): Return 1 if the types have
the same alias set, not if the alias sets only conflict.
Co-Authored-By: Eric Botcazou <ebotcazou@libertysurf.fr>
From-SVN: r69034
|
|
* tracer.c: Remove duplication declaration.
* toplev.c: Remove extra declaration of decode_d_option.
* ssa.c: Remove duplicate declaration.
* sreal.c: Remove extra declaration of dump_sreal.
* reload1.c: Remove duplicate declarations.
* integrate.c: Remove extra declaration of
set_decl_abstract_flags.
* flow.c: Remove extra declaration of dump_flow_info.
* alias.c: Remove extra declaration of get_addr.
From-SVN: r68006
|
|
* alloc-pool.c: Convert to ISO C90 prototypes.
* alloc-pool.h: Likewise.
* alias.c: Likewise.
* attribs.c: Likewise.
* bb-reorder.c: Likewise.
* bitmap.h: Likewise.
* bitmap.c: Likewise.
* builtins.c: Likewise.
* tree.h: Convert prototypes of attribs.c to ISO C90.
* basic-block.h: Convert prototypes of bb-reorder.c to ISO C90.
* rtl.h: Convert prototypes of alias.c and builtins.c to ISO C90.
* expr.h: Convert prototypes of builtins.c to ISO C90.
From-SVN: r67975
|
|
(nonlocal_set_p): Remove initial blank line.
* dwarf2out.c (simple_type_size_in_bits): Likewise.
* et-forest.c (et_forest_create): Likewise.
* explow.c (stabilize): Likewise.
* fix-header.c (write_lbrac): Likewise.
* graph.c (start_fct, node_data): Likewise.
* jump.c (only_sets_cc0_p, sets_cc0_p): Likewise.
* rtlanal.c (global_reg_mentioned_p): Likewise.
* tree.c (bit_position): Likewise.
From-SVN: r66984
|
|
void functions.
* alias.c (mark_constant_function): Check for constancy and
purity even of void functions. Update both the function decl
and the cgraph RTL info with the results.
From-SVN: r65981
|
|
* alias.c (find_base_term): Export.
* rtl.h (find_base_term): Declare.
* gcse.c (find_moveable_store): Test for flag_non_call_exceptions
instead of flag_exceptions. Move test for parameter passing ...
(store_killed_in_insn): ... here.
From-SVN: r65272
|
|
* alias.c (rtx_equal_for_memref_p): Assume that X and Y has been
canonicalized.
(memrefs_conflict_p): Likewise.
(addr_side_effect_eval): Canonicalize the constructed address.
From-SVN: r64540
|
|
* Makefile.in (calls.o, toplev.o alias.o): Depend on cgraph.h
* alias.c: Include cgraph.h
(mark_constant_function): Use cgraph_rtl_info.
* calls.c: Include cgraph.h
(flags_from_decl_or_type): Use cgraph_rtl_info to find pure and const
calls.
(expand_call): Use cgraph_rtl_info to set preferred stack boundary.
* cgraph.c (cgraph_rtl_info): New function.
* cgraph.h (cgraph_rtl_info): Declare
(cgraph_rtl_info): Likewise.
* function.h (struct function): Add recursive_call_emit.
* toplev.c: Include cgraph.h.
(rest_of_compilation): Set preferred_incoming_stack_boundary.
* gcc.dg/i386-local2.c: New.
From-SVN: r63868
|
|
* objc-act.c: Include cgraph.h
(mark_referenced_methods): New function.
(objc_init): Call it.
* objc-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Set.
* c-decl.c (finish_function): Honor can_defer_p even in unit-at-a-time
mode.
* optabs.c (expand_fix): Do not widen the input operand.
* expr.c (emit_group_store): Fix crash when converting single
register into complex register.
* Makefile.in (jump.o, regclass.o, alias.o): Add dependency on timevar.h
* alias.c: Include timevar.h
(init_alias_analysis): Set timevar
* jump.c: Include timevar.h
(rebuild_jump_labels): Set timevar
* regcalss.c: Include timevar.h
(reg_scan): Set timevar
* timevar.def (TV_ALIAS_ANALYSIS, TV_REG_SCAN, TV_REBUILD_JUMP): New
From-SVN: r63464
|
|
* cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.
* Makefile.in (loop-unroll.o): New.
* cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New.
(unroll_and_peel_loops): Declare.
* alias.c (init_alias_analysis): Flag_unroll_loops renamed to
flag_old_unroll_loops.
* loop.c (loop_invariant_p): Ditto.
* unroll.c (unroll_loop): Flag_unroll_all_loops renamed to
flag_old_unroll_all_loops.
* flags.h (flag_unroll_loops): Renamed to flag_old_unroll_loops.
(flag_unroll_all_loops): Renamed to flag_old_unroll_all_loops.
* params.def (PARAM_MAX_UNROLLED_INSNS): Default value changed.
(PARAM_MAX_AVERAGE_UNROLLED_INSNS, PARAM_MAX_UNROLL_TIMES,
PARAM_MAX_PEELED_INSNS, PARAM_MAX_PEEL_TIMES,
PARAM_MAX_COMPLETELY_PEELED_INSNS, PARAM_MAX_COMPLETELY_PEEL_TIMES,
PARAM_MAX_ONCE_PEELED_INSNS): New.
* toplev.h (flag_old_unroll_loops, flag_old_unroll_all_loops): New.
(flag_unroll_loops, flag_unroll_all_loops): Used for new unroller
instead of old one.
(flag_peel_loops): New.
(lang_independent_options): The new flags added.
(rest_of_compilation): Call new unroller.
(process_options): Setup flags for coexistence of old and new unroller.
* doc/invoke.texi: Document new options.
* doc/passes.texi: Document new unroller pass.
From-SVN: r63462
|
|
* alias.c: Fix comment typos.
* basic-block.h: Likewise.
* c-common.c: Likewise.
* c-common.h: Likewise.
* c-decl.c: Likewise.
* c-opts.c: Likewise.
* c-pragma.c: Likewise.
* c-pretty-print.h: Likewise.
* cfg.c: Likewise.
* cfganal.c: Likewise.
* cfgbuild.c: Likewise.
* cfgcleanup.c: Likewise.
* cfglayout.c: Likewise.
* cfgrtl.c: Likewise.
* convert.c: Likewise.
* cpphash.h: Likewise.
* cpplex.c: Likewise.
* cpplib.h: Likewise.
* df.h: Likewise.
* diagnostic.c: Likewise.
* diagnostic.h: Likewise.
* dwarf2.h: Likewise.
From-SVN: r61462
|
|
* i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
(addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
(add??cc): New expanders.
* i386.c (expand_int_addcc): New function.
* i386-protos.h (expand_int_addcc): Declare.
* alias.c (memory_modified_1): New static function.
(memory_modified): New static varaible.
(memory_modified_in_insn_p): New global function.
* rtl.h (memory_modified_in_insn_p): Declare.
* rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
references.
* expr.h (emit_conditional_add): Declare.
From-SVN: r61038
|
|
register is set once.
* alias.c (find_base_value): Only use new_reg_base_value shortcut
if the register is set once.
From-SVN: r61017
|
|
* alias.c (record_set): Handle multi-reg hard registers.
From-SVN: r60474
|
|
From-SVN: r60174
|
|
* alias.c (find_base_value): Use new_reg_base_value if it's live.
(copying_arguments): Make boolean.
From-SVN: r59483
|
|
PR optimization/6631
* Makefile.in (function.o): Depend on langhooks.h.
* alias.c (objects_must_conflict_p): Check honor_readonly when
examining TYPE_READONLY.
* function.c (assign_stack_temp_for_type): Likewise.
PR optimization/6631
* g++.dg/opt/const2.C: New test.
From-SVN: r58136
|
|
* 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
|
|
flag_argument_noalias == 2.
* emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
when flag_argument_noalias == 2.
* alias.c (nonoverlapping_memrefs_p): Handle that.
* print-rtl.c (print_mem_expr): Likewise.
From-SVN: r55633
|
|
* c-common.c (c_common_get_alias_set): Correctly handle characters.
Rearrange order of expressions; don't handle vectors here.
* alias.c (get_alias_set): Let vectors match their components.
From-SVN: r54821
|
|
* alias.c (argument_registers): Remove.
(init_alias_once): Initialize static_reg_base_value here. Remove
initialization of argument_registers.
(init_alias_once_per_function): Remove.
(init_alias_analysis): Copy all the entries from static_reg_base_value
into new_reg_base_value all at once.
* rtl.h (init_alias_once_per_function): Remove declaration.
* function.c (prepare_function_start): Do not call
init_alias_once_per_function.
* caller-save.c (init_caller_save): Use gen_rtx_INSN instead of
starting a sequence and emitting an INSN.
From-SVN: r54582
|
|
per function for the aliasing code.
* alias.c (static_reg_base_value): New to hold RTL for
items allocated once per function for the aliasing code.
(init_alias_once_per_function): Initialize static_reg_base_value.
(init_alias_analysis): Avoid throw-away allocations of RTL by
using pre-computed values in static_reg_base_value.
* function.c (prepare_function_start): Call
init_alias_once_per_function appropriately.
* rtl.h (init_alias_once_per_function): Declare.
* caller-save (init_caller_save): Restructure slightly to
avoid lots of silly RTL generation.
* expr.c (init_expr_once): Likewise.
* reload1.c (reload_cse_regs_1): Allocate throw-away register
RTL object here. Pass it into children.
(reload_cse_simplify_operands): Use passed-in register RTL
object.
(reload_cse_simplify): Pass through throw-away register
RTL object.
From-SVN: r54442
|
|
From-SVN: r54232
|
|
From-SVN: r54225
|
|
* alias.c: Include target.h.
(mark_constant_function): Use targetm.binds_local_p instead
of checking TREE_PUBLIC ourselves.
* Makefile.in (alias.o): Add TARGET_H.
* gcc.c-torture/execute/pure-1.c: Don't mark any of the
test functions static.
From-SVN: r54186
|
|
* alias.c: Fix formatting.
* attribs.c: Likewise.
* bb-reorder.c: Likewise.
* bitmap.c: Likewise.
* bitmap.h: Likewise.
* builtins.c: Likewise.
From-SVN: r53898
|
|
* alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
* gcse.c (free_insn_expr_list_list): New.
(clear_modify_mem_tables): Use it. Fix bit set usage.
(canon_list_insert): Use EXPR_LISTs for expressions.
(record_last_mem_set_info): Factor BLOCK_NUM (insn).
From-SVN: r52624
|
|
PR opt/6165
* alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
(write_dependence_p): Likewise.
From-SVN: r51882
|
|
* alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
(nonlocal_mentioned_p_1): New function.
(nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
(nonlocal_set_p, nonlocal_set_p_1): Likewise.
(mark_constant_function): Recognize pure functions.
* rtl.h (global_reg_mentioned_p): New prototype.
* rtlanal.c (global_reg_mentioned_p,
global_reg_mentioned_p_1): New function.
From-SVN: r51113
|
|
2002-03-06 Dan Nicolaescu <dann@ics.uci.edu>
Daniel Berlin <dan@dberlin.org>
C++ alias analysis improvement.
* alias.c (record_component_aliases): Record aliases for base
classes too.
* cp/cp-lang.c (ok_to_generate_alias_set_for_type): New function.
(cxx_get_alias_set): Use it.
Co-Authored-By: Daniel Berlin <dberlin@dberlin.org>
From-SVN: r50587
|
|
2002-02-19 Aldy Hernandez <aldyh@redhat.com>
* config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
("mmx_uavgv4hi3"): Same.
("pmulhrwv4hi3"): Same.
* tree-inline.c (walk_tree): Handle vectors.
* c-common.c (constant_expression_warning): Handle vectors.
(overflow_warning): Same.
* sched-deps.c (sched_analyze_2): Handle vectors.
* rtlanal.c (rtx_unstable_p): Handle vectors.
(rtx_varies_p): Same.
(count_occurrences): Same.
(regs_set_between_p): Same.
(modified_between_p): Same.
(modified_in_p): Same.
(volatile_insn_p): Same.
(volatile_refs_p): Same.
(side_effects_p): Same.
(may_trap_p): Same.
(inequality_comparisons_p): Same.
(replace_regs): Same.
(computed_jump_p_1): Same.
* rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
argument.
(inner_mode_array): New.
(copy_rtx): Handle vectors.
(copy_most_rtx): Same.
(rtx_equal_p): Same.
(get_mode_alignment): Adjust for vectors.
* resource.c (mark_referenced_resources): Handle vectors.
(mark_set_resources): Same.
* reload1.c (eliminate_regs): Handle vectors.
(elimination_effects): Same.
(scan_paradoxical_subregs): Same.
* reload.c (subst_reg_equivs): Handle vectors.
* regrename.c (scan_rtx): Handle vectors.
* regclass.c (reg_scan_mark_refs): Handle vectors.
* recog.c (find_single_use_1): Handle vectors.
* local-alloc.c (equiv_init_varies_p): Handle vectors.
(contains_replace_regs): Same.
(memref_referenced_p): Same.
* integrate.c (copy_rtx_and_substitute): Handle vectors.
(subst_constants): Same.
* genattrtab.c (attr_copy_rtx): Handle vectors.
(encode_units_mask): Same.
(clear_struct_flag): Same.
(count_sub_rtxs): Same.
* gcse.c (want_to_gcse_p): Handle vectors.
(oprs_unchanged_p): Same.
(hash_expr_1): Same.
(oprs_not_set_p): Same.
(expr_killed_p): Same.
(compute_transp): Same.
(store_ops_ok): Same.
* function.c (purge_addressof_1): Do not allow paradoxical subregs
of vectors.
(fixup_var_refs_1): Same.
(instantiate_virtual_regs_1): Same.
* fold-const.c (operand_equal_p): Handle vectors.
(fold): Same.
(rtl_expr_nonnegative_p): Same.
* flow.c (mark_used_regs): Handle vectors.
* df.c (df_uses_record): Handle vectors.
* cselib.c (cselib_subst_to_values): Handle vectors.
(cselib_mem_conflict_p): Same.
(hash_rtx): Same.
* cse.c (canon_reg): Handle vectors.
(fold_rt): Same.
(cse_process_notes): Same.
(count_reg_usage): Same.
(canon_hash): Same.
* alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
* combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
* emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
(gen_rtx): Handle CONST_VECTOR.
(gen_const_vector_0): New.
(copy_rtx_if_shared): CONST_VECTORs can be shared.
(reset_used_flags): Same.
(copy_insn_1): Same.
(initializer_constant_valid_p): Handle VECTOR_CST.
* doc/c-tree.texi (Expression trees): Document VECTOR_CST.
* doc/rtl.texi (Constants): Document const_vector.
(CONST0_RTX): Update for vectors.
(RTL sharing): Same.
* print-tree.c (print_node): Add case for VECTOR_CST.
* tree.h (TREE_VECTOR_CST_ELTS): New.
(struct tree_vector): New.
(union tree_node): Add vector node.
(build_vector): Add prototype.
* tree.def (VECTOR_CST): New.
* tree.c (build_vector): New.
* expmed.c (make_tree): Handle CONST_VECTOR.
* rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
(CONST_VECTOR_ELT): New.
(CONST_VECTOR_NUNITS): New.
* machmode.h (GET_MODE_INNER): New.
(DEF_MACHMODE): Accept 8th arg.
* machmode.def: Add 8th argument for vector inner mode.
Add inner vector modes for vectors.
* rtl.def (VEC_CONST): Remove.
(CONST_VECTOR): New.
* expr.c (clear_storage): Allow vectors.
(is_zeros_p): Handle VECTOR_CST.
* varasm.c (output_constant_pool): Handle vectors.
(rtx_const): Add veclo and vechi fields.
(kind): Add RTX_VECTOR.
(decode_rtx_const): Add case for vector.
* config/rs6000/rs6000-protos.h: Add zero_constant.
* config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
constants. Force easy vector constants into memory.
(easy_vector_constant): New.
(emit_easy_vector_constant): New.
(rs6000_legitimize_reload_address): Do not generate bad reloads on
darwin.
* config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
instruction does.
("altivec_lvxl"): Same.
(altivec_lvebx): Same.
(altivec_lvehx): Same.
(altivec_lvewx): Same.
("*movv4si_const0"): New.
("*movv4sf_const0"): New.
("*movv8hi_const0"): New.
("*movv16qi_const0"): New.
From-SVN: r49853
|
|
* alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
Make same change as for find_base_value.
From-SVN: r49730
|