OSDN Git Service

contrib/
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 5f0b367..f66677f 100644 (file)
@@ -1,3 +1,906 @@
+2008-07-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * Makefile.in (TARGET_DEF_H): Add targhooks.h.
+       (FIXED_VALUE_H): New variable.
+       (RTL_BASE_H): Use $(INPUT_H) and $(FIXED_VALUE_H) instead of
+       input.h, fixed-value.h.
+       (TREE_H): Use $(INPUT_H), add $(SYMTAB_H).
+       (BASIC_BLOCK_H): Use $(BITMAP_H).
+       (FUNCTION_H): Add varray.h.
+       (IPA_REFERENCE_H): Use $(BITMAP_H).
+       (CGRAPH_H): Add $(BASIC_BLOCK_H).
+       (DF_H): Use $(BITMAP_H).
+       (GGC_H): Add statistics.h.
+       (INSN_ADDR_H): New.
+       (INSN_ATTR_H): Use it.
+       (SYSTEM_H): Add safe-ctype.h, filenames.h.
+       (INPUT_H): New.
+       (SYMTAB_H): Add $(OBSTACK_H).
+       (CPP_INTERNAL_H): New.
+       (TREE_DUMP_H): Add tree-pass.h.
+       (TREE_FLOW_H): Use $(BITMAP_H)
+       (PRETTY_PRINT_H): Use $(INPUT_H).
+       (EBITMAP_H): Rename from typo-ed EBIMAP_H.
+       (GSTAB_H): New.
+       (BITMAP_H): New.
+       (many object files): Fix lots of header dependencies throughout.
+
+2008-07-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * Makefile.in (write_entries_to_file, write_entries_to_file_split):
+       New macros.
+       (s-gtyp-input): Use them to write tmp-gi.list.
+       (echo_to_gi.list): Remove.
+
+2008-07-14  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-sccvn.c (pre_info): Remove.
+       (switch_to_PRE_table): Likewise.
+       (free_scc_vn): Do not clear SSA_NAME_VALUE.
+       Do not free pre_info.
+       (set_hashtable_value_ids): Do not create value-ids for the
+       optimistic tables.
+       (run_scc_vn): Remove double test.  Remove bogus special-case
+       in value-number printing.
+       * tree-ssa-sccvn.h (switch_to_PRE_table): Remove.
+       * tree-ssa-ccp.c (get_symbol_constant_value): Do not look at
+       SSA_NAME_VALUE.
+       * tree-flow-inline.h (get_value_handle): Remove.
+       * tree-flow.h (get_value_handle): Remove.
+
+2008-07-14  Martin Jambor  <mjambor@suse.cz>
+
+       * tree-switch-conversion.c (gen_inbound_check): Make sure the type
+       in which we generate arithmetics is not a subrange.
+
+2008-07-14  Martin Jambor  <mjambor@suse.cz>
+
+       * Makefile.in (IPA_PROP_H): Added ipa-prop.h to IPA_PROP_H variable.
+
+2008-07-14  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-pre.c (insert_into_preds_of_block): Do not call
+       convert.
+
+2008-07-14  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       PR target/36745
+       * config/s390/s390.c: (s390_secondary_reload): Add a secondary
+       reload for symbol refs moved to r0 with -fPIC.
+       (legitimize_pic_address): Use the target register as temporary
+       reg if possible.
+       (emit_symbolic_move): Adjust comment.
+       * config/s390/s390.md (reloadsi_PIC_addr, reloaddi_PIC_addr):
+       New expanders.
+
+2008-07-14  Ben Elliston  <bje@au.ibm.com>
+
+       * c-common.h (C_CPP_HASHNODE): New macro.
+       * coretypes.h (struct cpp_token): Forward declare.
+       * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
+       the context-sensitive keyword method.
+       * config/rs6000/rs6000-c.c (__vector_keyword, vector_keyword,
+       __pixel_keyword, pixel_keyword, __bool_keyword, bool_keyword,
+       expand_bool_pixel): New.
+       (altivec_categorize_keyword): New function.
+       (init_vector_keywords): New function.
+       (rs6000_macro_to_expand): Likewise.
+       (rs6000_cpu_cpp_builtins): Enable context-sensitive macros if not
+       compiling an ISO C dialect.
+
+2008-07-13  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa-pre.c (fully_constant_expression): Add fold_convert
+       calls.
+       (create_expression_by_pieces): Fix typo.
+       (do_regular_insertion): Use debug counter here too.
+
+2008-07-14  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/35492.
+       * config/cris/cris.h (CRIS_CONST_OK_FOR_LETTER_P): Renamed from
+       CONST_OK_FOR_LETTER_P.  All port-local users changed.
+       (CONST_OK_FOR_CONSTRAINT_P): Define; implement Kc as old K,
+       implement Kp matching power-of-two.
+       (CONSTRAINT_LEN): Define to match.
+       * config/cris/cris.md: Replace all use of constraint K with Kc.
+       ("*btst*): Use Kp for operand 0 of last alternative.
+
+2008-07-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR testsuite/36440
+       * tree-call-cdce.c (check_target_format): Accept MIPS single, double
+       and quad formats.
+
+2008-07-13  Jan Hubicka  <jh@suse.cz>
+
+       * tree.c (decl_assembler_name_equal): Expect assembler name of decl
+       to be mangled too.
+
+2008-07-13  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/36811
+       * langhooks.c (lhd_print_error_function): Deal with recursive
+       BLOCK trees.
+
+2008-07-12  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (assembler_name_hash): New static var.
+       (hash_node_by_assembler_name, eq_assembler_name): New.
+       (cgraph_node_for_asm): Use hashtable.
+       (cgraph_remove_node): Maintain hashtable.
+       (change_decl_assembler_name): Sanity check that names are not changing
+       after aliasing was processed.
+       * cgraph.h (varpoon_node): Add next GGC marker.
+       * tree.c (decl_assembler_name_equal): Constify.
+       (decl_assembler_name_hash): New.
+       * tree.h (decl_assembler_name_equal): Constify.
+       (decl_assembler_name_hash): Update.
+
+2008-07-12  David Daney  <ddaney@avtrex.com>
+
+       * config/mips/driver-native.c (host_detect_local_cpu): Handle
+       sb1 and r5000 cpus.
+
+2008-07-12  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * doc/md.texi: Document the MIPS "v" constraint.
+       * config/mips/mips.h (reg_class): Revert last change.
+       (REG_CLASS_NAMES): Likewise.
+       (REG_CLASS_CONTENTS): Likewise.
+       * config/mips/mips.c (mips_regno_to_class): Likewise.
+       * config/mips/constraints.md (v): Likewise, but add documentation.
+       Add a comment to say that this constraint should not be used in
+       gcc code.
+
+2008-07-11  DJ Delorie  <dj@redhat.com>
+
+       * config/h8300/h8300.md (length): Fix branch offset limit.
+
+2008-07-11  Anatoly Sokolov  <aesok@post.ru>   
+
+       * config/avr/avr-protos.h (avr_peep2_scratch_safe): Remove prototype.
+       * config/avr/avr.c (avr_peep2_scratch_safe): Remove.
+       (avr_hard_regno_scratch_ok): New function.
+       (TARGET_HARD_REGNO_SCRATCH_OK): Define.
+       * config/avr/avr.md (all peepholes that request a scratch register):
+       Remove avr_peep2_scratch_safe use.
+
+2008-07-11  Tom Tromey  <tromey@redhat.com>
+           Ian Lance Taylor  <iant@google.com>
+
+       * c-common.h (enum rid): Add RID_CXX_COMPAT_WARN.
+       (struct c_common_resword): Define.
+       (D_CONLY, D_CXXONLY, D_C99, D_CXX0X, D_EXT, D_EXT89): Define.
+       (D_ASM, D_OBJC, D_CXX_OBJC, D_CXXWARN): Define.
+       (c_common_reswords, num_c_common_reswords): Declare.
+       * c-common.c (c_common_reswords): New global const array.
+       (num_c_common_reswords): New const int.
+       * c-parser.c (struct resword, reswords): Don't define.
+       (D_C89, D_EXT, D_EXT89, D_OBJC): Don't define.
+       (c_parse_init): Clarify mask code.  Use c_common_reswords rather
+       than reswords.  If warning about C++ keywords, give them a special
+       RID code.
+       (c_lex_one_token): Warn about C++ keywords.  Call
+       objc_is_reserved_word rather than OBJC_IS_AT_KEYWORD.
+       (c_parser_external_declaration): Look for RID_xxx rather than
+       RID_AT_xxx, for ObjC++ keywords which are also C++ keywords.
+       (c_parser_statement_after_labels): Likewise.
+       (c_parser_objc_class_instance_variables): Likewise.
+       (c_parser_objc_class_declaration): Likewise.
+       (c_parser_objc_try_catch_statement): Likewise.
+       * c-decl.c (c_print_identifier): Ignore RID_CXX_COMPAT_WARN.
+       (declspecs_add_type): Likewise.
+
+2008-07-11  Angelo Graziosi  <angelo.graziosi@alice.it>
+
+       * ggc-page.c (alloc_page):
+       Substituting xmalloc, xcalloc with
+       XNEWVEC and XCNEWVAR macros which add the
+       needed casts.
+
+2008-07-11  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/36765
+       * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add
+       aliases from HEAP vars to SMTs.
+
+2008-07-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * Makefile.in (LOOSE_WARN, STRICT_WARN): Update comments.
+       * configure.ac (loose_warn): Move -Wc++-compat from here...
+       (strict_warn): ...to here.
+       * configure: Regenerate.
+
+2008-07-10  Joseph Myers  <joseph@codesourcery.com>
+
+       * config.gcc (arm-*-coff*, armel-*-coff*, h8300-*-*,
+       i[34567]86-*-aout*, i[34567]86-*-coff*, m68k-*-aout*,
+       m68k-*-coff*, sh-*-*, mips-sgi-irix[56]*, pdp11-*-bsd,
+       rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Deprecate targets,
+       excluding more specific h8300-*-* and sh-*-* targets.
+
+2008-07-10  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa-pre.c (create_expression_by_pieces): Add fold_convert
+       calls.
+       (eliminate): Ditto.
+       (execute_pre): Call loop_optimizer_finalize in early exit.
+
+2008-07-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/36790
+       * omp-low.c (lower_omp_2): If task_shared_vars, test all DECL_P
+       uids in the bitmap, not just VAR_DECL uids.
+
+       PR rtl-optimization/36419
+       * combine-stack-adj.c (adjust_frame_related_expr): New function.
+       (combine_stack_adjustments_for_block): Call it if needed.  Delete
+       correct insn.
+       * dwarf2out.c (dwarf2out_frame_debug_expr): Adjust
+       DW_CFA_GNU_args_size if CSA pass merged some adjustments into
+       prologue sp adjustment.
+
+2008-07-10  Peter Maydell  <pmaydell@chiark.greenend.org.uk>
+
+       PR other/28322
+       * opts.c (print_ignored_options): Report postponed diagnostics for
+       unknown -Wno-* options as warnings, not errors.
+       (postpone_unknown_option_error): Renamed to...
+       (postpone_unknown_option_warning): ... this.
+
+2008-07-09  Doug Kwan  <dougkwan@google.com>
+
+       Revert:
+       2008-07-08  Doug Kwan  <dougkwan@google.com>
+
+       * config/arm/arm.opt (mandroid): New option.
+       * config/arm/bpabi.h (ANDROID_LINK_SPEC): New macro.
+       (LINK_SPEC): Enable Android specific behaviour when -mandroid is used.
+       (CC1_SPEC): Same.
+       (CC1PLUS_SPEC): Same.
+       (LIB_SPEC): Same.
+       (STARTFILE_SPEC): Same.
+       (ENDFILE_SPEC): Same.
+       (TARGET_BPABI_CPP_BUILTINS): Define __ANDROID__ when -mandroid is
+       used.
+
+2008-07-09  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       PR target/35802
+       * config/mips/mips.h (reg_class): Remove V1_REG.
+       (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
+       * config/mips/mips.c (mips_regno_to_class): Map $3 to M16_NA_REGS
+       instead of V1_REGS.
+       (mips_get_tp): New function.
+       (mips_legitimize_tls_address): Use it.
+       * config/mips/constraints.md (v): Delete.
+       * config/mips/mips.md (TLS_GET_TP_REGNUM): New constant.
+       (tls_get_tp_<mode>): Allow any GPR destination and clobber $3.
+       After reload, split into a move and ...
+       (*tls_get_tp_<mode>_split): ...this new instruction.
+
+2008-07-09  David Daney  <ddaney@avtrex.com>
+
+       * config/mips/driver-native.c: Include coretypes.h and tm.h.
+
+2008-07-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimplify.c (struct gimplify_ctx): Move to tree-gimple.h.
+       (push_gimplify_context): Don't allocate temp_htab nor c itself here.
+       Add c argument.
+       (pop_gimplify_context): Check c->temp_htab instead of optimize whether
+       htab_delete should be called.  Don't free c.
+       (lookup_tmp_var): Create temp_htab lazily.
+       (gimplify_scan_omp_clauses, gimplify_omp_parallel, gimplify_omp_task,
+       gimplify_body, force_gimple_operand): Adjust push_gimplify_context
+       callers.
+       * omp-low.c (lower_omp_sections, lower_omp_single, lower_omp_master,
+       lower_omp_ordered, lower_omp_critical, lower_omp_for,
+       create_task_copyfn, lower_omp_taskreg, execute_lower_omp): 
+       * tree-ssa-ccp.c (convert_to_gimple_builtin): Likewise.
+       * tree-sra.c (generate_element_init): Likewise.
+       * tree-mudflap.c (execute_mudflap_function_ops,
+       execute_mudflap_function_decls): Likewise.
+       * tree-inline.c (setup_one_parameter, optimize_inline_calls): Likewise.
+       * tree-gimple.h (struct gimplify_ctx): New type.
+       (push_gimplify_context): Adjust prototype.
+
+2008-07-09  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa-pre.c (phi_translate_1): Update placement of
+       add_to_value calls.
+
+2008-07-09  Anatoly Sokolov  <aesok@post.ru>
+
+       * target.h (struct gcc_target): Add hard_regno_scratch_ok field.
+       * target-def.h (TARGET_HARD_REGNO_SCRATCH_OK): New.
+       (TARGET_INITIALIZER): Use TARGET_HARD_REGNO_SCRATCH_OK.
+       * targhooks.c (default_hard_regno_scratch_ok): New function.
+       * targhooks.h (default_hard_regno_scratch_ok): Declare function.
+       * doc/tm.texi: Document TARGET_HARD_REGNO_SCRATCH_OK hook.
+       * recog.c:  Include "target.h".
+       (peep2_find_free_register): Add check for global regs. Add target
+       specific check.
+       * Makefile.in (recog.o): Depend on target.h.
+
+2008-07-09  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (sh_canonical_va_list_type): New.
+       (TARGET_CANONICAL_VA_LIST_TYPE): Define.
+
+2008-07-09  Raksit Ashok <raksit@google.com>
+
+       * doc/invoke.texi (Option Summary): Mention new option
+       -Wdisallowed-function-list=...
+       (Warning Options): Document -Wdisallowed-function-list=...
+       * common.opt (Wdisallowed-function-list=): New flag.
+       * flags.h (warn_disallowed_functions): External definition of new
+       boolean warning flag.
+       (warn_if_disallowed_function_p): Declare new function.
+       * opts.c (warning_disallowed_functions): New static variable.
+       (warn_disallowed_functions): New boolean warning flag.
+       (warn_if_disallowed_function_p): New function.
+       (add_comma_separated_to_vector): Rename
+       add_instrument_functions_exclude_list to this.
+       (common_handle_option): Handle new option. Rename calls to
+       add_instrument_functions_exclude_list into calls to
+       add_comma_separated_to_vector.
+       * c-parser.c (c_parser_postfix_expression_after_primary): New warning
+       based on flag warn_disallowed_functions.
+
+2008-07-09  Christian Bruel  <christian.bruel@st.com>
+
+       * final.c (get_attr_length_1): Call get_attr_length_1 with fallback_fn
+        instead of get_attr_length.
+
+2008-07-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * genattrtab.c (insert_right_side, evaluate_eq_attr): Avoid C++
+       keywords.
+       * genemit.c (gen_insn): Likewise.
+       * gengtype.c (note_def_vec): Likewise.
+       * gengtype.h (note_def_vec): Likewise.
+       * genoutput.c (struct data, output_insn_data, process_template,
+       gen_expand, gen_split, note_constraint): Likewise.
+       * genrecog.c (new_decision, add_to_sequence, factor_tests,
+       make_insn_sequence): Likewise.
+       * gensupport.c (record_insn_name): Likewise.
+
+2008-07-08  Doug Kwan  <dougkwan@google.com>
+
+       * config/arm/arm.opt (mandroid): New option.
+       * config/arm/bpabi.h (ANDROID_LINK_SPEC): New macro.
+       (LINK_SPEC): Enable Android specific behaviour when -mandroid is used.
+       (CC1_SPEC): Same.
+       (CC1PLUS_SPEC): Same.
+       (LIB_SPEC): Same.
+       (STARTFILE_SPEC): Same.
+       (ENDFILE_SPEC): Same.
+       (TARGET_BPABI_CPP_BUILTINS): Define __ANDROID__ when -mandroid is
+       used.
+
+2008-07-08  Raksit Ashok  <raksit@google.com>
+
+       * expr.c (emit_block_move_via_movmem): Fix expected_align parameter.
+       (set_storage_via_setmem): Fix expected_align parameter.
+       * doc/invoke.texi (i386 and x86-64 Options): Add a couple of options
+       missing from the list.
+       * doc/md.texi (movmem): Explicitly state that expected alignment is
+       to be expressed in bytes.
+       (setmem): Explicitly state that expected alignment is to be expressed
+       in bytes.
+
+2008-07-08  Joseph Myers  <joseph@codesourcery.com>
+
+       * reload.c (find_reloads_subreg_address): Do not require validity
+       of address in original mode before reloading address.
+
+2008-07-07  Tianwei Sheng  <tianweis@google.com>
+
+       * df-core.c (df_remove_problem): Adjust the access to avoid out of
+       bounds array access.
+
+2008-07-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-sra.c (sra_build_assignment): Handle CONVERT_EXPR_P
+       dst.
+
+2008-07-05  Daniel Berlin  <dberlin@dberlin.org>
+       
+       Fix PR tree-optimization/23455
+       Fix PR tree-optimization/35286
+       Fix PR tree-optimization/35287
+       * Makefile.in (OBJS-common): Remove tree-vn.o.
+       tree-vn.o: Remove.
+       * dbgcnt.def: Add treepre_insert debug counter.
+       * gcc/tree-flow.h (add_to_value): Updated for other changes.
+       (debug_value_expressions): Ditto.
+       (print_value_expressions): Ditto.
+       * tree-pretty-print.c (dump_generic_node): Updated for
+       VALUE_HANDLE removal.
+       * tree-ssa-dom.c (record_equality): Ditto.
+       (cprop_operand): Ditto.
+       (lookup_avail_expr): Ditto.
+       * tree-ssa-threadedge.c
+       (record_temporary_equivalences_from_stmts_at_dest): Ditto.
+       (simplify_control_stmt_condition): Ditto.
+       * tree.c (tree_code_size): Ditto.
+       (tree_node_structure): Ditto.
+       (iterative_hash_expr): Ditto.
+       * tree.def: Ditto.
+       * tree.h (VALUE_HANDLE_ID): Ditto.
+       (VALUE_HANDLE_EXPR_SET): Ditto.
+       (struct tree_value_handle): Ditto.
+       (union tree_node): Ditto.
+       * treestruct.def: Ditto.
+       * tree-vn.c: Removed.
+       * tree-ssa-pre.c: Rewritten entirely.
+       * tree-ssa-sccvn.c (constant_to_value_id): New hashtable.
+       (constant_value_ids): Ditto.
+       (vn_nary_op_t): Moved to header.
+       (vn_phi_t): Ditto.
+       (vn_reference_op_t): Ditto
+       (vn_reference_t): Ditto.
+       (next_value_id): New variable.
+       (VN_INFO): Add an assert.
+       (vn_constant_eq): New function.
+       (vn_constant_hash): Ditto.
+       (get_or_alloc_constant_value_id): Ditto.
+       (value_id_constant_p): Ditto.
+       (vn_reference_compute_hash): De-staticify.
+       (copy_reference_ops_from_ref): Don't use get_callee_fndecl.
+       Disable some code with a FIXME.
+       Remove VALUE_HANDLE use.
+       (valueize_refs): Update opcode if it changes from ssa name to
+       constant.
+       (vn_reference_lookup_1): Add new argument.
+       (vn_reference_lookup):  Ditto.
+       (vn_reference_lookup_pieces): New function.
+       (vn_reference_insert): Add return type. Modify to deal with value
+       ids.
+       (vn_reference_insert_pieces):  New function.
+       (vn_nary_op_compute_hash): De-staticify.
+       (vn_nary_op_eq): Ditto.
+       (vn_nary_op_lookup_pieces): New function.
+       (vn_nary_op_lookup): Add new argument.  
+       (vn_nary_op_insert_pieces): New function.
+       (vn_nary_op_insert): Add return type. Modify to deal with value
+       ids.
+       (vn_phi_insert): Ditto.
+       (visit_unary_op): Update for callee changes.
+       (visit_binary_op): Ditto.
+       (visit_reference_op_load): Ditto.
+       (visit_reference_op_store): Ditto.
+       (init_scc_vn): Init next_value_id, constant_to_value_id and
+       constant_value_ids. 
+       (free_scc_vn): Free them.
+       (set_hashtable_value_ids): New function.
+       (run_scc_vn): Use it.
+       (get_max_value_id): New function.
+       (get_next_value_id): Ditto.
+       (expressions_equal_p): Moved from tree-vn.c
+       (sort_vuses): Ditto.
+       (sort_vuses_heap): Ditto.
+       * tree-ssa-sccvn.h: Structures moved from tree-ssa-sccvn.c (noted
+       above).
+       * tree.c (iterative_hash_hashval_t): Made non-static
+       * tree.h (iterative_hash_hashval_t): Declare it.
+       
+2008-07-08  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-cp.c (ipcp_init_cloned_node): Call ipa_check_create_node_params
+       instead of ipa_create_node_params.
+       (ipcp_driver): Allocate infos with ipa_check_create_node_params and
+       ipa_check_create_edge_args, free them with
+       free_all_ipa_structures_after_ipa_cp, call ipa_register_cgraph_hooks.
+
+       * ipa-prop.c: Include flags.h and tree-inline.h.
+       (ipa_node_params_vector): New variable.
+       (ipa_edge_args_vector): New variable.
+       (edge_removal_hook_holder): New variable.
+       (node_removal_hook_holder): New variable.
+       (edge_duplication_hook_holder): New variable.
+       (node_duplication_hook_holder): New variable.
+       (ipa_detect_param_modifications): Check for presence of modified flags.
+       (ipa_compute_jump_functions): Check for presence of jump functions.
+       (ipa_free_edge_args_substructures): New function.
+       (ipa_create_node_params): Removed.
+       (ipa_free_all_edge_args): Changed to deallocate the on-the-side vector.
+       (ipa_free_node_params_substructures): New function.
+       (ipa_free_all_node_params): Changed to deallocate the on-the-side
+       vector.
+       (ipa_edge_removal_hook): New function.
+       (ipa_node_removal_hook): New function.
+       (duplicate_array): New function.
+       (ipa_edge_duplication_hook): New function.
+       (ipa_node_duplication_hook): New function.
+       (ipa_register_cgraph_hooks): New function.
+       (ipa_unregister_cgraph_hooks): New function.
+       (free_all_ipa_structures_after_ipa_cp): New function.
+       
+       * ipa-prop.h: Include vec.h.
+       (ipa_node_params_t): New typedef with vector types for it.
+       (ipa_edge_args_t):  New typedef with vector types for it.
+       (IPA_NODE_REF): Changed to access an on-the-side vector.
+       (IPA_EDGE_REF): Changed to access an on-the-side vector.
+       (ipa_check_create_node_params): New function.
+       (ipa_check_create_edge_args): New function.
+       
+       * Makefile.in (IPA_PROP_H): New variable for ipa-prop.h.  Converted
+       all users.
+       
+2008-07-07  Tom Tromey  <tromey@redhat.com>
+
+       * configure, config.in: Rebuilt.
+       * configure.ac: Don't check for scandir or alphasort.
+
+2008-07-07  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/arm/arm.c (arm_init_neon_builtins): Register built-in
+       types immediately after creating them.
+
+2008-07-07  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/arm/aout.h (DOLLARS_IN_IDENTIFIERS): Remove.
+
+2008-07-07  Fernando Pereira <fernando@cs.ucla.edu>
+
+        * tree-ssa-structalias.c (compute_points_to_sets): Add call to
+        dump_constraint_graph.
+        (dump_constraint_edge): New function.
+        (dump_constraint_graph): New function.
+        (debug_constraint_graph): New function.
+        (dump_constraint): Removed useless comparison.
+        * tree-ssa-structalias.h (dump_constraint_edge): Declare.
+        (dump_constraint_graph): Declare.
+        (debug_constraint_graph): Declare.
+        * tree-dump.c (struct dump_option_value_info): Declare
+        TDF_GRAPH.
+
+2008-07-07  Kai Tietz  <kai.tietz@onevision.com>
+
+       * config/i386/i386.c (is_va_list_char_pointer): New.
+       (ix86_va_start): Replace compare with ms_va_list_type_node
+       by is_va_list_char_pointer.
+       (ix86_gimplify_va_arg): Likewise.
+
+2008-07-07  Martin Jambor  <mjambor@suse.cz>
+
+       * cgraph.c (cgraph_edge_max_uid): New variable.
+       (struct cgraph_edge_hook_list): New type.
+       (struct cgraph_node_hook_list): New type.
+       (struct cgraph_2edge_hook_list): New type.
+       (struct cgraph_2node_hook_list): New type.
+       (first_cgraph_edge_removal_hook): New variable.
+       (first_cgraph_node_removal_hook): New variable.
+       (first_cgraph_edge_duplicated_hook): New variable.
+       (first_cgraph_node_duplicated_hook): New variable.
+       (cgraph_add_edge_removal_hook): New function.
+       (cgraph_remove_edge_removal_hook): New function.
+       (cgraph_call_edge_removal_hooks):  New function.
+       (cgraph_add_node_removal_hook):  New function.
+       (cgraph_remove_node_removal_hook):  New function.
+       (cgraph_call_node_removal_hooks):  New function.
+       (cgraph_add_edge_duplication_hook):  New function.
+       (cgraph_remove_edge_duplication_hook):  New function.
+       (cgraph_call_edge_duplication_hooks):  New function.
+       (cgraph_add_node_duplication_hook):  New function.
+       (cgraph_remove_node_duplication_hook):  New function.
+       (cgraph_call_node_duplication_hooks):  New function.
+       (cgraph_create_edge): Assign to edge uid.
+       (cgraph_remove_edge): Call edge removal hooks.
+       (cgraph_node_remove_callees): Call edge removal hooks.
+       (cgraph_node_remove_callers): Call edge removal hooks.
+       (cgraph_remove_node): Call node removal hooks.
+       (cgraph_clone_edge): Call edge duplication hooks.
+       (cgraph_clone_node): Call node duplication hooks.
+
+       * cgraph.h (cgraph_edge): New field uid.
+       (cgraph_edge_hook): New type.
+       (cgraph_node_hook): New type.
+       (cgraph_2edge_hook): New type.
+       (cgraph_2node_hook): New type.
+
+2008-07-07  Andreas Tobler  <a.tobler@schweiz.org>
+
+       * config.in: Regenerate.
+
+2008-07-07  Vladimir Prus  <vladimir@codesourcery.com>
+
+       * gcc.c (print_sysroot): New.
+       (option_map, display_help, process_command): Handle the
+       -print-sysroot option.
+       (main): Print the sysroot if requested.
+       * doc/invoke.texi (Debugging Options): Document -print-sysroot.
+       
+2008-07-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       PR target/34780
+       * unwind-pe.h (size_of_encoded_value): add attribute unused.
+
+2008-07-07  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * function.c (assign_parm_remove_parallels): Check mode of
+       entry_parm.
+       (assign_parm_setup_block_p): Also check mode of entry_parm.
+
+2008-07-07  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-structalias.h (set_used_smts): Remove.
+       * tree-ssa-structalias.c (used_smts): Likewise.
+       (set_used_smts): Likewise.
+       * tree-ssa-alias.c (compute_flow_sensitive_aliasing): Remove
+       call to set_used_smts.
+
+2008-07-07  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-structalias.c (struct variable_info): Add is_full_var flag.
+       (new_var_info): Set it to false.
+       (solution_set_add): Correctly handle pointers outside a var and
+       inside a field.
+       (type_safe): Treat variables with is_full_var properly.
+       (do_sd_constraint): Likewise.
+       (do_ds_constraint): Likewise.
+       (process_constraint): Remove zeroing offset for !use_field_sensitive.
+       (get_constraint_for_ptr_offset): New function.
+       (get_constraint_for_component_ref): For addresses at least include
+       the last field of the variable.  Handle is_full_vars properly.
+       (get_constraint_for_1): Factor common code, handle POINTER_PLUS_EXPR.
+       (handle_ptr_arith): Remove.
+       (find_func_aliases): Simplify assignment handling.
+       (create_function_info_for): For parameter and result varinfos set
+       is_full_var flag.
+       (create_variable_info_for): Set is_full_var flag whenever we
+       just created a single varinfo for a decl.
+       (init_alias_vars): Initialize use_field_sensitive from
+       max-fields-for-field-sensitive parameter.
+
+2008-07-07  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/36713
+       * tree-flow-inline.h (is_call_used): New function.
+       * tree-nrv.c (dest_safe_for_nrv_p): Use it.
+       * tree-tailcall.c (suitable_for_tail_opt_p): Likewise.
+       * tree-outof-ssa.c (create_temp): Set call-used flag if required.
+
+2008-07-07  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+       * config/m68k/m68k.c (m68k_return_in_memory): Fix arguments types.
+       
+2008-07-07  Mark Shinwell  <shinwell@codesourcery.com>
+
+       * config/m68k/lb1sf68.asm: Add PIC macros for Linux targets.
+
+2008-07-07  Maxim Kuvyrkov  <maxim@codesourcery.com>
+           Nathan Sidwell  <nathan@codesourcery.com>
+
+       * config.gcc (m68k-*-linux*): Add with_arch.  Add sysroot-suffix.h
+       to tm_file.  Add m68k/t-floatlib, m68k/t-linux & m68k/t-mlibs to
+       tmake_file.
+       * config/m68k/t-linux: New.
+       * doc/install.texi: Document m68k-*-linux is now multilibbed by
+       default.
+
+2008-07-07  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * config/m68k/t-cf (MULTILIB_EXTRA_OPTS): Add no-mac.
+       * config/m68k/m68k-devices.def: Remove multilibs that only differ
+       by MAC/EMAC.
+
+2008-07-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * gcc.c (execute): Fix -Wc++-compat warning.
+
+2008-07-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/36720
+       * config/ia64/ia64.c (ia64_split_tmode): Fix typo in TImode
+       constant for little endian.
+
+2008-07-06  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Check
+       mips_base_mips16 instead of TARGET_MIPS16.
+       (mips_base_mips16): Declare.
+       * config/mips/mips.c (mips_base_mips16): Make global.
+       (was_mips16_p): Remove GTY marker.
+       (was_mips16_pch_p): New variable.
+       (mips_set_mips16_mode): Check both was_mips16_p and was_mips16_pch_p.
+       (mips_override_options): Force to non-MIPS16 mode initially.
+       Do not complain about MIPS16 PIC incompatibilities here.
+       Only allow -mgpopt if -mexplicit-relocs is in force for
+       non-MIPS16 code.
+
+2008-07-06  Andreas Tobler  <a.tobler@schweiz.org>
+
+       * configure.ac: Check for caddr_t, define to char * if not defined.
+       * configure: Regenerate.
+       * ggc-common.c (mmap_gt_pch_get_address): Fix -Wc++-compat warnings.
+       (mmap_gt_pch_use_address): Likewise.
+       * config/host-solaris.c (sol_gt_pch_use_address): Likewise.
+
+2008-07-06  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-structalias.c (struct variable_info): Remove has_union.
+       (new_var_info): Deal with it.
+       (solution_set_add): Likewise.
+       (bitpos_of_field): Make signed, fix.
+       (struct fieldoff): Remove type and decl fields.  Make size field
+       unsigned HOST_WIDE_INT.  Add has_unknown_size and may_have_pointers
+       flags.
+       (fieldoff_compare): Deal with it.
+       (push_fields_onto_fieldstack): Remove has_union argument, glob
+       adjacent non-pointer fields together.
+       (create_function_info_for): Do not set has_union.
+       (create_variable_info_for): Simplify.
+
+2008-07-06  Kai Tietz  <kai.tietz@onevision.com>
+
+       * config.gcc (extra_headers): Add cross-stdarg.h for target
+       x86_64-*-* and i?86-*-*.
+       * config/i386/cross-stdarg.h: New.
+       * builtins.c (std_fn_abi_va_list): New.
+       (std_canonical_va_list_type): New.
+       (stabilize_va_list): Replace va_list_type_node use by
+       mtarget.canonical_va_list_type.
+       (gimplify_va_arg_expr): Likewise.
+       (expand_builtin_va_copy): Replace va_list_type_node use by
+       mtarget.fn_abi_va_list.
+       * tree-sra.c (is_va_list_type): New helper.
+       (decl_can_be_decomposed_p): Replace
+       va_list_type_node use by is_va_list_type.
+       * tree-ssa-ccp.c (optimize_stdarg_builtin): Likewise.
+       * tree-stdarg.c (execute_optimize_stdarg): Likewise.
+       * c-common.c (c_common_nodes_and_builtins): Use TARGET_ENUM_VA_LIST.
+       * config/i386/i386-protos.h (ix86_get_valist_type): New.
+       (ix86_enum_va_list): New.
+       * config/i386/i386.c (sysv_va_list_type_node): New.
+       (ms_va_list_type_node): New.
+       (ix86_function_type_abi): Remove sorry.
+       (ix86_build_builtin_va_list_abi): New.
+       (ix86_build_builtin_va_list): Call ix86_build_builtin_va_list_abi
+       for 64-bit targets.
+       (ix86_va_start): Replace va_list_type_node by sysv_va_list_type_node.
+       (ix86_init_builtins_va_builtins_abi): New.
+       (ix86_init_builtins): Use ix86_init_builtins_va_builtins_abi
+       for 64-bit targets.
+       (ix86_handle_abi_attribute): New.
+       (attribute_spec): Add sysv_abi and ms_abi.
+       (ix86_fn_abi_va_list): New.
+       (ix86_canonical_va_list_type): New.
+       (ix86_enum_va_list): New.
+       (TARGET_FN_ABI_VA_LIST): New.
+       (TARGET_CANONICAL_VA_LIST_TYPE): New.
+       * config/i386/i386.h (TARGET_ENUM_VA_LIST): New.
+       * doc/tm.texi (TARGET_FN_ABI_VA_LIST): New.
+       (TARGET_CANONICAL_VA_LIST_TYPE): New.
+       (TARGET_ENUM_VA_LIST): New.
+       * expr.h (std_fn_abi_va_list): New.
+       (std_canonical_va_list_type): New.
+       * target-def.h (TARGET_FN_ABI_VA_LIST): New.
+       (TARGET_CANONICAL_VA_LIST_TYPE): New.
+       (TARGET_INITIALIZER): Add TARGET_FN_ABI_VA_LIST and
+       TARGET_CANONICAL_VA_LIST_TYPE.
+       * target.h (struct gcc_target): Add fn_abi_va_list hook
+       and canonical_va_list_type hook.
+
+2008-07-05  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       * fold-const.c (fold_convert_const): Treat OFFSET_TYPE the same as
+       integral and pointer types.
+
+2008-07-04  Roger Sayle  <roger@eyesopen.com>
+
+       * config/rs6000/host-darwin.c (darwin_rs6000_extra_siganls): Cast
+       the "void*" result of xmalloc to "char*" to fix bootstrap breakage.
+
+2008-07-04  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR target/36684
+       * config/sh/sh.h (OVERRIDE_OPTIONS): Disable -fschedule-insns
+       for PIC.
+
+2008-07-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-switch-conversion.c (build_one_array, gen_def_assigns): Use
+       build_gimple_modify_stmt.
+       (build_arrays, gen_inbound_check): Likewise.  Force RHS to be
+       gimple operand.  Use fold_build* instead of build*.
+
+2008-07-04  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-structalias.c (lookup_vi_for_tree): Declare.
+       (do_sd_constraint): Handle a dereference of ESCAPED and CALLUSED
+       properly to compute the reachability set if we do field-sensitive PTA.
+       * invoke.texi (max-fields-for-field-sensitive): Document default.
+       * opts.c (decode_options): Set max-fields-for-field-sensitive to
+       100 for optimize >= 2.
+
+2008-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * ggc-zone.c (lookup_page_table_if_allocated,
+       set_page_table_entry, zone_find_object_size, alloc_small_page,
+       alloc_large_page, ggc_free, gt_ggc_m_S, ggc_marked_p, init_ggc,
+       new_ggc_zone, init_ggc_pch, ggc_pch_this_base, ggc_pch_read): Fix
+       -Wc++-compat and/or -Wcast-qual warnings.
+
+2008-07-04  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/36634
+       * config/rs6000/rs6000.md (call, call_value): Don't arrange for
+       pic_offset_table_rtx to be marked as used here.
+       (call_nonlocal_sysv, call_value_nonlocal_sysv): Add split for
+       TARGET_SECURE_PLT to "use" pic_offset_table_rtx.
+       (call_nonlocal_sysv_secure, call_value_nonlocal_sysv_secure): New insn.
+       (sibcall_nonlocal_sysv, sibcall_value_nonlocal_sysv): Assert
+       !TARGET_SECURE_PLT.
+
+2008-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * alloc-pool.c (hash_descriptor, eq_descriptor,
+       alloc_pool_descriptor): Fix -Wc++-compat warnings.
+       * bitmap.c (hash_descriptor, eq_descriptor, bitmap_descriptor):
+       Likewise.
+       * ggc-common.c (hash_descriptor, eq_descriptor, hash_ptr, eq_ptr,
+       loc_descriptor, ggc_prune_ptr, ggc_free_overhead,
+       final_cmp_statistic, cmp_statistic, dump_ggc_loc_statistics):
+       Likewise.
+       * varray.c (hash_descriptor, eq_descriptor, varray_descriptor):
+       Likewise.
+
+2008-07-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-flow.h (loop_only_exit_p): Declare.
+       * tree-ssa-loop-niter.c (loop_only_exit_p): Make public.
+       * tree-ssa-loop-ivopts.c (may_eliminate_iv): Reinstate direct check on
+       the number of iterations if it is constant.  Otherwise, if this is the
+       only possible exit of the loop, use the conservative estimate on the
+       number of iterations of the entire loop if available.
+
+2008-07-03  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * Makefile.in (libgcc.mvars): Add LIBGCC_SYNC and LIBGCC_SYNC_CFLAGS.
+       * libgcc-std.ver (GCC_4.4.0): New version, inherited from GCC_4.3.0.
+       Add synchronization functions.
+       * config/sync.c: New file.
+       * config/mips/t-libgcc-mips16 (LIBGCC_SYNC): Define.
+       (LIBGCC_SYNC_CFLAGS): Likewise.
+
+2008-07-03  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/36710
+       * config/i386/i386.md (mode): Add TF to "mode" attribute.
+       (*pushtf_sse): New insn pattern.
+       (pushtf splitters): New splitters.
+
+2008-07-03  Michael Meissner  <gnu@the-meissners.org>
+
+       PR middle-end/35736
+       * predict.c (build_predict_expr): Use void_type_node for the tree
+       type, instead of NULL_TREE.
+
+2008-07-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (contains_aligned_value_p): Return true
+       for TCmode.
+       (ix86_data_alignment): Align TCmode to 128bits.
+       (ix86_local_alignment): Likewise.
+
+2008-07-03  Andrew Haley  <aph@redhat.com>
+
+       PR bootstrap/33304
+       * vec.h (VEC_TA): New.
+       (DEF_VEC_I, DEF_VEC_P, DEF_VEC_ALLOC_I, DEF_VEC_ALLOC_P,
+       DEF_VEC_O, DEF_VEC_ALLOC_O: Use VEC_TA.
+       * c-common.c (C_COMMON_FIXED_TYPES_SAT): New macro.
+       (C_COMMON_FIXED_MODE_TYPES_SAT): New macro.
+       (C_COMMON_FIXED_TYPES): Remove first arg.
+       (C_COMMON_FIXED_MODE_TYPES): Likewise.
+       * tree.c (MAKE_FIXED_TYPE_NODE): Break into two macros,
+       MAKE_FIXED_TYPE_NODE and MAKE_FIXED_TYPE_NODE_WIDTH in order
+       not to use empty macro arguments.
+
 2008-07-02  Joseph Myers  <joseph@codesourcery.com>
 
        * config/alpha/vms_tramp.asm, config/arm/crti.asm,
 
 2008-07-02  Jason Merrill  <jason@redhat.com>
 
+       * tree.c (ctor_to_list): Use FOR_EACH_CONSTRUCTOR_ELT.
+
        * tree.c (ctor_to_list): New fn.
        * tree.h: Declare it.
        (CONSTRUCTOR_ELT): New macro.
 
 2008-07-01  Martin Jambor  <mjambor@suse.cz>
 
-        * Makefile.in (tree-switch-conversion.o): Add.
-        (OBJS-common): Add tree-swtch-conversion.o.
-        * passes.c (init_optimization_passes): Add pass_convert_switch.
-        * tree-pass.h: (pass_convert_switch): Add.
-        * tree-switch-conversion.c: New file.
-        * gcc.dg/tree-ssa/cswtch.c: New testcase.
-        * common.opt (ftree-cswtch): New option.
-        * params.h (PARAM_SWITCH_CONVERSION_BRANCH_RATIO): New parameter.
-        * params.def (PARAM_SWITCH_CONVERSION_BRANCH_RATIO): New parameter.
-        * opts.c (decode_options): Set flag_tree_switch_conversion when
-        optimization level is >= 2.
-        * doc/invoke.texi (Optimize Options): Added description of
-        -ftree-swtch-conversion and switch-conversion-max-branch-ratio.
+       * Makefile.in (tree-switch-conversion.o): Add.
+       (OBJS-common): Add tree-swtch-conversion.o.
+       * passes.c (init_optimization_passes): Add pass_convert_switch.
+       * tree-pass.h: (pass_convert_switch): Add.
+       * tree-switch-conversion.c: New file.
+       * gcc.dg/tree-ssa/cswtch.c: New testcase.
+       * common.opt (ftree-cswtch): New option.
+       * params.h (PARAM_SWITCH_CONVERSION_BRANCH_RATIO): New parameter.
+       * params.def (PARAM_SWITCH_CONVERSION_BRANCH_RATIO): New parameter.
+       * opts.c (decode_options): Set flag_tree_switch_conversion when
+       optimization level is >= 2.
+       * doc/invoke.texi (Optimize Options): Added description of
+       -ftree-swtch-conversion and switch-conversion-max-branch-ratio.
 
 2008-06-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
 
        PR rtl-optimization/34744
        * df-scan.c (df_scan_free_ref_vec, df_scan_free_mws_vec): New macros.
-               (df_scan_free_internal): Free data structures not
+       (df_scan_free_internal): Free data structures not
        allocated in storage pools.
        (df_mw_hardreg_chain_delete_eq_uses): Use df_scan_free_mws_vec.
        (df_refs_add_to_chains): Use df_scan_free_ref_vec and