summaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r--gcc/ChangeLog295
1 files changed, 295 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 486aa0f141d..9e0e3f0633f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,298 @@
+2011-12-12 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/darwin-sections.def (zobj_const_data_section): Fix over-
+ length section name.
+
+2011-12-11 Richard Henderson <rth@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_expand_interleave): Use
+ BYTES_BIG_ENDIAN, not TARGET_BIG_ENDIAN.
+
+2011-12-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51485
+ * tree-vect-data-refs.c (vect_analyze_data_refs): Give up on
+ DRs in call stmts.
+
+2011-12-11 Patrick Marlier <patrick.marlier@gmail.com>
+
+ * trans-mem.c (ipa_tm_transform_calls_redirect): Do not remove
+ edge.
+
+2011-12-10 Richard Henderson <rth@redhat.com>
+
+ * config/rs6000/altivec.md (altivec_vmrghb): Rewrite pattern as
+ vec_select + vec_concat.
+ (altivec_vmrghh, altivec_vmrghw, altivec_vmrghsf, altivec_vmrglb,
+ altivec_vmrglh, altivec_vmrglw, altivec_vmrglsf): Likewise.
+ (vec_perm_constv16qi): New.
+ (vec_extract_evenv4si, vec_extract_evenv4sf, vpkuhum_nomode,
+ vpkuwum_nomode, vec_extract_oddv8hi, vec_extract_oddv16qi,
+ vec_interleave_high<VI>, vec_interleave_low<VI>): Remove.
+ * config/rs6000/paired.md (paired_merge00): Rewrite pattern as
+ vec_select + vec_concat.
+ (paired_merge10, paired_merge01, paired_merge11): Likewise.
+ (vec_perm_constv2sf): New.
+ (vec_interleave_highv2sf, vec_interleave_lowv2sf,
+ vec_extract_evenv2sf, vec_extract_oddv2sf): Remove.
+ * config/rs6000/spe.md (spe_evmergehi): Rewrite pattern as
+ vec_select + vec_concat.
+ (spe_evmergehilo, spe_evmergelo, spe_evmergelohi): New.
+ (vec_perm_constv2si): New.
+ * config/rs6000/vector.md (vec_interleave_highv4sf,
+ vec_interleave_lowv4sf, vec_interleave_high<VEC_64>,
+ vec_interleave_low<VEC_64>): Remove.
+ * config/rs6000/vsx.md (VS_double): New mode attribute.
+ (UNSPEC_VSX_XXPERMDI): Remove.
+ (vsx_xxpermdi_<VSX_L>_1): Rewrite pattern as vec_select + vec_concat.
+ (vsx_xxmrghw_<VSX_W>, vsx_xxmrglw_<VSX_W>): Likewise.
+ (vsx_xxpermdi_<VSX_L>): Change to expander.
+ (vec_perm_const<VSX_D>): New.
+ (vsx_mergel_<VSX_D>, vsx_mergeh_<VSX_D>): New.
+ * config/rs6000/predicates.md (const_0_to_1_operand): New.
+ (const_2_to_3_operand): New.
+ * config/rs6000/rs6000.c (TARGET_VECTORIZE_VEC_PERM_CONST_OK): New.
+ (altivec_expand_vec_perm_const): New.
+ (rs6000_expand_vec_perm_const_1, rs6000_expand_vec_perm_const): New.
+ (rs6000_vectorize_vec_perm_const_ok): New.
+ (rs6000_do_expand_vec_perm): New.
+ (rs6000_expand_extract_even, rs6000_expand_interleave): New.
+ * config/rs6000/rs6000-builtin.def (VEC_MERGE*): Update rtx codes.
+ * config/rs6000/rs6000-modes.def: Add double-wide vector modes.
+ * config/rs6000/rs6000-protos.h: Update.
+
+2011-12-10 Richard Henderson <rth@redhat.com>
+
+ * expr.c (expand_expr_real_2) [VEC_PERM_EXPR]: Avoid passing a
+ CONST_INT to expand_vec_perm as the selector.
+ * optabs.c (expand_vec_perm): Assert the selector is of a proper mode.
+
+2011-12-10 Richard Henderson <rth@redhat.com>
+
+ * genmodes.c (struct mode_data): Remove wider_2x member.
+ (blank_mode): Adjust initializer.
+ (calc_wider_mode): Use XALLOCAVEC.
+ (emit_move_wider): Select double-width same-element vectors for
+ 2xwider vectors.
+ * machmode.h (GET_MODE_2XWIDER_MODE): Update documentation.
+ * config/i386/i386.c (doublesize_vector_mode): Remove.
+ (expand_vselect_vconcat): Use GET_MODE_2XWIDER_MODE instead.
+
+2011-12-10 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * config/epiphany/epiphany.h (USE_LOAD_POST_INCREMENT): Define.
+ (USE_LOAD_POST_DECREMENT, USE_STORE_POST_INCREMENT): Likewise.
+ (USE_STORE_POST_DECREMENT): Likewise.
+
+ * config/epiphany/epiphany.h (EPIPHANY_RETURN_REGNO): New macro,
+ broken out of ..
+ (INCOMING_RETURN_ADDR_RTX) .. this. Use EPIPHANY_RETURN_REGNO.
+ (DWARF_FRAME_RETURN_COLUMN): New macro.
+
+ * config/epiphany/epiphany-protos.h (epiphany_start_function): Declare.
+ * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
+ Split "timer" value into "timer0" and "timer1".
+ Handle page_miss, message and wand. Don't handle static_flag.
+ Adjust warning text.
+ (epiphany_start_function): New function.
+ (epiphany_compute_function_type): Split "timer" value into "timer0"
+ and "timer1". Handle page_miss, message and wand.
+ Don't handle static_flag.
+ (epiphany_expand_epilogue): Don't use frame_insn for status / iret
+ restore.
+ * config/epiphany/epiphany.h: ASM_DECLARE_FUNCTION_NAME: Define.
+ (enum epiphany_function_type):
+ Split EPIPHANY_FUNCTION_TIMER value into EPIPHANY_FUNCTION_TIMER0
+ and EPIPHANY_FUNCTION_TIMER1.
+ Remove EPIPHANY_FUNCTION_ILINK1 and EPIPHANY_FUNCTION_ILINK2 values.
+ Add EPIPHANY_FUNCTION_PAGE_MISS and EPIPHANY_FUNCTION_MESSAGE values.
+ Rename EPIPHANY_FUNCTION_STATIC_FLAG to EPIPHANY_FUNCTION_WAND.
+
+2011-12-10 Nathan Sidwell <nathan@acm.org>
+
+ PR gcov-profile/51449
+ * coverage.c (coverage_end_function): Always process the coverage
+ variables.
+
+2011-12-09 Aldy Hernandez <aldyh@redhat.com>
+
+ PR/51291
+ * tree.c (build_common_builtin_nodes): Do not use TM_PURE
+ attribute unless language has support for TM.
+ * config/i386/i386.c (ix86_init_tm_builtins): Exit gracefully in
+ the absence of TM builtins.
+
+2011-12-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimple-fold.c (gimple_fold_stmt_to_constant_1) <GIMPLE_UNARY_RHS>:
+ Also check the TYPE_MODE to recognize useless pointer conversions.
+
+2011-12-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51117
+ * tree-eh.c (optimize_clobbers): Don't remove just one
+ clobber, but all consecutive clobbers before RESX.
+ Use gimple_clobber_p predicate.
+
+2011-12-09 Michael Meissner <meissner@the-meissners.org>
+
+ * config/rs6000/rs6000.c (altivec_expand_builtin): Call
+ expand_call to return a valid funciton instead of return
+ cosnt0_rtx/NULL_RTX if there was an error with the builtin.
+ (altivec_expand_ld_builtin): Ditto.
+ (rs6000_inner_target_options): If VSX is selected as a target
+ attribute or pragma, enable ALTIVEC also.
+ (rs6000_pragma_target_parse): Call rs6000_option_override_internal
+ to do all of the standard processing when switching options,
+ including redefining appropriate macros.
+
+ PR rtl-optimization/51469
+ * varasm.c (default_binds_local_p_1): If the symbol is a gnu
+ indirect function, mark the symbol as non-local.
+
+2011-12-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/51479
+ * Makefile.in (errors.o): Restored.
+
+2011-12-09 Richard Guenther <rguenther@suse.de>
+
+ PR lto/48042
+ * tree.c (free_lang_data_in_decl): Remove freeing conditional
+ on debuginfo level.
+
+2011-12-09 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ PR middle-end/40154
+ * emit-rtl.c (set_dst_reg_note): New function.
+ * rtl.h (set_dst_reg_note): Declare.
+ * optabs.c (expand_binop, expand_absneg_bit): Use set_dst_reg_note.
+ (emit_libcall_block, expand_fix): Likewise.
+ * function.c (assign_parm_setup_reg, expand_function_start): Likewise.
+ * expmed.c (expand_mult_const, expand_divmod): Likewise.
+ * reload1.c (gen_reload): Likewise.
+
+ * dse.c (get_stored_val, get_call_args): Use gen_int_mode.
+ * expmed.c (expand_divmod): Likewise.
+ * combine.c (simplify_if_then_else): Likewise.
+
+2011-12-09 Kai Tietz <ktietz@redhat.com>
+
+ * ira-color.c (print_hard_regs_subforest): Use
+ HOST_WIDEST_INT_PRINT_DEC instead of %lld.
+ (allocno_hard_regs): Change type of cost member
+ to HOST_WIDEST_INT.
+ (add_allocno_hard_regs): Change type of argument cost
+ to HOST_WIDEST_INT.
+ * ira-conflict.c (build_conflict_bit_table): Replace use
+ of long-long by HOST_WIDEST_INT.
+
+2011-12-09 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/51425
+ * config/avr/avr.md (config/avr/avr.md, *sbix_branch_tmp): Use
+ zero_extract:QIHI instead of zero_extract:HI.
+
+2011-12-09 Jakub Jelinek <jakub@redhat.com>
+ Andrew Pinski <apinski@cavium.com>
+
+ PR tree-optimization/51117
+ * tree-eh.c (optimize_clobbers): New function.
+ (execute_lower_eh_dispatch): Call it.
+
+2011-12-09 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51482
+ * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
+ Make sure to only create REAL_TYPE and INTEGER_TYPE component
+ vectors.
+
+2011-12-09 Kai Tietz <ktietz@redhat.com>
+
+ * implicit-zee.c (num_realized): Change type to long.
+ (num_ze_opportunities): Likewise.
+
+2011-12-08 Andrew Pinski <apinski@cavium.com>
+
+ * config/mips/mips-cpus.def (octeon+): New CPU.
+ * config/mips/mips-tables.opt: Regenerate.
+ * config/mips/mips.h (MIPS_CPP_SET_PROCESSOR): Emit '+' as 'P'.
+
+2011-12-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR middle-end/39976
+ * tree-ssa-dom.c (enum expr_kind): Add EXPR_PHI.
+ (struct hashable_expr): Add struct phi field.
+ (initialize_hash_element): Handle phis; change to use XCNEWVEC.
+ (hashable_expr_equal_p): Handle phis.
+ (iterative_hash_hashable_expr): Likewise.
+ (print_expr_hash_elt): Likewise.
+ (free_expr_hash_elt): Likewise.
+ (dom_opt_enter_block): Create equivalences from redundant phis.
+ (eliminate_redundant_computations): Handle redundant phis.
+ (lookup_avail_expr): Handle phis.
+
+2011-12-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51466
+ * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Also copy
+ TREE_SIDE_EFFECTS.
+
+2011-12-08 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-operands.c (add_stmt_operand): Do not mark stmts
+ volatile when processing operands of an ADDR_EXPR.
+ (get_indirect_ref_operands): Likewise.
+ (get_tmr_operands): Likewise.
+ (get_expr_operands): Likewise.
+
+2011-12-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ PR target/50395
+ * config/s390/s390.c (s390_mainpool_finish): Emit the jump over
+ the literal pool as jump insn.
+
+2011-12-08 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49772
+ * tree-inline.c (optimize_inline_calls): Remove bail out
+ on errors.
+
+2011-12-08 Richard Guenther <rguenther@suse.de>
+
+ PR lto/50747
+ * lto-streamer-out.c (produce_symtab): Remove asserts.
+
+2011-12-08 Richard Guenther <rguenther@suse.de>
+
+ PR lto/49945
+ * lto-streamer-out.c (tree_is_indexable): Localize variably
+ modified types and their FIELD_DECLs.
+
+2011-12-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/51315
+ * tree.h (get_object_or_type_alignment): Declare.
+ * expr.c (get_object_or_type_alignment): Move to...
+ * builtins.c (get_object_or_type_alignment): ...here. Add assertion.
+ * tree-sra.c (tree_non_mode_aligned_mem_p): Rename to...
+ (tree_non_aligned_mem_p): ...this. Add ALIGN parameter. Look into
+ MEM_REFs and use get_object_or_type_alignment for them.
+ (build_accesses_from_assign): Adjust for above change.
+ (access_precludes_ipa_sra_p): Likewise.
+
+2011-12-08 Richard Guenther <rguenther@suse.de>
+
+ PR lto/48437
+ * lto-streamer-out.c (tree_is_indexable): Exclude block-local
+ extern declarations.
+
+2011-12-07 Andrew Pinski <apinski@cavium.com>
+
+ PR middle-end/45416
+ * expr.c (do_store_flag): Rewrite code that looks for BIT_AND_EXPR for
+ SSA-expand.
+
2011-12-07 Richard Guenther <rguenther@suse.de>
PR tree-optimization/50823