diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-12-05 15:16:34 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-12-05 15:16:34 +0000 |
commit | 637f388d4b5f26804e4687ba130d83a853b9259e (patch) | |
tree | 96f0dba342fa3f8241e3f3155795e2e0dd60785e /gcc/ChangeLog | |
parent | 0f32be614d97e72c5e7e80b5ed0283f3b4645219 (diff) | |
download | gcc-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/ChangeLog | 297 |
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 |