summaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2012-12-05 15:16:34 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2012-12-05 15:16:34 +0000
commit637f388d4b5f26804e4687ba130d83a853b9259e (patch)
tree96f0dba342fa3f8241e3f3155795e2e0dd60785e /gcc/ChangeLog
parent0f32be614d97e72c5e7e80b5ed0283f3b4645219 (diff)
downloadgcc-637f388d4b5f26804e4687ba130d83a853b9259e.tar.gz
2012-12-05 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk rev 194222 using svnmerge.py git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@194223 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r--gcc/ChangeLog297
1 files changed, 297 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bf76f6511b7..0ba2ae1822d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,300 @@
+2012-12-05 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/aarch64/aarch64-simd-builtins.def: Add new builtins.
+ * config/aarch64/aarch64-simd.md (simd_type): Add uzp.
+ (aarch64_<PERMUTE:perm_insn><PERMUTE:perm_hilo><mode>): New.
+ * config/aarch64/aarch64.c (aarch64_evpc_trn): New.
+ (aarch64_evpc_uzp): Likewise.
+ (aarch64_evpc_zip): Likewise.
+ (aarch64_expand_vec_perm_const_1): Check for trn, zip, uzp patterns.
+ * config/aarch64/iterators.md (unspec): Add neccessary unspecs.
+ (PERMUTE): New.
+ (perm_insn): Likewise.
+ (perm_hilo): Likewise.
+
+2012-12-05 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/aarch64/aarch64-protos.h
+ (aarch64_split_combinev16qi): New.
+ (aarch64_expand_vec_perm): Likewise.
+ (aarch64_expand_vec_perm_const): Likewise.
+ * config/aarch64/aarch64-simd.md (vec_perm_const<mode>): New.
+ (vec_perm<mode>): Likewise.
+ (aarch64_tbl1<mode>): Likewise.
+ (aarch64_tbl2v16qi): Likewise.
+ (aarch64_combinev16qi): New.
+ * config/aarch64/aarch64.c
+ (aarch64_vectorize_vec_perm_const_ok): New.
+ (aarch64_split_combinev16qi): Likewise.
+ (MAX_VECT_LEN): Define.
+ (expand_vec_perm_d): New.
+ (aarch64_expand_vec_perm_1): Likewise.
+ (aarch64_expand_vec_perm): Likewise.
+ (aarch64_evpc_tbl): Likewise.
+ (aarch64_expand_vec_perm_const_1): Likewise.
+ (aarch64_expand_vec_perm_const): Likewise.
+ (aarch64_vectorize_vec_perm_const_ok): Likewise.
+ (TARGET_VECTORIZE_VEC_PERM_CONST_OK): Likewise.
+ * config/aarch64/iterators.md
+ (unspec): Add UNSPEC_TBL, UNSPEC_CONCAT.
+ (V_cmp_result): Add mapping for V2DF.
+
+2012-12-05 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_simd_mangle_map_entry): New
+ typedef.
+ (aarch64_simd_mangle_map): New table.
+ (aarch64_mangle_type): Locate and return the mangled name for
+ a given AdvSIMD vector type.
+
+2012-12-05 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_mangle_type): New function.
+ (TARGET_MANGLE_TYPE): Define.
+
+2012-12-05 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/aarch64/aarch64-builtins.c
+ (aarch64_builtin_vectorized_function): New.
+ * config/aarch64/aarch64-protos.h
+ (aarch64_builtin_vectorized_function): Declare.
+ * config/aarch64/aarch64-simd-builtins.def (frintz, frintp): Add.
+ (frintm, frinti, frintx, frinta, fcvtzs, fcvtzu): Likewise.
+ (fcvtas, fcvtau, fcvtps, fcvtpu, fcvtms, fcvtmu): Likewise.
+ * config/aarch64/aarch64-simd.md
+ (aarch64_frint_<frint_suffix><mode>): New.
+ (<frint_pattern><mode>2): Likewise.
+ (aarch64_fcvt<frint_suffix><su><mode>): Likewise.
+ (l<fcvt_pattern><su_optab><fcvt_target><VDQF:mode>2): Likewise.
+ * config/aarch64/aarch64.c (TARGET_VECTORIZE_BUILTINS): Define.
+ (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Likewise.
+ * config/aarch64/aarch64.md
+ (btrunc<mode>2, ceil<mode>2, floor<mode>2)
+ (round<mode>2, rint<mode>2, nearbyint<mode>2): Consolidate as...
+ (<frint_pattern><mode>2): ...this.
+ (lceil<su_optab><mode><mode>2, lfloor<su_optab><mode><mode>2)
+ (lround<su_optab><mode><mode>2)
+ (lrint<su_optab><mode><mode>2): Consolidate as...
+ (l<fcvt_pattern><su_optab><GPF:mode><GPI:mode>2): ... this.
+ * config/aarch64/iterators.md (fcvt_target): New.
+ (FCVT_TARGET): Likewise.
+ (FRINT): Likewise.
+ (FCVT): Likewise.
+ (frint_pattern): Likewise.
+ (frint_suffix): Likewise.
+ (fcvt_pattern): Likewise.
+
+2012-12-05 Steven Bosscher <steven@gcc.gnu.org>
+
+ * passes.c (pass_init_dump_file): Only open a clean graph dump file if
+ the dump was not already initialized.
+
+ Revert:
+ 2012-12-03 Steven Bosscher <steven@gcc.gnu.org>
+ * passes.c (finish_optimization_passes): Don't finish graph dumps here.
+ (pass_fini_dump_file): Wrap in TV_DUMP. Finish graph dumps.
+ (execute_one_pass): Don't set up graph dumps here.
+
+2012-12-05 Richard Biener <rguenther@suse.de>
+
+ PR lto/55525
+ * gimple-streamer-in.c (input_gimple_stmt): Fixup ARRAY_REFs as well.
+
+2012-12-04 Ian Lance Taylor <iant@google.com>
+
+ * godump.c (find_dummy_types): Output a dummy type if we couldn't
+ output the real type.
+
+2012-12-04 Steven Bosscher <steven@gcc.gnu.org>
+
+ * rtl.h (print_insn_with_notes): Remove prototype.
+ (rtl_dump_bb_for_graph): New prototype.
+ * sched-vis.c (print_insn_with_notes): Make static again. Fix
+ printing of notes.
+ (rtl_dump_bb_for_graph): New function.
+ * cfghooks.h (struct cfg_hooks) <dump_bb_for_graph>: New hook.
+ (dump_bb_for_graph): New prototype.
+ * cfghooks.c (dump_bb_for_graph): New function.
+ * tree-cfg.c (gimple_cfg_hooks): Register gimple_dump_bb_for_graph
+ as dump_bb_for_graph hook implementation for GIMPLE.
+ * cfgrtl.c (rtl_cfg_hooks): Likewise for rtl_dump_bb_for_graph.
+ (cfg_layout_rtl_cfg_hooks): Likewise.
+ * graph.c (draw_cfg_node): Don't include sbitmap.h, rtl.h, tree.h,
+ gimple.h, and gimple-pretty-print.h.
+ (draw_cfg_node, draw_cfg_node_succ_edges): Use the uniqe function
+ definition number instead of the function declaration UID.
+ (print_graph_cfg): Take a struct function instead of a tree.
+ Use the dump_bb_for_graph hook to dump the basic block content.
+ * graph.h (print_graph_cfg): Update prototype.
+ * passes.c (execute_function_dump): Update print_graph_cfg call.
+ * Makefile.in (graph.o): Fixup dependencies.
+
+2012-12-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_build_builtin_va_list): Set
+ TYPE_STUB_DECL.
+
+2012-12-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (s390_select_ccmode): Enable using CC of
+ x + imm for higher immediates on z9-109 upwards.
+
+2012-12-04 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.opt (cirrus-fix-invalid-insns): Delete option.
+ * invoke.texi (cirrus-fix-invalid-insns): Remove documentation.
+
+2012-12-04 Jakub Jelinek <jakub@redhat.com>
+
+ * tsan.c (instrument_expr): If expr_ptr isn't a gimple val, first
+ store it into a SSA_NAME.
+
+ PR sanitizer/55439
+ * Makefile.in (tsan.o): Depend on tree-ssa-propagate.h.
+ * sanitizer.def: Add __tsan_atomic* builtins.
+ * asan.c (initialize_sanitizer_builtins): Adjust to also
+ initialize __tsan_atomic* builtins.
+ * tsan.c: Include tree-ssa-propagate.h.
+ (enum tsan_atomic_action): New enum.
+ (tsan_atomic_table): New table.
+ (instrument_builtin_call): New function.
+ (instrument_gimple): Take pointer to gimple_stmt_iterator
+ instead of gimple_stmt_iterator. Call instrument_builtin_call
+ on builtin call stmts.
+ (instrument_memory_accesses): Adjust instrument_gimple caller.
+ * builtin-types.def (BT_FN_BOOL_VPTR_PTR_I1_INT_INT,
+ BT_FN_BOOL_VPTR_PTR_I2_INT_INT, BT_FN_BOOL_VPTR_PTR_I4_INT_INT,
+ BT_FN_BOOL_VPTR_PTR_I8_INT_INT, BT_FN_BOOL_VPTR_PTR_I16_INT_INT): New.
+
+2012-12-04 Tejas Belagod <tejas.belagod@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_simd_vector_alignment,
+ aarch64_simd_vector_alignment_reachable): New.
+ (TARGET_VECTOR_ALIGNMENT, TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE):
+ Define.
+
+2012-12-04 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/55124
+ * tree-ssa-pre.c (find_or_generate_expression): Instead of
+ ICEing when we are not able to generate an expression defer it
+ by signalling failure. Fix possible wrong-code issue by
+ not picking random REFERENCE expressions as fallback.
+ (create_component_ref_by_pieces_1): Adjust. Add failure paths.
+ (create_expression_by_pieces): Likewise.
+ (insert_into_preds_of_block): When expression generation failed
+ for one edge make sure to not insert a PHI node.
+
+2012-12-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/ia64/ia64.c (ia64_compute_frame_size): Allocate the scratch
+ area if the function allocates dynamic stack space.
+ (ia64_initial_elimination_offset): Adjust offsets to above change.
+
+2012-12-03 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gcse.c (struct reg_use): Remove unused struct.
+ (gcse_emit_move_after): Do not create REG_EQUAL notes that reference
+ the SET_DEST of the instruction the note would be attached to.
+ * cse.c (cse_main): Add the DF_NOTE problem.
+
+2012-12-03 Jakub Jelinek <jakub@redhat.com>
+
+ * sanitizer.def: Add Address Sanitizer builtins.
+ Rename BUILT_IN_TSAN_READ_* to BUILT_IN_TSAN_READ* and
+ BUILT_IN_TSAN_WRITE_* to BUILT_IN_TSAN_WRITE*.
+ * Makefile.in (asan.o): Depend on langhooks.h.
+ (tsan.o): Depend on asan.h.
+ * asan.h (initialize_sanitizer_builtins): New prototype.
+ * asan.c: Include langhooks.h.
+ (report_error_func): Use builtin_decl_implicit of corresponding
+ BUILT_IN_ASAN_REPORT_{LOAD,STORE}*.
+ (asan_init_func): Removed.
+ (initialize_sanitizer_builtins): New function.
+ (asan_finish_file): Call it. Use builtin_decl_implicit
+ on BUILT_IN_ASAN_{INIT,{,UN}REGISTER_GLOBALS}.
+ (asan_instrument): Call initialize_sanitizer_builtins.
+ * builtins.def (DEF_SANITIZER_BUILTIN): Change condition to
+ (flag_asan || flag_tsan).
+ * tsan.c: Include asan.h and tsan.h.
+ (get_memory_access_decl): Rename BUILT_IN_TSAN_{READ,WRITE}_*
+ to BUILT_IN_TSAN_{READ,WRITE}*.
+ (tsan_pass): Call initialize_sanitizer_builtins.
+ (tsan_gate, tsan_gate_O0): Don't check if
+ builtin_decl_implicit_p (BUILT_IN_TSAN_INIT) is true.
+ (tsan_finish_file): Call initialize_sanitizer_builtins.
+ * builtin-types.def (BT_FN_VOID_PTR_PTRMODE): New fn type.
+
+2012-12-03 Aldy Hernandez <aldyh@redhat.com>
+
+ PR middle-end/55401
+ * trans-mem.c (get_tm_region_blocks): Exclude uninstrumented
+ blocks from vector if requested.
+ (collect_bb2reg): Pass new argument to
+ get_tm_region_blocks.
+ (get_bb_regions_instrumented): Add INCLUDE_UNINSTRUMENTED_P
+ argument, and pass it to expand_regions.
+ (execute_tm_mark): Pass new argument to
+ get_bb_regions_instrumented.
+ (execute_tm_edges): Same.
+
+2012-12-03 Jakub Jelinek <jakub@redhat.com>
+
+ * asan.c (instrument_mem_region_access): Don't instrument
+ if base doesn't have pointer type or len integral type.
+ Add cast if len doesn't have size_t compatible type.
+ (instrument_builtin_call): Don't instrument BUILT_IN_ATOMIC_LOAD,
+ BUILT_IN_ATOMIC_TEST_AND_SET, BUILT_IN_ATOMIC_CLEAR,
+ BUILT_IN_ATOMIC_EXCHANGE, BUILT_IN_ATOMIC_COMPARE_EXCHANGE
+ and BUILT_IN_ATOMIC_STORE.
+
+ * asan.c (instrument_assignment): Instrument lhs only
+ for gimple_store_p and rhs1 only for gimple_assign_load_p.
+
+2012-12-03 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+
+ * Makefile.in: Add target mddump, build/genmddump.o. Extend
+ genprogrtl with mddump.
+ * genmddump.c: New.
+
+2012-12-03 Steven Bosscher <steven@gcc.gnu.org>
+
+ * rtl.h (print_insn_with_notes): Prototype.
+ * sched-vis.c (print_insn_with_notes): Export it.
+
+ * gimple-pretty-print.h (gimple_dump_bb_for_graph): Prototype.
+ * gimple-pretty-print.c (print_gimple_expr): Flush the buffer.
+ (pp_gimple_stmt_1): Don't do it here.
+ (gimple_dump_bb_for_graph): New function.
+ * tree-pretty-print.c (print_generic_expr): Flush the buffer here.
+ (dump_generic_node): Don't flush the buffer here.
+
+ * graph.h (print_rtl_graph_with_bb): Rename to print_graph_cfg.
+ * graph.c: Include gimple.h, dumpfile.h, and gimple-pretty-print.h.
+ (draw_cfg_node): Handle GIMPLE basic blocks also.
+ (print_rtl_graph_with_bb): Rename to print_graph_cfg.
+ * passes.c (finish_optimization_passes): Don't finish graph dumps here.
+ (execute_function_dump): Use print_graph_cfg. Enable dumping the CFG
+ for GIMPLE also.
+ (pass_init_dump_file): Wrap in TV_DUMP. Set up CFG graph dumps.
+ (pass_fini_dump_file): Wrap in TV_DUMP. Finish graph dumps.
+ (execute_one_pass): Don't set up graph dumps here.
+
+2012-12-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-ssa.c (warn_uninitialized_var): Use OPT_Wmaybe_uninitialized tag
+ in the non-always executed case.
+
+2012-12-03 Sofiane Naci <sofiane.naci@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_build_constant): Update prototype.
+ Call emit_move_insn instead of printing movi/movn/movz instructions.
+ Call gen_insv_immdi instead of printing movk instruction.
+ (aarch64_add_constant): Update prototype.
+ Generate RTL instead of printing add/sub instructions.
+ (aarch64_output_mi_thunk): Update calls to aarch64_build_constant
+ and aarch64_add_constant.
+
2012-12-03 Kai Tietz <ktietz@redhat.com>
PR target/53912