+2011-11-09 Richard Guenther <rguenther@suse.de>
+
+ Revert
+ 2011-11-09 Richard Guenther <rguenther@suse.de>
+
+ * tree-cfg.c (verify_gimple_call): Verify that
+ gimple_call_cannot_inline_p is returning a conservative
+ correct result according to gimple_check_call_matching_types.
+
+2011-11-09 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51039
+ * tree-cfg.c (verify_gimple_call): Verify that
+ gimple_call_cannot_inline_p is returning a conservative
+ correct result according to gimple_check_call_matching_types.
+ * ipa-inline-analysis.c (estimate_function_body_sizes): Remove
+ code dealing with un-inlinablility.
+ * gimple-streamer-in.c (input_gimple_stmt): Update the
+ non-inlinable flag.
+
+2011-11-09 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51039
+ * tree-inline.c (setup_one_parameter): Always perform a
+ valid gimple type change.
+ (declare_return_variable): Likewise.
+
+2011-11-09 Jakub Jelinek <jakub@redhat.com>
+
+ * config/rs6000/vector.md (vcondv4sfv4si, vcondv4siv4sf,
+ vconduv4sfv4si): New patterns.
+ * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Handle
+ different dest_mode from comparison mode.
+
+2011-11-09 Richard Guenther <rguenther@suse.de>
+
+ * gimple-fold.c (canonicalize_constructor_val): Mark
+ address-taken variables addressable.
+
+2011-11-09 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/51015
+ * tree-vect-loop.c (vect_determine_vectorization_factor): Expect
+ vectype to be set for pattern def stmts.
+
+2011-11-09 Alan Modra <amodra@gmail.com>
+
+ * function.c (bb_active_p): Delete.
+ (dup_block_and_redirect, active_insn_between): New functions.
+ (convert_jumps_to_returns, emit_return_for_exit): New functions,
+ split out from..
+ (thread_prologue_and_epilogue_insns): ..here. Delete
+ shadowing variables. Don't do prologue register clobber tests
+ when shrink wrapping already failed. Delete all last_bb_active
+ code. Instead compute tail block candidates for duplicating
+ exit path. Remove these from antic set. Duplicate tails when
+ reached from both blocks needing a prologue/epilogue and
+ blocks not needing such.
+ * ifcvt.c (dead_or_predicable): Test both flag_shrink_wrap and
+ HAVE_simple_return.
+ * bb-reorder.c (get_uncond_jump_length): Make global.
+ * bb-reorder.h (get_uncond_jump_length): Declare.
+ * cfgrtl.c (rtl_create_basic_block): Comment typo fix.
+ (rtl_split_edge): Likewise. Warning fix.
+ (rtl_duplicate_bb): New function.
+ (rtl_cfg_hooks): Enable can_duplicate_block_p and duplicate_block.
+ * Makefile.in (function.o): Update dependencies.
+
+2011-11-08 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+ Georg-Johann Lay <avr@gjlay.de>
+
+ * doc/tm.texi.in (MODE_CODE_BASE_REG_CLASS): Add address space
+ argument.
+ (REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
+ * doc/tm.texi: Regenerate.
+
+ * config/cris/cris.h (MODE_CODE_BASE_REG_CLASS): Add address
+ space argument.
+ (REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
+ * config/bfin/bfin.h (MODE_CODE_BASE_REG_CLASS): Likewise.
+ (REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
+ * config/avr/avr.h (MODE_CODE_BASE_REG_CLASS): Add address space
+ argument.
+ (REGNO_MODE_CODE_OK_FOR_BASE_P): Ditto.
+ * config/avr/avr-protos.h (avr_mode_code_base_reg_class): Ditto.
+ (avr_regno_mode_code_ok_for_base_p): Ditto.
+ * config/avr/avr.c (avr_mode_code_base_reg_class): Ditto.
+ (avr_regno_mode_code_ok_for_base_p): Ditto.
+ (avr_reg_ok_for_addr_p): Pass AS down to
+ avr_regno_mode_code_ok_for_base_p.
+
+ * addresses.h (base_reg_class): Add address space argument.
+ Pass to MODE_CODE_BASE_REG_CLASS.
+ (ok_for_base_p_1): Add address space argument. Pass to
+ REGNO_MODE_CODE_OK_FOR_BASE_P.
+ (regno_ok_for_base_p): Add address space argument. Pass to
+ ok_for_base_p_1.
+
+ * regrename.c (scan_rtx_address): Add address space argument.
+ Pass address space to regno_ok_for_base_p and base_reg_class.
+ Update recursive calls.
+ (scan_rtx): Pass address space to scan_rtx_address.
+ (build_def_use): Likewise.
+ * regcprop.c (replace_oldest_value_addr): Add address space
+ argument. Pass to regno_ok_for_base_p and base_reg_class.
+ Update recursive calls.
+ (replace_oldest_value_mem): Pass address space to
+ replace_oldest_value_addr.
+ (copyprop_hardreg_forward_1): Likewise.
+
+ * reload.c (find_reloads_address_1): Add address space argument.
+ Pass address space to base_reg_class and regno_ok_for_base_p.
+ Update recursive calls.
+ (find_reloads_address): Pass address space to base_reg_class,
+ regno_ok_for_base_p, and find_reloads_address_1.
+ (find_reloads): Pass address space to base_reg_class.
+ (find_reloads_subreg_address): Likewise.
+
+ * ira-costs.c (record_reg_classes): Update calls to base_reg_class.
+ (ok_for_base_p_nonstrict): Add address space argument. Pass to
+ ok_for_base_p_1.
+ (record_address_regs): Add address space argument. Pass to
+ base_reg_class and ok_for_base_p_nonstrict. Update recursive calls.
+ (record_operand_costs): Pass address space to record_address_regs.
+ (scan_one_insn): Likewise.
+
+ * caller-save.c (init_caller_save): Update call to base_reg_class.
+ * ira-conflicts.c (ira_build_conflicts): Likewise.
+ * reload1.c (maybe_fix_stack_asms): Likewise.
+
+2011-11-08 Michael Matz <matz@suse.de>
+
+ * gengtype.c (write_field_root): Avoid out-of-scope access of newv.
+
+ * tree-stdarg.c (execute_optimize_stdarg): Accept clobbers.
+
+ * tree.h (TREE_CLOBBER_P): New macro.
+ * gimple.h (gimple_clobber_p): New inline function.
+ * gimplify.c (gimplify_bind_expr): Add clobbers for all variables
+ that go out of scope and live in memory.
+ * tree-ssa-operands.c (get_expr_operands): Transfer volatility also
+ for constructors.
+ * cfgexpand.c (decl_to_stack_part): New static variable.
+ (add_stack_var): Allocate it, and remember mapping.
+ (fini_vars_expansion): Deallocate it.
+ (stack_var_conflict_p): Add early outs.
+ (visit_op, visit_conflict, add_scope_conflicts_1,
+ add_scope_conflicts): New static functions.
+ (expand_used_vars_for_block): Don't call add_stack_var_conflict, tidy.
+ (expand_used_vars): Add scope conflicts.
+ (expand_gimple_stmt_1): Expand clobbers to nothing.
+ (expand_debug_expr): Ditto.
+
+ * tree-pretty-print.c (dump_generic_node): Dump clobbers nicely.
+ * tree-ssa-live.c (remove_unused_locals): Remove clobbers that
+ refer to otherwise unused locals.
+ * tree-sra.c (build_accesses_from_assign): Ignore clobbers.
+ * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Clobbers of
+ SSA names aren't necessary.
+ (propagate_necessity): Accept and ignore constructors on the rhs,
+ tidy.
+ * gimple.c (walk_gimple_op): Accept constructors like mem_rhs.
+ * tree-ssa-structalias.c (find_func_aliases): Clobbers don't store
+ any known value.
+ * tree-ssa-sccvn.c (vn_reference_lookup_3): Ditto, in particular they
+ don't zero-initialize something.
+ * tree-ssa-phiopt.c (cond_if_else_store_replacement_1): Ignore
+ clobber RHS, we don't want PHI nodes with those.
+
+2011-11-08 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/i386.c (ix86_preferred_simd_mode): Even for TARGET_AVX
+ if not TARGET_PREFER_AVX128 return 32-byte integer vectors.
+
+2011-11-08 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51012
+ * ipa-prop.c (update_indirect_edges_after_inlining): Fixup
+ non-inlinable state.
+ * cgraph.c (cgraph_make_edge_direct): Likewise.
+
+2011-11-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/47698
+ * ifcvt.c (noce_operand_ok): Move around comment.
+
+2011-11-08 Richard Guenther <rguenther@suse.de>
+
+ PR lto/50999
+ * lto-opts.c (append_to_collect_gcc_options): Split out from...
+ (lto_write_options): ... here. Prepend frontend specific flags.
+
+2011-11-08 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/sse.md (*avx_vperm2f128<mode>3_nozero): Emit mask
+ 0x12 and 0x20 as vinsert[fi]128 instead of vperm2[fi]128.
+
+ * tree-vect-stmts.c (vectorizable_call): Add SLP_NODE argument.
+ Handle vectorization of SLP calls.
+ (vect_analyze_stmt): Adjust caller, add call to it for SLP too.
+ (vect_transform_stmt): Adjust vectorizable_call caller, remove
+ assertion.
+ * tree-vect-slp.c (vect_get_and_check_slp_defs): For calls start
+ with op_idx 3.
+ (vect_build_slp_tree): Allow CALL_EXPR.
+
2011-11-08 Richard Guenther <rguenther@suse.de>
* gimple-fold.c (canonicalize_constructor_val): Make sure
2011-11-07 Sergey Ostanevich <sergos.gnu@gmail.com>
PR rtl-optimization/47698
- * ifconv.c (noce_operand_ok): prevent CMOV generation for volatile mem.
+ * ifcvt.c (noce_operand_ok): Return false for mems with side effects.
2011-11-07 Tristan Gingold <gingold@adacore.com>
* Makefile.in (USER_H): Add stdalign.h.
2011-11-06 Joern Rennecke <joern.rennecke@embecosm.com>
- Eric Botcazou <ebotcazou@adacore.com>
* regset.h (fixed_reg_set_regset): Declare.
* dse.c: Include regset.h .