- 27 Apr, 2009 15 commits
-
-
PR testsuite/39807 * dg-extract-results.sh: Close open files and use >> instead of > to decrease number of concurrently open files from awk. Avoid = at the beginning of a regexp and redirect to a file determined by curfile variable rather than concatenated strings to workaround Solaris nawk bug. From-SVN: r146850
Jakub Jelinek committed -
* spu-protos.h (exp2_immediate_p, spu_gen_exp2): Declare. * predicates.md (spu_inv_exp2_operand, spu_exp2_operand): New. * spu.c (print_operand): Handle 'v' and 'w'. (exp2_immediate_p, spu_gen_exp2): Define. * spu-builtins.def (spu_convts, spu_convtu, spu_convtf_0, spu_convtf_1): Update parameter descriptions. * spu-builtins.md (spu_csflt, spu_cuflt, spu_cflts, spu_cfltu): Update. * constraints.md ('v', 'w'): New. * spu.md (UNSPEC_CSFLT, UNSPEC_CFLTS, UNSPEC_CUFLT, UNSPEC_CFLTU): Remove. (i2f, I2F): New define_mode_attr. (floatsisf2, floatv4siv4sf2, fix_truncsfsi2, fix_truncv4sfv4si2, floatunssisf2, floatunsv4siv4sf2, fixuns_truncsfsi2, fixuns_truncv4sfv4si2): Update to use mode attribute. (float<mode><i2f>2_mul, float<mode><i2f>2_div, fix_trunc<mode><f2i>2_mul, floatuns<mode><i2f>2_mul, floatuns<mode><i2f>2_div, fixuns_trunc<mode><f2i>2_mul): New patterns for combine. * gcc.target/spu/intrinsics-3.c: Update tests. From-SVN: r146849
Trevor Smigiel committed -
* dbgcnt.def (cprop1, cprop2, gcse, jump_bypass): Remove (cprop, hoist, pre, store_motion): New debug counters. * tree-pass.h (pass_tracer): Move to list of gimple passes, it is not an RTL pass anymore. (pass_profiling): Remove extern decl for pass removed in 2005. (pass_gcse, pass_jump_bypass): Remove. * final.c (rest_of_clean_state): Set flag_rerun_cse_after_global_opts to 0 for clean state. * toplev.h (flag_rerun_cse_after_global_opts): Add extern declaration. * cse.c (gate_handle_cse_after_global_opts, rest_of_handle_cse_after_global_opts): New functions. (pass_cse_after_global_opts): New pass, does local CSE. * timevar.def (TV_GCSE, TV_CPROP1, TV_CPROP2, TV_BYPASS): Remove. (TV_CPROP): New timevar. * gcse.c (flag_rerun_cse_after_global_opts): New global variable. (run_jump_opt_after_gcse, max_gcse_regno): Remove global vars. (gcse_main, recompute_all_luids): Remove. (compute_hash_table_work): Call max_reg_num instead of reading max_gcse_regno. (cprop_jump): Don't set run_jump_opt_after_gcse. (constprop_register): Always allow to alter jumps. (cprop_insn): Likewise. (do_local_cprop): Likewise. (local_cprop_pass): Likewise. Return non-zero if something changed. (cprop): Remove function, fold interesting bits into one_cprop_pass. (find_implicit_sets): Add note about missed optimization opportunity. (one_cprop_pass): Rewrite to be "the" CPROP pass, called from the pass_rtl_cprop execute function. Don't bother tracking the pass number, each pass gets its own dumpfile now anyway. Always allow to alter jumpsand bypass jumps. (bypass_block): Don't ignore regno >= max_gcse_regno, find_bypass_set will just find no suitable set. (pre_edge_insert): Fix dumping, this function is for PRE only. (one_pre_gcse_pass): Rewrite to be "the" PRE pass, called from the pass_rtl_pre execute function. (hoist_code): Return non-zero if something changed. Keep track of substitutions and insertions for statistics gathering similar to PRE. (one_code_hoisting_pass): Rewrite to be "the" code hoisting pass, called from the pass_rtl_hoist execute function. Show pass statistics. (compute_store_table): Use max_reg_num directly instead of using the formerly global max_gcse_regno. (build_store_vectors): Likewise. (replace_store_insn): Fix dumping. (store_motion): Rename to ... (one_store_motion_pass): ... this. Rewrite to be "the" STORE_MOTION pass, called from the pass_rtl_store_motion execute function. Keep track of substitutions and insertions for statistics gathering similar to PRE. (bypass_jumps): Remove, fold interesting bits into ... (one_cprop_pass): ... this. Rewrite to be "the" CPROP pass, called from the pass_rtl_cprop execute function. (gate_handle_jump_bypass, rest_of_handle_jump_bypass, pass_jump_bypass): Remove. (gate_handle_gcse, rest_of_handle_gcse): Remove. (gate_rtl_cprop, execute_rtl_cprop, pass_rtl_cprop): New. (gate_rtl_pre, execute_rtl_pre, pass_rtl_pre): New. (gate_rtl_hoist, execute_rtl_hoist, pass_rtl_hoist): New. (gate_rtl_store_motion, execute_rtl_store_motion, pass_rtl_store_motion): New. * common.opt: Remove flag_cse_skip_blocks, adjust documentation to make it clear that -fcse-skip-blocks is a no-op for backward compat. * passes.c (init_optimization_passes): Remove pass_gcse and pass_jump_bypass. Schedule cprop, pre, hoist, cprop, store_motion, and cse_after_global_opts in place of pass_gcse. Schedule cprop instead of pass_jump_bypass. From-SVN: r146848
Steven Bosscher committed -
2009-04-27 Richard Guenther <rguenther@suse.de> PR middle-end/39928 * gimplify.c (gimplify_expr): If we are required to create a temporary make sure it ends up as register. * gcc.c-torture/compile/pr39928-1.c: New testcase. * gcc.c-torture/compile/pr39928-2.c: Likewise. From-SVN: r146846
Richard Guenther committed -
From-SVN: r146843
Nick Clifton committed -
gcc/ 2009-04-27 H.J. Lu <hongjiu.lu@intel.com> PR target/39903 * config/i386/i386.c (construct_container): Don't call gen_reg_or_parallel with BLKmode on X86_64_SSE_CLASS, X86_64_SSESF_CLASS and X86_64_SSEDF_CLASS. gcc/testsuite/ 2009-04-27 H.J. Lu <hongjiu.lu@intel.com> PR target/39903 * gcc.dg/torture/pr39903-1.c: New. * gcc.dg/torture/pr39903-2.c: Likewise. From-SVN: r146842
H.J. Lu committed -
From-SVN: r146838
Revital Eres committed -
* ssaexpand.h (struct ssaexpand): Member 'values' is a bitmap. (get_gimple_for_ssa_name): Adjust, lookup using SSA_NAME_DEF_STMT. * tree-ssa-live.h: (find_replaceable_exprs): Return a bitmap. (dump_replaceable_exprs): Take a bitmap. * cfgexpand.c (gimple_cond_pred_to_tree): Handle bitmap instead of array. (expand_gimple_basic_block): Likewise. * tree-ssa-ter.c (struct temp_expr_table_d): Make replaceable_expressions member a bitmap. (free_temp_expr_table): Pass back and deal with bitmap, not gimple*. (mark_replaceable): Likewise. (find_replaceable_in_bb, dump_replaceable_exprs): Likewise. * tree-outof-ssa.c (remove_ssa_form): 'values' is a bitmap. From-SVN: r146837
Michael Matz committed -
2009-04-27 Richard Guenther <rguenther@suse.de> * tree-cfg.c (remove_useless_stmts): Verify stmts afterwards. (verify_stmts): Dispatch to gimple/type verification code. * tree-inline.c (remap_gimple_op_r): Work around C++ FE issue with call argument types. java/ PR java/38374 * constants.c (build_constants_constructor): Retain the old pointer type as valid TYPE_POINTER_TO after patching the type of the constant pool decl. From-SVN: r146831
Richard Guenther committed -
* tree-into-ssa.c (regs_to_rename, mem_syms_to_rename): Remove. (init_update_ssa, delete_update_ssa, update_ssa): Remove references to above. From-SVN: r146830
Michael Matz committed -
* resource.c (find_basic_block): Use BLOCK_FOR_INSN to look up a label's basic block. (mark_target_live_regs): Tidy and rework obsolete comments. Change back DF problem to LIVE. If a label starts a basic block, assume that all registers that used to be live then still are. (init_resource_info): If a label starts a basic block, set its BLOCK_FOR_INSN accordingly. (fini_resource_info): Undo the setting of BLOCK_FOR_INSN. From-SVN: r146829
Eric Botcazou committed -
2009-04-27 Richard Guenther <rguenther@suse.de> * tree-flow-inline.h (function_ann): Remove. (get_function_ann): Likewise. * tree-dfa.c (create_function_ann): Remove. * tree-flow.h (struct static_var_ann_d): Remove. (struct function_ann_d): Likewise. (union tree_ann_d): Remove fdecl member. (function_ann_t): Remove. (function_ann, get_function_ann, create_function_ann): Remove declarations. From-SVN: r146828
Richard Guenther committed -
* config/alpha/alpha.c (code_for_builtin): Declare as enum insn_code. From-SVN: r146826
Uros Bizjak committed -
PR c++/39875 * cvt.c (convert_to_void) <case INDIRECT_REF>: Only warn about -Wunused-value if implicit. * g++.dg/warn/Wunused-15.C: New test. From-SVN: r146825
Jakub Jelinek committed -
From-SVN: r146824
GCC Administrator committed
-
- 26 Apr, 2009 24 commits
-
-
ipa-pure-const.c (struct funct_state_d): New fields state_previously_known, looping_previously_known... * ipa-pure-const.c (struct funct_state_d): New fields state_previously_known, looping_previously_known; remove state_set_in_source. (analyze_function): Use new fields. (propagate): Avoid assumption that state_set_in_source imply nonlooping. * tree-ssa-loop-niter.c (finite_loop_p): New function. * tree-ssa-loop-ivcanon.c (empty_loop_p): Use it. * cfgloop.h (finite_loop_p): Declare. From-SVN: r146821
Jan Hubicka committed -
From-SVN: r146820
Michael Matz committed -
* tree-pass.h (pass_del_ssa, pass_mark_used_blocks, pass_free_cfg_annotations, pass_free_datastructures): Remove decls. * gimple-low.c (mark_blocks_with_used_vars, mark_used_blocks, pass_mark_used_blocks): Remove. * tree-optimize.c (pass_free_datastructures, execute_free_cfg_annotations, pass_free_cfg_annotations): Remove. * passes.c (init_optimization_passes): Don't call pass_mark_used_blocks, remove dead code. From-SVN: r146819
Michael Matz committed -
2009-04-26 H.J. Lu <hongjiu.lu@intel.com> * tree-outof-ssa.c (rewrite_trees): Add ATTRIBUTE_UNUSED. * tree-ssa-live.h (register_ssa_partition): Likewise. From-SVN: r146818
H.J. Lu committed -
gcc/ Expand from SSA. * builtins.c (fold_builtin_next_arg): Handle SSA names. * tree-ssa-copyrename.c (rename_ssa_copies): Use ssa_name() directly. * tree-ssa-coalesce.c (create_outofssa_var_map): Mark only useful SSA names. (compare_pairs): Swap cost comparison. (coalesce_ssa_name): Don't use change_partition_var. * tree-nrv.c (struct nrv_data): Add modified member. (finalize_nrv_r): Set it. (tree_nrv): Use it to update statements. (pass_nrv): Require PROP_ssa. * tree-mudflap.c (mf_decl_cache_locals, mf_build_check_statement_for): Use make_rename_temp. (pass_mudflap_2): Require PROP_ssa, run ssa update at finish. * alias.c (find_base_decl): Handle SSA names. * emit-rtl (set_reg_attrs_for_parm): Make non-static. (component_ref_for_mem_expr): Don't leak SSA names into RTL. * rtl.h (set_reg_attrs_for_parm): Declare. * tree-optimize.c (pass_cleanup_cfg_post_optimizing): Rename to "optimized", remove unused locals at finish. (execute_free_datastructures): Make global, call delete_tree_cfg_annotations. (execute_free_cfg_annotations): Don't call delete_tree_cfg_annotations. * ssaexpand.h: New file. * expr.c (toplevel): Include ssaexpand.h. (expand_assignment): Handle SSA names the same as register variables. (expand_expr_real_1): Expand SSA names. * cfgexpand.c (toplevel): Include ssaexpand.h. (SA): New global variable. (gimple_cond_pred_to_tree): Fold TERed comparisons into predicates. (SSAVAR): New macro. (set_rtl): New helper function. (add_stack_var): Deal with SSA names, use set_rtl. (expand_one_stack_var_at): Likewise. (expand_one_stack_var): Deal with SSA names. (stack_var_size_cmp): Use code (SSA_NAME / DECL) as tie breaker before unique numbers. (expand_stack_vars): Use set_rtl. (expand_one_var): Accept SSA names, add asserts for them, feed them to above subroutines. (expand_used_vars): Expand all partitions (without default defs), then only the local decls (ignoring those expanded already). (expand_gimple_cond): Remove edges when jumpif() expands an unconditional jump. (expand_gimple_basic_block): Don't clear EDGE_EXECUTABLE here, or remove abnormal edges. Ignore insns setting the LHS of a TERed SSA name. (gimple_expand_cfg): Call into rewrite_out_of_ssa, initialize members of SA; deal with PARM_DECL partitions here; expand all PHI nodes, free tree datastructures and SA. Commit instructions on edges, clear EDGE_EXECUTABLE and remove abnormal edges here. (pass_expand): Require and destroy PROP_ssa, verify SSA form, flow info and statements at start, collect garbage at finish. * tree-ssa-live.h (struct _var_map): Remove partition_to_var member. (VAR_ANN_PARTITION) Remove. (change_partition_var): Don't declare. (partition_to_var): Always return SSA names. (var_to_partition): Only accept SSA names. (register_ssa_partition): Only check argument. * tree-ssa-live.c (init_var_map): Don't allocate partition_to_var member. (delete_var_map): Don't free it. (var_union): Only accept SSA names, simplify. (partition_view_init): Mark only useful SSA names as used. (partition_view_fini): Only deal with SSA names. (change_partition_var): Remove. (dump_var_map): Use ssa_name instead of partition_to_var member. * tree-ssa.c (delete_tree_ssa): Don't remove PHI nodes on RTL basic blocks. * tree-outof-ssa.c (toplevel): Include ssaexpand.h and expr.h. (struct _elim_graph): New member const_dests; nodes member vector of ints. (set_location_for_edge): New static helper. (create_temp): Remove. (insert_partition_copy_on_edge, insert_part_to_rtx_on_edge, insert_value_copy_on_edge, insert_rtx_to_part_on_edge): New functions. (new_elim_graph): Allocate const_dests member. (clean_elim_graph): Truncate const_dests member. (delete_elim_graph): Free const_dests member. (elim_graph_size): Adapt to new type of nodes member. (elim_graph_add_node): Likewise. (eliminate_name): Likewise. (eliminate_build): Don't take basic block argument, deal only with partition numbers, not variables. (get_temp_reg): New static helper. (elim_create): Use it, deal with RTL temporaries instead of trees. (eliminate_phi): Adjust all calls to new signature. (assign_vars, replace_use_variable, replace_def_variable): Remove. (rewrite_trees): Only do checking. (edge_leader, stmt_list, leader_has_match, leader_match): Remove. (same_stmt_list_p, identical_copies_p, identical_stmt_lists_p, init_analyze_edges_for_bb, fini_analyze_edges_for_bb, contains_tree_r, MAX_STMTS_IN_LATCH, process_single_block_loop_latch, analyze_edges_for_bb, perform_edge_inserts): Remove. (expand_phi_nodes): New global function. (remove_ssa_form): Take ssaexpand parameter. Don't call removed functions, initialize new parameter, remember partitions having a default def. (finish_out_of_ssa): New global function. (rewrite_out_of_ssa): Make global. Adjust call to remove_ssa_form, don't reset in_ssa_p here, don't disable TER when mudflap. (pass_del_ssa): Remove. * tree-flow.h (struct var_ann_d): Remove out_of_ssa_tag and partition members. (execute_free_datastructures): Declare. * Makefile.in (SSAEXPAND_H): New variable. (tree-outof-ssa.o, expr.o, cfgexpand.o): Depend on SSAEXPAND_H. * basic-block.h (commit_one_edge_insertion): Declare. * passes.c (init_optimization_passes): Move pass_nrv and pass_mudflap2 before pass_cleanup_cfg_post_optimizing, remove pass_del_ssa, pass_free_datastructures, pass_free_cfg_annotations. * cfgrtl.c (commit_one_edge_insertion): Make global, don't declare. (redirect_branch_edge): Deal with super block when expanding, split out jump patching itself into ... (patch_jump_insn): ... here, new static helper. testsuite/ Expand from SSA. * gcc.dg/tree-ssa/20030728-1.c: Use -rtl-expand-details dump and change regexps. * gcc.target/i386/pr37248-1.c: Modified. * gcc.target/i386/pr37248-3.c: Modified. * gcc.target/i386/pr37248-2.c: Modified. * gnat.dg/aliasing1.adb: Modified. * gnat.dg/pack9.adb: Modified. * gnat.dg/aliasing2.adb: Modified. * gcc.dg/strict-overflow-2.c: Modified. * gcc.dg/autopar/reduc-1char.c: Modified. * gcc.dg/autopar/reduc-2char.c: Modified. * gcc.dg/autopar/reduc-1.c: Modified. * gcc.dg/autopar/reduc-2.c: Modified. * gcc.dg/autopar/reduc-3.c: Modified. * gcc.dg/autopar/reduc-6.c: Modified. * gcc.dg/autopar/reduc-7.c: Modified. * gcc.dg/autopar/reduc-8.c: Modified. * gcc.dg/autopar/reduc-9.c: Modified. * gcc.dg/autopar/reduc-1short.c: Modified. * gcc.dg/autopar/reduc-2short.c: Modified. * gcc.dg/autopar/parallelization-1.c: Modified. * gcc.dg/strict-overflow-4.c: Modified. * gcc.dg/strict-overflow-6.c: Modified. * gcc.dg/gomp/combined-1.c: Modified. * gcc.dg/no-strict-overflow-1.c: Modified. * gcc.dg/no-strict-overflow-3.c: Modified. * gcc.dg/no-strict-overflow-5.c: Modified. * gcc.dg/tree-ssa/reassoc-13.c: Modified. * gcc.dg/tree-ssa/pr18134.c: Modified. * gcc.dg/tree-ssa/20030824-1.c: Modified. * gcc.dg/tree-ssa/vector-2.c: Modified. * gcc.dg/tree-ssa/forwprop-9.c: Modified. * gcc.dg/tree-ssa/loop-21.c: Modified. * gcc.dg/tree-ssa/20030824-2.c: Modified. * gcc.dg/tree-ssa/vector-3.c: Modified. * gcc.dg/tree-ssa/asm-3.c: Modified. * gcc.dg/tree-ssa/pr23294.c: Modified. * gcc.dg/tree-ssa/loop-22.c: Modified. * gcc.dg/tree-ssa/loop-15.c: Modified. * gcc.dg/tree-ssa/prefetch-4.c: Modified. * gcc.dg/tree-ssa/pr22051-1.c: Modified. * gcc.dg/tree-ssa/pr20139.c: Modified. * gcc.dg/tree-ssa/scev-cast.c: Modified. * gcc.dg/tree-ssa/pr22051-2.c: Modified. * gcc.dg/tree-ssa/reassoc-1.c: Modified. * gcc.dg/tree-ssa/loop-5.c: Modified. * gcc.dg/tree-ssa/pr19431.c: Modified. * gcc.dg/tree-ssa/pr32044.c: Modified. * gcc.dg/tree-ssa/prefetch-7.c: Modified. * gcc.dg/tree-ssa/loop-19.c: Modified. * gcc.dg/tree-ssa/loop-28.c: Modified. * gcc.dg/tree-ssa/ssa-pre-15.c: Modified. * gcc.dg/tree-ssa/divide-1.c: Modified. * gcc.dg/tree-ssa/inline-1.c: Modified. * gcc.dg/tree-ssa/divide-3.c: Modified. * gcc.dg/tree-ssa/pr30978.c: Modified. * gcc.dg/tree-ssa/alias-6.c: Modified. * gcc.dg/tree-ssa/divide-4.c: Modified. * gcc.dg/tree-ssa/alias-11.c: Modified. * gcc.dg/no-strict-overflow-7.c: Modified. * gcc.dg/strict-overflow-1.c: Modified. * gcc.dg/pr15784-4.c: Modified. * gcc.dg/pr34263.c: Modified. * gcc.dg/strict-overflow-3.c: Modified. * gcc.dg/tree-prof/stringop-1.c: Modified. * gcc.dg/tree-prof/val-prof-1.c: Modified. * gcc.dg/tree-prof/val-prof-2.c: Modified. * gcc.dg/tree-prof/val-prof-3.c: Modified. * gcc.dg/tree-prof/val-prof-4.c: Modified. * gcc.dg/no-strict-overflow-2.c: Modified. * gcc.dg/no-strict-overflow-4.c: Modified. * gcc.dg/no-strict-overflow-6.c: Modified. * g++.dg/tree-ssa/pr27090.C: Modified. * g++.dg/tree-ssa/tmmti-2.C: Modified. * g++.dg/tree-ssa/ptrmemfield.C: Modified. * g++.dg/tree-ssa/pr19807.C: Modified. * g++.dg/opt/pr30965.C: Modified. * g++.dg/init/new17.C: Modified. * gfortran.dg/whole_file_6.f90: Modified. * gfortran.dg/whole_file_5.f90: Modified. * gfortran.dg/reassoc_1.f90: Modified. * gfortran.dg/reassoc_3.f90: Modified. From-SVN: r146817
Michael Matz committed -
2009-04-26 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/39893 * gfortran.dg/assumed_charlen_dummy.f90: New Test. 2009-04-26 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/39893 fortran/data.c (gfc_assign_data_value): If the lvalue is an assumed character length entity in a data statement, then return FAILURE to prevent segmentation fault. From-SVN: r146816
Steven G. Kargl committed -
* tree-ssa-copyrename.c (rename_ssa_copies): Don't iterate beyond num_ssa_names. * tree-ssa-ter.c (free_temp_expr_table): Likewise. * tree-ssa-coalesce.c (create_outofssa_var_map): Likewise. From-SVN: r146815
Michael Matz committed -
PR inline-asm/39543 * fwprop.c (forward_propagate_asm): New function. (forward_propagate_and_simplify): Propagate also into __asm, if it doesn't increase the number of referenced registers. * gcc.target/i386/pr39543-1.c: New test. * gcc.target/i386/pr39543-2.c: New test. * gcc.target/i386/pr39543-3.c: New test. From-SVN: r146813
Jakub Jelinek committed -
PR c/39889 * stmt.c (warn_if_unused_value): Look through NON_LVALUE_EXPR. * gcc.dg/Wunused-value-3.c: New test. From-SVN: r146811
Jakub Jelinek committed -
tree-nested.c (get_nonlocal_vla_type): If not optimizing, call note_nonlocal_vla_type for nonlocal VLAs. * tree-nested.c (get_nonlocal_vla_type): If not optimizing, call note_nonlocal_vla_type for nonlocal VLAs. (note_nonlocal_vla_type, note_nonlocal_block_vlas, contains_remapped_vars, remap_vla_decls): New functions. (convert_nonlocal_reference_stmt): If not optimizing, call note_nonlocal_block_vlas on GIMPLE_BIND block vars. (nesting_copy_decl): Return {VAR,PARM,RESULT}_DECL unmodified if it wasn't found in var_map. (finalize_nesting_tree_1): Call remap_vla_decls. If outermost GIMPLE_BIND doesn't have gimple_bind_block, chain debug_var_chain to BLOCK_VARS (DECL_INITIAL (root->context)) instead of calling declare_vars. * gimplify.c (nonlocal_vlas): New variable. (gimplify_var_or_parm_decl): Add debug VAR_DECLs for non-local referenced VLAs. (gimplify_body): Create and destroy nonlocal_vlas. * trans-decl.c: Include pointer-set.h. (nonlocal_dummy_decl_pset, tree nonlocal_dummy_decls): New variables. (gfc_nonlocal_dummy_array_decl): New function. (gfc_get_symbol_decl): Call it for non-local dummy args with saved descriptor. (gfc_get_symbol_decl): Set DECL_BY_REFERENCE when needed. (gfc_generate_function_code): Initialize nonlocal_dummy_decl{s,_pset}, chain it to outermost block's vars, destroy it afterwards. * Make-lang.in (trans-decl.o): Depend on pointer-set.h. From-SVN: r146810
Jakub Jelinek committed -
* dwarf2out.c (loc_descr_plus_const): New function. (build_cfa_aligned_loc, tls_mem_loc_descriptor, mem_loc_descriptor, loc_descriptor_from_tree_1, descr_info_loc, gen_variable_die): Use it. From-SVN: r146809
Jakub Jelinek committed -
* tree.h (DECL_BY_REFERENCE): Note that it is also valid for !TREE_STATIC VAR_DECLs. * dwarf2out.c (loc_by_reference, gen_decl_die): Handle DECL_BY_REFERENCE on !TREE_STATIC VAR_DECLs. (gen_variable_die): Likewise. Don't look at TREE_PRIVATE if DECL_BY_REFERENCE is valid. * dbxout.c (DECL_ACCESSIBILITY_CHAR): Don't look at TREE_PRIVATE for PARM_DECLs, RESULT_DECLs or !TREE_STATIC VAR_DECLs. * tree-nested.c (get_nonlocal_debug_decl, get_local_debug_decl): Copy DECL_BY_REFERENCE. (struct nesting_copy_body_data): New type. (nesting_copy_decl): New function. (finalize_nesting_tree_1): Remap types of debug_var_chain variables, if they have variable length. From-SVN: r146808
Jakub Jelinek committed -
* tree-sra.c (sra_build_assignment): Don't use into_ssa mode, mark new temporaries for renaming From-SVN: r146807
Michael Matz committed -
PR c/39581 * c-decl.c (global_bindings_p): Return negative value. (c_variable_size): New. Based on variable_size from stor-layout.c. (grokdeclarator): Call c_variable_size not variable_size. testsuite: * gcc.dg/c99-const-expr-14.c, gcc.dg/gnu99-const-expr-4.c, gcc.dg/vla-21.c: New tests. From-SVN: r146806
Joseph Myers committed -
* config/i386/i386.c (print_operand) ['z']: Fix typo. From-SVN: r146804
Uros Bizjak committed -
2009-04-26 Matthias Klose <doko@ubuntu.com> * contrib/aot-compile.in: Print diagnostics for malformed or invalid class files. * contrib/generate-cacerts.pl.in: New. * configure.ac (AC_CONFIG_FILES): Add generate-cacerts.pl. From-SVN: r146802
Matthias Klose committed -
2009-04-26 Kai Tietz <kai.tietz@onevision.com> * config/i386/mingw-w64.h (STANDARD_INCLUDE_DIR): Redefine it to just use mingw/include. (ASM_SPEC): Rules for -m32 and -m64. (LINK_SPEC): Use Likewise. (SPEC_32): New define. (SPEC_64): Likewise. (SUB_LINK_SPEC): Likewise. (MULTILIB_DEFAULTS): New define. * config/i386/t-mingw-w64 (MULTILIB_OPTIONS): Add multilib options. (MULTILIB_DIRNAMES): Likewise. (MULTILIB_OSDIRNAMES): Likewise. (LIBGCC): Likewise. (INSTALL_LIBGCC): Likewise. From-SVN: r146801
Kai Tietz committed -
PR c/39556 * c-tree.h (enum c_inline_static_type): New. (record_inline_static): Declare. * c-decl.c (struct c_inline_static, c_inline_statics, record_inline_static, check_inline_statics): New. (pop_file_scope): Call check_inline_statics. (start_decl): Call record_inline_static instead of pedwarning directly for static in inline function. * c-typeck.c (build_external_ref): Call record_inline_static instead of pedwarning directly for static referenced in inline function. testsuite: * gcc.dg/inline-34.c: New test. From-SVN: r146800
Joseph Myers committed -
* df-scan.c (df_insn_rescan): Salvage insn's LUID if the insn is not new but only being rescanned. * gcse.c (uid_cuid, max_uid, INSN_CUID, max_cuid, struct reg_set, reg_set_table, REG_SET_TABLE_SLOP, reg_set_in_block, alloc_reg_set_mem, free_reg_set_mem, record_one_set, record_set_info, compute_set, grealloc): Remove. (recompute_all_luids): New function. (gcse_main): Don't compute sets, and don't do related memory allocations/free-ing. If something changed before the end of the pass, update LUIDs using recompute_all_luids. (alloc_gcse_mem): Don't compute LUIDs. Don't allocate reg_set memory. (free_gcse_mem): Don't free it either. (oprs_unchanged_p, load_killed_in_block, record_last_reg_set_info): Use the df insn LUIDs. (load_killed_in_block): Likewise. (compute_hash_table_work): Don't compute reg_set_in_block. (compute_transp): Use DF_REG_DEF_CHAINs. (local_cprop_pass): Don't use compute_sets and related functions. (one_cprop_pass, pre_gcse, one_pre_gcse_pass, one_code_hoisting_pass): Use get_max_uid() instead of max_cuid. (insert_insn_end_basic_block, pre_insert_copy_insn, update_ld_motion_stores): Don't try to keep reg_set tables up to date. (pre_insert_copies): Use df insn LUIDs. (sbitmap pre_redundant_insns): Replace with uses of INSN_DELETED_P. (reg_set_info): Don't use extra bitmap argument. (compute_store_table): Don't compute reg_set_in_block. Use DF scan information to compute regs_set_in_block. (free_store_memory, store_motion): Don't nullify reg_set_in_block. (bypass_jumps): Don't use compute_sets and friends. From-SVN: r146799
Steven Bosscher committed -
Revert the last commit. From-SVN: r146796
Paolo Carlini committed -
re PR testsuite/39710 (gcc.misc-tests/help.exp doesn't work when configured with --enable-checking=assert) gcc/ PR testsuite/39710 * opts.c (undocumented_msg): Do not leave blank even with ENABLE_CHECKING. From-SVN: r146795
Ralf Wildenhues committed -
From-SVN: r146794
Ian Lance Taylor committed -
* Makefile.in (needed-list): Target removed (not used in GCC 3.0 and later). All references deleted. (mostlyclean): Remove references to needed.awk and needed2.awk. From-SVN: r146793
Eli Zaretskii committed -
From-SVN: r146792
GCC Administrator committed
-
- 25 Apr, 2009 1 commit
-
-
c-decl.c (build_enumerator): Allow values folding to integer constants but not integer constant expressions... * c-decl.c (build_enumerator): Allow values folding to integer constants but not integer constant expressions with a pedwarn if pedantic. testsuite: * gcc.dg/enum-const-1.c, gcc.dg/enum-const-2.c, gcc.dg/enum-const-3.c: New tests. * gcc.dg/gnu89-const-expr-1.c, gcc.dg/gnu99-const-expr-1.c: Use -pedantic-errors. Update expected diagnostics. From-SVN: r146789
Joseph Myers committed
-