+2010-07-08 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_will_be_removed_from_program_if_no_direct_calls):
+ New function.
+ * cgraph.h (cgraph_will_be_removed_from_program_if_no_direct_calls):
+ Declare.
+ * ipa-cp.c (ipcp_estimate_growth): Use it.
+ * ipa-inline.c (cgraph_estimate_growth, cgraph_decide_inlining):
+ Likewise.
+
+2010-07-08 Jan Hubicka <jh@suse.cz>
+
+ * tree-inline.c (declare_return_variable): Allocate annotation for new
+ temporary.
+
+2010-07-08 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/44710
+ * tree-if-conv.c (parse_predicate): New.
+ (add_to_predicate_list): Call it, call maybe_fold_or_comparisons.
+ Make sure that the predicates are either SSA_NAMEs or gimple_condexpr.
+
+2010-07-08 Sebastian Pop <sebastian.pop@amd.com>
+
+ * common.opt (ftree-loop-if-convert): New flag.
+ * doc/invoke.texi (ftree-loop-if-convert): Documented.
+ * tree-if-conv.c (gate_tree_if_conversion): Enable if-conversion
+ when flag_tree_loop_if_convert is set.
+
+2010-07-08 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c: Use short syntax for function calls
+ through function pointers.
+ * config/i386/i386.md: Ditto.
+
+2010-07-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix formatting issues.
+
+2010-07-08 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Fix
+ stmt check for POINTER_PLUS_EXPRs, fix the pointer assignment.
+
+2010-07-08 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (mem_loc_descriptor): Use DW_OP_const[48]u
+ instead of DW_OP_addr for DW_OP_GNU_push_tls_address operand.
+ (loc_list_from_tree): Likewise.
+ (output_loc_operands): Handle outputting DW_OP_const[48]u
+ with loc->dtprel set.
+ (resolve_addr_in_expr): Handle loc->dtprel like DW_OP_addr.
+
+2010-07-08 Jan Hubicka <jh@suse.cz>
+
+ * ipa.c: Include pointer-set.h
+ (cgraph_externally_visible_p): New attribute ALIASED;
+ when in LTO, hidden symbols are local unless they are aliased.
+ (function_and_variable_visibility): Compute aliased nodes;
+ handle LTO and hidden symbol on functions and vars.
+ * cgraph.c (cgraph_make_decl_local): Clear NAMED_SECTION
+ for COMDAT symbols; handle COMDAT_GROUPS also at vars.
+
+2010-07-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/i386/cygming.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
+ * config/i386/freebsd.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
+ * config/i386/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
+ * config/i386/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
+ * config/i386/sol2.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
+ * config/i386/i386.c (ix86_gen_adjust_stack_and_probe): New variable.
+ (ix86_gen_probe_stack_range): Likewise.
+ (override_options): Set them.
+ (ix86_target_stack_probe): New function.
+ (ix86_compute_frame_layout): Force use of push instructions to
+ save registers if stack checking with probes is enabled.
+ (get_scratch_register_on_entry): New function.
+ (release_scratch_register_on_entry): Likewise.
+ (ix86_adjust_stack_and_probe): Likewise.
+ (output_adjust_stack_and_probe): Likewise.
+ (ix86_emit_probe_stack_range): Likewise.
+ (output_probe_stack_range): Likewise.
+ (ix86_expand_prologue): Emit stack checking code if static built-in
+ stack checking is enabled.
+ Test ix86_target_stack_probe instead of TARGET_STACK_PROBE.
+ * config/i386/i386-protos.h (ix86_target_stack_probe): Declare.
+ (output_adjust_stack_and_probe): Likewise.
+ (output_probe_stack_range): Likewise.
+ * config/i386/i386.md (UNSPECV_PROBE_STACK_RANGE): New constant.
+ (allocate_stack_worker_32): Test ix86_target_stack_probe instead of
+ TARGET_STACK_PROBE.
+ (allocate_stack_worker_64): Likewise.
+ (allocate_stack): Likewise.
+ (adjust_stack_and_probe): New insn.
+ (probe_stack_range): Likewise.
+
+2010-07-08 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44831
+ * tree-ssa-phiprop.c (phiprop_insert_phi): Properly build
+ a MEM_REF preserving TBAA info of the original dereference.
+ Dereference the original pointer if the address is not
+ invariant.
+ (propagate_with_phi): Fixup type checks wrt MEM_REFs. Require
+ at least one invariant address that we are going to dereference.
+
+2010-07-08 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44861
+ * tree-vect-stmts.c (vectorizable_store): Preserve TBAA
+ information when building MEM_REFs.
+ (vectorizable_load): Likewise.
+ * tree-vect-data-refs.c (vect_setup_realignment): Likewise.
+
+2010-07-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sol2-c.c: Do not include diagnostic-core.h.
+
+2010-07-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR bootstrap/44768
+ * cfgexpand.c (estimated_stack_frame_size): Make self-contained
+ with respect to current_function_decl. Pass decl of the function.
+ * tree-inline.h (estimated_stack_frame_size): Adjust prototype.
+ * ipa-inline.c (compute_inline_parameters): Pass decl to
+ estimated_stack_frame_size.
+
+2010-07-08 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
+ New function.
+ (valueize_refs): Call it.
+
+2010-07-08 Richard Guenther <rguenther@suse.de>
+
+ PR rtl-optimization/44838
+ * tree-ssa-alias.c (indirect_refs_may_alias_p): When not in
+ SSA form do not use pointer equivalence.
+
+2010-07-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * dwarf2out.c (AT_linkage_name): Delete.
+ (add_linkage_attr): New function.
+ (add_linkage_name): Call it to emit the linkage attribute.
+ (dwarf2out_finish): Likewise.
+ (move_linkage_attr): Explicitly accept both attribute variants.
+
+2010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * toplev.h: Do not include diagnostic-core.h.
+ Include diagnostic-core.h in every file that includes toplev.h.
+ * c-tree.h: Do not include toplev.h.
+ * pretty-print.h: Update comment.
+ * Makefile.in: Update dependencies.
+ * alias.c: Include diagnostic-core.h in every file that includes
+ toplev.h.
+ * attribs.c: Likewise.
+ * auto-inc-dec.c: Likewise.
+ * bb-reorder.c: Likewise.
+ * bt-load.c: Likewise.
+ * caller-save.c: Likewise.
+ * calls.c: Likewise.
+ * cfg.c: Likewise.
+ * cfganal.c: Likewise.
+ * cfgbuild.c: Likewise.
+ * cfgcleanup.c: Likewise.
+ * cfghooks.c: Likewise.
+ * cfgloop.c: Likewise.
+ * combine.c: Likewise.
+ * config/alpha/alpha.c: Likewise.
+ * config/arc/arc.c: Likewise.
+ * config/arm/arm.c: Likewise.
+ * config/arm/pe.c: Likewise.
+ * config/avr/avr.c: Likewise.
+ * config/bfin/bfin.c: Likewise.
+ * config/cris/cris.c: Likewise.
+ * config/crx/crx.c: Likewise.
+ * config/darwin-c.c: Likewise.
+ * config/darwin.c: Likewise.
+ * config/fr30/fr30.c: Likewise.
+ * config/frv/frv.c: Likewise.
+ * config/h8300/h8300.c: Likewise.
+ * config/host-darwin.c: Likewise.
+ * config/i386/i386.c: Likewise.
+ * config/i386/netware.c: Likewise.
+ * config/i386/nwld.c: Likewise.
+ * config/i386/winnt-cxx.c: Likewise.
+ * config/i386/winnt-stubs.c: Likewise.
+ * config/i386/winnt.c: Likewise.
+ * config/ia64/ia64-c.c: Likewise.
+ * config/ia64/ia64.c: Likewise.
+ * config/iq2000/iq2000.c: Likewise.
+ * config/lm32/lm32.c: Likewise.
+ * config/m32c/m32c-pragma.c: Likewise.
+ * config/m32c/m32c.c: Likewise.
+ * config/m32r/m32r.c: Likewise.
+ * config/m68hc11/m68hc11.c: Likewise.
+ * config/m68k/m68k.c: Likewise.
+ * config/mcore/mcore.c: Likewise.
+ * config/mep/mep-pragma.c: Likewise.
+ * config/mep/mep.c: Likewise.
+ * config/mmix/mmix.c: Likewise.
+ * config/mn10300/mn10300.c: Likewise.
+ * config/moxie/moxie.c: Likewise.
+ * config/pa/pa.c: Likewise.
+ * config/pdp11/pdp11.c: Likewise.
+ * config/picochip/picochip.c: Likewise.
+ * config/rs6000/rs6000-c.c: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+ * config/rx/rx.c: Likewise.
+ * config/s390/s390.c: Likewise.
+ * config/score/score.c: Likewise.
+ * config/score/score3.c: Likewise.
+ * config/score/score7.c: Likewise.
+ * config/sh/sh.c: Likewise.
+ * config/sh/symbian-base.c: Likewise.
+ * config/sh/symbian-c.c: Likewise.
+ * config/sh/symbian-cxx.c: Likewise.
+ * config/sol2-c.c: Likewise.
+ * config/sol2.c: Likewise.
+ * config/sparc/sparc.c: Likewise.
+ * config/spu/spu.c: Likewise.
+ * config/stormy16/stormy16.c: Likewise.
+ * config/v850/v850-c.c: Likewise.
+ * config/v850/v850.c: Likewise.
+ * config/vax/vax.c: Likewise.
+ * config/vxworks.c: Likewise.
+ * config/xtensa/xtensa.c: Likewise.
+ * convert.c: Likewise.
+ * cse.c: Likewise.
+ * cselib.c: Likewise.
+ * dbgcnt.c: Likewise.
+ * dbxout.c: Likewise.
+ * ddg.c: Likewise.
+ * dominance.c: Likewise.
+ * emit-rtl.c: Likewise.
+ * explow.c: Likewise.
+ * expmed.c: Likewise.
+ * fixed-value.c: Likewise.
+ * fold-const.c: Likewise.
+ * fwprop.c: Likewise.
+ * gcse.c: Likewise.
+ * ggc-common.c: Likewise.
+ * ggc-page.c: Likewise.
+ * ggc-zone.c: Likewise.
+ * gimple-low.c: Likewise.
+ * gimplify.c: Likewise.
+ * graph.c: Likewise.
+ * haifa-sched.c: Likewise.
+ * ifcvt.c: Likewise.
+ * implicit-zee.c: Likewise.
+ * integrate.c: Likewise.
+ * ira-build.c: Likewise.
+ * ira-color.c: Likewise.
+ * ira-conflicts.c: Likewise.
+ * ira-costs.c: Likewise.
+ * ira-lives.c: Likewise.
+ * ira.c: Likewise.
+ * lists.c: Likewise.
+ * loop-doloop.c: Likewise.
+ * loop-iv.c: Likewise.
+ * lto-opts.c: Likewise.
+ * lto-symtab.c: Likewise.
+ * main.c: Likewise.
+ * modulo-sched.c: Likewise.
+ * optabs.c: Likewise.
+ * params.c: Likewise.
+ * plugin.c: Likewise.
+ * postreload-gcse.c: Likewise.
+ * postreload.c: Likewise.
+ * predict.c: Likewise.
+ * profile.c: Likewise.
+ * real.c: Likewise.
+ * regcprop.c: Likewise.
+ * reginfo.c: Likewise.
+ * regmove.c: Likewise.
+ * reorg.c: Likewise.
+ * resource.c: Likewise.
+ * rtl.c: Likewise.
+ * rtlanal.c: Likewise.
+ * sched-deps.c: Likewise.
+ * sched-ebb.c: Likewise.
+ * sched-rgn.c: Likewise.
+ * sdbout.c: Likewise.
+ * sel-sched-dump.c: Likewise.
+ * sel-sched-ir.c: Likewise.
+ * simplify-rtx.c: Likewise.
+ * stmt.c: Likewise.
+ * stor-layout.c: Likewise.
+ * store-motion.c: Likewise.
+ * targhooks.c: Likewise.
+ * tree-cfg.c: Likewise.
+ * tree-cfgcleanup.c: Likewise.
+ * tree-dump.c: Likewise.
+ * tree-eh.c: Likewise.
+ * tree-inline.c: Likewise.
+ * tree-nomudflap.c: Likewise.
+ * tree-object-size.c: Likewise.
+ * tree-optimize.c: Likewise.
+ * tree-outof-ssa.c: Likewise.
+ * tree-phinodes.c: Likewise.
+ * tree-profile.c: Likewise.
+ * tree-ssa-ccp.c: Likewise.
+ * tree-ssa-coalesce.c: Likewise.
+ * tree-ssa-live.c: Likewise.
+ * tree-ssa-loop-niter.c: Likewise.
+ * tree-ssa-loop-prefetch.c: Likewise.
+ * tree-ssa-loop.c: Likewise.
+ * tree-ssa-structalias.c: Likewise.
+ * tree-ssa-uninit.c: Likewise.
+ * tree-ssa.c: Likewise.
+ * tree-vect-data-refs.c: Likewise.
+ * tree-vect-loop-manip.c: Likewise.
+ * tree-vect-loop.c: Likewise.
+ * tree-vect-patterns.c: Likewise.
+ * tree-vect-stmts.c: Likewise.
+ * tree-vrp.c: Likewise.
+ * varasm.c: Likewise.
+ * vec.c: Likewise.
+ * web.c: Likewise.
+ * xcoffout.c: Likewise.
+
+2010-07-07 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gengtype.c (write_field_root): New function.
+ (write_root): Use it.
+
+2010-07-07 Wei Guozhi <carrot@google.com>
+
+ * config/arm/thumb2.md (peephole2 to convert zero_extract/compare
+ of lowest bits to lshift/compare): Add a missing line.
+
+2010-07-07 Wei Guozhi <carrot@google.com>
+
+ * config/arm/thumb2.md (peephole2 to convert zero_extract/compare
+ of lowest bits to lshift/compare): New.
+
+2010-07-07 Tom Tromey <tromey@redhat.com>
+
+ * doc/tm.texi: Update.
+ * doc/tm.texi.in (SDB and DWARF) <TARGET_WANT_DEBUG_PUB_SECTIONS>:
+ Add @hook.
+ * target.def (want_debug_pub_sections): New hook.
+ * config/darwin.h (TARGET_WANT_DEBUG_PUB_SECTIONS): Define.
+ * dwarf2out.c (add_pubname_string): Check
+ targetm.want_debug_pub_sections.
+ (add_pubname): Likewise.
+ (add_pubtype): Likewise.
+
+2010-07-07 Jie Zhang <jie@codesourcery.com>
+
+ * genautomata.c (output_automata_list_min_issue_delay_code):
+ Correctly decompress min_issue_delay.
+
+2010-07-07 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/44404
+ * auto-inc-dec.c (find_inc): Avoid calling count_occurrences if
+ possible, use reg_overlap_mentioned_p instead.
+
+2010-07-07 Duncan Sands <baldrick@free.fr>
+
+ PR middle-end/41355
+ * tree.c (build_function_type_skip_args): Copy the original type using
+ build_distinct_type_copy rather than copy_node.
+
+2010-07-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/44850
+ * config/i386/i386.c (ix86_function_ms_hook_prologue): Revert
+ revision 161876.
+ (ix86_expand_prologue): Likewise.
+ (ix86_handle_fndecl_attribute): Likewise.
+ (ix86_asm_declare_function_name): Likewise.
+ * config/i386/i386.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
+ * config/i386/cygming.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
+ (SUBTARGET_ASM_DECLARE_FUNCTION_NAME): Likewise.
+ * config/i386/i386-protos.h (ix86_asm_declare_function_name):
+ Likewise.
+ * doc/extend.texi: Likewise.
+
+2010-07-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/44844
+ * config/i386/i386.md (rdrand<mode>): Changed to expand to
+ retry if the carry flag isn't valid.
+ (rdrand<mode>_1): New.
+
+2010-07-07 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/44790
+ * expr.c (expand_expr_real_1): Go the POINTER_PLUS_EXPR path
+ for expanding the constant offset for MEM_REFs.
+
+2010-07-07 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-propagate.h (valid_gimple_call_p): Remove.
+ * tree-ssa-propagate.c (valid_gimple_call_p): Make static. Fix.
+ * gimple.h (is_gimple_operand): Remove.
+ * gimple.c (is_gimple_operand): Likewise.
+ (walk_gimple_op): Fix wi->val_only setting for calls.
+ * tree-cfg.c (verify_gimple_call): Fix argument validation.
+ * tree-profile.c (tree_gen_ic_func_profiler): Do not create
+ invalid gimple calls.
+
+2010-07-06 Jan Hubicka <jh@suse.cz>
+
+ * lto-cgraph.c (output_cgraph): Add missing declaration.
+
+2010-07-06 Jan Hubicka <jh@suse.cz>
+
+ * lto-cgraph.c (output_cgraph): Output toplevel asms only into first
+ partition.
+
+2010-07-06 Alexandre Oliva <aoliva@redhat.com>
+
+ * doc/gimple.texi (GIMPLE_DEBUG): Document.
+ * doc/rtl.texi (Debug Information): New node.
+ (NOTE_INSN_VAR_LOCATION): Document.
+ (debug_insn): Likewise.
+ * doc/generic.texi (DEBUG_EXPR_DECL): Document.
+
+2010-07-07 Jan Hubicka <jh@suse.cz>
+
+ With parts by Richard Guenther
+
+ PR middle-end/44813
+ * tree-ssa-uninit.c (ssa_undefined_value_p): Result decl is defined
+ for functions passed by reference.
+ * tree.c (needs_to_live_in_memory): RESULT_DECL don't need to live
+ in memory when passed by reference.
+ * tree-ssa-ccp.c (get_default_value): Only VAR_DECL is undefined at
+ beggining.
+ * ipa-split.c (split_function): Cleanup way return value is passed;
+ handle SSA DECL_BY_REFERENCE retvals.
+ * tree-ssa.c (verify_def): Verify that RESULT_DECL is read only when
+ DECL_BY_REFERENCE is set.
+ * tree-ssa-structalias.c (get_constraint_for_ssa_var, get_fi_for_callee,
+ find_what_p_points_to): Handle RESULT_DECL.
+ * tree-inline.c (declare_return_variable): Get new entry_block argument;
+ when passing by reference ensure that RESULT_DECL is gimple_val.
+ (remap_gimple_op_r): Remap RESULT_DECL ssa name.
+ (remap_gimple_stmt): Handle SSA DECL_BY_REFERENCE returns.
+
+2010-07-07 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/44787
+ * config/arm/arm.md (arith_shiftsi): Allow stack pointer in operand 2.
+ * config/arm/thumb2.md (thumb2_arith_shiftsi): Likewise.
+
+2010-07-06 Jan Hubicka <jh@suse.cz>
+
+ * lto-symtab.c (lto_cgraph_replace_node): Handle aliases.
+ (lto_symtab_resolve_can_prevail_p): Also alias of cgraph node
+ with body can prevail.
+ (lto_symtab_resolve_symbols): Use cgraph_get_node_or_alias.
+ (lto_symtab_merge_cgraph_nodes_1): Do not remove nodes from aliases.
+ * cgraph.c (cgraph_get_node_or_alias): New function.
+ * cgraph.h (cgraph_get_node_or_alias): Declare.
+
+2010-07-06 Kai Tietz <kai.tietz@onevision.com>
+
+ * config/i386/i386.c (ix86_function_ms_hook_prologue): Enable x64
+ support.
+ (ix86_expand_prologue): Likewise.
+ (ix86_handle_fndecl_attribute): Likewise.
+ (ix86_asm_declare_function_name): New function for
+ ASM_DECLARE_FUNCTION_NAME.
+ * config/i386/i386.h (ASM_DECLARE_FUNCTION_NAME): New macro.
+ * config/i386/cygming.h (ASM_DECLARE_FUNCTION_NAME): Removed.
+ (SUBTARGET_ASM_DECLARE_FUNCTION_NAME): New macro.
+ * config/i386/i386-protos.h (ix86_asm_declare_function_name): New.
+ * doc/extend.texi: Adjust documentation about ms_hook_prologue
+ attribute.
+
+2010-07-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (immediate_operand): New mode attribute.
+
+ (pro_epilogue_adjust_stack_<mode>_1): Macroize insn from
+ pro_epilogue_adjust_stack and pro_epilogue_adjust_stack_rex64
+ using P mode iterator.
+ (pro_epilogue_adjust_stack_di_2): Rename from
+ pro_epilogue_adjust_stack_rex64_2.
+
+ * config/i386/i386.c (pro_epilogue_adjust_stack): Update for rename.
+
+2010-07-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (insv): Call gen_movdi_insv1 or gen_movsi_insv1
+ through gen_mov_insv_1 function pointer.
+ (fmod<mode>3): Call gen_truncxf<mode>2_i387_noop_unspec or
+ gen_truncxf<mode>2 through gen_truncxf function pointer.
+ (remainder<mode>3): Ditto.
+ (cmpstrnsi): Rename cmp_insn function pointer to gen_cmp.
+ (allocate_stack): Call gen_allocate_stack_worker_64 or
+ gen_allocate_stack_worker_32 through gen_allocate_stack_worker
+ function pointer.
+ (probe_stack): Call gen_iordi3 or gen_iorsi3 through gen_ior3
+ function pointer.
+
+2010-07-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*add<mode>3_cconly_overflow): Use <g>
+ operand constraint instead of <r><i>m.
+
+2010-07-06 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/44828
+ * convert.c (convert_to_integer): Watch out for overflowing
+ MULT_EXPR as well.
+
+2010-07-05 Jan Hubicka <jh@suse.cz>
+
+ * lto-streamer.c (write_symbol_vec): Rename to ...
+ (write_symbol) ... this one; write only symbol given and when
+ present in cache. Sanity check that what is defined is present
+ in cgraph/varpool with body/finalized decl.
+ (write_symbols_of_kind): Remove.
+ (produce_symtab): Take outputblock and sets; use cgraph/varpool/alias
+ pairs to produce symtab.
+ (produce_asm_for_decls): Update call of produce_symtab; don't do so
+ when doing WPA streaming.
+
+2010-07-05 Jan Hubicka <jh@suse.cz>
+
+ * gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Check that
+ function is still available to fold into.
+
+2010-07-05 Nathan Froyd <froydnj@codesourcery.com>
+
+ * vec.h (FOR_EACH_VEC_ELT_REVERSE): New macro.
+ * function.h (struct_function): Change type of local_decls field
+ to a VEC.
+ (add_local_decl): New function.
+ (FOR_EACH_LOCAL_DECL): New macro.
+ * cfgexpand.c (init_vars_expansion): Adjust for new type of
+ cfun->local_decls.
+ (estimated_stack_frame_size): Likewise.
+ (expand_used_vars): Likewise.
+ * cgraphbuild.c (build_cgraph_edges): Likewise.
+ * function.c (instantiate_decls_1): Likewise.
+ * ipa-struct-reorg.c (build_data_structure): Likewise.
+ * ipa-type-escape.c (analyze_function): Likewise.
+ * lto-streamer-in.c (input_function): Likewise.
+ * lto-streamer-out.c (output_function): Likewise.
+ * tree-ssa-live.c (remove_unused_locals): Likewise.
+ * tree.c (free_lang_data_in_decl): Likewise.
+ (find_decls_types_in_node): Likewise.
+ * omp-low.c (remove_exit_barrier): Likewise.
+ (expand_omp_taskreg): Likewise.
+ (list2chain): Rename to...
+ (vec2chain): ...this. Adjust.
+ * cgraphunit.c (assemble_thunk): Call add_local_decl.
+ * tree-cfg.c (replace_by_duplicate_decl): Likewise.
+ * gimple-low.c (record_vars_into): Likewise.
+ * tree-inline.c (remap_decls): Likewise.
+ (declare_return_variable): Likewise.
+ (declare_inline_vars): Likewise.
+ (copy_forbidden): Adjust for new type of cfun->local_decls.
+ (add_local_variables): New function.
+ (expand_call_inline): Call it.
+ (tree_function_versioning): Likewise.
+
+2010-07-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ AVX Programming Reference (June, 2010)
+ * config/i386/cpuid.h (bit_F16C): New.
+ (bit_RDRND): Likewise.
+ (bit_FSGSBASE): Likewise.
+
+ * config/i386/i386-builtin-types.def: Add
+ "DEF_FUNCTION_TYPE (UINT16)", function types for
+ float16 <-> float conversions and
+ "DEF_FUNCTION_TYPE (VOID, UINT64)".
+
+ * config/i386/i386-c.c (ix86_target_macros_internal): Support
+ OPTION_MASK_ISA_FSGSBASE, OPTION_MASK_ISA_RDRND and
+ OPTION_MASK_ISA_F16C.
+
+ * config/i386/i386.c (OPTION_MASK_ISA_FSGSBASE_SET): New.
+ (OPTION_MASK_ISA_RDRND_SET): Likewise.
+ (OPTION_MASK_ISA_F16C_SET): Likewise.
+ (OPTION_MASK_ISA_FSGSBASE_UNSET): Likewise.
+ (OPTION_MASK_ISA_RDRND_UNSET): Likewise.
+ (OPTION_MASK_ISA_F16C_UNSET): Likewise.
+ (OPTION_MASK_ISA_AVX_UNSET): Add OPTION_MASK_ISA_F16C_UNSET.
+ (ix86_handle_option): Handle OPT_mfsgsbase, OPT_mrdrnd and OPT_mf16c.
+ (ix86_target_string): Support -mfsgsbase, -mrdrnd and -mf16c.
+ (pta_flags): Add PTA_FSGSBASE, PTA_RDRND and PTA_F16C.
+ (override_options): Handle them.
+ (ix86_valid_target_attribute_inner_p): Handle fsgsbase, rdrnd and f16c.
+ (ix86_builtins): Add IX86_BUILTIN_RDFSBASE32,
+ IX86_BUILTIN_RDFSBASE64, IX86_BUILTIN_RDGSBASE32,
+ IX86_BUILTIN_RDGSBASE64, IX86_BUILTIN_WRFSBASE32,
+ IX86_BUILTIN_WRFSBASE64, IX86_BUILTIN_WRGSBASE32,
+ IX86_BUILTIN_WRGSBASE64, IX86_BUILTIN_RDRAND16,
+ IX86_BUILTIN_RDRAND32, IX86_BUILTIN_RDRAND64,
+ IX86_BUILTIN_CVTPH2PS, IX86_BUILTIN_CVTPH2PS256,
+ IX86_BUILTIN_CVTPS2PH and IX86_BUILTIN_CVTPS2PH256.
+ (bdesc_args): Likewise.
+ (ix86_expand_args_builtin): Handle V8SF_FTYPE_V8HI,
+ V4SF_FTYPE_V8HI, V8HI_FTYPE_V8SF_INT and V8HI_FTYPE_V4SF_INT.
+ (ix86_expand_special_args_builtin): Handle VOID_FTYPE_UINT64,
+ VOID_FTYPE_UNSIGNED, UNSIGNED_FTYPE_VOID and UINT16_FTYPE_VOID.
+ Handle non-memory store.
+
+ * config/i386/i386.h (TARGET_FSGSBASE): New.
+ (TARGET_RDRND): Likewise.
+ (TARGET_F12C): Likewise.
+
+ * config/i386/i386.md (UNSPEC_VCVTPH2PS): New.
+ (UNSPEC_VCVTPS2PH): Likewise.
+ (UNSPECV_RDFSBASE): Likewise.
+ (UNSPECV_RDGSBASE): Likewise.
+ (UNSPECV_WRFSBASE): Likewise.
+ (UNSPECV_WRGSBASE): Likewise.
+ (UNSPECV_RDRAND): Likewise.
+ (rdfsbase<mode>): Likewise.
+ (rdgsbase<mode>): Likewise.
+ (wrfsbase<mode>): Likewise.
+ (wrgsbase<mode>): Likewise.
+ (rdrand<mode>): Likewise.
+
+ * config/i386/i386.opt: Add -mfsgsbase, -mrdrnd and -mf16c.
+
+ * config/i386/immintrin.h (_rdrand_u16): New.
+ (_rdrand_u32): Likewise.
+ (_readfsbase_u32): Likewise.
+ (_readfsbase_u64): Likewise.
+ (_readgsbase_u32): Likewise.
+ (_readgsbase_u64): Likewise.
+ (_writefsbase_u32): Likewise.
+ (_writefsbase_u64): Likewise.
+ (_writegsbase_u32): Likewise.
+ (_writegsbase_u64): Likewise.
+ (_rdrand_u64): Likewise.
+ (_cvtsh_ss): Likewise.
+ (_mm_cvtph_ps): Likewise.
+ (_mm256_cvtph_ps): Likewise.
+ (_cvtss_sh): Likewise.
+ (_mm_cvtps_ph): Likewise.
+ (_mm256_cvtps_ph): Likewise.
+
+ * config/i386/sse.md (vcvtph2ps): New.
+ (*vcvtph2ps_load): Likewise.
+ (vcvtph2ps256): Likewise.
+ (vcvtps2ph): Likewise.
+ (*vcvtps2ph): Likewise.
+ (*vcvtps2ph_store): Likewise.
+ (vcvtps2ph256): Likewise.
+
+ * doc/extend.texi: Document FSGSBASE and RDRND built-in functions.
+
+ * doc/invoke.texi: Document -mfsgsbase, -mrdrnd and -mf16c.
+
+2010-07-05 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ PR bootstrap/44512
+ * genenums.c (main): Output include of insn-constants.h
+ * Makefile.in (insn-enums.o): Depend on insn-constants.h.
+
+2010-07-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_gen_allocate_stack_worker): New.
+ (override_options): Initialize it.
+ (ix86_expand_prologue): Use it.
+
2010-07-05 Jakub Jelinek <jakub@redhat.com>
* tree-nrv.c (tree_nrv): Set DECL_VALUE_EXPR on found to result.
2010-07-05 Richard Guenther <rguenther@suse.de>
- * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Copy
- alias info.
+ * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Copy alias info.
2010-07-05 Richard Guenther <rguenther@suse.de>