Age | Commit message (Collapse) | Author |
|
(remap_decl): Register variables only while not processing debug
statements.
(copy_body_r): Enqueue debug statements for later processing.
(copy_bb): Skip debug statements.
(copy_edges_for_bb): Likewise.
(copy_debug_stmt): New fn.
(copy_debug_stmts): New fn.
(copy_generic_body, copy_body): Call it.
(setup_one_parameter): Insert debug notes for inlined parms.
(estimated_num_insns_1): Handle debug stmts.
(optimize_inline_calls): Initialize debug stmt queue.
(tree_function_versioning): Likewise.
* tree-into-ssa.c (mark_def_sites): Handle debug stmts.
(var_debug_value_for_decl): New fn.
(adjust_debug_stmts_for_var_def_move): New fn.
(adjust_debug_stmts_for_move): New fn.
(check_debug_predicate): New struct.
(check_and_update_debug_stmt_1): New fn.
(check_and_update_debug_stmt): New fn.
(insert_phi_nodes_for): Introduce debug stmts for phi nodes.
(rewrite_stmt): Likewise, for SSA defs.
(mark_use_interesting): Handle debug stmts.
(prepare_block_for_update): Likewise.
* tree.c (build_var_debug_value_stat): New fn.
(empty_body_p): Handle debug stmts.
* tree.def (VAR_DEBUG_VALUE): New tree code.
* tree.h (VAR_DEBUG_VALUE_SET_VAR): New macro.
(VAR_DEBUG_VALUE_VAR): Likewise.
(VAR_DEBUG_VALUE_VALUE): Likewise.
(IS_DEBUG_STMT): Likewise.
(MAY_HAVE_DEBUG_STMTS): Likewise.
(VAR_DEBUG_VALUE_NOVALUE): Likewise.
(build_var_debug_value_stat): Declare.
(build_var_debug_value): New macro.
(var_debug_value_for_decl): Declare.
* tree-gimple.c (is_gimple_stmt): Handle debug stmts.
* tree-ssa-operands.c (opf_debug_use): New flag.
(get_expr_operands): Handle debug stmts. Don't mark objects
addressed in debug stmts as addressable.
(parse_ssa_operands): Handle debug stmts.
* tree-dump.c (dequeue_and_dump): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.
* tree-ssa-dce (mark_stmt_if_obviously_necessary): Likewise.
(necessary_p): New function.
(eliminate_unnecessary_stmts): Handle debug stmts.
* tree-ssa-propagate.c (get_rhs): Likewise.
* tree-ssa.c (verify_ssa): Likewise.
(execute_early_warn_uninitialized): Likewise.
* tree-ssa-live.c (remove_unused_locals): Likewise.
(set_var_live_on_entry): Likewise.
* tree-ssa-dom.c (propagate_rhs_into_lhs): Likewise.
* tree-flow-inline.h (has_zero_uses): Ignore uses in debug stmts.
(has_single_use): Likewise.
(single_imm_use): Likewise.
(num_imm_uses): Likewise.
(bsi_next_nondebug): New fn.
(bsi_prev_nondebug): Likewise.
(bsi_start_nondebug): Likewise.
(bsi_last_nondebug): Likewise.
* tree-ssa-phiopt.c (empty_block_p): Ignore debug stmts.
* tree-ssa-sink.c (all_immediate_uses_same_place): Likewise.
(nearest_common_dominator_of_uses): Check for debug stmts.
(statement_sink_location): Handle debug stmts.
* tree-ssa-threadedge.c
(record_temporary_equivalences_from_stmts): Skip debug stmts.
* tree-ssa-threadupdate.c (redirection_block_p): Ignore them.
* tree-cfgcleanup.c (tree_forwarder_block_p): Likewise.
* tree-outof-ssa.c (replace_use_variable): Don't clear.
(analyze_edges_for_bb): Handle debug stmts.
* tree-cfg.c (first_stmt): Skip debug stmts.
(last_stmt): Likewise.
(last_and_only_stmt): Likewise.
(verify_expr): Verify debug value.
(tree_block_ends_with_call_p): Skip debug stmts.
* tree-flow.h (bsi_next_nondebug): Declare.
(bsi_prev_nondebug): Likewise.
(bsi_start_nondebug): Likewise.
(bsi_last_nondebug): Likewise.
(adjust_debug_stmts_for_move): Likewise.
(adjust_debug_stmts_for_var_def_move): Likewise.
(check_and_update_debug_stmt): Likewise.
* tree-ssa-reassoc.c (linearize_expr): Adjust debug stmts.
(linearize_expr_tree): Likewise.
* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Skip debug
stmts.
* tree-ssa-ter.c (find_replaceable_in_bb): Likewise.
* tree-ssa-loop-ivopts.c (find_interesting_uses_stmt): Likewise.
(remove_unused_ivs): Adjust debug stmts.
* tree-ssa-loop-im.c (rewrite_bittest): Likewise.
(move_computations_stmt): Likewise.
* tree-ssanames.c (release_ssa_name): Likewise.
* tree-ssa-alias.c (find_used_portions): Handle debug exprs.
* tree-ssa-structalias.c (compute_points_to_sets): Ignore debug
stmts.
* tree-tailcall.c (find_tail_calls): Handle debug stmts.
* tree-vrp.c (find_assert_locations): Likewise.
* tree-ssa-coalesce.c (build_ssa_conflict_graph): Likewise.
(create_outofssa_var_map): Likewise.
* tree-ssa-forwprop.c (forward_propagate_addr_expr): Handle debug
stmts.
* tree-ssa-pre.c (compute_avail): Skip debug stmts.
* tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Likewise.
(check_loop_closed_ssa_stmt): Likewise.
* tree-inline.h (copy_body_data): Add debug_stmts queue.
* ipa-pure-const.c (scan_function): Skip debug stmts.
* ipa-reference.c (scan_for_static_refs): Likewise.
* ipa-type-escape.c (scan_for_refs): Likewise.
* tree-stdarg.c (execute_optimize_stdarg): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/var-tracking-assignments-branch@128945 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* doc/invoke.texi: Document it.
* toplev.c (flag_var_tracking_assignments): New.
(process_options): Choose its default.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/var-tracking-assignments-branch@128944 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/var-tracking-assignments-branch@128943 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(setup_one_parameter): Drop fn argument. Adjust callers.
Don't short-circuit optimization of declarations.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/var-tracking-assignments-branch@128942 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
block if the else block exists but isn't suitable.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/var-tracking-assignments-branch@128941 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
the end of basic block.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/var-tracking-assignments-branch@128940 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* tree-cfg.c (verify_stmts): Check for missing PHI defs.
* tree-inline.c (update_ssa_across_eh_edges): Renamed to...
(update_ssa_across_abnormal_edges): ... this. Set slots in the
return PHI node.
(copy_edges_for_bb): Handle nonlocal label edges.
(make_nonlocal_label_edges): Deleted.
(optimize_inline_calls): Don't call it.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/var-tracking-assignments-branch@128939 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/var-tracking-assignments-branch@128938 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
Permit coalescing of user variables.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/var-tracking-assignments-branch@128937 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
Permit coalescing of user variables.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/var-tracking-assignments-branch@128936 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
generated code depending on -g. Reverts part of 2007-07-26's
patch.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/var-tracking-assignments-branch@128935 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/var-tracking-assignments-branch@128934 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
sinking the last stmt in a BB.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128913 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* tree-sra.c (struct sra_elt): Add in_bitfld_block.
(sra_hash_tree): Handle BIT_FIELD_REFs.
(sra_elt_hash): Don't hash bitfld blocks.
(sra_elt_eq): Skip them in parent compares as well. Handle
BIT_FIELD_REFs.
(build_element_name_1): Handle BIT_FIELD_REFs.
(instantiate_element): Propagate nowarn from parents. Create
BIT_FIELD_REF for variables that are widened by scalarization.
Gimple-zero-initialize all bit-field variables that are not
part of parameters that are going to be scalarized on entry.
(instantiate_missing_elements_1): Return the sra_elt.
(canon_type_for_field): New.
(try_instantiate_multiple_fields): New. Infer widest possible
access mode from decl or member type, but clip it at word
size, and only widen it if a field crosses an alignment
boundary.
(instantiate_missing_elements): Use them.
(generate_one_element_ref): Handle BIT_FIELD_REFs.
(scalar_bitfield_p): New.
(sra_build_assignment): Optimize assignments from scalarizable
BIT_FIELD_REFs. Use BITS_BIG_ENDIAN to determine shift
counts.
(REPLDUP): New.
(sra_build_bf_assignment): New. Optimize assignments to
scalarizable BIT_FIELD_REFs.
(sra_build_elt_assignment): New. Optimize BIT_FIELD_REF
assignments to full variables.
(generate_copy_inout): Use the new macros and functions.
(generate_element_copy): Likewise. Handle bitfld differences.
(generate_element_zero): Don't recurse for blocks. Use
sra_build_elt_assignment.
(generate_one_element_init): Take elt instead of var. Use
sra_build_elt_assignment.
(generate_element_init_1): Adjust.
(bitfield_overlap_info): New struct.
(bitfield_overlaps_p): New.
(sra_explode_bitfield_assignment): New. Adjust widened
variables to account for endianness.
(sra_sync_for_bitfield_assignment): New.
(scalarize_use): Re-expand assignment to/from scalarized
BIT_FIELD_REFs. Explode or sync needed members for
BIT_FIELD_REFs accesses or assignments. Use REPLDUP.
(scalarize_copy): Use REPLDUP.
(scalarize_ldst): Move assert before dereference. Adjust EH
handling.
(dump_sra_elt_name): Handle BIT_FIELD_REFs.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128908 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* simplify-rtx.c (comparison_result, simplify_relational_operation_1):
Rename CR_* constants to CMP_*. Fix spacing.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128906 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128903 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
PR other/33585
* Makefile.in (build_html_dir/gccinstall): gccinstall.texi needs
to be processed with the special script doc/install.texi2html.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128900 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128898 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* doc/invoke.texi (Wall): List the options enabled by Wall.
(Wstrict-aliasing): Add missing @option.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128895 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* config/mips/mips.c (mips_split_64bit_move): Use gen_rtx_REG_offset
rather than gen_lowpart to change a register from DImode to DFmode.
(mips_cannot_change_mode_class): Only allow FPRs to change mode if
both FROM and TO are integer modes that are no bigger than 4 bytes.
(mips_mode_ok_for_mov_fmt_p): New function.
(mips_preferred_reload_class): Use it instead of FLOAT_MODE_P.
(mips_secondary_reload_class): Tweak formatting and comments.
Use reg_class_subset_p instead of direct comparisons with
classes. Only allow direct FPR<->FPR moves for modes that
satisfy mips_mode_ok_for_mov_fmt_p. Only allow loads and stores
for 4- and 8-byte types. Handle reloads in which X is an FPR.
* config/mips/mips.md (*movdi_gp32_fp64): Remove f<-f alternative.
(*movdi_64bit): Likewise.
(*movsi_internal): Likewise.
(*movhi_internal): Likewise.
(*movqi_internal): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128894 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* tree-ssa-ter.c (is_replaceable_p): Return false if STMT may
throw an exception.
testsuite/ChangeLog
PR 33593
* g++.dg/tree-ssa/pr33593.C: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128893 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
PR libfortran/33400
* gfortran.dg/PR19872.f: Fix test condition.
* gfortran.dg/list_read_7.f90: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128892 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* tree-vect-analyze.c (vect_build_slp_tree): Check if optab handler
for LSHIFT_EXPR and RSHIFT_EXPR is available for vec_mode.
testsuite/ChangeLog:
PR tree-optimization/33597
* gcc.dg/vect/pr33597.c: New testcase.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128891 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* decl.c (make_rtl_for_nonlocal_decl): It's ok for a member
constant to not have DECL_EXTERNAL if it's file-local.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128890 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128888 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
instead of variants of (!reload_in_progress && !reload_completed).
(x86_expand_vector_move): Ditto.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128885 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* gcc.target/i386/pr33524.c: ...this.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128883 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* gfortran.dg/minmaxloc_4.f90: New.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128882 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
2007-09-27 Ollie Wild <aaw@google.com>
gcc/
* varasm.c (compare_constant): Removed call to
lang_hooks.expand_constant.
(copy_constants): Removed call to lang_hooks.expand_constant.
(compute_reloc_for_constant): Removed call to
lang_hooks.expand_constant.
(output_addressed_constants): Removed call to
lang_hooks.expand_constant.
(constructor_static_from_elts_p): Removed call to
lang_hooks.expand_constant.
(output_constant): Removed calls to lang_hooks.expand_constant.
* langhooks.h (struct lang_hooks): Removed field expand_constant.
* langhooks-def.h (lhd_return_tree): Removed.
(LANG_HOOKS_EXPAND_CONSTANT): Removed.
(LANG_HOOKS_INITIALIZER): Removed LANG_HOOKS_EXPAND_CONSTANT.
* langhooks.c (lhd_return_tree): Removed.
gcc/cp/
* typeck2.c (digest_init): Call cplus_expand_constant after
convert_for_initialization.
* cp-objcp-common.h (LANG_HOOKS_EXPAND_CONSTANT): Removed.
* expr.c (cplus_expand_constant): Updated function description.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128881 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128880 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128878 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
PR target/33347
* config/spu/spu.c (spu_expand_insv): Call copy_rtx on the second
argument to gen_selb.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128874 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* doc/libgcc.texi (Fixed-point fractional library routines):
Fix typos for neg and cmp functions.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128873 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128872 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* class.c (layout_empty_base): Take rli parameter, update
rli->record_align if empty base has user-specified alignment.
(build_base_field): Pass rli to it.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128871 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
2007-09-28 Paolo Carlini <pcarlini@suse.de>
PR c++/33213
* error.c (dump_decl): Deal with TYPE_PACK_EXPANSION.
testsuite/
2007-09-28 Paolo Carlini <pcarlini@suse.de>
PR c++/33213
* g++.dg/cpp0x/variadic79.C: New.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128870 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* tree.c (cp_build_qualified_type_real): Handle TYPE_PACK_EXPANSION
qualification by creating qualified PACK_EXPANSION_PATTERN and
then calling make_pack_expansion on it.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128867 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
PR c++/33118
* error.c (dump_expr): Deal with ARGUMENT_PACK_SELECT.
(dump_type): Use dump_template_argument for TYPE_ARGUMENT_PACK.
(dump_parameters): Just call dump_type for argument packs too.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128866 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* gcc.target/i386/pr33552.c: New runtime test.
* gcc.target/i386/strinline.c: New compile time test.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128865 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* function.c (match_asm_constraints_1): Check for overlap in
inputs and replace all occurences.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128864 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* testsuite/libgomp.fortran/stack.f90: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128863 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* config/mips/mips.c (override_options): Fix comment typo.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128862 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* tree.c (cp_build_qualified_type_real): Handle TYPE_PACK_EXPANSION
qualification by creating qualified PACK_EXPANSION_PATTERN and
then calling make_pack_expansion on it.
* g++.dg/cpp0x/variadic80.C: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128861 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
to "crtbegin.o crtbeginS.o crtend.o crtendS.o".
* config/bfin/t-bfin-linux (crti.o): Don't build.
(crtn.o): Likewise.
(EXTRA_MULTILIB_PARTS): Remove crti.o and crtn.o.
* config/bfin/t-bfin-uclinux (crti.o): Don't build.
(crtn.o): Likewise.
(EXTRA_MULTILIB_PARTS): Remove crti.o and crtn.o.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128860 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* varasm.c (compare_constant): Removed call to
lang_hooks.expand_constant.
(copy_constants): Removed call to lang_hooks.expand_constant.
(compute_reloc_for_constant): Removed call to
lang_hooks.expand_constant.
(output_addressed_constants): Removed call to
lang_hooks.expand_constant.
(constructor_static_from_elts_p): Removed call to
lang_hooks.expand_constant.
(output_constant): Removed calls to lang_hooks.expand_constant.
* langhooks.h (struct lang_hooks): Removed field expand_constant.
* langhooks-def.h (lhd_return_tree): Removed.
(LANG_HOOKS_EXPAND_CONSTANT): Removed.
(LANG_HOOKS_INITIALIZER): Removed LANG_HOOKS_EXPAND_CONSTANT.
* langhooks.c (lhd_return_tree): Removed.
gcc/cp/
* typeck2.c (digest_init): Call cplus_expand_constant after
convert_for_initialization.
* cp-objcp-common.h (LANG_HOOKS_EXPAND_CONSTANT): Removed.
* expr.c (cplus_expand_constant): Updated function description.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128859 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* gfortran.dg/namelist_38.f90: Delete test for revertion of
r128057.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128858 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
PR middle-end/7003
* gcc.target/powerpc/gcse-1.c: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128856 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* expr.c (emit_group_load_1): Split constant double when destination
length is half source length.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128855 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128854 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@128852 138bc75d-0d04-0410-961f-82ee72b054a4
|