summaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2012-10-15 17:11:32 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2012-10-15 17:11:32 +0000
commit0fb3af46a9812808184394522ff6d65089d3f9bb (patch)
tree4758c5c96ba58a9277e874c67cdf097af9b94edd /gcc/ChangeLog
parentd0d9fa3b225da0716148b9879b699c6014a626c2 (diff)
downloadgcc-0fb3af46a9812808184394522ff6d65089d3f9bb.tar.gz
2012-10-15 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk rev 192465 using svnmerge.py git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@192466 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r--gcc/ChangeLog683
1 files changed, 674 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 153abd42e53..20ed440d22d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,7 +1,670 @@
+2012-10-15 Dodji Seketeli <dodji@redhat.com>
+
+ * alias.c: Cleanup comments.
+
+2012-10-15 Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/54915
+ * tree-ssa-forwprop.c (simplify_vector_constructor): Check
+ argument's type.
+
+2012-10-15 Richard Biener <rguenther@suse.de>
+
+ * data-streamer.h (bp_pack_string_with_length): New function.
+ (bp_pack_string): Likewise.
+ (bp_unpack_indexed_string): Likewise.
+ (bp_unpack_string): Likewise.
+ * data-streamer-out.c (bp_pack_string_with_length): Likewise.
+ (bp_pack_string): Likewise.
+ * data-streamer-in.c (bp_unpack_indexed_string): Likewise.
+ (bp_unpack_string): Likewise.
+ * tree-streamer-out.c (pack_ts_translation_unit_decl_value_fields):
+ Pack TRANSLATION_UNIT_LANGUAGE here, not ...
+ (write_ts_translation_unit_decl_tree_pointers): ... here. Remove.
+ (streamer_pack_tree_bitfields): Adjust.
+ (streamer_write_tree_body): Likewise.
+ * tree-streamer-in.c (unpack_ts_translation_unit_decl_value_fields):
+ Unpack TRANSLATION_UNIT_LANGUAGE here, not ...
+ (lto_input_ts_translation_unit_decl_tree_pointers): ... here. Remove.
+ (unpack_value_fields): Adjust.
+ (streamer_read_tree_body): Likewise.
+
+2012-10-15 J"orn Rennecke <joern.rennecke@arc.com>
+
+ * genoutput.c (process_template): Process '*' in '@' alternatives.
+ * doc/md.texi (node Output Statement): Provide example for the above.
+
+2012-10-15 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54920
+ * tree-ssa-pre.c (create_expression_by_pieces): Properly
+ allocate temporary storage for all NARY elements.
+
+2012-10-15 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * web.c (union_match_dups): Properly handle OP_INOUT match_dups.
+
+2012-10-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Do not unnecessarily
+ copy the object in the MEM_P case.
+
+2012-10-15 Richard Guenther <rguenther@suse.de>
+
+ * tree-streamer-out.c (streamer_pack_tree_bitfields): Back
+ BINFO_BASE_ACCESSES and CONSTRUCTOR lengths here.
+ (streamer_write_chain): Write TREE_CHAIN as null-terminated list.
+ (write_ts_exp_tree_pointers): Adjust.
+ (write_ts_binfo_tree_pointers): Likewise.
+ (write_ts_constructor_tree_pointers): Likewise.
+ * tree-streamer-in.c (streamer_read_chain): Read TREE_CHAIN as
+ null-terminated list.
+ (unpack_value_fields): Unpack BINFO_BASE_ACCESSES and
+ CONSTRUCTOR lengths and materialize the arrays.
+ (lto_input_ts_exp_tree_pointers): Adjust.
+ (lto_input_ts_binfo_tree_pointers): Likewise.
+ (lto_input_ts_constructor_tree_pointers): Likewise.
+
+2012-10-14 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * config/mmix/mmix.c (mmix_opposite_regno): Handle the
+ return-value register too.
+
+2012-10-14 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR rtl-optimization/38711
+ * df.h (df_get_live_out, df_get_live_in): Make static inline functions.
+ * df-problems.c (df_get_live_out, df_get_live_in): Moved to df.h.
+ * ira-lives.c (process_bb_node_lives): Use df_get_live_out instead of
+ DF_LR_OUT.
+ * ira-build.c (create_bb_allocnos): Likewise.
+ (create_loop_allocnos): Likewise, and use df_get_live_in instead of
+ DF_LR_IN.
+ * ira-emit.c (generate_edge_moves): Likewise.
+ (add_ranges_and_copies): Likewise.
+ * ira-color.c (ira_loop_edge_freq): Use df_get_live_out instead of
+ DF_LR_OUT, and df_get_live_in instead of DF_LR_IN.
+ * ira.c (mark_elimination): Update DF_LR and DF_LIVE.
+ (build_insn_chain): Use df_get_live_out instead of DF_LR_OUT.
+ (do_reload): Remove the DF_LIVE problem for -O1.
+
+2012-10-14 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR rtl-optimization/54919
+ * loop-unroll.c (struct var_to_expand): Remove accum_pos field.
+ (analyze_insn_to_expand_var): Do not record accum_pos.
+ (expand_var_during_unrolling): Use validate_replace_rtx_group to
+ perform replacement of all references to SET_DEST (set) with the
+ new register, including references in REG_EQUAL notes.
+ (insert_var_expansion_initialization): Insert initializatio insns
+ at the bottom of the pre-header of the loop.
+
+2012-10-14 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not
+ predict loops with multiple exits realistically.
+ * cfgloopanal.c (single_likely_exit): New function.
+
+2012-10-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.md: Remove empty predicates and/or constraints.
+ * config/alpha/sync.md: Ditto.
+
+2012-10-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.md (I24MODE): New mode iterator.
+ (any_divmod): New code iterator.
+ (<code>si3): Macroize expander from {div,mod,udiv,umod}si3 using
+ any_divmod code iterator.
+ (<code>si3): Macroize expander from {div,mod,udiv,umod}di3 using
+ any_divmod code iterator.
+ (extendqi<mode>2): Macroize insn from extendqi{hi,si}2 using
+ I24MODE mode iterator.
+ (unaligned_store<mode>): Macroize expander from unaligned_store{qi,hi}
+ using I12MODE mode iterator.
+ (mov<mode>): Macroize expander from mov{qi,hi} using
+ I12MODE mode iterator.
+
+2012-10-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/54871
+ * loop-iv.c (simplify_using_initial_values): When scanning previous
+ basic blocks, prune the recorded conditions if the current insn was
+ not used to make a replacement.
+
+ * loop-unroll.c (decide_unroll_constant_iterations): Clean up message.
+ (unroll_loop_constant_iterations): Clarify head comment.
+ (decide_unroll_runtime_iterations): Clean up message.
+ (unroll_loop_runtime_iterations): Clarify head comment.
+ (decide_peel_simple): Clean up message.
+ (peel_loop_simple): Clarify head comment.
+ (decide_unroll_stupid): Clean up message.
+ (unroll_loop_stupid): Clarify head comment.
+
+2012-10-13 Andreas Schwab <schwab@linux-m68k.org>
+
+ PR gcov-profile/44728
+ * gcov.c (create_file_names): When stripping extension only look
+ at base name.
+
+2012-10-13 Jan Hubicka <jh@suse.cz>
+
+ * loop-iv.c (determine_max_iter): Fix handling of AND.
+ (iv_number_of_iterations): Record upper bounds as unsigned
+ values.
+
+2012-10-13 Steven Bosscher <steven@gcc.gnu.org>
+
+ * ira.c (ira): Set current_loops to &ira_loops before recording
+ loop exits. Release recorded exits and loops early.
+
+2012-10-13 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * builtins.c (expand_builtin_set_thread_pointer): Use
+ create_input_operand() instead of create_fixed_operand().
+
+2012-10-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.md (FMODE): New mode iterator.
+ (modesuffix): Handle SF and DF modes.
+ (opmode): New mode attribute.
+ (abs<mode>2): Macroize insn from abs{sf,df}2 using FMODE mode iterator.
+ (*nabs<mode>2): Macroize insn from *nabs{sf,df}2 using
+ FMODE mode iterator.
+ (neg<mode>2): Macroize insn from neg{sf,df}2 using FMODE mode iterator.
+ (copysign<mode>3): Macroize insn from copysign{sf,df}3 using
+ FMODE mode iterator.
+ (*ncopysign<mode>3): Macroize insn from *ncopysign{sf,df}3 using
+ FMODE mode iterator.
+ (*add<mode>3_ieee): Macroize insn from *add{sf,df}_ieee using
+ FMODE mode iterator.
+ (add<mode>3): Macroize insn from add{sf,df}3 using FMODE mode iterator.
+ (*sub<mode>3_ieee): Macroize insn from *sub{sf,df}3_ieee using
+ FMODE mode iterator.
+ (sub<mode>3): Macroize insn from sub{sf,df}3 using FMODE mode iterator.
+ (*mul<mode>3_ieee): Macroize insn from *mul{sf,df}3_ieee using
+ FMODE mode iterator.
+ (mul<mode>3): Macroize insn from mul{sf,df}3 using FMODE mode iterator.
+ (*div<mode>3_ieee): Macroize insn from *div{sf,df}3_ieee using
+ FMODE mode iterator.
+ (div<mode>3): Macroize insn from div{sf,df}3 using FMODE mode iterator.
+ (*sqrt<mode>2_ieee): Macroize insn from *sqrt{sf,df}2_ieee using
+ FMODE mode iterator.
+ (sqrt<mode>2): Macroize insn from sqrt{sf,df}2
+ using FMODE mode iterator.
+ (*mov<mode>cc_internal): Macroize insn from *mov{sf,df}cc_internal
+ using FMODE mode iterator.
+ (mov<mode>cc): Macroize expander from mov{sf,df}cc
+ using FMODE mode iterator.
+
+2012-10-12 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54602
+ * config/sh/sh.md: Correct define_delay for return insns.
+ (*movsi_pop): Delete.
+
+2012-10-12 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54680
+ * config/sh/sh.c (sh_fsca_sf2int, sh_fsca_int2sf): Fix swapped
+ comments.
+ * config/sh/predicates.md (fpul_operand): Add comment.
+ (fpul_fsca_operand, fsca_scale_factor): New predicates.
+ * config/sh/sh.md (fsca): Move below sincossf3 expander. Convert to
+ insn_and_split. Use fpul_fsca_operand and fsca_scale_factor
+ predicates. Simplify fpul operand in splitter.
+
+2012-10-12 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-threadupdate.c (def_split_header_continue_p): Do not
+ escape the loop.
+
+2012-10-12 Jan Hubicka <jh@suse.cz>
+
+ * web.c (web_main): Do not set DF_RD_PRUNE_DEAD_DEFS flag.
+
+2012-10-12 Aaron Gray <aaronngray.lists@gmail.com>
+ Diego Novillo <dnovillo@google.com>
+
+ * gengtype-lex.l: Support for C++ single line comments.
+ Support for classes.
+ (CXX_KEYWORD): New. Support C++ keywords inline, public,
+ protected, private, template, operator, friend, &, ~.
+ (TYPEDEF): New. Support typedef.
+ * gengtype-parser.c: updated 'token_names[]'
+ (direct_declarator): Add support for parsing functions and ctors.
+
+2012-10-12 Diego Novillo <dnovillo@google.com>
+
+ * doc/gty.texi: Document C++ limitations in gengtype.
+ * gengtype-lex.l (CID): Rename from ID.
+ (ID): Include scoping '::' as part of the identifier name.
+ * gengtype-parse.c (token_names): Update.
+ (token_value_format): Update.
+ (consume_until_eos): Rename from consume_until_semi.
+ Remove unused argument IMMEDIATE. Update all callers.
+ Also consider '}' as a finalizer.
+ (consume_until_comma_or_eos): Rename from
+ consume_until_comma_or_semi.
+ Remove unused argument IMMEDIATE. Update all callers.
+ Also consider '}' as a finalizer.
+ (direct_declarator): Add documentation on ctor support.
+ Add argument IN_STRUCT.
+ If the token following ID is a '(', consider ID a
+ function and return NULL.
+ If the token following '(' is not a '*', and IN_STRUCT is true,
+ conclude that this is a ctor and return NULL.
+ If the token is IGNORABLE_CXX_KEYWORD, return NULL.
+ (inner_declarator): Add argument IN_STRUCT.
+ Update all callers.
+ (declarator): Add argument IN_STRUCT with default value false.
+ Update all callers.
+ (type): Document argument NESTED.
+ Skip over C++ inheritance specifiers.
+ If a token TYPEDEF is found, emit an error.
+ If an enum is found inside a class/structure, emit an error.
+ (typedefs, structures, param_structs, variables): Initialize.
+ (new_structure): Do not complain about duplicate
+ structures if S has a line location set.
+ * gengtype-state.c (write_state_type): Remove default handler.
+ Add handler for TYPE_NONE.
+ (read_state_scalar_char_type):
+ * gengtype.c: Fix spacing.
+ * gengtype.h (enum gty_token): Add name. Add token
+ IGNORABLE_CXX_KEYWORD.
+
+2012-10-12 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * config/arm/arm.md (get_thread_pointersi): Moved to place with
+ other TLS related patterns.
+
+2012-10-12 Richard Biener <rguenther@suse.de>
+
+ * tree-streamer-out.c (pack_ts_target_option): Rename from ...
+ (write_ts_target_option): ... this.
+ (pack_ts_optimization): Rename from ...
+ (write_ts_optimization): ... this.
+ (streamer_pack_tree_bitfields): Pack them in the bitfield section ...
+ (streamer_write_tree_body): ... not here.
+ * tree-streamer-in.c (unpack_ts_target_option): Rename from ...
+ (lto_input_ts_target_option): ... this.
+ (unpack_ts_optimization): Rename from ...
+ (lto_input_ts_optimization): ... this.
+ (unpack_value_fields): Unpack them from the bitfield section ...
+ (streamer_read_tree_body): ... not from here.
+
+2012-10-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.md (vecmodesuffix): New mode attribute.
+ (modesuffix): Handle V8QI and V4HI modes.
+ (any_maxmin): New code iterator.
+ (maxmin): New code attribute.
+ (<code><mode>3): Macroize insn from {smax,smin,umax,umin}{qi,hi}3
+ using any_maxmin code iterator and I12MODE mode iterator.
+ (<code><mode>3): Macroize insn from {smax,smin,umax,umin}{v8qi,v4hi}3
+ using any_maxmin code iterator and VEC12 mode iterator.
+
+2012-10-12 Marc Glisse <marc.glisse@inria.fr>
+
+ * optabs.c (vector_compare_rtx): Change prototype.
+ (expand_vec_cond_expr): Handle VEC_COND_EXPR whose first operand
+ is not a comparison.
+ * gimplify.c (gimplify_expr): Handle VEC_COND_EXPR.
+
+2012-10-12 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/54894
+ * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
+ Handle over-aligned scalar types properly.
+
+2012-10-12 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54760
+ * config/sh/sh.c (bdesc): Remove thread pointer built-ins.
+ * config/sh/sh.md (get_thread_pointer, set_thread_pointer): Append mode
+ name 'si'.
+
+2012-10-12 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * config/sh/sh.md (negsi_cond, negdi_cond, stack_protect_test): Remove
+ get_t_reg_rtx when invoking gen_branch_true or gen_branch_false.
+ (*zero_extend<mode>si2_compact): Convert to insn_and_split. Convert
+ zero extensions of T bit stores to reg moves in splitter. Remove
+ obsolete unnamed peephole2 that caught zero extensions after negc T bit
+ stores.
+ (*branch_true_eq, *branch_false_ne): Delete.
+ (branch_true, branch_false): Convert insn to expander. Move actual
+ insn logic to...
+ (*cbranch_t): ...this new insn_and_split. Try to find preceding
+ redundant T bit stores and tests and combine them with the conditional
+ branch if possible in the splitter.
+ (movrt_xor, *movt_movrt): New insn_and_split.
+ * config/sh/predicates.md (cbranch_treg_value): New predicate.
+ * config/sh/sh-protos.h (sh_eval_treg_value): Forward declare...
+ * config/sh/sh.c (sh_eval_treg_value): ...this new function.
+ (expand_cbranchsi4, expand_cbranchdi4): Remove get_t_reg_rtx
+ when invoking gen_branch_true or gen_branch_false.
+
+2012-10-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.md (IMODE): New mode iterator.
+ (I124MODE): Ditto.
+ (I248MODE): Ditto.
+ (modesuffix): Handle QI and HI modes.
+ (zero_extendqi<mode>2): Macroize insn from zero_extendqi{hi,si,di}2
+ using I248MODE mode iterator.
+ (zero_extendhi<mode>2): Macroize insn from zero_extendhi{si,di}2
+ using I48MODE mode iterator.
+ (andnot<mode>3): Macroize insn from andnot{si,di}3 using
+ I48MODE mode iterator.
+ (ins<modesuffix>l_const): Macroize insn from ins{b,w,l}l_const
+ using I248MODE mode iterator.
+ (ins<modesuffix>l): Macroize insn from ins{b,w,l}l
+ using I248MODE mode iterator.
+ (*mov<mode>cc_internal): Macroize insn from
+ *mov{qi,hi,si,di}cc_internal using IMODE mode iterator.
+ (*mov<mode>cc_lbc): Macroize insn from
+ *mov{qi,hi,si,di}cc_lbc using IMODE mode iterator.
+ (*mov<mode>cc_lbs): Macroize insn from
+ *mov{qi,hi,si,di}cc_lbs using IMODE mode iterator.
+ (mov<mode>cc): Macroize expander from mov{si,di}cc
+ using I48MODE mode iterator.
+
+2012-10-11 Steven Bosscher <steven@gcc.gnu.org>
+
+ * ira-build.c (ira_loop_tree_body_rev_postorder): New function.
+ (ira_traverse_loop_tree): Traverse a loop's basic blocks in
+ reverse post-order of the reversed control-flow direction.
+ * ira-conflicts.c (ira_build_conflicts): Pass add_copies as
+ the pre-order function to ira_traverse_loop_tree to preserve
+ the existing semantics.
+
+ * ira-lives.c (remove_some_program_points_and_update_live_ranges):
+ Squeeze out live range chain elements if their program points are
+ connected.
+
+2012-10-11 Jakub Jelinek <jakub@redhat.com>
+
+ * tree.def (REDUC_PLUS_EXPR): Fix up comment.
+
+ * fold-const.c (fold_unary_loc): Handle REDUC_MIN_EXPR,
+ REDUC_MAX_EXPR and REDUC_PLUS_EXPR.
+
+2012-10-11 James Lemke <jwlemke@codesourcery.com>
+
+ * config/rs6000/predicates.md (zero_fp_constant): Fix comment.
+ * config/rs6000/rs6000.md (return_pred): Fix null return.
+ * config/rs6000/rs6000.c (rs6000_emit_set_const): Fix indentation.
+ (print_operand): Make FALLTHRU obvious.
+ (output_cbranch): Correct comment.
+
+2012-10-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.md (DWI): New mode attribute.
+ (*sadd<modesuffix>): Macroize insn from *saddl and *saddq using
+ I48MODE mode iterator.
+ (addv<mode>3): Macroize insn from addvsi3 and addvdi3 using
+ I48MODE mode iterator.
+ (neg<mode>2): Macroize insn from negsi2 and negdi2 using
+ I48MODE mode iterator.
+ (negv<mode>2): Macroize insn from negvsi2 and negvdi2 using
+ I48MODE mode iterator.
+ (sub<mode>3): Macroize insn from subsi3 and subdi3 using
+ I48MODE mode iterator.
+ (*ssub<modesuffix>): Macroize insn from *ssubl and *ssubq using
+ I48MODE mode iterator.
+ (subv<mode>3): Macroize insn from subvsi3 and subvdi3 using
+ I48MODE mode iterator.
+ (mul<mode>3): Macroize insn from mulsi3 and muldi3 using
+ I48MODE mode iterator.
+ (mulv<mode>3): Macroize insn from mulvsi3 and mulvdi3 using
+ I48MODE mode iterator.
+ (*iornot<mode>3): Macroize insn from *iornotsi3 and *iornotdi3 using
+ I48MODE mode iterator.
+ (*xornot<mode>3): Macroize insn from *xornotsi3 and *xornotdi3 using
+ I48MODE mode iterator.
+
+2012-10-11 Jason Merrill <jason@redhat.com>
+
+ * configure.ac (gcc_cv_as_aix_ref): Fix typo.
+ * configure: Regenerate.
+
+2012-10-11 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * builtins.c (expand_builtin_thread_pointer): New.
+ (expand_builtin_set_thread_pointer): New.
+ (expand_builtin): Add BUILT_IN_THREAD_POINTER,
+ BUILT_IN_SET_THREAD_POINTER expand cases.
+ * builtins.def (BUILT_IN_THREAD_POINTER):
+ New __builtin_thread_pointer builtin.
+ (BUILT_IN_SET_THREAD_POINTER):
+ New __builtin_set_thread_pointer builtin.
+ * optabs.def (get_thread_pointer,set_thread_pointer):
+ New standard names.
+ * doc/md.texi (Standard Names): Document get_thread_pointer and
+ set_thread_pointer patterns.
+ * config/alpha/alpha.md (get_thread_pointerdi): Rename from load_tp.
+ (set_thread_pointerdi): Rename from set_tp.
+ * config/alpha/alpha.c (alpha_legitimize_address_1): Change
+ gen_load_tp calls to gen_get_thread_pointerdi.
+ (alpha_builtin): Remove ALPHA_BUILTIN_THREAD_POINTER,
+ ALPHA_BUILTIN_SET_THREAD_POINTER.
+ (code_for_builtin): Remove CODE_FOR_load_tp, CODE_FOR_set_tp.
+ (alpha_init_builtins): Remove __builtin_thread_pointer,
+ __builtin_set_thread_pointer machine-specific builtins.
+ (alpha_expand_builtin_thread_pointer): Add hook function for
+ TARGET_EXPAND_BUILTIN_THREAD_POINTER.
+ (alpha_expand_builtin_set_thread_pointer): Add hook function for
+ TARGET_EXPAND_BUILTIN_SET_THREAD_POINTER.
+ (alpha_fold_builtin): Remove ALPHA_BUILTIN_THREAD_POINTER,
+ ALPHA_BUILTIN_SET_THREAD_POINTER cases.
+ * config/arm/arm.md (get_thread_pointersi): New pattern.
+ * config/arm/arm-protos.h (arm_load_tp): Add extern declaration.
+ * config/arm/arm.c (arm_load_tp): Remove static.
+ (arm_builtins): Remove ARM_BUILTIN_THREAD_POINTER.
+ (arm_init_tls_builtins): Remove function.
+ (arm_init_builtins): Remove call to arm_init_tls_builtins().
+ (arm_expand_builtin): Remove ARM_BUILTIN_THREAD_POINTER case.
+ * config/mips/mips.md (get_thread_pointer<mode>): New pattern.
+ * config/mips/mips-protos.h (mips_expand_thread_pointer):
+ Add extern declaration.
+ * config/mips/mips.c (mips_expand_thread_pointer):
+ Renamed from mips_get_tp.
+ (mips_get_tp): New stub calling mips_expand_thread_pointer.
+ * config/s390/s390.c (s390_builtin,code_for_builtin_64,
+ code_for_builtin_31,s390_init_builtins,s390_expand_builtin): Remove.
+ * config/s390/s390.md (get_tp_64,get_tp_31,set_tp_64,set_tp_31):
+ Remove.
+ (get_thread_pointer<mode>,set_thread_pointer<mode>):
+ New, adapted from removed patterns.
+ * config/xtensa/xtensa.md (get_thread_pointersi):
+ Renamed from load_tp.
+ (set_thread_pointersi): Renamed from set_tp.
+ * config/xtensa/xtensa.c (xtensa_legitimize_tls_address):
+ Change gen_load_tp calls to gen_get_thread_pointersi.
+ (xtensa_builtin): Remove XTENSA_BUILTIN_THREAD_POINTER and
+ XTENSA_BUILTIN_SET_THREAD_POINTER.
+ (xtensa_init_builtins): Remove __builtin_thread_pointer,
+ __builtin_set_thread_pointer machine-specific builtins.
+ (xtensa_fold_builtin): Remove XTENSA_BUILTIN_THREAD_POINTER,
+ XTENSA_BUILTIN_SET_THREAD_POINTER cases.
+ (xtensa_expand_builtin): Remove XTENSA_BUILTIN_THREAD_POINTER,
+ XTENSA_BUILTIN_SET_THREAD_POINTER cases.
+
+2012-10-11 Marc Glisse <marc.glisse@inria.fr>
+
+ * doc/extend.texi (Vector Extensions): C++ improvements.
+ * doc/generic.texi (LSHIFT_EXPR, RSHIFT_EXPR): Mixed vector-scalar.
+ (LT_EXPR, LE_EXPR, GT_EXPR, GE_EXPR, EQ_EXPR, NE_EXPR): Specify
+ the vector case.
+ (VEC_COND_EXPR): Document it.
+
+2012-10-11 Terry Guo <terry.guo@arm.com>
+
+ * config/arm/arm.c (arm_arch6m): New variable to denote armv6-m
+ architecture.
+ * config/arm/arm.h (TARGET_HAVE_DMB): The armv6-m also has DMB
+ instruction.
+
+2012-10-11 Hans-Peter Nilsson <hp@bitrange.com>
+
+ PR target/54373
+ * configure.ac (out-of-tree linker .hidden support) Set to "no"
+ for mmix-knuth-mmixware.
+ * configure: Regenerate.
+
+ * configure.ac (gcc_cv_as_comdat_group_group): Default to no.
+ * configure: Regenerate.
+
+ * acinclude.m4 (_gcc_COMPUTE_GAS_VERSION): Allow a single
+ character to quote the VERSION= contents. Sanity-check contents.
+ * configure.ac ("what linker to use" ld version extraction): Ditto.
+ * configure: Regenerate.
+
+2012-10-10 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.h (PRINT_OPERAND_PUNCT_VALID_P): Delete '.'.
+
+2012-10-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/54877
+ * tree-vect-loop.c (vect_is_simple_reduction_1): For MINUS_EXPR
+ use make_ssa_name instead of copy_ssa_name.
+
+2012-10-10 Richard Biener <rguenther@suse.de>
+
+ * lto-streamer-in.c (lto_input_location_bitpack): Rename to ...
+ (lto_input_location): ... this. Kill original.
+ (input_eh_region): Adjust.
+ (input_struct_function_base): Likewise.
+ (lto_read_tree): Likewise.
+ * lto-streamer-out.c (lto_output_location_bitpack): Rename to ...
+ (lto_output_location): ... this. Kill original.
+ (lto_write_tree): Adjust.
+ (output_eh_region): Likewise.
+ (output_struct_function_base): Likewise.
+ * lto-streamer.c (lto_streamer_hooks_init): Initialize location hooks.
+ * lto-streamer.h (lto_input_location): Adjust prototype.
+ (lto_output_location): Likewise.
+ * streamer-hooks.h (struct streamer_hooks): Adjust prototype
+ of input_location and output_location hooks.
+ (stream_input_location): New define.
+ (stream_output_location): Likewise.
+ * tree-streamer-in.c (unpack_ts_block_value_fields): Adjust.
+ (unpack_value_fields): Likewise.
+ (streamer_read_tree_bitfields): Likewise.
+ (lto_input_ts_decl_minimal_tree_pointers): Likewise.
+ (lto_input_ts_exp_tree_pointers): Likewise.
+ (lto_input_ts_block_tree_pointers): Likewise.
+ * tree-streamer-out.c (pack_ts_block_value_fields): Adjust.
+ (streamer_pack_tree_bitfields): Likewise.
+ (write_ts_decl_minimal_tree_pointers): Likewise.
+ (write_ts_exp_tree_pointers): Likewise.
+ (write_ts_block_tree_pointers): Likewise.
+ * gimple-streamer-in.c (input_phi): Adjust.
+ (input_gimple_stmt): Likewise.
+ * gimple-streamer-out.c (output_phi): Adjust.
+ (output_gimple_stmt): Likewise.
+ * tree-streamer.h (streamer_read_tree_bitfields): Adjust prototype.
+ (streamer_pack_tree_bitfields): Likewise.
+
+2012-10-10 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (altivec_expand_dst_builtin): Fix signed
+ vs. unsigned warnings by using enum type for function code.
+ (paired_expand_builtin): Likewise.
+ (spe_expand_builtin): Likewise.
+
+ * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Change
+ builtin mask, target flags masks type to HOST_WIDE_INT in
+ preparation for growing the number of ISA switches from 31 to 63.
+
+ * config/rs6000/rs6000.opt (rs6000_builtin_mask): Make mask type
+ HOST_WIDE_INT.
+
+ * config/rs6000/rs6000.c (struct builtin_description): Make
+ builtin mask field HOST_WIDE_INT. Make target flags field
+ HOST_WIDE_INT in preparation for growing the # of ISA switches.
+ (struct rs6000_builtin_info_type): Likewise.
+ (struct rs6000_ptt): Likewise.
+ (rs6000_builtin_mask_calculate): Likewise.
+ (rs6000_invalid_builtin): Likewise.
+ (rs6000_builtin_decl): Likewise.
+ (rs6000_common_init_builtins): Likewise.
+ (rs6000_darwin_file_start): Likewise.
+ (rs6000_final_prescan_insn): Likewise.
+ (rs6000_inner_target_options): Likewise.
+ (build_target_option_node): Likewise.
+ (rs6000_function_specific_print): Likewise.
+ (DEBUG_FMT_W): New format for printing HOST_WIDE_INT in hex.
+
+ * config/rs6000/rs6000-protos.h (rs6000_builtin_mask_calculate):
+ Make target flags, builtin masks arguments/return values
+ HOST_WIDE_INT in preparation for growing the number of ISA from 31
+ to 63.
+ (rs6000_target_modify_macros): Likewise.
+ (rs6000_target_modify_macros_ptr): Likewise.
+
+ * config/rs6000/rs6000.c (DEBUG_FMT_ID): Move "-32s" to a separate
+ define and change DEBUG_FMT_<x> to use it.
+ (DEBUG_FMT_D): Likewise.
+ (DEBUG_FMT_S): Likewise.
+ (DEBUG_FMT_X): Delete, no longer used.
+ (DEBUG_FMT_W): Likewise.
+ (DEBUG_FMT_WX): New debug format for printing options in a
+ friendly fashion.
+ (rs6000_debug_reg_global): If -mdebug=reg, print all of the
+ options in target_flags and target_flags_explicit. Print the
+ default options for -mcpu=<xxx>, -mtune=<xxx>, and the default
+ options. Adjust printing out the builtin options.
+ (rs6000_option_override_internal): Change printing the builtin
+ options to use rs6000_print_builtin_options.
+ (rs6000_function_specific_print): Change to use
+ rs6000_print_isa_options to print ISA flags.
+ (rs6000_print_options_internal): New function for expanded
+ -mdebug=reg option printing to print both the ISA options, and the
+ builtins that are enabled.
+ (rs6000_print_isa_options): New function to print the ISA options.
+ (rs6000_print_builtin_options): New function to print the builtin
+ functions enabled.
+
+2012-10-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/51109
+ * config/i386/bdver1.md (bdver1-mult): Remove.
+
+ PR middle-end/54879
+ * combine.c (count_rtxs): Use RTX_BIN_ARITH resp. RTX_COMM_ARITH
+ instead of '2' resp. 'c' for GET_RTX_CLASS comparisons.
+
+ PR middle-end/54862
+ * simplify-rtx.c (simplify_truncation): Compare UINTVAL instead of
+ INTVAL of second argument with precision resp. op_precision.
+
+2012-10-10 Dodji Seketeli <dodji@redhat.com>
+
+ PR middle-end/54860 - Make sure attributes hash table is created
+ * attribs.c (register_scoped_attributes): Ensure the attribute
+ hash table is created.
+
+2012-10-10 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
+
+ PR target/51109
+ * config/i386/bdver1.md (bdver1_int): Automaton has been
+ split to reduce state transitions.
+
+2012-10-10 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/54876
+ * ipa-prop.c (prune_expression_for_jf_1): New function.
+ (prune_expression_for_jf): Clear EXPR_LOCATION for all
+ sub-expressions as well.
+
2012-10-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config.gcc: Enable zEC12 for with-arch and with-tune
- configure switches.
+ configure switches.
* common/config/s390/s390-common.c (processor_flags_table): Add
zEC12 entry.
* config/s390/2827.md: New file.
@@ -14,8 +677,7 @@
Set parameter defaults for zEC12.
(legitimate_reload_fp_constant_p): Adjust comment.
(preferred_la_operand_p): Adjust comment.
- (s390_expand_insv): Generate insv pattern without CC clobber for
- zEC12.
+ (s390_expand_insv): Generate insv pattern without CC clobber for zEC12.
(s390_adjust_priority): Add zEC12 check.
(s390_issue_rate): Return 2 for zEC12.
(s390_reorg): Enable code optimizations for zEC12.
@@ -43,8 +705,10 @@
(*movsf_insn): Likewise.
(*movdf_insn_sp64): Likewise.
(*mov<VM32:mode>_insn): Likewise, use 'fsrc2s' instead of 'fsrc1s'.
- (*mov<VM64:mode>_insn_sp64): Likewise, use 'fsrc2s' instead of 'fsrc1s'.
- (*mov<VM64:mode>_insn_sp32): Likewise, use 'fsrc2s' instead of 'fsrc1s'.
+ (*mov<VM64:mode>_insn_sp64): Likewise, use 'fsrc2s'
+ instead of 'fsrc1s'.
+ (*mov<VM64:mode>_insn_sp32): Likewise, use 'fsrc2s'
+ instead of 'fsrc1s'.
(VIS logical instructions): Mark as visl.
(pdist_vis): Use 'pdist'.
(pditsn<mode>_vis): Use 'pdistn'.
@@ -75,15 +739,16 @@
* Makefile.in (fold-const.o): Add depencence on hash-table.h.
(dse.o): Likewise.
(cfg.o): Likewise.
- * fold-const.c (fold_checksum_tree): Change to new type-safe hash table.
+ * fold-const.c (fold_checksum_tree): Change to new
+ type-safe hash table.
* (print_fold_checksum): Likewise.
* cfg.c (var bb_original): Likewise.
* (var bb_copy): Likewise.
* (var loop_copy): Likewise.
* hash-table.h (template hash_table): Constify parameters for find...
and remove_elt... member functions.
- (hash_table::empty) Correct size expression.
- (hash_table::clear_slot) Correct deleted entry assignment.
+ (hash_table::empty) Correct size expression.
+ (hash_table::clear_slot) Correct deleted entry assignment.
* dse.c (var rtx_group_table): Change to new type-safe hash table.
2012-10-09 Steven Bosscher <steven@gcc.gnu.org>
@@ -18470,7 +19135,7 @@
2012-04-26 Bernd Schmidt <bernds@codesourcery.com>
- * PR middle-end/52997
+ PR middle-end/52997
* ira.c (find_moveable_pseudos): Call resize_reg_info.
PR middle-end/52940