| 2018-10-26 Release Manager |
| |
| * GCC 6.5.0 released. |
| |
| 2018-10-17 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR middle-end/87623 |
| * fold-const.c (fold_truth_andor_1): If the right side is not constant, |
| bail out if both sides do not have the same storage order. |
| |
| 2018-10-15 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2018-08-23 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/87024 |
| * tree-inline.c (copy_bb): Drop unused __builtin_va_arg_pack_len |
| calls. |
| |
| 2018-08-17 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/86505 |
| * tree-inline.c (copy_bb): When inlining __builtin_va_arg_pack_len () |
| across a va-arg-pack using call adjust its return value accordingly. |
| |
| 2018-10-12 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2018-10-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/87550 |
| * config/i386/i386.c (bdesc_args): Move IX86_BUILTIN_RDPMC |
| from here to ... |
| (bdesc_special_args): ... here. |
| |
| 2018-09-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/87248 |
| * fold-const.c (fold_ternary_loc) <case COND_EXPR>: Verify also that |
| BIT_AND_EXPR's second operand is a power of two. Formatting fix. |
| |
| 2018-08-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/87065 |
| * combine.c (simplify_if_then_else): Formatting fix. |
| (if_then_else_cond): Guard MULT optimization with SCALAR_INT_MODE_P |
| check. |
| (known_cond): Don't return const_true_rtx for vector modes. Use |
| CONST0_RTX instead of const0_rtx. Formatting fixes. |
| |
| 2018-07-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/86627 |
| * expmed.c (expand_divmod): Punt if d == HOST_WIDE_INT_MIN |
| and size > HOST_BITS_PER_WIDE_INT. For size > HOST_BITS_PER_WIDE_INT |
| and abs_d == d, do the power of two handling if profitable. |
| |
| 2018-07-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/86542 |
| * omp-low.c (create_task_copyfn): Copy over also fields corresponding |
| to _looptemp_ clauses, other than the first two. |
| |
| PR middle-end/86539 |
| * gimplify.c (gimplify_omp_for): Ensure taskloop firstprivatized init |
| and cond temporaries don't have reference type if iterator has |
| pointer type. For init use &for_pre_body instead of pre_p if |
| for_pre_body is non-empty. |
| |
| 2018-07-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/86660 |
| * omp-low.c (scan_sharing_clauses): Don't ignore map clauses for |
| declare target to variables if they have always,{to,from,tofrom} map |
| kinds. |
| |
| 2018-10-12 Richard Biener <rguenther@suse.de> |
| |
| PR c++/54278 |
| Backport from mainline |
| 2017-03-23 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80032 |
| * gimplify.c (gimple_push_cleanup): Forced unconditional |
| cleanups still have to go to the conditional_cleanups |
| sequence. |
| |
| 2017-03-21 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80032 |
| * gimplify.c (gimple_push_cleanup): Add force_uncond parameter, |
| if set force the cleanup to happen unconditionally. |
| (gimplify_target_expr): Push inserted clobbers with force_uncond |
| to avoid them being removed by control-dependent DCE. |
| |
| 2018-10-12 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-10-08 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/87517 |
| * config/i386/avx512fintrin.h (_mm512_mask_fmaddsub_round_pd): |
| Defined with __builtin_ia32_vfmaddsubpd512_mask. |
| |
| 2018-10-12 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-10-05 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/87522 |
| * config/i386/gnu-user.h (ASM_SPEC): Don't pass -msse2avx to |
| assembler for -mavx. |
| * config/i386/gnu-user64.h (ASM_SPEC): Likewise. |
| |
| 2018-09-19 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.md (atomic_storeqi): Restore deleted expander. |
| (atomic_storehi): Likewise. |
| (atomic_storesi): Likewise. |
| (atomic_loaddi): Restore compare and swap exchange loop code. |
| |
| 2018-09-04 Max Filippov <jcmvbkbc@gmail.com> |
| |
| Backport from mainline |
| 2018-09-04 Max Filippov <jcmvbkbc@gmail.com> |
| |
| * config/xtensa/xtensa.c (xtensa_expand_atomic): Reorder AND and |
| XOR operations in NAND case. |
| |
| 2018-09-03 Tom de Vries <tdevries@suse.de> |
| |
| backport from trunk: |
| 2018-06-21 Tom de Vries <tdevries@suse.de> |
| |
| PR tree-optimization/85859 |
| * tree-ssa-tail-merge.c (stmt_local_def): Copy gimple_is_call |
| test with comment from bb_no_side_effects_p. |
| |
| 2018-08-21 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-08-20 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/87014 |
| * config/i386/i386.md (eh_return): Always update EH return |
| address in word_mode. |
| |
| 2018-08-17 John David Anglin <danglin@gcc.gnu.org> |
| |
| Backport from mainline |
| 2018-08-11 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.md (UNSPEC_MEMORY_BARRIER): New unspec enum. |
| Update comment for atomic instructions. |
| (atomic_storeqi, atomic_storehi, atomic_storesi, atomic_storesf, |
| atomic_loaddf, atomic_loaddf_1, atomic_storedf, atomic_storedf_1): |
| Remove. |
| (atomic_loaddi): Revise fence expansion to only emit fence prior to |
| load for __ATOMIC_SEQ_CST model. |
| (atomic_loaddi_1): Remove float register target. |
| (atomic_storedi): Handle CONST_INT values. |
| (atomic_storedi_1): Remove float register source. Add special case |
| for zero value. |
| (memory_barrier): New expander and insn. |
| |
| 2018-08-14 Matthias Klose <doko@ubuntu.com> |
| |
| Backport from mainline |
| 2018-08-01 Richard Biener <rguenther@suse.de> |
| |
| PR bootstrap/86724 |
| * graphite.h: Include isl/id.h and isl/space.h to allow build |
| with ISL 0.20. |
| |
| 2018-08-10 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from mainline |
| 2018-06-19 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/86197 |
| * config/rs6000/rs6000.md (rs6000_discover_homogeneous_aggregate): An |
| ieee128 argument takes up only one (vector) register, not two (floating |
| point) registers. |
| |
| 2018-07-29 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (pa_output_addr_vec): Align address table. |
| * config/pa/pa.h (JUMP_TABLES_IN_TEXT_SECTION): Revise comment. |
| * config/pa/pa32-linux.h (JUMP_TABLES_IN_TEXT_SECTION): Define. |
| |
| 2018-07-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| PR target/84168 |
| 2017-09-28 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/aarch64/aarch64.c (aarch64_elf_asm_constructor) |
| (aarch64_elf_asm_destructor): Pass SECTION_NOTYPE to get_section |
| when creating .init_array and .fini_array sections with priority |
| specified. |
| |
| 2018-07-12 Richard Biener <rguenther@suse.de> |
| |
| PR target/84829 |
| * config/gnu-user.h (GNU_USER_TARGET_NO_PTHREADS_LIB_SPEC): |
| Remove -mieee-fp handling. |
| |
| 2018-07-01 David Edelsohn <dje.gcc@gmail.com> |
| |
| Backported from mainline. |
| 2018-06-19 Tony Reix <tony.reix@atos.com> |
| Damien Bergamini <damien.bergamini@atos.com> |
| David Edelsohn <dje.gcc@gmail.com> |
| |
| * collect2.c (static_obj): New variable. |
| (static_libs): New variable. |
| (is_in_list): Uncomment declaration. |
| (main): Track AIX libraries linked statically. |
| (is_in_list): Uncomment definition. |
| (scan_prog_file): Don't add AIX shared libraries initializer |
| to constructor list if linking statically. |
| |
| 2018-06-26 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| Backported from mainline |
| 2018-06-20 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Change |
| behavior of vec_packsu (vector unsigned long long, vector unsigned |
| long long) to match behavior of vec_packs with same signature. |
| |
| 2018-06-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/84786 |
| * config/i386/sse.md (vshift_count): New mode attr. |
| (<shift_insn><mode>3<mask_name>): Use <vshift_count>N instead of vN |
| as last operand's constraint for VI2_AVX2_AVX512BW shifts. Use YvN |
| instead of vN as last operand's constraint for VI48_AVX2 shifts. |
| |
| Backported from mainline |
| 2018-06-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/86231 |
| * tree-vrp.c (union_ranges): For ( [ ) ] or ( )[ ] range and |
| anti-range don't overwrite *vr0min before using it to compute *vr0max. |
| |
| 2018-06-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/85878 |
| * expr.c (expand_assignment): Only call store_expr for halves if the |
| mode is the same. |
| |
| 2018-06-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/85945 |
| * lower-subreg.c (find_decomposable_subregs): Don't decompose float |
| subregs of multi-word pseudos unless the float mode has word size. |
| |
| 2018-05-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/85659 |
| * cfgexpand.c (expand_asm_stmt): Don't create a temporary if |
| the type is addressable. Don't force op into register if it has |
| BLKmode. |
| |
| 2018-04-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/85431 |
| * dse.c (record_store): Ignore zero width stores. |
| |
| 2018-04-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/85300 |
| * combine.c (subst): Handle subst of CONST_SCALAR_INT_P new_rtx also |
| into FLOAT and UNSIGNED_FLOAT like ZERO_EXTEND, return a CLOBBER if |
| simplify_unary_operation fails. |
| |
| 2018-04-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/85257 |
| * fold-const.c (native_encode_vector): If not all elts could fit |
| and off is -1, return 0 rather than offset. |
| * tree-ssa-sccvn.c (vn_reference_lookup_3): Pass |
| (offset - offset2) / BITS_PER_UNIT as 4th argument to |
| native_encode_expr. Verify len * BITS_PER_UNIT >= maxsizei. Don't |
| adjust buffer in native_interpret_expr call. |
| |
| 2018-04-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/85252 |
| * dwarf2out.c (rtl_for_decl_init): For STRING_CST initializer only |
| build CONST_STRING if TYPE_MAX_VALUE is non-NULL and is INTEGER_CST. |
| |
| 2018-04-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/85167 |
| * shrink-wrap.c (move_insn_for_shrink_wrap): Don't set bb_uses and |
| bb_defs if *split_p, instead preinitialize it to NULL. |
| |
| 2018-03-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR inline-asm/85022 |
| * emit-rtl.c (init_emit_regs): Indicate that VOIDmode MEMs don't have |
| known size by default. |
| |
| PR inline-asm/85034 |
| * function.c (match_asm_constraints_1): Don't optimize if input |
| doesn't satisfy general_operand predicate for output's mode. |
| |
| PR inline-asm/85022 |
| * alias.c (write_dependence_p): Don't require for x_canonicalized |
| non-VOIDmode if x has VOIDmode. |
| |
| 2018-03-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR inline-asm/84941 |
| * function.c (match_asm_constraints_1): Don't do the optimization |
| if input isn't a REG, SUBREG, MEM or constant. |
| |
| 2018-03-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/84875 |
| * dce.c (delete_unmarked_insns): Don't remove frame related noop moves |
| holding REG_CFA_RESTORE notes, instead turn them into a USE. |
| |
| PR c/84953 |
| * builtins.c (fold_builtin_strpbrk): For strpbrk(x, "") use type |
| instead of TREE_TYPE (s1) for the return value. |
| |
| 2018-03-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/84899 |
| * postreload.c (reload_combine_recognize_pattern): Perform |
| INTVAL addition in unsigned HOST_WIDE_INT type to avoid UB and |
| truncate_int_for_mode the result for the destination's mode. |
| |
| 2018-03-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/79085 |
| * calls.c (expand_call): For TREE_ADDRESSABLE rettype ignore alignment |
| check and use address of target always. |
| |
| 2018-03-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/84772 |
| * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Mark va_arg_tmp |
| temporary TREE_ADDRESSABLE before gimplification of BUILT_IN_MEMCPY. |
| |
| PR c++/84767 |
| * tree-inline.c (copy_tree_body_r): For INDIRECT_REF of a remapped |
| decl, use remap_type if we want to use the type. |
| |
| 2018-03-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/84739 |
| * tree-tailcall.c (find_tail_calls): Check call arguments against |
| DECL_ARGUMENTS (current_function_decl) rather than |
| DECL_ARGUMENTS (func) when checking for tail recursion. |
| |
| 2018-03-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/84700 |
| * combine.c (combine_simplify_rtx): Don't try to simplify if |
| if_then_else_cond returned non-NULL, but either true_rtx or false_rtx |
| are equal to x. |
| |
| 2018-03-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR inline-asm/84625 |
| * config/i386/i386.c (ix86_print_operand): Use conditional |
| output_operand_lossage instead of gcc_assert if CONST_VECTOR is not |
| zero vector. |
| |
| 2018-02-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/84425 |
| * ipa-inline.c (inline_small_functions): Fix a typo. |
| |
| 2018-02-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/82210 |
| * stor-layout.c (place_field): For variable length fields, adjust |
| offset_align afterwards not just based on the field's alignment, |
| but also on the size. |
| |
| 2018-02-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/83987 |
| * omp-low.c (maybe_remove_omp_member_access_dummy_vars, |
| remove_member_access_dummy_vars): New functions. |
| (lower_omp_for, lower_omp_taskreg, lower_omp_target, |
| lower_omp_1, execute_lower_omp): Use them. |
| |
| 2018-01-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/83986 |
| * sched-deps.c (sched_analyze_insn): For frame related insns, add anti |
| dependence against last_pending_memory_flush in addition to |
| pending_jump_insns. |
| |
| 2018-01-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/84040 |
| * sched-deps.c (sched_macro_fuse_insns): Return immediately if |
| !insn_set. |
| |
| 2018-01-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/83930 |
| * simplify-rtx.c (simplify_binary_operation_1) <case UMOD>: Use |
| UINTVAL (trueop1) instead of INTVAL (op1). |
| |
| 2018-01-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR preprocessor/83722 |
| * gcc.c (try_generate_repro): Pass |
| &temp_stderr_files[RETRY_ICE_ATTEMPTS - 1] rather than |
| &temp_stdout_files[RETRY_ICE_ATTEMPTS - 1] as last argument to |
| do_report_bug. |
| |
| 2018-01-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/83605 |
| * gimple-ssa-strength-reduction.c: Include tree-eh.h. |
| (find_candidates_dom_walker::before_dom_children): Ignore stmts that |
| can throw. |
| |
| 2017-12-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/83553 |
| * fold-const.c (struct contains_label_data): New type. |
| (contains_label_1): Return non-NULL even for CASE_LABEL_EXPR, unless |
| inside of a SWITCH_BODY seen during the walk. |
| (contains_label_p): Use walk_tree instead of |
| walk_tree_without_duplicates, prepare data for contains_label_1 and |
| provide own pset. |
| |
| 2017-12-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/80747 |
| PR rtl-optimization/83512 |
| * cfgrtl.c (force_nonfallthru_and_redirect): When splitting |
| succ edge from ENTRY, copy partition from e->dest to the newly |
| created bb. |
| * bb-reorder.c (reorder_basic_blocks_simple): If last_tail is |
| ENTRY, use BB_PARTITION of its successor block as current_partition. |
| Don't copy partition when splitting succ edge from ENTRY. |
| |
| PR tree-optimization/83523 |
| * tree-ssa-math-opts.c (is_widening_mult_p): Return false if |
| for INTEGER_TYPE TYPE_OVERFLOW_TRAPS. |
| (convert_mult_to_fma): Likewise. |
| |
| PR tree-optimization/83521 |
| * tree-ssa-phiopt.c (factor_out_conditional_conversion): Use |
| gimple_build_assign without code on result of |
| fold_build1 (VIEW_CONVERT_EXPR, ...), as it might not create |
| a VIEW_CONVERT_EXPR. |
| |
| 2017-12-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/82801 |
| PR ipa/83346 |
| * ipa-inline.c (flatten_remove_node_hook): New function. |
| (ipa_inline): Keep only nodes with flatten attribute at the end of |
| the array in the order from ipa_reverse_postorder, only walk that |
| portion of array for flattening, if there is more than one such |
| node, temporarily register a removal hook and ignore removed nodes. |
| |
| 2017-12-08 Joseph Myers <joseph@codesourcery.com> |
| Alexander Monakov <amonakov@ispras.ru> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/81906 |
| * config/i386/i386.c (ix86_expand_rint): Handle flag_rounding_math. |
| |
| 2017-12-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/81212 |
| * tree-cfg.c (pass_warn_function_return::execute): Handle |
| __builtin_ubsan_handle_missing_return like __builtin_unreachable |
| with BUILTINS_LOCATION. |
| |
| PR target/78643 |
| PR target/80583 |
| * expr.c (get_inner_reference): If DECL_MODE of a non-bitfield |
| is BLKmode for vector field with vector raw mode, use TYPE_MODE |
| instead of DECL_MODE. |
| |
| 2017-11-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/80819 |
| * config/i386/sse.md (vec_concatv2di): Remove * from (=Yr,0,*rm) |
| alternative. |
| |
| 2017-11-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/83014 |
| * ubsan.c (ubsan_type_descriptor): Use pp_unsigned_wide_integer |
| instead of pp_printf with HOST_WIDE_INT_PRINT_DEC. Avoid calling |
| tree_to_uhwi twice. |
| |
| * tree-object-size.c (pass_through_call): Do not handle |
| BUILT_IN_STPNCPY_CHK which is not a pass through call. |
| |
| 2017-11-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/82253 |
| * expr.c (expand_assignment): For CONCAT to_rtx, complex type from and |
| bitpos/bitsize covering the whole destination, use store_expr only if |
| the complex mode is the same. Otherwise, use expand_normal and if |
| it returns CONCAT, subreg each part separately instead of trying to |
| subreg the whole result. |
| |
| 2017-11-21 James Cowgill <James.Cowgill@imgtec.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/82880 |
| * config/mips/frame-header-opt.c (mips_register_frame_header_opt): |
| Remove static keyword from f variable. |
| |
| 2017-10-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/82159 |
| * expr.c (store_field): Don't optimize away bitsize == 0 store |
| from CALL_EXPR with addressable return type. |
| |
| 2017-09-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/82159 |
| * gimplify.c (gimplify_modify_expr): Don't optimize away zero sized |
| lhs from calls if the lhs has addressable type. |
| |
| 2017-09-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/82192 |
| * combine.c (make_extraction): Don't look through non-paradoxical |
| SUBREGs or TRUNCATE if pos + len is or might be bigger than |
| inner's mode. |
| |
| 2018-06-23 Richard Sandiford <richard.sandiford@linaro.org> |
| |
| PR tree-optimization/85989 |
| * gimple-ssa-backprop.c (backprop::m_visited_phis): New member |
| variable. |
| (backprop::backprop): Initialize it. |
| (backprop::~backprop): Free it. |
| (backprop::intersect_uses): Check it when deciding whether this |
| is a backedge reference. |
| (backprop::process_block): Add each phi to m_visited_phis |
| after visiting it, then clear it at the end. |
| |
| 2018-06-21 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-09-06 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/82108 |
| * tree-vect-stmts.c (vectorizable_load): Fix pointer adjustment |
| for gap in the non-permutation SLP case. |
| |
| 2017-06-18 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/81410 |
| * tree-vect-stmts.c (vectorizable_load): Properly adjust for |
| the gap in the ! slp_perm SLP case after each group. |
| |
| 2017-03-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79920 |
| * tree-vect-slp.c (vect_create_mask_and_perm): Remove and inline |
| with ncopies == 1 to ... |
| (vect_transform_slp_perm_load): ... here. Properly compute |
| all element loads by iterating VF times over the group. Do |
| not handle ncopies (computed in a broken way) in |
| vect_create_mask_and_perm. |
| |
| 2018-06-21 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2018-02-28 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/84607 |
| * genmatch.c (capture_info::walk_match): Do not mark |
| captured expressions without operands as expr_p given |
| they act more like predicates and should be subject to |
| "lost tail" side-effect preserving. |
| |
| 2018-05-04 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/85588 |
| * fold-const.c (negate_expr_p): Restrict negation of operand |
| zero of a division to when we know that can happen without |
| overflow. |
| (fold_negate_expr_1): Likewise. |
| |
| 2018-06-21 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-08-21 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/81884 |
| * tree-ssa-alias.c (stmt_kills_ref_p): Handle array accesses |
| at struct end conservatively when comparing common bases. |
| |
| 2017-05-04 Richard Biener <rguenther@suse.de> |
| |
| * tree.c (array_at_struct_end_p): Handle arrays at struct |
| end with flexarrays more conservatively. Refactor and treat |
| arrays of arrays or aggregates more strict. Fix |
| VIEW_CONVERT_EXPR handling. |
| |
| 2018-04-06 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/85244 |
| * tree-dfa.c (get_ref_base_and_extent): Reset seen_variable_array_ref |
| after seeing a component reference with an adjacent field. Treat |
| refs to arrays at struct end of external decls similar to |
| refs to unconstrained commons. |
| |
| 2018-06-20 Richard Biener <rguenther@suse.de> |
| |
| * tree-ssa-alias.c (stmt_kills_ref_p): Revert accidentially |
| committed change. |
| |
| 2018-06-20 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2018-05-02 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/85597 |
| * tree-vect-stmts.c (vectorizable_operation): For ternary SLP |
| do not use split vect_get_vec_defs call but call vect_get_slp_defs |
| directly. |
| |
| 2018-06-20 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2018-01-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/83623 |
| * expmed.c (expand_shift_1): For 2-byte rotates by BITS_PER_UNIT, |
| check for bswap in mode rather than HImode and use that in expand_unop |
| too. |
| |
| 2017-09-26 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-09-20 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/82264 |
| * tree-ssa-sccvn.c (vn_phi_eq): Use safe_dyn_cast to check |
| for GIMPLE_CONDs. |
| (vn_phi_lookup): Likewise. |
| (vn_phi_insert): Likewise. |
| * is-a.h (safe_dyn_cast): New. |
| |
| 2017-09-25 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/82285 |
| * tree-vect-patterns.c (vect_recog_bool_pattern): Also handle |
| enumeral types. |
| |
| 2017-11-24 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/82402 |
| * tree-vect-loop-manip.c (create_lcssa_for_virtual_phi): Properly |
| set SSA_NAME_OCCURS_IN_ABNORMAL_PHI. |
| |
| 2017-10-24 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/82697 |
| * tree-ssa-phiopt.c (cond_store_replacement): Use alias-set |
| zero for conditional load and unconditional store. |
| |
| 2017-11-02 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/82765 |
| * varasm.c (decode_addr_const): Make offset HOST_WIDE_INT. |
| Truncate ARRAY_REF index and element size. |
| |
| 2018-01-08 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/83713 |
| * convert.c (do_narrow): Properly guard TYPE_OVERFLOW_WRAPS checks. |
| |
| 2018-06-19 Max Filippov <jcmvbkbc@gmail.com> |
| |
| Backport from mainline |
| 2018-06-19 Max Filippov <jcmvbkbc@gmail.com> |
| |
| * config/xtensa/xtensa.md (UNSPEC_FRAME_BLOCKAGE): New unspec |
| constant. |
| (allocate_stack, frame_blockage, *frame_blockage): New patterns. |
| |
| 2018-06-07 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2018-06-06 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/63177 |
| * /config/rs6000/rs6000.h (ASM_CPU_SPEC): Add support for -mpower9. |
| Don't handle -mcpu=power8 if -mpower9-vector is also used. |
| |
| 2018-06-05 Andreas Krebbel <krebbel@linux.ibm.com> |
| |
| Backport from mainline |
| 2018-06-05 Andreas Krebbel <krebbel@linux.ibm.com> |
| |
| * config/s390/s390-builtin-types.def: Add void function type. |
| * config/s390/s390-builtins.def: Use the function type for the |
| tbeginc builtin. |
| |
| 2018-06-01 Bill Schmidt <wschmidt@linux.ibm.com> |
| |
| PR tree-optimization/85712 |
| Backport from mainline: |
| 2018-05-23 Bill Schmidt <wschmidt@linux.ibm.com> |
| |
| PR tree-optimization/85712 |
| * gimple-ssa-strength-reduction.c (struct slsr_cand_d): Add |
| first_interp field. |
| (alloc_cand_and_find_basis): Initialize first_interp field. |
| (slsr_process_mul): Modify first_interp field. |
| (slsr_process_add): Likewise. |
| (slsr_process_cast): Modify first_interp field for each new |
| interpretation. |
| (slsr_process_copy): Likewise. |
| (dump_candidate): Dump first_interp field. |
| (replace_mult_candidate): Process all interpretations, not just |
| subsequent ones. |
| (replace_rhs_if_not_dup): Likewise. |
| (replace_one_candidate): Likewise. |
| |
| Backport from mainline: |
| 2018-05-25 Bill Schmidt <wschmidt@linux.ibm.com> |
| |
| PR tree-optimization/85712 |
| * gimple-ssa-strength-reduction.c (replace_one_candidate): Skip if |
| this candidate has already been replaced in-situ by a copy. |
| |
| 2018-05-24 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md (cvtusi2<ssescalarmodesuffix>64<round_name>): |
| Add {q} suffix to insn mnemonic. |
| |
| 2018-05-24 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/85903 |
| * config/i386/sse.md (movdi_to_sse): Do not generate pseudo |
| when memory input operand is handled. |
| |
| 2018-05-17 Martin Jambor <mjambor@suse.cz> |
| |
| Backport from mainline |
| 2018-05-11 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/85655 |
| * ipa-cp.c (intersect_with_plats): Check that the lattice contains |
| single const. |
| |
| 2018-05-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/83687 |
| * config/arm/neon.md (neon_vabd<mode>_2): Use VCVTF mode iterator. |
| Remove integer-related logic from pattern. |
| (neon_vabd<mode>_3): Likewise. |
| |
| 2018-04-25 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-04-17 Martin Liska <mliska@suse.cz> |
| |
| PR lto/85405 |
| * ipa-devirt.c (odr_types_equivalent_p): Remove trailing |
| in message, remote space in between '_G' and '('. |
| |
| 2018-04-25 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-04-17 Jan Hubicka <jh@suse.cz> |
| |
| PR lto/85405 |
| * ipa-devirt.c (odr_types_equivalent_p): Handle bit fields. |
| |
| 2018-04-23 Aaron Sawdey <acsawdey@linux.ibm.com> |
| |
| Backport from mainline |
| 2018-04-16 Aaron Sawdey <acsawdey@linux.ibm.com> |
| |
| PR target/83660 |
| * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Mark |
| vec_extract expression as having side effects to make sure it gets |
| a cleanup point. |
| |
| 2018-04-23 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR middle-end/85496 |
| * expr.c (store_field): In the bitfield case, if the value comes from |
| a function call and is returned in registers by means of a PARALLEL, |
| do not change the mode of the temporary unless BLKmode and VOIDmode. |
| |
| 2018-04-18 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2018-04-11 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR target/85261 |
| * config/arm/arm-builtins.c (arm_expand_builtin): Force input operand |
| into register. |
| |
| 2018-04-16 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-03-15 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/84574 |
| * config/i386/i386.c (indirect_thunk_needed): Update comments. |
| (indirect_thunk_bnd_needed): Likewise. |
| (indirect_thunks_used): Likewise. |
| (indirect_thunks_bnd_used): Likewise. |
| (indirect_return_needed): New. |
| (indirect_return_bnd_needed): Likewise. |
| (output_indirect_thunk_function): Add a bool argument for |
| function return. |
| (output_indirect_thunk_function): Don't generate alias for |
| function return thunk. |
| (ix86_code_end): Call output_indirect_thunk_function to generate |
| function return thunks. |
| (ix86_output_function_return): Set indirect_return_bnd_needed |
| and indirect_return_needed instead of indirect_thunk_bnd_needed |
| and indirect_thunk_needed. |
| |
| 2018-04-16 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-02-26 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/84039 |
| * config/i386/constraints.md (Bs): Replace |
| ix86_indirect_branch_register with |
| TARGET_INDIRECT_BRANCH_REGISTER. |
| (Bw): Likewise. |
| * config/i386/i386.md (indirect_jump): Likewise. |
| (tablejump): Likewise. |
| (*sibcall_memory): Likewise. |
| (*sibcall_value_memory): Likewise. |
| Peepholes of indirect call and jump via memory: Likewise. |
| (*sibcall_GOT_32): Disallowed for TARGET_INDIRECT_BRANCH_REGISTER. |
| (*sibcall_value_GOT_32): Likewise. |
| * config/i386/predicates.md (indirect_branch_operand): Likewise. |
| (GOT_memory_operand): Likewise. |
| (call_insn_operand): Likewise. |
| (sibcall_insn_operand): Likewise. |
| (GOT32_symbol_operand): Likewise. |
| * config/i386/i386.h (TARGET_INDIRECT_BRANCH_REGISTER): New. |
| |
| 2018-04-16 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-02-26 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (ix86_output_indirect_jmp): Update comments. |
| |
| 2018-02-26 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/84530 |
| * config/i386/i386-protos.h (ix86_output_indirect_jmp): Remove |
| the bool argument. |
| (ix86_output_indirect_function_return): New prototype. |
| (ix86_split_simple_return_pop_internal): Likewise. |
| * config/i386/i386.c (indirect_return_via_cx): New. |
| (indirect_return_via_cx_bnd): Likewise. |
| (indirect_thunk_name): Handle return va CX_REG. |
| (output_indirect_thunk_function): Create alias for |
| __x86_return_thunk_[re]cx and __x86_return_thunk_[re]cx_bnd. |
| (ix86_output_indirect_jmp): Remove the bool argument. |
| (ix86_output_indirect_function_return): New function. |
| (ix86_split_simple_return_pop_internal): Likewise. |
| * config/i386/i386.md (*indirect_jump): Don't pass false |
| to ix86_output_indirect_jmp. |
| (*tablejump_1): Likewise. |
| (simple_return_pop_internal): Change it to define_insn_and_split. |
| Call ix86_split_simple_return_pop_internal to split it for |
| -mfunction-return=. |
| (simple_return_indirect_internal): Call |
| ix86_output_indirect_function_return instead of |
| ix86_output_indirect_jmp. |
| |
| 2018-04-16 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-02-02 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (ix86_output_function_return): Pass |
| INVALID_REGNUM, instead of -1, as invalid register number to |
| indirect_thunk_name and output_indirect_thunk. |
| |
| 2018-04-16 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-01-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (indirect_thunk_name): Declare regno |
| as unsigned int. Compare regno with INVALID_REGNUM. |
| (output_indirect_thunk): Ditto. |
| (output_indirect_thunk_function): Ditto. |
| (ix86_code_end): Declare regno as unsigned int. Use INVALID_REGNUM |
| in the call to output_indirect_thunk_function. |
| |
| 2018-04-16 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-01-14 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (ix86_set_indirect_branch_type): Disallow |
| -mcmodel=large with -mindirect-branch=thunk, |
| -mindirect-branch=thunk-extern, -mfunction-return=thunk and |
| -mfunction-return=thunk-extern. |
| * doc/invoke.texi: Document -mcmodel=large is incompatible with |
| -mindirect-branch=thunk, -mindirect-branch=thunk-extern, |
| -mfunction-return=thunk and -mfunction-return=thunk-extern. |
| |
| 2018-04-16 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-01-14 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (print_reg): Print the name of the full |
| integer register without '%'. |
| (ix86_print_operand): Handle 'V'. |
| * doc/extend.texi: Document 'V' modifier. |
| |
| 2018-04-16 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-01-14 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/constraints.md (Bs): Disallow memory operand for |
| -mindirect-branch-register. |
| (Bw): Likewise. |
| * config/i386/predicates.md (indirect_branch_operand): Likewise. |
| (GOT_memory_operand): Likewise. |
| (call_insn_operand): Likewise. |
| (sibcall_insn_operand): Likewise. |
| (GOT32_symbol_operand): Likewise. |
| * config/i386/i386.md (indirect_jump): Call convert_memory_address |
| for -mindirect-branch-register. |
| (tablejump): Likewise. |
| (*sibcall_memory): Likewise. |
| (*sibcall_value_memory): Likewise. |
| Disallow peepholes of indirect call and jump via memory for |
| -mindirect-branch-register. |
| (*call_pop): Replace m with Bw. |
| (*call_value_pop): Likewise. |
| (*sibcall_pop_memory): Replace m with Bs. |
| * config/i386/i386.opt (mindirect-branch-register): New option. |
| * doc/invoke.texi: Document -mindirect-branch-register option. |
| |
| Backport from mainline |
| 2018-01-15 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/constraints.md (Bs): Replace |
| ix86_indirect_branch_thunk_register with |
| ix86_indirect_branch_register. |
| (Bw): Likewise. |
| * config/i386/i386.md (indirect_jump): Likewise. |
| (tablejump): Likewise. |
| (*sibcall_memory): Likewise. |
| (*sibcall_value_memory): Likewise. |
| Peepholes of indirect call and jump via memory: Likewise. |
| * config/i386/i386.opt: Likewise. |
| * config/i386/predicates.md (indirect_branch_operand): Likewise. |
| (GOT_memory_operand): Likewise. |
| (call_insn_operand): Likewise. |
| (sibcall_insn_operand): Likewise. |
| (GOT32_symbol_operand): Likewise. |
| |
| Backport from mainline |
| 2018-01-15 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/predicates.md (constant_call_address_operand): |
| Rewrite ix86_indirect_branch_register logic. |
| (sibcall_insn_operand): Likewise. |
| |
| Backport from mainline |
| 2018-01-15 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/constraints.md (Bs): Update |
| ix86_indirect_branch_register check. Don't check |
| ix86_indirect_branch_register with GOT_memory_operand. |
| (Bw): Likewise. |
| * config/i386/predicates.md (GOT_memory_operand): Don't check |
| ix86_indirect_branch_register here. |
| (GOT32_symbol_operand): Likewise. |
| |
| Backport from mainline |
| 2018-01-15 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/predicates.md (indirect_branch_operand): Rewrite |
| ix86_indirect_branch_register logic. |
| |
| 2018-04-16 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-01-14 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386-protos.h (ix86_output_function_return): New. |
| * config/i386/i386.c (ix86_set_indirect_branch_type): Also |
| set function_return_type. |
| (indirect_thunk_name): Add ret_p to indicate thunk for function |
| return. |
| (output_indirect_thunk_function): Pass false to |
| indirect_thunk_name. |
| (ix86_output_indirect_branch_via_reg): Likewise. |
| (ix86_output_indirect_branch_via_push): Likewise. |
| (output_indirect_thunk_function): Create alias for function |
| return thunk if regno < 0. |
| (ix86_output_function_return): New function. |
| (ix86_handle_fndecl_attribute): Handle function_return. |
| (ix86_attribute_table): Add function_return. |
| * config/i386/i386.h (machine_function): Add |
| function_return_type. |
| * config/i386/i386.md (simple_return_internal): Use |
| ix86_output_function_return. |
| (simple_return_internal_long): Likewise. |
| * config/i386/i386.opt (mfunction-return=): New option. |
| (indirect_branch): Mention -mfunction-return=. |
| * doc/extend.texi: Document function_return function attribute. |
| * doc/invoke.texi: Document -mfunction-return= option. |
| |
| Backport from mainline |
| 2018-01-15 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/83839 |
| * config/i386/i386.c (output_indirect_thunk_function): Use |
| ASM_OUTPUT_LABEL, instead of ASM_OUTPUT_DEF, for TARGET_MACHO |
| for __x86.return_thunk. |
| |
| 2018-04-16 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-01-14 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386-opts.h (indirect_branch): New. |
| * config/i386/i386-protos.h (ix86_output_indirect_jmp): Likewise. |
| * config/i386/i386.c (ix86_using_red_zone): Disallow red-zone |
| with local indirect jump when converting indirect call and jump. |
| (ix86_set_indirect_branch_type): New. |
| (ix86_set_current_function): Call ix86_set_indirect_branch_type. |
| (indirectlabelno): New. |
| (indirect_thunk_needed): Likewise. |
| (indirect_thunk_bnd_needed): Likewise. |
| (indirect_thunks_used): Likewise. |
| (indirect_thunks_bnd_used): Likewise. |
| (INDIRECT_LABEL): Likewise. |
| (indirect_thunk_name): Likewise. |
| (output_indirect_thunk): Likewise. |
| (output_indirect_thunk_function): Likewise. |
| (ix86_output_indirect_branch_via_reg): Likewise. |
| (ix86_output_indirect_branch_via_push): Likewise. |
| (ix86_output_indirect_branch): Likewise. |
| (ix86_output_indirect_jmp): Likewise. |
| (ix86_code_end): Call output_indirect_thunk_function if needed. |
| (ix86_output_call_insn): Call ix86_output_indirect_branch if |
| needed. |
| (ix86_handle_fndecl_attribute): Handle indirect_branch. |
| (ix86_attribute_table): Add indirect_branch. |
| * config/i386/i386.h (machine_function): Add indirect_branch_type |
| and has_local_indirect_jump. |
| * config/i386/i386.md (indirect_jump): Set has_local_indirect_jump |
| to true. |
| (tablejump): Likewise. |
| (*indirect_jump): Use ix86_output_indirect_jmp. |
| (*tablejump_1): Likewise. |
| (simple_return_indirect_internal): Likewise. |
| * config/i386/i386.opt (mindirect-branch=): New option. |
| (indirect_branch): New. |
| (keep): Likewise. |
| (thunk): Likewise. |
| (thunk-inline): Likewise. |
| (thunk-extern): Likewise. |
| * doc/extend.texi: Document indirect_branch function attribute. |
| * doc/invoke.texi: Document -mindirect-branch= option. |
| |
| 2018-04-16 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| PR target/83905 |
| * config/i386/i386.c (ix86_expand_prologue): Use cost reference |
| of struct ix86_frame. |
| (ix86_expand_epilogue): Likewise. Add a local variable for |
| the reg_save_offset field in struct ix86_frame. |
| |
| 2018-04-16 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2017-11-06 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (ix86_can_use_return_insn_p): Use reference |
| of struct ix86_frame. |
| (ix86_initial_elimination_offset): Likewise. |
| (ix86_expand_split_stack_prologue): Likewise. |
| |
| 2018-04-16 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2017-10-13 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/82499 |
| * config/i386/i386.h (ix86_red_zone_size): New. |
| |
| 2017-06-01 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| * config/i386/i386.c (ix86_frame): Moved to ... |
| * config/i386/i386.h (ix86_frame): Here. |
| (machine_function): Add frame. |
| * config/i386/i386.c (ix86_compute_frame_layout): Repace the |
| frame argument with &cfun->machine->frame. |
| (ix86_can_use_return_insn_p): Don't pass &frame to |
| ix86_compute_frame_layout. Copy frame from cfun->machine->frame. |
| (ix86_can_eliminate): Likewise. |
| (ix86_expand_prologue): Likewise. |
| (ix86_expand_epilogue): Likewise. |
| (ix86_expand_split_stack_prologue): Likewise. |
| |
| 2018-04-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2018-04-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_output_indirect_thunk_function): Check |
| also for flag_dwarf2_cfi_asm. |
| |
| 2018-04-11 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/alpha/alpha.md (stack_probe_internal): Rename |
| from "probe_stack". Update all callers. |
| |
| 2018-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2018-03-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/84748 |
| * config/aarch64/aarch64.md (*compare_cstore<mode>_insn): Mark pattern |
| as clobbering CC_REGNUM. |
| |
| 2018-04-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/85196 |
| * config/sparc/sparc.c (sparc_expand_move): Deal with symbolic operands |
| based on LABEL_REF. Remove useless assertion. |
| (pic_address_needs_scratch): Fix formatting. |
| (sparc_legitimize_pic_address): Minor tweaks. |
| (sparc_delegitimize_address): Adjust assertion accordingly. |
| * config/sparc/sparc.md (movsi_pic_label_ref): Change label_ref_operand |
| into symbolic_operand. |
| (movsi_high_pic_label_ref): Likewise. |
| (movsi_lo_sum_pic_label_ref): Likewise. |
| (movdi_pic_label_ref): Likewise. |
| (movdi_high_pic_label_ref): Likewise. |
| (movdi_lo_sum_pic_label_ref): Likewise. |
| |
| 2018-04-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/85193 |
| * config/i386/i386.md (define_attr "memory"): Handle rotate1 type. |
| |
| 2018-04-02 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2018-03-28 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/84912 |
| * config/rs6000/rs6000.h: Update copyright date. |
| (RS6000_BTM_POWERPC64): New define. |
| (RS6000_BTM_COMMON): Add RS6000_BTM_POWERPC64. |
| * config/rs6000/rs6000.c: Update copyright date. |
| (rs6000_builtin_mask_calculate): Add support for RS6000_BTM_POWERPC64. |
| (rs6000_invalid_builtin): Add handling for RS6000_BTM_POWERPC64 |
| (rs6000_builtin_mask_names): Add RS6000_BTM_POWERPC64. |
| * config/rs6000/rs6000-builtin.def: Update copyright date. |
| (BU_P7_POWERPC64_MISC_2): New macro definition. |
| (DIVDE): Use it. |
| (DIVDEU): Likewise. |
| |
| Backport from mainline |
| 2018-03-28 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/84912 |
| * config/rs6000/rs6000-builtin.def (DIVWEO): Delete macro expansion. |
| (DIVWEUO): Likewise. |
| (DIVDEO): Likewise. |
| (DIVDEUO): Likewise. |
| * config/rs6000/rs6000.c (builtin_function_type): Remove support for |
| DIVWEUO and DIVDEUO. |
| * config/rs6000/rs6000.md: Update copyright date. |
| (UNSPEC_DIVEO, UNSPEC_DIVEUO): Delete unspecs. |
| (UNSPEC_DIV_EXTEND): Remove deleted unspecs. |
| (div_extend): Likewise. |
| * doc/extend.texi: Update copyright date. |
| (__builtin_divweo): Remove documentation for deleted builtin function. |
| (__builtin_divweuo): Likewise. |
| (__builtin_divdeo): Likewise. |
| (__builtin_divdeuo): Likewise. |
| |
| 2018-03-30 Cesar Philippidis <cesar@codesourcery.com> |
| |
| Backport from mainline |
| 2018-03-27 Cesar Philippidis <cesar@codesourcery.com> |
| |
| PR target/85056 |
| * config/nvptx/nvptx.c (nvptx_assemble_decl_begin): Add '[]' to |
| extern array declarations. |
| |
| 2018-03-29 Sudakshina Das <sudi.das@arm.com> |
| |
| Backport from mainline |
| 2018-03-22 Sudakshina Das <sudi.das@arm.com> |
| |
| PR target/84826 |
| * config/arm/arm.h (machine_function): Add static_chain_stack_bytes. |
| * config/arm/arm.c (arm_compute_static_chain_stack_bytes): Avoid |
| re-computing once computed. |
| (arm_expand_prologue): Compute machine->static_chain_stack_bytes. |
| (arm_init_machine_status): Initialize |
| machine->static_chain_stack_bytes. |
| |
| 2018-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2018-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/85026 |
| * config/arm/arm.md (unaligned_loadhis): Remove first alternative. |
| Clean up attributes. |
| |
| 2018-03-28 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from mainline |
| 2018-03-08 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/82411 |
| * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Don't put |
| readonly data in sdata, if that is disabled. |
| * config/rs6000/sysv4.opt (mreadonly-in-sdata): New option. |
| * doc/invoke.texi (RS/6000 and PowerPC Options): Document |
| -mreadonly-in-sdata option. |
| |
| 2018-03-27 Carl Love <cel@us.ibm.com> |
| |
| Backport from mainline |
| 2018-03-14 Carl Love <cel@us.ibm.com> |
| |
| * config/rs6000/r6000.c (rtx_is_swappable_p): Add case UNSPEC_VPERMXOR. |
| |
| 2018-03-27 Sudakshina Das <sudi.das@arm.com> |
| |
| Backport from mainline: |
| 2018-03-20 Sudakshina Das <sudi.das@arm.com> |
| |
| PR target/82989 |
| * config/arm/neon.md (ashldi3_neon): Update ?s for constraints |
| to favor GPR over NEON registers. |
| (<shift>di3_neon): Likewise. |
| |
| 2018-03-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2018-03-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/82518 |
| * config/arm/arm.c (arm_array_mode_supported_p): Return false for |
| BYTES_BIG_ENDIAN. |
| |
| 2018-03-22 Tom de Vries <tom@codesourcery.com> |
| |
| backport from trunk: |
| 2018-03-22 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/84956 |
| * tree-ssa-tail-merge.c (find_clusters_1): Skip bbs with |
| bb_has_abnormal_pred. |
| |
| 2018-03-18 John David Anglin <danglin@gcc.gnu.org> |
| |
| Backport from mainline |
| 2016-12-11 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (pa_callee_copies): New function. |
| * config/pa/pa.opt (mcaller-copies): New option. |
| * doc/invoke.texi (mcaller-copies): Document option. |
| |
| 2018-03-14 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/83451 |
| * config/pa/pa.c (pa_emit_move_sequence): Always emit secondary reload |
| insn for floating-point loads and stores. |
| |
| 2018-03-12 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/invoke.texi (-mclflushopt): Fix spelling of option. |
| |
| 2018-03-11 John David Anglin <danglin@gcc.gnu.org> |
| |
| Backport from mainline |
| 2018-02-14 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/83984 |
| * config/pa/pa.md: Load address of PIC label using the linkage table |
| if the label is nonlocal. |
| |
| Backport from mainline |
| 2018-03-06 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.h (ASM_GENERATE_INTERNAL_LABEL): Revise to use |
| sprint_ul. |
| (ASM_OUTPUT_ADDR_VEC_ELT): Revise for above change. |
| (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise. |
| * config/pa/pa64-hpux.h (ASM_GENERATE_INTERNAL_LABEL): Revise as above. |
| |
| 2018-03-08 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2016-12-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/77844 |
| * valtrack.c: Include rtl-iter.h. |
| (struct rtx_subst_pair): Add insn field. |
| (propagate_for_debug_subst): If pair->to contains at least 2 |
| regs, create a DEBUG_INSN with a debug temp before pair->insn |
| and replace from with the debug temp instead of pair->to. |
| (propagate_for_debug): Initialize p.insn. |
| * combine.c (insn_uid_check): New inline function. |
| (INSN_COST, LOG_LINKS): Use it instead of INSN_UID. |
| (find_single_use, combine_instructions, |
| cant_combine_insn_p, try_combine): Use NONDEBUG_INSN_P instead of |
| INSN_P. |
| |
| 2018-03-08 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-01-04 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/82352 |
| * ipa-icf.c (sem_function::merge): Do not cross comdat boundary. |
| |
| 2018-03-08 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-10-31 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/82633 |
| * doc/gcov.texi: Document -fkeep-{static,inline}-functions and |
| their interaction with GCOV infrastructure. |
| * configure.ac: Add -fkeep-static-functions to |
| coverage_flags. |
| * configure: Regenerate. |
| |
| 2018-03-08 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-10-27 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/82457 |
| * doc/invoke.texi: Document that one needs a non-strict ISO mode |
| for fork-like functions to be properly instrumented. |
| |
| 2018-03-07 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2018-02-08 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390-opts.h (enum indirect_branch): Define. |
| * config/s390/s390-protos.h (s390_return_addr_from_memory) |
| (s390_indirect_branch_via_thunk) |
| (s390_indirect_branch_via_inline_thunk): Add function prototypes. |
| (enum s390_indirect_branch_type): Define. |
| * config/s390/s390.c (struct s390_frame_layout, struct |
| machine_function): Remove. |
| (indirect_branch_prez10thunk_mask, indirect_branch_z10thunk_mask) |
| (indirect_branch_table_label_no, indirect_branch_table_name): |
| Define variables. |
| (INDIRECT_BRANCH_NUM_OPTIONS): Define macro. |
| (enum s390_indirect_branch_option): Define. |
| (s390_return_addr_from_memory): New function. |
| (s390_handle_string_attribute): New function. |
| (s390_attribute_table): Add new attribute handler. |
| (s390_execute_label): Handle UNSPEC_EXECUTE_JUMP patterns. |
| (s390_indirect_branch_via_thunk): New function. |
| (s390_indirect_branch_via_inline_thunk): New function. |
| (s390_function_ok_for_sibcall): When jumping via thunk disallow |
| sibling call optimization for non z10 compiles. |
| (s390_emit_call): Force indirect branch target to be a single |
| register. Add r1 clobber for non-z10 compiles. |
| (s390_emit_epilogue): Emit return jump via return_use expander. |
| (s390_reorg): Handle JUMP_INSNs as execute targets. |
| (s390_option_override_internal): Perform validity checks for the |
| new command line options. |
| (s390_indirect_branch_attrvalue): New function. |
| (s390_indirect_branch_settings): New function. |
| (s390_set_current_function): Invoke s390_indirect_branch_settings. |
| (s390_output_indirect_thunk_function): New function. |
| (s390_code_end): Implement target hook. |
| (s390_case_values_threshold): Implement target hook. |
| (TARGET_ASM_CODE_END, TARGET_CASE_VALUES_THRESHOLD): Define target |
| macros. |
| * config/s390/s390.h (struct s390_frame_layout) |
| (struct machine_function): Move here from s390.c. |
| (TARGET_INDIRECT_BRANCH_NOBP_RET) |
| (TARGET_INDIRECT_BRANCH_NOBP_JUMP) |
| (TARGET_INDIRECT_BRANCH_NOBP_JUMP_THUNK) |
| (TARGET_INDIRECT_BRANCH_NOBP_JUMP_INLINE_THUNK) |
| (TARGET_INDIRECT_BRANCH_NOBP_CALL) |
| (TARGET_DEFAULT_INDIRECT_BRANCH_TABLE) |
| (TARGET_INDIRECT_BRANCH_THUNK_NAME_EXRL) |
| (TARGET_INDIRECT_BRANCH_THUNK_NAME_EX) |
| (TARGET_INDIRECT_BRANCH_TABLE): Define macros. |
| * config/s390/s390.md (UNSPEC_EXECUTE_JUMP) |
| (INDIRECT_BRANCH_THUNK_REGNUM): Define constants. |
| (mnemonic attribute): Add values which aren't recognized |
| automatically. |
| ("*cjump_long", "*icjump_long", "*basr", "*basr_r"): Disable |
| pattern for branch conversion. Fix mnemonic attribute. |
| ("*c<code>", "*sibcall_br", "*sibcall_value_br", "*return"): Emit |
| indirect branch via thunk if requested. |
| ("indirect_jump", "<code>"): Expand patterns for branch conversion. |
| ("*indirect_jump"): Disable for branch conversion using out of |
| line thunks. |
| ("indirect_jump_via_thunk<mode>_z10") |
| ("indirect_jump_via_thunk<mode>") |
| |
| 2018-03-07 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2018-02-09 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| PR target/PR84295 |
| * config/s390/s390.c (s390_set_current_function): Invoke |
| s390_indirect_branch_settings also if fndecl didn't change. |
| |
| 2018-03-07 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-02-20 Martin Liska <mliska@suse.cz> |
| |
| PR c/84310 |
| PR target/79747 |
| * final.c (shorten_branches): Build align_tab array with one |
| more element. |
| * opts.c (finish_options): Add alignment option limit check. |
| (MAX_CODE_ALIGN): Likewise. |
| (MAX_CODE_ALIGN_VALUE): Likewise. |
| * doc/invoke.texi: Document maximum allowed option value for |
| all -falign-* options. |
| |
| 2018-03-07 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-02-19 Martin Liska <mliska@suse.cz> |
| |
| PR other/80589 |
| * doc/invoke.texi: Fix typo. |
| * params.def (PARAM_MAX_LOOP_HEADER_INSNS): Likewise. |
| |
| 2018-03-07 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-02-05 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/84137 |
| * doc/gcov.texi: Fix typo in documentation. |
| |
| 2018-03-07 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-02-05 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/83879 |
| * doc/gcov.texi: Document necessity of --dynamic-list-data when |
| using dlopen functionality. |
| |
| 2018-03-07 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-12-19 Martin Liska <mliska@suse.cz> |
| |
| PR rtl-optimization/82675 |
| * loop-unroll.c (unroll_loop_constant_iterations): Allocate one |
| more element in sbitmap. |
| |
| 2018-03-07 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-03-05 Martin Liska <mliska@suse.cz> |
| |
| * ipa-utils.c (ipa_merge_profiles): Do not merge alias or |
| a function without profile. |
| |
| 2018-03-07 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-02-21 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR c/84229 |
| * ipa-cp.c (determine_versionability): Do not version functions caling |
| va_arg_pack. |
| |
| 2018-03-07 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-02-08 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/81360 |
| * cgraph.h (symtab_node::output_to_lto_symbol_table_p): Declare |
| * symtab.c: Include builtins.h |
| (symtab_node::output_to_lto_symbol_table_p): Move here |
| from lto-streamer-out.c:output_symbol_p. |
| * lto-streamer-out.c (write_symbol): Turn early exit to assert. |
| (output_symbol_p): Move all logic to symtab.c |
| (produce_symtab): Update. |
| |
| 2017-03-02 Thomas Schwinge <thomas@codesourcery.com> |
| |
| Backport from trunk r256891: |
| 2018-01-19 Cesar Philippidis <cesar@codesourcery.com> |
| |
| PR target/83790 |
| * config/nvptx/nvptx.c (output_init_frag): Don't use generic address |
| spaces for function labels. |
| |
| 2018-02-21 Sudakshina Das <sudi.das@arm.com> |
| |
| Backport from trunk |
| 2018-01-10 Sudakshina Das <sudi.das@arm.com> |
| |
| PR target/82096 |
| * expmed.c (emit_store_flag_force): Swap if const op0 |
| and change VOIDmode to mode of op0. |
| |
| 2018-02-15 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from trunk |
| 2018-02-06 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/84154 |
| * config/rs6000/rs6000.md (su code attribute): Use "u" for |
| unsigned_fix, not "s". |
| |
| 2018-02-15 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> |
| |
| Back port from mainline |
| 2018-01-30 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> |
| |
| PR target/83758 |
| * config/rs6000/rs6000.c (rs6000_internal_arg_pointer): Only return |
| a reg rtx. |
| |
| 2018-02-10 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (hppa_profile_hook): Mark SYMBOL_REF for _mcount as |
| function label. |
| |
| Backport from mainline |
| 2018-02-01 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR target/84089 |
| * config/pa/predicates.md (base14_operand): Handle VOIDmode. |
| |
| 2018-02-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| Backport from mainline |
| 2018-01-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| PR bootstrap/84017 |
| * configure.ac (gcc_cv_as_shf_merge): Disable on Solaris 10/x86. |
| * configure: Regenerate. |
| |
| 2018-02-01 Renlin Li <renlin.li@arm.com> |
| |
| Backport from mainline |
| 2018-02-01 Renlin Li <renlin.li@arm.com> |
| |
| PR target/83370 |
| * config/aarch64/aarch64.c (aarch64_class_max_nregs): Handle |
| TAILCALL_ADDR_REGS. |
| (aarch64_register_move_cost): Likewise. |
| * config/aarch64/aarch64.h (reg_class): Rename CALLER_SAVE_REGS to |
| TAILCALL_ADDR_REGS. |
| (REG_CLASS_NAMES): Likewise. |
| (REG_CLASS_CONTENTS): Rename CALLER_SAVE_REGS to |
| TAILCALL_ADDR_REGS. Remove IP registers. |
| * config/aarch64/aarch64.md (Ucs): Update register constraint. |
| |
| 2018-02-01 Bin Cheng <bin.cheng@arm.com> |
| |
| Backport from mainline |
| 2017-11-15 Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/82726 |
| PR tree-optimization/70754 |
| * tree-predcom.c (order_drefs_by_pos): New function. |
| (combine_chains): Move code setting has_max_use_after to... |
| (try_combine_chains): ...here. New parameter. Sort combined chains |
| according to position information. |
| (tree_predictive_commoning_loop): Update call to above function. |
| (update_pos_for_combined_chains, pcom_stmt_dominates_stmt_p): New. |
| |
| 2018-01-31 Richard Biener <rguenther@suse.de> |
| Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| Backport from mainline |
| 2018-01-29 Richard Biener <rguenther@suse.de> |
| Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| PR bootstrap/80867 |
| * tree-vect-stmts.c (vectorizable_call): Don't call |
| targetm.vectorize_builtin_md_vectorized_function if callee is |
| NULL. |
| |
| 2018-01-29 Alan Modra <amodra@gmail.com> |
| |
| Backport from mainline |
| 2018-01-26 Alan Modra <amodra@gmail.com> |
| PR target/84033 |
| * config/rs6000/rs6000.c (rtx_is_swappable_p): Exclude |
| UNSPEC_VBPERMQ. |
| |
| 2018-01-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2018-01-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000-p8swap.c (swap_feeds_both_load_and_store): |
| New function. |
| (rs6000_analyze_swaps): Mark a web unoptimizable if it contains a |
| swap associated with both a load and a store. |
| |
| 2018-01-23 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Back port from mainline |
| 2018-01-10 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/83399 |
| * config/rs6000/rs6000.c (print_operand) <'y'>: Use |
| VECTOR_MEM_ALTIVEC_OR_VSX_P. |
| * config/rs6000/vsx.md (*vsx_le_perm_load_<mode> for VSX_D): Use |
| indexed_or_indirect_operand predicate. |
| (*vsx_le_perm_load_<mode> for VSX_W): Likewise. |
| (*vsx_le_perm_load_v8hi): Likewise. |
| (*vsx_le_perm_load_v16qi): Likewise. |
| (*vsx_le_perm_store_<mode> for VSX_D): Likewise. |
| (*vsx_le_perm_store_<mode> for VSX_W): Likewise. |
| (*vsx_le_perm_store_v8hi): Likewise. |
| (*vsx_le_perm_store_v16qi): Likewise. |
| (eight unnamed splitters): Likewise. |
| |
| 2018-01-23 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from trunk |
| 2018-01-22 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/83862 |
| * config/rs6000/rs6000-protos.h (rs6000_split_signbit): Delete, |
| no longer used. |
| * config/rs6000/rs6000.c (rs6000_split_signbit): Likewise. |
| * config/rs6000/rs6000.md (signbit<mode>2): Change code for IEEE |
| 128-bit to produce an UNSPEC move to get the double word with the |
| signbit and then a shift directly to do signbit. |
| (signbit<mode>2_dm): Replace old IEEE 128-bit signbit |
| implementation with a new version that just does either a direct |
| move or a regular move. Move memory interface to separate insns. |
| Move insns so they are next to the expander. |
| (signbit<mode>2_dm_mem_be): New combiner insns to combine load |
| with signbit move. Split big and little endian case. |
| (signbit<mode>2_dm_mem_le): Likewise. |
| (signbit<mode>2_dm_<su>ext): Delete, no longer used. |
| (signbit<mode>2_dm2): Likewise. |
| |
| 2018-01-21 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/81485 |
| * config/sh/sh-protos.h (sh_find_set_of_reg): Remove assert. |
| |
| 2018-01-21 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2018-01-21 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/80870 |
| * config/sh/sh_optimize_sett_clrt.cc: |
| Use INCLUDE_ALGORITHM and INCLUDE_VECTOR instead of direct includes. |
| |
| 2018-01-16 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from mainline |
| 2017-12-18 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/83424 |
| * rtlanal.c (dead_or_set_regno_p): Handle CLOBBER just like SET. |
| |
| 2018-01-14 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2018-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/83677 |
| * config/rs6000/altivec.md (*altivec_vpermr_<mode>_internal): |
| Reverse order of second and third operands in first alternative. |
| * config/rs6000/rs6000.c (rs6000_expand_vector_set): Reverse order |
| of first and second elements in UNSPEC_VPERMR vector. |
| (altivec_expand_vec_perm_le): Likewise. |
| |
| 2018-01-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2017-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/82975 |
| * config/arm/arm.h (TEST_REGNO): Check reg_renumber is set before |
| accessing it. Adjust comment. |
| |
| 2017-12-17 John David Anglin <danglin@gcc.gnu.org> |
| |
| Backport from mainline |
| 2017-12-03 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (pa_legitimate_address_p): For scaled indexing, |
| require base operand is a REG_POINTER prior to reload on targets |
| with non-equivalent space registers. |
| |
| 2017-12-15 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/66488 |
| * ggc-page.c (HOST_BITS_PER_PTR): Do not define here... |
| * hwint.h (HOST_BITS_PER_PTR): ...but here instead. |
| |
| 2017-12-14 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-12-13 Peter Bergner <bergner@vnet.ibm.com> |
| |
| * config/rs6000/ppc-auxv.h (PPC_FEATURE2_HTM_NO_SUSPEND): New define. |
| * config/rs6000/rs6000.c (cpu_supports_info): Use it. |
| |
| 2017-12-14 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-10-02 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/80210 |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Rewrite |
| function to not use the have_cpu variable. Do not set cpu_index, |
| rs6000_cpu_index or rs6000_tune_index if we end up using TARGET_DEFAULT |
| or the default cpu. |
| (rs6000_valid_attribute_p): Remove duplicate initializations of |
| old_optimize and func_optimize. |
| (rs6000_pragma_target_parse): Call rs6000_activate_target_options (). |
| (rs6000_activate_target_options): Make global. |
| * config/rs6000/rs6000-protos.h (rs6000_activate_target_options): Add |
| prototype. |
| |
| 2017-12-11 Thomas Schwinge <thomas@codesourcery.com> |
| |
| PR c++/83301 |
| |
| Backport trunk r243377: |
| 2016-12-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/78692 |
| * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Set lhs |
| var to lhs of new_stmt right before noreturn handling rather than to |
| lhs of e->call_stmt early. |
| |
| 2017-12-04 Sebastian Peryt <sebastian.peryt@intel.com> |
| H.J. Lu <hongjiu.lu@intel.com> |
| |
| Bakcported from trunk |
| PR target/82941 |
| PR target/82942 |
| PR target/82990 |
| * config/i386/i386.c (pass_insert_vzeroupper): Remove |
| TARGET_AVX512F check from gate condition. |
| (ix86_check_avx256_register): Changed to ... |
| (ix86_check_avx_upper_register): ... this. Add extra check for |
| VALID_AVX512F_REG_OR_XI_MODE. |
| (ix86_avx_u128_mode_needed): Changed |
| ix86_check_avx256_register to ix86_check_avx_upper_register. |
| (ix86_check_avx256_stores): Changed to ... |
| (ix86_check_avx_upper_stores): ... this. Changed |
| ix86_check_avx256_register to ix86_check_avx_upper_register. |
| (ix86_avx_u128_mode_after): Changed |
| avx_reg256_found to avx_upper_reg_found. Changed |
| ix86_check_avx256_stores to ix86_check_avx_upper_stores. |
| (ix86_avx_u128_mode_entry): Changed |
| ix86_check_avx256_register to ix86_check_avx_upper_register. |
| (ix86_avx_u128_mode_exit): Ditto. |
| (ix86_option_override_internal): Set MASK_VZEROUPPER if |
| neither -mzeroupper nor -mno-zeroupper is used and |
| TARGET_EMIT_VZEROUPPER is set. |
| * config/i386/i386.h: (host_detect_local_cpu): New define. |
| (TARGET_EMIT_VZEROUPPER): New. |
| * config/i386/x86-tune.def: Add X86_TUNE_EMIT_VZEROUPPER |
| |
| 2017-12-01 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from mainline |
| 2017-11-28 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR 81288/target |
| * config/rs6000/rs6000.c (rs6000_rtx_costs): Do not handle |
| TARGET_ISEL && !TARGET_MFCRF differently. Simplify code. |
| |
| 2017-11-29 Daniel Cederman <cederman@gaisler.com> |
| |
| Backport from mainline |
| * config/sparc/sparc.c (sparc_do_work_around_errata): Treat the |
| movsi_pic_gotdata_op instruction as a load for the UT699 errata |
| workaround. |
| |
| 2017-11-24 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from mainline |
| 2017-11-17 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/82621 |
| * combine.c (try_combine): Do not split PARALLELs of two SETs if the |
| dest of one of those SETs is unused. |
| |
| 2017-11-21 Pat Haugen <pthaugen@us.ibm.com> |
| |
| Backport from mainline |
| 2017-11-21 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * config/rs6000/ppc-asm.h (f50, vs50): Fix values. |
| |
| 2017-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| Backport from mainline |
| 2017-11-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit since |
| Solaris 11. Update comment. |
| * configure.ac (gcc_cv_ld_pid): Adapt comment for Solaris 12 |
| renaming. |
| * config/sol2.h (STARTFILE_SPEC): Likewise. |
| * configure: Regenerate. |
| |
| 2017-11-16 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (x86_print_call_or_nop): Emit 5 byte nop |
| explicitly as a stream of bytes. |
| |
| 2017-11-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| Backport from mainline |
| 2017-10-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * configure.ac (gcc_cv_as_ix86_xbrace_comment): Check if assembler |
| supports -xbrace_comment option. |
| * configure: Regenerate. |
| * config.in: Regenerate. |
| * config/i386/sol2.h (ASM_XBRACE_COMMENT_SPEC): Define. |
| (ASM_CPU_SPEC): Use it. |
| |
| 2017-11-09 Andre McCurdy <armccurdy@gmail.com> |
| |
| * config/arm/arm-cores.def: Fix missing FL_LPAE flag for armv7ve |
| compatible cores. |
| |
| 2017-11-09 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from mainline |
| 2017-11-01 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/64682 |
| PR rtl-optimization/69567 |
| PR rtl-optimization/69737 |
| PR rtl-optimization/82683 |
| * combine.c (distribute_notes) <REG_DEAD>: If the new I2 sets the same |
| register mentioned in the note, drop the note, unless it came from I3, |
| in which case it should go to I3 again. |
| |
| 2017-10-31 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/82772 |
| * config/alpha/sync.md (fetchop_constr) <and>: Change to "rINM". |
| |
| 2017-10-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-03-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_gen_le_vsx_permute): Use rotate |
| instead of vec_select for V1TImode. |
| * conifg/rs6000/vsx.md (VSX_LE): Remove mode iterator that is no |
| longer needed. |
| (VSX_LE_128): Add V1TI to this mode iterator. |
| (*vsx_le_perm_load_<mode>): Change to use VSX_D mode iterator. |
| (*vsx_le_perm_store_<mode>): Likewise. |
| (pre-reload splitter for VSX stores): Likewise. |
| (post-reload splitter for VSX stores): Likewise. |
| (*vsx_xxpermdi2_le_<mode>): Likewise. |
| (*vsx_lxvd2x2_le_<mode>): Likewise. |
| (*vsx_stxvd2x2_le_<mode>): Likewise. |
| |
| 2017-10-19 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/82445 |
| * config/arm/arm.c (align_ok_ldrd_strd): New function. |
| (mem_ok_for_ldrd_strd): New parameter align. Extract the alignment of |
| the mem into it. |
| (gen_operands_ldrd_strd): Validate the alignment of the accesses. |
| |
| 2017-10-18 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/82602 |
| * ira.c (rtx_moveable_p): Return false for volatile asm. |
| |
| 2017-10-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/82549 |
| * fold-const.c (optimize_bit_field_compare, fold_truth_andor_1): |
| Formatting fixes. Instead of calling make_bit_field_ref with negative |
| bitpos return 0. |
| |
| 2017-10-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/82274 |
| * internal-fn.c (expand_mul_overflow): If both operands have |
| the same highpart of -1 or 0 and the topmost bit of lowpart |
| is different, overflow is if res <= 0 rather than res < 0. |
| |
| 2017-10-10 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * config.gcc: (armv7*-*-freebsd*): New target. |
| Define TARGET_FREEBSD_ARMv7 |
| * config/arm/freebsd.h: Use TARGET_FREEBSD_ARMv7 to define the |
| default cpu for armv7*-*-freebsd*. |
| |
| 2017-10-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2017-09-30 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.c (ix86_split_idivmod): Use mode instead of |
| always SImode for DIV and MOD in REG_EQUAL notes. |
| |
| 2017-10-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-09-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/82337 |
| * gimple-ssa-strength-reduction.c (find_phi_def): Don't record a |
| phi definition if the PHI result appears in an abnormal PHI. |
| (find_basis_for_base_expr): Don't record a basis if the LHS of the |
| basis appears in an abnormal PHI. |
| |
| 2017-09-21 Alan Modra <amodra@gmail.com> |
| |
| PR target/81996 |
| * gcc/config/rs6000/rs6000.c (rs6000_return_addr): Use |
| stack_pointer_rtx for count 0. Update comments. Break up |
| large rtl expression. |
| |
| 2017-09-21 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| PR target/71951 |
| * config/aarch64/aarch64.h (LIBGCC2_UNWIND_ATTRIBUTE): Define. |
| |
| 2017-09-19 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (fold_builtin_cpu): Add M_AMDFAM17H |
| to processor_model and "amdfam17h" to arch_names_table. |
| * doc/extend.texi (__builtin_cpu_is): Document amdfam17h CPU name. |
| |
| 2017-09-19 Martin Liska <mliska@suse.cz> |
| |
| PR c++/81355 |
| * config/i386/i386.c (sorted_attr_string): Skip empty strings. |
| |
| 2017-09-19 Martin Liska <mliska@suse.cz> |
| |
| Revert backport: |
| 2017-08-10 Martin Liska <mliska@suse.cz> |
| |
| PR c++/81355 |
| * c-attribs.c (handle_target_attribute): |
| Report warning for an empty string argument of target attribute. |
| |
| 2017-09-18 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-08-28 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/81977 |
| * tree-ssa-sccvn.c (vn_reference_lookup_3): Fix look through |
| memcpy. |
| |
| 2017-09-04 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/82084 |
| * fold-const.h (can_native_encode_string_p): Declare. |
| * fold-const.c (can_native_encode_string_p): Factor out from ... |
| (native_encode_string): ... here. |
| * tree-vect-stmts.c (vectorizable_store): Call it to avoid |
| vectorizing stores from constants we later cannot handle. |
| |
| 2017-07-25 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/81505 |
| * fold-const.c (fold_negate_const): TREE_OVERFLOW should be |
| sticky. |
| |
| 2017-09-15 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2017-09-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/81768 |
| * omp-low.c (lower_omp_for): Recompute tree invariant if |
| gimple_omp_for_initial/final is ADDR_EXPR. |
| |
| PR middle-end/81768 |
| * omp-low.c (expand_omp_simd): Force second operands of COND_EXPR |
| into gimple val before gimplification fo the COND_EXPR. |
| |
| 2017-09-04 Jakub Jelinek <jakub@redhat.com> |
| |
| * lra-remat.c (reg_overlap_for_remat_p): Fix a pasto. |
| |
| 2017-08-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/81687 |
| * omp-low.c (omp_copy_decl): Don't remap FORCED_LABEL or DECL_NONLOCAL |
| LABEL_DECLs. |
| * tree-cfg.c (move_stmt_op): Don't adjust DECL_CONTEXT of FORCED_LABEL |
| or DECL_NONLOCAL labels. |
| (move_stmt_r) <case GIMPLE_LABEL>: Adjust DECL_CONTEXT of FORCED_LABEL |
| or DECL_NONLOCAL labels here. |
| |
| 2017-08-08 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/81766 |
| * function.c (thread_prologue_and_epilogue_insns): Restore |
| behavior of always calling find_many_sub_basic_blocks on |
| the inserted prologue. |
| |
| 2017-08-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/81621 |
| * bb-reorder.c (pass_partition_blocks::execute): Return TODO_df_finish |
| after setting changeable df flags. |
| |
| PR middle-end/81052 |
| * omp-low.c (diagnose_sb_0): Handle flag_openmp_simd like flag_openmp. |
| (pass_diagnose_omp_blocks::gate): Enable also for flag_openmp_simd. |
| |
| 2017-08-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/79499 |
| * function.c (thread_prologue_and_epilogue_insns): Determine blocks |
| for find_many_sub_basic_blocks bitmap by looking up BLOCK_FOR_INSN |
| of first NONDEBUG_INSN_P in each of the split_prologue_seq and |
| prologue_seq sequences - if any. |
| |
| 2017-06-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/81225 |
| * config/i386/sse.md (vec_extract_lo_<mode><mask_name>): For |
| V8FI, V16FI and VI8F_256 iterators, use <store_mask_predicate> instead |
| of nonimmediate_operand and <store_mask_constraint> instead of m for |
| the input operand. For V8FI iterator, always split if input is a MEM. |
| For V16FI and V8SF_256 iterators, don't test if both operands are MEM |
| if <mask_applied>. For VI4F_256 iterator, use <store_mask_predicate> |
| instead of register_operand and <store_mask_constraint> instead of v for |
| the input operand. Make sure both operands aren't MEMs for if not |
| <mask_applied>. |
| |
| 2017-09-15 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-08-11 Martin Liska <mliska@suse.cz> |
| |
| PR tree-opt/79987 |
| * tree-chkp.c (chkp_get_bounds_for_decl_addr): Do not instrument |
| variables of void type. |
| |
| 2017-09-15 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-06-28 Martin Liska <mliska@suse.cz> |
| |
| PR sanitizer/81224 |
| * asan.c (instrument_derefs): Bail out inner references |
| that are hard register variables. |
| |
| 2017-09-15 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-08-30 Martin Liska <mliska@suse.cz> |
| |
| PR inline-asm/82001 |
| * ipa-icf-gimple.c (func_checker::compare_tree_list_operand): |
| Rename to ... |
| (func_checker::compare_asm_inputs_outputs): ... this function. |
| (func_checker::compare_gimple_asm): Use the function to compare |
| also ASM constrains. |
| * ipa-icf-gimple.h: Rename the function. |
| |
| 2017-09-15 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-08-29 Martin Liska <mliska@suse.cz> |
| |
| PR other/39851 |
| * gcc.c (driver_handle_option): Add new argument. |
| * opts-common.c (handle_option): Pass |
| target_option_override_hook. |
| * opts-global.c (lang_handle_option): Add new option. |
| (set_default_handlers): Add new argument. |
| (decode_options): Likewise. |
| * opts.c (target_handle_option): Likewise. |
| (common_handle_option): Call target_option_override_hook. |
| * opts.h (struct cl_option_handler_func): Add hook for |
| target option override. |
| (struct cl_option_handlers): Likewise. |
| (set_default_handlers): Add new argument. |
| (decode_options): Likewise. |
| (common_handle_option): Likewise. |
| (target_handle_option): Likewise. |
| * toplev.c (toplev::main): Pass targetm.target_option.override |
| hook. |
| |
| 2017-09-15 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-08-10 Martin Liska <mliska@suse.cz> |
| |
| PR c++/81355 |
| * c-attribs.c (handle_target_attribute): |
| Report warning for an empty string argument of target attribute. |
| |
| 2017-09-15 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-08-08 Martin Liska <mliska@suse.cz> |
| |
| PR tree-opt/81696 |
| * ipa-icf-gimple.c (func_checker::compare_cst_or_decl): Consider |
| LABEL_DECLs that can be from a different function. |
| |
| 2017-09-15 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-06-28 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/81128 |
| * ipa-visibility.c (non_local_p): Handle visibility. |
| |
| 2017-09-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-09-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/81833 |
| * config/rs6000/altivec.md (altivec_vsum2sws): Convert from a |
| define_insn to a define_expand. |
| (altivec_vsum2sws_direct): New define_insn. |
| (altivec_vsumsws): Convert from a define_insn to a define_expand. |
| |
| 2017-09-11 Max Filippov <jcmvbkbc@gmail.com> |
| |
| Backport from mainline |
| PR target/82181 |
| * config/xtensa/xtensa.c (xtensa_mem_offset): Check that both |
| words of DImode object are reachable by xtensa_uimm8x4 access. |
| |
| 2017-09-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline: |
| 2017-08-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/81987 |
| * gimple-ssa-strength-reduction.c (insert_initializers): Don't |
| insert an initializer in a location not dominated by the stride |
| definition. |
| |
| 2017-09-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-08-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| Jakub Jelinek <jakub@redhat.com> |
| Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/81503 |
| * gimple-ssa-strength-reduction.c (replace_mult_candidate): Ensure |
| folded constant fits in the target type; reorder tests for clarity. |
| |
| 2017-08-30 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from trunk |
| 2017-08-07 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/81593 |
| * config/rs6000/vsx.md (vsx_concat_<mode>_1): New combiner insns |
| to recognize inserting into a vector from a double word element |
| that was extracted from another vector, and eliminate extra |
| XXPERMDI instructions. |
| (vsx_concat_<mode>_2): Likewise. |
| (vsx_concat_<mode>_3): Likewise. |
| (vsx_set_<mode>, VSX_D): Rewrite vector set in terms of vector |
| concat to allow optimizing inserts from previous extracts. |
| |
| 2017-08-29 Alan Modra <amodra@gmail.com> |
| |
| Apply from mainline |
| 2017-08-12 Alan Modra <amodra@gmail.com> |
| PR target/81170 |
| PR target/81295 |
| * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Upgrade to |
| match gnu-user.h startfile. |
| (ENDFILE_LINUX_SPEC): Similarly. |
| |
| 2017-08-08 Alan Modra <amodra@gmail.com> |
| H.J. Lu <hongjiu.lu@intel.com> |
| PR target/81170 |
| PR target/81295 |
| PR driver/81523 |
| * gcc.c (NO_PIE_SPEC): Delete. |
| (PIE_SPEC): Define as !no-pie/pie. Move static|shared|r |
| exclusion.. |
| (LINK_PIE_SPEC): ..to here. |
| (LINK_COMMAND_SPEC): Support -no-pie. |
| * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Correct |
| chain of crtbegin*.o selection, update for PIE_SPEC changes and |
| format. |
| (GNU_USER_TARGET_ENDFILE_SPEC): Similarly. |
| * config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Similarly. |
| (ENDFILE_CRTEND_SPEC): Similarly. |
| |
| 2017-08-24 Yvan Roux <yvan.roux@linaro.org> |
| |
| Backport from mainline |
| 2017-04-17 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| PR c++/80287 |
| * class.c (fixup_may_alias): Fix all type variants. |
| |
| 2017-08-22 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-08-17 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/80210 |
| * config/rs6000/rs6000.c (rs6000_activate_target_options): New function. |
| (rs6000_set_current_function): Rewrite function to use it. |
| |
| 2017-08-22 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2017-08-22 trunk r251256. |
| |
| PR target/81910 |
| * config/avr/avr.c (avr_handle_addr_attribute): Early return if |
| not VAR_P. Filter attribute warnings with OPT_Wattributes. |
| (avr_attribute_table) <io, io_low, address>: Initialize |
| .decl_required with true. |
| |
| 2017-08-21 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/79883 |
| * config/avr/avr.c (avr_set_current_function): Typo in diagnostic. |
| |
| 2017-08-19 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/81894 |
| * doc/extend.texi (x86 Built-in Functions): Correct the name of |
| __builtin_ia32_lzcnt_u16. |
| |
| 2017-08-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2017-08-17 Maxim Ostapenko <m.ostapenko@samsung.com> |
| |
| PR target/81861 |
| * config/i386/i386.c (ix86_option_override_internal): Save target |
| specific options after ix86_stack_protector_guard_reg was changed. |
| |
| 2017-08-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-08-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/81354 |
| * gimple-ssa-strength-reduction.c (create_add_on_incoming_edge): |
| Insert on edges rather than explicitly creating landing pads. |
| (analyze_candidates_and_replace): Commit edge inserts. |
| |
| 2017-08-01 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/81641 |
| * config/i386/i386.c (ix86_print_operand_address_as): For -masm=intel |
| print "ds:" only for immediates in generic address space. |
| |
| 2017-07-31 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/81604 |
| * ubsan.c (ubsan_type_descriptor): For UBSAN_PRINT_ARRAY don't |
| change type to the element type, instead add eltype variable and |
| use it where we are interested in the element type. |
| |
| 2017-07-28 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-07-28 Peter Bergner <bergner@vnet.ibm.com> |
| |
| * config/rs6000/ppc-auxv.h (PPC_FEATURE2_DARN): New define. |
| (PPC_FEATURE2_SCV): Likewise. |
| * config/rs6000/rs6000.c (cpu_supports_info): Use them. |
| |
| 2017-07-28 Bin Cheng <bin.cheng@arm.com> |
| |
| Backport from mainline r250496 |
| 2017-07-25 Bin Cheng <bin.cheng@arm.com> |
| |
| PR target/81414 |
| * config/aarch64/cortex-a57-fma-steering.c (analyze): Skip fmul/fmac |
| instructions if no du chain is found. |
| |
| 2017-07-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/81555 |
| PR tree-optimization/81556 |
| * tree-ssa-reassoc.c (rewrite_expr_tree): Add NEXT_CHANGED argument, |
| if true, force CHANGED for the recursive invocation. |
| (reassociate_bb): Remember original length of ops array, pass |
| len != orig_len as NEXT_CHANGED in rewrite_expr_tree call. |
| |
| 2017-07-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline r235874 |
| 2016-05-04 Alan Modra <amodra@gmail.com> |
| |
| * config/rs6000/rs6000.c (rs6000_elf_output_toc_section_asm_op): |
| Align .toc. |
| |
| 2017-07-26 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2016-06-15 trunk r237486. |
| Backport from 2017-07-12 trunk r250156. |
| |
| PR target/79883 |
| PR target/67353 |
| * config/avr/avr.c (avr_set_current_function): Warn misspelled ISR |
| only if -Wmisspelled-isr is on. In diagnostic messages: Quote |
| keywords and (parts of) identifiers. |
| [WITH_AVRLIBC]: Warn functions named "ISR", "SIGNAL" or "INTERUPT". |
| * doc/invoke.texi (AVR Options) <-Wmisspelled-isr>: Decument. |
| |
| 2017-07-26 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2017-07-05 trunk r249995. |
| |
| PR target/81305 |
| * config/avr/avr.c (avr_out_movhi_mr_r_xmega) [CONSTANT_ADDRESS_P]: |
| Don't depend on "optimize > 0". |
| (out_movhi_r_mr, out_movqi_mr_r): Same. |
| (out_movhi_mr_r, out_movqi_r_mr): Same. |
| (avr_address_cost) [CONSTANT_ADDRESS_P]: Don't depend cost for |
| io_address_operand on "optimize > 0". |
| |
| 2017-07-26 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2017-07-12 trunk r250151. |
| |
| PR target/81407 |
| * config/avr/avr.c (avr_encode_section_info) |
| [progmem && !TREE_READONLY]: Error if progmem object needs |
| constructing. |
| |
| 2017-07-26 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2017-07-26 gcc-7-branch r250562. |
| |
| PR 81487 |
| * hsa-brig.c (brig_init): Use xasprintf instead of asprintf. |
| * tree-ssa-structalias.c (alias_get_name): Same. |
| |
| 2017-07-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-07-14 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/81162 |
| * gimple-ssa-strength-reduction.c (replace_mult_candidate): Don't |
| replace a negate with an add. |
| |
| 2017-07-25 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from trunk r247719. |
| |
| 2017-05-06 Richard Sandiford <richard.sandiford@linaro.org> |
| |
| PR rtl-optimization/75964 |
| * simplify-rtx.c (simplify_const_relational_operation): Remove |
| invalid handling of comparisons of integer ABS. |
| |
| 2017-07-24 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/80569 |
| * config/i386/i386.c (ix86_option_override_internal): Disable |
| BMI, BMI2 and TBM instructions for -m16. |
| |
| 2017-07-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/81471 |
| * config/i386/i386.md (rorx_immediate_operand): New mode attribute. |
| (*bmi2_rorx<mode>3_1): Use rorx_immediate_operand as |
| operand 2 predicate. |
| (*bmi2_rorxsi3_1_zext): Use const_0_to_31_operand as |
| operand 2 predicate. |
| (ror,rol -> rorx splitters): Use const_int_operand as |
| operand 2 predicate. |
| |
| 2017-07-17 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2017-07-17 trunk r250258. |
| |
| PR 80929 |
| * config/avr/avr.c (avr_mul_highpart_cost): New static function. |
| (avr_rtx_costs_1) [TRUNCATE]: Use it to compute mul_highpart cost. |
| [LSHIFTRT, outer_code = TRUNCATE]: Same. |
| |
| 2017-07-14 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| Backports from trunk |
| |
| 2017-03-23 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Change |
| handling of certain combinations of target options, including the |
| combinations -mpower8-vector vs. -mno-vsx, -mpower8-vector vs. |
| -mno-power8-vector, and -mpower9_dform vs. -mno-power9-vector. |
| |
| 2017-03-27 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| PR target/80103 |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Add |
| special handling for target option conflicts between dform options |
| (-mpower9-dform, -mpower9-dform-vector, -mpower9-dform-scalar) and |
| -mno-direct-move. |
| |
| 2017-05-08 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| PR target/80101 |
| * config/rs6000/power6.md: Replace store_data_bypass_p calls with |
| rs6000_store_data_bypass_p in seven define_bypass directives and |
| in several comments. |
| * config/rs6000/rs6000-protos.h: Add prototype for |
| rs6000_store_data_bypass_p function. |
| * config/rs6000/rs6000.c (rs6000_store_data_bypass_p): New |
| function implements slightly different (rs6000-specific) semantics |
| than store_data_bypass_p, returning false rather than aborting |
| with assertion error when arguments do not satisfy the |
| requirements of store data bypass. |
| (rs6000_adjust_cost): Replace six calls of store_data_bypass_p with |
| rs6000_store_data_bypass_p. |
| |
| 2017-07-14 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2017-07-10 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/81375 |
| * config/i386/i386.md (divsf3): Add TARGET_SSE to TARGET_SSE_MATH. |
| (rcpps): Ditto. |
| (*rsqrtsf2_sse): Ditto. |
| (rsqrtsf2): Ditto. |
| (div<mode>3): Macroize insn from divdf3 and divsf3 |
| using MODEF mode iterator. |
| |
| Backport from mainline |
| 2017-07-04 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/81300 |
| * config/i386/i386.md (setcc + movzbl/and to xor + setcc peepholes): |
| Require dead FLAGS_REG at the beginning of a peephole. |
| |
| 2017-07-13 Tom de Vries <tom@codesourcery.com> |
| |
| backport from mainline: |
| PR tree-optimization/81192 |
| 2017-07-03 Tom de Vries <tom@codesourcery.com> |
| |
| * tree-ssa-tail-merge.c (same_succ_flush_bb): Handle |
| BB_SAME_SUCC (bb) == NULL. |
| |
| 2017-07-06 Andrew Pinski <apinski@cavium.com> |
| |
| * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): |
| Access the lower part of RTX appropriately. |
| |
| 2017-07-04 Richard Biener <rguenther@suse.de> |
| |
| * BASE-VER: Bump to 6.4.1. |
| |
| 2017-07-04 Release Manager |
| |
| * GCC 6.4.0 released. |
| |
| 2017-07-03 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from trunk: |
| |
| 2017-06-15 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/rs6000/rs6000.md (add<mode>3): Use reg_or_subregno instead |
| of REGNO. |
| |
| 2017-06-30 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-06-23 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/80510 |
| * config/rs6000/rs6000.md (ALTIVEC_DFORM): Do not allow DImode in |
| 32-bit, since indexed is not valid for DImode. |
| (mov<mode>_hardfloat32): Reorder ISA 2.07 load/stores before ISA |
| 3.0 d-form load/stores to be the same as mov<mode>_hardfloat64. |
| (define_peephole2 for Altivec d-form load): Add 32-bit support. |
| (define_peephole2 for Altivec d-form store): Likewise. |
| |
| 2017-06-27 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backports from trunk: |
| |
| 2016-08-15 Segher Boessenkool <segher@kernel.crashing.org> |
| PR rtl-optimization/73650 |
| * lra-constraints.c (simple_move_p): If the insn is multiple_sets |
| it is not a simple move. |
| |
| 2017-01-20 Segher Boessenkool <segher@kernel.crashing.org> |
| PR target/61729 |
| PR target/77850 |
| * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Adjust address to |
| read from, for big endian. |
| |
| 2017-04-04 Segher Boessenkool <segher@kernel.crashing.org> |
| PR rtl-optimization/60818 |
| * simplify-rtx.c (simplify_binary_operation_1): Do not replace |
| a compare of comparisons with the thing compared if this results |
| in a different machine mode. |
| |
| 2017-04-12 Segher Boessenkool <segher@kernel.crashing.org> |
| PR target/80382 |
| * config/rs6000/sync.md (atomic_load<mode>, atomic_store<mode): Test |
| for quad_address_p for TImode, instead of just not indexed_address. |
| |
| 2017-04-19 Segher Boessenkool <segher@kernel.crashing.org> |
| PR rtl-optimization/80429 |
| * ira.c (split_live_ranges_for_shrink_wrap): Don't split regs that |
| are only used in debug insns. |
| |
| 2017-05-17 Segher Boessenkool <segher@kernel.crashing.org> |
| PR middle-end/80692 |
| * real.c (do_compare): Give decimal_do_compare preference over |
| comparing just the signs. |
| |
| 2017-05-31 Segher Boessenkool <segher@kernel.crashing.org> |
| PR target/80618 |
| * config/rs6000/vector.md (*vector_uneq<mode>): Write the nor in the |
| splitter result in the canonical way. |
| |
| 2017-06-09 Segher Boessenkool <segher@kernel.crashing.org> |
| PR target/80966 |
| * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Assert that |
| gen_add3_insn did not fail. |
| * config/rs6000/rs6000.md (add<mode>3): If asked to add a constant to |
| r0, construct that number in a temporary reg and add that reg to r0. |
| If asked to put the result in r0 as well, fail. |
| |
| 2017-06-23 Segher Boessenkool <segher@kernel.crashing.org> |
| PR middle-end/80902 |
| * builtins.c (expand_builtin_atomic_fetch_op): If emitting code after |
| a call, force the call to not be a tail call. |
| |
| 2017-06-23 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2017-05-04 Prakhar Bahuguna <prakhar.bahuguna@arm.com> |
| |
| * config/arm/arm-builtins.c (arm_init_builtins): Rename |
| __builtin_arm_ldfscr to __builtin_arm_get_fpscr, and rename |
| __builtin_arm_stfscr to __builtin_arm_set_fpscr. |
| |
| 2017-06-22 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-02-17 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79552 |
| * tree-ssa-structalias.c (visit_loadstore): Properly verify |
| default defs. |
| |
| 2016-04-18 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/43434 |
| * tree-ssa-structalias.c (struct vls_data): New. |
| (visit_loadstore): Handle all pointer-based accesses. |
| (compute_dependence_clique): Compute a bitmap of restrict tags |
| assigned bases and pass it to visit_loadstore. |
| |
| 2017-06-22 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2017-06-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/81130 |
| * gimplify.c (omp_add_variable): Don't force GOVD_SEEN for types |
| with ctors/dtors if GOVD_SHARED is set. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-05-31 Martin Liska <mliska@suse.cz> |
| |
| PR target/79155 |
| * config/i386/cpuid.h: Fix typo in a comment in cpuid.h. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-05-30 Martin Liska <mliska@suse.cz> |
| |
| PR other/80909 |
| * auto-profile.c (get_function_decl_from_block): Fix |
| parenthesis. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-05-26 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/80663 |
| * params.def: Bound partial-inlining-entry-probability param. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-05-16 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/79849. |
| PR ipa/79850. |
| * ipa-devirt.c (warn_types_mismatch): Fix typo. |
| (odr_types_equivalent_p): Likewise. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-05-15 Martin Liska <mliska@suse.cz> |
| |
| PR driver/31468 |
| * gcc.c (process_command): Do not allow empty argument of -o option. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-05-02 Martin Liska <mliska@suse.cz> |
| |
| * doc/gcov.texi: Add missing preposition. |
| * gcov.c (function_info::function_info): Properly fill up |
| all member variables. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-05-02 Martin Liska <mliska@suse.cz> |
| |
| PR other/80589 |
| * common.opt: Fix typo. |
| * doc/invoke.texi: Likewise. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-28 Martin Liska <mliska@suse.cz> |
| |
| * doc/gcov.texi: Enhance documentation of gcov. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-28 Martin Liska <mliska@suse.cz> |
| |
| * doc/gcov.texi: Sort options in alphabetic order. |
| * doc/gcov-dump.texi: Likewise. |
| * doc/gcov-tool.texi: Likewise. |
| * gcov.c (print_usage): Likewise. |
| * gcov-dump.c (print_usage): Likewise. |
| * gcov-tool.c (print_merge_usage_message): Likewise. |
| (print_rewrite_usage_message): Likewise. |
| (print_overlap_usage_message): Likewise. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-28 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/53915 |
| * gcov.c (format_gcov): Print 'NAN %' when top > bottom. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-28 Martin Liska <mliska@suse.cz> |
| |
| PR driver/56469 |
| * coverage.c (coverage_remove_note_file): New function. |
| * coverage.h: Declare the function. |
| * toplev.c (finalize): Clean if an error has been seen. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-12 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR lto/69953 |
| * ipa-visibility.c (non_local_p): Fix typos. |
| (localize_node): When localizing symbol in same comdat group, |
| dissolve the group only when we know external symbols are going |
| to be privatized. |
| (function_and_variable_visibility): Do not localize DECL_EXTERNAL. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-01-17 Nathan Sidwell <nathan@acm.org> |
| |
| * ipa-visibility.c (localize_node): New function, broken out of ... |
| (function_and_variable_visibility): ... here. Call it. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-01-06 Nathan Sidwell <nathan@acm.org> |
| |
| * ipa-visibility.c (function_and_variable_visibility): Reformat |
| comments and long lines. Remove extrneous if. |
| * symtab.c (symtab_node::make_decl_local): Fix code format. |
| (symtab_node::set_section_for_node): Fix comment typo. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2016-10-20 Martin Liska <mliska@suse.cz> |
| |
| PR lto/78049 |
| * lto-streamer-in.c (fixup_call_stmt_edges_1): Replace value |
| comparison with STMT_UID_NOT_IN_RANGE. |
| (fixup_call_stmt_edges): Do not fixup edges of a thunk in |
| LTRANS. |
| |
| 2017-06-22 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2017-05-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/80809 |
| * omp-low.c (finish_taskreg_remap): New function. |
| (finish_taskreg_scan): If unit size of ctx->record_type |
| is non-constant, unshare the size expression and replace |
| decls in it with possible outer var refs. |
| |
| PR middle-end/80809 |
| * gimplify.c (omp_add_variable): For GOVD_DEBUG_PRIVATE use |
| GOVD_SHARED rather than GOVD_PRIVATE with it. |
| (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Expect |
| GOVD_SHARED rather than GOVD_PRIVATE with GOVD_DEBUG_PRIVATE. |
| |
| PR middle-end/80853 |
| * omp-low.c (lower_reduction_clauses): Pass OMP_CLAUSE_PRIVATE |
| as last argument to build_outer_var_ref for pointer bases of array |
| section reductions. |
| |
| 2017-06-22 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-04-20 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80453 |
| * tree-ssa-sccvn.h (struct vn_phi_s): Add cclhs and ccrhs members. |
| * tree-ssa-sccvn.c (cond_stmts_equal_p): Use recorded lhs and rhs |
| from the conditions. |
| (vn_phi_eq): Pass them down. |
| (vn_phi_lookup): Record them. |
| (vn_phi_insert): Likewise. |
| |
| 2017-04-07 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/80341 |
| * tree.c (get_unwidened): Also handle ! for_type case for |
| INTEGER_CSTs. |
| * convert.c (do_narrow): Split out from ... |
| (convert_to_integer_1): ... here. Do not pass final truncation |
| type to get_unwidened for TRUNC_DIV_EXPR. |
| |
| 2017-04-04 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/80281 |
| * match.pd (A + (-B) -> A - B): Make sure to preserve unsigned |
| arithmetic done for the negate or the plus. Simplify. |
| (A - (-B) -> A + B): Likewise. |
| * fold-const.c (split_tree): Make sure to not negate pointers. |
| |
| 2017-06-22 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-01-30 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79256 |
| * targhooks.c (default_builtin_vector_alignment_reachable): Honor |
| BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN to fix up bogus |
| alignment on TYPE. |
| * tree.c (build_aligned_type): Set TYPE_USER_ALIGN. |
| |
| 2017-01-25 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69264 |
| * target.def (vector_alignment_reachable): Improve documentation. |
| * doc/tm.texi: Regenerate. |
| * targhooks.c (default_builtin_vector_alignment_reachable): Simplify |
| and add a comment. |
| * tree-vect-data-refs.c (vect_supportable_dr_alignment): Revert |
| earlier changes with respect to TYPE_USER_ALIGN. |
| (vector_alignment_reachable_p): Likewise. Improve dumping. |
| |
| 2017-02-09 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69823 |
| * graphite-scop-detection.c (scop_detection::harmful_loop_in_region): |
| Properly enumerate all BBs in the region. Use auto_vec. |
| |
| 2017-06-21 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from mainline |
| 2017-05-19 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/80718 |
| * config/rs6000/vsx.md (vsx_splat_<mode>, VSX_D iterator): Prefer |
| VSX registers over GPRs, particularly on ISA 2.07 which does not |
| have the MTVSRDD instruction. |
| |
| Back port from mainline |
| 2017-05-18 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/80510 |
| * config/rs6000/predicates.md (simple_offsettable_mem_operand): |
| New predicate. |
| |
| * config/rs6000/rs6000.md (ALTIVEC_DFORM): New iterator. |
| (define_peephole2 for Altivec d-form load): Add peepholes to catch |
| cases where the register allocator uses a move and an offsettable |
| memory operation to/from a FPR register on ISA 2.06/2.07. |
| (define_peephole2 for Altivec d-form store): Likewise. |
| |
| Back port from mainline |
| 2017-05-09 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/68163 |
| * config/rs6000/rs6000.md (f32_lr): Delete mode attributes that |
| are now unused after splitting mov{sf,sd}_hardfloat. |
| (f32_lr2): Likewise. |
| (f32_lm): Likewise. |
| (f32_lm2): Likewise. |
| (f32_li): Likewise. |
| (f32_li2): Likewise. |
| (f32_lv): Likewise. |
| (f32_sr): Likewise. |
| (f32_sr2): Likewise. |
| (f32_sm): Likewise. |
| (f32_sm2): Likewise. |
| (f32_si): Likewise. |
| (f32_si2): Likewise. |
| (f32_sv): Likewise. |
| (f32_dm): Likewise. |
| (f32_vsx): Likewise. |
| (f32_av): Likewise. |
| (mov<mode>_hardfloat): Split into separate movsf and movsd pieces. |
| For movsf, order stores so the VSX stores occur before the GPR |
| store which encourages the register allocator to use a traditional |
| FPR instead of a GPR. For movsd, order the stores so that the GPR |
| store comes before the VSX stores to allow the power6 to work. |
| This is due to the power6 not having a 32-bit integer store |
| instruction from a FPR. |
| (movsf_hardfloat): Likewise. |
| (movsd_hardfloat): Likewise. |
| |
| 2017-06-21 Jeff Law <law@redhat.com> |
| |
| * config/darwin-driver.c (darwin_driver_init): Const-correctness |
| fixes for first_period and second_period variables. |
| |
| 2017-06-19 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| Backport from mainline |
| 2017-06-16 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| PR target/71778 |
| * config/arm/arm-builtins.c (arm_expand_builtin_args): Return TARGET |
| if given a non-constant argument for an intrinsic which requires a |
| constant. |
| |
| 2017-06-15 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/80474 |
| * reorg.c (update_block): Do not ignore instructions in a delay slot. |
| |
| 2017-06-14 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/driver-sparc.c (cpu_names): Add SPARC-T5 entry. |
| |
| 2017-06-09 David S. Miller <davem@davemloft.net> |
| |
| PR target/80968 |
| * config/sparc/sparc.c (sparc_flat_expand_epilogue): Don't |
| emit frame blockage here. |
| (sparc_expand_epilogue): Do it here. |
| * config/sparc/sparc.md (return expander): Emit frame blockage |
| for alloca here too. |
| |
| 2017-06-06 David S. Miller <davem@davemloft.net> |
| |
| PR target/80968 |
| * config/sparc/sparc.c (sparc_expand_prologue): Emit frame |
| blockage if function uses alloca. |
| |
| 2017-06-06 Toma Tabacu <toma.tabacu@imgtec.com> |
| |
| Backported from mainline |
| 2017-03-09 Toma Tabacu <toma.tabacu@imgtec.com> |
| |
| * doc/sourcebuild.texi (Effective-Target Keywords, Other attributes): |
| Document rdynamic. |
| |
| 2017-06-01 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2016-08-19 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/rdseedintrin.h (_rdseed16_step, _rdseed32_step, |
| _rdseed64_step): Uglify argument names and/or local variable names |
| in inline functions. |
| * config/i386/rtmintrin.h (_xabort): Likewise. |
| * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64, |
| _mm256_mask_ternarylogic_epi64, _mm256_maskz_ternarylogic_epi64, |
| _mm256_ternarylogic_epi32, _mm256_mask_ternarylogic_epi32, |
| _mm256_maskz_ternarylogic_epi32, _mm_ternarylogic_epi64, |
| _mm_mask_ternarylogic_epi64, _mm_maskz_ternarylogic_epi64, |
| _mm_ternarylogic_epi32, _mm_mask_ternarylogic_epi32, |
| _mm_maskz_ternarylogic_epi32): Likewise. |
| * config/i386/lwpintrin.h (__llwpcb, __lwpval32, __lwpval64, |
| __lwpins32, __lwpins64): Likewise. |
| * config/i386/avx2intrin.h (_mm_i32gather_pd, _mm_mask_i32gather_pd, |
| _mm256_i32gather_pd, _mm256_mask_i32gather_pd, _mm_i64gather_pd, |
| _mm_mask_i64gather_pd, _mm256_i64gather_pd, _mm256_mask_i64gather_pd, |
| _mm_i32gather_ps, _mm_mask_i32gather_ps, _mm256_i32gather_ps, |
| _mm256_mask_i32gather_ps, _mm_i64gather_ps, _mm_mask_i64gather_ps, |
| _mm256_i64gather_ps, _mm256_mask_i64gather_ps, _mm_i32gather_epi64, |
| _mm_mask_i32gather_epi64, _mm256_i32gather_epi64, |
| _mm256_mask_i32gather_epi64, _mm_i64gather_epi64, |
| _mm_mask_i64gather_epi64, _mm256_i64gather_epi64, |
| _mm256_mask_i64gather_epi64, _mm_i32gather_epi32, |
| _mm_mask_i32gather_epi32, _mm256_i32gather_epi32, |
| _mm256_mask_i32gather_epi32, _mm_i64gather_epi32, |
| _mm_mask_i64gather_epi32, _mm256_i64gather_epi32, |
| _mm256_mask_i64gather_epi32): Likewise. |
| * config/i386/pmm_malloc.h (_mm_malloc, _mm_free): Likewise. |
| * config/i386/ia32intrin.h (__writeeflags): Likewise. |
| * config/i386/pkuintrin.h (_wrpkru): Likewise. |
| * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd, |
| _mm512_mask_prefetch_i32gather_ps, _mm512_mask_prefetch_i64gather_pd, |
| _mm512_mask_prefetch_i64gather_ps, _mm512_prefetch_i32scatter_pd, |
| _mm512_prefetch_i32scatter_ps, _mm512_mask_prefetch_i32scatter_pd, |
| _mm512_mask_prefetch_i32scatter_ps, _mm512_prefetch_i64scatter_pd, |
| _mm512_prefetch_i64scatter_ps, _mm512_mask_prefetch_i64scatter_pd, |
| _mm512_mask_prefetch_i64scatter_ps): Likewise. |
| * config/i386/gmm_malloc.h (_mm_malloc, _mm_free): Likewise. |
| * config/i386/avx512fintrin.h (_mm512_ternarylogic_epi64, |
| _mm512_mask_ternarylogic_epi64, _mm512_maskz_ternarylogic_epi64, |
| _mm512_ternarylogic_epi32, _mm512_mask_ternarylogic_epi32, |
| _mm512_maskz_ternarylogic_epi32, _mm512_i32gather_ps, |
| _mm512_mask_i32gather_ps, _mm512_i32gather_pd, _mm512_i64gather_ps, |
| _mm512_i64gather_pd, _mm512_i32gather_epi32, _mm512_i32gather_epi64, |
| _mm512_i64gather_epi32, _mm512_i64gather_epi64): Likewise. |
| |
| 2017-05-30 Max Filippov <jcmvbkbc@gmail.com> |
| |
| Backport from mainline |
| 2017-05-29 Max Filippov <jcmvbkbc@gmail.com> |
| |
| * config/xtensa/xtensa.c (xtensa_emit_call): Use |
| HOST_WIDE_INT_PRINT_HEX instead of 0x%lx format string. |
| (print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of %ld |
| format string. |
| |
| 2017-05-30 Max Filippov <jcmvbkbc@gmail.com> |
| |
| Backport from mainline |
| 2016-11-29 Max Filippov <jcmvbkbc@gmail.com> |
| |
| * config/xtensa/xtensa.c (hwloop_optimize): Don't emit zero |
| overhead loop start between a call and its CALL_ARG_LOCATION |
| note. |
| |
| 2017-05-30 Max Filippov <jcmvbkbc@gmail.com> |
| |
| Backport from mainline |
| 2016-11-01 Max Filippov <jcmvbkbc@gmail.com> |
| |
| * config/xtensa/xtensa-protos.h |
| (xtensa_use_return_instruction_p): New prototype. |
| * config/xtensa/xtensa.c (xtensa_current_frame_size, |
| xtensa_callee_save_size): Remove. |
| (struct machine_function): Add new fields: current_frame_size, |
| callee_save_size, frame_laid_out and epilogue_done. |
| (compute_frame_size, xtensa_expand_prologue, |
| xtensa_expand_epilogue): Replace xtensa_callee_save_size with |
| cfun->machine->callee_save_size and xtensa_current_frame_size |
| with cfun->machine->current_frame_size. |
| (compute_frame_size): Update cfun->machine->frame_laid_out and |
| don't update frame layout after reload completion. |
| (xtensa_expand_epilogue): Set cfun->machine->epilogue_done |
| instead of zeroing xtensa_current_frame_size. |
| (xtensa_use_return_instruction_p): New function. |
| * config/xtensa/xtensa.h (xtensa_current_frame_size): Remove |
| declaration. |
| (INITIAL_ELIMINATION_OFFSET): Use return value of |
| compute_frame_size instead of xtensa_current_frame_size value. |
| * config/xtensa/xtensa.md ("return" pattern): Use new predicate |
| function xtensa_use_return_instruction_p instead of inline code. |
| |
| 2017-05-29 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * doc/install.texi (Options specification): Move entry of |
| --enable-sjlj-exceptions. |
| |
| 2017-05-26 Sheldon Lobo <smlobo@sheldon.us.oracle.com> |
| |
| Backported from mainline |
| 2017-05-24 Sheldon Lobo <smlobo@sheldon.us.oracle.com> |
| |
| * config/sparc/sparc.md (length): Return the correct value for -mflat |
| sibcalls to match output_sibcall. |
| |
| 2017-05-26 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-24 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR middle-end/79931 |
| * ipa-devirt.c (dump_possible_polymorphic_call_targets): Fix ICE. |
| |
| 2017-05-26 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-19 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/65972 |
| * auto-profile.c (afdo_vpt_for_early_inline): Update SSA |
| when needed by AutoPGO. |
| |
| 2017-05-26 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-19 Paulo J. Matos <paulo@matos-sorge.com> |
| |
| PR lto/50345 |
| * doc/lto.texi: Remove an extra 'that'. |
| |
| 2017-05-26 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-18 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/78783 |
| * gcov-tool.c (gcov_output_files): Validate that destination |
| file is either removed by the tool or by a user. |
| |
| 2017-05-26 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-13 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/80413 |
| * gcov-io.c (gcov_write_string): Copy to buffer just when |
| allocated size is greater than zero. |
| |
| 2017-05-26 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-11 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/80212 |
| * cgraph.c (cgraph_node::dump): Dump calls_comdat_local. |
| * ipa-split.c (split_function): Create a local comdat symbol |
| if caller is in a comdat group. |
| |
| 2017-05-26 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-11 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/80212 |
| * ipa-cp.c (determine_versionability): Handle calls_comdat_local |
| flags. |
| |
| 2017-05-26 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-11 Martin Liska <mliska@suse.cz> |
| |
| PR sanitizer/70878 |
| * ubsan.c (instrument_object_size): Do not instrument register |
| variables. |
| |
| 2017-05-26 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-10 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/80224 |
| * gcov.c (print_usage): Fix usage string. |
| (get_gcov_intermediate_filename): Remove. |
| (output_gcov_file): Use both for normal and intermediate format. |
| (generate_results): Do not initialize special file for |
| intermediate format. |
| |
| 2017-05-26 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-28 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/80205 |
| * tree-inline.c (copy_phis_for_bb): Do not create PHI node |
| without arguments, generate default definition of a SSA name. |
| |
| 2017-05-26 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-28 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/80104 |
| * cgraphunit.c (cgraph_node::expand_thunk): Mark argument of a |
| thunk call as DECL_GIMPLE_REG_P when vector or complex type. |
| |
| 2017-05-23 Sheldon Lobo <sheldon.lobo@oracle.com> |
| |
| Backport from mainline |
| 2017-05-18 Sheldon Lobo <sheldon.lobo@oracle.com> |
| |
| * config/sparc/sparc.c (sparc_option_override): Set function |
| alignment for -mcpu=niagara7 to 64 to match the I$ line. |
| * config/sparc/sparc.h (BRANCH_COST): Set the SPARC M7 branch |
| latency to 1. |
| * config/sparc/sparc.h (BRANCH_COST): Set the SPARC T4 branch |
| latency to 2. |
| * config/sparc/sol2.h: Fix a ASM_CPU32_DEFAULT_SPEC typo. |
| |
| 2017-05-19 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2017-05-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/80799 |
| * config/i386/mmx.md (*mov<mode>_internal): Enable |
| alternatives 11, 12, 13 and 14 also for 32bit targets. |
| Remove alternatives 15, 16, 17 and 18. |
| * config/i386/sse.md (vec_concatv2di): Change |
| alternative (!x, *y) to (x, ?!*Yn). |
| |
| 2017-05-15 Richard Biener <rguenther@suse.de> |
| |
| Revert backport of |
| PR middle-end/80222 |
| * gimple-fold.c (gimple_fold_indirect_ref): Do not touch |
| TYPE_REF_CAN_ALIAS_ALL references. |
| * fold-const.c (fold_indirect_ref_1): Likewise. |
| |
| 2017-05-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-05-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_vect_nonmem): New static var. |
| (rs6000_init_cost): Initialize rs6000_vect_nonmem. |
| (rs6000_add_stmt_cost): Update rs6000_vect_nonmem. |
| (rs6000_finish_cost): Avoid vectorizing simple copy loops with |
| VF=2 that require versioning. |
| |
| 2017-05-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-05-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (altivec_init_builtins): Define POWER8 |
| built-ins for vec_xl and vec_xst with short and char pointer |
| arguments. |
| |
| 2017-05-10 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/80090 |
| * config/pa/pa.c (pa_assemble_integer): When outputting a SYMBOL_REF, |
| handle calling assemble_external ourself. |
| |
| PR target/79027 |
| * config/pa/pa.c (pa_cannot_change_mode_class): Reject changes to/from |
| modes with zero size. Enhance comment. |
| |
| 2017-05-10 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-03-17 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/80075 |
| * tree-eh.c (stmt_could_throw_1_p): Only handle gimple assigns. |
| Properly verify the LHS before the RHS possibly claims to be |
| handled. |
| (stmt_could_throw_p): Hande gimple conds fully here. Clobbers |
| do not throw. |
| |
| 2017-03-21 Brad Spengler <spender@grsecurity.net> |
| |
| PR plugin/80094 |
| * plugin.c (htab_hash_plugin): New function. |
| (add_new_plugin): Use it and adjust. |
| (parse_plugin_arg_opt): Adjust. |
| (init_one_plugin): Likewise. |
| |
| 2017-03-20 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80113 |
| * graphite-isl-ast-to-gimple.c (copy_loop_phi_nodes): Do not |
| allocate extra SSA name for PHI def. |
| (add_close_phis_to_outer_loops): Likewise. |
| (add_close_phis_to_merge_points): Likewise. |
| (copy_loop_close_phi_args): Likewise. |
| (copy_cond_phi_nodes): Likewise. |
| |
| 2017-03-21 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80122 |
| * tree-inline.c (copy_bb): Do not expans va-arg packs or |
| va_arg_pack_len when the inlined call stmt requires pack |
| expansion itself. |
| * tree-inline.h (struct copy_body_data): Make call_stmt a gcall *. |
| |
| 2017-03-24 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80167 |
| * graphite-isl-ast-to-gimple.c |
| (translate_isl_ast_to_gimple::is_valid_rename): Handle default-defs |
| properly. |
| (translate_isl_ast_to_gimple::get_rename): Likewise. |
| |
| 2017-03-27 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80170 |
| * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Make |
| sure DR/SCEV didnt fold in constants we do not see when looking |
| at the reference base alignment. |
| |
| 2017-03-27 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/80171 |
| * gimple-fold.c (fold_ctor_reference): Properly guard against |
| NULL return value from canonicalize_constructor_val. |
| |
| 2017-05-09 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-03-28 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/80222 |
| * gimple-fold.c (gimple_fold_indirect_ref): Do not touch |
| TYPE_REF_CAN_ALIAS_ALL references. |
| * fold-const.c (fold_indirect_ref_1): Likewise. |
| |
| 2017-04-06 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80262 |
| * tree-sra.c (build_ref_for_offset): Preserve address-space |
| information. |
| * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): |
| Drop useless address-space information on MEM_REF offsets. |
| |
| 2017-04-03 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80275 |
| * fold-const.c (split_address_to_core_and_offset): Handle |
| POINTER_PLUS_EXPR. |
| |
| 2017-04-06 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80334 |
| * tree-ssa-loop-ivopts.c (rewrite_use_address): Properly |
| preserve alignment of accesses. |
| |
| 2017-04-10 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/80362 |
| * fold-const.c (fold_binary_loc): Look at unstripped ops when |
| looking for NEGATE_EXPR in -A / -B to A / B folding. |
| |
| 2017-04-25 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80492 |
| * alias.c (compare_base_decls): Handle registers with asm |
| specification conservatively. |
| |
| 2017-04-27 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/80539 |
| * tree-chrec.c (chrec_fold_plus_poly_poly): Deal with not |
| being in loop-closed SSA form conservatively. |
| (chrec_fold_multiply_poly_poly): Likewise. |
| |
| 2017-05-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR testsuite/80678 |
| 2016-06-14 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/71310 |
| PR bootstrap/71510 |
| * expr.h (get_bit_range): Declare. |
| * expr.c (get_bit_range): Export. |
| * fold-const.c (optimize_bit_field_compare): Use get_bit_range and |
| word_mode again to constrain the bitfield access. |
| |
| 2016-06-11 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR middle-end/71310 |
| * fold-const.c (optimize_bit_field_compare): Don't try to use |
| word_mode unconditionally for reading the bit field, look at |
| DECL_BIT_FIELD_REPRESENTATIVE instead. |
| |
| 2017-05-05 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2017-04-25 Jakub Jelinek <jakub@redhat.com> |
| |
| * Makefile.in (s-options): Invoke opt-gather.awk with LC_ALL=C in the |
| environment. |
| |
| PR rtl-optimization/80501 |
| * combine.c (make_compound_operation_int): Set subreg_code to SET |
| even for AND with mask of the sign bit of mode. |
| |
| 2017-04-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/80349 |
| * fold-const.c (fold_binary_loc) <case BIT_IOR_EXPR>: Convert arg0's |
| first argument to type. |
| |
| 2017-04-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/80385 |
| * simplify-rtx.c (simplify_unary_operation_1): Don't transform |
| (not (neg X)) into (plus X -1) for complex or non-integral modes. |
| |
| PR libgomp/80394 |
| * omp-low.c (scan_omp_task): Don't optimize away empty tasks |
| if they have any depend clauses. |
| |
| 2017-04-04 Jakub Jelinek <jakub@redhat.com> |
| Richard Biener <rguenther@suse.de> |
| |
| PR c++/80297 |
| * genmatch.c (capture::gen_transform): For GENERIC unshare_expr |
| captures used multiple times, except for the last use. |
| * generic-match-head.c: Include gimplify.h. |
| |
| 2017-04-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/80286 |
| * config/i386/i386.c (ix86_expand_args_builtin): If op has scalar |
| int mode, convert_modes it to mode as unsigned, otherwise use |
| lowpart_subreg to mode rather than SImode. |
| * config/i386/sse.md (<mask_codefor>ashr<mode>3<mask_name>, |
| ashr<mode>3, ashr<mode>3<mask_name>, <shift_insn><mode>3<mask_name>): |
| Use DImode instead of SImode for the shift count operand. |
| * config/i386/mmx.md (mmx_ashr<mode>3, mmx_<shift_insn><mode>3): |
| Likewise. |
| |
| 2017-04-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/80321 |
| * dwarf2out.c (decls_for_scope): Ignore declarations of |
| current_function_decl in BLOCK_NONLOCALIZED_VARS. |
| |
| 2017-03-31 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/79255 |
| * dwarf2out.c (decls_for_scope): If BLOCK_NONLOCALIZED_VAR is |
| a FUNCTION_DECL, pass it as decl instead of origin to |
| process_scope_var. |
| |
| PR debug/80025 |
| * cselib.c (cselib_hasher::equal): Pass 0 to rtx_equal_for_cselib_1. |
| (rtx_equal_for_cselib_1): Add depth argument. If depth |
| is 128, don't look up VALUE locs and punt. Increment |
| depth in recursive calls when walking VALUE locs. |
| |
| 2017-03-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/80168 |
| * asan.c (instrument_derefs): Copy over last operand from |
| original COMPONENT_REF to the new COMPONENT_REF with |
| DECL_BIT_FIELD_REPRESENTATIVE. |
| * ubsan.c (instrument_object_size): Likewise. |
| |
| 2017-03-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/80112 |
| * loop-doloop.c (doloop_condition_get): Don't check condition |
| if cmp isn't SET with IF_THEN_ELSE src. |
| |
| 2017-03-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/80129 |
| * gimplify.c (gimplify_modify_expr_rhs) <case COND_EXPR>: Clear |
| TREE_READONLY on result if writing it more than once. |
| |
| 2017-03-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/79944 |
| * asan.c (get_mem_refs_of_builtin_call): For BUILT_IN_ATOMIC* and |
| BUILT_IN_SYNC*, determine the access type from the size suffix and |
| always build a MEM_REF with that type. Handle forgotten |
| BUILT_IN_SYNC_FETCH_AND_NAND_16 and BUILT_IN_SYNC_NAND_AND_FETCH_16. |
| |
| PR target/79932 |
| * config/i386/avx512vlintrin.h (_mm256_cmpge_epi32_mask, |
| _mm256_cmpge_epi64_mask, _mm256_cmpge_epu32_mask, |
| _mm256_cmpge_epu64_mask, _mm256_cmple_epi32_mask, |
| _mm256_cmple_epi64_mask, _mm256_cmple_epu32_mask, |
| _mm256_cmple_epu64_mask, _mm256_cmplt_epi32_mask, |
| _mm256_cmplt_epi64_mask, _mm256_cmplt_epu32_mask, |
| _mm256_cmplt_epu64_mask, _mm256_cmpneq_epi32_mask, |
| _mm256_cmpneq_epi64_mask, _mm256_cmpneq_epu32_mask, |
| _mm256_cmpneq_epu64_mask, _mm256_mask_cmpge_epi32_mask, |
| _mm256_mask_cmpge_epi64_mask, _mm256_mask_cmpge_epu32_mask, |
| _mm256_mask_cmpge_epu64_mask, _mm256_mask_cmple_epi32_mask, |
| _mm256_mask_cmple_epi64_mask, _mm256_mask_cmple_epu32_mask, |
| _mm256_mask_cmple_epu64_mask, _mm256_mask_cmplt_epi32_mask, |
| _mm256_mask_cmplt_epi64_mask, _mm256_mask_cmplt_epu32_mask, |
| _mm256_mask_cmplt_epu64_mask, _mm256_mask_cmpneq_epi32_mask, |
| _mm256_mask_cmpneq_epi64_mask, _mm256_mask_cmpneq_epu32_mask, |
| _mm256_mask_cmpneq_epu64_mask, _mm_cmpge_epi32_mask, |
| _mm_cmpge_epi64_mask, _mm_cmpge_epu32_mask, _mm_cmpge_epu64_mask, |
| _mm_cmple_epi32_mask, _mm_cmple_epi64_mask, _mm_cmple_epu32_mask, |
| _mm_cmple_epu64_mask, _mm_cmplt_epi32_mask, _mm_cmplt_epi64_mask, |
| _mm_cmplt_epu32_mask, _mm_cmplt_epu64_mask, _mm_cmpneq_epi32_mask, |
| _mm_cmpneq_epi64_mask, _mm_cmpneq_epu32_mask, _mm_cmpneq_epu64_mask, |
| _mm_mask_cmpge_epi32_mask, _mm_mask_cmpge_epi64_mask, |
| _mm_mask_cmpge_epu32_mask, _mm_mask_cmpge_epu64_mask, |
| _mm_mask_cmple_epi32_mask, _mm_mask_cmple_epi64_mask, |
| _mm_mask_cmple_epu32_mask, _mm_mask_cmple_epu64_mask, |
| _mm_mask_cmplt_epi32_mask, _mm_mask_cmplt_epi64_mask, |
| _mm_mask_cmplt_epu32_mask, _mm_mask_cmplt_epu64_mask, |
| _mm_mask_cmpneq_epi32_mask, _mm_mask_cmpneq_epi64_mask, |
| _mm_mask_cmpneq_epu32_mask, _mm_mask_cmpneq_epu64_mask): Move |
| definitions outside of __OPTIMIZE__ guarded section. |
| |
| PR target/79932 |
| * config/i386/avx512bwintrin.h (_mm512_packs_epi32, |
| _mm512_maskz_packs_epi32, _mm512_mask_packs_epi32, |
| _mm512_packus_epi32, _mm512_maskz_packus_epi32, |
| _mm512_mask_packus_epi32): Move definitions outside of __OPTIMIZE__ |
| guarded section. |
| |
| 2017-03-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/79940 |
| * gimplify.c (gimplify_omp_for): Replace index var in outer |
| taskloop statement with an artificial variable and add |
| OMP_CLAUSE_PRIVATE clause for it. |
| |
| 2017-03-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/79901 |
| * config/i386/sse.md (*avx512bw_<code><mode>3<mask_name>): Renamed to |
| ... |
| (*avx512f_<code><mode>3<mask_name>): ... this. |
| (<code><mode>3 with maxmin code iterator): Use VI8_AVX2_AVX512F |
| iterator instead of VI8_AVX2_AVX512BW. |
| |
| PR rtl-optimization/79901 |
| * expr.c (expand_expr_real_2): For vector MIN/MAX, if there is no |
| min/max expander, expand it using expand_vec_cond_expr. |
| |
| 2017-03-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/79807 |
| * config/i386/i386.c (ix86_expand_multi_arg_builtin): If target |
| is a memory operand, increase num_memory. |
| (ix86_expand_args_builtin): Likewise. |
| |
| 2017-03-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/79681 |
| * fold-const.c (make_bit_field_ref): If orig_inner is COMPONENT_REF, |
| attempt to use its first operand as BIT_FIELD_REF base. |
| |
| 2017-02-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/79729 |
| * config/i386/i386.c (ix86_print_operand) <case 'R'>: Replace |
| gcc_unreachable with output_operand_lossage. |
| |
| 2017-02-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/79396 |
| * tree-eh.c (operation_could_trap_p, stmt_could_throw_1_p): Handle |
| FMA_EXPR like tcc_binary or tcc_unary. |
| |
| 2017-02-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/79570 |
| * sel-sched.c (moveup_expr_cached): Don't call sel_bb_head |
| on temporarily removed DEBUG_INSNs. |
| |
| PR target/79494 |
| * config/i386/i386.c (ix86_expand_split_stack_prologue): Call |
| make_reg_eh_region_note_nothrow_nononlocal on call_insn. |
| * config/rs6000/rs6000.c: Include except.h. |
| (rs6000_expand_split_stack_prologue): Call |
| make_reg_eh_region_note_nothrow_nononlocal on the call insn. |
| |
| 2017-02-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/79568 |
| * config/i386/i386.c (ix86_expand_builtin): Handle |
| OPTION_MASK_ISA_AVX512VL and OPTION_MASK_ISA_64BIT in |
| ix86_builtins_isa[fcode].isa as a requirement of those |
| flags and any other flag in the bitmask. |
| (ix86_init_mmx_sse_builtins): Use 0 instead of |
| ~OPTION_MASK_ISA_64BIT as mask. |
| * config/i386/i386-builtin.def (bdesc_special_args, |
| bdesc_args): Likewise. |
| |
| 2017-02-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/79559 |
| * config/i386/i386.c (ix86_print_operand): Use output_operand_lossage |
| instead of gcc_assert for K, r and R code checks. Formatting fixes. |
| |
| 2017-05-05 Marek Polacek <polacek@redhat.com> |
| Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/77728 |
| * config/arm/arm.c: Include gimple.h. |
| (aapcs_layout_arg): Emit -Wpsabi note if arm_needs_doubleword_align |
| returns negative, increment ncrn if it returned non-zero. |
| (arm_needs_doubleword_align): Return int instead of bool, |
| ignore DECL_ALIGN of non-FIELD_DECL TYPE_FIELDS chain |
| members, but if there is any such non-FIELD_DECL |
| > PARM_BOUNDARY aligned decl, return -1 instead of false. |
| (arm_function_arg): Emit -Wpsabi note if arm_needs_doubleword_align |
| returns negative, increment nregs if it returned non-zero. |
| (arm_setup_incoming_varargs): Likewise. |
| (arm_function_arg_boundary): Emit -Wpsabi note if |
| arm_needs_doubleword_align returns negative, return |
| DOUBLEWORD_ALIGNMENT if it returned non-zero. |
| |
| 2017-05-03 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2017-05-01 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/68491 |
| * config/i386/cpuid.h (__get_cpuid): Always return 0 when |
| __get_cpuid_max returns 0. |
| (__get_cpuid_count): Ditto. |
| |
| 2017-04-21 Eric Botcazou <ebotcazou@adacore.com> |
| |
| Backport from mainline |
| 2017-04-19 Eric Botcazou <ebotcazou@adacore.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/80426 |
| * tree-vrp.c (extract_range_from_binary_expr_1): For an additive |
| operation on symbolic operands, also compute the overflow for the |
| invariant part when the operation degenerates into a negation. |
| |
| 2017-04-19 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2017-04-19 trunk r246997. |
| |
| PR target/80462 |
| * config/avr/avr.c (tree.h): Include it. |
| (cgraph.h): Include it. |
| (avr_encode_section_info): Don't warn for uninitialized progmem |
| variable if it's just an alias. |
| |
| 2017-04-18 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2017-04-18 trunk r246966. |
| |
| PR target/79453 |
| * config/avr/avr.c (intl.h): Include it. |
| (avr_pgm_check_var_decl) [reason]: Wrap diagnostic snippets into _(). |
| |
| 2017-04-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-04-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/80376 |
| PR target/80315 |
| * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return |
| CONST0_RTX (mode) rather than const0_rtx where appropriate. |
| (rs6000_expand_binop_builtin): Likewise. |
| (rs6000_expand_ternop_builtin): Likewise; also add missing |
| vsx_xxpermdi_* variants; also fix typo (arg1 => arg2) for |
| vshasigma built-ins. |
| * doc/extend.texi: Document that vec_xxpermdi's third argument |
| must be a constant. |
| |
| 2017-04-11 Pat Haugen <pthaugen@us.ibm.com> |
| |
| Backport from mainline |
| 2017-04-07 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * rs6000/rs6000.c (vec_load_pendulum): Rename... |
| (vec_pairing): ...to this. |
| (power9_sched_reorder2): Rewrite code for pairing vector/vecload insns. |
| (rs6000_sched_init): Adjust for name change. |
| (struct rs6000_sched_context): Likewise. |
| (rs6000_init_sched_context): Likewise. |
| (rs6000_set_sched_context): Likewise. |
| |
| 2017-04-11 Martin Jambor <mjambor@suse.cz> |
| |
| Backport from mainline |
| 2017-03-30 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/77333 |
| * cgraph.h (cgraph_build_function_type_skip_args): Declare. |
| * cgraph.c (redirect_call_stmt_to_callee): Set gimple fntype so that |
| it reflects the signature changes performed at the callee side. |
| * cgraphclones.c (build_function_type_skip_args): Make public, renamed |
| to cgraph_build_function_type_skip_args. |
| (build_function_decl_skip_args): Adjust call to the above function. |
| |
| 2017-04-08 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| Backport from mainline |
| 2017-04-08 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * config/aarch64/aarch64-freebsd.h: Define MCOUNT_NAME. |
| Add comment for WCHAR_T. |
| |
| 2017-04-07 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| Backport from mainline |
| 2017-04-07 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * config/aarch64/aarch64-freebsd.h: Define WCHAR_T. |
| |
| 2017-04-07 Eric Botcazou <ebotcazou@adacore.com> |
| |
| Backport from mainline |
| 2017-04-05 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/78002 |
| * config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): Replace |
| ptr_mode with Pmode throughout. |
| * config/aarch64/aarch64.md (probe_stack_range_<PTR:mode): Rename |
| into probe_stack_range and use DImode. |
| |
| 2017-04-07 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| Backport from mainline |
| 2017-04-07 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config/arm/arm.h (ARM_DEFAULT_SHORT_ENUMS): Provide default |
| definition. |
| * config/arm/arm.c (arm_default_short_enums): Use |
| ARM_DEFAULT_SHORT_ENUMS. |
| * config/arm/rtems.h (ARM_DEFAULT_SHORT_ENUMS): Define. |
| |
| 2017-04-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2017-04-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/79733 |
| * config/i386/i386.c (ix86_expand_builtin) |
| <case IX86_BUILTIN_KORTEST{C,Z}16>: Determine insn operand |
| mode from insn data. Convert operands to insn operand mode. |
| Copy operands that don't satisfy insn predicate to a register. |
| |
| 2017-04-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/80298 |
| * config/i386/mmintrin.h: Add -msse target option when __SSE__ is |
| not defined for x86_64 target. Add -mmmx target option when __SSE2__ |
| is not defined. |
| * config/i386/mm3dnow.h: Add -msse target when __SSE__ is not defined |
| for x86_64 target. |
| |
| 2017-04-06 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR target/80082 |
| * config/arm/arm-protos.h (FL_LPAE): Define macro. |
| (FL_FOR_ARCH7VE): Add FL_LPAE. |
| (arm_arch_lpae): Declare extern. |
| * config/arm/arm.c (arm_arch_lpae): Declare. |
| (arm_option_override): Define arm_arch_lpae. |
| * config/arm/arm.h (TARGET_HAVE_LPAE): Redefine in term of |
| arm_arch_lpae. |
| |
| 2017-04-03 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from the trunk |
| 2017-03-14 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/79947 |
| * config/rs6000/rs6000.h (TARGET_FRSQRTES): Add check for |
| -mpowerpc-gfxopt. |
| |
| 2017-03-31 Richard Sandiford <richard.sandiford@arm.com> |
| |
| PR tree-optimization/80218 |
| * tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds): |
| Update block frequencies and counts. |
| |
| 2017-03-30 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-03-30 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/80246 |
| * config/rs6000/dfp.md (dfp_dxex_<mode>): Update mode of operand 0. |
| (dfp_diex_<mode>): Update mode of operand 1. |
| * doc/extend.texi (dxex, dxexq): Document change to return type. |
| (diex, diexq): Document change to argument type. |
| |
| 2017-03-29 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from trunk |
| 2017-03-21 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> |
| |
| PR target/80123 |
| * doc/md.texi (Constraints): Document wA constraint. |
| * config/rs6000/constraints.md (wA): New. |
| * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add wA reg_class. |
| (rs6000_init_hard_regno_mode_ok): Init wA constraint. |
| * config/rs6000/rs6000.h (RS6000_CONSTRAINT_wA): New. |
| * config/rs6000/vsx.md (vsx_splat_<mode>): Use wA constraint. |
| |
| 2017-03-16 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/71294 |
| * config/rs6000/vsx.md (vsx_splat_<mode>, VSX_D iterator): Allow a |
| SPLAT operation on ISA 2.07 64-bit systems that have direct move, |
| but no MTVSRDD support, by doing MTVSRD and XXPERMDI. |
| |
| 2017-03-29 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-03-28 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/78644 |
| * tree-ssa-ccp.c (evaluate_stmt): When we may not use the value |
| of a simplification result we may not use it at all. |
| |
| 2017-03-27 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80181 |
| * tree-ssa-ccp.c (likely_value): UNDEFINED ^ X is UNDEFINED. |
| |
| 2017-03-28 Marek Polacek <polacek@redhat.com> |
| |
| Backport from mainline |
| 2017-03-28 Marek Polacek <polacek@redhat.com> |
| |
| PR sanitizer/80067 |
| * fold-const.c (fold_comparison): Use protected_set_expr_location |
| instead of SET_EXPR_LOCATION. |
| |
| 2017-03-27 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from trunk |
| 2017-03-27 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/78543 |
| * config/rs6000/rs6000.md (bswaphi2_extenddi): Combine bswap |
| HImode and SImode with zero extend to DImode to one insn. |
| (bswap<mode>2_extenddi): Likewise. |
| (bswapsi2_extenddi): Likewise. |
| (bswaphi2_extendsi): Likewise. |
| (bswaphi2): Combine bswap HImode and SImode into one insn. |
| Separate memory insns from swapping register. |
| (bswapsi2): Likewise. |
| (bswap<mode>2): Likewise. |
| (bswaphi2_internal): Delete, no longer used. |
| (bswapsi2_internal): Likewise. |
| (bswap<mode>2_load): Split bswap HImode/SImode into separate load, |
| store, and gpr<-gpr swap insns. |
| (bswap<mode>2_store): Likewise. |
| (bswaphi2_reg): Register only splitter, combine with the splitter. |
| (bswaphi2 splitter): Likewise. |
| (bswapsi2_reg): Likewise. |
| (bswapsi2 splitter): Likewise. |
| (bswapdi2): If we have the LDBRX and STDBRX instructions, split |
| the insns into load, store, and register/register insns. |
| (bswapdi2_ldbrx): Likewise. |
| (bswapdi2_load): Likewise. |
| (bswapdi2_store): Likewise. |
| (bswapdi2_reg): Likewise. |
| |
| 2017-03-25 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/80180 |
| * config/i386/i386.c (ix86_expand_builtin) |
| <IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Do not expand arg0 between |
| flags reg setting and flags reg using instructions. |
| <IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Ditto. Use non-flags reg |
| clobbering instructions to zero extend op2. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-14 Martin Liska <mliska@suse.cz> |
| |
| PR lto/66295 |
| * multiple_target.c (expand_target_clones): Drop local.local |
| flag for default implementation. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-02-22 Martin Liska <mliska@suse.cz> |
| |
| PR lto/79587 |
| * data-streamer-in.c (streamer_read_gcov_count): Remove assert. |
| * data-streamer-out.c (streamer_write_gcov_count_stream): |
| Likewise. |
| * value-prof.c (stream_out_histogram_value): Make assert more |
| precise based on type of counter. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-02-03 Martin Liska <mliska@suse.cz> |
| |
| PR lto/66295 |
| * multiple_target.c (create_dispatcher_calls): Redirect edge |
| from a caller of a dispatcher. |
| (expand_target_clones): Make the clones local. |
| (ipa_target_clone): Do both target clones and resolvers. |
| (ipa_dispatcher_calls): Remove the pass. |
| (pass_dispatcher_calls::gate): Likewise. |
| (make_pass_dispatcher_calls): Likewise. |
| * passes.def (pass_target_clone): Put as very first IPA early |
| pass. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| PR target/79906 |
| * config/rs6000/rs6000.c (rs6000_inner_target_options): Show |
| error message instead of an ICE. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-21 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/80081 |
| * Makefile.in: Add gcov-dump and fix installation of gcov-tool. |
| * doc/gcc.texi: Include gcov-dump stuff. |
| * doc/gcov-dump.texi: New file. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-20 Martin Liska <mliska@suse.cz> |
| |
| PR middle-end/79753 |
| * tree-chkp.c (chkp_build_returned_bound): Do not build |
| returned bounds for a LHS that's not a BOUNDED_P type. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-20 Martin Liska <mliska@suse.cz> |
| |
| PR target/79769 |
| PR target/79770 |
| * tree-chkp.c (chkp_find_bounds_1): Handle REAL_CST, |
| COMPLEX_CST and VECTOR_CST. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-14 Martin Liska <mliska@suse.cz> |
| |
| PR middle-end/79831 |
| * doc/invoke.texi (-Wchkp): Document the option. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-14 Martin Liska <mliska@suse.cz> |
| |
| PR target/79892 |
| * multiple_target.c (create_dispatcher_calls): Check that |
| a target can create a function dispatcher. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-13 Martin Liska <mliska@suse.cz> |
| |
| PR middle-end/78339 |
| * ipa-pure-const.c (warn_function_noreturn): If the declarations |
| is a CHKP clone, use original declaration. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-10 Martin Liska <mliska@suse.cz> |
| |
| PR target/65705 |
| PR target/69804 |
| * toplev.c (process_options): Enable MPX with LSAN and UBSAN. |
| * tree-chkp.c (chkp_walk_pointer_assignments): Verify that |
| FIELD != NULL. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-09 Martin Liska <mliska@suse.cz> |
| |
| PR tree-optimization/79631 |
| * tree-chkp-opt.c (chkp_is_constant_addr): Call |
| tree_int_cst_sign_bit just for INTEGER constants. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-09 Martin Liska <mliska@suse.cz> |
| |
| PR target/65705 |
| PR target/69804 |
| * toplev.c (process_options): Disable -fcheck-pointer-bounds with |
| sanitizers. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-09 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/79761 |
| * tree-chkp.c (chkp_get_bound_for_parm): Get bounds for a param. |
| (chkp_find_bounds_1): Remove gcc_unreachable. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-03 Jan Hubicka <jh@suse.cz> |
| |
| PR lto/79760 |
| * ipa-devirt.c (maybe_record_node): Properly handle |
| __cxa_pure_virtual visibility. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-03 Martin Liska <mliska@suse.cz> |
| |
| PR tree-optimization/79803 |
| * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Remove |
| assert. |
| (pass_loop_prefetch::execute): Disabled optimization if an |
| assumption about L1 cache size is not met. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-03-03 Martin Liska <mliska@suse.cz> |
| |
| PR rtl-optimization/79574 |
| * gcse.c (struct gcse_expr): Use HOST_WIDE_INT instead of int. |
| (hash_scan_set): Likewise. |
| (dump_hash_table): Likewise. |
| (hoist_code): Likewise. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-02-17 Martin Liska <mliska@suse.cz> |
| |
| PR rtl-optimization/79574 |
| * gcse.c (want_to_gcse_p): Prevent integer overflow. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-02-17 Martin Liska <mliska@suse.cz> |
| |
| PR rtl-optimization/79577 |
| * params.def (selsched-max-sched-times): Increase minimum to 1. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2016-06-13 Martin Liska <mliska@suse.cz> |
| |
| PR sanitizer/71458 |
| * toplev.c (process_options): Do not enable -fcheck-pointer-bounds |
| w/ -fsanitize=bounds. |
| |
| 2017-03-21 Pat Haugen <pthaugen@us.ibm.com> |
| |
| Backport from mainline: |
| 2017-03-17 Pat Haugen <pthaugen@us.ibm.com> |
| |
| PR target/79951 |
| * config/rs6000/rs6000.md (copysign<mode>3_fcpsgn): Test |
| for VECTOR_UNIT_VSX_P (<MODE>mode) too. |
| |
| 2017-03-21 Tamar Christina <tamar.christina@arm.com> |
| |
| * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>) |
| Change ins into fmov. |
| |
| 2017-03-19 Dominique d'Humieres <dominiq@lps.ens.fr> |
| |
| PR target/71017 |
| * config/i386/cpuid.h: Fix another undefined behavior. |
| |
| 2017-03-17 Tom de Vries <tom@codesourcery.com> |
| |
| backport from trunk: |
| 2017-03-17 Tom de Vries <tom@codesourcery.com> |
| |
| * gcov-dump.c (print_usage): Print bug_report_url. |
| |
| 2017-03-16 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-02-28 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79732 |
| * tree-inline.c (expand_call_inline): Handle anonymous |
| SSA lhs properly when inlining a function without return |
| value. |
| |
| 2017-03-15 Matthias Klose <doko@ubuntu.com> |
| |
| Backport from mainline |
| 2017-03-14 Martin Liska <mliska@suse.cz> |
| |
| * Makefile.in: Install gcov-dump. |
| |
| 2017-03-15 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/80019 |
| * config/i386/i386.c (ix86_vector_duplicate_value): Create |
| subreg of inner mode for values already in registers. |
| |
| 2017-03-14 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-02-28 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> |
| |
| PR target/79752 |
| * config/rs6000/rs6000.md (peephole2 for udiv/umod): Should emit |
| udiv rather than div since input pattern is unsigned. |
| |
| 2017-03-14 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/80004 |
| PR target/49244 |
| * gimple.c (gimple_builtin_call_types_compatible_p): Allow |
| char/short arguments promoted to int because of promote_prototypes. |
| |
| 2017-03-09 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79977 |
| * graphite-scop-detection.c (scop_detection::merge_sese): |
| Handle the case of extra exits to blocks dominating the entry. |
| |
| 2017-03-09 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/79971 |
| * gimple-expr.c (useless_type_conversion_p): Preserve |
| TYPE_SATURATING for fixed-point types. |
| |
| 2017-02-22 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79666 |
| * tree-vrp.c (extract_range_from_binary_expr_1): Make sure |
| to not symbolically negate if that may introduce undefined |
| overflow. |
| |
| 2017-02-17 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/79576 |
| * params.def (max-ssa-name-query-depth): Limit to 10. |
| |
| 2017-03-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2017-03-07 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/i386/i386.c (ix86_local_alignment): Align most aggregates |
| of 16 bytes and more to 16 bytes, not those of 16 bits and more. |
| |
| 2017-03-06 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/77850 |
| * config/pa/pa-64.h (PAD_VARARGS_DOWN): Don't pad down complex and |
| vector types. |
| |
| 2017-03-06 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from trunk |
| 2017-03-01 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/79439 |
| * config/rs6000/predicates.md (current_file_function_operand): Do |
| not allow self calls to be local if the function is replaceable. |
| |
| 2017-03-02 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/79514 |
| * config/i386/i386.md (*pushxf_rounded): New insn_and_split pattern. |
| |
| 2017-03-01 Pat Haugen <pthaugen@us.ibm.com> |
| |
| Backport from mainline: |
| 2017-02-27 Pat Haugen <pthaugen@us.ibm.com> |
| |
| PR target/79544 |
| * rs6000/rs6000-c.c (struct altivec_builtin_types): Use VSRAD for |
| arithmetic shift of unsigned V2DI. |
| |
| 2017-03-01 Martin Jambor <mjambor@suse.cz> |
| |
| Backport from mainline |
| 2017-02-21 Martin Jambor <mjambor@suse.cz> |
| |
| PR lto/79579 |
| * ipa-prop.c (ipa_prop_write_jump_functions): Bail out if no edges |
| have been analyzed. |
| |
| 2017-02-28 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/79749 |
| * config/sparc/sparc.c (sparc_frame_pointer_required): Add missing |
| condition on optimize for the leaf function test. |
| |
| 2017-02-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/79261 |
| * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Add |
| support for CODE_FOR_vsx_xxpermdi_v2d[fi]_be. |
| * config/rs6000/rs6000.md (reload_gpr_from_vsx<mode>): Call |
| generator for vsx_xxpermdi_<mode>_be. |
| * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Remove logic to |
| force big-endian semantics. |
| (vsx_xxpermdi_<mode>_be): New define_expand with same |
| implementation as previous version of vsx_xxpermdi_<mode>. |
| |
| 2017-02-20 Marek Polacek <polacek@redhat.com> |
| |
| Backport from mainline |
| 2017-02-20 Marek Polacek <polacek@redhat.com> |
| |
| PR middle-end/79537 |
| * gimplify.c (gimplify_expr): Handle unused *&&L;. |
| |
| PR sanitizer/79558 |
| * ubsan.c (ubsan_type_descriptor): Check if TYPE_MAX_VALUE is null. |
| |
| 2017-02-20 Marek Polacek <polacek@redhat.com> |
| |
| Backport from mainline |
| 2017-02-17 Marek Polacek <polacek@redhat.com> |
| |
| PR middle-end/79536 |
| * fold-const.c (fold_negate_expr_1): Renamed from fold_negate_expr. |
| (fold_negate_expr): New wrapper. |
| |
| 2017-02-17 Carl Love <cel@us.ibm.com> |
| |
| Backport from mainline commit r245460 on 2017-02-14 |
| |
| PR 79545 |
| * config/rs6000/rs6000.c: Add case statement entry to make the xvcvuxdsp |
| built-in argument unsigned. |
| * config/rs6000/vsx.md: Fix the source and return operand types so they |
| match the instruction definitions from the ISA document. Fix typo |
| in the instruction generation for the (define_insn "vsx_xvcvuxdsp" |
| statement. |
| |
| 2017-01-17 Julia Koval <julia.koval@intel.com> |
| |
| PR target/76731 |
| * config/i386/avx512fintrin.h |
| (_mm512_i32gather_ps): Change __addr type to void const*. |
| (_mm512_mask_i32gather_ps): Ditto. |
| (_mm512_i32gather_pd): Ditto. |
| (_mm512_mask_i32gather_pd): Ditto. |
| (_mm512_i64gather_ps): Ditto. |
| (_mm512_mask_i64gather_ps): Ditto. |
| (_mm512_i64gather_pd): Ditto. |
| (_mm512_mask_i64gather_pd): Ditto. |
| (_mm512_i32gather_epi32): Ditto. |
| (_mm512_mask_i32gather_epi32): Ditto. |
| (_mm512_i32gather_epi64): Ditto. |
| (_mm512_mask_i32gather_epi64): Ditto. |
| (_mm512_i64gather_epi32): Ditto. |
| (_mm512_mask_i64gather_epi32): Ditto. |
| (_mm512_i64gather_epi64): Ditto. |
| (_mm512_mask_i64gather_epi64): Ditto. |
| (_mm512_i32scatter_ps): Change __addr type to void*. |
| (_mm512_mask_i32scatter_ps): Ditto. |
| (_mm512_i32scatter_pd): Ditto. |
| (_mm512_mask_i32scatter_pd): Ditto. |
| (_mm512_i64scatter_ps): Ditto. |
| (_mm512_mask_i64scatter_ps): Ditto. |
| (_mm512_i64scatter_pd): Ditto. |
| (_mm512_mask_i64scatter_pd): Ditto. |
| (_mm512_i32scatter_epi32): Ditto. |
| (_mm512_mask_i32scatter_epi32): Ditto. |
| (_mm512_i32scatter_epi64): Ditto. |
| (_mm512_mask_i32scatter_epi64): Ditto. |
| (_mm512_i64scatter_epi32): Ditto. |
| (_mm512_mask_i64scatter_epi32): Ditto. |
| (_mm512_i64scatter_epi64): Ditto. |
| (_mm512_mask_i64scatter_epi64): Ditto. |
| * config/i386/avx512pfintrin.h |
| (_mm512_mask_prefetch_i32gather_pd): Change addr type to void const*. |
| (_mm512_mask_prefetch_i32gather_ps): Ditto. |
| (_mm512_mask_prefetch_i64gather_pd): Ditto. |
| (_mm512_mask_prefetch_i64gather_ps): Ditto. |
| (_mm512_prefetch_i32scatter_pd): Change addr type to void*. |
| (_mm512_prefetch_i32scatter_ps): Ditto. |
| (_mm512_mask_prefetch_i32scatter_pd): Ditto. |
| (_mm512_mask_prefetch_i32scatter_ps): Ditto. |
| (_mm512_prefetch_i64scatter_pd): Ditto. |
| (_mm512_prefetch_i64scatter_ps): Ditto. |
| (_mm512_mask_prefetch_i64scatter_pd): Ditto. |
| (_mm512_mask_prefetch_i64scatter_ps): Ditto. |
| * config/i386/avx512vlintrin.h |
| (_mm256_mmask_i32gather_ps): Change __addr type to void const*. |
| (_mm_mmask_i32gather_ps): Ditto. |
| (_mm256_mmask_i32gather_pd): Ditto. |
| (_mm_mmask_i32gather_pd): Ditto. |
| (_mm256_mmask_i64gather_ps): Ditto. |
| (_mm_mmask_i64gather_ps): Ditto. |
| (_mm256_mmask_i64gather_pd): Ditto. |
| (_mm_mmask_i64gather_pd): Ditto. |
| (_mm256_mmask_i32gather_epi32): Ditto. |
| (_mm_mmask_i32gather_epi32): Ditto. |
| (_mm256_mmask_i32gather_epi64): Ditto. |
| (_mm_mmask_i32gather_epi64): Ditto. |
| (_mm256_mmask_i64gather_epi32): Ditto. |
| (_mm_mmask_i64gather_epi32): Ditto. |
| (_mm256_mmask_i64gather_epi64): Ditto. |
| (_mm_mmask_i64gather_epi64): Ditto. |
| (_mm256_i32scatter_ps): Change __addr type to void*. |
| (_mm256_mask_i32scatter_ps): Ditto. |
| (_mm_i32scatter_ps): Ditto. |
| (_mm_mask_i32scatter_ps): Ditto. |
| (_mm256_i32scatter_pd): Ditto. |
| (_mm256_mask_i32scatter_pd): Ditto. |
| (_mm_i32scatter_pd): Ditto. |
| (_mm_mask_i32scatter_pd): Ditto. |
| (_mm256_i64scatter_ps): Ditto. |
| (_mm256_mask_i64scatter_ps): Ditto. |
| (_mm_i64scatter_ps): Ditto. |
| (_mm_mask_i64scatter_ps): Ditto. |
| (_mm256_i64scatter_pd): Ditto. |
| (_mm256_mask_i64scatter_pd): Ditto. |
| (_mm_i64scatter_pd): Ditto. |
| (_mm_mask_i64scatter_pd): Ditto. |
| (_mm256_i32scatter_epi32): Ditto. |
| (_mm256_mask_i32scatter_epi32): Ditto. |
| (_mm_i32scatter_epi32): Ditto. |
| (_mm_mask_i32scatter_epi32): Ditto. |
| (_mm256_i32scatter_epi64): Ditto. |
| (_mm256_mask_i32scatter_epi64): Ditto. |
| (_mm_i32scatter_epi64): Ditto. |
| (_mm_mask_i32scatter_epi64): Ditto. |
| (_mm256_i64scatter_epi32): Ditto. |
| (_mm256_mask_i64scatter_epi32): Ditto. |
| (_mm_i64scatter_epi32): Ditto. |
| (_mm_mask_i64scatter_epi32): Ditto. |
| (_mm256_i64scatter_epi64): Ditto. |
| (_mm256_mask_i64scatter_epi64): Ditto. |
| (_mm_i64scatter_epi64): Ditto. |
| (_mm_mask_i64scatter_epi64): Ditto. |
| * config/i386/i386-builtin-types.def (V16SF_V16SF_PCFLOAT_V16SI_HI_INT) |
| (V8DF_V8DF_PCDOUBLE_V8SI_QI_INT, V8SF_V8SF_PCFLOAT_V8DI_QI_INT) |
| (V8DF_V8DF_PCDOUBLE_V8DI_QI_INT, V16SI_V16SI_PCINT_V16SI_HI_INT) |
| (V8DI_V8DI_PCINT64_V8SI_QI_INT, V8SI_V8SI_PCINT_V8DI_QI_INT) |
| (V8DI_V8DI_PCINT64_V8DI_QI_INT, V2DF_V2DF_PCDOUBLE_V4SI_QI_INT) |
| (V4DF_V4DF_PCDOUBLE_V4SI_QI_INT, V2DF_V2DF_PCDOUBLE_V2DI_QI_INT) |
| (V4DF_V4DF_PCDOUBLE_V4DI_QI_INT, V4SF_V4SF_PCFLOAT_V4SI_QI_INT) |
| (V8SF_V8SF_PCFLOAT_V8SI_QI_INT, V4SF_V4SF_PCFLOAT_V2DI_QI_INT) |
| (V4SF_V4SF_PCFLOAT_V4DI_QI_INT, V2DI_V2DI_PCINT64_V4SI_QI_INT) |
| (V4DI_V4DI_PCINT64_V4SI_QI_INT, V2DI_V2DI_PCINT64_V2DI_QI_INT) |
| (V4DI_V4DI_PCINT64_V4DI_QI_INT, V4SI_V4SI_PCINT_V4SI_QI_INT) |
| (V8SI_V8SI_PCINT_V8SI_QI_INT, V4SI_V4SI_PCINT_V2DI_QI_INT) |
| (V4SI_V4SI_PCINT_V4DI_QI_INT, VOID_PFLOAT_HI_V16SI_V16SF_INT) |
| (VOID_PFLOAT_QI_V8SI_V8SF_INT, VOID_PFLOAT_QI_V4SI_V4SF_INT) |
| (VOID_PDOUBLE_QI_V8SI_V8DF_INT, VOID_PDOUBLE_QI_V4SI_V4DF_INT) |
| (VOID_PDOUBLE_QI_V4SI_V2DF_INT, VOID_PFLOAT_QI_V8DI_V8SF_INT) |
| (VOID_PFLOAT_QI_V4DI_V4SF_INT, VOID_PFLOAT_QI_V2DI_V4SF_INT) |
| (VOID_PDOUBLE_QI_V8DI_V8DF_INT, VOID_PDOUBLE_QI_V4DI_V4DF_INT) |
| (VOID_PDOUBLE_QI_V2DI_V2DF_INT, VOID_PINT_HI_V16SI_V16SI_INT) |
| (VOID_PINT_QI_V8SI_V8SI_INT, VOID_PINT_QI_V4SI_V4SI_INT) |
| (VOID_PLONGLONG_QI_V8SI_V8DI_INT, VOID_PLONGLONG_QI_V4SI_V4DI_INT) |
| (VOID_PLONGLONG_QI_V4SI_V2DI_INT, VOID_PINT_QI_V8DI_V8SI_INT) |
| (VOID_PINT_QI_V4DI_V4SI_INT, VOID_PINT_QI_V2DI_V4SI_INT) |
| (VOID_PLONGLONG_QI_V8DI_V8DI_INT, VOID_QI_V8SI_PCINT64_INT_INT) |
| (VOID_PLONGLONG_QI_V4DI_V4DI_INT, VOID_PLONGLONG_QI_V2DI_V2DI_INT) |
| (VOID_HI_V16SI_PCINT_INT_INT, VOID_QI_V8DI_PCINT64_INT_INT) |
| (VOID_QI_V8DI_PCINT_INT_INT): Remove. |
| (V16SF_V16SF_PCVOID_V16SI_HI_INT, V8DF_V8DF_PCVOID_V8SI_QI_INT) |
| (V8SF_V8SF_PCVOID_V8DI_QI_INT, V8DF_V8DF_PCVOID_V8DI_QI_INT) |
| (V16SI_V16SI_PCVOID_V16SI_HI_INT, V8DI_V8DI_PCVOID_V8SI_QI_INT) |
| (V8SI_V8SI_PCVOID_V8DI_QI_INT, V8DI_V8DI_PCVOID_V8DI_QI_INT) |
| (VOID_PVOID_HI_V16SI_V16SF_INT, VOID_PVOID_QI_V8SI_V8DF_INT) |
| (VOID_PVOID_QI_V8DI_V8SF_INT, VOID_PVOID_QI_V8DI_V8DF_INT) |
| (VOID_PVOID_HI_V16SI_V16SI_INT, VOID_PVOID_QI_V8SI_V8DI_INT) |
| (VOID_PVOID_QI_V8DI_V8SI_INT, VOID_PVOID_QI_V8DI_V8DI_INT) |
| (V2DF_V2DF_PCVOID_V4SI_QI_INT, V4DF_V4DF_PCVOID_V4SI_QI_INT) |
| (V2DF_V2DF_PCVOID_V2DI_QI_INT, V4DF_V4DF_PCVOID_V4DI_QI_INT |
| (V4SF_V4SF_PCVOID_V4SI_QI_INT, V8SF_V8SF_PCVOID_V8SI_QI_INT) |
| (V4SF_V4SF_PCVOID_V2DI_QI_INT, V4SF_V4SF_PCVOID_V4DI_QI_INT) |
| (V2DI_V2DI_PCVOID_V4SI_QI_INT, V4DI_V4DI_PCVOID_V4SI_QI_INT) |
| (V2DI_V2DI_PCVOID_V2DI_QI_INT, V4DI_V4DI_PCVOID_V4DI_QI_INT) |
| (V4SI_V4SI_PCVOID_V4SI_QI_INT, V8SI_V8SI_PCVOID_V8SI_QI_INT) |
| (V4SI_V4SI_PCVOID_V2DI_QI_INT, V4SI_V4SI_PCVOID_V4DI_QI_INT) |
| (VOID_PVOID_QI_V8SI_V8SF_INT, VOID_PVOID_QI_V4SI_V4SF_INT) |
| (VOID_PVOID_QI_V4SI_V4DF_INT, VOID_PVOID_QI_V4SI_V2DF_INT) |
| (VOID_PVOID_QI_V4DI_V4SF_INT, VOID_PVOID_QI_V2DI_V4SF_INT) |
| (VOID_PVOID_QI_V4DI_V4DF_INT, VOID_PVOID_QI_V2DI_V2DF_INT) |
| (VOID_PVOID_QI_V8SI_V8SI_INT, VOID_PVOID_QI_V4SI_V4SI_INT) |
| (VOID_PVOID_QI_V4SI_V4DI_INT, VOID_PVOID_QI_V4SI_V2DI_INT) |
| (VOID_PVOID_QI_V4DI_V4SI_INT, VOID_PVOID_QI_V2DI_V4SI_INT) |
| (VOID_PVOID_QI_V4DI_V4DI_INT, VOID_PVOID_QI_V2DI_V2DI_INT) |
| (VOID_QI_V8SI_PCVOID_INT_INT, VOID_HI_V16SI_PCVOID_INT_INT) |
| (VOID_QI_V8DI_PCVOID_INT_INT): Add. |
| * config/i386/i386.c (ix86_init_mmx_sse_builtins): Adjust builtin |
| definitions accordingly. |
| |
| 2017-02-16 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2017-02-09 Marek Polacek <polacek@redhat.com> |
| |
| PR c/79428 |
| * c-parser.c (c_parser_omp_ordered): Call c_parser_skip_to_pragma_eol |
| instead of c_parser_skip_until_found. |
| |
| 2017-02-15 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2017-02-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/79411 |
| * tree-ssa-reassoc.c (is_reassociable_op): Return false if |
| stmt operands are SSA_NAMEs used in abnormal phis. |
| (can_reassociate_p): Return false if op is SSA_NAME used in abnormal |
| phis. |
| |
| 2017-02-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/79431 |
| * gimplify.c (gimplify_adjust_omp_clauses): Ignore |
| "omp declare target link" attribute unless is_global_var. |
| * omp-low.c (find_link_var_op): Likewise. |
| |
| 2017-02-07 Jakub Jelinek <jakub@redhat.com> |
| Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/79399 |
| * ira-int.h (struct target_ira_int): Change x_max_struct_costs_size |
| type from int to size_t. |
| * ira-costs.c (struct_costs_size): Change type from int to size_t. |
| |
| 2017-02-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/79338 |
| * tree-parloops.c (gather_scalar_reductions): Don't call |
| vect_analyze_loop_form for loop->inner before destroying loop's |
| loop_vinfo. |
| |
| 2017-02-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/79197 |
| * config/rs6000/rs6000.md (*fixuns_trunc<mode>di2_fctiduz): Rename to ... |
| (fixuns_trunc<mode>di2): ... this, remove previous expander. Put all |
| conditions on a single line. |
| |
| 2017-01-31 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/79267 |
| * value-prof.c (gimple_ic): Only drop lhs for noreturn calls |
| if should_remove_lhs_p is true. |
| |
| 2017-01-17 Kito Cheng <kito.cheng@gmail.com> |
| Kuan-Lin Chen <kuanlinchentw@gmail.com> |
| |
| PR target/79079 |
| * internal-fn.c (expand_mul_overflow): Use convert_modes instead of |
| gen_lowpart. |
| |
| 2017-02-14 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/79495 |
| * config/i386/i386.md (*movxf_internal): Add (o,rC) alternative. |
| |
| 2017-02-14 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-02-13 Martin Liska <mliska@suse.cz> |
| |
| PR c/79471 |
| * calls.c (expand_call): Replace XALLOCAVEC with XCNEWVEC. |
| |
| 2017-02-13 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| Backport from mainline |
| 2016-12-11 Roger Pau Monné <roger.pau@citrix.com> |
| |
| * config/i386/x86-64.h: Append --32 to the assembler options when |
| -m16 is used on non-glibc systems as well. |
| |
| 2017-02-08 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR translation/79397 |
| * config/rs6000/rs6000.opt (maltivec=le, maltivec=be): Fix spelling |
| of AltiVec. |
| |
| 2017-02-08 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-02-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/71824 |
| * graphite-scop-detection.c (scop_detection::build_scop_breadth): |
| Check all loops contained in the merged region. |
| |
| 2017-02-01 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/71824 |
| * graphite-scop-detection.c (scop_detection::build_scop_breadth): |
| Verify the loops are valid in the merged SESE region. |
| (scop_detection::can_represent_loop_1): Check analyzing the |
| evolution of the number of iterations in the region succeeds. |
| |
| 2017-01-31 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/77318 |
| * graphite-sese-to-poly.c (extract_affine): Fix assert. |
| (create_pw_aff_from_tree): Take loop parameter. |
| (add_condition_to_pbb): Pass loop of the condition to |
| create_pw_aff_from_tree. |
| |
| 2017-02-06 Dominique d'Humieres <dominiq@lps.ens.fr> |
| |
| PR target/71017 |
| * config/i386/cpuid.h: Fix undefined behavior. |
| |
| 2017-02-03 Carl Love <cel@us.ibm.com> |
| |
| Backport of two commits from mainline, r244943 and r244904, |
| dated 017-01-26 and 2017-01-25 respectively |
| |
| * config/rs6000/rs6000-c (altivec_overloaded_builtins): Fix order |
| of entries for ALTIVEC_BUILTIN_VEC_PACKS. Remove bogus entries |
| for P8V_BUILTIN_VEC_VGBBD. |
| |
| 2017-02-03 Walter Lee <walt@tilera.com> |
| |
| Backport from mainline |
| 2017-02-03 Walter Lee <walt@tilera.com> |
| |
| PR target/78862 |
| * config/tilegx/tilegx.md (tilegx_expand_prologue): Add blockage |
| after initial stackframe link reg save. |
| * config/tilepro/tilepro.md (tilepro_expand_prologue): Likewise. |
| |
| 2017-02-03 Maxim Ostapenko <m.ostapenko@samsung.com> |
| |
| PR lto/79061 |
| * asan.c (asan_add_global): Force has_dynamic_init to zero in LTO mode. |
| |
| 2017-01-31 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/79268 |
| * config/rs6000/altivec.h (vec_xl): Revise #define. |
| (vec_xst): Likewise. |
| |
| 2017-01-26 Eric Botcazou <ebotcazou@adacore.com> |
| |
| Backport from mainline |
| 2017-01-10 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * expr.c (store_field): In the bitfield case, fetch the return value |
| from the registers before applying a single big-endian adjustment. |
| Always do a final load for a BLKmode value not larger than a word. |
| |
| 2017-01-09 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * expr.c (store_field): In the bitfield case, if the value comes from |
| a function call and is of an aggregate type returned in registers, do |
| not modify the field mode; extract the value in all cases if the mode |
| is BLKmode and the size is not larger than a word. |
| |
| 2017-01-26 Richard Biener <rguenther@suse.de> |
| |
| * tree-vrp.c (vrp_visit_assignment_or_call): Use set_defs_to_varying. |
| |
| Backport from mainline |
| 2016-01-10 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79034 |
| * tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds): |
| Propagate out degenerate PHIs in the joiner. |
| |
| 2016-12-13 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/78742 |
| * tree.c (cst_and_fits_in_hwi): Look if the actual value fits. |
| * tree-object-size.c (compute_builtin_object_size): Use |
| tree_fits_shwi_p. |
| * tree-data-ref.c (initialize_matrix_A): Remove excess assert. |
| |
| 2017-01-26 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-09-03 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| * ubsan.c (ubsan_use_new_style_p): Fix check for empty string. |
| |
| 2017-01-24 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/77439 |
| * config/arm/arm.c (arm_function_ok_for_sibcall): Add back restriction |
| for long calls with APCS frame and VFP. |
| |
| 2017-01-24 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/78478 |
| Revert: |
| 2013-11-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/rtemself.h (LONG_DOUBLE_TYPE_SIZE): New define. |
| |
| 2017-01-23 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-01-20 Martin Liska <mliska@suse.cz> |
| |
| PR lto/69188 |
| * tree-profile.c (init_ic_make_global_vars): Do not call |
| finalize_decl. |
| (gimple_init_gcov_profiler): Likewise. |
| |
| 2017-01-21 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| Backport from mainline |
| 2016-12-29 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/extend.texi (Cilk Plus Builtins): cilkplus.org now uses |
| https by default. |
| * doc/passes.texi (Cilk Plus Transformation): Ditto. |
| * doc/generic.texi (Statements for C++): Ditto, and use @uref. |
| |
| 2017-01-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-01-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rtx_is_swappable_p): Change |
| UNSPEC_VSX__XXSPLTD to require special splat handling. |
| |
| 2017-01-20 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| Backport from mainline |
| PR target/77455 |
| * config/aarch64/aarch64.md (eh_return): Remove pattern and splitter. |
| * config/aarch64/aarch64.h (AARCH64_EH_STACKADJ_REGNUM): Remove. |
| (EH_RETURN_HANDLER_RTX): New define. |
| * config/aarch64/aarch64.c (aarch64_frame_pointer_required): |
| Force frame pointer in EH return functions. |
| (aarch64_expand_epilogue): Add barrier for eh_return. |
| (aarch64_final_eh_return_addr): Remove. |
| (aarch64_eh_return_handler_rtx): New function. |
| * config/aarch64/aarch64-protos.h (aarch64_final_eh_return_addr): |
| Remove. |
| (aarch64_eh_return_handler_rtx): New prototype. |
| |
| 2017-01-20 Richard Earnshaw <rearnsha@arm.com> |
| |
| Backported from mainline |
| 2017-01-19 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR rtl-optimization/79121 |
| * expr.c (expand_expr_real_2, case LSHIFT_EXPR): Look at the signedness |
| of the inner type when shifting an extended value. |
| |
| 2017-01-20 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-01-13 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/79043 |
| * function.c (set_cfun): Add new argument force. |
| * function.h (set_cfun): Likewise. |
| * ipa-inline-transform.c (inline_call): Use the function when |
| strict alising from is dropped for function we inline to. |
| |
| 2017-01-20 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-01-17 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/71207 |
| * ipa-polymorphic-call.c (contains_type_p): Fix wrong |
| assumption and add comment. |
| |
| 2017-01-19 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/72488 |
| * tree-ssa-sccvn.c (run_scc_vn): When we abort the VN make |
| sure to restore SSA info. |
| |
| 2017-01-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/78839 |
| * dwarf2out.c (field_byte_offset): Restore the |
| PCC_BITFIELD_TYPE_MATTERS behavior for INTEGER_CST DECL_FIELD_OFFSET |
| and DECL_FIELD_BIT_OFFSET. Use fold_build2 instead of build2 + fold. |
| (analyze_variants_discr, gen_variant_part): Use fold_build2 instead |
| of build2 + fold. |
| |
| 2017-01-17 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2016-12-07 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR rtl-optimization/78617 |
| * lra-remat.c (do_remat): Initialize live_hard_regs from live in |
| registers, also setting hard registers mapped to pseudo registers. |
| |
| 2017-01-13 Christophe Lyon <christophe.lyon@linaro.org> |
| |
| Backport from mainline r244320. |
| 2017-01-11 Christophe Lyon <christophe.lyon@linaro.org> |
| |
| PR target/78253 |
| * config/arm/arm.c (legitimize_pic_address): Handle reference to |
| weak symbol. |
| (arm_assemble_integer): Likewise. |
| |
| 2017-01-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-01-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/79044 |
| * config/rs6000/rs6000.c (insn_is_swappable_p): Mark |
| element-reversing loads and stores as not swappable. |
| |
| 2017-01-11 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (memory_address_length): Increase len |
| only when rip_relative_addr_p returns false. |
| |
| 2017-01-11 Maxim Ostapenko <m.ostapenko@samsung.com> |
| |
| Backport from mainline |
| 2017-01-11 Maxim Ostapenko <m.ostapenko@samsung.com> |
| |
| PR lto/79042 |
| * lto-cgraph.c (lto_output_varpool_node): Pack dynamically_initialized |
| bit. |
| (input_varpool_node): Unpack dynamically_initialized bit. |
| * lto-streamer.h (LTO_minor_version): Bump version. |
| |
| 2017-01-10 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-12-30 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/78900 |
| * config/rs6000/rs6000.c (rs6000_split_signbit): Change some |
| assertions. Add support for doing the signbit if the IEEE 128-bit |
| floating point value is in a GPR. |
| * config/rs6000/rs6000.md (Fsignbit): Delete. |
| (signbit<mode>2_dm): Delete using <Fsignbit> and just use "wa". |
| Update the length attribute if the value is in a GPR. |
| (signbit<mode>2_dm_<su>ext): Add combiner pattern to eliminate |
| the sign or zero extension instruction, since the value is always |
| 0/1. |
| (signbit<mode>2_dm2): Delete using <Fsignbit>. |
| |
| 2017-01-10 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-01-09 Martin Liska <mliska@suse.cz> |
| |
| PR pch/78970 |
| * gcc.c (driver_handle_option): Handle OPT_E and set |
| have_E. |
| (lookup_compiler): Do not show error message with have_E. |
| |
| 2017-01-10 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-01-05 Martin Liska <mliska@suse.cz> |
| |
| PR pch/78970 |
| * gcc.c (lookup_compiler): Reject '-' filename for a precompiled |
| header. |
| |
| 2017-01-10 Thomas Schwinge <thomas@codesourcery.com> |
| |
| PR tree-optimization/78024 |
| * omp-low.c (oacc_loop_discovery): Call clear_bb_flags. |
| |
| Backport trunk r239086: |
| 2016-08-03 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * config/nvptx/nvptx.c (nvptx_declare_function_name): Round frame |
| size to DImode boundary. |
| (nvptx_propagate): Likewise. |
| |
| 2017-01-10 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| Backport from mainline |
| 2016-04-28 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/70668 |
| * config/nds32/nds32.md (casesi): Don't access the operands array |
| out of bounds. |
| |
| 2017-01-09 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| Backport from mainline |
| 2016-10-10 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * config.gcc: Add aarch64-*-freebsd* support. |
| * config.host: Likewise. |
| * config/aarch64/aarch64-freebsd.h: New file. |
| * config/aarch64/t-aarch64-freebsd: Ditto. |
| |
| 2017-01-09 Bill Seurer <seurer@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-12-21 Bill Seurer <seurer@linux.vnet.ibm.com> |
| |
| PR sanitizer/65479 |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Add |
| -fasynchronous-unwind-tables option when -fsanitize=address is |
| specified. |
| |
| 2017-01-09 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| Backport from mainline |
| 2016-09-19 Richard Biener <rguenther@suse.de> |
| |
| * dwarf2out.c (dwarf2out_late_global_decl): When being during the |
| early debug phase do not add locations but only const value |
| attributes. |
| |
| Backport from mainline |
| 2016-10-20 Richard Biener <rguenther@suse.de> |
| |
| * cgraphunit.c (analyze_functions): Set node->definition to |
| false to signal symbol removal to debug_hooks->late_global_decl. |
| |
| 2017-01-09 Andre Vieira <andre.simoesdiasvieira@arm.com> |
| |
| Backport from mainline |
| 2016-12-09 Andre Vieira <andre.simoesdiasvieira@arm.com> |
| |
| PR rtl-optimization/78255 |
| * gcc/postreload.c (reload_cse_simplify): Do not CSE a function if |
| NO_FUNCTION_CSE is true. |
| |
| 2017-01-06 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| Backport from mainline |
| 2016-10-25 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| PR target/78041 |
| * config/arm/neon.md (ashldi3_neon): Add "r 0 i" and "&r r i" variants. |
| Remove partial overlap check for shift by 1. |
| (ashldi3_neon): Likewise. |
| |
| 2017-01-05 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| Backport from mainline |
| 2016-07-22 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Add |
| comments to explain why certain error messages make mention of |
| undocumented options. |
| (rs6000_invalid_builtin): Change error messages to replace mention |
| of undocumented options with mention of the -mcpu=power9 option |
| that enables those undocumented options. |
| * config/rs6000/rs6000.h: Add macro definition of MASK_FLOAT128 |
| and change the macro definition of RS6000_BTM_FLOAT128 to correct |
| an error that was discovered during the development of this patch. |
| * config/rs6000/rs6000.opt: Add the Undocumented qualifier to the |
| mpower9-fusion, mpower9-vector, mpower9-dform, and mmodulo entries. |
| * doc/extend.texi (PowerPC AltiVec Built-in Functions): Modify |
| descriptions of built-in functions so that they depend on |
| -mcpu=power9 instead of on the corresponding undocumented flags. |
| * doc/invoke.texi (Option Summary): Remove all mention of newly |
| undocumented flags. |
| (IBM RS/6000 and PowerPC Options): Likewise. |
| * doc/md.texi (Constraints for Particuliar Machines): Remove all |
| mention of newly undocumented flags. |
| |
| 2017-01-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-12-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * varasm.c (build_constant_desc): Use the alignment of the var |
| decl instead of the original expression. |
| |
| 2017-01-04 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-05-11 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/71055 |
| * tree-ssa-sccvn.c (vn_reference_lookup_3): When native-interpreting |
| sth with precision not equal to access size verify we don't chop |
| off bits. |
| |
| 2017-01-03 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2016-12-21 Jakub Jelinek <jakub@redhat.com> |
| Martin Liska <mliska@suse.cz> |
| |
| PR driver/78863 |
| * gcc.c (driver::build_option_suggestions): Do not add |
| -fsanitize=all as a suggestion candidate. |
| |
| 2017-01-03 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2016-12-22 Martin Liska <mliska@suse.cz> |
| |
| PR tree-optimization/78886 |
| * tree-ssa-strlen.c (handle_builtin_malloc): Return when LHS |
| is equal to NULL. |
| |
| 2017-01-03 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2016-12-13 Martin Liska <mliska@suse.cz> |
| |
| PR tree-optimization/78428 |
| * expr.c (store_constructor_field): Add new arguments to the |
| function. |
| (store_constructor): Set up bitregion_end and add |
| gcc_unreachable to fields that have either non-constant size |
| or (and) offset. |
| |
| 2016-12-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR translation/78922 |
| * config/i386/stringop.opt: Remove. |
| |
| 2016-12-21 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2016-12-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/77905 |
| * ipa-pure-const.c (cdtor_p): Return true for |
| DECL_STATIC_{CON,DE}STRUCTOR even when it is |
| DECL_LOOPING_CONST_OR_PURE_P. |
| |
| 2016-12-21 Jakub Jelinek <jakub@redhat.com> |
| |
| * BASE-VER: Set to 6.3.1. |
| |
| 2016-12-21 Release Manager |
| |
| * GCC 6.3.0 released. |
| |
| 2016-12-14 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/59874 |
| * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_CLZS |
| and IX86_BUILTIN_CTZS. |
| (bdesc_args): Add __builtin_clzs and __builtin_ctzs. |
| (ix86_fold_builtin): Handle IX86_BUILTIN_CTZS and IX86_BUILTIN_CLZS. |
| |
| 2016-12-14 Wilco Dijkstra <wdijkstr@arm.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/78796 |
| * config/aarch64/aarch64.c (aarch64_classify_symbol): Merge large |
| model checks into switch. |
| |
| 2016-12-14 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2016-11-25 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * tree-ssa-math-opts.c (struct symbolic_number): Improve comment. |
| |
| 2016-12-14 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2016-11-25 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR tree-optimization/77673 |
| * tree-ssa-math-opts.c (struct symbolic_number): Add new src field. |
| (init_symbolic_number): Initialize src field from src parameter. |
| (perform_symbolic_merge): Select most dominated statement as the |
| source statement. Set src field of resulting n structure from the |
| input src with the lowest address. |
| (find_bswap_or_nop): Rename source_stmt into ins_stmt. |
| (bswap_replace): Rename src_stmt into ins_stmt. Initially get source |
| of load from src field rather than insertion statement. Cancel |
| optimization if statement analyzed is not dominated by the insertion |
| statement. |
| (pass_optimize_bswap::execute): Rename src_stmt to ins_stmt. Compute |
| dominance information. |
| |
| 2016-12-13 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-12-07 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/72717 |
| * config/rs6000/rs6000.c (rs6000_expand_vector_init): If the |
| V2DImode elements are SUBREG's convert the result into DImode |
| rather than failing in emit_move_insn. |
| |
| 2016-12-13 Iain Sandoe <iain@codesourcery.com> |
| |
| Backport from mainline |
| 2016-12-11 Iain Sandoe <iain@codesourcery.com> |
| |
| PR rtl-optimization/71496 |
| * config/rs6000/darwin.md (load_macho_picbase_si): Mark as non- |
| copyable. (load_macho_picbase_di, reload_macho_picbase_si, |
| reload_macho_picbase_di): Likewise. |
| |
| 2016-12-12 Bernd Schmidt <bschmidt@redhat.com> |
| |
| Backport from mainline |
| 2016-11-07 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR rtl-optimization/77309 |
| * combine.c (make_compound_operation): Allow EQ for IN_CODE, and |
| don't assume an equality comparison for plain COMPARE. |
| (simplify_comparison): Pass a more accurate code to |
| make_compound_operation. |
| |
| 2016-12-12 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2016-11-22 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR target/77904 |
| * config/arm/arm.c (thumb1_compute_save_reg_mask): Mark frame pointer |
| in save register mask if it is needed. |
| |
| 2016-12-11 Iain Sandoe <iain@codesourcery.com> |
| |
| Backport from mainline |
| 2016-11-27 Iain Sandoe <iain@codesourcery.com> |
| Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| PR target/67710 |
| * config.in: Regenerate |
| * config/darwin-driver.c (darwin_driver_init): Emit a version string |
| for the assembler. |
| * config/darwin.h(ASM_MMACOSX_VERSION_MIN_SPEC): New, new tests. |
| * config/darwin.opt(asm_macosx_version_min): New. |
| * config/i386/darwin.h: Handle ASM_MMACOSX_VERSION_MIN_SPEC. |
| * configure: Regenerate |
| * configure.ac: Check for mmacosx-version-min handling. |
| |
| 2016-12-11 Iain Sandoe <iain@codesourcery.com> |
| |
| Backport from mainline |
| 2016-11-27 Iain Sandoe <iain@codesourcery.com> |
| |
| PR target/57438 |
| * config/i386/i386.c (ix86_code_end): Note that we emitted code |
| where the function might otherwise appear empty for picbase thunks. |
| (ix86_output_function_epilogue): If we find a zero-sized function |
| assume that reaching it is UB and trap. If we find a trailing label |
| append a nop. |
| * config/rs6000/rs6000.c (rs6000_output_function_epilogue): If we |
| find a zero-sized function assume that reaching it is UB and trap. |
| If we find a trailing label, append a nop. |
| |
| 2016-12-11 Iain Sandoe <iain@codesourcery.com> |
| |
| Backport from mainline |
| 2016-11-27 Iain Sandoe <iain@codesourcery.com> |
| |
| PR target/71767 |
| * config/darwin-sections.def (picbase_thunk_section): New. |
| * config/darwin.c (darwin_init_sections): Set up picbase thunk |
| section. (darwin_rodata_section, darwin_objc2_section, |
| machopic_select_section, darwin_asm_declare_constant_name, |
| darwin_emit_weak_or_comdat, darwin_function_section): Don’t use |
| coalesced with newer linkers. |
| (darwin_override_options): Decide on usage of coalesed sections |
| on the basis of the target linker version. |
| * config/darwin.h (MIN_LD64_NO_COAL_SECTS): New. |
| * config/darwin.opt (mtarget-linker): New. |
| * config/i386/i386.c (ix86_code_end): Do not force the thunks into |
| a coalesced section, instead use a thunks section. |
| |
| Backport from mainline |
| 2016-11-28 Iain Sandoe <iain@codesourcery.com> |
| |
| PR target/71767 |
| * configure.ac (with_ld64): Use portable method to extract the |
| major part of the version number. |
| * configure: Regenerated. |
| |
| Backport from mainline |
| 2016-11-27 Iain Sandoe <iain@codesourcery.com> |
| |
| PR target/71767 |
| * configure.ac (with-ld64): New var, set for Darwin, set on |
| detection of ld64, gcc_cv_ld64_export_dynamic: New, New test. |
| * config/darwin.h: Use LD64_HAS_DYNAMIC export. DEF_LD64: New, |
| define. |
| * config/darwin10.h(DEF_LD64): Update for this target version. |
| * config/darwin12.h(LINK_GCC_C_SEQUENCE_SPEC): Remove rdynamic |
| test. (DEF_LD64): Update for this target version. |
| * configure: Regenerated. |
| * config.in: Regenerated. |
| |
| Backport from mainline |
| 2016-11-27 Iain Sandoe <iain@codesourcery.com> |
| |
| PR target/71767 |
| * config/darwin.c (imachopic_indirection_name): Make data |
| section indirections linker-visible. |
| * config/darwin.h (ASM_GENERATE_INTERNAL_LABEL): Make local |
| constant labels linker-visible. |
| |
| 2016-12-09 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2016-11-17 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR target/77933 |
| * config/arm/arm.c (thumb1_expand_prologue): Distinguish between lr |
| being live in the function and lr needing to be saved. Distinguish |
| between already saved pushable registers and registers to push. |
| Check for LR being an available pushable register. |
| |
| 2016-12-09 Nathan Sidwell <nathan@acm.org> |
| |
| PR C++/78550 |
| * convert.c (convert_to_integer_1): Maybe fold conversions to |
| integral types with fewer bits than its mode. |
| |
| 2016-12-09 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-11-09 Richard Biener <rguenther@suse.de> |
| |
| * tree-vect-data-refs.c (vect_compute_data_ref_alignment): |
| Look at the DR_BASE_ADDRESS object for forcing alignment. |
| |
| 2016-11-07 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/78189 |
| * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Fix |
| alignment computation. |
| |
| 2016-12-09 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-11-28 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/78542 |
| * tree-ssa-ccp.c (evaluate_stmt): Only valueize simplification |
| if allowed. |
| |
| 2016-11-23 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/78482 |
| * tree-cfgcleanup.c: Include tree-ssa-loop-niter.h. |
| (remove_forwarder_block_with_phi): When merging with a loop |
| header creates a new latch reset number of iteration information |
| of the loop. |
| |
| 2016-11-23 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/71762 |
| * match.pd ((~X & Y) -> X < Y, (X & ~Y) -> Y < X, |
| (~X | Y) -> X <= Y, (X | ~Y) -> Y <= X): Remove. |
| |
| 2016-11-11 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/71575 |
| * graphite-isl-ast-to-gimple.c (copy_cond_phi_nodes): Remove |
| bogus assert. |
| |
| 2016-11-07 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/78224 |
| * tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds): |
| Split the fallthru edge in case its successor may have PHIs. |
| |
| 2016-11-05 David Edelsohn <dje.gcc@gmail.com> |
| Richard Biener <rguenther@suse.de> |
| |
| PR bootstrap/78188 |
| PR c++/71848 |
| * ipa-comdats.c (pass_ipa_comdats::gate): Require HAVE_COMDAT_GROUP. |
| |
| 2016-09-20 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/77646 |
| * tree-ssa-sccvn.c (visit_reference_op_call): Always value-number |
| a VDEF. |
| |
| 2016-12-07 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from mainline |
| 2016-11-12 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/77957 |
| * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't |
| return early if !optional_tbtab. |
| |
| 2016-12-07 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2016-11-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/78540 |
| * rtl.h (remove_reg_equal_equiv_notes): Return bool instead of void. |
| * rtlanal.c (remove_reg_equal_equiv_notes): Return true if any |
| note has been removed. |
| * postreload.c (reload_combine_recognize_pattern): If |
| remove_reg_equal_equiv_notes returns true, call df_notes_rescan. |
| |
| PR rtl-optimization/78546 |
| * simplify-rtx.c (neg_const_int): When negating most negative |
| number in mode wider than HOST_BITS_PER_WIDE_INT, use |
| simplify_const_unary_operation to produce CONST_DOUBLE or |
| CONST_WIDE_INT. |
| (simplify_plus_minus): Hanlde the case where neg_const_int |
| doesn't return a CONST_INT. |
| |
| PR fortran/78298 |
| * tree-nested.c (convert_local_reference_stmt): After adding |
| shared (FRAME.NN) clause to omp parallel, task or target, |
| add it also to all outer omp parallel, task or target constructs. |
| |
| 2016-11-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/69183 |
| * omp-low.c (build_outer_var_ref): Change lastprivate argument |
| to code, pass it recursively, adjust uses. For OMP_CLAUSE_PRIVATE |
| on worksharing constructs, treat it like clauses on simd construct. |
| Formatting fix. |
| (lower_rec_input_clauses): For OMP_CLAUSE_PRIVATE_OUTER_REF pass |
| OMP_CLAUSE_PRIVATE as last argument to build_outer_var_ref. |
| (lower_lastprivate_clauses): Pass OMP_CLAUSE_LASTPRIVATE instead |
| of true as last argument to build_outer_var_ref. |
| |
| 2016-11-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/78416 |
| * expmed.c (expand_divmod): Use wide_int for computation of |
| op1_is_pow2. Don't set it if op1 is 0. Formatting fixes. |
| Use size <= HOST_BITS_PER_WIDE_INT instead of |
| HOST_BITS_PER_WIDE_INT >= size. |
| |
| 2016-11-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/67335 |
| * omp-simd-clone.c (simd_clone_adjust_argument_types): Use NULL prefix |
| for tmp simd array if DECL_NAME (parm) is NULL. |
| |
| 2016-11-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/78419 |
| * multiple_target.c (get_attr_len): Start with argnum and increment |
| argnum on every arg. Use strchr in a loop instead of counting commas |
| manually. |
| (get_attr_str): Increment argnum for every comma in the string. |
| (separate_attrs): Use for instead of while loop, simplify. |
| (expand_target_clones): Rename defenition argument to definition. |
| Free attrs and attr_str even when diagnosing errors. Temporarily |
| change input_location around targetm.target_option.valid_attribute_p |
| calls. Don't emit warning or errors if that function fails. |
| |
| 2016-11-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/78378 |
| * combine.c (make_extraction): Use force_to_mode for non-{REG,MEM} |
| inner only if pos is 0. Fix up formatting. |
| |
| PR fortran/78299 |
| * omp-low.c (expand_omp_for_static_nochunk): Don't assert |
| that loop->header == body_bb if broken_loop. |
| |
| 2016-11-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/77834 |
| * dse.c (dse_step5): Call scan_reads even if just |
| insn_info->frame_read. Improve and fix dump file messages. |
| |
| PR target/78227 |
| * config/i386/i386.c (ix86_expand_sse_cmp): Force dest into |
| cmp_mode argument even for -O0 if cmp_mode != mode and maskcmp. |
| |
| 2016-11-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/77834 |
| * alias.c (nonoverlapping_memrefs_p): Return 0 if exprx or expry |
| doesn't have rtl set. |
| |
| 2016-10-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/77919 |
| * expr.c (expand_expr_real_1) <normal_inner_ref>: Only avoid forcing |
| into memory if both modes are complex and their inner modes have the |
| same precision. If the two modes are different complex modes, convert |
| each part separately and generate a new CONCAT. |
| |
| 2016-10-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/77919 |
| * expr.c (expand_expr_real_1) <normal_inner_ref>: Force CONCAT into |
| MEM if mode1 is not a complex mode. |
| |
| 2016-10-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/78025 |
| * omp-simd-clone.c (simd_clone_adjust): Handle noreturn declare simd |
| functions. |
| |
| 2016-10-26 Jakub Jelinek <jakub@redhat.com> |
| Martin Liska <mliska@suse.cz> |
| |
| PR fortran/77973 |
| * gimplify.c (gimplify_adjust_omp_clauses_1): For all added map |
| clauses with OMP_CLAUSE_SIZE being a decl, call omp_notice_variable |
| on outer context if any. |
| |
| 2016-10-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/66343 |
| * ubsan.c (ubsan_ids): New GTY(()) array. |
| (ubsan_type_descriptor, ubsan_create_data): Use ubsan_ids |
| instead of static local counters. |
| |
| 2016-09-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/77665 |
| * tree-inline.c (remap_gimple_stmt): Set has_simduid_loops |
| for all IFN_GOMP_SIMD_* internal fns, not just for |
| IFN_GOMP_SIMD_ORDERED_*. |
| |
| 2016-09-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/77624 |
| * builtins.c (fold_builtin_atomic_always_lock_free): Only look through |
| cast to void * if the cast is from some other pointer type. |
| |
| 2016-09-19 Jakub Jelinek <jakub@redhat.com> |
| Jan Hubicka <jh@suse.cz> |
| |
| PR target/77587 |
| * cgraph.c (cgraph_node::rtl_info): Pass &avail to |
| ultimate_alias_target call, return NULL if avail < AVAIL_AVAILABLE. |
| Call ultimate_alias_target just once, not up to 4 times. |
| |
| 2016-12-07 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2016-11-16 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * config/arm/arm.md (arm_addsi3): Add alternative for addition of |
| general register with general register or ARM constant into SP |
| register. |
| |
| 2016-12-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-12-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| Stefan Freudenberger <stefan@reservoir.com> |
| |
| PR tree-optimization/78646 |
| * gimple-ssa-strength-reduction.c (replace_ref): The pointer |
| addition used for the memory base expression should have the type |
| of the candidate. |
| |
| 2016-12-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-09-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/72827 |
| * config/rs6000/rs6000.c (rs6000_legitimize_address): Avoid |
| reg+reg addressing for TImode. |
| (rs6000_legitimate_address_p): Only allow register indirect |
| addressing for TImode, even without TARGET_QUAD_MEMORY. |
| |
| 2016-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390-modes.def (CCVEQANY, CCVH, CCVHANY, CCVHU) |
| (CCVHUANY): Remove modes. |
| (CCVIH, CCVIHU, CCVIALL, CCVIANY, CCVFALL, CCVFANY): Add modes and |
| documentation. |
| * config/s390/s390.c (s390_match_ccmode_set): Rename cc modes. |
| (s390_expand_vec_compare_scalar): Pick one of the cc consumer |
| modes. |
| (s390_branch_condition_mask): Adjust to use the new cc consumer |
| modes. The new modes allow for proper reversal in the middle-end. |
| (s390_expand_vec_compare_cc): Determine the proper cc producer and |
| consumer modes for a comparison. |
| * config/s390/s390.md: Rename CCVH to CCVIH and CCVHU to CCVIHU |
| throughout the file. |
| * config/s390/vx-builtins.md: Likewise. |
| |
| 2016-12-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-12-01 Alan Modra <amodra@gmail.com> |
| |
| * gcc/config/rs6000/rs6000.c (insn_is_swappable_p): Properly |
| look inside UNSPEC_VSX_XXSPLTW vec. |
| |
| 2016-12-01 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from trunk |
| 2016-11-17 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/78101 |
| * config/rs6000/predicates.md (fusion_addis_mem_combo_load): Add |
| the appropriate checks for SFmode/DFmode load/stores in GPR |
| registers. |
| (fusion_addis_mem_combo_store): Likewise. |
| * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Rename |
| fusion_fpr_* to fusion_vsx_* and add in support for ISA 3.0 scalar |
| d-form instructions for traditional Altivec registers. |
| (emit_fusion_p9_load): Likewise. |
| (emit_fusion_p9_store): Likewise. |
| * config/rs6000/rs6000.md (p9 fusion store peephole2): Remove |
| early clobber from scratch register. Do not match if the register |
| being stored is the scratch register. |
| (fusion_vsx_<P:mode>_<FPR_FUSION:mode>_load): Rename fusion_fpr_* |
| to fusion_vsx_* and add in support for ISA 3.0 scalar d-form |
| instructions for traditional Altivec registers. |
| (fusion_fpr_<P:mode>_<FPR_FUSION:mode>_load): Likewise. |
| (fusion_vsx_<P:mode>_<FPR_FUSION:mode>_store): Likewise. |
| (fusion_fpr_<P:mode>_<FPR_FUSION:mode>_store): Likewise. |
| |
| 2016-12-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2016-11-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/48863 |
| PR inline-asm/70184 |
| * tree-ssa-ter.c (temp_expr_table): Add reg_vars_cnt field. |
| (new_temp_expr_table): Initialise reg_vars_cnt. |
| (free_temp_expr_table): Release reg_vars_cnt. |
| (process_replaceable): Add reg_vars_cnt argument, set reg_vars_cnt |
| field of TAB. |
| (find_replaceable_in_bb): Use the above to record register variable |
| write occurrences and cancel replacement across them. |
| |
| 2016-11-29 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| Backported from mainline |
| 2016-11-19 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/78426 |
| * config/sh/sh-mem.cc (sh_expand_cmpnstr): Use copy_to_mode_reg |
| instead of force_reg. |
| (sh_expand_setmem): Likewise. |
| |
| 2016-11-24 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR middle-end/78429 |
| * tree.h (wi::fits_to_boolean_p): New predicate. |
| (wi::fits_to_tree_p): Use it for boolean types. |
| * tree.c (int_fits_type_p): Likewise. |
| |
| 2016-11-24 Martin Liska <mliska@suse.cz> |
| |
| Backported from mainline |
| 2016-11-22 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/78309 |
| * ipa-icf.c (void sem_item::set_hash): Update m_hash_set. |
| (sem_function::get_hash): Use the new field. |
| (sem_function::parse): Remove an argument from ctor. |
| (sem_variable::parse): Likewise. |
| (sem_variable::get_hash): Use the new field. |
| (sem_item_optimizer::read_section): Use new ctor and set hash. |
| * ipa-icf.h: _hash is removed from sem_item::sem_item, |
| sem_variable::sem_variable, sem_function::sem_function. |
| |
| 2016-11-23 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (*<any_or:code>hi_1): Fix operand 2 constraints. |
| (kxnor<mode>): Return "#" for alternative 0. |
| |
| 2016-11-23 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-11-23 Richard Biener <rguenther@suse.de> |
| |
| PR lto/78472 |
| * tree.c (gimple_canonical_types_compatible_p): Ignore zero-sized |
| fields. |
| |
| 2016-11-17 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/78305 |
| * fold-const.c (negate_expr_p): Fix multiplication case. |
| |
| 2016-11-16 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/78333 |
| * gimplify.c (gimplify_function_tree): Do not instrument |
| GNU extern inline functions. |
| |
| 2016-11-07 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/78228 |
| * tree-ssa-phiopt.c (abs_replacement): Avoid introducing |
| undefined behavior. |
| |
| 2016-11-04 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/78185 |
| * loop-invariant.c (find_exits): Record entering inner |
| loops as possibly exiting to handle infinite sub-loops. |
| * tree-ssa-loop-im.c: Include tree-ssa-loop-niter.h. |
| (fill_always_executed_in_1): Honor infinite child loops. |
| |
| 2016-10-06 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/77855 |
| * tree-ssa-pre.c (prune_clobbered_mems): Queue exprs to remove |
| instead of removing the current item while iterating over the set |
| which is not safe. |
| |
| 2016-11-22 Walter Lee <walt@tilera.com> |
| |
| Backport from mainline |
| 2016-11-22 Walter Lee <walt@tilera.com> |
| |
| * config/tilegx/tilegx.md (trap): New pattern. |
| * config/tilepro/tilepro.md (trap): Likewise. |
| |
| 2016-11-22 Walter Lee <walt@tilera.com> |
| |
| Backport from mainline |
| 2016-11-22 Walter Lee <walt@tilera.com> |
| |
| * config/tilegx/tilegx.md (*zero_extract): Use |
| define_insn_and_split instead of define_insn; Handle pos + size > |
| 64. |
| (*sign_extract): Likewise. |
| |
| 2016-11-22 Uros Bizjak <ubizjak@gmail.com> |
| |
| * Makefile.in ($(lang_checks_parallelized)): Fix detection |
| of -j argument. |
| |
| 2016-11-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2016-11-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/77822 |
| * config/aarch64/aarch64.md (*tb<optab><mode>1): Use |
| aarch64_simd_shift_imm_<mode> predicate for operand 1. |
| (<optab>, ANY_EXTRACT): Use tighter predicates on operands 2 and 3 |
| to restrict them to an appropriate range and add FAIL check if the |
| region they specify is out of range. Delete useless constraint |
| strings. |
| (*<optab><mode>, ANY_EXTRACT): Add appropriate predicates on operands |
| 2 and 3 to restrict their range and add pattern predicate. |
| |
| 2016-11-18 Walter Lee <walt@tilera.com> |
| |
| Backport from mainline |
| 2016-11-18 Walter Lee <walt@tilera.com> |
| |
| * config/tilegx/tilegx.c (tilegx_gen_bundles): Preserve |
| end-of-bundle marker for consecutive barriers. |
| |
| 2016-11-18 Walter Lee <walt@tilera.com> |
| |
| Backport from mainline |
| 2016-11-18 Walter Lee <walt@tilera.com> |
| |
| * config/tilegx/tilegx.md (clzsi2): Fix for big-endian. |
| |
| 2016-11-15 Matthias Klose <doko@ubuntu.com> |
| |
| * doc/install.texi: Move the 'Overriding configure test results' |
| subsub section to the 'Cross-Compiler-Specific Options' sub section. |
| |
| 2016-11-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * ipa-icf.c (sem_function::merge): Do not create a wrapper also if the |
| original function needs a static chain. |
| |
| 2016-11-11 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/78310 |
| * config/i386/i386.md (rotate to rotatex splitter): Avoid overflow |
| when calculating operand 2. |
| (rotate to rotatex zext splitter): Ditto. |
| |
| 2016-11-11 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| PR target/77822 |
| * config/s390/s390.md ("extzv", "*extzv<mode>_zEC12") |
| ("*extzv<mode>_z10"): Check validity of zero_extend arguments. |
| |
| 2016-11-09 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/78262 |
| * config/i386/i386.md (*<shift_insn><mode>3_doubleword): Mark |
| operand 0 as earlyclobber. |
| (*ashl<mode>3_doubleword): Ditto for all operand 0 alternatives. |
| |
| 2016-11-07 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from trunk |
| 2016-11-07 Peter Bergner <bergner@vnet.ibm.com> |
| |
| * config.gcc (powerpc*-*-*, rs6000*-*-*): Remove setting of |
| INCLUDE_EXTRA_SPEC for Advance Toolchain builds. |
| |
| 2016-11-06 Jack Howarth <howarth.at.gcc@gmail.com> |
| |
| PR driver/78206 |
| * incpath.c: (remove_dup(): Also silently ignore EPERM. |
| |
| 2016-11-07 Richard Biener <rguenther@suse.de> |
| |
| PR target/78229 |
| * config/i386/i386.c (ix86_gimple_fold_builtin): Do not adjust |
| EH info. |
| |
| 2016-11-03 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2016-08-12 Martin Liska <mliska@suse.cz> |
| Adam Fineman <afineman@afineman.com> |
| |
| * gcov.c (process_file): Create .gcov file when .gcda |
| file is missing. |
| |
| 2016-11-03 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-09-29 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/77768 |
| * tree-ssa-sccvn.c (visit_reference_op_store): Properly deal |
| with stores to a place we know has a constant value. |
| * tree-vrp.c (set_defs_to_varying): New helper avoiding |
| writing to vr_const_varying. |
| (vrp_initialize): Call it. |
| (vrp_visit_stmt): Likewise. |
| (evrp_dom_walker::before_dom_children): Likewise. |
| * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): |
| Handle stores to readonly memory when removing redundant stores. |
| |
| 2016-11-03 Eric Botcazou <ebotcazou@adacore.com> |
| |
| Backport from mainline |
| 2016-10-17 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * explow.c (validize_mem): Do not modify the argument in-place. |
| |
| 2016-11-02 Will Schmidt <will_schmidt@vnet.ibm.com> |
| |
| Backport from trunk |
| 2016-10-26 Will Schmidt <will_schmidt@vnet.ibm.com> |
| |
| PR middle-end/72747 |
| * gimplify.c (gimplify_init_constructor): Move emit of constructor |
| assignment to earlier in the if/else logic. |
| |
| 2016-11-02 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-11-02 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/78047 |
| * tree-ssa-structalias.c (push_fields_onto_fieldstack): Initialize |
| fake field at offset zero conservatively regarding to may_have_pointers. |
| |
| 2016-10-07 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/77879 |
| * tree-ssa-structalias.c (handle_const_call): Properly handle |
| NRV return slots. |
| (handle_pure_call): Likewise. |
| |
| 2016-10-06 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/77839 |
| * tree-ssa-sccvn.c (set_ssa_val_to): Forbid value -> constant value |
| lattice transition. |
| |
| 2016-09-27 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/77745 |
| * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): |
| When removing redundant stores make sure to check compatibility |
| of the TBAA state for downstream accesses. |
| * tree-ssa-sccvn.c (visit_reference_op_store): Likewise for when |
| value-numbering virtual operands for store matches. |
| |
| 2016-09-21 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/77648 |
| * tree-ssa-structalias.c (process_constraint): Handle all DEREF |
| with complex RHS. |
| (make_transitive_closure_constraints): Adjust comment. |
| (make_any_offset_constraints): New function. |
| (handle_rhs_call): Make sure to first expand a pointer to all |
| subfields before transitively closing it. |
| (handle_const_call): Likewise. Properly expand returned |
| pointers as well. |
| (handle_pure_call): Likewise. |
| |
| 2016-11-01 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/78166 |
| * config/pa/pa.md: Add new shift/add patterns to handle |
| (plus (mult (reg) (mem_shadd_operand)) (reg)) source operand. |
| |
| 2016-11-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2016-10-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR rtl-optimization/78038 |
| * ree.c (get_defs): Return NULL if a defining insn for REG cannot |
| be deduced to set REG through the RTL structure. |
| (make_defs_and_copies_lists): Return false on a failing get_defs call. |
| |
| 2016-10-29 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.h (BIGGEST_ALIGNMENT): Adjust comment. |
| (MALLOC_ABI_ALIGNMENT): Define. |
| |
| 2016-10-28 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/78128 |
| PR middle-end/71002 |
| * fold-const.c (make_bit_field_ref): Only adjust alias set |
| when the original alias set was zero. |
| |
| 2016-10-26 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2016-10-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/78057 |
| * config/i386/i386.c: Include fold-const-call.h, tree-vrp.h |
| and tree-ssanames.h. |
| (ix86_fold_builtin): Fold IX86_BUILTIN_[LT]ZCNT{16,32,64} |
| with INTEGER_CST argument. |
| (ix86_gimple_fold_builtin): New function. |
| (TARGET_GIMPLE_FOLD_BUILTIN): Define. |
| |
| Backport from mainline |
| 2016-10-20 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/78037 |
| * config/i386/bmiintrin.h (__tzcnt_u16): Call __builtin_ia32_tzcnt_u16. |
| (__tzcnt_u32, _tzcnt_u32): Call __builtin_ia32_tzcnt_u32. |
| (__tzcnt_u64, _tzcnt_u64): Call __builtin_ia32_tzcnt_u64. |
| * config/i386/lzcntintrin.h (__lzcnt_u16): Call |
| __builtin_ia32_lzcnt_u16. |
| (__lzcnt_u32, _lzcnt_u32): Call __builtin_ia32_lzcnt_u32. |
| (__lzcnt_u64, _lzcnt_u64): Call __builtin_ia32_lzcnt_u64. |
| * config/i386/i386.md (UNSPEC_LZCNT, UNSPEC_TZCNT): New unspecs. |
| (ctz<mode>2, *ctz<mode>2): Use SWI48 mode iterator. |
| (bmi_tzcnt_<mode>): New expander. |
| (*bmi_tzcnt_<mode>_falsedep_1): New define_insn_and_split pattern. |
| (*bmi_tzcnt_<mode>_falsedep, *bmi_tzcnt_<mode>): New insn patterns. |
| (clz<mode>2_lzcnt, *clz<mode>2_lzcnt): Use SWI48 mode iterator. |
| (lzcnt_<mode>): New expander. |
| (*lzcnt_<mode>_falsedep_1): New define_insn_and_split pattern. |
| (*lzcnt_<mode>_falsedep, *lzcnt_<mode>): New insn patterns. |
| * config/i386/i386-builtin-types.def (UINT_FTYPE_UINT): New. |
| (UINT64_FTYPE_UINT64): New. |
| * config/i386/i386-builtin.def (__builtin_clzs): Remove description. |
| (__builtin_ia32_lzcnt_u16): New description. |
| (__builtin_ia32_lzcnt_u32): Ditto. |
| (__builtin_ia32_lzcnt_u64): Ditto. |
| (__builtin_ctzs): Remove description. |
| (__builtin_ia32_tzcnt_u16): New description. |
| (__builtin_ia32_tzcnt_u32): Ditto. |
| (__builtin_ia32_tzcnt_u64): Ditto. |
| * config/i386/i386.c (ix86_expand_args_builtin): Handle |
| UINT_FTYPE_UINT and UINT64_FTYPE_UINT64. |
| |
| 2016-10-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree.h (wi::fits_to_tree_p): Accept only 0 and 1 for boolean types. |
| * tree.c (int_fits_type_p): Likewise. Adjust head comment. |
| |
| 2016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| Backport from mainline |
| 2016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| PR tree-optimization/77550 |
| * tree-vect-stmts.c (create_array_ref): Change parameters. |
| (get_group_alias_ptr_type): New function. |
| (vectorizable_store, vectorizable_load): Use get_group_alias_ptr_type. |
| |
| 2016-10-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-10-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/77916 |
| * gimple-ssa-strength-reduction.c (create_add_on_incoming_edge): |
| Don't allow a MINUS_EXPR for pointer arithmetic for either known |
| or unknown strides. |
| (record_increment): Increments of -1 for unknown strides just use |
| a multiply initializer like other negative values. |
| (analyze_increments): Remove stopgap solution for -1 increment |
| applied to pointer arithmetic. |
| (insert_initializers): Requirement of initializer for -1 should be |
| based on pointer-typedness of the candidate basis. |
| |
| 2016-10-23 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sparc.md (cpu_feature): Minor tweak. |
| (enabled): Likewise. |
| (movsi_insn, movdi_insn_sp32, movdi_insn_sp64, movsf_insn, |
| movdf_insn_sp32, movdf_insn_sp64, zero_extendsidi2_insn_sp64, |
| sign_extendsidi2_insn, mov<VM32:mode>_insn, mov<VM64:mode>_insn_sp64, |
| mov<VM64:mode>_insn_sp32, not_<code><mode>, nand<mode>_vis, |
| <code>_not1<mode>_vi, <code>_not2<mode>_vis, one_cmpl<mode>2, |
| fcmp<code><GCM:gcm_name>, pdistn<mode>_vis): Likewise. |
| |
| 2016-10-23 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sparc-c.c (sparc_target_macros): Replace TARGET_64BIT |
| with TARGET_ARCH64. Define __VIS to 0x400 if TARGET_VIS4. |
| |
| 2016-10-19 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/77991 |
| * config/i386/i386.c (legitimize_tls_address) |
| <case TLS_MODEL_INITIAL_EXEC>: For TARGET_64BIT || TARGET_ANY_GNU_TLS |
| convert dest to Pmode if different than Pmode. |
| |
| 2016-10-18 Kugan Vivekanandarajah <kuganv@linaro.org> |
| |
| Backport from mainline |
| 2016-10-11 Kugan Vivekanandarajah <kuganv@linaro.org> |
| |
| * tree-vrp.c (vrp_intersect_ranges_1): Allocate bitmap before |
| copying. |
| |
| 2016-10-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-10-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/77937 |
| * gimple-ssa-strength-reduction.c (analyze_increments): Use |
| POINTER_TYPE_P on the candidate type to determine whether |
| candidates in this chain require pointer arithmetic. |
| |
| 2016-10-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/77937 |
| * gimple-ssa-strength-reduction.c (analyze_increments): Set cost |
| to infinite when we have a pointer with an increment of -1. |
| |
| 2016-10-17 Martin Liska <mliska@suse.cz> |
| |
| Backported from mainline |
| 2016-10-13 Martin Liska <mliska@suse.cz> |
| |
| PR tree-optimization/77943 |
| * tree-ssa-tail-merge.c (merge_stmts_p): Do not merge BBs with |
| a different EH landing pads. |
| |
| 2016-10-17 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR bootstrap/77995 |
| Backport from mainline |
| 2016-10-11 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree.h (build_complex_type): Add second parameter with default. |
| * tree.c (build_complex_type): Add NAMED second parameter and adjust |
| recursive call. Create a TYPE_DECL only if NAMED is true. |
| (build_common_tree_nodes): Pass true in calls to build_complex_type. |
| |
| 2016-10-16 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sparc.c (sparc_expand_vector_init): Only accept literal |
| constants in CONST_VECTORs. |
| |
| 2016-10-15 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sparc.c (sparc_expand_vec_perm_bmask): Use a scratch |
| register as destination of bmask. |
| (vector_init_bshuffle): Likewise. |
| * config/sparc/sparc.md (vec_perm_constv8qi): Likewise. |
| (bmaskdi_vis): Enable only in 64-bit mode. |
| |
| 2016-10-13 Andrew Senkevich <andrew.senkevich@intel.com> |
| |
| Backport from trunk |
| * common/config/i386/i386-common.c (OPTION_MASK_ISA_PCOMMIT_UNSET, |
| OPTION_MASK_ISA_PCOMMIT_SET): Deleted definitions. |
| (ix86_handle_option): Deleted handle of OPT_mpcommit. |
| * config.gcc: Deleted pcommitintrin.h |
| * config/i386/pcommitintrin.h: Deleted file. |
| * config/i386/cpuid.h (bit_PCOMMIT): Deleted. |
| * config/i386/driver-i386.c (host_detect_local_cpu): Deleted pcommit |
| detection. |
| * config/i386/i386-c.c (ix86_target_macros_internal): Deleted define |
| __PCOMMIT__. |
| * config/i386/i386.c (ix86_target_string): Deleted -mpcommit. |
| (PTA_PCOMMIT, IX86_BUILTIN_PCOMMIT, __builtin_ia32_pcommit): Deleted. |
| (ix86_option_override_internal): Deleted handle of option. |
| (ix86_valid_target_attribute_inner_p): Deleted pcommit. |
| * config/i386/i386.h (TARGET_PCOMMIT, TARGET_PCOMMIT_P): Deleted. |
| * config/i386/i386.md (unspecv): Deleted UNSPECV_PCOMMIT. |
| (pcommit): Deleted instruction. |
| * config/i386/i386.opt: Mention -mpcommit deprecation. |
| * config/i386/x86intrin.h: Deleted inclusion of pcommitintrin.h. |
| |
| 2016-10-13 Tom de Vries <tom@codesourcery.com> |
| |
| revert: |
| 2016-10-11 Tom de Vries <tom@codesourcery.com> |
| |
| backport from trunk: |
| 2016-10-11 Tom de Vries <tom@codesourcery.com> |
| |
| PR middle-end/77558 |
| * builtins.c (std_canonical_va_list_type): Remove RECORD_TYPE |
| special-casing. |
| |
| 2016-10-11 Tom de Vries <tom@codesourcery.com> |
| |
| backport from trunk: |
| 2016-10-11 Tom de Vries <tom@codesourcery.com> |
| |
| PR middle-end/77558 |
| * builtins.c (std_canonical_va_list_type): Remove RECORD_TYPE |
| special-casing. |
| |
| 2016-10-10 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/gen-avr-mmcu-texi.c (string.h): Include. |
| |
| 2016-10-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/77874 |
| * config/i386/sse.md (<mask_codefor><code><mode>3<mask_name>): |
| Remove wrong assert. |
| (<floatsuffix>float<sseintvecmodelower><mode>2<mask_name><round_name>: |
| Use <round_constraint> as operand 1 constraint. |
| |
| 2016-10-06 James Clarke <jrtc27@jrtc27.com> |
| Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/77759 |
| * config/sparc/sparc.c (classify_data_t): Remove int_regs field. |
| (classify_registers): Don't set it |
| (function_arg_slotno): Don't initialize and test it. Tidy up. |
| |
| 2016-10-04 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2016-09-29 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/driver-i386.c (host_detect_local_cpu): Check maximum |
| ext_level before calling CPUID with 0x80000008. |
| |
| 2016-09-29 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/77756 |
| * config/i386/cpuid.h (__get_cpuid_count): New. |
| (__get_cpuid): Rename __level to __leaf. |
| |
| 2016-09-30 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from trunk |
| |
| 2016-09-21 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/77670 |
| * config/rs6000/predicates.md (invert_fpmask_comparison_operator): |
| New predicate that matches the ISA 3.0 XSCMP{EQ,GT,GE}DP |
| instructions when you want to invert the test. |
| * config/rs6000/rs6000.md (fpmask<mode>): Use the arguments in the |
| correct order for XXSEL. |
| (mov<SFDF:mode><SFDF2:mode>cc_invert_p9): Define the inverted test |
| for using XSCMP{EQ,GT,GE}DP. |
| |
| 2016-09-28 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| Alan Modra <amodra@gmail.com> |
| |
| Backport from mainline |
| 2016-07-01 Alan Modra <amodra@gmail.com> |
| |
| PR rtl-optimization/71709 |
| * ira-lives.c (find_call_crossed_cheap_reg): Exit loop on arg reg |
| being set, not referenced. |
| |
| 2016-09-27 David Edelsohn <dje.gcc@gmail.com> |
| |
| Backport from mainline |
| 2016-09-27 David Edelsohn <dje.gcc@gmail.com> |
| |
| * config/rs6000/rs6000.c (rs6000_output_symbol): Don't modify |
| VAR_DECL string. |
| |
| 2016-09-24 David Edelsohn <dje.gcc@gmail.com> |
| |
| * configure.ac (gcc_cv_as_aix_dwloc): Fix typo in assembly fragment. |
| * configure: Regenerate. |
| |
| 2016-09-27 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-09-01 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/77436 |
| * tree-chrec.c (tree_fold_binomial): Use widest_int, properly |
| check whether the result fits the desired result type. |
| |
| 2016-09-19 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/77514 |
| * tree-ssa-pre.c (create_expression_by_pieces): Optimize |
| search for folded stmt. |
| |
| 2016-09-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/77514 |
| * tree-ssa-pre.c (create_expression_by_pieces): Handle garbage |
| only forced_stmts sequence. |
| |
| 2016-09-15 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/77544 |
| * fold-const.c (split_tree): Do not split constant ~X. |
| |
| 2016-09-19 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/77605 |
| * tree-data-ref.c (analyze_subscript_affine_affine): Use the |
| proper niter to bound the loops. |
| |
| 2016-09-22 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/77679 |
| * gimple-fold.c (fold_array_ctor_reference): Turn asserts into |
| fold fails. |
| |
| 2016-09-25 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2016-09-21 Richard Biener <rguenther@suse.de> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/77621 |
| * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Split |
| group at non-vectorizable stmts. |
| |
| Backport from mainline |
| 2016-09-20 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/77621 |
| * config/i386/i386.c (ix86_preferred_simd_mode) <case DFmode>: |
| Don't return word_mode for !TARGET_VECTORIZE_DOUBLE. |
| (ix86_add_stmt_cost): Penalize DFmode vector operations |
| for !TARGET_VECTORIZE_DOUBLE. |
| |
| 2016-09-22 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> |
| |
| Backport from 2016-09-22 trunk r240388. |
| |
| * config/avr/avr.c (avr_rtx_costs_1): Handle DImode MULT. |
| (avr_address_cost): Replace 61 with MAX_LD_OFFSET(mode). |
| |
| 2016-09-21 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * doc/rtl.texi (JUMP_LABEL): Document RETURN and SIMPLE_RETURN values. |
| |
| 2016-09-21 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2016-09-21 trunk r240306. |
| |
| PR target/77326 |
| * config/avr/avr.c (avr_notice_update_cc) [CC_NONE]: If insn |
| touches some regs mentioned in cc_status, do CC_STATUS_INIT. |
| |
| 2016-09-20 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2016-07-14 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * lra-constraints.c (match_reload): Pass information about other |
| output operands. Create new unique register value if matching input |
| operand shares same register value as output operand being considered. |
| (curr_insn_transform): Record output operands already processed. |
| |
| 2016-09-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/extend.texi (Integer Overflow Builtins): Fix type of out |
| parameters for functions taking long long arguments. |
| |
| 2016-09-16 David Edelsohn <dje.gcc@gmail.com> |
| |
| Backported from mainline |
| 2016-08-26 David Edelsohn <dje.gcc@gmail.com> |
| |
| PR target/77349 |
| * config/rs6000/xcoff.h (DWARF_OFFSET_SIZE): Define as PTR_SIZE. |
| |
| 2016-09-16 Jakub Jelinek <jakub@redhat.com> |
| Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR middle-end/77594 |
| * internal-fn.c (expand_arith_overflow) <case MINUS_EXPR>: Don't fall |
| through into expand_addsub_overflow after expand_neg_overflow. |
| |
| 2016-09-16 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2016-09-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/68260 |
| * tsan.c: Include target.h. |
| (enum tsan_atomic_action): Add bool_clear and bool_test_and_set. |
| (BOOL_CLEAR, BOOL_TEST_AND_SET): Define. |
| (tsan_atomic_table): Add BUILT_IN_ATOMIC_CLEAR and |
| BUILT_IN_ATOMIC_TEST_AND_SET entries. |
| (instrument_builtin_call): Handle bool_clear and bool_test_and_set. |
| |
| 2016-09-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/77516 |
| * omp-low.c (lower_rec_simd_input_clauses): Use max_vf for non-positive |
| OMP_CLAUSE_SAFELEN_EXPR. |
| |
| 2016-09-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69255 |
| * config/i386/i386.c (ix86_expand_builtin): For builtin with |
| unsupported or unknown ISA, use expand_call. |
| |
| 2016-09-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2016-09-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR rtl-optimization/77452 |
| * explow.c (plus_constant) <case MEM>: Extract scalar constant from |
| inner-mode reference to a CONST_VECTOR constant in the constant pool. |
| |
| 2016-09-01 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2016-08-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/72866 |
| * tree-vect-patterns.c (search_type_for_mask): Turn into |
| a small wrapper, move all code to ... |
| (search_type_for_mask_1): ... this new function. Add caching |
| and adjust recursive calls. |
| |
| PR debug/77363 |
| * dwarf2out.c (modified_type_die): Use lookup_type_die (type) |
| instead of lookup_type_die (type_main_variant (type)) even for array |
| types. |
| |
| PR middle-end/77377 |
| * simplify-rtx.c (avoid_constant_pool_reference): For out of bounds |
| constant pool reference return x instead of c. |
| |
| 2016-08-19 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/t-i386 (i386-c.o): Don't depend on |
| i386-builtin-types.inc. |
| (i386.o): Depend on i386-builtin-types.inc. |
| |
| 2016-08-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/77259 |
| * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): If |
| turning a call into __builtin_unreachable-like noreturn call, adjust |
| gimple_call_set_fntype. |
| * tree-cfgcleanup.c (fixup_noreturn_call): Remove lhs also if |
| gimple_call_fntype has void return type. |
| |
| 2016-08-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/71910 |
| * tree-cfg.c (execute_fixup_cfg): Add node variable, use it. Before inlining, |
| add cgraph edge for the added __builtin_unreachable call. |
| |
| 2016-09-01 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/extend.texi (SPU Built-in Functions): Remove stale |
| references to material formerly at IBM and Sony. |
| |
| 2016-09-01 Matthew Wahab <matthew.wahab@arm.com> |
| |
| PR target/77281 |
| * config/arm/arm.c (neon_valid_immediate): Delete declaration. |
| Use const_vec_duplicate to check for duplicated elements. |
| |
| 2016-09-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/i386/i386.c (ix86_option_override_internal): Also disable the |
| STV pass if -mstackrealign is enabled. |
| |
| 2016-08-31 Patrick Palka <ppalka@gcc.gnu.org> |
| |
| Backport from mainline |
| 2016-08-27 Patrick Palka <ppalka@gcc.gnu.org> |
| |
| PR tree-optimization/71077 |
| PR tree-optimization/68542 |
| * fold-const.c (fold_relational_const): Fix folding of |
| VECTOR_CST comparisons that have a scalar boolean result type. |
| |
| 2016-08-31 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/install.texi (Binaries): www.opencsw.org now uses https. |
| |
| 2016-08-31 Jakub Sejdak <jakub.sejdak@phoesys.com> |
| |
| * config.gcc: Add support for arm*-*-phoenix* targets. |
| * config/arm/t-phoenix: New. |
| * config/phoenix.h: New. |
| |
| 2016-08-29 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/77403 |
| * config/i386/sse.md (vec_set_lo_<mode><mask_name>): Fix assembler |
| template for intel asm dialect. |
| (vec_set_hi_<mode><mask_name>): Ditto. |
| |
| 2016-08-29 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * Makefile.in (gcov-iov.h): Add dummy recipe. |
| |
| 2016-08-28 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2016-08-23 Venkataramanan Kumar <venkataramanan.kumar@amd.com> |
| |
| * config/i386/i386.c (processor_alias_table): Enable PTA_PRFCHW |
| for targets amdfam10 and barcelona. |
| |
| Backport from mainline |
| 2016-08-21 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/77270 |
| * config/i386/i386.md (prefetch): When TARGET_PRFCHW or |
| TARGET_PREFETCHWT1 are disabled, emit 3dNOW! write prefetches for |
| non-SSE2 athlons only, otherwise prefer SSE prefetches. |
| |
| Backport from mainline |
| 2016-08-19 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/77270 |
| * config/i386/i386.c (ix86_option_override_internal): Remove |
| PTA_PRFCHW from entries that also have PTA_3DNOW flag. |
| Enable SSE prefetch also for TARGET_PREFETCHWT1. |
| Do not try to enable TARGET_PRFCHW ISA flag here. |
| * config/i386/i386.md (prefetch): Enable also for TARGET_3DNOW. |
| Rewrite expander function body. |
| (*prefetch_3dnow): Enable for TARGET_3DNOW and TARGET_PREFETCHWT1. |
| |
| 2016-08-28 Tom de Vries <tom@codesourcery.com> |
| |
| backport from trunk: |
| 2016-08-28 Tom de Vries <tom@codesourcery.com> |
| |
| PR lto/70955 |
| * config/i386/i386.c (ix86_build_builtin_va_list_64): Tag type with |
| 'sysv_abi va_list' attribute. |
| (ix86_build_builtin_va_list): Tag type with 'ms_abi va_list' attribute. |
| (ix86_canonical_va_list_type): Handle 'sysv_abi/ms_abi va_list' |
| attributes. |
| |
| 2016-08-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-08-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/72863 |
| * vsx.md (vsx_load_<mode>): For P8LE, emit swaps at expand time. |
| (vsx_store_<mode>): Likewise. |
| |
| 2016-08-24 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-08-17 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/76490 |
| * tree-vrp.c (update_value_range): Preserve overflow infinities |
| when intersecting with ranges from get_range_info. |
| (operand_less_p): Handle overflow infinities correctly. |
| (value_range_constant_singleton): Use vrp_operand_equal_p |
| to handle overflow max/min correctly. |
| (vrp_valueize): Likewise. |
| (union_ranges): Likewise. |
| (intersect_ranges): Likewise. |
| |
| 2016-08-24 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config/arm/t-rtems: Add vfp multilib. |
| |
| 2016-08-23 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-08-16 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/76783 |
| * tree-ssa-propagate.c (ssa_prop_init): Use RPO order. Clear |
| BB visited flags at start. |
| |
| 2016-08-12 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/72851 |
| * tree-ssa-propagate.c: Include cfganal.h. Rewrite block and stmt |
| worklists to use bitmaps indexed in execution order. |
| (executable_blocks, cfg_blocks_num, cfg_blocks_tail, cfg_blocks_head, |
| bb_in_list, interesting_ssa_edges, varying_ssa_edges): Remove. |
| (cfg_blocks): Make a bitmap. |
| (bb_to_cfg_order, cfg_order_to_bb, ssa_edge_worklist, uid_to_stmt): |
| New globals. |
| (cfg_blocks_empty_p): Adjust. |
| (cfg_blocks_add): Likewise. |
| (cfg_blocks_get): Likewise. |
| (add_ssa_edge): Likewise. |
| (add_control_edge): Likewise. |
| (simulate_stmt): Likewise. |
| (process_ssa_edge_worklist): Likewise. |
| (simulate_block): Likewise. |
| (ssa_prop_init): Compute PRE order and stmt UIDs. |
| (ssa_prop_fini): Adjust. |
| (ssa_propagate): Adjust. |
| |
| 2016-08-22 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2016-08-15 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/72867 |
| * config/i386/sse.md (<code><mode>3<mask_name><round_saeonly_name>): |
| Emit ieee_<ieee_maxmin><mode>3<mask_name><round_saeonly_name> |
| for !flag_finite_math_only or flag_signed_zeros. |
| (*<code><mode>3<mask_name><round_saeonly_name>): Rename from |
| *<code><mode>3_finite<mask_name><round_saeonly_name>. Do not |
| depend on flag_finite_math_only. |
| (ieee_<ieee_maxmin><mode>3<mask_name><round_saeonly_name>): |
| New insn pattern. |
| (*<code><mode>3<mask_name><round_saeonly_name>): Remove. |
| (*ieee_smin<mode>3): Ditto. |
| (*ieee_smax<mode>3): Ditto. |
| * config/i386/mmx.md (mmx_<code>v2sf3): Emit |
| mmx_ieee_<ieee_maxmin>v2sf3 for !flag_finite_math_only or |
| flag_signed_zeros. |
| (*mmx_<code>v2sf3): Rename from *mmx_<code>v2sf3_finite. Do not |
| depend on flag_finite_math_only. |
| (mmx_ieee_<ieee_maxmin>v2sf3): New insn pattern. |
| (*mmx_<code>v2sf3): Remove. |
| * config/i386/subst.md (round_saeonly_mask_arg3): New subst attribute. |
| * config/i386/i386.c (ix86_expand_sse_fp_mimnax): Check |
| flag_signed_zeros instead of !flag_unsafe_math_optimizations. |
| |
| 2016-08-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2016-07-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR middle-end/71700 |
| * expr.c (store_constructor): Mask sign-extended bits when widening |
| sub-word constructor element at the start of a word. |
| |
| 2016-08-22 Richard Biener <rguenther@suse.de> |
| |
| * BASE-VER: Set to 6.2.1. |
| |
| 2016-08-22 Release Manager |
| |
| * GCC 6.2.0 released. |
| |
| 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| Backport from mainline |
| 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| PR middle-end/70895 |
| * gimplify.c (omp_add_variable): Adjust/add variable mapping on |
| enclosing parallel construct for reduction variables on OpenACC loop |
| directives. |
| |
| 2016-08-18 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2016-06-17 DJ Delorie <dj@redhat.com> |
| |
| PR target/71338 |
| * config/rl78/rl78-expand.c (umulqihi3): Enable for G10. |
| * config/rl78/rl78-virtual.c (umulhi3_shift_virt): Likewise. |
| (umulqihi3_virt): Likewise. |
| * config/rl78/rl78-real.c (umulhi3_shift_real): Likewise. |
| (umulqihi3_real): Likewise. |
| |
| 2016-08-16 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * doc/install.texi (*-*-solaris2*): Adjust latest change. |
| |
| 2016-08-15 Martin Liska <mliska@suse.cz> |
| |
| Backported from mainline |
| 2016-08-15 Martin Liska <mliska@suse.cz> |
| |
| PR driver/72765 |
| * gcc.c (do_spec_1): Call save_string with the right size. |
| |
| 2016-08-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/71906 |
| * dwarf2out.c (string_types): New variable. |
| (gen_array_type_die): Change early_dwarf handling of |
| DW_AT_string_length, create DW_OP_call4 referencing the |
| length var temporarily. Handle parameters that are pointers |
| to string length. |
| (adjust_string_types): New function. |
| (gen_subprogram_die): Temporarily set string_types to local var, |
| call adjust_string_types if needed. |
| (non_dwarf_expression, copy_deref_exprloc, optimize_string_length): |
| New functions. |
| (resolve_addr): Adjust DW_AT_string_length if it is DW_OP_call4. |
| |
| 2016-08-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/73434 |
| * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Preserve |
| TBAA info on the base when forwarding a non-invariant address. |
| |
| 2016-08-15 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * doc/install.texi (*-*-solaris2*): Fix version number and document |
| requirement on GNU make for building libjava with the Solaris linker. |
| |
| 2016-08-15 Martin Liska <mliska@suse.cz> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/72824 |
| * tree-loop-distribution.c (const_with_all_bytes_same) |
| <case VECTOR_CST>: Fix a typo. |
| |
| 2016-08-14 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2016-08-14 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/76342 |
| * config/i386/avx512fintrin.h (_mm512_undefined_epi32): |
| Renamed from _mm512_undefined_si512. |
| (_mm_undefined_si512): New definition. |
| |
| Backport from mainline: |
| 2016-08-09 David Wohlferd <dw@LimeGreenSocks.com> |
| |
| * config/i3836/avx512fintrin.h (_mm512_cvtsepi64_epi32): Remove |
| unused variable __O. |
| |
| Backport from mainline: |
| 2016-08-09 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/72843 |
| * config/i386/i386.md (*movtf_internal): Use |
| lra_in_progress || reload_completed instead of !can_create_pseudo_p |
| in the insn constraint. |
| (*movxf_internal): Ditto. |
| (*movdf_internal): Ditto. |
| (*movsf_internal): Ditto. |
| |
| 2016-08-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/71512 |
| * ubsan.c (instrument_si_overflow): Pass true instead of false |
| to gsi_replace. |
| (pass_ubsan::execute): Call gimple_purge_dead_eh_edges at the end |
| of bbs. Return TODO_cleanup_cfg if any returned true. |
| |
| 2016-08-12 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| Backport from mainline |
| 2016-08-11 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| PR tree-optimization/71083 |
| * tree-predcom.c (ref_at_iteration): Correctly align the |
| reference type. |
| |
| 2016-08-12 James Greenhalgh <james.greenhalgh@arm.com |
| |
| Backport from mainline |
| 2016-08-05 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| PR Target/72819 |
| * config/aarch64/aarch64.h (aarch64_fp16_type_node): Declare. |
| (aarch64_fp16_ptr_type_node): Likewise. |
| * config/aarch64/aarch64-simd-builtins.c |
| (aarch64_fp16_ptr_type_node): Define. |
| (aarch64_init_fp16_types): New, refactored out of... |
| (aarch64_init_builtins): ...here, update to call |
| aarch64_init_fp16_types. |
| * config/aarch64/aarch64.c (aarch64_gimplify_va_arg_expr): Handle |
| HFmode. |
| (aapcs_vfp_sub_candidate): Likewise. |
| |
| 2016-08-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-08-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390-builtin-types.def: Add INT128 types. |
| * config/s390/s390-builtins.def: Add INT128 variants for the add |
| sub low-level builtins dealing with TImode. |
| * config/s390/s390.c (s390_expand_builtin): Allow mode conversions |
| via subreg when expanding a builtin. |
| * config/s390/s390.md: Remove UNSPEC_VEC_ADDC_U128, |
| UNSPEC_VEC_SUB_U128, and UNSPEC_VEC_SUBC_U128 constants. |
| Fix comment. |
| * config/s390/vecintrin.h: Adjust builtin names accordingly. |
| * config/s390/vx-builtins.md ("vec_add_u128"): Remove expander. |
| ("vec_addc<mode>", "vec_addc_u128"): Merge to |
| "vacc<bhfgq>_<mode>". |
| ("vec_adde_u128"): Rename to "vacq". Change mode to TImode. |
| ("vec_addec_u128"): Rename to "vacccq". Change mode to TImode. |
| ("vec_subc<mode>", "vec_subc_u128"): Merge to |
| "vscbi<bhfgq>_<mode>". |
| ("vec_sube_u128"): Rename to "vsbiq". Change mode to TImode. |
| ("vec_subec_u128"): Rename to "vsbcbiq". Change mode to TImode. |
| |
| 2016-08-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-08-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390-builtins.def: Mark last operand of s390_vlvg* |
| and s390_vlgv* builtins as element selector. |
| |
| 2016-08-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-07-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_expand_vec_init): Force initializer |
| element to register if it doesn't match general_operand. |
| |
| 2016-08-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-06-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/vecintrin.h: Fix file description in comment. |
| |
| 2016-08-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-06-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390-builtin-types.def: Change builtin type naming |
| scheme to match builtin-types.def. |
| |
| 2016-08-10 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-08-10 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/72853 |
| * config/rs6000/rs6000.c (mem_operand_ds_form): Add check for op |
| being an offsettable address. |
| |
| 2016-08-10 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2016-08-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/72824 |
| * tree-loop-distribution.c (const_with_all_bytes_same): Verify |
| real_zerop is not negative. |
| |
| 2016-08-09 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/71981 |
| * ipa-polymorphic-call.c (get_dynamic_type): Bail out gracefully |
| if instance is a MEM_REF. |
| |
| 2016-08-09 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-08-09 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/68273 |
| * ipa-prop.c (ipa_modify_formal_parameters): Build |
| parameter types with natural alignment also for the |
| over-aligned case. |
| |
| 2016-07-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/71881 |
| * tree-loop-distribution.c (destroy_loop): Remove blocks in |
| reverse DOM order to make debug temp generation happy. |
| |
| 2016-08-09 Alan Modra <amodra@gmail.com> |
| |
| PR target/72802 |
| * config/rs6000/rs6000.md (mov<mode>_hardfloat): Sort |
| alternatives. Put loads first, then stores, and reg/reg moves |
| within same class later. Delete attr length. |
| |
| 2016-08-09 Alan Modra <amodra@gmail.com> |
| |
| PR target/72802 |
| * config/rs6000/rs6000.c (mem_operand_gpr): Remove vsx dform test. |
| (mem_operand_ds_form): New predicate. |
| * config/rs6000/rs6000-protos.h (mem_operand_ds_form): Declare. |
| * config/rs6000/constraints.md (wY): New constraint. |
| * config/rs6000/rs6000.md (f32_lm2, f32_sm2): Use wY for SF. |
| (extendsfdf2_fpr): Replace o constraint with wY. |
| |
| 2016-08-08 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2016-07-29 trunk r238863. |
| |
| PR rtl-optimization/71976 |
| * combine.c (get_last_value): Return 0 if the argument for which |
| the function is called has a wider mode than the recorded value. |
| |
| 2016-08-04 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport from trunk |
| 2016-07-26 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/71869 |
| * config/rs6000/rs6000.c (rs6000_generate_compare): Rework |
| __float128 support when we don't have hardware support, so that |
| the IEEE built-in functions like isgreater, first call __unordkf3 |
| to make sure neither operand is a NaN, and if both operands are |
| ordered, do the normal comparison. |
| |
| 2016-08-04 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/72805 |
| * config/i386/avx512fintrin.h (_mm512_cmp_epi32_mask) [!__OPTIMIZE__]: |
| Cast builtin function result to __mmask16 instead of __mmask8. |
| (_mm512_cmp_epu32_mask) [!__OPTIMIZE__]: Ditto. |
| (_mm512_mask_cmp_epi32_mask) [!__OPTIMIZE__]: Ditto. |
| (_mm512_mask_cmp_epu32_mask) [!__OPTIMIZE__]: Ditto. |
| |
| 2016-08-03 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR 70677 |
| * common/config/avr/avr-common.c (avr_option_optimization_table) |
| [OPT_LEVELS_ALL]: Turn off -fcaller-saves. |
| |
| 2016-08-01 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2016-08-01 trunk r238948. |
| |
| PR target/72767 |
| * config/avr/avr.md (length) [branch]: Correct insn length |
| attribute for forward branches. |
| |
| 2016-08-01 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2016-06-16 trunk r237536. |
| 2016-06-16 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> |
| |
| PR target/71151 |
| * config/avr/avr.c (avr_asm_init_sections): Remove setup of |
| progmem_swtable_section. |
| (progmem_swtable_section): Remove. |
| (avr_asm_function_rodata_section): Remove. |
| (TARGET_ASM_FUNCTION_RODATA_SECTION): Remove. |
| * config/avr/avr.h (JUMP_TABLES_IN_TEXT_SECTION): Define to 1. |
| |
| 2016-07-29 Marek Polacek <polacek@redhat.com> |
| |
| Backport from mainline |
| 2016-07-29 Marek Polacek <polacek@redhat.com> |
| |
| PR c/7652 |
| * config/rs6000/rs6000.c (altivec_expand_ld_builtin): Add break. |
| (altivec_expand_st_builtin): Likewise. |
| * config/i386/i386.c (ix86_expand_args_builtin): Likewise. |
| (ix86_expand_round_builtin): Likewise. |
| |
| 2016-07-27 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/71216 |
| * config/rs6000/rs6000.c (rs6000_file_start): Fix condition for |
| when to emit a ".machine" pseudo-op. |
| |
| 2016-07-26 Alan Modra <amodra@gmail.com> |
| |
| PR target/72103 |
| * config/rs6000/rs6000.c (rs6000_secondary_reload): Initialize |
| sri->t_icode. |
| |
| 2016-07-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/71953 |
| * asan.c (asan_dynamic_init_call): Call asan_init_shadow_ptr_types |
| before builtin_decl_implicit. |
| |
| * tree-object-size.c (unknown): Use HOST_WIDE_INT_M1U instead of -1. |
| |
| 2016-07-21 Andrew Sutton <andrew.n.sutton@gmail.com> |
| |
| Improving concepts performance and diagnostics. |
| * timevar.def (TV_CONSTRAINT_SAT, TV_CONSTRAINT_SUB): New time vars |
| for constraint satisfaction and subsumption. |
| * timevar.h (auto_timevar): New constructor that matches the push/pop |
| pattern of usage in pt.c. |
| |
| 2016-07-20 John David Anglin <danglin@gcc.gnu.org> |
| |
| Backport from mainline |
| 2016-07-16 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (hppa_profile_hook): Allocate stack space for |
| register parameters. Remove code to initialize argument pointer |
| on TARGET_64BIT. Optimize call to _mcount when it can be reached |
| using a pc-relative branch. Cleanup conditional code. |
| * config/pa/pa.md (call_mcount): New expander. |
| (call_mcount_nonpic): New insn. |
| (call_mcount_pic): New insn and split. |
| (call_mcount_pic_post_reload): New insn. |
| (call_mcount_64bit): New insn and split. |
| (call_mcount_64bit_post_reload): New insn. |
| |
| 2016-07-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-07-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_encode_section_info): Remove mode size |
| check. |
| |
| 2016-07-20 Martin Jambor <mjambor@suse.cz> |
| |
| PR fortran/71688 |
| * trans-decl.c (gfc_generate_function_code): Use get_create rather |
| than create to get a call graph node. |
| |
| 2016-07-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/71916 |
| * cfgrtl.c (contains_no_active_insn_p): Return false also for |
| bb which have a single succ fake edge. |
| |
| 2016-07-19 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR debug/71855 |
| * dwarf2out.c (gen_subprogram_die): Only call |
| gen_unspecified_parameters_die while dumping early dwarf. |
| |
| 2016-07-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/71874 |
| * gimple-fold.c (fold_builtin_memory_op): Use |
| get_addr_base_and_unit_offset instead of get_ref_base_and_extent. |
| |
| 2017-07-19 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from trunk |
| 2017-07-12 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/81193 |
| * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): If GLIBC |
| provides the hardware capability bits, define the macro |
| __BUILTIN_CPU_SUPPORTS__. |
| * config/rs6000/rs6000.c (cpu_expand_builtin): Generate a warning |
| if GLIBC does not provide the hardware capability bits. Add a |
| gcc_unreachable call if the built-in cpu function is neither |
| __builtin_cpu_is nor __builtin_cpu_supports. |
| * doc/extend.texi (PowerPC built-in functions): Document that |
| GLIBC 2.23 or newer is needed by __builtin_cpu_is and |
| __builtin_cpu_supports. Document the macros defined by GCC if the |
| newer GLIBC is available. |
| |
| 2016-07-18 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from mainline |
| 2016-07-18 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/71493 |
| * config/rs6000/rs6000.c (rs6000_function_value): Fix |
| unintentional System V.4 structure return breakage for structures |
| with a single floating point element. |
| |
| 2016-07-18 Martin Liska <mliska@suse.cz> |
| |
| Backported from mainline |
| 2016-07-12 Martin Liska <mliska@suse.cz> |
| |
| PR rtl-optimization/71634 |
| * ira-build.c (mark_loops_for_removal): Properly iterate |
| loops. |
| |
| 2016-07-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-07-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_encode_section_info): Always set |
| notaligned marker if mode size is 0 or no MEM_ALIGN info could be |
| found. |
| |
| 2016-07-15 Alan Modra <amodra@gmail.com> |
| |
| Apply from mainline |
| 2016-07-11 Alan Modra <amodra@gmail.com> |
| * config/rs6000/rs6000.md (UNSPEC_DOLOOP): New unspec. |
| (ctr<mode>): Add unspec. |
| (ctr<mode>_internal*): Likewise. |
| |
| 2016-07-14 Alan Modra <amodra@gmail.com> |
| |
| PR target/71733 |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Deal |
| with p9_vector override before power9-dform override. |
| |
| 2016-07-13 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| Backport from mainline r238086. |
| 2016-07-07 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| PR ipa/71624 |
| * ipa-inline-analysis.c (compute_inline_parameters): Set |
| local.can_change_signature to false for intrumentation |
| thunk callees. |
| |
| 2016-07-12 Michael Meissner <meissner@linux.vnet.ibm.com> |
| Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-07-05 Michael Meissner <meissner@linux.vnet.ibm.com> |
| Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000-protos.h (rs6000_split_signbit): New |
| prototype. |
| * config/rs6000/rs6000.c (rs6000_split_signbit): New function. |
| * config/rs6000/rs6000.md (UNSPEC_SIGNBIT): New constant. |
| (SIGNBIT): New mode iterator. |
| (Fsignbit): New mode attribute. |
| (signbit<mode>2): Change operand1 to match FLOAT128 instead of |
| IBM128; dispatch to gen_signbit{kf,tf}2_dm for __float128 |
| when direct moves are available. |
| (signbit<mode>2_dm): New define_insn_and_split). |
| (signbit<mode>2_dm2): New define_insn. |
| |
| 2016-07-12 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-07-12 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/71805 |
| * config/rs6000/altivec.md (altivec_vperm_<mode>_internal): |
| The xxperm and xxpermr instructions require that the 2nd input |
| operand overlap with the output operand, and not the 1st. |
| (altivec_vperm_v8hiv16qi): Likewise. |
| (altivec_vperm_<mode>_uns_internal): Likewise. |
| (altivec_vpermr_<mode>_internal): Likewise. |
| (vperm_v8hiv4si): Likewise. |
| (vperm_v16qiv8hi): Likewise. |
| |
| 2016-07-12 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from mainline |
| 2016-07-06 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/70098 |
| PR target/71763 |
| * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2, |
| *ctr<mode>_internal5, *ctr<mode>_internal6): Add *wi to the output |
| constraint. |
| |
| 2016-07-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/71758 |
| * omp-low.c (expand_omp_target): Gimplify device. |
| |
| PR tree-optimization/71823 |
| * tree-vect-stmts.c (vectorizable_operation): Use vect_get_vec_defs |
| to get vec_oprnds2 from op2. |
| |
| 2016-07-11 Yuri Rumyantsev <ysrumyan@gmail.com> |
| |
| Backport from mainline r238055. |
| 2016-07-06 Yuri Rumyantsev <ysrumyan@gmail.com> |
| |
| PR tree-optimization/71518 |
| * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust |
| misalign also for outer loops with negative step. |
| |
| 2016-07-08 Martin Liska <mliska@suse.cz> |
| |
| Backported from mainline |
| 2016-07-08 Martin Liska <mliska@suse.cz> |
| |
| PR middle-end/71606 |
| * fold-const.c (fold_convertible_p): As COMPLEX_TYPE |
| folding produces SAVE_EXPRs, thus return false for the type. |
| |
| 2016-07-08 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| * config/rs6000/rs6000-builtin.def (BU_P9_MISC_1): Remove |
| redundant and erroneous definition of this macro accidentally |
| inserted during backporting. |
| (BU_P9_64BIT_MISC_0): Likewise. |
| (BU_P9_MISC_0): Likewise. |
| |
| 2016-07-08 Jiong Wang <jiong.wang@arm.com> |
| |
| Back port from the trunk |
| 2016-07-08 Jiong Wang <jiong.wang@arm.com> |
| |
| * config/aarch64/aarch64-simd-builtins.def (smax): Remove float |
| variants. |
| (smin): Likewise. |
| (fmax): New entry. |
| (fmin): Likewise. |
| * config/aarch64/arm_neon.h (vmaxnm_f32): Use |
| __builtin_aarch64_fmaxv2sf. |
| (vmaxnmq_f32): Likewise. |
| (vmaxnmq_f64): Likewise. |
| (vminnm_f32): Likewise. |
| (vminnmq_f32): Likewise. |
| (vminnmq_f64): Likewise. |
| |
| 2016-07-08 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from trunk |
| 2016-07-08 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/71806 |
| * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Do not |
| enable -mfloat128-hardware by default. |
| (ISA_3_0_MASKS_IEEE): New macro to give all of the VSX options |
| that IEEE 128-bit hardware support needs. |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): If |
| -mcpu=power9 -mfloat128, enable -mfloat128-hardware by default. |
| Use ISA_3_0_MASKS_IEEE as the set of options that IEEE 128-bit |
| floating point requires. |
| * doc/invoke.texi (RS/6000 and PowerPC Options): Document |
| -mfloat128 and -mfloat128-hardware changes. |
| |
| 2016-07-08 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| Backport from mainline r237912 |
| 2016-07-01 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| * config/rs6000/altivec.md (*altivec_vpermr_<mode>_internal): |
| Exchange the order of the second and third operands in the vpermr |
| instruction tmeplate. |
| |
| 2016-07-07 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from the trunk |
| 2016-07-01 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/71720 |
| * config/rs6000/vsx.md (vsx_splat_v4sf_internal): When splitting |
| the insns, use an insn form that does not adjust the offset on |
| little endian systems. |
| |
| 2016-07-07 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| Backport from mainline r237885 |
| 2016-06-30 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| * config/rs6000/altivec.md (darn_32): Change the condition to |
| TARGET_P9_MISC instead of TARGET_MODULO. |
| (darn_raw): Replace TARGET_MODULO with TARGET_P9_MISC in the |
| condition expression. |
| (darn): Replace TARGET_MODULO with TARGET_P9_MISC in the |
| condition expression. |
| * config/rs6000/dfp.md (UNSPEC_DTSTSFI): New unspec constant. |
| (DFP_TEST): New code iterator. |
| (dfptstsfi_<code>_mode>): New define_expand. |
| (*dfp_sgnfcnc_<mode>): New define_insn. |
| * config/rs6000/rs6000-builtin.def (BU_P9_MISC_0): Move this macro |
| definition next to BU_P9_MISC_1 definition and change the MASK |
| value to RS6000_BTM_P9_MISC. |
| (BU_P9_MISC_1): Change the MASK value to RS6000_BTM_P9_MISC. |
| (BU_P9_64BIT_MISC_0): Likewise. |
| (BU_P9_DFP_MISC_0): New macro definition. |
| (BU_P9_DFP_MISC_1): New macro definition. |
| (BU_P9_DFP_MISC_2): New macro definition. |
| (BU_P9_DFP_OVERLOAD_1): New macro definition. |
| (BU_P9_DFP_OVERLOAD_2): New macro definition. |
| (BU_P9_DFP_OVERLOAD_3): New macro definition. |
| (TSTSFI_LT_DD): New BU_P9_DFP_MISC_2. |
| (TSTSFI_LT_TD): Likewise. |
| (TSTSFI_EQ_DD): Likewise. |
| (TSTSFI_EQ_TD): Likewise. |
| (TSTSFI_GT_DD): Likewise. |
| (TSTSFI_GT_TD): Likewise. |
| (TSTSFI_OV_DD): Likewise. |
| (TSTSFI_OV_TD): Likewise. |
| (TSTSFI_LT): New BU_P9_DFP_OVERLOAD_2. |
| (TSTSFI_LT_DD): Likewise. |
| (TSTSFI_LT_TD): Likewise. |
| (TSTSFI_EQ): Likewise. |
| (TSTSFI_EQ_DD): Likewise. |
| (TSTSFI_EQ_TD): Likewise. |
| (TSTSFI_GT): Likewise. |
| (TSTSFI_GT_DD): Likewise. |
| (TSTSFI_GT_TD): Likewise. |
| (TSTSFI_OV): Likewise. |
| (TSTSFI_OV_DD): Likewise. |
| (TSTSFI_OV_TD): Likewise. |
| * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add |
| overloaded test significance functions. |
| * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add |
| OPTION_MASK_P9_MISC into the representation of this mask. |
| (POWERPC_MASKS): Add OPTION_MASK_P9_MISC into the representation |
| of this mask. |
| * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Set the |
| RS6000_BTM_P9_MISC flag in the return value if TARGET_P9_MISC is |
| non-zero. |
| (rs6000_expand_binop_builtin): Enforce that argument 0 of the exp |
| argument is a 6-bit unsigned literal value if the icode argument |
| represents a DFP test significance built-in call. |
| (rs6000_invalid_builtin): Add support for the RS6000_BTM_P9_MISC |
| flag used independently and in combination with the |
| RS6000_BTM_64BIT flag. |
| (rs6000_opt_masks): Add entry for power9-misc command-line option. |
| (rs6000_builtin_mask_names): Add entry for power9-misc |
| command-line option. |
| * config/rs6000/rs6000.h: Redefine TARGET_P9_MISC as 0 if |
| HAVE_AS_POWER9 is not a defined macro. Define MASK_P9_MISC and |
| RS6000_BTM_P9_MISC macros. |
| * config/rs6000/rs6000.opt: Add support for the -mpower9-misc |
| option and change the description of the -mpower9-vector option to |
| enable only vector instructions, removing its erroneously claimed |
| support for scalar instructions. |
| * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document |
| the ISA 3.0 digital floating point test significance built-in |
| functions. |
| |
| 2016-07-07 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-06-13 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/64516 |
| * fold-const.c (fold_unary_loc): Preserve alignment when |
| folding a VIEW_CONVERT_EXPR into a MEM_REF. |
| |
| 2016-07-07 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-05-25 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/71264 |
| * tree-vect-stmts.c (vect_init_vector): Properly deal with |
| vector type val. |
| |
| 2016-06-07 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/71423 |
| * match.pd ((X | ~Y) -> Y <= X): Properly invert the comparison |
| for signed ops. |
| |
| 2016-06-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/71521 |
| * tree-vrp.c (extract_range_from_binary_expr_1): Guard |
| division int_const_binop against zero divisor. |
| |
| 2016-06-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/71452 |
| * tree-ssa.c (non_rewritable_lvalue_p): Make sure that the |
| type used for the SSA rewrite has enough precision to cover |
| the dynamic type of the location. |
| |
| 2016-06-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/71522 |
| * tree-ssa.c (non_rewritable_lvalue_p): Do not rewrite non-float |
| copying into float copying. |
| |
| 2016-07-06 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> |
| |
| Backport from mainline |
| 2016-07-06 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> |
| |
| PR target/50739 |
| * config/avr/avr.c (avr_asm_select_section): Strip off |
| SECTION_DECLARED from flags when calling get_section. |
| |
| 2016-07-05 Pat Haugen <pthaugen@us.ibm.com> |
| |
| Backport from mainline |
| 2016-06-28 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * config/rs6000/rs6000.md ('type' attribute): Add htmsimple/dfp types. |
| ('size' attribute): Add '128'. |
| Include power9.md. |
| (*mov<mode>_hardfloat32, *mov<mode>_hardfloat64, *movdi_internal32, |
| *movdi_internal64, *movdf_update1): Set size attribute to '64'. |
| (add<mode>3, sub<mode>3, mul<mode>3, div<mode>3, sqrt<mode>2, |
| copysign<mode>3, neg<mode>2_hw, abs<mode>2_hw, *nabs<mode>2_hw, |
| *fma<mode>4_hw, *fms<mode>4_hw, *nfma<mode>4_hw, *nfms<mode>4_hw, |
| extend<SFDF:mode><IEEE128:mode>2_hw, trunc<mode>df2_hw, |
| *xscvqp<su>wz_<mode>, *xscvqp<su>dz_<mode>, *xscv<su>dqp_<mode>, |
| *trunc<mode>df2_odd): Set size attribute to '128'. |
| (*cmp<mode>_hw): Change type to veccmp and set size attribute to '128'. |
| * config/rs6000/power6.md (power6-fp): Include dfp type. |
| * config/rs6000/power7.md (power7-fp): Likewise. |
| * config/rs6000/power8.md (power8-fp): Likewise. |
| * config/rs6000/power9.md: New file. |
| * config/rs6000/t-rs6000 (MD_INCLUDES): Add power9.md. |
| * config/rs6000/htm.md (*tabort, *tabort<wd>c, *tabort<wd>ci, |
| *trechkpt, *treclaim, *tsr, *ttest): Change type attribute to |
| htmsimple. |
| * config/rs6000/dfp.md (extendsddd2, truncddsd2, extendddtd2, |
| trunctddd2, adddd3, addtd3, subdd3, subtd3, muldd3, multd3, divdd3, |
| divtd3, *cmpdd_internal1, *cmptd_internal1, floatdidd2, floatditd2, |
| ftruncdd2, fixdddi2, ftrunctd2, fixtddi2, dfp_ddedpd_<mode>, |
| dfp_denbcd_<mode>, dfp_dxex_<mode>, dfp_diex_<mode>, dfp_dscli_<mode>, |
| dfp_dscri_<mode>): Change type attribute to dfp. |
| * config/rs6000/crypto.md (crypto_vshasigma<CR_char>): Change type |
| attribute to vecsimple. |
| * config/rs6000/rs6000.c (power9_cost): Update costs, cache size |
| and prefetch streams. |
| (rs6000_option_override_internal): Remove temporary code setting |
| tuning to power8. Don't set rs6000_sched_groups for power9. |
| (last_scheduled_insn): Change to rtx_insn *. |
| (divide_cnt, vec_load_pendulum): New variables. |
| (rs6000_adjust_cost): Add Power9 to test for store->load separation. |
| (rs6000_issue_rate): Set issue rate for Power9. |
| (is_power9_pairable_vec_type): New. |
| (power9_sched_reorder2): New. |
| (rs6000_sched_reorder2): Call new function for Power9 specific |
| reordering. |
| (insn_must_be_first_in_group): Remove Power9. |
| (insn_must_be_last_in_group): Likewise. |
| (force_new_group): Likewise. |
| (rs6000_sched_init): Fix initialization of last_scheduled_insn. |
| Initialize divide_cnt/vec_load_pendulum. |
| (_rs6000_sched_context, rs6000_init_sched_context, |
| rs6000_set_sched_context): Handle context save/restore of new |
| variables. |
| |
| 2016-07-05 Pat Haugen <pthaugen@us.ibm.com> |
| |
| Backport from mainline |
| 2016-06-27 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * config/rs6000/rs6000.md ('type' attribute): Add |
| veclogical,veccmpfx,vecexts,vecmove insn types. |
| (*abs<mode>2_fpr, *nabs<mode>2_fpr, *neg<mode>2_fpr, *extendsfdf2_fpr, |
| copysign<mode>3_fcpsgn, trunc<mode>df2_internal1, neg<mode>2_internal, |
| p8_fmrgow_<mode>, pack<mode>): Change type to fpsimple. |
| (*xxsel<mode>, copysign<mode>3_hard, neg<mode>2_hw, abs<mode>2_hw, |
| *nabs<mode>2_hw): Change type to vecmove. |
| (*and<mode>3_internal, *bool<mode>3_internal, *boolc<mode>3_internal, |
| *boolcc<mode>3_internal, *eqv<mode>3_internal, |
| *one_cmpl<mode>3_internal, *ieee_128bit_vsx_neg<mode>2_internal, |
| *ieee_128bit_vsx_abs<mode>2_internal, |
| *ieee_128bit_vsx_nabs<mode>2_internal, extendkftf2, trunctfkf2, |
| *ieee128_mfvsrd_64bit, *ieee128_mfvsrd_32bit, *ieee128_mtvsrd_64bit, |
| *ieee128_mtvsrd_32bit): Change type to veclogical. |
| (mov<mode>_hardfloat, *mov<mode>_hardfloat32, *mov<mode>_hardfloat64, |
| *movdi_internal32, *movdi_internal64): Update insn types. |
| * config/rs6000/vsx.md (*vsx_le_undo_permute_<mode>, |
| vsx_extract_<mode>): Change type to veclogical. |
| (*vsx_xxsel<mode>, *vsx_xxsel<mode>_uns): Change type to vecmove. |
| (vsx_sign_extend_qi_<mode>, *vsx_sign_extend_hi_<mode>, |
| *vsx_sign_extend_si_v2di): Change type to vecexts. |
| * config/rs6000/altivec.md (*altivec_mov<mode>, *altivec_movti): Change |
| type to veclogical. |
| (*altivec_eq<mode>, *altivec_gt<mode>, *altivec_gtu<mode>, |
| *altivec_vcmpequ<VI_char>_p, *altivec_vcmpgts<VI_char>_p, |
| *altivec_vcmpgtu<VI_char>_p): Change type to veccmpfx. |
| (*altivec_vsel<mode>, *altivec_vsel<mode>_uns): Change type to vecmove. |
| * config/rs6000/dfp.md (*negdd2_fpr, *absdd2_fpr, *nabsdd2_fpr, |
| negtd2, *abstd2_fpr, *nabstd2_fpr): Change type to fpsimple. |
| * config/rs6000/40x.md (ppc405-float): Add fpsimple. |
| * config/rs6000/440.md (ppc440-fp): Add fpsimple. |
| * config/rs6000/476.md (ppc476-fp): Add fpsimple. |
| * config/rs6000/601.md (ppc601-fp): Add fpsimple. |
| * config/rs6000/603.md (ppc603-fp): Add fpsimple. |
| * config/rs6000/6xx.md (ppc604-fp): Add fpsimple. |
| * config/rs6000/7xx.md (ppc750-fp): Add fpsimple. |
| (ppc7400-vecsimple): Add veclogical, vecmove, veccmpfx. |
| * config/rs6000/7450.md (ppc7450-fp): Add fpsimple. |
| (ppc7450-vecsimple): Add veclogical, vecmove. |
| (ppc7450-veccmp): Add veccmpfx. |
| * config/rs6000/8540.md (ppc8540_simple_vector): Add veclogical, |
| vecmove. |
| (ppc8540_vector_compare): Add veccmpfx. |
| * config/rs6000/a2.md (ppca2-fp): Add fpsimple. |
| * config/rs6000/cell.md (cell-fp): Add fpsimple. |
| (cell-vecsimple): Add veclogical, vecmove. |
| (cell-veccmp): Add veccmpfx. |
| * config/rs6000/e300c2c3.md (ppce300c3_fp): Add fpsimple. |
| * config/rs6000/e6500.md (e6500_vecsimple): Add veclogical, vecmove, |
| veccmpfx. |
| * config/rs6000/mpc.md (mpccore-fp): Add fpsimple. |
| * config/rs6000/power4.md (power4-fp): Add fpsimple. |
| (power4-vecsimple): Add veclogical, vecmove. |
| (power4-veccmp): Add veccmpfx. |
| * config/rs6000/power5.md (power5-fp): Add fpsimple. |
| * config/rs6000/power6.md (power6-fp): Add fpsimple. |
| (power6-vecsimple): Add veclogical, vecmove. |
| (power6-veccmp): Add veccmpfx. |
| * config/rs6000/power7.md (power7-fp): Add fpsimple. |
| (power7-vecsimple): Add veclogical, vecmove, veccmpfx. |
| * config/rs6000/power8.md (power8-fp): Add fpsimple. |
| (power8-vecsimple): Add veclogical, vecmove, veccmpfx. |
| * config/rs6000/rs64.md (rs64a-fp): Add fpsimple. |
| * config/rs6000/titan.md (titan_fp): Add fpsimple. |
| * config/rs6000/xfpu.md (fp-default, fp-addsub-s, fp-addsub-d): Add |
| fpsimple. |
| * config/rs6000/rs6000.c (rs6000_adjust_cost): Add TYPE_FPSIMPLE. |
| |
| 2016-07-05 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| Backport from mainline r237391 |
| 2016-06-13 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| * config/rs6000/rs6000.h (RS6000_BTM_COMMON): Add the |
| RS6000_BTM_MODULO flag into the set of flags that are considered |
| to be part of the common configuration. |
| |
| 2016-07-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/71739 |
| * tree.c (attribute_value_equal): Use get_attribute_name instead of |
| directly using TREE_PURPOSE. |
| |
| 2016-07-04 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from mainline |
| 2016-06-27 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/71670 |
| * config/rs6000/rs6000.md (ashdi3_extswsli_dot): Use |
| gen_ashdi3_extswsli_dot2 instead of gen_ashdi3_extswsli_dot. |
| |
| 2016-07-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2016-06-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/71626 |
| * config/i386/i386.c (ix86_expand_vector_move): For SUBREG of |
| a constant, force its SUBREG_REG into memory or register instead |
| of whole op1. |
| |
| 2016-06-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/71559 |
| * config/i386/i386.c (ix86_fp_cmp_code_to_pcmp_immediate): Fix up |
| returned values and add UN*/LTGT/*ORDERED cases with values matching |
| D operand modifier on vcmp for AVX. |
| |
| 2016-07-01 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| Backport from trunk r237659 |
| 2016-06-21 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| * config/rs6000/rs6000.h: Add conditional preprocessing directives |
| to disable Power9-specific compiler features if HAVE_AS_POWER9 is |
| not defined. |
| |
| 2016-07-01 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from trunk |
| 2016-06-27 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/71656 |
| * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add |
| OPTION_MASK_P9_DFORM_VECTOR. |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Do not |
| disable -mpower9-dform-vector when using reload. |
| (quad_address_p): Remove 'gpr_p' argument and all associated code. |
| New 'strict' argument. Update all callers. Add strict addressing |
| support. |
| (rs6000_legitimate_offset_address_p): Remove call to |
| virtual_stack_registers_memory_p. |
| (rs6000_legitimize_reload_address): Add quad address support. |
| (rs6000_legitimate_address_p): Move call to quad_address_p above |
| call to virtual_stack_registers_memory_p. Adjust quad_address_p args |
| to account for new strict usage. |
| (rs6000_output_move_128bit): Adjust quad_address_p args to account |
| for new strict usage. |
| * config/rs6000/predicates.md (quad_memory_operand): Likewise. |
| |
| 2016-07-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-06-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): New #define. |
| (BU_FLOAT128_1): Likewise. |
| (FABSQ): Likewise. |
| (COPYSIGNQ): Likewise. |
| (RS6000_BUILTIN_NANQ): Likewise. |
| (RS6000_BUILTIN_NANSQ): Likewise. |
| (RS6000_BUILTIN_INFQ): Likewise. |
| (RS6000_BUILTIN_HUGE_VALQ): Likewise. |
| * config/rs6000/rs6000.c (rs6000_fold_builtin): New prototype. |
| (TARGET_FOLD_BUILTIN): New #define. |
| (rs6000_builtin_mask_calculate): Add TARGET_FLOAT128 entry. |
| (rs6000_invalid_builtin): Add handling for RS6000_BTM_FLOAT128. |
| (rs6000_fold_builtin): New target hook implementation, handling |
| folding of 128-bit NaNs and infinities. |
| (rs6000_init_builtins): Initialize const_str_type_node; ensure all |
| entries are filled in to avoid problems during bootstrap |
| self-test; define builtins for 128-bit NaNs and infinities. |
| (rs6000_opt_mask): Add entry for float128. |
| * config/rs6000/rs6000.h (RS6000_BTM_FLOAT128): New #define. |
| (RS6000_BTM_COMMON): Include RS6000_BTM_FLOAT128. |
| (rs6000_builtin_type_index): Add RS6000_BTI_const_str. |
| (const_str_type_node): New #define. |
| * config/rs6000/rs6000.md (copysign<mode>3 for IEEE128): Convert |
| to a define_expand that dispatches to either copysign<mode>3_soft |
| or copysign<mode>3_hard. |
| (copysign<mode>3_hard): Rename from copysign<mode>3. |
| (copysign<mode>3_soft): New define_insn. |
| * doc/extend.texi: Document new builtins. |
| |
| 2016-07-01 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from trunk |
| 2016-07-01 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/71698 |
| * config/rs6000/rs6000.c (rs6000_secondary_reload_simple_move): Disallow |
| TDmode values. |
| |
| 2016-07-01 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| Backport from trunk r236992 |
| 2016-06-01 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| * config/rs6000/altivec.h (vec_slv): New macro. |
| (vec_srv): New macro. |
| * config/rs6000/altivec.md (UNSPEC_VSLV): New value. |
| (UNSPEC_VSRV): New value. |
| (vslv): New insn. |
| (vsrv): New insn. |
| * config/rs6000/rs6000-builtin.def (vslv): New builtin definition. |
| (vsrv): New builtin definition. |
| * config/rs6000/rs6000-c.c (P9V_BUILTIN_VSLV): Macro expansion to |
| define argument types for new builtin. |
| (P9V_BUILTIN_VSRV): Macro expansion to define argument types for |
| new builtin. |
| * doc/extend.texi: Document the new vec_vslv and vec_srv built-in |
| functions. |
| |
| 2016-07-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/arm/arm.c (arm_function_ok_for_sibcall): Add another check |
| for NULL decl. |
| |
| 2016-06-30 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| Backport from trunk r237390 |
| 2016-06-13 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| * config/rs6000/altivec.h (vec_absd): New macro for vector absolute |
| difference unsigned. |
| (vec_absdb): New macro for vector absolute difference unsigned |
| byte. |
| (vec_absdh): New macro for vector absolute difference unsigned |
| half-word. |
| (vec_absdw): New macro for vector absolute difference unsigned word. |
| * config/rs6000/altivec.md (UNSPEC_VADU): New value. |
| (vadu<mode>3): New insn. |
| (*p9_vadu<mode>3): New insn. |
| * config/rs6000/rs6000-builtin.def (vadub): New built-in |
| definition. |
| (vaduh): New built-in definition. |
| (vaduw): New built-in definition. |
| (vadu): New overloaded built-in definition. |
| (vadub): New overloaded built-in definition. |
| (vaduh): New overloaded built-in definition. |
| (vaduw): New overloaded built-in definition. |
| * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add |
| overloaded vector absolute difference unsigned functions. |
| * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document |
| the ISA 3.0 vector absolute difference unsigned built-in functions. |
| |
| 2016-06-30 David Malcolm <dmalcolm@redhat.com> |
| |
| Backport from trunk r237880. |
| 2016-06-30 David Malcolm <dmalcolm@redhat.com> |
| |
| PR driver/71651 |
| * gcc.c (driver::build_option_suggestions): Pass "option" to |
| add_misspelling_candidates. |
| * opts-common.c (add_misspelling_candidates): Add "option" param; |
| use it to avoid adding negated forms for options marked with |
| RejectNegative. |
| * opts.h (add_misspelling_candidates): Add "option" param. |
| |
| 2016-06-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/71693 |
| * fold-const.c (fold_binary_loc) <case RROTATE_EXPR>: Cast |
| TREE_OPERAND (arg0, 0) and TREE_OPERAND (arg0, 1) to type |
| first when permuting bitwise operation with rotate. Cast |
| TREE_OPERAND (arg0, 0) to type when cancelling two rotations. |
| |
| 2016-06-30 Martin Liska <mliska@suse.cz> |
| |
| Parting backport from mainline |
| 2016-06-29 Martin Liska <mliska@suse.cz> |
| |
| * ipa-inline-transform.c (inline_call): Remove unnecessary call |
| of build_optimization_node. |
| |
| 2016-06-29 Eric Botcazou <ebotcazou@adacore.com> |
| |
| Backport from mainline |
| 2016-06-09 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * df-problems.c (df_note_bb_compute): Guard use of DF_INSN_INFO_GET. |
| |
| 2016-06-27 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from trunk |
| 2016-06-21 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * stor-layout.c (layout_type): Move setting complex MODE to |
| layout_type, instead of setting it ahead of time by the caller. |
| |
| Back port from trunk |
| 2016-05-11 Alan Modra <amodra@gmail.com> |
| |
| * config/rs6000/rs6000.c (is_complex_IBM_long_double, |
| abi_v4_pass_in_fpr): New functions. |
| (rs6000_function_arg_boundary): Exclude complex IBM long double |
| from 64-bit alignment when ABI_V4. |
| (rs6000_function_arg, rs6000_function_arg_advance_1, |
| rs6000_gimplify_va_arg): Use abi_v4_pass_in_fpr. |
| |
| Back port from trunk |
| 2016-05-02 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * machmode.h (mode_complex): Add support to give the complex mode |
| for a given mode. |
| (GET_MODE_COMPLEX_MODE): Likewise. |
| * stor-layout.c (layout_type): For COMPLEX_TYPE, use the mode |
| stored by build_complex_type and gfc_build_complex_type instead of |
| trying to figure out the appropriate mode based on the size. Raise |
| an assertion error, if the type was not set. |
| * genmodes.c (struct mode_data): Add field for the complex type of |
| the given type. |
| (blank_mode): Likewise. |
| (make_complex_modes): Remember the complex mode created in the |
| base type. |
| (emit_mode_complex): Write out the mode_complex array to map a |
| type mode to the complex version. |
| (emit_insn_modes_c): Likewise. |
| * tree.c (build_complex_type): Set the complex type to use before |
| calling layout_type. |
| * config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Add |
| support for __float128 complex datatypes. |
| (rs6000_hard_regno_mode_ok): Likewise. |
| (rs6000_setup_reg_addr_masks): Likewise. |
| (rs6000_complex_function_value): Likewise. |
| * config/rs6000/rs6000.h (FLOAT128_IEEE_P): Likewise. |
| __float128 and __ibm128 complex. |
| (FLOAT128_IBM_P): Likewise. |
| (ALTIVEC_ARG_MAX_RETURN): Likewise. |
| * doc/extend.texi (Additional Floating Types): Document that |
| -mfloat128 must be used to enable __float128. Document complex |
| __float128 and __ibm128 support. |
| |
| 2016-06-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/71647 |
| * omp-low.c (lower_rec_input_clauses): Convert |
| omp_clause_aligned_alignment (c) to size_type_node for the |
| last argument of __builtin_assume_aligned. |
| |
| 2016-06-22 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * function.c (assign_parm_setup_reg): Prevent sharing in another case. |
| |
| 2016-06-21 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2016-06-21 trunk r237639. |
| |
| PR target/30417 |
| * config/avr/gen-avr-mmcu-specs.c (print_mcu): |
| [*link_data_start]: Wrap -Tdata into %{!Tdata:...}. |
| [*link_text_start]: Wrap -Ttext into %{!Ttext:...}. |
| |
| 2016-06-21 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/71103 |
| * config/avr/avr.md (movqi): Only handle loading subreg:qi of |
| constant addresses if can_create_pseudo_p. |
| |
| 2016-06-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/71588 |
| * tree-ssa-strlen.c (valid_builtin_call): New function. |
| (adjust_last_stmt, handle_builtin_memset, strlen_optimize_stmt): Use |
| it. |
| |
| Backported from mainline |
| 2016-06-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/71581 |
| * tree-ssa-uninit.c (warn_uninit): If EXPR and VAR are NULL, |
| see if T isn't anonymous SSA_NAME with COMPLEX_EXPR created |
| for conversion of scalar user var to complex type and use the |
| underlying SSA_NAME_VAR in that case. If EXPR is still NULL, |
| punt. |
| |
| 2016-06-16 Jakub Jelinek <jakub@redhat.com> |
| |
| * gimplify.c (gimplify_scan_omp_clauses): Handle COMPONENT_REFs |
| with base of reference to struct. |
| |
| 2016-06-20 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| Backport from mainline r237484. |
| 2016-06-15 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| PR middle-end/71529 |
| * ipa-chkp.c (chkp_build_instrumented_fndecl): Fix |
| DECL_CONTEXT for copied arguments. |
| |
| 2016-06-20 Georg-Johann Lay <avr@gjlay.de> |
| Pitchumani Sivanupandi <pitchumani.s@atmel.com> |
| |
| Backport from 2016-06-20 trunk r237589, r236558. |
| |
| PR target/71103 |
| * config/avr/avr.md (movqi): Handle loading subreg:qi (const, |
| symbol_ref,label_ref). |
| |
| 2016-06-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/71554 |
| * config/i386/i386.md (setcc + movzbl peephole2): Use reg_set_p. |
| (setcc + and peephole2): Likewise. |
| |
| 2016-06-15 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| Backported from mainline |
| 2016-06-14 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * config/arm/freebsd.h: Only enable unaligned access for armv6 on |
| FreeBSD 11 and above. |
| |
| 2016-06-15 Ilya Verbin <ilya.verbin@intel.com> |
| |
| Backport from mainline |
| 2016-04-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * config/darwin.h (LINK_COMMAND_SPEC_A): Handle -fcilkplus. |
| |
| 2016-06-14 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2016-06-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/71494 |
| * tree-nested.c (convert_nonlocal_reference_stmt): For GIMPLE_GOTO |
| without LABEL_DECL, set *handled_ops_p to false instead of true. |
| |
| 2016-06-08 Jakub Jelinek <jakub@redhat.com> |
| Richard Biener <rguenther@suse.de> |
| |
| PR c++/71448 |
| * fold-const.c (fold_comparison): Handle CONSTANT_CLASS_P (base0) |
| the same as DECL_P (base0) for indirect_base0. Use equality_code |
| in one further place. |
| |
| 2016-06-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/71405 |
| * tree-ssa.c (execute_update_addresses_taken): For clobber with |
| incompatible type, build a new clobber with the right type instead |
| of building a VIEW_CONVERT_EXPR around it. |
| |
| 2016-06-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-ssa-sccvn.c (vn_reference_lookup_3): Use a uniform test and |
| update shared_lookup_references only once after changing operands. |
| |
| 2016-06-13 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/71505 |
| * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Make |
| assert match comment. |
| |
| 2016-06-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-06-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| PR target/71379 |
| * config/s390/s390.c (s390_expand_builtin): Increase MAX_ARGS by |
| one. |
| |
| 2016-06-10 Thomas Schwinge <thomas@codesourcery.com> |
| |
| PR middle-end/71373 |
| Backport from trunk r237291: |
| * tree-nested.c (convert_nonlocal_omp_clauses) |
| (convert_local_omp_clauses): Handle OMP_CLAUSE_ASYNC, |
| OMP_CLAUSE_WAIT, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO, |
| OMP_CLAUSE__CACHE_, OMP_CLAUSE_TILE. |
| |
| Backport from trunk r237291: |
| * gimplify.c (gimplify_adjust_omp_clauses): Discard |
| OMP_CLAUSE_TILE. |
| * omp-low.c (scan_sharing_clauses): Don't expect OMP_CLAUSE_TILE. |
| |
| Backport from trunk r237290: |
| * omp-low.c (scan_sharing_clauses): Don't expect |
| OMP_CLAUSE__CACHE_. |
| |
| Backport trunk r235964: |
| 2016-05-06 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * gimple.c (gimple_call_same_target_p): Unique functions are eq. |
| * tree-ssa-tail-merge.c (same_succ::equal): Check pointer eq |
| equality first. |
| |
| 2016-06-09 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from trunk |
| 2016-05-31 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/vsx.md (vsx_splat_<mode>, V2DI/V2DF): Simplify |
| alternatives, eliminating preferred register class. Add support |
| for the MTVSRDD instruction in ISA 3.0. |
| (vsx_splat_v4si_internal): Use splat_input_operand instead of |
| reg_or_indexed_operand. |
| (vsx_splat_v4sf_internal): Likewise. |
| |
| Back port from trunk |
| 2016-05-31 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/71186 |
| * config/rs6000/vsx.md (xxspltib_<mode>_nosplit): Add alternatives |
| for loading up all 0's or all 1's. |
| |
| Back port from trunk |
| 2016-05-18 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/70915 |
| * config/rs6000/constraints.md (wE constraint): New constraint |
| for a vector constant that can be loaded with XXSPLTIB. |
| (wM constraint): New constraint for a vector constant of a 1's. |
| (wS constraint): New constraint for a vector constant that can be |
| loaded with XXSPLTIB and a vector sign extend instruction. |
| * config/rs6000/predicates.md (xxspltib_constant_split): New |
| predicates for wE/wS constraints. |
| (xxspltib_constant_nosplit): Likewise. |
| (easy_vector_constant): Add support for constants that can be |
| loaded via XXSPLTIB. |
| (splat_input_operand): Add support for ISA 3.0 word splat operations. |
| * config/rs6000/rs6000.c (xxspltib_constant_p): New function to |
| return if a constant can be loaded with the ISA 3.0 XXSPLTIB |
| instruction and possibly with a sign extension. |
| (output_vec_const_move): Add support for XXSPLTIB. If we are |
| loading up 0/-1 into Altivec registers, prefer using VSPLTISW |
| instead of XXLXOR/XXLORC. |
| (rs6000_expand_vector_init): Add support for ISA 3.0 word splat |
| operations. |
| (rs6000_legitimize_reload_address): Likewise. |
| (rs6000_output_move_128bit): Use output_vec_const_move to emit |
| constants. |
| * config/rs6000/vsx.md (VSX_M): Add TImode (if -mvsx-timode) and |
| combine VSX_M and VSX_M2 into one iterator. |
| (VSX_M2): Likewise. |
| (VSINT_84): New iterators for loading constants with XXSPLTIB. |
| (VSINT_842): Likewise. |
| (UNSPEC_VSX_SIGN_EXTEND): New UNSPEC. |
| (xxspltib_v16qi): New insns to load up constants with the ISA 3.0 |
| XXSPLTIB instruction. |
| (xxspltib_<mode>_nosplit): Likewise. |
| (xxspltib_<mode>_split): New insn to load up constants with |
| XXSPLTIB and a sign extend instruction. |
| (vsx_mov<mode>): Replace single move that handled all vector types |
| with separate 32-bit and 64-bit moves. Combine the movti_<bit> |
| moves (when -mvsx-timode is in effect) into the main vector |
| moves. Eliminate separate moves for <VSr> <VSa>, where the |
| preferred register class (<VSr>) is listed first, and the |
| secondary register class (<VSa>) is listed second with a '?' to |
| discourage use. Prefer loading 0/-1 in any VSX register for ISA |
| 3.0, and Altivec registers for ISA 2.06/2.07 (PR target/70915) so |
| that if the register was involved in a slow operation, the |
| clear/set operation does not wait for the slow operation to |
| finish. Adjust the length attributes for 32-bit mode. Use |
| rs6000_output_move_128bit and drop the use of the string |
| instructions for 32-bit movti when -mvsx-timode is in effect. Use |
| spacing so that the alternatives and attributes don't generate |
| long lines, and put things in columns, so that it is easier to |
| match up the operands and attributes with the insn alternatives. |
| (vsx_mov<mode>_64bit): Likewise. |
| (vsx_mov<mode>_32bit): Likewise. |
| (vsx_movti_64bit): Fold movti into normal vector moves. |
| (vsx_movti_32bit): Likewise. |
| (vsx_splat_<mode>, V4SI/V4SF modes): Add support for ISA 3.0 word |
| splat instructions. |
| (vsx_splat_v4si_internal): Likewise. |
| (vsx_splat_v4sf_internal): Likewise. |
| (vector fusion peepholes): Use VSX_M instead of VSX_M2. |
| (vsx_sign_extend_qi_<mode>): New ISA 3.0 instructions to sign |
| extend vector elements. |
| (vsx_sign_extend_hi_<mode>): Likewise. |
| (vsx_sign_extend_si_v2di): Likewise. |
| * config/rs6000/rs6000-protos.h (xxspltib_constant_p): Add |
| declaration. |
| * doc/md.texi (PowerPC constraints): Document the wE, wM, and wS |
| constraints. Add trailing period to wL documentation. |
| |
| 2016-06-08 Jose E. Marchesi <jose.marchesi@oracle.com> |
| |
| Backport from mainline |
| 2016-06-08 Jose E. Marchesi <jose.marchesi@oracle.com> |
| |
| * config/sparc/driver-sparc.c (cpu_names): Fix the entry for the |
| SPARC-M7 and add an entry for SPARC-S7 cpus (Sonoma). |
| |
| 2016-06-08 Eric Botcazou <ebotcazou@adacore.com> |
| |
| Backport from mainline |
| 2016-06-06 Jose E. Marchesi <jose.marchesi@oracle.com> |
| |
| * config/sparc/sparc.md (cpu): Add niagara7 cpu type. |
| Include the M7 SPARC DFA scheduler. |
| New attribute v3pipe. |
| Annotate insns with v3pipe where appropriate. |
| Define cpu_feature vis4. |
| Add lzd instruction type and set it on clzdi_sp64 and clzsi_sp64. |
| Add (V8QI "8") to vbits. |
| Add insns {add,sub}v8qi3 |
| Add insns ss{add,sub}v8qi3 |
| Add insns us{add,sub}{v8qi,v4hi}3 |
| Add insns {min,max}{v8qi,v4hi,v2si}3 |
| Add insns {minu,maxu}{v8qi,v4hi,v2si}3 |
| Add insns fpcmp{le,gt,ule,ug,ule,ugt}{8,16,32}_vis. |
| * config/sparc/niagara4.md: Add a comment explaining the |
| discrepancy between the documented latenty numbers and the |
| implemented ones. |
| * config/sparc/niagara7.md: New file. |
| * configure.ac (HAVE_AS_SPARC5_VIS4): Define if the assembler |
| supports SPARC5 and VIS 4.0 instructions. |
| * configure: Regenerate. |
| * config.in: Likewise. |
| * config.gcc: niagara7 is a supported cpu in sparc*-*-* targets. |
| * config/sparc/sol2.h (ASM_CPU32_DEFAUILT_SPEC): Set for |
| TARGET_CPU_niagara7. |
| (ASM_CPU64_DEFAULT_SPEC): Likewise. |
| (CPP_CPU_SPEC): Handle niagara7. |
| (ASM_CPU_SPEC): Likewise. |
| * config/sparc/sparc-opts.h (processor_type): Add |
| PROCESSOR_NIAGARA7. |
| (mvis4): New option. |
| * config/sparc/sparc.h (TARGET_CPU_niagara7): Define. |
| (AS_NIAGARA7_FLAG): Define. |
| (ASM_CPU64_DEFAULT_SPEC): Set for niagara7. |
| (CPP_CPU64_DEFAULT_SPEC): Likewise. |
| (CPP_CPU_SPEC): Handle niagara7. |
| (ASM_CPU_SPEC): Likewise. |
| * config/sparc/sparc.c (niagara7_costs): Define. |
| (sparc_option_override): Handle niagara7 and adjust cache-related |
| parameters with better values for niagara cpus. Also support VIS4. |
| (sparc32_initialize_trampoline): Likewise. |
| (sparc_use_sched_lookahead): Likewise. |
| (sparc_issue_rate): Likewise. |
| (sparc_register_move_cost): Likewise. |
| (dump_target_flag_bits): Support VIS4. |
| (sparc_vis_init_builtins): Likewise. |
| (sparc_builtins): Likewise. |
| * config/sparc/sparc-c.c (sparc_target_macros): Define __VIS__ for |
| VIS4 4.0. |
| * config/sparc/driver-sparc.c (cpu_names): Add SPARC-M7 and |
| UltraSparc M7. |
| * config/sparc/sparc.opt (sparc_processor_type): New value |
| niagara7. |
| * config/sparc/visintrin.h (__attribute__): Prototypes for the |
| VIS4 builtins. |
| * doc/invoke.texi (SPARC Options): Document -mcpu=niagara7 and |
| -mvis4. |
| * doc/extend.texi (SPARC VIS Built-in Functions): Document the |
| VIS4 builtins. |
| |
| 2016-05-30 Jose E. Marchesi <jose.marchesi@oracle.com> |
| |
| * config.gcc (sparc*-*-*): Support cpu_32, cpu_64, tune_32 and |
| tune_64. |
| * doc/install.texi (--with-cpu-32, --with-cpu-64): Document |
| support on SPARC. |
| * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Add entries for |
| cpu_32, cpu_64, tune_32 and tune_64. |
| * config/sparc/sol2.h (OPTION_DEFAULT_SPECS): Likewise. |
| |
| 2016-06-08 Ilya Verbin <ilya.verbin@intel.com> |
| |
| Backport from mainline |
| 2016-05-25 Ilya Verbin <ilya.verbin@intel.com> |
| |
| * config/i386/i386-builtin-types.def: Add V16SI_FTYPE_V16SF, |
| V8DF_FTYPE_V8DF_ROUND, V16SF_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF_ROUND. |
| * config/i386/i386.c (enum ix86_builtins): Add |
| IX86_BUILTIN_CVTPS2DQ512_MASK, IX86_BUILTIN_FLOORPS512, |
| IX86_BUILTIN_FLOORPD512, IX86_BUILTIN_CEILPS512, IX86_BUILTIN_CEILPD512, |
| IX86_BUILTIN_TRUNCPS512, IX86_BUILTIN_TRUNCPD512, |
| IX86_BUILTIN_CVTPS2DQ512, IX86_BUILTIN_VEC_PACK_SFIX512, |
| IX86_BUILTIN_FLOORPS_SFIX512, IX86_BUILTIN_CEILPS_SFIX512, |
| IX86_BUILTIN_ROUNDPS_AZ_SFIX512. |
| (builtin_description bdesc_args): Add __builtin_ia32_floorps512, |
| __builtin_ia32_ceilps512, __builtin_ia32_truncps512, |
| __builtin_ia32_floorpd512, __builtin_ia32_ceilpd512, |
| __builtin_ia32_truncpd512, __builtin_ia32_cvtps2dq512, |
| __builtin_ia32_vec_pack_sfix512, __builtin_ia32_roundps_az_sfix512, |
| __builtin_ia32_floorps_sfix512, __builtin_ia32_ceilps_sfix512. |
| Change IX86_BUILTIN_CVTPS2DQ512 to IX86_BUILTIN_CVTPS2DQ512_MASK for |
| __builtin_ia32_cvtps2dq512_mask. |
| (ix86_expand_args_builtin): Handle V8DF_FTYPE_V8DF_ROUND, |
| V16SF_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF. |
| (ix86_builtin_vectorized_function): Handle builtins mentioned above. |
| * config/i386/sse.md |
| (<mask_codefor>avx512f_fix_notruncv16sfv16si<mask_name><round_name>): |
| Rename to ... |
| (avx512f_fix_notruncv16sfv16si<mask_name><round_name>): ... this. |
| (<mask_codefor>avx512f_cvtpd2dq512<mask_name><round_name>): Rename |
| to ... |
| (avx512f_cvtpd2dq512<mask_name><round_name>): ... this. |
| (avx512f_vec_pack_sfix_v8df): New define_expand. |
| (avx512f_roundpd512): Rename to ... |
| (avx512f_round<castmode>512): ... this. Change iterator. |
| (avx512f_roundps512_sfix): New define_expand. |
| (round<mode>2_sfix): Change iterator. |
| |
| 2016-06-07 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-06-07 Peter Bergner <bergner@vnet.ibm.com> |
| |
| * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mhtm and |
| -mno-htm. |
| |
| 2016-06-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/71389 |
| * config/i386/i386.c (ix86_avx256_split_vector_move_misalign): |
| Copy op1 RTX to avoid invalid sharing. |
| (ix86_expand_vector_move_misalign): Ditto. |
| |
| 2016-06-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/71259 |
| * tree-vect-slp.c (vect_get_constant_vectors): For |
| VECTOR_BOOLEAN_TYPE_P, return all ones constant instead of |
| one for constant op, and use COND_EXPR for non-constant. |
| |
| 2016-06-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from trunk |
| 2016-06-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/70830 |
| * config/arm/arm.c (arm_output_multireg_pop): Guard "pop" on update. |
| |
| 2016-06-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2016-06-01 Uros Bizjak <ubizjak@gmail.com> |
| Jocelyn Mayer <l_indien@magic.fr> |
| |
| PR target/67310 |
| * config/i386/driver-i386.c (host_detect_local_cpu): Correctly |
| detect processor family for signature_CENTAUR_ebx. |
| <case PROCESSOR_I486>: Pass c3, winchip2 or winchip-c6 for |
| signature_CENTAUR_ebx. |
| <case PROCESSOR _PENTIUMPRO>: Pass c3-2 for signature_CENTAUR_ebx. |
| <default>: Pass x86-64 for has_longmode. |
| |
| 2016-06-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/71387 |
| * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): If redirecting |
| to noreturn e->callee->decl that has void return type and void |
| arguments, adjust gimple_call_fntype and remove lhs even if it had |
| previously addressable type. |
| |
| 2016-06-02 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from trunk |
| 2016-05-26 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_emit_p9_fp_minmax): New function |
| for ISA 3.0 min/max support. |
| (rs6000_emit_p9_fp_cmove): New function for ISA 3.0 floating point |
| conditional move support. |
| (rs6000_emit_cmove): Call rs6000_emit_p9_fp_minmax and |
| rs6000_emit_p9_fp_cmove if the ISA 3.0 instructions are |
| available. |
| * config/rs6000/rs6000.md (SFDF2): New iterator to allow doing |
| conditional moves where the comparison type is different from move |
| type. |
| (fp_minmax): New code iterator for smin/smax. |
| (minmax): New code attributes for min/max. |
| (SMINMAX): Likewise. |
| (smax<mode>3): Combine min, max insns into one insn using the |
| fp_minmax code iterator. Add support for ISA 3.0 min/max |
| instructions that don't need -ffast-math. |
| (s<minmax><mode>3): Likewise. |
| (smax<mode>3_vsx): Likewise. |
| (smin<mode>3): Likewise. |
| (s<minmax><mode>3_vsx): Likewise. |
| (smin<mode>3_vsx): Likewise. |
| (pre-VSX min/max splitters): Likewise. |
| (s<minmax><mode>3_fpr): Likewise. |
| (movsfcc): Rewrite floating point conditional moves to combine |
| SFmode/DFmode into a single insn. |
| (mov<mode>cc): Likewise. |
| (movdfcc): Likewise. |
| (fselsfsf4): Combine FSEL cases into a single insn, using SFDF and |
| SFDF2 iterators to handle all combinations. |
| (fseldfsf4): Likewise. |
| (fsel<SFDF:mode><SFDF2:mode>4): Likewise. |
| (fseldfdf4): Likewise. |
| (fselsfdf4): Likewise. |
| (mov<SFDF:mode><SFDF2:mode>cc_p9): Add support for the ISA 3.0 |
| comparison instructions that set a 0/-1 mask, and use it for |
| floating point conditional move via XXSEL. |
| (fpmask<mode>): Likewise. |
| (xxsel<mode>): Likewise. |
| * config/rs6000/predicates.md (min_max_operator): Delete, no |
| longer used. |
| (fpmask_comparison_operaton): New insn for ISA 3.0 comparison |
| instructions that generate a 0/-1 mask for use with XXSEL. |
| * config/rs6000/rs6000.h (TARGET_MINMAX_SF): New helper macros to |
| say whether floating point min/max is available, either through |
| FSEL, ISA 2.06 min/max, and ISA 3.0 min/max instrucitons. |
| (TARGET_MINMAX_DF): Likewise. |
| |
| Back port from trunk |
| 2016-05-18 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/predicate.md (all_ones_constant): New predicate |
| for vector constant with all 1's set. |
| |
| 2016-06-02 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| Back port from trunk |
| 2016-05-19 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| * config/rs6000/altivec.md (UNSPEC_DARN): New unspec constant. |
| (UNSPEC_DARN_32): New unspec constant. |
| (UNSPEC_DARN_RAW): New unspec constant. |
| (darn_32): New instruction. |
| (darn_raw): New instruction. |
| (darn): New instruction. |
| * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_0): Add |
| support and documentation for this macro. |
| (BU_P9_MISC_1): New macro definition. |
| (BU_P9_64BIT_MISC_0): New macro definition. |
| (BU_P9_MISC_0): New macro definition. |
| (darn_32): New builtin definition. |
| (darn_raw): New builtin definition. |
| (darn): New builtin definition. |
| * config/rs6000/rs6000.c: Add #define RS6000_BUILTIN_0 and #undef |
| RS6000_BUILTIN_0 directives to surround each occurrence of |
| #include "rs6000-builtin.def". |
| (rs6000_builtin_mask_calculate): Add in the RS6000_BTM_MODULO and |
| RS6000_BTM_64BIT flags to the returned mask, depending on |
| configuration. |
| (def_builtin): Correct an error in the assignments made to the |
| debugging variable attr_string. |
| (rs6000_expand_builtin): Add support for no-operand built-in |
| functions. |
| (builtin_function_type): Remove fatal_error assertion that is no |
| longer valid. |
| (rs6000_common_init_builtins): Add support for no-operand built-in |
| functions. |
| * config/rs6000/rs6000.h (RS6000_BTM_MODULO): New macro |
| definition. |
| (RS6000_BTM_PURE): Enhance comment to clarify intent of this flag |
| definition. |
| (RS6000_BTM_64BIT): New macro definition. |
| * doc/extend.texi: Document __builtin_darn (void), |
| __builtin_darn_raw (void), and __builtin_darn_32 (void) built-in |
| functions. |
| |
| 2016-06-01 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from trunk |
| 2016-05-23 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/71201 |
| * config/rs6000/altivec.md (altivec_vperm_<mode>_internal): Drop |
| ISA 3.0 xxperm fusion alternative. |
| (altivec_vperm_v8hiv16qi): Likewise. |
| (altivec_vperm_<mode>_uns_internal): Likewise. |
| (vperm_v8hiv4si): Likewise. |
| (vperm_v16qiv8hi): Likewise. |
| |
| Back port from trunk |
| 2016-05-23 Michael Meissner <meissner@linux.vnet.ibm.com> |
| Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate |
| vpermr/xxpermr on ISA 3.0. |
| (altivec_expand_vec_perm_le): Likewise. |
| * config/rs6000/altivec.md (UNSPEC_VPERMR): New unspec. |
| (altivec_vpermr_<mode>_internal): Add VPERMR/XXPERMR support for |
| ISA 3.0. |
| |
| Back port from trunk |
| 2016-05-24 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/altivec.md (VParity): New mode iterator for vector |
| parity built-in functions. |
| (p9v_ctz<mode>2): Add support for ISA 3.0 vector count trailing |
| zeros. |
| (p9v_parity<mode>2): Likewise. |
| * config/rs6000/vector.md (VEC_IP): New mode iterator for vector |
| parity. |
| (ctz<mode>2): ISA 3.0 expander for vector count trailing zeros. |
| (parity<mode>2): ISA 3.0 expander for vector parity. |
| * config/rs6000/rs6000-builtin.def (BU_P9_MISC_1): New macros for |
| power9 built-ins. |
| (BU_P9_64BIT_MISC_0): Likewise. |
| (BU_P9_MISC_0): Likewise. |
| (BU_P9V_AV_1): Likewise. |
| (BU_P9V_AV_2): Likewise. |
| (BU_P9V_AV_3): Likewise. |
| (BU_P9V_AV_P): Likewise. |
| (BU_P9V_VSX_1): Likewise. |
| (BU_P9V_OVERLOAD_1): Likewise. |
| (BU_P9V_OVERLOAD_2): Likewise. |
| (BU_P9V_OVERLOAD_3): Likewise. |
| (VCTZB): Add vector count trailing zeros support. |
| (VCTZH): Likewise. |
| (VCTZW): Likewise. |
| (VCTZD): Likewise. |
| (VPRTYBD): Add vector parity support. |
| (VPRTYBQ): Likewise. |
| (VPRTYBW): Likewise. |
| (VCTZ): Add overloaded vector count trailing zeros support. |
| (VPRTYB): Add overloaded vector parity support. |
| * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add |
| overloaded vector count trailing zeros and parity instructions. |
| * config/rs6000/rs6000.md (wd mode attribute): Add V1TI and TI for |
| vector parity support. |
| * config/rs6000/altivec.h (vec_vctz): Add ISA 3.0 vector count |
| trailing zeros support. |
| (vec_cntlz): Likewise. |
| (vec_vctzb): Likewise. |
| (vec_vctzd): Likewise. |
| (vec_vctzh): Likewise. |
| (vec_vctzw): Likewise. |
| (vec_vprtyb): Add ISA 3.0 vector parity support. |
| (vec_vprtybd): Likewise. |
| (vec_vprtybw): Likewise. |
| (vec_vprtybq): Likewise. |
| * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document |
| the ISA 3.0 vector count trailing zeros and vector parity built-in |
| functions. |
| |
| Back port from trunk |
| 2016-05-24 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/altivec.md (VNEG iterator): New iterator for |
| VNEGW/VNEGD instructions. |
| (p9_neg<mode>2): New insns for ISA 3.0 VNEGW/VNEGD. |
| (neg<mode>2): Add expander for V2DImode added in ISA 2.07, and |
| support for ISA 3.0 VNEGW/VNEGD instructions. |
| |
| Back port from trunk |
| 2016-05-11 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/predicates.md (quad_memory_operand): Move most of |
| the code into quad_address_p and call it to share code with |
| vsx_quad_dform_memory_operand. |
| (vsx_quad_dform_memory_operand): New predicate for ISA 3.0 vector |
| d-form support. |
| * config/rs6000/rs6000.opt (-mlra): Switch to being an option mask |
| bit instead of being a separate word. Split -mpower9-dform into |
| two switches, -mpower9-dform-scalar and -mpower9-dform-vector. |
| * config/rs6000/rs6000.c (RELOAD_REG_QUAD_OFFSET): New addr_mask |
| for the register class supporting 128-bit quad word memory offsets. |
| (mode_supports_vsx_dform_quad): Helper function to return if the |
| register class uses quad word memory offsets. |
| (rs6000_debug_addr_mask): Add support for quad word memory offsets. |
| (rs6000_debug_reg_global): Always print if we are using LRA or not. |
| (rs6000_setup_reg_addr_masks): If ISA 3.0 vector d-form |
| instructions are enabled, set up the appropriate addr_masks for |
| 128-bit types. |
| (rs6000_init_hard_regno_mode_ok): wb constraint is now based on |
| -mpower9-dform-scalar, instead of -mpower9-dform. |
| (rs6000_option_override_internal): Split -mpower9-dform into two |
| switches, -mpower9-dform-scalar and -mpower9-dform-vector. The |
| -mpower9-dform switch sets or clears both. If we are not using |
| the LRA register allocator, do not enable -mpower9-dform-vector by |
| default. If we are using LRA, enable -mpower9-dform-vector and |
| -mvsx-timode if it is appropriate. Issue a warning if either |
| -mpower9-dform-vector or -mvsx-timode are explicitly used without |
| enabling LRA. |
| (quad_address_offset_p): New helper function to return if the |
| offset is legal for quad word memory instructions. |
| (quad_address_p): New function to determin if GPR or vector |
| register quad word memory addresses are legal. |
| (mem_operand_gpr): Validate quad word address offsets. |
| (reg_offset_addressing_ok_p): Add support for ISA 3.0 vector |
| d-form (register + offset) instructions. |
| (offsettable_ok_by_alignment): Likewise. |
| (rs6000_legitimate_offset_address_p): Likewise. |
| (legitimate_lo_sum_address_p): Likewise. |
| (rs6000_legitimize_address): Likewise. |
| (rs6000_legitimize_reload_address): Add more debug statements for |
| -mdebug=addr. |
| (rs6000_legitimate_address_p): Add support for ISA 3.0 vector |
| d-form instructions. |
| (rs6000_secondary_reload_memory): Add support for ISA 3.0 vector |
| d-form instructions. Distinguish different cases in debug |
| output. (rs6000_secondary_reload_inner): Add support for ISA 3.0 vector |
| d-form instructions. |
| (rs6000_preferred_reload_class): Likewise. |
| (rs6000_output_move_128bit): Add support for ISA 3.0 d-form |
| instructions. If ISA 3.0 is available, generate lxvx/stxvx instead |
| of the ISA 2.06 indexed memory instructions. |
| (rs6000_emit_prologue): If we have ISA 3.0 d-form instructions, |
| use them to save/restore the saved vector registers instead of |
| using Altivec instructions. |
| (rs6000_emit_epilogue): Likewise. |
| (rs6000_lra_p): Use TARGET_LRA instead of the old option word. |
| (rs6000_opt_masks): Split -mpower9-dform into |
| -mpower9-dform-scalar and -mpower9-dform-vector. |
| (rs6000_print_options_internal): Print -mno-<switch> if <switch> |
| was not selected. |
| * config/rs6000/vsx.md (p9_vecload_<mode>): Delete hack to emit |
| ISA 3.0 vector indexed memory instructions, and fold the code into |
| the normal mov<mode> patterns. |
| (p9_vecstore_<mode>): Likewise. |
| (vsx_mov<mode>): Add support for ISA 3.0 vector d-form |
| instructions. |
| (vsx_movti_64bit): Likewise. |
| (vsx_movti_32bit): Likewise. |
| * config/rs6000/constraints.md (wO constraint): New constraint for |
| ISA 3.0 vector d-form support. |
| * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Use |
| -mpower9-dform-scalar instead of -mpower9-dform. Add note not to |
| include -mpower9-dform-vector until we switch over to LRA. |
| (POWERPC_MASKS): Add -mlra. Split -mpower9-dform into two. |
| switches, -mpower9-dform-scalar and -mpower9-dform-vector. |
| * config/rs6000/rs6000-protos.h (quad_address_p): Add declaration. |
| * doc/invoke.texi (RS/6000 and PowerPC Options): Add documentation |
| for -mpower9-dform and -mlra. |
| * doc/md.texi (wO constraint): Document wO constraint. |
| |
| 2016-06-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-vect-loop.c (vect_determine_vectorization_factor): Also compute |
| the factor for live Phi nodes. |
| |
| 2016-06-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/71371 |
| * gimplify.c (gimplify_omp_for): Temporarily clear gimplify_omp_ctxp |
| around creation of the temporary. |
| |
| 2016-06-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-vect-loop.c (vect_determine_vectorization_factor): Also take |
| into account live statements for mask producers. |
| |
| 2016-05-31 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-05-11 Richard Biener <rguenther@suse.de> |
| |
| PR debug/71057 |
| * dwarf2out.c (retry_incomplete_types): Set early_dwarf. |
| (dwarf2out_finish): Move retry_incomplete_types call ... |
| (dwarf2out_early_finish): ... here. |
| |
| 2016-05-31 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/71056 |
| * config/arm/arm-builtins.c (arm_builtin_vectorized_function): Return |
| NULL_TREE early if NEON is not available. Remove now redundant check |
| in ARM_CHECK_BUILTIN_MODE. |
| |
| 2016-05-31 Tom de Vries <tom@codesourcery.com> |
| |
| backport: |
| 2016-05-31 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/69068 |
| * graphite-isl-ast-to-gimple.c (copy_bb_and_scalar_dependences): Handle |
| phis with more than two args. |
| |
| 2016-05-30 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| Backport from mainline |
| 2016-05-30 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * config.gcc: Move hard float support for arm*hf*-*-freebsd* into |
| armv6*-*-freebsd* for FreeBSD 11. Eliminate the arm*hf*-*-freebsd* |
| target. |
| |
| 2016-05-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-04-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/altivec.h: Change definitions of vec_xl and |
| vec_xst. |
| * config/rs6000/rs6000-builtin.def (LD_ELEMREV_V2DF): New. |
| (LD_ELEMREV_V2DI): New. |
| (LD_ELEMREV_V4SF): New. |
| (LD_ELEMREV_V4SI): New. |
| (LD_ELEMREV_V8HI): New. |
| (LD_ELEMREV_V16QI): New. |
| (ST_ELEMREV_V2DF): New. |
| (ST_ELEMREV_V2DI): New. |
| (ST_ELEMREV_V4SF): New. |
| (ST_ELEMREV_V4SI): New. |
| (ST_ELEMREV_V8HI): New. |
| (ST_ELEMREV_V16QI): New. |
| (XL): New. |
| (XST): New. |
| * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add |
| descriptions for VSX_BUILTIN_VEC_XL and VSX_BUILTIN_VEC_XST. |
| * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Map from |
| TARGET_P9_VECTOR to RS6000_BTM_P9_VECTOR. |
| (altivec_expand_builtin): Add handling for |
| VSX_BUILTIN_ST_ELEMREV_<MODE> and VSX_BUILTIN_LD_ELEMREV_<MODE>. |
| (rs6000_invalid_builtin): Add error-checking for |
| RS6000_BTM_P9_VECTOR. |
| (altivec_init_builtins): Define builtins used to implement vec_xl |
| and vec_xst. |
| (rs6000_builtin_mask_names): Define power9-vector. |
| * config/rs6000/rs6000.h (MASK_P9_VECTOR): Define. |
| (RS6000_BTM_P9_VECTOR): Define. |
| (RS6000_BTM_COMMON): Include RS6000_BTM_P9_VECTOR. |
| * config/rs6000/vsx.md (vsx_ld_elemrev_v2di): New define_insn. |
| (vsx_ld_elemrev_v2df): Likewise. |
| (vsx_ld_elemrev_v4sf): Likewise. |
| (vsx_ld_elemrev_v4si): Likewise. |
| (vsx_ld_elemrev_v8hi): Likewise. |
| (vsx_ld_elemrev_v16qi): Likewise. |
| (vsx_st_elemrev_v2df): Likewise. |
| (vsx_st_elemrev_v2di): Likewise. |
| (vsx_st_elemrev_v4sf): Likewise. |
| (vsx_st_elemrev_v4si): Likewise. |
| (vsx_st_elemrev_v8hi): Likewise. |
| (vsx_st_elemrev_v16qi): Likewise. |
| * doc/extend.texi: Add prototypes for vec_xl and vec_xst. Correct |
| grammar. |
| |
| 2016-05-30 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-05-11 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/71002 |
| * alias.c (reference_alias_ptr_type): Preserve alias-set zero |
| if the langhook insists on it. |
| * fold-const.c (make_bit_field_ref): Add arg for the original |
| reference and preserve its alias-set. |
| (decode_field_reference): Take exp by reference and adjust it |
| to the original memory reference. |
| (optimize_bit_field_compare): Adjust callers. |
| (fold_truth_andor_1): Likewise. |
| |
| 2016-05-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/71071 |
| * fold-const.c (fold_checksum_tree): Allow modification |
| of TYPE_ALIAS_SET during folding. |
| |
| 2016-05-30 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/visium/visium.c (visium_split_double_add): Minor tweaks. |
| (visium_expand_copysign): Use gen_int_mode directly. |
| (visium_compute_frame_size): Minor tweaks. |
| |
| 2016-05-30 Tom de Vries <tom@codesourcery.com> |
| |
| backport: |
| 2016-05-30 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/69067 |
| * graphite-isl-ast-to-gimple.c (get_def_bb_for_const): Remove assert. |
| |
| 2016-05-27 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/visium/visium-protos.h (split_double_move): Rename into... |
| (visium_split_double_move): ...this. |
| (visium_split_double_add): Declare. |
| * config/visium/visium.c (split_double_move): Rename into... |
| (visium_split_double_move): ...this. |
| (visium_split_double_add): New function. |
| (visium_expand_copysign): Renumber operands for consistency. |
| * config/visium/visium.md (DImode move splitter): Adjust to renaming. |
| (DFmode move splitter): Likewise. |
| (*addi3_insn): Split by means of visium_split_double_add. |
| (*adddi3_insn_flags): Delete. |
| (*plus_plus_sltu<subst_arith>): New insn. |
| (*subdi3_insn): Split by means of visium_split_double_add. |
| (subdi3_insn_flags): Delete. |
| (*minus_minus_sltu<subst_arith>): New insn. |
| (*negdi2_insn): Split by means of visium_split_double_add. |
| (*negdi2_insn_flags): Delete. |
| |
| 2016-05-27 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| Backport from mainline r236810. |
| 2016-05-27 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| PR middle-end/71279 |
| * fold-const.c (fold_ternary_loc): Don't fold VEC_COND_EXPR |
| into comparison. |
| |
| 2016-05-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-ssa-phiopt.c (factor_out_conditional_conversion): Remove |
| redundant test and bail out if the type of the new operand is not |
| a GIMPLE register type after stripping a VIEW_CONVERT_EXPR. |
| |
| 2016-05-24 Martin Sebor <msebor@redhat.com> |
| |
| PR c++/71147 |
| * tree.h (complete_or_array_type_p): New inline function. |
| |
| 2016-05-24 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.h (TARGET_AVOID_4BYTE_PREFIXES): Define. |
| * config/i386/constraints.md (Yr): Test TARGET_AVOID_4BYTE_PREFIXES |
| rather than X86_TUNE_AVOID_4BYTE_PREFIXES. Use SSE_REGS instead |
| of ALL_SSE_REGS. Return SSE_REGS also when TARGET_AVX. |
| |
| 2016-05-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/71257 |
| * tree-vect-stmts.c (vectorizable_simd_clone_call): Handle |
| SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP like |
| SIMD_CLONE_ARG_TYPE_LINEAR_CONSTANT_STEP. Add |
| SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP and |
| SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP cases explicitly. |
| |
| 2016-05-23 Martin Jambor <mjambor@suse.cz> |
| |
| * hsa-gen.c (gen_hsa_insns_for_switch_stmt): Create an empty |
| default block if a PHI node in the original one would be resized. |
| |
| 2016-05-23 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/70884 |
| * tree-sra.c (initialize_constant_pool_replacements): Do not check |
| should_scalarize_away_bitmap and cannot_scalarize_away_bitmap bits. |
| (sort_and_splice_var_accesses): Do not consider multiple scalar reads |
| of constant pool data as a reason for scalarization. |
| |
| 2016-05-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/arm/arm.c (arm_expand_prologue): Set the stack usage to 0 |
| for naked functions. |
| (thumb1_expand_prologue): Likewise. |
| |
| 2016-05-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/71210 |
| * gimple-fold.c (gimple_fold_call): Do not remove lhs of noreturn |
| calls if the LHS is variable length or has addressable type. |
| If targets[0]->decl is a noreturn call with void return type and |
| zero arguments, adjust fntype and remove lhs in that case. |
| |
| 2016-05-20 Uros Bizjak <ubizjak@gmail.com> |
| |
| * sched-deps.c (sched_analyze_2) <case TRAP_IF>: Also |
| force pending loads from memory. |
| |
| 2016-05-19 Marek Polacek <polacek@redhat.com> |
| |
| Backport from mainline |
| 2016-05-19 Marek Polacek <polacek@redhat.com> |
| |
| PR tree-optimization/71031 |
| * tree-vrp.c (extract_range_from_binary_expr_1): Turn assert into a |
| condition and adjust the code a bit. |
| |
| 2016-05-19 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/70646 |
| * ipa-prop.c (determine_locally_known_aggregate_parts): Bail out early |
| if parameter PARAM_IPA_MAX_AGG_ITEMS is zero. |
| |
| 2016-05-19 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/70646 |
| * ipa-inline.h (condition): New field size. |
| * ipa-inline-analysis.c (add_condition): New parameter SIZE, use it |
| for comaprison and store it into the new condition. |
| (evaluate_conditions_for_known_args): Use condition size to check |
| access sizes for all but CHANGED conditions. |
| (unmodified_parm_1): New parameter size_p, store access size into it. |
| (unmodified_parm): Likewise. |
| (unmodified_parm_or_parm_agg_item): Likewise. |
| (eliminated_by_inlining_prob): Pass NULL to unmodified_parm as size_p. |
| (set_cond_stmt_execution_predicate): Extract access sizes and store |
| them to conditions. |
| (set_switch_stmt_execution_predicate): Likewise. |
| (will_be_nonconstant_expr_predicate): Likewise. |
| (will_be_nonconstant_predicate): Likewise. |
| (inline_read_section): Stream condition size. |
| (inline_write_summary): Likewise. |
| * lto-streamer.h (LTO_minor_version): Bump. |
| |
| 2016-05-18 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2016-05-18 Martin Liska <mliska@suse.cz> |
| |
| PR fortran/70856 |
| * ipa-icf.c (sem_variable::merge): Set DECL_PT_UID for |
| merged variables. |
| |
| 2016-05-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/71100 |
| * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Don't drop |
| lhs if it has TREE_ADDRESSABLE type. |
| |
| 2016-05-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/71145 |
| * config/alpha/alpha.md (trap): Add (use (reg:DI 29)). |
| (*exception_receiver_1): Return "#" for TARGET_EXPLICIT_RELOCS. |
| |
| 2016-05-17 Thomas Schwinge <thomas@codesourcery.com> |
| |
| Backport trunk r235748: |
| PR target/70860 |
| * config/nvptx/nvptx.c (nvptx_libcall_value): Handle NULL cfun. |
| (nvptx_function_value): Assert non-NULL cfun. |
| |
| 2016-05-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2016-05-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/70809 |
| * config/aarch64/aarch64-simd.md (aarch64_vmls<mode>): Delete. |
| |
| 2016-05-16 Martin Jambor <mjambor@suse.cz> |
| |
| * hsa-gen.c (fillup_for_decl): Increase alignment to natural one. |
| (get_symbol_for_decl): Sorry if a global symbol in under-aligned. |
| |
| 2016-05-16 Martin Jambor <mjambor@suse.cz> |
| |
| PR hsa/70857 |
| * omp-low.c (grid_expand_target_grid_body): Copy RESULT_DECL of |
| the outlined kernel function. |
| |
| 2016-05-16 James Norris <jnorris@codesourcery.com> |
| |
| Backport from mainline r236098. |
| 2016-05-10 James Norris <jnorris@codesourcery.com> |
| |
| PR driver/68463 |
| * config/rs6000/sysv4.h (CRTOFFLOADBEGIN): Define. Add crtoffloadbegin.o |
| if offloading is enabled and -fopenacc or -fopenmp is specified. |
| (CRTOFFLOADEND): Likewise. |
| (STARTFILE_LINUX_SPEC): Add CRTOFFLOADBEGIN. |
| (ENDFILE_LINUX_SPEC): Add CRTOFFLOADEND. |
| |
| 2016-05-16 Alan Modra <amodra@gmail.com> |
| |
| Apply from mainline |
| 2016-05-10 Alan Modra <amodra@gmail.com> |
| PR target/70947 |
| * config/rs6000/rs6000.c (rs6000_expand_split_stack_prologue): Stop |
| regrename modifying insns saving lr before __morestack call. |
| * config/rs6000/rs6000.md (split_stack_return): Similarly for |
| insns restoring lr after __morestack call. |
| |
| 2016-05-13 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2016-04-27 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/70760 |
| * tree-ssa-structalias.c (find_func_aliases_for_call): Use |
| aggregate_value_p to determine if a function result is |
| returned by reference. |
| |
| 2016-05-06 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/70931 |
| * dwarf2out.c (native_encode_initializer): Skip zero-sized fields. |
| |
| 2016-05-06 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/70941 |
| * fold-const.c (split_tree): Always convert to the original type |
| before negating. |
| |
| 2016-05-12 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2016-05-10 Martin Liska <mliska@suse.cz> |
| |
| * tree-inline.c (remap_dependence_clique): Do not remap |
| debugging statements. |
| |
| 2016-05-12 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| Backport from mainline r236171. |
| 2016-05-12 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| PR tree-optimization/71006 |
| * tree-vect-loop.c (vect_determine_vectorization_factor): Don't |
| consider COND_EXPR as a mask producer. |
| |
| 2016-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2016-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/70830 |
| * config/arm/arm.c (arm_output_multireg_pop): Avoid POP instruction |
| when popping the PC and within an interrupt handler routine. |
| Add missing tab to output of "ldmfd". |
| (output_return_instruction): Output LDMFD with SP update rather |
| than POP when returning from interrupt handler. |
| |
| 2016-05-11 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| Backport from mainline r236088. |
| 2016-05-10 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| PR middle-end/70877 |
| * tree-chkp.c (chkp_add_bounds_to_call_stmt): Handle |
| calls with type casted fndecl. |
| |
| 2016-05-11 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| Backport from mainline r236086. |
| 2016-05-10 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| PR tree-optimization/70876 |
| * tree-chkp.c (chkp_find_bounds_1): Support WITH_SIZE_EXPR. |
| * gcc/calls.c (initialize_argument_information): Bind bounds |
| with corresponding args passed by reference. |
| |
| 2016-05-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-05-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/70963 |
| * config/rs6000/vsx.md (vsx_xvcvdpsxds_scale): Generate correct |
| code for a zero scale factor. |
| (vsx_xvcvdpuxds_scale): Likewise. |
| |
| 2016-05-10 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2016-05-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/70916 |
| * tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Give up |
| if COND_EXPR rhs1 is neither SSA_NAME nor COMPARISON_CLASS_P. |
| |
| 2016-05-10 Yuri Rumyantsev <ysrumyan@gmail.com> |
| |
| Backport from mainline r235962. |
| 2016-05-06 Yuri Rumyantsev <ysrumyan@gmail.com> |
| |
| PR debug/70935 |
| * tree-ssa-loop-unswitch.c (find_loop_guard): Reject guard edge with |
| loop latch destination. |
| |
| 2016-05-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-05-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md ("*vec_cmp<insn_cmp>df_cconly") |
| ("*fixuns_truncdfdi2_z13") |
| ("*fixuns_trunc<FP:mode><GPR:mode>2_z196") |
| ("*fix_truncdfdi2_bfp_z13", "*floatunsdidf2_z13") |
| ("*extendsfdf2_z13"): Replace TARGET_Z13 with TARGET_VX. |
| |
| 2016-05-10 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| Backport from mainline |
| 2016-04-27 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config/rtems.h (LIB_SPEC): Add -latomic. |
| |
| 2016-05-10 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| Backport from mainline |
| 2016-04-27 Joel Sherrill <joel@rtems.org> |
| |
| * config/microblaze/rtems.h: Redefine LINK_SPEC to avoid |
| xilink.ld and flags not relevant to RTEMS. |
| |
| 2016-05-09 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (absneg splitters with general regs): Use |
| general_reg_operand predicate. |
| (btsq peephole2): Use x86_64_immediate_operand to check if new |
| value is suitable for immediate operand. Generate emitted insn |
| using RTL expressions. |
| (btcq peephole2): Ditto. |
| (btrq peephole2): Ditto. Generate correct immediate operand |
| for AND masking. |
| |
| 2016-05-07 Tom de Vries <tom@codesourcery.com> |
| |
| backport: |
| 2016-05-07 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/70956 |
| * graphite-scop-detection.c (build_cross_bb_scalars_def): Handle NULL |
| def. |
| |
| 2016-05-06 Marek Polacek <polacek@redhat.com> |
| |
| Backported from mainline |
| 2016-05-06 Marek Polacek <polacek@redhat.com> |
| |
| PR sanitizer/70875 |
| * ubsan.c (get_ubsan_type_info_for_type): Remove assert. |
| |
| 2016-05-06 Marek Polacek <polacek@redhat.com> |
| |
| Backported from mainline |
| 2016-04-29 Marek Polacek <polacek@redhat.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/70342 |
| * fold-const.c (tree_single_nonzero_warnv_p): For TARGET_EXPR, use |
| TARGET_EXPR_SLOT as a base. |
| |
| 2016-05-04 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-ssa-coalesce.c (gimple_can_coalesce_p): Fix reference in head |
| comment. |
| (compute_samebase_partition_bases): Fix typo. |
| |
| 2016-05-03 Pierre-Marie de Rodat <derodat@adacore.com> |
| |
| * dwarf2out.c (resolve_args_picking_1): Replace the frame_offset |
| occurence with frame_offset_ ones. |
| |
| 2016-04-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70858 |
| * config/i386/i386.c (bdesc_special_args): Add | OPTION_MASK_ISA_64BIT |
| to __builtin_ia32_lwpval64 and __builtin_ia32_lwpins64. |
| (bdesc_args): Add | OPTION_MASK_ISA_64BIT to __builtin_ia32_bextr_u64, |
| __builtin_ia32_bextri_u64, __builtin_ia32_bzhi_di, |
| __builtin_ia32_pdep_di and __builtin_ia32_pext_di. |
| |
| 2016-04-28 Eric Botcazou <ebotcazou@adacore.com> |
| |
| Backport from mainline |
| 2016-04-27 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/70759 |
| * stor-layout.h (internal_reference_types): Delete. |
| * stor-layout.c (reference_types_internal): Likewise. |
| (internal_reference_types): Likewise. |
| (layout_type) <REFERENCE_TYPE>: Adjust. |
| |
| 2016-04-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2016-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000-builtin.def: Correct pasto error for |
| stxvd2x and stxvw4x built-in functions. |
| |
| 2016-04-27 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backported from mainline |
| 2016-04-21 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/70750 |
| * config/i386/predicates.md (call_insn_operand): Replace |
| sibcall_memory_operand with memory_operand. |
| |
| 2016-04-27 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/70785 |
| * tree-ssa-structalias.c (refered_from_nonlocal_fn): New |
| function cummulating used_from_other_partition, externally_visible |
| and force_output from aliases. |
| (refered_from_nonlocal_var): Likewise. |
| (ipa_pta_execute): Use call_for_symbol_and_aliases to cummulate |
| node flags properly. |
| |
| 2016-04-27 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2016-04-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/70712 |
| * cfgexpand.c (expand_stack_vars): Fix typo. |
| |
| 2016-04-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/70680 |
| * gimplify.c (gimplify_omp_for): Call omp_notice_variable for |
| implicitly linear or lastprivate iterator on the outer context. |
| |
| 2016-04-27 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| PR target/70728 |
| * gcc/config/i386/sse.md (define_insn "<shift_insn><mode>3<mask_name>"): |
| Extract AVX-512BW constraint from AVX. |
| |
| 2016-04-27 Jakub Jelinek <jakub@redhat.com> |
| |
| * BASE-VER: Set to 6.1.1. |
| |
| 2016-04-27 Release Manager |
| |
| * GCC 6.1.0 released. |
| |
| 2016-04-25 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/70780 |
| * tree-ssa-pre.c (compute_antic_aux): Also return true if the block |
| wasn't visited yet. |
| (compute_antic): Mark blocks with abnormal preds as visited as |
| they have a final empty antic-in solution already. |
| |
| 2016-04-22 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2016-04-20 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * doc/invoke.texi: Replace -skip-rax-setup with -mskip-rax-setup. |
| |
| 2016-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com> |
| |
| * system.h (list, map, set, vector): Include conditionally. |
| * auto-profile.c (INCLUDE_MAP, INCLUDE_SET): Define. |
| * graphite-isl-ast-to-gimple.c (INCLUDE_MAP): Define. |
| * ipa-icf.c (INCLUDE_LIST): Define. |
| * config/aarch64/cortex-a57-fma-steering.c (INCLUDE_LIST): Define. |
| * config/sh/sh.c (INCLUDE_VECTOR): Define. |
| * config/sh/sh_treg_combine.cc (INCLUDE_ALGORITHM): Define. |
| (INCLUDE_LIST, INCLUDE_VECTOR): Define. |
| * cp/logic.cc (INCLUDE_LIST): Define. |
| * fortran/trans-common.c (INCLUDE_MAP): Define. |
| |
| 2016-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com> |
| |
| * auto-profile.c: Remove <string.h> include. |
| * ipa-icf-gimple.c: Remove <list> include. |
| * diagnostic.c: Remove <new> include. |
| * genmatch.c: Likewise. |
| * pretty-print.c: Likewise. |
| * toplev.c: Likewise |
| * c/c-objc-common.c: Likewise. |
| * cp/error.c: Likewise. |
| * fortran/error.c: Likewise. |
| |
| 2016-04-21 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/70747 |
| * fold-const.c (fold_comparison): Return properly typed |
| constant boolean. |
| |
| 2016-04-20 Andrew Pinski <apinski@cavium.com> |
| Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/64971 |
| * config/aarch64/aarch64.md (sibcall): Force call |
| address to be DImode for ILP32. |
| (sibcall_value): Likewise. |
| |
| 2016-04-20 Marek Polacek <polacek@redhat.com> |
| |
| * tree-if-conv.c (is_false_predicate): For NULL_TREE return false |
| rather than true. |
| |
| 2016-04-20 Marek Polacek <polacek@redhat.com> |
| |
| PR tree-optimization/70725 |
| * tree-if-conv.c (is_false_predicate): New function. |
| (predicate_mem_writes): Use it. |
| |
| 2016-04-20 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/70726 |
| * tree-vect-stmts.c (vectorizable_shift): Do not use scalar |
| shift amounts from a pattern stmt operand. |
| |
| 2016-04-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| PR target/70674 |
| * config/s390/s390.c (s390_restore_gprs_from_fprs): Pick the new |
| stack_restore_from_fpr pattern when restoring r15. |
| (s390_optimize_prologue): Strip away the memory barrier in the |
| parallel when trying to get rid of restore insns. |
| * config/s390/s390.md ("stack_restore_from_fpr"): New insn |
| definition for loading the stack pointer from an FPR. Compared to |
| the normal move insn this pattern includes a full memory barrier. |
| |
| 2016-04-19 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/70724 |
| * tree-ssa-sccvn.c (scc_vn_restore_ssa_info): Split SSA info |
| restoring out from ... |
| (free_scc_vn): ... here. |
| * tree-ssa-sccvn.h (scc_vn_restore_ssa_info): Declare. |
| * tres-ssa-pre.c (pass_pre::execute): Restore SSA info before |
| tail merging. |
| (pass_fre::execute): Restore SSA info. |
| |
| 2016-04-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * doc/install.texi (Specific, i?86-*-solaris2.10): Update gas and |
| gld requirements. |
| (Specific, *-*-solaris2*): Update Solaris 11 bundled gcc |
| versions. |
| Mention Solaris 11 packaging changes. |
| Update gas and gld requirements. |
| Remove reference to pre-Solaris 10 bug. |
| (Specific, sparc-sun-solaris2*): Remove reference to pre-Solaris 10 |
| systems and bugs. |
| (Specific, sparc64-*-solaris2*): Remove reference to bootstrap |
| with cc. |
| |
| 2016-04-18 Matthew Wahab <matthew.wahab@arm.com> |
| |
| PR target/70711 |
| * config/arm/bpabi.h (BE8_LINK_SPEC): Add entries for armv8+crc, |
| armv8.1-a and armv8.1-a+crc. |
| |
| 2016-04-18 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * has-brig.c (lendian16): Don't try to use __builtin_bswap16 |
| unless compiling with at least GCC-4.8. |
| |
| 2016-04-15 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| PR target/70662 |
| * config/i386/sse.md (define_insn "<avx512>_vec_dup<mode><mask_name>"): |
| Fix mode size check. |
| |
| 2016-04-15 Jakub Jelinek <jakub@redhat.com> |
| |
| * BASE-VER: Set to 6.0.1. |
| * DEV-PHASE: Set to prerelease. |
| |
| 2016-04-15 Alexander Monakov <amonakov@ispras.ru> |
| |
| * config/nvptx/nvptx.opt (moptimize): Add a period at end of help text. |
| |
| 2016-04-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * doc/invoke.texi (ARM Options): Add note on deprecation of pre-ARMv4T |
| architecture revisions. |
| |
| 2016-04-15 Bernd Schmidt <bschmidt@redhat.com> |
| |
| * config/i386/i386-protos.h (ix86_using_red_zone): Declare. |
| * config/i386/i386.c (ix86_using_red_zone): No longer static. |
| * config/i386/i386.md (stack decrement to push peepholes): Guard |
| with !x86_using_red_zone (). |
| |
| 2016-04-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/70675 |
| * tree-pretty-print.c (do_niy): Add FLAGS argument, pass it down |
| to dump_generic_node. |
| (NIY): Pass also flags to do_niy. |
| |
| 2016-04-15 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * omp-low.c (simd_clone_struct_alloc, simd_clone_struct_copy) |
| (simd_clone_vector_of_formal_parm_types) |
| (simd_clone_clauses_extract, simd_clone_compute_base_data_type) |
| (simd_clone_mangle, simd_clone_create) |
| (simd_clone_adjust_return_type, create_tmp_simd_array) |
| (simd_clone_adjust_argument_types, simd_clone_init_simd_arrays) |
| (struct modify_stmt_info, ipa_simd_modify_stmt_ops) |
| (ipa_simd_modify_function_body, simd_clone_linear_addend) |
| (simd_clone_adjust, expand_simd_clones, ipa_omp_simd_clone) |
| (pass_data_omp_simd_clone, class pass_omp_simd_clone) |
| (pass_omp_simd_clone::gate, make_pass_omp_simd_clone): Move |
| into... |
| * omp-simd-clone.c: ... this new file. |
| (simd_clone_vector_of_formal_parm_types): Make it static. |
| * Makefile.in (OBJS): Add omp-simd-clone.o. |
| |
| 2016-04-15 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| PR target/70662 |
| * config/i386/sse.md: Use proper memory operand |
| modifiers. |
| |
| |
| 2016-04-15 Richard Biener <rguenther@suse.de> |
| Alan Modra <amodra@gmail.com> |
| |
| PR tree-optimization/70130 |
| * tree-vect-data-refs.c (vect_supportable_dr_alignment): Detect |
| when alignment stays not the same and no not use the realign |
| scheme then. |
| |
| 2016-04-14 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/70669 |
| * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add |
| direct move handlers for KFmode. Change TFmode handlers test from |
| FLOAT128_IEEE_P to FLOAT128_VECTOR_P. |
| |
| 2016-04-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/70594 |
| * ipa-utils.h (polymorphic_ctor_dtor_p): New prototype. |
| * ipa-polymorphic-call.c (polymorphic_ctor_dtor_p): New function. |
| (inlined_polymorphic_ctor_dtor_block_p): Use it. |
| * tree-ssa-live.c (remove_unused_scope_block_p): When |
| in_ctor_dtor_block, avoid discarding not just BLOCKs with |
| BLOCK_ABSTRACT_ORIGIN being FUNCTION_DECL, but even when |
| block_ultimate_origin is FUNCTION_DECL. |
| (remove_unused_locals): If current_function_decl is |
| polymorphic_ctor_dtor_p, pass initial true to |
| remove_unused_scope_block_p' is_ctor_dtor_block. |
| |
| 2016-04-14 Martin Sebor <msebor@redhat.com> |
| |
| PR c++/69517 |
| PR c++/70019 |
| PR c++/70588 |
| * doc/extend.texi (Variable Length): Revert. |
| |
| 2016-04-14 Marek Polacek <polacek@redhat.com> |
| Jan Hubicka <hubicka@ucw.cz> |
| |
| PR c++/70029 |
| * tree.c (verify_type): Disable the canonical type of main variant |
| check. |
| |
| 2016-04-14 Jason Merrill <jason@redhat.com> |
| |
| * cfgexpand.c, expr.c: Revert previous change. |
| |
| 2016-04-14 Cesar Philippidis <cesar@codesourcery.com> |
| |
| PR middle-end/70643 |
| * omp-low.c (lower_oacc_reductions): Check for TREE_CONSTANT |
| when building a mem ref for the incoming reduction variable. |
| |
| 2016-04-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/70614 |
| * tree-scalar-evolution.c (analyze_evolution_in_loop): Terminate |
| loop if the evolution dropped to chrec_dont_know. |
| (interpret_condition_phi): Likewise. |
| |
| 2016-04-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/70623 |
| * tree-ssa-pre.c (changed_blocks): Make global ... |
| (compute_antic): ... local here. Move and fix worklist |
| handling here. Do not clear EDGE_DFS_BACK or call mark_dfs_back_edges. |
| (compute_antic_aux): Add dumping for MAX assumed succs. Remove |
| worklist handling, dump when ANTIC_IN changed. |
| (compute_partial_antic_aux): Remove worklist handling. |
| (init_pre): Do not compute post dominators. Add a comment about |
| the CFG order chosen. |
| (fini_pre): Do not free post dominators. |
| |
| 2016-04-13 Martin Sebor <msebor@redhat.com> |
| |
| PR c++/69517 |
| PR c++/70019 |
| PR c++/70588 |
| * doc/extend.texi (Variable Length): Document C++ specifics. |
| |
| 2016-04-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/70641 |
| * ipa-pure-const.c (pass_nothrow::execute): Call maybe_clean_eh_stmt |
| on all recursive call stmts. Return TODO_cleanup_cfg if any dead |
| eh edges have been purged. |
| |
| PR c++/70594 |
| * tree-sra.c (create_access_replacement, |
| get_replaced_param_substitute): Set DECL_NAMELESS on repl if it |
| gets fancy name. |
| * tree-pretty-print.c (dump_fancy_name): New function. |
| (dump_decl_name, dump_generic_node): Use it. |
| |
| 2016-04-13 Jason Merrill <jason@redhat.com> |
| |
| * cfgexpand.c (pass_expand::execute): Handle attribute "abi warning". |
| * expr.c (expand_expr_real_1): Likewise. |
| |
| 2016-04-13 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| * config/i386/i386.md (kunpckhi): Swap operands. |
| (kunpcksi): Likewise. |
| (kunpckdi): Likewise. |
| * config/i386/sse.md (vec_pack_trunc_qi): Likewise. |
| (vec_pack_trunc_<mode>): Likewise. |
| |
| 2016-04-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/70628 |
| * explow.c (convert_memory_address_addr_space_1): Formatting fix. |
| |
| PR middle-end/70633 |
| * gimplify.c (gimplify_init_constructor): Clear TREE_STATIC if |
| gimplification turns some element into non-constant. |
| |
| PR debug/70628 |
| * rtl.h (convert_memory_address_addr_space_1): New prototype. |
| * explow.c (convert_memory_address_addr_space_1): No longer static, |
| add NO_EMIT argument and don't call convert_modes if true, pass |
| it down recursively, remove break after return. |
| (convert_memory_address_addr_space): Adjust caller. |
| * simplify-rtx.c (simplify_unary_operation_1): Call |
| convert_memory_address_addr_space_1 instead of convert_memory_address, |
| if it returns NULL, don't simplify. |
| |
| 2016-04-12 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/70630 |
| * config/sparc/sparc.c (sparc_compute_frame_size): Add parentheses. |
| |
| 2016-04-12 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen): |
| Bump the upper SIMDLEN limits, so that if the return type or |
| characteristic type if the return type is void can be passed in |
| all available SSE2/AVX/AVX2/AVX512-F registers, the SIMDLEN is |
| allowed. |
| |
| 2016-04-12 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/70640 |
| * config/rs6000/rs6000.md (ieee_128bit_vsx_neg<mode>2_internal): |
| Do not use "=" constraint on an input constraint. |
| (ieee_128bit_vsx_abs<mode>2_internal): Likewise. |
| (ieee_128bit_vsx_nabs<mode>2_internal): Likewise. |
| (ieee_128bit_vsx_nabs<mode>2): Correct splitter so that it |
| generates (neg (abs ...)) instead of (abs ...). |
| |
| 2016-04-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/70596 |
| * lra-spills.c (spill_pseudos): Don't delete debug insns, instead |
| just invalidate LRA data and reset them. Adjust dump wording. |
| |
| 2016-04-12 Martin Liska <mliska@suse.cz> |
| |
| Revert |
| 2016-03-30 Jan Hubicka <hubicka@ucw.cz> |
| |
| * tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic |
| estimates here. |
| * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also |
| max_loop_iterations_int. |
| (tree_unswitch_outer_loop): Likewise. |
| * tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise. |
| * tree-vect-loop.c (vect_analyze_loop_2): Likewise. |
| |
| 2016-04-12 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/68756 |
| * graphite-isl-ast-to-gimple.c (copy_cond_phi_args): Use new_expr |
| instead of new_name. |
| |
| 2016-04-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/70602 |
| * tree-sra.c (generate_subtree_copies): Don't write anything into |
| constant pool decls. |
| |
| * omp-low.c (lower_omp_target): Use GOMP_MAP_FIRSTPRIVATE_INT |
| regardless whether there are depend clauses or not. |
| |
| 2016-04-11 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/70381 |
| * config/rs6000/rs6000.c (rs6000_opt_masks): Disable using the |
| target attribute and pragma from changing the -mfloat128 |
| and -mfloat128-hardware options. |
| |
| * doc/extend.texi (Additional Floating Types): Document PowerPC |
| __float128 restrictions. |
| |
| 2016-04-11 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| PR target/70133 |
| * config/aarch64/driver-aarch64.c |
| (aarch64_get_extension_string_for_isa_flags): New. |
| (arch_extension): Rename to... |
| (aarch64_arch_extension): ...This. |
| (ext_to_feat_string): Rename to... |
| (aarch64_extensions): ...This. |
| (aarch64_core_data): Keep track of architecture extension flags. |
| (cpu_data): Rename to... |
| (aarch64_cpu_data): ...This. |
| (aarch64_arch_driver_info): Keep track of architecture extension |
| flags. |
| (get_arch_name_from_id): Rename to... |
| (get_arch_from_id): ...This, change return type. |
| (host_detect_local_cpu): Update and reformat for renames, handle |
| extensions through common infrastructure. |
| |
| 2016-04-11 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| PR target/70133 |
| * config/aarch64/aarch64-common.c (aarch64_option_extension): Keep |
| track of a canonical flag name. |
| (all_extensions): Likewise. |
| (arch_to_arch_name): Also track extension flags enabled by the arch. |
| (all_architectures): Likewise. |
| (aarch64_parse_extension): Move to here. |
| (aarch64_get_extension_string_for_isa_flags): Take a new argument, |
| rework. |
| (aarch64_rewrite_selected_cpu): Update for above change. |
| * config/aarch64/aarch64-option-extensions.def: Rework the way flags |
| are handled, such that the single explicit value enabled by an |
| extension is kept seperate from the implicit values it also enables. |
| * config/aarch64/aarch64-protos.h (aarch64_parse_opt_result): Move |
| to here. |
| (aarch64_parse_extension): New. |
| * config/aarch64/aarch64.c (aarch64_parse_opt_result): Move from |
| here to config/aarch64/aarch64-protos.h. |
| (aarch64_parse_extension): Move from here to |
| common/config/aarch64/aarch64-common.c. |
| (aarch64_option_print): Update. |
| (aarch64_declare_function_name): Likewise. |
| (aarch64_start_file): Likewise. |
| * config/aarch64/driver-aarch64.c (arch_extension): Keep track of |
| the canonical flag for extensions. |
| * config.gcc (aarch64*-*-*): Extend regex for capturing extension |
| flags. |
| |
| 2016-04-11 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_1): Also add |
| AARCH64_FL_CRC. |
| |
| 2016-04-09 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/68953 |
| * graphite-sese-to-poly.c (pdr_add_memory_accesses): Order accesses from |
| first to last subscript. |
| |
| 2016-04-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/70586 |
| * tree-ssa-ifcombine.c (bb_no_side_effects_p): Return false |
| for any calls. |
| |
| 2016-04-08 Cesar Philippidis <cesar@codesourcery.com> |
| |
| PR lto/70289 |
| PR ipa/70348 |
| PR tree-optimization/70373 |
| PR middle-end/70533 |
| PR middle-end/70534 |
| PR middle-end/70535 |
| * gimplify.c (gimplify_adjust_omp_clauses): Add or adjust data |
| clauses for acc parallel reductions as necessary. Error on those |
| that are private. |
| * omp-low.c (scan_sharing_clauses): Don't install variables which |
| are used in acc parallel reductions. |
| (lower_rec_input_clauses): Remove dead code. |
| (lower_oacc_reductions): Add support for reference reductions. |
| (lower_reduction_clauses): Remove dead code. |
| (lower_omp_target): Don't remap variables appearing in acc parallel |
| reductions. |
| * tree.h (OMP_CLAUSE_MAP_IN_REDUCTION): New macro. |
| |
| 2016-04-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/70593 |
| * tree-ssa-coalesce.c (build_ssa_conflict_graph): For stmt |
| with multiple SSA_NAME defs, force the outputs other than first |
| to be live before calling live_track_process_def on each output. |
| |
| PR rtl-optimization/70574 |
| * fwprop.c (forward_propagate_and_simplify): Don't add |
| REG_EQUAL note if DF_REF_REG (use) is a paradoxical subreg. |
| (try_fwprop_subst): Don't add REG_EQUAL note if there are any |
| paradoxical subregs within *loc. |
| |
| 2016-04-08 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * config/arc/arc.h (LINK_COMMAND_SPEC): Use gt to ignore |
| -ftree-parallelize-loops={0,1}. |
| * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise. |
| * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise. |
| * config/ia64/hpux.h (LIB_SPEC): Likewise. |
| * config/pa/pa-hpux11.h (LIB_SPEC): Likewise. |
| * config/pa/pa64-hpux.h (LIB_SPEC): Likewise. |
| |
| 2016-04-08 Maxim Ostapenko <m.ostapenko@samsung.com> |
| |
| PR sanitizer/70541 |
| * asan.c (instrument_derefs): If we get unknown location, extract it |
| with EXPR_LOCATION. |
| (maybe_instrument_call): Instrument gimple_call's arguments if needed. |
| |
| 2016-04-08 Tom de Vries <tom@codesourcery.com> |
| |
| * omp-low.c (lower_omp_target): Set TREE_NO_WARNING for oacc |
| implicit firstprivate clause. |
| |
| 2016-04-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/70566 |
| * config/arm/thumb2.md (tst + branch-> lsls + branch |
| peephole below *orsi_not_shiftsi_si): Require that condition |
| register is dead after the peephole. |
| (second peephole after the above): Likewise. |
| |
| 2016-04-08 Alan Modra <amodra@gmail.com> |
| |
| PR target/70117 |
| * builtins.c (fold_builtin_classify): For IBM extended precision, |
| look at just the high-order double to test for NaN. |
| (fold_builtin_interclass_mathfn): Similarly for Inf. For isnormal |
| test just the high double for Inf but both doubles for subnormal |
| limit. |
| |
| 2016-04-07 Jakub Jelinek <jakub@redhat.com> |
| |
| * cgraph.h (struct cgraph_simd_clone): Add mask_mode field. |
| * omp-low.c (simd_clone_init_simd_arrays, simd_clone_adjust): Handle |
| node->simdclone->mask_mode != VOIDmode masks. |
| (simd_clone_adjust_argument_types): Likewise. Move sc var definition |
| earlier, use it instead of node->simdclone. |
| * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen): |
| Set clonei->mask_mode. |
| |
| 2016-04-06 Patrick Palka <ppalka@gcc.gnu.org> |
| |
| PR c/70436 |
| * parser.c (cp_parser_iteration_statement): New parameter IF_P. |
| Pass it through to cp_parser_already_scoped_statement. |
| (cp_parser_already_scoped_statement): New parameter IF_P. Pass |
| it through to cp_parser_statement. |
| (cp_parser_statement): Pass IF_P through to |
| cp_parser_iteration_statement. |
| (cp_parser_pragma): Adjust call to |
| cp_parser_iteration_statement. |
| |
| 2016-04-06 Patrick Palka <ppalka@gcc.gnu.org> |
| |
| PR c/70436 |
| * gimplify.c (gimplify_omp_ordered): Add explicit braces to |
| resolve a future -Wparentheses warning. |
| * omp-low.c (scan_sharing_clauses): Likewise. |
| * tree-parloops.c (eliminate_local_variables): Likewise. |
| |
| 2016-04-06 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/70398 |
| * lra-constraints.c (process_address_1): Check zero scale and code |
| for reloading with zero scale. |
| |
| 2016-04-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md (shuffletype): Add V32HI and V4TI modes. |
| (ssescalarsize): Add V8SF, V4SF, V4DF and V2DF modes. |
| |
| 2016-04-06 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen): |
| Add support for AVX512F clones, include them by default for |
| exported OpenMP declare simd functions. For AVX2 allow simdlen 32 |
| and use it if charasteric type is 8-bit, for AVX512F allow simdlen |
| up to 128. |
| |
| PR middle-end/70550 |
| * tree.h (OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT): Define. |
| * gimplify.c (gimplify_adjust_omp_clauses_1): Set it for implicit |
| firstprivate clauses. |
| * omp-low.c (lower_send_clauses): Set TREE_NO_WARNING for |
| OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT !by_ref vars in task contexts. |
| (lower_omp_target): Set TREE_NO_WARNING for |
| non-addressable possibly uninitialized vars which are copied into |
| addressable temporaries or copied for GOMP_MAP_FIRSTPRIVATE_INT. |
| |
| 2016-04-05 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/predicates.md (integer_store_memory_operand): Accept |
| REG+D operands with a large offset when reload_in_progress is true. |
| (floating_point_store_memory_operand): Likewise. |
| |
| 2016-04-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/70336 |
| * match.pd (nested int casts): Limit to GIMPLE. |
| |
| 2016-04-05 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/66223 |
| * ipa-devirt.c (maybe_record_node): Fix comment; use |
| SANITIZE_UNREACHABLE instead of SANITIZE_UNDEFINED. |
| |
| 2016-04-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/70542 |
| * ree.c (add_removable_extension): For VECTOR_MODE_P punt |
| if there are any uses other than insn or debug insns. |
| |
| 2016-04-05 Marc Glisse <marc.glisse@inria.fr> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/70509 |
| * simplify-rtx.c (simplify_binary_operation_1) <case VEC_SELECT>: |
| Shift HOST_WIDE_INT_1U instead of 1. |
| |
| 2016-04-05 Zdenek Sojka <zsojka@seznam.cz> |
| |
| PR tree-optimization/70509 |
| * tree-ssa-forwprop.c (simplify_bitfield_ref): Use bitsize_int instead |
| of the vector base type for index. |
| |
| 2016-04-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/70510 |
| * config/i386/sse.md (iptr): Add V64QI, V32HI, V16SI and V8DI modes. |
| |
| 2016-04-05 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/70526 |
| * tree-sra.c (build_ref_for_offset): Use prev_base to |
| extract the alias pointer type. |
| |
| 2016-04-05 Richard Biener <rguenther@suse.de> |
| |
| * dse.c (struct store_info): Remove alias_set member. |
| (struct read_info_type): Likewise. |
| (clear_alias_group, clear_alias_mode_table, clear_alias_mode_holder, |
| spill_deleted, clear_alias_set_lookup): Remove. |
| (get_group_info): Remove dead base == NULL_RTX case. |
| (dse_step0): Remove initialization of removed variables. |
| (delete_dead_store_insn): Reomve alias set dumping. |
| (free_read_records): Remove alias_set handling. |
| (canon_address): Remove alias_set_out parameter. |
| (record_store): Remove spill_alias_set, it's always zero. |
| (check_mem_read_rtx): Likewise. |
| (dse_step2): Rename from ... |
| (dse_step2_nospill): ... this. Adjust. |
| (scan_stores): Rename from ... |
| (scan_stores_nospill): ... this. |
| (scan_reads): Rename from ... |
| (scan_reads_nospill): ... this. |
| (scan_stores_spill, scan_reads_spill): Remove. |
| (dse_step3_scan): Remove for_spills argument which is always false. |
| (dse_step3): Likewise. |
| (dse_step5): Rename from ... |
| (dse_step5_nospill): ... this. Remove alias_set handling. |
| (rest_of_handle_dse): Adjust. |
| |
| 2016-04-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70525 |
| * config/i386/sse.md (*andnot<mode>3): Simplify assertions. |
| Use vpandn<ssemodesuffix> for V16SI/V8DImode, vpandnq for |
| V32HI/V64QImode, don't use <mask_operand3_1>, fix up formatting. |
| (*andnot<mode>3_mask): Remove insn with VI12_AVX512VL iterator. |
| |
| 2016-04-05 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/70499 |
| * gimplify-me.c (gimple_regimplify_operands): Do not rewrite |
| non-register type temporaries into SSA. |
| |
| 2016-04-04 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/66223 |
| * ipa-devirt.c (maybe_record_node): Do not optimize cxa_pure_virtual |
| calls when sanitizing. |
| (possible_polymorphic_call_target_p): Fix formatting. |
| |
| 2016-04-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/70457 |
| * tree-inline.c (estimate_num_insn): Use gimple_call_builtin_p |
| to ensure a call statement is compatible with a built-in's |
| prototype. |
| * tree-ssa-math-opts.c (pass_optimize_windening_mul::execute): |
| Likewise. |
| |
| 2016-04-04 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/70484 |
| * rtl.h (canon_output_dependence): Declare. |
| * alias.c (canon_output_dependence): New function. |
| * dse.c (record_store): Use canon_output_dependence rather |
| than canon_true_dependence. |
| |
| 2016-03-30 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/68881 |
| * cgraph.h (symtab_node::copy_visibility_from): New function. |
| * symtab.c (symtab_node::copy_visibility_from): New function. |
| * ipa-visibility.c (optimize_weakref): New function. |
| (function_and_variable_visibility): Use it. |
| |
| 2016-04-04 Martin Liska <mliska@suse.cz> |
| |
| PR hsa/70402 |
| * hsa-gen.c (gen_hsa_insns_for_switch_stmt): Guard index |
| value that is really in range handled by SBR instruction. |
| * hsa-brig.c (emit_switch_insn): Do not emit unconditional jump. |
| * hsa-dump.c (dump_hsa_insn_1): Do not dump default BB. |
| * hsa.h (hsa_insn_sbr::m_default_bb): Remove field. |
| |
| 2016-04-03 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/70416 |
| PR target/67391 |
| * config/sh/sh.md (*addsi3): Allow pattern when reload_in_progress is |
| set, but not for SP_REG operands. |
| |
| 2016-04-02 Martin Sebor <msebor@redhat.com> |
| |
| PR c++/67376 |
| * fold-const.c (maybe_nonzero_address): New function. |
| (fold_comparison): Call it. Fold equality and relational |
| expressions involving null pointers. |
| (tree_single_nonzero_warnv_p): Call maybe_nonzero_address. |
| |
| 2016-03-31 Evandro Menezes <e.menezes@samsung.com> |
| |
| Fix the predicate "aarch64_simd_reg_or_zero" to correctly validate |
| the "Y" constraint (scalar FP 0.0 immediate). |
| |
| * gcc/config/aarch64/predicates.md (aarch64_simd_reg_or_zero): |
| Add the "const_double" to the list of operand constraints. |
| |
| 2016-04-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/70467 |
| * config/i386/i386.md (*add<dwi>3_doubleword, *sub<dwi>3_doubleword): |
| If low word of the last operand is 0, just emit addition/subtraction |
| for the high word. |
| |
| 2016-04-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| PR target/70404 |
| * config/s390/s390.c (s390_expand_insv): Check for everything |
| constant instead of just VOIDmode stuff. |
| |
| 2016-04-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| PR target/70496 |
| * config/arm/arm.h (ASM_APP_OFF): Handle TARGET_ARM and TARGET_THUMB. |
| |
| 2016-04-01 Nathan Sidwell <nathan@acm.org> |
| |
| * tree.def (TRY_CATCH_EXPR): Correct documentation. |
| |
| 2016-03-31 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/70461 |
| * ira-color.c (allocno_copy_cost_saving): Use allocno class if it |
| is necessary. |
| |
| 2016-03-31 Martin Liska <mliska@suse.cz> |
| |
| PR hsa/70399 |
| * hsa-brig.c (hsa_op_immed::emit_to_buffer): Emit either |
| a tree value or an immediate integer value to a buffer |
| that is eventually copied to a BRIG section. |
| (emit_immediate_operand): Call the function here. |
| * hsa-dump.c (dump_hsa_immed): Remove checking assert. |
| * hsa-gen.c (hsa_op_immed::hsa_op_immed): Remove initialization |
| of class' fields that are removed. |
| (hsa_op_immed::~hsa_op_immed): Remove deinitialization. |
| * hsa.h (class hsa_op_immed): Remove m_brig_repr and |
| m_brig_repr_size fields. |
| |
| 2016-03-31 Martin Liska <mliska@suse.cz> |
| |
| PR hsa/70391 |
| * hsa-gen.c (hsa_function_representation::update_dominance): New |
| function. |
| (convert_addr_to_flat_segment): Likewise. |
| (gen_hsa_memory_set): New alignment argument. |
| (gen_hsa_ctor_assignment): Likewise. |
| (gen_hsa_insns_for_single_assignment): Provide alignment |
| to gen_hsa_ctor_assignment. |
| (gen_hsa_insns_for_direct_call): Add new argument. |
| (expand_lhs_of_string_op): New function. |
| (expand_string_operation_builtin): Likewise. |
| (expand_memory_copy): New function. |
| (expand_memory_set): New function. |
| (gen_hsa_insns_for_call): Use HOST_WIDE_INT. |
| (convert_switch_statements): Change signature. |
| (generate_hsa): Use a return value of the function. |
| (pass_gen_hsail::execute): Do not call |
| convert_switch_statements here. |
| * hsa-regalloc.c (hsa_regalloc): Call update_dominance. |
| * hsa.h (hsa_function_representation::m_modified_cfg): New flag. |
| (hsa_function_representation::update_dominance): New function. |
| |
| 2016-03-31 Martin Liska <mliska@suse.cz> |
| |
| PR hsa/70391 |
| * hsa-brig.c (emit_directive_variable): Emit alignment |
| according to hsa_symbol::m_align. |
| * hsa-dump.c (hsa_byte_alignment): Move the function to another file. |
| (dump_hsa_symbol): Dump alignment of HSA symbols. |
| * hsa-gen.c (get_symbol_for_decl): Set-up alignment of a symbol. |
| (gen_hsa_addr_with_align): New function. |
| (hsa_bitmemref_alignment): Use newly added function. |
| (gen_hsa_insns_for_load): Likewise. |
| (gen_hsa_insns_for_store): Likewise. |
| (gen_hsa_memory_copy): New argument added. |
| (gen_hsa_insns_for_single_assignment): Respect |
| alignment for assignments processed via gen_hsa_memory_copy. |
| (gen_hsa_insns_for_direct_call): Likewise. |
| (gen_hsa_insns_for_return): Likewise. |
| (gen_function_def_parameters): Set default alignment. |
| * hsa.c (hsa_object_alignment): New function. |
| (hsa_byte_alignment): Pasted function. |
| * hsa.h (hsa_symbol::m_align): New field. |
| |
| 2016-03-31 Bin Cheng <bin.cheng@arm.com> |
| |
| * tree-ssa-loop-ivopts.c (get_computation_cost_at): Initialize |
| scratch field for goto case. |
| |
| 2016-03-31 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/arm/linux-elf.h (ASM_OUTPUT_DEF): Delete. |
| |
| 2016-03-31 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR target/70442 |
| * config/i386/i386.c (scalar_chain::convert_op): Fix description. |
| (scalar_chain::convert_insn): Call convert_op for reg |
| moves to handle undefined registers. |
| |
| 2016-03-31 Nathan Sidwell <nathan@acm.org> |
| |
| PR c++/70393 |
| * varasm.c (output_constructor_regular_field): Flush bitfield earlier. |
| Assert we don't want to move backwards. |
| |
| 2016-03-31 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| PR target/70453 |
| * config/i386/sse.md (define_mode_attr shuffletype): Fix typo. |
| |
| 2016-03-31 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/70460 |
| * ira.c (indirect_jump_optimize): Don't substitute LABEL_REF |
| with operand from REG_LABEL_OPERAND, instead substitute |
| SET_SRC or REG_EQUAL note content if it is a LABEL_REF. |
| Don't do anything for REG_NON_LOCAL_GOTO jumps. |
| |
| 2016-03-31 Martin Liska <mliska@suse.cz> |
| |
| * passes.c (execute_one_pass): Do not call |
| todo_after for a discarded function. |
| |
| 2016-03-31 Bin Cheng <bin.cheng@arm.com> |
| |
| * tree-ssa-loop-ivopts.c (struct comp_cost): New scrach field. |
| (no_cost, infinite_cost): Initialize the new field. |
| (get_computation_cost_at): Record setup cost. |
| (determine_use_iv_cost_address): Skip cost computation for sub |
| uses if we can estimate it without losing accuracy. |
| |
| 2016-03-30 Jan Hubicka <hubicka@ucw.cz> |
| |
| * tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic |
| estimates here. |
| * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also |
| max_loop_iterations_int. |
| (tree_unswitch_outer_loop): Likewise. |
| * tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise. |
| * tree-vect-loop.c (vect_analyze_loop_2): Likewise. |
| |
| 2016-03-30 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/70450 |
| * fold-const.c (extract_muldiv_1): Fix thinko in wide_int::from usage. |
| |
| 2016-03-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70421 |
| * config/i386/i386.c (ix86_expand_vector_set): Fix up argument order |
| in gen_blendm expander. |
| |
| 2016-03-30 Nick Clifton <nickc@redhat.com> |
| |
| PR target/62254 |
| * config/arm/arm.c (arm_reload_out_hi): Add code to handle the |
| case where we are already provided with an SImode SUBREG. |
| |
| 2016-03-30 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/70439 |
| * config/i386/i386.c (ix86_expand_epilogue): Properly check |
| conflict between DRAP register and __builtin_eh_return. |
| |
| 2016-03-30 Michael Matz <matz@suse.de> |
| Richard Biener <rguenther@suse.de> |
| |
| PR ipa/12392 |
| * ipa-polymorphic-call.c (struct type_change_info): Change |
| speculative to an unsigned allowing to limit the work we do. |
| (csftc_abort_walking_p): New inline function.. |
| (check_stmt_for_type_change): Limit the number of may-defs |
| skipped for speculative devirtualization to |
| max-speculative-devirt-maydefs. |
| * params.def (max-speculative-devirt-maydefs): New param. |
| * doc/invoke.texi (--param max-speculative-devirt-maydefs): Document. |
| |
| 2016-03-30 Mike Stump <mrs@gcc.gnu.org> |
| |
| PR target/63890 |
| * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Use when profiling |
| and TARGET_MACHO. |
| |
| 2016-03-30 Patrick Palka <ppalka@gcc.gnu.org> |
| |
| PR tree-optimization/59124 |
| * tree-vrp.c (register_edge_assert_for_2): For NAME != CST1 |
| where NAME = A +- CST2 add the assertion A != (CST1 -+ CST2). |
| |
| 2016-03-29 Jeff Law <law@redhat.com> |
| |
| * tree-ssa-coalesce.c (struct ssa_conflicts): Fix typo in comment. |
| |
| 2016-03-10 Jan Hubicka <hubicka@ucw.cz> |
| |
| * tree-ssa-loop-ivcanon.c (try_peel_loop): Change type of peel |
| to HOST_WIDE_INT. |
| |
| 2016-03-29 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * config/gnu.h (CPP_SPEC, LIB_SPEC): Don't override. |
| * config/i386/gnu.h (STARTFILE_SPEC): Use gcrt1.o instead of |
| gcrt0.o if linking dynamically. |
| |
| 2016-03-10 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/70283 |
| * ipa-devirt.c (methods_equal_p): New function. |
| (compare_virtual_tables): Use it. |
| * cgraph.h (symbol_table::symbol_suffix_separator): Declare. |
| * cgraphclones.c (clone_function_name_1): Use |
| symbol_table::symbol_suffix_separator. |
| * coverage.c (build_var): Likewise. |
| * symtab.c (symbol_table::symbol_suffix_separator): New. |
| |
| 2016-03-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/70429 |
| * combine.c (simplify_shift_const_1): For ASHIFTRT don't optimize |
| (cst1 >> count) >> cst2 into (cst1 >> cst2) >> count if |
| mode != result_mode. |
| |
| PR c++/70353 |
| * tree-inline.c (remap_decls): Don't add_local_decl if cfun is null. |
| |
| PR tree-optimization/70405 |
| * ssa-iterators.h (num_imm_uses): Add missing braces. |
| |
| 2016-03-29 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/68695 |
| * ira-color.c (allocno_copy_cost_saving): New. |
| (improve_allocation): Use it. |
| |
| 2016-03-29 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/70355 |
| * lower-subreg.c (simplify_subreg_concatn): Reject paradoxical subregs. |
| |
| 2016-03-29 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/70424 |
| * ipa-prop.c (ipa_compute_jump_functions_for_edge): Always |
| use alignment returned by get_pointer_alignment_1 if it is |
| bigger than BITS_PER_UNIT. |
| * builtins.c (get_pointer_alignment_1): Do not return true |
| for alignment extracted from SSA info. |
| |
| 2016-03-28 James Bowman <james.bowman@ftdichip.com> |
| |
| * config/ft32/ft32.opt (mnodiv): New. |
| * config/ft32/ft32.md (*divsi3, *modsi3): Qualify with TARGET_NODIV. |
| * doc/invoke.texi (FT32 Options -mnodiv): New. |
| |
| 2016-03-28 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| PR target/70406 |
| * config/i386/i386.md (define_split, andn): Fix modes. |
| |
| 2016-03-26 Richard Biener <rguenther@suse.de> |
| Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> |
| |
| PR ipa/70366 |
| * ipa-inline-transform.c (inline_call): Pass opts_for_fn (to->decl) |
| instead of |
| TREE_OPTIMIZATION (DECL_FUNCTION_SPECIFIC_OPTIMIZATION (to->decl)) |
| as 2nd argument to cl_optimization_restore(). |
| |
| 2016-03-25 Richard Henderson <rth@redhat.com> |
| |
| PR target/70120 |
| * config/aarch64/aarch64.c (aarch64_asm_output_pool_epilogue): New. |
| * config/aarch64/aarch64-protos.h: Declare it. |
| * config/aarch64/aarch64.h (ASM_OUTPUT_POOL_EPILOGUE): New. |
| |
| 2016-03-25 Alan Modra <amodra@gmail.com> |
| |
| PR target/70052 |
| * config/rs6000/constraints.md (j): Simplify. |
| * config/rs6000/predicates.md (easy_fp_constant): Exclude |
| decimal float 0.D. |
| * config/rs6000/rs6000.md (zero_fp): New mode_attr. |
| (mov<mode>_hardfloat, mov<mode>_hardfloat32, mov<mode>_hardfloat64, |
| mov<mode>_64bit_dm, mov<mode>_32bit): Use zero_fp in place of j |
| in all constraint alternatives. |
| (movtd_64bit_nodm): Delete "j" constraint alternative. |
| |
| 2016-03-24 Aldy Hernandez <aldyh@redhat.com> |
| |
| * tree-ssa-propagate.c: Enhance docs for |
| SSA_PROP_NOT_INTERESTING. |
| |
| 2016-03-24 Aldy Hernandez <aldyh@redhat.com> |
| |
| * doc/extend.texi: Fix typo in documentation to pure attribute. |
| |
| 2016-03-24 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/70319 |
| * config/pa/pa.md (bswapdi2): Use a scratch register. |
| |
| 2016-03-24 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/69845 |
| * fold-const.c (extract_muldiv_1): Correct test for multiplication |
| overflow. |
| |
| 2016-03-24 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (*anddi3_doubleword): Generate AND insn |
| using ix86_expand_binary_operator instead of gen_andsi3. |
| |
| 2016-03-24 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/70396 |
| * tree-vect-stmts.c (vectorizable_comparison): Use |
| get_vectype_for_scalar_type. |
| |
| 2016-03-24 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/70370 |
| * gimplify.c (gimplify_asm_expr): Handle !allows_mem outputs |
| with register bases. |
| |
| 2016-03-24 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/70372 |
| * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Use |
| build_all_ones_cst to also handle vector types correctly. |
| |
| 2016-03-23 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/70381 |
| * config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Do not set |
| -mfloat128 here. |
| |
| 2016-03-23 Marek Polacek <polacek@redhat.com> |
| |
| PR c++/69884 |
| * doc/invoke.texi: Document -Wignored-attributes. |
| |
| 2016-03-23 Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/69042 |
| * params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND): Increase the |
| parameter from 30 to 40. |
| |
| 2016-03-23 Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/69042 |
| * tree-ssa-loop-ivopts.c (add_iv_candidate_for_use): Add IV cand |
| for use with constant offset stripped in base. |
| |
| 2016-03-23 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/70251 |
| * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Adjust |
| mode compatibility check. |
| (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise. |
| |
| 2016-03-23 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/64058 |
| * tree-ssa-coalesce.c (struct coalesce_pair): Add new field |
| CONFLICT_COUNT. |
| (struct ssa_conflicts): Move up earlier in the file. |
| (conflicts_, var_map_): New static variables. |
| (initialize_conflict_count): New function to initialize the |
| CONFLICT_COUNT field for each conflict pair. |
| (compare_pairs): Lazily initialize the conflict count and use it |
| as the first tie-breaker. |
| (sort_coalesce_list): Add new arguments conflicts, map. Initialize |
| and wipe conflicts_ and map_ around the call to qsort. Remove |
| special case for 2 coalesce pairs. |
| * bitmap.c (bitmap_count_unique_bits): New function. |
| (bitmap_count_bits_in_word): New function, extracted from |
| bitmap_count_bits. |
| (bitmap_count_bits): Use bitmap_count_bits_in_word. |
| * bitmap.h (bitmap_count_unique_bits): Declare it. |
| |
| 2016-03-23 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR target/69917 |
| * config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Follow |
| transparent alias chain for decl assembler name. |
| * config/sol2.c (solaris_assemble_visibility): Likewise. |
| |
| 2016-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm1020e.md (1020call_op): Reduce reservation |
| duration. |
| (v10_fdivs): Likewise. |
| (v10_fdivd): Likewise. |
| |
| 2016-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR driver/70132 |
| * config/arm/driver-arm.c (host_detect_local_cpu): Reorder exit logic |
| to not call fclose twice on file. |
| |
| 2016-03-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/70354 |
| * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If |
| oprnd0 is wider than oprnd1 and there is a cast from the wider |
| type to oprnd1, mask it with the mask of the narrower type. |
| |
| PR target/70321 |
| * config/i386/i386.md (*anddi3_doubleword, *<code>di3_doubleword): |
| Optimize TARGET_STV splitters, if high or low word of last argument |
| is 0 or -1. |
| |
| 2016-03-22 Jeff Law <law@redhat.com> |
| |
| PR target/70232 |
| tree-ssa-threadbackward.c |
| (fsm_find_control_statement_thread_paths): Correctly distinguish |
| between old style jump threads vs FSM jump threads. |
| |
| 2016-03-22 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR target/70302 |
| * config/i386/i386.c (scalar_chain::convert_op): Support |
| uninitialized register usage case. |
| |
| 2016-03-22 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/70251 |
| * genmatch.c (gen_transform): Adjust last parameter to a three-state |
| int... |
| (capture::gen_transform): ... to change behavior when substituting |
| a condition into cond or not-cond expr context. |
| (dt_simplify::gen_1): Adjust. |
| * gimple-match-head.c: Include gimplify.h for unshare_expr. |
| * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Revert |
| last change and instead change to |
| A + (B vcmp C ? 1 : 0) -> A - (B vcmp C ? -1 : 0). |
| (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise. |
| |
| 2016-03-22 Anthony Green <green@moxielogic.com> |
| |
| * config/moxie/moxiebox.h (CC1_SPEC): Define. Fix endianness |
| issue for moxiebox targets. |
| (CC1PLUS_SPEC): Ditto. |
| |
| 2016-03-22 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/70333 |
| * fold-const.c (extract_muldiv_1): Properly perform multiplication |
| in the wide type. |
| |
| 2016-03-22 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| * config/i386/i386.c (def_builtin): Remove duplicated functionality. |
| |
| 2016-03-22 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| PR target/70325 |
| * config/i386/i386.c (def_builtin): Handle |
| OPTION_MASK_ISA_AVX512VL to be and-ed with other |
| bits. |
| (const struct builtin_description bdesc_special_args[]): |
| Remove duplicate ISA bits. |
| |
| 2016-03-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70329 |
| * config/i386/i386.c (ix86_expand_vecop_qihi): Don't bother computing |
| d.perm[i] for i >= d.nelt. If not full_interleave, compute d.perm[i] |
| in a way that works also for AVX512BW. |
| |
| PR target/70300 |
| * config/i386/i386.md (cvtsd2ss splitter): Unpack in destination |
| instead of source if operands[1] is xmm16 and above and |
| !TARGET_AVX512VL. Use avx512f_vec_dupv16sf_1 instead of |
| vec_interleave_lowv4sf if we need to unpack xmm16 and above. |
| |
| PR c++/70295 |
| * gimplify.c (gimplify_modify_expr): Call gimple_set_no_warning |
| on assign if (*from_p) is a comparison, set it to |
| TREE_NO_WARNING (*from_p). |
| |
| 2016-03-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/70326 |
| * lra.c (restore_scratches): Ignore deleted insns. |
| |
| 2016-03-21 Marc Glisse <marc.glisse@inria.fr> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/70317 |
| * match.pd (cmp @0 @0): Pass @0 instead of TYPE_MODE (TREE_TYPE (@0)) |
| to HONOR_NANS. |
| |
| 2016-03-21 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/70327 |
| * config/i386/i386.md (movxi): Use ix86_expand_vector_move instead |
| of ix86_expand_move. |
| (movoi): Ditto. |
| (movti): Use general_operand for operand 1 predicate. |
| |
| 2016-03-21 Martin Liska <mliska@suse.cz> |
| |
| * hsa-dump.c (dump_hsa_insn_1): dump default branch of SBR |
| insns. |
| (dump_hsa_symbol): Dump BRIG offset of hsa_symbols. |
| |
| 2016-03-21 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/70306 |
| * ipa-icf.c (sem_function::parse): Skip static |
| constructors and destructors. |
| |
| 2016-03-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70296 |
| * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If IDENT is |
| function-like macro, peek following token(s) if it is followed |
| by CPP_OPEN_PAREN token with optional padding in between, and |
| if not, don't treat it like a macro. |
| |
| 2016-03-21 Thomas Schwinge <thomas@codesourcery.com> |
| Alexander Monakov <amonakov@ispras.ru> |
| |
| * config/nvptx/nvptx.c (nvptx_option_override): Don't emit sorry |
| for the stabs debug format. |
| |
| 2016-03-21 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/70310 |
| * tree-vect-generic.c (expand_vector_condition): Fold the built |
| condition. |
| |
| 2016-03-21 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| PR target/70293 |
| * config/i386/sse.md: (define_insn "*vec_dup<mode>"/AVX2): |
| Block third alternative for AVX-512VL target, |
| |
| 2016-03-21 Martin Liska <mliska@suse.cz> |
| |
| PR hsa/70234 |
| * hsa-brig.c (emit_function_directives): Mark unemitted |
| global variables for emission. |
| * hsa-gen.c (hsa_symbol::hsa_symbol): Initialize a new flag. |
| (get_symbol_for_decl): Likewise. |
| * hsa.h (struct hsa_symbol): New flag. |
| |
| 2016-03-21 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/70288 |
| * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Make sure |
| we do not estimate unsimplified all-constant conditionals or |
| switches as optimized away. |
| |
| 2016-03-21 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/69102 |
| * sched-deps.c (sched_analyze_insn): Do not set last_args_size field |
| when we have a readonly dependency context. |
| |
| 2016-03-18 Jeff Law <law@redhat.com> |
| |
| PR rtl-optimization/70263 |
| * ira.c (memref_used_between_p): Assert we found END in the insn chain. |
| (update_equiv_regs): When trying to move a store to after the insn |
| that sets the source of the store, make sure the store occurs after |
| the insn that sets the source of the store. When successful note |
| the REG_EQUIV note created in the dump file. |
| |
| 2016-03-16 David Wohlferd <dw@LimeGreenSocks.com> |
| Bernd Schmidt <bschmidt@redhat.com> |
| |
| * doc/extend.texi: Document more potential problems with basic asms. |
| |
| 2016-03-18 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR rtl-optimization/70278 |
| * lra-constraints.c (split_reg): Handle the case where biggest_mode is |
| VOIDmode. |
| |
| 2016-03-18 Jason Merrill <jason@redhat.com> |
| |
| * calls.c (load_register_parameters): Fix zero size sibcall logic. |
| |
| 2016-03-18 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| * config/i386/sse.md: Use vpbroadcastq for broadcasting DF |
| values to 128b regs. |
| |
| 2016-03-18 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR tree-optimization/70252 |
| * tree-vect-stmts.c (supportable_widening_operation): Check resulting |
| boolean vector has a proper number of elements. |
| (supportable_narrowing_operation): Likewise. |
| |
| 2016-03-18 Tom de Vries <tom@codesourcery.com> |
| |
| PR ipa/70269 |
| * cgraph.c (cgraph_node::get_body): Set dump_file to NULL after save. |
| |
| 2016-03-18 Jakub Jelinek <jakub@redhat.com> |
| |
| * reload1.c (emit_input_reload_insns): Use simplify_replace_rtx |
| instead of replace_rtx for DEBUG_INSNs. |
| |
| 2016-03-18 Venkataramanan Kumar <venkataramanan.kumar@amd.com> |
| |
| * config/i386/znver1.md : Fix latencies of FP/SSE/AVX |
| load type reservations. |
| |
| 2016-03-17 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/70188 |
| * config/pa/constraints.md: Revert 2015-02-13 change. Use |
| define_constraint for "Q" and "T" constraints. |
| |
| 2016-03-17 Evandro Menezes <e.menezes@samsung.com> |
| |
| Tweak the pipeline model for Exynos M1 |
| |
| * config/aarch64/aarch64.c (exynosm1_tunings): Enable weak prefetching |
| model. |
| |
| 2016-03-17 David Malcolm <dmalcolm@redhat.com> |
| |
| PR c/70264 |
| * diagnostic-show-locus.c (compatible_locations_p): Handle the case |
| where one or both locations aren't within a line_map. |
| |
| 2016-03-17 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR driver/70192 |
| * opts.c (finish_options): Don't set flag_pie to the default if |
| -fpic, -fPIC, -fno-pic or -fno-PIC is used. Set flag_pic to 0 |
| if it is -1. |
| |
| 2016-03-17 Joern Rennecke <joern.rennecke@embecosm.com> |
| |
| * config/i386/i386.md (*movv4qicc_insn+1..36): Pass |
| true as ALL_REGS argument to replace_rtx. |
| |
| 2016-03-17 Richard Biener <rguenther@suse.de> |
| |
| PR debug/70271 |
| * dwarf2out.c (dwarf2out_early_finish): Process deferred_asm_name |
| last. |
| |
| 2016-03-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70245 |
| * rtl.h (replace_rtx): Add ALL_REGS argument. |
| * rtlanal.c (replace_rtx): Likewise. If true, use REGNO |
| equality and assert mode is the same, instead of just rtx pointer |
| equality. |
| * config/i386/i386.md (mov + arithmetics with load peephole): Pass |
| true as ALL_REGS argument to replace_rtx. |
| |
| 2016-03-17 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Apply |
| for boolean vector with vector mode only. |
| (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise. |
| |
| 2016-03-17 Nick Clifton <nickc@redhat.com> |
| |
| PR target/70162 |
| * config/rx/rx.c (rx_print_integer): Print negative constants in |
| decimal. |
| |
| 2016-03-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70261 |
| * rtlanal.c (replace_rtx): Revert 2016-03-16 change. |
| |
| 2016-03-16 Richard Henderson <rth@redhat.com> |
| Richard Biener <rguenth@suse.de> |
| |
| PR middle-end/70240 |
| PR middle-end/68215 |
| PR tree-opt/68714 |
| * gimplify.c (gimplify_expr) [VEC_COND_EXPR]: Gimplify the |
| first operand as is_gimple_condexpr. |
| |
| PR middle-end/70240 |
| PR middle-end/68215 |
| Revert r231575 |
| 2015-12-11 Eric Botcazou <ebotcazou@adacore.com> |
| * tree-vect-generic.c (tree_vec_extract): Remove GSI parameter. |
| Do not gimplify the result. |
| (do_unop): Adjust call to tree_vec_extract. |
| (do_binop): Likewise. |
| (do_compare): Likewise. |
| (do_plus_minus): Likewise. |
| (do_negate): Likewise. |
| (expand_vector_condition): Likewise. |
| (do_cond): Likewise. |
| |
| 2016-03-16 Richard Henderson <rth@redhat.com> |
| |
| PR target/70048 |
| * config/aarch64/aarch64.c (virt_or_elim_regno_p): New. |
| (aarch64_classify_address): Use it. |
| (aarch64_legitimize_address): Force all subexpressions of PLUS |
| into registers. Simplify as (sfp+const)+reg or (reg+reg)+const. |
| |
| 2016-03-16 Jakub Jelinek <jakub@redhat.com> |
| Richard Biener <rguenth@suse.de> |
| |
| PR target/70245 |
| * rtlanal.c (replace_rtx): For REG, if from is a REG, |
| return to even if only REGNO is equal, and assert |
| mode is the same. |
| |
| 2016-03-11 Jeff Law <law@redhat.com> |
| |
| PR rtl-optimization/70224 |
| * reorg.c (relax_delay_slots): Pass right argument to CROSSING_JUMP_P. |
| |
| 2016-03-16 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/70199 |
| * function.h (struct function): Add has_forced_label_in_static. |
| * gimplify.c (force_labels_r): Set it. |
| * lto-streamer-in.c (input_struct_function_base): Read it. |
| * lto-streamer-out.c (output_struct_function_base): Write it. |
| * tree-inline.c (has_label_address_in_static_1): Remove. |
| (copy_forbidden): Remove fndecl parameter; test |
| has_forced_label_in_static. |
| (inline_forbidden_p): Update call to copy_forbidden. |
| (tree_versionable_function_p): Likewise. |
| * ipa-chkp.c (chkp_instrumentable_p): Likewise. |
| (chkp_versioning): Likewise. |
| * tree-inline.h (copy_forbidden): Update decl. |
| |
| 2016-03-16 Marek Polacek <polacek@redhat.com> |
| |
| PR c/70093 |
| * cgraphunit.c (cgraph_node::expand_thunk): Also build call to the |
| function being thunked if the result type doesn't have fixed size. |
| * gimplify.c (gimplify_modify_expr): Also set LHS if the result type |
| doesn't have fixed size. |
| |
| 2016-03-16 Bin Cheng <bin.cheng@arm.com> |
| |
| * tree-vect-loop.c (vect_analyze_loop_2): Fix wrong dump info by |
| reporting malformed loop nest. |
| |
| 2016-03-16 Tom de Vries <tom@codesourcery.com> |
| |
| PR lto/70187 |
| * ipa-devirt.c (possible_polymorphic_call_targets): Move |
| nodes.length () == 1 test to before first nodes[0] access. |
| |
| 2016-03-16 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/68715 |
| * graphite-scop-detection.c (scop_detection::merge_sese): Add missing |
| single_pred_p test. |
| |
| 2016-03-16 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/68809 |
| * graphite-scop-detection.c (same_close_phi_node): Test if result types |
| are the same. |
| |
| 2016-03-16 Carlos O'Donell <carlos@redhat.com> |
| Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/extend.texi (Common Function Attributes): Describe ifunc impact |
| on leaf attribute. Mention ELF interposition problems. |
| |
| 2016-03-16 Alan Modra <amodra@gmail.com> |
| |
| PR rtl-optimization/69195 |
| PR rtl-optimization/47992 |
| * ira.c (indirect_jump_optimize): Ignore artificial defs. |
| Add comments. |
| |
| 2016-03-15 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR bootstrap/69513 |
| * dwarf2out.c (flush_limbo_die_list): Really flush the limbo list. |
| |
| 2016-03-15 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> |
| |
| * config/avr/avr.md (rotl<mode>3): Set mode for operand 2. |
| |
| 2016-03-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/70222 |
| * combine.c (simplify_shift_const_1): For A >> B >> C LSHIFTRT |
| optimization if mode is different from result_mode, queue up masking |
| of the result in outer_op. Formatting fix. |
| |
| PR middle-end/70239 |
| * tree-ssa-sccvn.c (VN_INFO_GET): Use safe_grow_cleared instead |
| of safe_grow. |
| |
| 2016-03-15 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/69032 |
| * sel-sched-ir.c (get_seqno_by_preds): Include both insn and head when |
| looping backwards over basic block insns. |
| |
| 2016-03-15 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR target/66660 |
| * sel-sched-ir.c (merge_expr): Avoid changing the speculative pattern |
| to non-speculative when propagating trap bits. |
| |
| 2016-03-15 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/63384 |
| * sel-sched.c (invoke_aftermath_hooks): Do not decrease issue_more on |
| DEBUG_INSN_P insns. |
| |
| 2016-03-15 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR target/64411 |
| * sched-deps.c (get_implicit_reg_pending_clobbers): New function, |
| factored out from ... |
| (sched_analyze_insn): ... here. |
| * sched-int.h (get_implicit_reg_pending_clobbers): Declare it. |
| * sel-sched-ir.c (setup_id_implicit_regs): New function, use |
| get_implicit_reg_pending_clobbers in it. |
| (setup_id_reg_sets): Use setup_id_implicit_regs. |
| (deps_init_id): Ditto. |
| |
| 2016-03-15 Tom de Vries <tom@codesourcery.com> |
| |
| PR ipa/70161 |
| * cgraph.c (cgraph_node::get_body): Save, reset and restore |
| dump_file_name. |
| * passes.c (execute_one_ipa_transform_pass): Add missing argument to |
| execute_function_dump. |
| (execute_one_pass): Don't dump function if it will be dumped after ipa |
| transform. |
| |
| 2016-03-15 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * genrecog.c (match_pattern_2): If pred is NULL don't call |
| safe_predicate_mode on it. |
| |
| 2016-03-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/70219 |
| * lra-constraints.c (delete_move_and_clobber): Change assertion |
| to also allow dregno == 0. |
| |
| 2016-03-14 Richard Henderson <rth@redhat.com> |
| |
| PR tree-opt/68714 |
| * tree-ssa-reassoc.c (ovce_extract_ops, optimize_vec_cond_expr): New. |
| (can_reassociate_p): Allow ANY_INTEGRAL_TYPE_P. |
| (reassociate_bb): Use optimize_vec_cond_expr; avoid |
| optimize_range_tests, attempt_builtin_copysign and attempt_builtin_powi |
| on vectors. |
| |
| 2016-03-14 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR target/70083 |
| * lra-lives.c (process_bb_lives): Also update biggest mode for hard |
| regs. |
| (lra_create_live_ranges_1): initialize hard register biggest_mode to |
| VOIDmode. |
| * lra-constraints.c (split_reg): For hard regs, try to find the |
| biggest single-register mode used in the function. |
| |
| 2016-03-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/56365 |
| * tree-ssa-phiopt.c (minmax_replacement): Handle alternate |
| constants to compare against. |
| |
| 2016-03-14 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/70098 |
| * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2, |
| *ctr<mode>_internal5, *ctr<mode>_internal6): Also allow "d" as output. |
| (define_split for the GPR case): Use int_reg_operand instead of |
| gpc_reg_operand for the output. |
| |
| 2016-03-14 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/70045 |
| * graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard): Unshare |
| create_empty_if_region_on_edge argument. |
| |
| 2016-03-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/arm/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Define. |
| (STACK_CHECK_PROTECT): Likewise. |
| * config/i386/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise |
| (STACK_CHECK_PROTECT): Likewise. |
| * config/rs6000/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise |
| (STACK_CHECK_PROTECT): Likewise. |
| * config/rs6000/vxworksae.h (STACK_CHECK_PROTECT): Likewise. |
| * config/sparc/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise. |
| (STACK_CHECK_PROTECT): Likewise. |
| |
| 2016-03-12 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/69307 |
| * sel-sched.c (choose_best_pseudo_reg): Properly check for hard |
| registers in modes that span more than one register. |
| |
| 2016-03-12 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/69614 |
| * lra-constraints.c (delete_move_and_clobber): New. |
| (remove_inheritance_pseudos): Use it. |
| |
| 2016-03-12 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/70017 |
| * calls.c (emit_library_call_value_1): Clear the ECF_NOTHROW flag if |
| the libcall is LCT_THROW. |
| * explow.c (probe_stack_range): Pass LCT_THROW to emit_library_call |
| for the checking routine. |
| |
| 2016-03-11 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/70131 |
| * config/rs6000/rs6000.md (round32<mode>2_fprs): Do not do the |
| optimization if we have direct move. |
| (roundu32<mode>2_fprs): Likewise. |
| |
| 2016-03-11 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR target/70123 |
| * lra-remat.c (operand_to_remat): Disallow hard regs in the value t |
| be rematerialized. |
| (reg_overlap_for_remat_p): Renamed from input_regno_present_p. |
| Arguments swapped. All callers changed. Take reg_renumber into |
| account, and Calculate and compare register ranges for hard regs. |
| |
| 2016-03-11 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/70190 |
| * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): |
| Handle cases where we can not extract the taken edge, even though we |
| found a constant value. |
| |
| PR tree-optimization/64058 |
| * tree-ssa-coalesce.c (struct coalesce_pair): Add new field INDEX. |
| (num_coalesce_pairs): Move up earlier in file. |
| (find_coalesce_pair): Initialize the INDEX field for each pair |
| discovered. |
| (compare_pairs): No longer sort on the elements in each pair. |
| Instead break ties with the index of the coalesce pair. |
| |
| 2016-03-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/70002 |
| * config/aarch64/aarch64-protos.h |
| (aarch64_save_restore_target_globals): New prototype. |
| * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse): |
| Call the above when popping pragma. |
| * config/aarch64/aarch64.c (aarch64_save_restore_target_globals): |
| New function. |
| (aarch64_set_current_function): Rewrite using the above. |
| |
| 2016-03-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/70177 |
| * gimple-expr.h (extract_ops_from_tree_1): Renamed to ... |
| (extract_ops_from_tree): ... this. In the 2 argument |
| overload remove _1 suffix. |
| * gimple-expr.c (extract_ops_from_tree_1): Renamed to ... |
| (extract_ops_from_tree): ... this. |
| * gimple.c (gimple_build_assign, gimple_assign_set_rhs_from_tree): |
| Adjust callers. |
| * tree-ssa-loop-niter.c (derive_constant_upper_bound): Likewise. |
| * tree-ssa-forwprop.c (defcodefor_name): Call 3 operand |
| extract_ops_from_tree instead of 2 operand one. |
| |
| 2016-03-11 Alan Lawrence <alan.lawrence@arm.com> |
| |
| PR tree-optimization/70013 |
| * tree-sra.c (analyze_access_subtree): Also set grp_unscalarized_data |
| for constant-pool entries. |
| |
| 2016-03-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/70174 |
| * expmed.c (store_bit_field_using_insv): Use gen_lowpart_if_possible |
| followed by gen_lowpart on force_reg instead of just gen_lowpart. |
| |
| PR tree-optimization/70169 |
| * tree-ssa-loop.c (gen_lsm_tmp_name): Handle FUNCTION_DECL and |
| LABEL_DECL like VAR_DECL. Emit nothing instead of gcc_unreachable |
| for unknown codes. |
| |
| 2016-03-11 Ilya Enkovich <enkovich.gnu@gmail.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70160 |
| * config/i386/i386.c (scalar_chain::convert_reg): Skip uses |
| of uninitialized values. |
| |
| 2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md ("trunctddd2"): Turn former define_insn into |
| define_expand. |
| ("*trunctddd2"): New pattern definition. |
| ("trunctdsd2"): Set prep_for_short_prec rounding mode for the |
| TD->DD truncation. |
| |
| 2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md (BFP_RND_*, DFP_RND_*): Add new constant |
| definitions for BFP and DFP rounding modes. |
| ("fixuns_truncdddi2", "fixuns_trunctddi2") |
| ("fixuns_trunc<BFP:mode><GPR:mode>2", "fixuns_trunc<mode>si2") |
| ("fix_trunc<DSF:mode><GPR:mode>2", "fix_trunc<mode>di2") |
| ("fix_trunctf<mode>2"): Use the new constants instead of magic |
| numbers. |
| |
| 2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/constraints.md: Adjust comment. |
| ("Y"): Adjust comment. Rename s390_decompose_shift_count to |
| s390_decompose_addrstyle_without_index. |
| * config/s390/predicates.md (shift_count_or_setmem_operand): |
| Rename to setmem_operand. |
| * config/s390/s390-protos.h |
| (s390_decompose_shift_count): Rename to |
| s390_decompose_addrstyle_without_index. |
| * config/s390/s390.c (s390_decompose_shift_count) |
| (s390_mem_constraint, print_shift_count_operand) |
| (print_operand_address, print_operand): Rename |
| s390_decompose_shift_count to |
| s390_decompose_addrstyle_without_index and rename |
| print_shift_count_operand to print_addrstyle_operand troughout the |
| file. |
| * config/s390/s390.md ("setmem_long_<P:mode>", "*setmem_long") |
| ("*setmem_long_and", "*setmem_long_31z", "*setmem_long_and_31z"): |
| Rename shift_count_or_setmem_operand to setmem_operand. |
| * config/s390/vx-builtins.md ("vec_insert<mode>") |
| ("vec_promote<mode>"): Replace shift_count_or_setmem_operand with |
| nonmemory_operand. |
| |
| 2016-03-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| PR target/70168 |
| * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): |
| Handle overlapping retval and newval. |
| |
| 2016-03-10 Nick Clifton <nickc@redhat.com> |
| |
| PR target/7044 |
| * config/aarch64/aarch64.c |
| (aarch64_override_options_after_change_1): When forcing |
| flag_omit_frame_pointer to be true, use a special value that can |
| be detected if this function is called again, thus preventing |
| flag_omit_leaf_frame_pointer from being forced to be false. |
| |
| 2016-03-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * common/config/aarch64/aarch64-common.c (aarch64_handle_option): |
| Set x_flag_omit_leaf_frame_pointer when handling |
| -momit-leaf-frame-pointer. |
| |
| 2016-03-10 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR lto/69589 |
| * cgraph.c (cgraph_node::dump): Dump split_part and |
| indirect_call_target. |
| * cgraph.h (cgraph_node): Add indirect_call_target flag. |
| * ipa.c (has_addr_references_p): Cleanup. |
| (is_indirect_call_target_p): New. |
| (walk_polymorphic_call_targets): Do not mark virtuals that may be |
| called indirectly as local. |
| (symbol_table::remove_unreachable_nodes): Compute indirect_call_target. |
| |
| 2016-03-10 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/69630 |
| * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE |
| on cxa_pure_virtual. |
| |
| 2016-03-10 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR lto/69589 |
| * tree.c (free_lang_data_in_decl): Clear visibility of TYPE_DECL. |
| |
| 2016-03-10 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR lto/69589 |
| * tree.c (need_assembler_name_p): Only record main variant type names. |
| |
| 2016-03-10 Christophe Lyon <christophe.lyon@linaro.org> |
| |
| PR target/70113. |
| * config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_843419_DEFAULT): |
| Always define to 0 or 1. |
| (TARGET_FIX_ERR_A53_843419): New macro. |
| * config/aarch64/aarch64-elf-raw.h |
| (TARGET_FIX_ERR_A53_843419_DEFAULT): Update for above changes. |
| * config/aarch64/aarch64-linux.h: Likewise. |
| * config/aarch64/aarch64.c |
| (aarch64_override_options_after_change_1): Do not default |
| aarch64_nopcrelative_literal_loads to true if Cortex-A53 erratum |
| 843419 is on. |
| (aarch64_attributes): Handle fix-cortex-a53-843419. |
| (aarch64_can_inline_p): Likewise. |
| * config/aarch64/aarch64.opt (aarch64_fix_a53_err843419): Save. |
| |
| 2016-03-10 Alan Lawrence <alan.lawrence@arm.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| * common.opt (funconstrained-commons, flag_unconstrained_commons): New. |
| * tree.c (array_at_struct_end_p): Do not limit to size of decl for |
| DECL_COMMONS if flag_unconstrained_commons is set. |
| * tree-dfa.c (get_ref_base_and_extent): Likewise. |
| * doc/invoke.texi (Optimize Options): Add -funconstrained-commons. |
| (funconstrained-commons): Document. |
| |
| 2016-03-10 Christophe Lyon <christophe.lyon@linaro.org> |
| |
| * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add |
| aarch64-fusion-pairs.def and aarch64-tuning-flags.def |
| |
| 2016-03-10 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| * tree-vect-stmts.c (vectorizable_mask_load_store): Check mask |
| has a proper number of elements. |
| |
| 2016-03-10 Alan Modra <amodra@gmail.com> |
| |
| PR rtl-optimization/69195 |
| PR rtl-optimization/47992 |
| * ira.c (recorded_label_ref): Delete. |
| (update_equiv_regs): Return void. |
| (indirect_jump_optimize): New function. |
| (ira): Call indirect_jump_optimize and delete_trivially_dead_insns |
| before regstat_compute_ri. Don't rebuild_jump_labels here. |
| Delete update_regstat. |
| |
| 2016-03-10 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/70128 |
| * tree-ssa-structalias.c (set_uids_in_ptset): Set |
| vars_contains_nonlocal for any FUNCTION_DECL or LABEL_DECL. |
| |
| 2016-03-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/70152 |
| * tree-sra.c (replace_removed_params_ssa_names): Copy over |
| SSA_NAME_OCCURS_IN_ABNORMAL_PHI from old_name to new_name. |
| |
| PR target/70086 |
| * config/i386/i386.md (truncdfsf2 splitter): Use gen_vec_concatv2df |
| instead of gen_sse2_loadlpd. |
| * config/i386/sse.md (*vec_concatv2df): Rename to... |
| (vec_concatv2df): ... this. |
| |
| PR tree-optimization/70127 |
| * fold-const.c (operand_equal_p): Revert the 2015-10-28 change. |
| |
| 2016-03-09 David Malcolm <dmalcolm@redhat.com> |
| |
| PR c/68473 |
| PR c++/70105 |
| * diagnostic-show-locus.c (compatible_locations_p): New function. |
| (layout::layout): Sanitize ranges using compatible_locations_p. |
| |
| 2016-03-09 David Malcolm <dmalcolm@redhat.com> |
| |
| PR c/68473 |
| PR c++/70105 |
| * diagnostic-show-locus.c (layout_range::layout_range): Replace |
| location_range param with three const expanded_locations * and a |
| bool. |
| (layout::layout): Replace call to |
| rich_location::lazily_expand_location with get_expanded_location. |
| Extract the range and perform location expansion here, passing |
| the results to the layout_range ctor. |
| * diagnostic.c (source_range::debug): Delete. |
| * diagnostic.h (diagnostic_expand_location): Reimplement in terms |
| of rich_location::get_expanded_location. |
| * gcc-rich-location.c (get_range_for_expr): Delete. |
| (gcc_rich_location::add_expr): Reimplement to avoid the |
| rich_location::add_range overload that took a location_range, |
| passing a location_t instead. |
| |
| 2016-03-09 Richard Biener <rguenther@suse.de> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/70138 |
| * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer): |
| Also skip vect_double_reduction_def. |
| |
| 2016-03-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70049 |
| * config/i386/sse.md (*vec_extract<mode>): Use %0 instead of %k0 |
| if the operand is "m". |
| |
| 2016-03-09 Nathan Sidwell <nathan@acm.org> |
| |
| * config/nvptx/nvptx.c (nvptx_option_override): Don't kill debug level. |
| |
| 2016-03-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com> |
| |
| * config/i386/i386.c (processor_target_table): Fix cost table |
| intialization order for znver1. |
| |
| 2016-03-08 Jakub Jelinek <jakub@redhat.com> |
| |
| * ipa-polymorphic-call.c (walk_ssa_copies): Fix spelling |
| - becuase -> because. |
| * ipa-reference.c (ignore_module_statics): Likewise. |
| * cgraph.c (cgraph_node::get_body): Likewise. |
| * ipa-inline.c (early_inliner): Likewise. |
| * ipa-devirt.c (types_same_for_odr): Likewise. |
| * tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise. |
| * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Likewise. |
| |
| 2016-03-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * tree-ssa-math-opts.c: Fix typo in comment. |
| |
| 2016-03-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70110 |
| * config/i386/i386.c (scalar_chain::make_vector_copies, |
| scalar_chain::convert_reg): Call end_sequence in between |
| get_insns and emit_conversion_insns rather than after both |
| calls. |
| |
| 2016-03-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/70064 |
| * config/i386/i386.h (machine_function): Add |
| pc_thunk_call_expanded flag. |
| (ix86_pc_thunk_call_expanded): New define. |
| * config/i386/i386.md (set_got, set_got_labelled): New expanders. |
| (*set_got): Rename insn pattern from set_got. |
| (*set_got_labelled): Rename inst pattern from set_got_labelled. |
| * config/i386/i386.c (ix86_compute_frame_layout): Use |
| ix86_pc_thunk_call_expanded to prevent red-zone. |
| |
| 2016-03-07 Martin Jambor <mjambor@suse.cz> |
| |
| * hsa.h (hsa_get_ctor_statements): Declare. |
| (hsa_get_dtor_statements): Likewise. |
| (hsa_get_kernel_dispatch_type): Likewise. |
| * hsa.c (hsa_get_ctor_statements): New function. |
| (hsa_get_dtor_statements): Likewise. |
| (hsa_get_kernel_dispatch_type): Likewise. |
| * hsa-brig.c (hsa_cdtor_statements): Removed. |
| (hsa_output_libgomp_mapping): Use hsa_get_ctor_statements and |
| hsa_get_dtor_statements. |
| * hsa-gen.c (hsa_kernel_dispatch_type): Removed. |
| (get_hsa_kernel_dispatch_offset): Use hsa_get_kernel_dispatch_type. |
| |
| 2016-03-07 Andre Vieira <andre.simoesdiasvieira@arm.com> |
| |
| * config/arm/arm-cores.def (cortex-r8): New. |
| * config/arm/arm-tables.opt (cortex-r8): Regenerate. |
| * config/arm/arm-tune.md: Likewise. |
| * gcc/doc/invoke.texi: Add cortex-r8 to list of cpu values. |
| |
| 2016-03-07 Martin Sebor <msebor@redhat.com> |
| |
| PR rtl-optimization/19705 |
| * doc/invoke.texi (Options That Control Optimization): Clarify |
| -fno-branch-count-reg. |
| |
| 2016-02-26 Richard Biener <rguenther@suse.de> |
| Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/69740 |
| * cfghooks.c (remove_edge): Request loop fixups if we delete |
| an edge that might turn an irreducible loop into a natural |
| loop. |
| * cfgloop.h (check_verify_loop_structure): Clear LOOPS_NEED_FIXUP. |
| Move after definition of loops_state_clear. |
| |
| 2016-03-07 Bin Cheng <bin.cheng@arm.com> |
| |
| PR rtl-optimization/69052 |
| * rtlanal.c (commutative_operand_precedence): Set higher precedence |
| to CONST_WIDE_INT. |
| |
| 2016-03-07 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/70116 |
| * tree-ssa-tail-merge.c (merge_stmts_p): New function, handling |
| is_tm_ending stmts and ubsan/asan internal functions. |
| (find_duplicate): Use it. Don't test is_tm_ending here. |
| |
| 2016-03-07 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/70115 |
| * tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Remove. |
| (propagate_constants_for_unrolling): Use replace_uses_by. |
| |
| 2016-03-07 Nathan Sidwell <nathan@codesourcery.com> |
| |
| PR middle-end/69916 |
| * omp-low.c (struct oacc_loop): Add ifns. |
| (new_oacc_loop_raw): Initialize it. |
| (finish_oacc_loop): Clear mask & flags if no ifns. |
| (oacc_loop_discover_walk): Count IFN_GOACC_LOOP calls. |
| (oacc_loop_xform_loop): Add ifns arg & adjust. |
| (oacc_loop_process): Adjust oacc_loop_xform_loop call. |
| |
| 2016-03-07 Richard Henderson <rth@redhat.com> |
| |
| PR rtl-opt/70061 |
| * tree-outofssa.c (emit_partition_copy): Flush pending stack adjust. |
| (insert_value_copy_on_edge): Likewise. |
| |
| 2016-03-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm_neon.h: Show error if using with soft-float ABI. |
| |
| 2016-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| PR target/62281 |
| * config/i386/sol2.h (STACK_REALIGN_DEFAULT): Define. |
| |
| 2016-03-05 Venkataramanan Kumar <Venkataramanan.kumar@amd.com> |
| |
| * config/i386/i386.c (znver1_cost): Fix Multiply cost. |
| |
| 2016-03-05 Venkataramanan Kumar <Venkataramanan.kumar@amd.com> |
| |
| Fix sseimul type attribute. |
| * config/i386/znver1.md |
| (znver1_sseimul, znver1_sseimul_avx256, znver1_sseimul_load, |
| znver1_sseimul_avx256_load) : Fix the type attribute. |
| (znver1_sseimul_di, znver1_sseimul_load_di): Fix type attribute, |
| pipe usage and latency. |
| |
| 2016-03-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/70084 |
| * tree-inline.c (copy_tree_body_r): When cancelling ADDR_EXPR |
| of INDIRECT_REF and ADDR_EXPR changed type, fold_convert it |
| to the right type. |
| |
| 2016-03-04 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR c/69973 |
| * targhooks.c (default_vector_alignment): Limit to MAX_OFILE_ALIGNMENT. |
| |
| PR rtl-optimization/69941 |
| * postreload.c (reload_combine_recognize_pattern): Ensure all uses of |
| the reg share its mode. |
| |
| 2016-03-04 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/69196 |
| * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): |
| If the both SSA_NAMEs are anonymous, then consider them unassociated |
| and include the PHI in the statement count. |
| |
| 2016-03-05 Tom de Vries <tom@codesourcery.com> |
| |
| * omp-low.c (check_omp_nesting_restrictions): Check for non-oacc |
| construct in oacc routine. Check for oacc region in oacc routine. |
| |
| 2016-03-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70062 |
| * config/i386/i386.c (decide_alg): Add RECUR argument. Revert |
| 2016-02-22 changes, instead don't recurse if RECUR is already true. |
| Don't change *dynamic_check if RECUR. Adjust recursive caller |
| to pass true to the new argument. |
| (ix86_expand_set_or_movmem): Adjust decide_alg caller. |
| |
| PR target/70059 |
| * config/i386/sse.md (vec_set_lo_<mode><mask_name>, |
| <extract_type_2>_vinsert<shuffletype><extract_suf_2>_mask): Formatting |
| fixes. |
| (vec_set_hi_<mode><mask_name>): Likewise. Swap VEC_CONCAT operands. |
| |
| 2016-03-04 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR rtl-optimization/57676 |
| * lra-assigns.c (lra_assign): Guard test for maximum iterations |
| with flag_checking. |
| |
| 2016-03-04 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| * tree-vect-patterns.c (search_type_for_mask): Handle |
| comparison of booleans. |
| |
| 2016-03-04 Jakub Jelinek <jakub@redhat.com> |
| |
| * doc/extend.texi (__builtin_alloca, __builtin_alloca_with_align): |
| Fix @xref usage. |
| |
| PR debug/69947 |
| * dwarf2out.c (prune_unused_types_walk_loc_descr): Handle |
| all other ops that have dw_val_class_die_ref operands, |
| and DW_OP_GNU_entry_value. |
| |
| 2016-03-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR rtl-optimization/69904 |
| * config/arm/arm.c (arm_cannot_copy_insn_p): |
| Return true for load-exclusive instructions. |
| |
| 2016-03-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70021 |
| * tree-vect-stmts.c (vect_mark_relevant): Remove USED_IN_PATTERN |
| argument, if STMT_VINFO_IN_PATTERN_P (stmt_info), always mark |
| the pattern no matter if it is used just by non-pattern, pattern |
| or mix thereof. |
| (process_use, vect_mark_stmts_to_be_vectorized): Adjust callers. |
| * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If |
| oprnd1 def_stmt is in pattern, don't look through it. |
| |
| 2016-03-03 Marek Polacek <polacek@redhat.com> |
| |
| PR middle-end/70050 |
| * match.pd (X % -Y): Add INTEGRAL_TYPE_P check. |
| |
| 2016-03-03 Martin Liska <mliska@suse.cz> |
| |
| PR tree-optimization/70043 |
| * tree-vect-loop.c (optimize_mask_stores): Move iterator to |
| previous statement if we see a debug statement. |
| |
| 2016-03-03 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/55936 |
| * tree-vrp.c (compare_name_with_value): Add use_equiv_p |
| parameter and guard unsafe equivalence use. |
| (vrp_evaluate_conditional_warnv_with_ops): Always use |
| safe equivalences but not via the quadratic compare_names |
| helper. |
| |
| 2016-03-03 Michael Collison <michael.collison@linaro.org> |
| |
| PR target/70014 |
| * config/arm/arm.md (*subsi3_carryin_const): Change predicate |
| for operand 1 to s_register_operand. Change predicate for operand |
| 2 to arm_not_immediate_operand. |
| |
| 2016-03-02 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * doc/tm.texi: Regenerated. |
| |
| 2016-03-02 Richard Henderson <rth@redhat.com> |
| |
| PR rtl-opt/67145 |
| * simplify-rtx.c (simplify_plus_minus): Allow reassoc without |
| simplification when all args are positive non-fixed registers. |
| |
| 2016-03-02 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
| |
| * target.def (lra_p): Specify that new ports should use LRA. |
| |
| 2016-03-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR libgomp/69555 |
| * gimplify.c (gimplify_decl_expr): For decls with REFERENCE_TYPE, also |
| gimplify_type_sizes the type they refer to. |
| (omp_notice_variable): Handle reference vars to VLAs. |
| * omp-low.c (lower_omp_target): Emit setup of OMP_CLAUSE_PRIVATE |
| reference to VLA decls in the second pass instead of first pass. |
| |
| 2016-03-02 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/68659 |
| * graphite-isl-ast-to-gimple.c (collect_all_ssa_names): Handle |
| new_expr == NULL_TREE. |
| (get_new_name): Handle ADDR_EXPR. |
| |
| 2016-03-02 Bin Cheng <bin.cheng@arm.com> |
| |
| PR rtl-optimization/69052 |
| * loop-invariant.c (canonicalize_address): New function. |
| (inv_can_prop_to_addr_use): Check validity of address expression |
| which is canonicalized by above function. |
| |
| 2016-03-02 Alan Modra <amodra@gmail.com> |
| |
| PR ipa/69990 |
| * ipa-icf.c (sem_variable::merge): Do not merge an alias with |
| larger alignment. |
| |
| 2016-03-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70028 |
| * config/i386/i386.md (kmovw): Move m constraint to 2nd alternative. |
| (*movhi_internal): Put mask moves from and to memory separately |
| from moves from/to GPRs. |
| |
| 2016-03-02 Richard Biener <rguenther@suse.de> |
| |
| * genmatch.c (dt_node::gen_kids): Fix match code-gen for embedded |
| GENERIC expressions in GIMPLE. |
| |
| 2016-03-02 Richard Biener <rguenther@suse.de> |
| |
| * config/i386/i386.c (type_natural_mode): Fix typo. |
| |
| 2016-03-02 Nick Clifton <nickc@redhat.com> |
| |
| * config.gcc (mep-*-elf): Add newlib-stdint.h to tm_file. |
| |
| 2016-03-02 Richard Biener <rguenther@suse.de> |
| Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/67278 |
| * config/i386/i386.c (type_natural_mode): Handle XFmode vectors. |
| |
| 2016-03-02 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/67278 |
| * tree-cfg.c (verify_expr): Adjust BIT_FIELD_REF case. |
| |
| 2016-03-02 Marek Polacek <polacek@redhat.com> |
| |
| PR c/67854 |
| * gimplify.c (gimplify_va_arg_expr): Use expanded location for the |
| "is promoted to" warning. |
| |
| 2016-03-01 DJ Delorie <dj@redhat.com> |
| |
| * config.gcc: Deprecate mep-*. |
| |
| 2016-03-01 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR middle-end/70025 |
| * lra-constraints.c (regno_val_use_in): New. |
| (match_reload): Use it instead of regno_use_in. |
| |
| 2016-03-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/70007 |
| * gcse.c (compute_ld_motion_mems): Tidy up and also invalidate memory |
| references present in REG_EQUAL notes attached to non-SET patterns. |
| |
| 2016-03-01 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/69196 |
| * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): |
| Appropriately clamp the number of statements to copy when the |
| thread path does not traverse a loop backedge. |
| |
| PR tree-optimization/69196 |
| * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): |
| Do count some PHIs in the thread path against the insn count. Decrease |
| final statement count by one as the control statement in the last |
| block will get removed. Remove special cased code for handling PHIs |
| in the last block. |
| |
| 2016-03-01 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/70027 |
| * config/i386/i386.c (ix86_output_call_insn): Add -masm=intel |
| asm dialect alternatives to explicit GOTPCREL calls. |
| |
| 2016-03-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/70017 |
| * ira.c (do_reload): Issue warning for generic stack checking here... |
| * reload1.c (reload): ...instead of here and streamline it. |
| |
| 2016-03-01 Nick Clifton <nickc@redhat.com> |
| |
| * config.gcc (cr16-*-elf): Add newlib-stdint.h to tm_file. |
| |
| 2016-03-01 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69983 |
| * tree-chrec.c (eq_evolutions_p): Handle conversions, compare |
| types and fall back to operand_equal_p. |
| |
| 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Revert |
| 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/constraints.md ("jm8"): New constraint. |
| * config/s390/predicates.md ("const_int_8bitset_operand"): New |
| predicate. |
| * config/s390/s390.md ("*setmem_long", "*setmem_long_and"): Merge |
| into ... |
| ("*setmem_long<setmem_and>"): New pattern. |
| ("*setmem_long_31z", "*setmem_long_and_31z"): Merge |
| into ... |
| ("*setmem_long_31z<setmem_and>"): New pattern. |
| * config/s390/subst.md ("setmem_31z_subst", "setmem_and_subst"): |
| New substitution rules with the required attributes. |
| |
| |
| 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Revert |
| 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * gensupport.c (process_substs_on_one_elem): Split loop to |
| complete mark_operands_used_in_match_dup on all expressions in the |
| vector first. |
| (adjust_operands_numbers): Inline into process_substs_on_one_elem |
| and remove function. |
| |
| 2016-03-01 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/70022 |
| * fold-const.c (fold_indirect_ref_1): Fix range checking for |
| vector BIT_FIELD_REF extract. |
| |
| 2016-03-01 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69994 |
| * tree-ssa-reassoc.c (ops_equal_values_p): Handle missing case. |
| |
| 2016-03-01 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR tree-optimization/69956 |
| * tree-vect-stmts.c (supportable_widening_operation): Support |
| multi-step conversion of boolean vectors. |
| (supportable_narrowing_operation): Likewise. |
| |
| 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_decompose_address): Don't accept SImode |
| anymore. |
| |
| 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/subst.md (DSI_VI): New mode iterator. |
| ("addr_style_op_subst"): Use DSI_VI instead of DSI. |
| * config/s390/vector.md ("vec_set<mode>"): Move expander before |
| the insn definition. |
| ("*vec_set<mode>"): Change predicate and add alternative to |
| support only either register or const_int operands as element |
| selector. |
| ("*vec_set<mode>_plus"): New pattern to support reg + const_int |
| operands. |
| ("vec_extract<mode>"): New expander. |
| ("*vec_extract<mode>"): New insn definition supporting reg and |
| const_int element selectors. |
| ("*vec_extract<mode>_plus"): New insn definition supporting |
| reg+const_int element selectors. |
| ("rotl<mode>3", "ashl<mode>3", "ashr<mode>3"): Merge into the |
| following expander+insn definition. |
| ("<vec_shifts_name><mode>3"): New expander. |
| ("*<vec_shifts_name><mode>3<addr_style_op>"): New insn definition. |
| |
| 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md ("*tabort_1"): Change predicate to |
| nonmemory_operand. Add a second alternative to cover |
| register as well as const int operands. |
| ("*tabort_1_plus"): New pattern definition. |
| |
| 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md ("*ashrdi3_cc_31") |
| ("*ashrdi3_cconly_31""*ashrdi3_cc_31_and") |
| ("*ashrdi3_cconly_31_and", "*ashrdi3_31_and", "*ashrdi3_31"): |
| Merge insn definitions into ... |
| ("*ashrdi3_31<addr_style_op_cc><masked_op_cc><setcc><cconly>"): |
| New pattern definition. |
| ("*ashr<mode>3_cc", "*ashr<mode>3_cconly", "ashr<mode>3", ) |
| ("*ashr<mode>3_cc_and", "*ashr<mode>3_cconly_and") |
| ("*ashr<mode>3_and"): Merge insn definitions into ... |
| ("*ashr<mode>3<addr_style_op_cc><masked_op_cc><setcc><cconly>"): |
| New pattern definition. |
| * config/s390/subst.md ("addr_style_op_cc_subst") |
| ("masked_op_cc_subst", "setcc_subst", "cconly_subst"): New |
| substitutions patterns plus attributes. |
| Add ashiftrt to SUBST iterator. |
| |
| 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md ("<shift><mode>3"): Change predicate of |
| op2 to nonmemory_operand. |
| ("*<shift>di3_31", "*<shift>di3_31_and"): |
| Merge into single pattern definition ... |
| ("*<shift>di3_31<addr_style_op><masked_op>"): New pattern. |
| ("*<shift><mode>3", "*<shift><mode>3_and"): Merge into single |
| pattern definition ... |
| ("*<shift><mode>3<addr_style_op><masked_op>"): New pattern. |
| * config/s390/subst.md: Add ashift and lshiftrt to SUBST |
| iterator. |
| |
| 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/predicates.md (const_int_6bitset_operand): New |
| predicate. |
| * config/s390/s390.md: Include subst.md. |
| ("rotl<mode>3"): New expander. |
| ("rotl<mode>3", "*rotl<mode>3_and"): Merge insn definitions into |
| ... |
| ("*rotl<mode>3<addr_style_op><masked_op>"): New insn definition. |
| * config/s390/subst.md: New file. |
| |
| 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md ("op_type", "atype", "length" attributes): |
| Remove RRR type. It doesn't really exist. |
| ("RRer", "f0", "v0", "vf", "vd", "op1", "Rf"): Remove mode |
| attributes. |
| ("BFP", "DFP", "nDSF", "nDFDI"): Add mode attributes. |
| ("*cmp<mode>_ccs", "floatdi<mode>2", "add<mode>3") |
| ("*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3") |
| ("*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3") |
| ("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2") |
| ("*abs<mode>2", "*negabs<mode>2", "sqrt<mode>2"): Override |
| `enabled' attribute. |
| |
| 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * gensupport.c (process_substs_on_one_elem): Split loop to |
| complete mark_operands_used_in_match_dup on all expressions in the |
| vector first. |
| (adjust_operands_numbers): Inline into process_substs_on_one_elem |
| and remove function. |
| |
| 2016-02-29 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/69706 |
| * config/sparc/sparc.c (NWORDS_UP): Rename to... |
| (CEIL_NWORDS): ...this. Use CEIL macro. |
| (compute_fp_layout): Adjust to above renaming. |
| (function_arg_union_value): Likewise. |
| (sparc_arg_partial_bytes): Likewise. |
| (sparc_function_arg_advance): Likewise. |
| |
| 2016-02-29 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/70005 |
| * tree-ssa-uncprop.c (associate_equivalences_with_edges): Handle case |
| where an object with a boolean range is compared against a value |
| outside [0..1]. |
| |
| PR tree-optimization/69999 |
| * gimple-ssa-split-paths.c (split_paths): When duplicating a block |
| with an outgoing edge marked with EDGE_IRREDUCIBLE_LOOP, schedule |
| loop cleanups. |
| |
| 2016-02-29 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69994 |
| * tree-ssa-reassoc.c (gimple_nop_conversion_p): New function. |
| (get_unary_op): Look through nop conversions. |
| (ops_equal_values_p): New function, look for equality diregarding |
| nop conversions. |
| (eliminate_plus_minus_pair): Use ops_equal_values_p |
| (repropagate_negates): Do not use get_unary_op here. |
| |
| 2016-02-29 Martin Liska <mliska@suse.cz> |
| |
| * system.h: Poison ENABLE_CHECKING macro. |
| |
| 2016-02-29 Martin Liska <mliska@suse.cz> |
| |
| * hsa-gen.c (gen_body_from_gimple): Dump only if TDF_DETAILS |
| is presented in dump flags. |
| * hsa-regalloc.c (linear_scan_regalloc): Likewise. |
| (hsa_regalloc): Likewise. |
| |
| 2016-02-19 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69980 |
| * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Update |
| permutation of those we need to keep. |
| |
| 2016-02-29 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/69706 |
| * config/sparc/sparc.c (ROUND_ADVANCE): Rename to... |
| (NWORDS_UP): ...this |
| (init_cumulative_args): Minor tweaks. |
| (sparc_promote_function_mode): Likewise. |
| (scan_record_type): Delete. |
| (traverse_record_type): New function template. |
| (classify_data_t): New structure type. |
| (classify_registers): New inline function. |
| (function_arg_slotno): In 64-bit mode, bail out early if FP slots are |
| exhausted. Instantiate traverse_record_type on classify_registers and |
| deal with the case of a structure passed in slot #15 with no FP field |
| in the first word. |
| (assign_data_t): New structure type. |
| (compute_int_layout): New static function. |
| (compute_fp_layout): Likewise. |
| (count_registers): New inline function. |
| (assign_int_registers): New static function. |
| (assign_fp_registers): Likewise. |
| (assign_registers): New inline function. |
| (function_arg_record_value_1): Delete. |
| (function_arg_record_value_2): Likewise. |
| (function_arg_record_value_3): Likewise. |
| (function_arg_record_value): Adjust to above changes. Instantiate |
| traverse_record_type on count_registers to first count the number of |
| registers to be used and then on assign_registers to assign them. |
| (function_arg_union_value): Adjust to above renaming. |
| (sparc_function_arg_1); Minor tweaks. Remove commented out code. |
| (sparc_arg_partial_bytes): Adjust to above renaming. Deal with the |
| case of a structure passed in slot #15 |
| (sparc_function_arg_advance): Likewise. |
| (function_arg_padding): Minor tweak. |
| |
| 2016-02-29 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69720 |
| * tree-vect-loop.c (get_initial_def_for_reduction): Avoid |
| the adjustment_def path for possibly vectorized defs. |
| (vect_create_epilog_for_reduction): Handle vectorized initial |
| defs properly. |
| |
| 2016-02-28 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/i386/cygming.h (STACK_REALIGN_DEFAULT): Define. |
| |
| 2016-02-27 Jeff Law <law@redhat.com> |
| |
| Revert |
| 2016-02-26 Richard Biener <rguenther@suse.de> |
| Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/69740 |
| * cfghooks.c (remove_edge): Request loop fixups if we delete |
| an edge that might turn an irreducible loop into a natural |
| loop. |
| |
| 2016-02-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/69896 |
| * tree-vect-generic.c (get_compute_type): Avoid single element |
| vector types. |
| |
| 2016-02-26 Evandro Menezes <e.menezes@samsung.com> |
| |
| Rename the AArch64 tuning option and related functions to enable the |
| Newton series for the reciprocal square root to reflect its |
| approximative characteristic. |
| |
| * config/aarch64/aarch64-protos.h (aarch64_emit_swrsqrt): Rename |
| function to "aarch64_emit_approx_rsqrt". |
| * config/aarch64/aarch64-tuning-flags.def: Rename tuning flag to |
| AARCH64_EXTRA_TUNE_APPROX_RSQRT. |
| * config/aarch64/aarch64.c (exynosm1_tunigs): Use new flag name. |
| (xgene1_tunings): Likewise. |
| (use_rsqrt_p): Likewise. |
| (aarch64_emit_swrsqrt): Use new function name. |
| * config/aarch64/aarch64-simd.md (aarch64_rsqrts_*): Likewise. |
| * config/aarch64/aarch64.opt (mlow-precision-recip-sqrt): Reword the |
| text explaining this option. |
| * doc/invoke.texi (-mlow-precision-recip-sqrt): Likewise. |
| |
| 2016-02-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69969 |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't |
| complain about -mallow-movmisalign without -mvsx if |
| TARGET_ALLOW_MOVMISALIGN was not set explicitly. |
| |
| 2016-02-26 Joel Sherrill <joel@rtems.org> |
| |
| * config.gcc: Add x86_64-*-rtems*. |
| * gcc/config/i386/rtems-64.h: New file. |
| |
| 2016-02-26 Joel Sherrill <joel@rtems.org> |
| |
| * config.gcc: Add aarch64-*-rtems*. |
| * gcc/config/aarch64/rtems.h: New file. |
| |
| 2016-02-26 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/69946 |
| * config/rs6000/rs6000.c (rs6000_insn_for_shift_mask): Print rlwinm |
| shift amount using %h. Add comment. |
| |
| 2016-02-26 Richard Biener <rguenther@suse.de> |
| Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/69740 |
| * cfghooks.c (remove_edge): Request loop fixups if we delete |
| an edge that might turn an irreducible loop into a natural |
| loop. |
| |
| 2016-02-26 Martin Jambor <mjambor@suse.cz> |
| |
| PR middle-end/69920 |
| * tree-sra.c (sra_modify_assign): Do not remove loads of |
| uninitialized aggregates to SSA_NAMEs. |
| |
| 2016-02-26 Richard Henderson <rth@redhat.com> |
| |
| PR target/69709 |
| * config/s390/s390.md (risbg and risbgn splitters): Allocate new |
| pseudo in case the target rtx matches the source of the left |
| shift. |
| |
| 2016-02-26 Martin Jambor <mjambor@suse.cz> |
| |
| PR hsa/69568 |
| * hsa.h (hsa_type_packed_p): Declare. |
| * hsa.c (hsa_type_packed_p): New function. |
| * hsa-gen.c (mem_type_for_type): Use unsigned type for packed |
| loads. |
| (gen_hsa_insns_for_store): Use hsa_type_packed_p. |
| * hsa-brig.c (emit_basic_insn): Likewise. |
| |
| 2016-02-26 Martin Jambor <mjambor@suse.cz> |
| |
| pr hsa/69674 |
| * hsa-gen.c (gen_hsa_phi_from_gimple_phi): Use proper hsa type for |
| pointers. |
| (gen_hsa_addr): Allow integer constants in TMR_INDEX2. |
| |
| 2016-02-26 Martin Jambor <mjambor@suse.cz> |
| |
| * hsa.h (is_a_helper): New overload for hsa_op_immed for |
| hsa_op_with_type operands. |
| (hsa_unsigned_type_for_type): Declare. |
| * hsa.c (hsa_unsigned_type_for_type): New function. |
| * hsa-gen.c (gen_hsa_binary_operation): Use hsa_unsigned_type_for_type. |
| (gen_hsa_insns_for_operation_assignment): Satisfy constrains of |
| the finalizer. Do not emit extra move. |
| |
| 2016-02-26 Martin Jambor <mjambor@suse.cz> |
| |
| * hsa-gen.c (gen_hsa_ternary_atomic_for_builtin): Fail in presence of |
| atomic operations in private segment. |
| |
| 2016-02-26 Martin Jambor <mjambor@suse.cz> |
| |
| * omp-low.c (grid_find_ungridifiable_statement): Store problematic |
| statements to wi->info. Also disallow omp simd constructs. |
| (grid_target_follows_gridifiable_pattern): Use wi.info to dump reason |
| for not gridifying. Dump special string for omp_for. |
| |
| 2016-02-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/69245 |
| * config/aarch64/aarch64.c (aarch64_set_current_function): |
| Save/restore target globals when switching to |
| target_option_default_node. |
| |
| 2016-02-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/69613 |
| * config/aarch64/aarch64.c (aarch64_shift_truncation_mask): |
| Return 0 if !SHIFT_COUNT_TRUNCATED. |
| |
| 2016-02-26 Jakub Jelinek <jakub@redhat.com> |
| Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/69891 |
| * dse.c (scan_insn): If we can't figure out memset arguments |
| or they are non-constant, call clear_rhs_from_active_local_stores. |
| |
| 2016-02-26 Martin Liska <mliska@suse.cz> |
| |
| * doc/extend.texi: Mention clog10, clog10f an clog10l |
| in Builtins section. |
| |
| 2016-02-26 Martin Liska <mliska@suse.cz> |
| |
| * dwarf2out.c (new_loc_descr): Replace ENABLE_CHECKING with |
| CHECKING_P. |
| (resolve_args_picking_1): Likewise. |
| * dwarf2out.h (struct GTY): Likewise. |
| |
| 2016-02-26 Martin Liska <mliska@suse.cz> |
| |
| * hsa-gen.c (generate_hsa): Replace ENABLE_CHECKING macro |
| with flag_checking. |
| * hsa-regalloc.c (linear_scan_regalloc): Likewise. |
| |
| 2016-02-26 Markus Trippelsdorf <markus@trippelsdorf.de> |
| Martin Liska <mliska@suse.cz> |
| |
| * doc/install.texi: Mention --enable-valgrind-annotations. |
| |
| 2016-02-26 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69551 |
| * tree-ssa-structalias.c (get_constraint_for_ssa_var): When |
| looking through aliases adjust DECL_PT_UID to refer to the |
| ultimate alias target. |
| |
| 2016-02-25 Martin Liska <mliska@suse.cz> |
| |
| PR middle-end/69919 |
| * alloc-pool.c (after_memory_report): New variable. |
| * alloc-pool.h (base_pool_allocator ::release): Do not use |
| the infrastructure if after_memory_report. |
| * toplev.c (toplev::main): Mark after memory report. |
| |
| 2016-02-25 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/48795 |
| * tree-vrp.c (check_array_ref): Use array_at_struct_end_p. |
| |
| 2016-02-25 Ilya Verbin <ilya.verbin@intel.com> |
| |
| PR driver/68463 |
| * config/gnu-user.h (CRTOFFLOADBEGIN): Define. Add crtoffloadbegin.o if |
| offloading is enabled and -fopenacc or -fopenmp is specified. |
| (CRTOFFLOADEND): Likewise. |
| (GNU_USER_TARGET_STARTFILE_SPEC): Add CRTOFFLOADBEGIN. |
| (GNU_USER_TARGET_ENDFILE_SPEC): Add CRTOFFLOADEND. |
| * lto-wrapper.c (offloadbegin, offloadend): Remove static vars. |
| (offload_objects_file_name): New static var. |
| (tool_cleanup): Remove offload_objects_file_name file. |
| (find_offloadbeginend): Replace with ... |
| (find_crtoffloadtable): ... this. |
| (run_gcc): Remove offload_argc and offload_argv. |
| Get offload_objects_file_name from -foffload-objects=... option. |
| Read names of object files with offload from this file, pass them to |
| compile_images_for_offload_targets. Don't call find_offloadbeginend and |
| don't pass offloadbegin and offloadend to the linker. Don't pass |
| offload non-LTO files to the linker, because now they're not claimed. |
| |
| 2016-02-25 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/69630 |
| * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE |
| on builtin_unreachable. |
| |
| 2016-02-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/69896 |
| * regcprop.c: Include cfgrtl.h. |
| (copyprop_hardreg_forward_1): If noop_p insn uses narrower |
| than remembered mode, either delete it (if noop_move_p), or |
| treat like copy_p but not noop_p instruction. |
| |
| 2016-02-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/69705 |
| * dwarf2out.c (gen_variable_die): Work around buggy LTO |
| - allow NULL decl for Fortran DW_TAG_common_block variables. |
| |
| 2016-02-24 Jason Merrill <jason@redhat.com> |
| |
| * common.opt (flifetime-dse): Add -flifetime-dse=1. |
| |
| 2016-02-24 Richard Biener <rguenther@suse.de> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/69760 |
| * tree-scalar-evolution.c (interpret_rhs_expr): Re-write |
| conditionally executed ops to well-defined overflow behavior. |
| |
| 2016-02-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/69915 |
| * tree.c (build_vector_from_ctor): Fix handling of VECTOR_CST |
| elements. |
| |
| 2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR rtl-optimization/69886 |
| * gcse.c (can_assign_to_reg_without_clobbers_p): Accept mode |
| argument. Use it when checking validity of set instructions. |
| (want_to_gcse_p): Pass mode to can_assign_to_reg_without_clobbers_p. |
| (compute_ld_motion_mems): Update can_assign_to_reg_without_clobbers_p |
| callsite. |
| * rtl.h (can_assign_to_reg_without_clobbers_p): Update prototype. |
| * store-motion.c (find_moveable_store): Update |
| can_assign_to_reg_without_clobbers_p callsite. |
| |
| 2016-02-24 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/68963 |
| * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Fix |
| bogus check. |
| (record_nonwrapping_iv): Do not fall back to the low/high bound |
| for non-constant IV bases if the stmt is not always executed. |
| |
| 2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm-cores.def (cortex-a32): New entry. |
| * config/arm/arm-tables.opt: Regenerate. |
| * config/arm/arm-tune.md: Regenerate. |
| * config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a32. |
| * config/arm/t-aprofile: Handle mcpu=cortex-a32. |
| * doc/invoke.texi (ARM Options): Document cortex-a32 as value |
| for -mcpu and -mtune. |
| |
| 2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/69875 |
| * config/arm/arm.h (TARGET_HAVE_LPAE): Define. |
| * config/arm/unspecs.md (VUNSPEC_LDRD_ATOMIC): New value. |
| * config/arm/sync.md (arm_atomic_loaddi2_ldrd): New pattern. |
| (atomic_loaddi_1): Delete. |
| (atomic_loaddi): Rewrite expander using the above changes. |
| |
| 2016-02-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/69918 |
| * params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): Bump default from |
| 2 to 3. |
| |
| 2016-02-24 Jakub Jelinek <jakub@redhat.com> |
| Richard Biener <rguenth@suse.de> |
| |
| PR middle-end/69909 |
| * expr.c (expand_expr_real_1) <normal_inner_ref>: Avoid |
| set_mem_attributes if tem is SSA_NAME which got expanded |
| as a MEM. |
| |
| 2016-02-24 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69907 |
| * tree-vect-stmts.c (vectorizable_load): Check for gaps at the |
| end of permutations for BB vectorization. |
| |
| 2016-02-24 Christian Bruel <christian.bruel@st.com> |
| |
| * config/arm/arm-c.c (arm_option_override): Initialize |
| target_option_current_node. |
| * config/arm/arm.c (arm_pragma_target_parse): Replace |
| build_target_option_node call by target_option_current_node. |
| Set target_option_current_node. |
| Fix comments. |
| |
| 2016-02-23 David Edelsohn <dje.gcc@gmail.com> |
| |
| PR target/69810 |
| * config/rs6000/rs6000.md (zero_extendqi<mode>2_dot): Convert from |
| define_insn_and_split to define_insn. |
| (zero_extendqi<mode>2_dot2): Same. |
| (extendqi<mode>2_dot): Same. |
| (extendqi<mode>2_dot2): Same. |
| |
| 2016-02-23 Evandro Menezes <e.menezes@samsung.com> |
| |
| * config/arm/exynos-m1.md: Change cost of STP, fix bypass for stores |
| and add bypass for AES{D,E} and AESMC pairs. |
| * config/aarch64/aarch64.c (exynosm1_tunings): Enable fusion of AES{D,E} |
| and AESMC pairs. |
| |
| 2016-02-23 Evandro Menezes <e.menezes@samsung.com> |
| |
| * config/aarch64/aarch64.c (exynosm1_tunings): Enable the Newton |
| series for reciprocal square root in Exynos M1. |
| |
| 2016-02-23 Martin Sebor <msebor@redhat.com> |
| |
| PR c/69759 |
| * doc/extend.texi (Other Builtins): Document __builtin_alloca and |
| __builtin_alloca_with_align. |
| |
| 2016-02-23 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386-c.c (ix86_target_macros): Remove __SEG_TLS. |
| (ix86_register_pragmas): Remove __seg_tls. |
| * config/i386/i386-protos.h (ADDR_SPACE_SEG_TLS): Remove. |
| * config/i386/i386.c (ix86_print_operand_address_as): Don't handle it. |
| (ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): Remove. |
| (ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): Remove. |
| (ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): Remove. |
| * doc/extend.texi (__seg_tls): Remove item. |
| |
| 2016-02-23 Richard Biener <rguenther@suse.de> |
| |
| * alloc-pool.h (struct allocation_object): Make id member |
| conditional on CHECKING_P again. |
| (get_instance): Adjust. |
| (base_pool_allocator): Likewise. |
| |
| 2016-02-23 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * tree-parloops.c (create_parallel_loop, gen_parallel_loop) |
| (parallelize_loops): In OpenACC kernels mode, set n_threads to |
| zero. |
| (pass_parallelize_loops::gate): In OpenACC kernels mode, gate on |
| flag_openacc. |
| * tree-ssa-loop.c (gate_oacc_kernels): Likewise. |
| |
| 2016-02-23 Richard Biener <rguenther@suse.de> |
| |
| * mem-stats.h (struct mem_usage): Use PRIu64 for printing size_t. |
| * bitmap.h (struct bitmap_usage): Likewise. |
| (bitmap_move): Declare. |
| * bitmap.c (register_overhead): Take size_t argument. |
| (bitmap_move): New function. |
| * df-problems.c (df_rd_transfer_function): Use bitmap_move |
| to properly account overhead. |
| * tree.c (free_node): Use tree_size. |
| |
| 2016-02-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/69902 |
| * fold-const.c (fold_truth_not_expr): Propagate TREE_NO_WARNING |
| when inverting comparison. |
| |
| PR c/69900 |
| * common.opt (Wunreachable-code): Add Warning flag. |
| |
| 2016-02-23 Mark Wielaard <mjw@redhat.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/69911 |
| * cgraphunit.c (check_global_declaration): Check main_input_filename |
| and DECL_SOURCE_FILE are not NULL. |
| |
| 2016-02-23 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/69666 |
| * tree-sra.c (sra_modify_assign): Do not attempt to create |
| default_def replacements for unscalarizable regions. |
| |
| 2016-02-20 Mark Wielaard <mjw@redhat.com> |
| |
| PR c/28901 |
| * cgraphunit.c (check_global_declaration): Check level of |
| warn_unused_const_variable and main_input_filename. |
| * doc/invoke.texi (Warning Options): Add -Wunused-const-variable=. |
| (-Wunused-variable): For C implies -Wunused-const-variable=1. |
| (-Wunused-const-variable): Explain levels 1 and 2. |
| |
| 2016-02-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69888 |
| * config/i386/i386.c (decide_alg): Ensure we don't recurse with |
| identical arguments. Formatting and spelling fixes. |
| |
| PR target/69885 |
| * doc/md.texi (ashl@var{m}3): Document that mode of operand 2 must |
| be specified. |
| |
| PR target/69894 |
| PR target/69895 |
| * config/m68k/t-opts (OPTIONS_H_EXTRA): Add m68k-microarchs.def |
| and m68k-devices.def. |
| * config/c6x/t-c6x (OPTIONS_H_EXTRA): Add c6x-isas.def. |
| * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add aarch64-arches.def. |
| |
| 2016-02-22 Cesar Philippidis <cesar@codesourcery.com> |
| |
| * config/nvptx/nvptx.c (nvptx_gen_shuffle): Add support for QImode |
| and HImode registers. |
| |
| 2016-02-22 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69882 |
| * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Properly |
| preserve permutations present because of gaps. |
| (vect_supported_load_permutation_p): Always continue checking |
| permutations after vect_attempt_slp_rearrange_stmts. |
| |
| 2016-02-22 Bin Cheng <bin.cheng@arm.com> |
| |
| * tree-vect-loop.c (vect_estimate_min_profitable_iters): Dump |
| min_profitable_estimate, rather than min_profitable_iters. |
| |
| 2016-02-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69885 |
| * config/m68k/m68k.md (ashldi3, ashrdi3, lshrdi3): Use |
| SImode for last match_operand. |
| |
| 2016-02-22 Martin Liska <mliska@suse.cz> |
| |
| * hsa-gen.c (gen_hsa_clrsb): In case of zero value, |
| return bitsize - 1 as the return value. |
| |
| 2016-02-22 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/69806 |
| PR target/54089 |
| * config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p): |
| Handle negative shift counts. |
| * config/sh/sh.md (ashlsi3, lshrsi3_n, lshrsi3_n_clobbers_t): Don't use |
| force_reg on the shift constant. |
| (lshrsi3): Likewise. Expand into lshrsi3_n* instead of lshrsi3_d. |
| (lshrsi3_d): Handle negative shift counts. |
| |
| 2016-02-22 Richard Biener <rguenther@suse.de> |
| Tom de Vries <tom@codesourcery.com> |
| |
| * graph.c: Include dumpfile.h. |
| (print_graph_cfg): Split into three overloads. |
| * gdbhooks.py (class DotFn): Add and instantiate, adding command dot-fn. |
| |
| 2016-02-22 Tom de Vries <tom@codesourcery.com> |
| |
| * gdbhooks.py (class DumpFn): Add and instantiate, adding command |
| dump-fn. |
| |
| 2016-02-22 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/37448 |
| * ipa-inline-transform.c (inline_call): When not updating |
| overall summaries adjust self size by the growth estimate. |
| * ipa-inline.c (inline_to_all_callers_1): Add to the callers |
| hash-set, do not update overall summaries here. Renamed from ... |
| (inline_to_all_callers): ... this which is now wrapping the |
| above and performing delayed overall summary update. |
| (early_inline_small_functions): Delay updating of the overall |
| summary. |
| |
| 2016-02-21 Markus Trippelsdorf <markus@trippelsdorf.de> |
| |
| * tree-chkp.c (chkp_mark_invalid_bounds_walker): Initialize |
| variable. |
| |
| 2016-02-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR driver/69805 |
| * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use |
| :%* in %:gt() argument. |
| (greater_than_spec_func): Adjust for expecting only numbers, |
| if there are more than two numbers, compare the last two. |
| |
| 2016-02-19 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/invoke.texi (C++ Dialect Options): Clarify interaction of |
| -Wnarrowing with -std. |
| |
| 2016-02-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/69851 |
| * expr.c (store_field): Don't use bit-field path if exp is |
| COMPONENT_REF with TREE_ADDRESSABLE type, where TYPE_SIZE is |
| different from bitsize, but DECL_SIZE of FIELD_DECL is bitsize |
| and the assignment can be performed by bitwise copy. Formatting |
| fix. |
| |
| PR middle-end/69838 |
| * lra.c (lra_process_new_insns): If non-call exceptions are enabled, |
| call copy_reg_eh_region_note_forward on before and/or after sequences |
| and remove note from insn if it no longer can throw. |
| |
| PR target/69820 |
| * config/i386/sse.md (VI_512): Only include V64QImode and V32HImode |
| if TARGET_AVX512BW. |
| |
| 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/vector.md: Add missing commutative operand markers |
| to the patterns which qualify for one. |
| * config/s390/vx-builtins.md: Likewise. |
| |
| 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/vector.md (VI, VI_QHS): Add single element vector |
| types to mode iterators. |
| (vec_double): ... and mode attribute. |
| * config/s390/vx-builtins.md (non_vec_int): Likewise. |
| |
| 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/vector.md ("<ti*>add<mode>3", "<ti*>sub<mode>3"): |
| Change the predicate of op2 from nonimmediate to general and let |
| reload fix it if necessary. |
| |
| 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/vecintrin.h (vec_sub_u128): Define missing macro. |
| |
| 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_expand_vcond): Use the compare operand |
| mode. |
| |
| 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390-protos.h: Add s390_expand_vec_movstr prototype. |
| * config/s390/s390.c (s390_expand_vec_movstr): New function. |
| * config/s390/s390.md ("movstr<P:mode>"): Call |
| s390_expand_vec_movstr. |
| |
| 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md: Add missing output modifier for operand 1 |
| to print it as address properly. |
| |
| 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/2827.md: Rename ooo_* insn attributes to zEC12_*. |
| * config/s390/2964.md: New file. |
| * config/s390/s390.c (s390_get_sched_attrmask): Use the right set |
| of insn grouping attributes depending on the CPU level. |
| (s390_get_unit_mask): New function. |
| (s390_sched_score): Remove the OOO from the scheduling macros. |
| Add loop to calculate a score for the instruction mix. |
| (s390_sched_reorder): Likewise plus improve debug output. |
| (s390_sched_variable_issue): Rename macros as above. Calculate |
| the unit distances after actually scheduling an insn. Improve |
| debug output. |
| (s390_sched_init): Clear last_scheduled_unit_distance array. |
| * config/s390/s390.md: Include 2964.md. |
| |
| 2016-02-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69671 |
| * config/i386/sse.md (*<floatsuffix>floatv2div2sf2_mask_1, |
| *avx512vl_<code>v2div2qi2_mask_1, *avx512vl_<code><mode>v4qi2_mask_1, |
| *avx512vl_<code><mode>v8qi2_mask_1, *avx512vl_<code><mode>v4hi2_mask_1, |
| *avx512vl_<code>v2div2hi2_mask_1, *avx512vl_<code>v2div2si2_mask_1, |
| *avx512f_<code>v8div16qi2_mask_1): New insns. |
| |
| 2016-02-18 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/68404 |
| * config/rs6000/predicates.md (fusion_gpr_addis): Revert |
| 2016-02-09 change. |
| |
| * config/rs6000/rs6000.md (fusion_gpr_load_<mode>): Remove |
| earlyclobber from target. Use wF constraint for fused memory |
| address. |
| (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise. |
| |
| 2016-02-18 Jakub Jelinek <jakub@redhat.com> |
| Martin Liska <mliska@suse.cz> |
| |
| PR sanitizer/69863 |
| * cfgexpand.c (asan_sanitize_stack_p): New function. |
| (partition_stack_vars): Use the function. |
| (expand_stack_vars): Likewise. |
| (defer_stack_allocation): Likewise. |
| (expand_used_vars): Likewise. |
| |
| 2016-02-18 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/69553 |
| * fold-const.c (operand_equal_p): Properly compare offsets for |
| IMAGPART_EXPR and ARRAY_REF. |
| |
| 2016-02-18 Nick Clifton <nickc@redhat.com> |
| |
| PR target/62254 |
| PR target/69610 |
| * config/arm/arm.c (arm_option_override_internal): Disable |
| interworking if the target does not support thumb instructions. |
| (arm_reload_in_hi): Handle the case where a register to register |
| move needs reloading because there is no simple pattern to handle |
| it. |
| (arm_reload_out_hi): Likewise. |
| |
| 2016-02-18 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/69854 |
| * match.pd: Don't use fold_binary or fold_unary for folding |
| constants. |
| |
| 2016-02-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/69850 |
| * gimplify.c (gimplify_cond_expr): Call gimple_set_no_warning |
| on the cond_stmt from TREE_NO_WARNING on COND_EXPR_COND. |
| * gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Don't |
| warn on gimple_no_warning_p statements. |
| |
| 2016-02-17 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/extend.texi (C++ Attributes): Correct description of |
| warn_unused type attribute. |
| |
| 2016-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/altivec.md (*altivec_lvxl_<mode>_internal): Output |
| correct instruction. |
| |
| 2016-02-17 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/69609 |
| * bb-reorder.c (struct bbro_basic_block_data): Add priority member. |
| (find_traces_1_round): When ending a trace update cached priority |
| of successors. |
| (bb_to_key): Use cached priority when available. |
| (copy_bb): Initialize cached priority. |
| (reorder_basic_blocks_software_trace_cache): Likewise. |
| |
| 2016-02-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/69161 |
| * config/aarch64/predicates.md (aarch64_comparison_operator_mode): |
| New predicate. |
| (aarch64_comparison_operator): Break overly long line into two. |
| (aarch64_comparison_operation): Likewise. |
| * config/aarch64/aarch64.md (cstorecc4): Use |
| aarch64_comparison_operator_mode instead of |
| aarch64_comparison_operator. |
| (cstore<mode>4): Likewise. |
| (aarch64_cstore<mode>): Likewise. |
| (*cstoresi_insn_uxtw): Likewise. |
| (cstore<mode>_neg): Likewise. |
| (*cstoresi_neg_uxtw): Likewise. |
| |
| 2016-02-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/69161 |
| * config/arm/predicates.md (arm_comparison_operator_mode): |
| New predicate. |
| * config/arm/arm.md (*mov_scc): Use arm_comparison_operator_mode |
| instead of arm_comparison_operator. |
| (*mov_negscc): Likewise. |
| (*mov_notscc): Likewise. |
| * config/arm/thumb2.md (*thumb2_mov_scc): Likewise. |
| (*thumb2_mov_negscc): Likewise. |
| (*thumb2_mov_negscc_strict_it): Likewise. |
| (*thumb2_mov_notscc): Likewise. |
| (*thumb2_mov_notscc_strict_it): Likewise. |
| |
| 2016-02-17 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): |
| Add missing return. |
| |
| 2016-02-17 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/visium/visium.c (machine_libfunc_index): New enum. |
| (machine_libfuncs): New structure. |
| (visium_libfuncs): New static variable. |
| (TARGET_INIT_LIBFUNCS): Define to... |
| (visium_init_libfuncs): ...this. New function. |
| (expand_block_move_4): Use the appropriate libfunc. |
| (expand_block_move_2): Likewise. |
| (expand_block_move_1): Likewise. |
| (expand_block_set_4): Likewise. |
| (expand_block_set_2): Likewise. |
| (expand_block_set_1): Likewise. |
| (visium_trampoline_init): Likewise. |
| |
| 2016-02-17 Nick Clifton <nickc@redhat.com> |
| |
| * config/msp430/msp430.c (msp430_mcu_data): Sync with data from |
| TI's devices.csv file as of March 2016. |
| |
| 2016-02-16 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| PR Target/48344 |
| * opts-global.c (handle_common_deferred_options): Introduce and |
| initialize two global variables to remember command-line options |
| specifying a stack-limiting register. |
| * opts.h: Add extern declarations of the two new global variables. |
| * emit-rtl.c (init_emit_once): Initialize the stack_limit_rtx |
| variable based on the values of the two new global variables. |
| |
| 2016-02-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/69835 |
| * common.opt (Wnonnull-compare): New warning. |
| * doc/invoke.texi (-Wnonnull): Remove text about comparison |
| of arguments against NULL. |
| (-Wnonnull-compare): Document. |
| * Makefile.in (OBJS): Add gimple-ssa-nonnull-compare.o. |
| * tree-pass.h (make_pass_warn_nonnull_compare): Declare. |
| * passes.def (pass_warn_nonnull_compare): Add. |
| * gimple-ssa-nonnull-compare.c: New file. |
| |
| 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/aarch64/aarch64.c (cortexa57_tunings): Remove |
| AARCH64_EXTRA_TUNE_RECIP_SQRT. |
| |
| 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/aarch64/aarch64.c (use_rsqrt_p): Always use software |
| reciprocal sqrt for -mlow-precision-recip-sqrt. |
| |
| 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com> |
| Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_expand_vector_init): Refactor, |
| always use lane loads to construct non-constant vectors. |
| |
| 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/aarch64/aarch64.md |
| (arch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): Fix register |
| constraints for operand 3. |
| (aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): Likewise. |
| |
| 2016-02-16 Jakub Jelinek <jakub@redhat.com> |
| Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69820 |
| * tree-vect-patterns.c (type_conversion_p): Return false if |
| *orig_type is unsigned single precision or boolean. |
| (vect_recog_dot_prod_pattern, vect_recog_widen_mult_pattern): |
| Formatting fix. |
| |
| 2016-02-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/69764 |
| PR rtl-optimization/69771 |
| * optabs.c (expand_binop): Ensure for shift optabs invalid CONST_INT |
| op1 is valid for GET_MODE_INNER (mode) and force it into a reg. |
| |
| 2016-02-16 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69776 |
| * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Get alias |
| sets from caller. |
| (indirect_refs_may_alias_p): Likewise. |
| (refs_may_alias_p_1): Pass alias sets as from ao_ref. |
| * tree-ssa-sccvn.c (vn_reference_lookup): Also adjust vr alias-set |
| according to tbaa_p. |
| * tree-ssa-dom.c (lookup_avail_expr): Add tbaa_p flag. |
| (optimize_stmt): For redundant store discovery do not allow tbaa. |
| |
| 2016-02-16 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR tree-optimization/69714 |
| * tree-ssa-math-opts.c (find_bswap_or_nop): Revert previous change. |
| Return NULL if we have irrelevant high bytes on BIG_ENDIAN. |
| |
| 2016-02-16 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| * config/arc/arc-modes.def (CC_FPU, CC_FPU_UNEQ): New modes. |
| * config/arc/arc-opts.h (FPU_SP, FPU_SF, FPU_SC, FPU_SD, FPU_DP) |
| (FPU_DF, FPU_DC, FPU_DD, FXP_DP): Define. |
| * config/arc/arc.c (arc_init): Check FPU options. |
| (get_arc_condition_code): Handle new CC_FPU* modes. |
| (arc_select_cc_mode): Likewise. |
| (arc_conditional_register_usage): Allow 64 bit datum into even-odd |
| register pair only. Allow access for ARCv2 accumulator. |
| (gen_compare_reg): Whenever we have FPU support use FPU compare |
| instructions. |
| (arc_reorg): Don't generate brcc insns when FPU compare |
| instructions are involved. |
| * config/arc/arc.h (TARGET_DPFP): Add TARGET_FP_DPAX condition. |
| (TARGET_OPTFPE): Add condition when ARC EM can use optimized |
| floating point emulation. |
| (ACC_REG_FIRST, ACC_REG_LAST, ACCL_REGNO, ACCH_REGNO): Define. |
| (REVERSE_CONDITION): Add new CC_FPU* modes. |
| (TARGET_FP_SP_BASE): Define. |
| (TARGET_FP_DP_BASE): Likewise. |
| (TARGET_FP_SP_FUSED): Likewise. |
| (TARGET_FP_DP_FUSED): Likewise. |
| (TARGET_FP_SP_CONV): Likewise. |
| (TARGET_FP_DP_CONV): Likewise. |
| (TARGET_FP_SP_SQRT): Likewise. |
| (TARGET_FP_DP_SQRT): Likewise. |
| (TARGET_FP_DP_AX): Likewise. |
| * config/arc/arc.md (ARCV2_ACC): New constant. |
| (type): New fpu type attribute. |
| (SDF): Conditional iterator. |
| (cstore<mode>, cbranch<mode>): Change expand condition. |
| (addsf3, subsf3, mulsf3, adddf3, subdf3, muldf3): New expands, |
| handles FPU/FPX cases as well. |
| * config/arc/arc.opt (mfpu): New option. |
| * config/arc/fpx.md (addsf3_fpx, subsf3_fpx, mulsf3_fpx): |
| Renamed. |
| (adddf3, muldf3, subdf3): Removed. |
| * config/arc/predicates.md (proper_comparison_operator): Recognize |
| CC_FPU* modes. |
| * config/arc/fpu.md: New file. |
| * doc/invoke.texi (ARC Options): Document mfpu option. |
| |
| 2016-02-16 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/69291 |
| * ifcvt.c (noce_try_store_flag_constants): Re-instantiate |
| noce_operand_ok check. |
| |
| 2016-02-16 Tom de Vries <tom@codesourcery.com> |
| |
| PR lto/67709 |
| * omp-low.c (simd_clone_create): Remove call to |
| symtab->call_cgraph_insertion_hooks. |
| |
| 2016-02-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/69802 |
| * tree-ssa-reassoc.c (update_range_test): If op is |
| SSA_NAME_IS_DEFAULT_DEF, give up unless tem is a positive |
| op == 1 test of precision 1 integral op, otherwise handle |
| that case as op itself. Fix up formatting. |
| (optimize_range_tests_to_bit_test, optimize_range_tests): Fix |
| up formatting. |
| |
| 2016-02-16 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69586 |
| * tree-vrp.c (register_edge_assert_for_2): Handle all integral |
| types for conversion sources. |
| |
| 2016-02-16 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/69801 |
| * fold-const.c (operand_equal_p): For COND_EXPR zero operand |
| mask OEP_ADDRESS_OF. |
| |
| 2016-02-16 Alan Modra <amodra@gmail.com> |
| |
| PR target/68973 |
| * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Rewrite splitter. |
| (p8_mtvsrd_df, p8_mtvsrd_sf): New. |
| (p8_mtvsrd_1, p8_mtvsrd_2): Delete. |
| (p8_mtvsrwz): New. |
| (p8_mtvsrwz_1, p8_mtvsrwz_2): Delete. |
| (p8_xxpermdi_<mode>): Take two DF inputs rather than one TF. |
| (p8_fmrgow_<mode>): Likewise. |
| (reload_vsx_from_gpr<mode>): Make clobber IF. Adjust for above |
| changes. |
| (reload_fpr_from_gpr<mode>): Similarly. Use "d" for op0 constraint. |
| (reload_vsx_from_gprsf): Use p8_mtvsrd_sf rather than attempting |
| to use movdi_internal64. Remove op0_di. |
| * config/rs6000/vsx.md (vsx_xscvspdpn_directmove): Make op1 SFmode. |
| |
| 2016-02-15 Evandro Menezes <e.menezes@samsung.com> |
| |
| Add support for the FCCMP insn types |
| |
| * config/aarch64/aarch64.md (fccmp): Change insn type. |
| (fccmpe): Likewise. |
| * config/aarch64/thunderx.md (thunderx_fcmp): Add "fccmp{s,d}" types. |
| * config/arm/cortex-a53.md (cortex_a53_fpalu): Likewise. |
| * config/arm/cortex-a57.md (cortex_a57_fp_cmp): Likewise. |
| * config/arm/xgene1.md (xgene1_fcmp): Likewise. |
| * config/arm/exynos-m1.md (exynos_m1_fp_ccmp): New insn reservation. |
| * config/arm/types.md (fccmps): Add new insn type. |
| (fccmpd): Likewise. |
| |
| 2016-02-15 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| * alias.c (get_alias_set): Fix a typo in comment. |
| |
| 2016-02-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69595 |
| * match.pd: Complete range test simplification to true. |
| |
| 2016-02-15 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR rtl-optimization/69648 |
| * lra-constraints.c (update_ebb_live_info): Don't remove sets of |
| pic_offset_table_rtx. |
| |
| PR rtl-optimization/69752 |
| * ira.c (update_equiv_regs): When looking for more than a single SET, |
| also take other side effects into account. |
| |
| 2016-02-15 Marcin Kościelnicki <koriakin@0x04.net> |
| |
| * config/s390/s390.c (s390_function_profiler): Add a new sequence |
| for z900+ CPUs in 31-bit mode. |
| |
| 2016-02-15 Marcin Kościelnicki <koriakin@0x04.net> |
| |
| * common/config/s390/s390-common.c (s390_supports_split_stack): |
| New function. |
| (TARGET_SUPPORTS_SPLIT_STACK): New macro. |
| * config/s390/s390-protos.h: Add s390_expand_split_stack_prologue. |
| * config/s390/s390.c (struct machine_function): New field |
| split_stack_varargs_pointer. |
| (s390_register_info): Mark r12 as clobbered if it'll be used as temp |
| in s390_emit_prologue. |
| (s390_emit_prologue): Use r12 as temp if r1 is taken by split-stack |
| vararg pointer. |
| (morestack_ref): New global. |
| (SPLIT_STACK_AVAILABLE): New macro. |
| (s390_expand_split_stack_prologue): New function. |
| (s390_live_on_entry): New function. |
| (s390_va_start): Use split-stack vararg pointer if appropriate. |
| (s390_asm_file_end): Emit the split-stack note sections. |
| (TARGET_EXTRA_LIVE_ON_ENTRY): New macro. |
| * config/s390/s390.md (UNSPEC_STACK_CHECK): New unspec. |
| (UNSPECV_SPLIT_STACK_CALL): New unspec. |
| (UNSPECV_SPLIT_STACK_DATA): New unspec. |
| (split_stack_prologue): New expand. |
| (split_stack_space_check): New expand. |
| (split_stack_data): New insn. |
| (split_stack_call): New expand. |
| (split_stack_call_*): New insn. |
| (split_stack_cond_call): New expand. |
| (split_stack_cond_call_*): New insn. |
| |
| 2016-02-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69783 |
| * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): |
| Add trivially correct cases. |
| |
| 2016-02-15 Tom de Vries <tom@codesourcery.com> |
| |
| PR lto/69655 |
| * lto-cgraph.c (input_offload_tables): Add and handle bool parameter |
| do_force_output. |
| * lto-streamer.h (input_offload_tables): Add and handle bool parameter. |
| |
| 2016-02-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69776 |
| * tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype. |
| * tree-ssa-sccvn.c (vn_reference_lookup): Add parameter to |
| indicate whether we can use TBAA to disambiguate against stores. |
| Use alias-set zero if not. |
| (visit_reference_op_store): Do not use TBAA when looking up |
| redundant stores. |
| * tree-ssa-pre.c (compute_avail): Use TBAA here. |
| (eliminate_dom_walker::before_dom_children): But not when looking |
| up redundant stores. |
| |
| 2016-02-14 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.md (absqi2, absghi2, bswaphi2, bswapsi2, bswapdi2): New. |
| |
| 2016-02-14 Venkataramanan Kumar <venkataramanan.kumar@amd.com> |
| |
| * config/i386/znver1.md |
| (znver1_pop, znver1_pop_mem, |
| znver1_load_imov_double_store, |
| znver1_load_imov_direct_store, |
| znver1_load_imov_direct_load, |
| znver1_load_imov_double_load): Add new. |
| (znver1_insn, znver1_insn_load): Add icmov type. |
| (znver1_sseavx_fma, |
| znver1_sseavx_fma_load, |
| znver1_avx256_fma, |
| znver1_avx256_fma_load): Fix pipe usage. |
| |
| 2016-02-14 Alan Modra <amodra@gmail.com> |
| |
| PR target/68973 |
| * reloads.c (find_reloads_address_1): For pre/post-inc/dec |
| with an invalid hard reg, reload just the reg not the entire |
| pre/post-inc/dec address expression. |
| |
| 2016-02-13 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/67260 |
| * config/sh/sh.md (sibcall_value_pcrel): Replace =&k scratch reg with |
| fixed R1_REG scratch reg. |
| (sibcall_value_pcrel_fdpic): Likewise. |
| |
| 2016-02-13 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/67636 |
| PR target/64345 |
| * config/sh/sh.md (*zero_extract_3): New insn_and_split pattern. |
| |
| 2016-02-12 Walter Lee <walt@tilera.com> |
| |
| * config/tilepro/t-tilepro: Replace CC_FOR_BUILD with CXX_FOR_BUILD. |
| * config/tilegx/t-tilegx: Likewise. |
| |
| 2016-02-12 David Malcolm <dmalcolm@redhat.com> |
| |
| PR other/69554 |
| * diagnostic-show-locus.c (struct line_span): New struct. |
| (layout::get_first_line): Delete. |
| (layout::get_last_line): Delete. |
| (layout::get_num_line_spans): New member function. |
| (layout::get_line_span): Likewise. |
| (layout::print_heading_for_line_span_index_p): Likewise. |
| (layout::get_expanded_location): Likewise. |
| (layout::calculate_line_spans): Likewise. |
| (layout::m_first_line): Delete. |
| (layout::m_last_line): Delete. |
| (layout::m_line_spans): New field. |
| (layout::layout): Update comment. Replace m_first_line and |
| m_last_line with m_line_spans, replacing their initialization |
| with a call to calculate_line_spans. |
| (diagnostic_show_locus): When printing source lines and |
| annotations, rather than looping over a single span |
| of lines, instead loop over each line_span within |
| the layout, with an inner loop over the lines within them. |
| Call the context's start_span callback when changing line spans. |
| * diagnostic.c (diagnostic_initialize): Initialize start_span. |
| (diagnostic_build_prefix): Break out the building of the location |
| part of the string into... |
| (diagnostic_get_location_text): ...this new function, rewriting |
| it from nested ternary expressions to a sequence of "if" |
| statements. |
| (default_diagnostic_start_span_fn): New function. |
| * diagnostic.h (diagnostic_start_span_fn): New typedef. |
| (diagnostic_context::start_span): New field. |
| (default_diagnostic_start_span_fn): New prototype. |
| |
| 2016-02-12 David Malcolm <dmalcolm@redhat.com> |
| |
| PR driver/69779 |
| * gcc.c (driver::finalize): Fix cleanup of "specs". |
| |
| 2016-02-12 David Malcolm <dmalcolm@redhat.com> |
| |
| PR driver/69265 |
| PR driver/69453 |
| * gcc.c (driver::driver): Initialize m_option_suggestions. |
| (driver::~driver): Clean up m_option_suggestions. |
| (suggest_option): Convert to... |
| (driver::suggest_option): ...this, and split out into |
| driver::build_option_suggestions and find_closest_string. |
| (driver::build_option_suggestions): New function, from |
| first half of suggest_option. Special-case |
| OPT_fsanitize_ and OPT_fsanitize_recover_, making use of |
| the sanitizer_opts array. For options of enum types, add the |
| various enum values to the candidate strings. |
| (driver::handle_unrecognized_options): Remove "const". |
| * gcc.h (driver::handle_unrecognized_options): Likewise. |
| (driver::build_option_suggestions): New decl. |
| (driver::suggest_option): New decl. |
| (driver::m_option_suggestions): New field. |
| * opts-common.c (add_misspelling_candidates): New function. |
| * opts.c (sanitizer_opts): Remove decl of struct sanitizer_opts_s |
| and make non-static. |
| * opts.h (sanitizer_opts): New array decl. |
| (add_misspelling_candidates): New function decl. |
| * spellcheck.c (find_closest_string): New function. |
| * spellcheck.h (find_closest_string): New function decl. |
| |
| 2016-02-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/69764 |
| PR rtl-optimization/69771 |
| * optabs.c (expand_binop_directly): For shift_optab_p, force |
| convert_modes with VOIDmode if xop1 has VOIDmode. |
| |
| 2016-02-12 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR target/69729 |
| * lto-streamer-out.c (lto_output): Use thunk.add_pointer_bounds_args |
| to correctly determine instrumentation thunks. |
| |
| 2016-02-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/69241 |
| * ipa-split.c (split_function): If split part returns TREE_ADDRESSABLE |
| type by reference, force lhs on the call. |
| |
| PR ipa/68672 |
| * ipa-split.c (split_function): Don't compute/use main_part_return_p. |
| Compute retval and retbnd early in all cases if split_part_return_p |
| and return_bb is not EXIT. Remove all clobber stmts and reset |
| all debug stmts that refer to SSA_NAMEs defined in split part, |
| except if it is retval, in that case replace the old retval with the |
| lhs of the call to the split part. |
| |
| 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org> |
| |
| revert: |
| 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org> |
| |
| PR middle-end/66726 |
| * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt |
| whose result is used in PHI. |
| (maybe_optimize_range_tests): Likewise. |
| (final_range_test_p): Likweise. |
| |
| 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org> |
| |
| PR middle-end/66726 |
| * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt |
| whose result is used in PHI. |
| (maybe_optimize_range_tests): Likewise. |
| (final_range_test_p): Likweise. |
| |
| 2016-02-12 Jakub Jelinek <jakub@redhat.com> |
| |
| * cgraph.c: Spelling fixes - behaviour -> behavior and |
| neighbour -> neighbor. |
| * target.def: Likewise. |
| * sel-sched.c: Likewise. |
| * config/mips/mips.c: Likewise. |
| * config/arc/arc.md: Likewise. |
| * config/arm/cortex-a57.md: Likewise. |
| * config/arm/arm.c: Likewise. |
| * config/arm/neon.md: Likewise. |
| * config/arm/arm-c.c: Likewise. |
| * config/vms/vms-c.c: Likewise. |
| * config/s390/s390.c: Likewise. |
| * config/i386/znver1.md: Likewise. |
| * config/i386/i386.c: Likewise. |
| * config/ia64/hpux-unix2003.h: Likewise. |
| * config/msp430/msp430.md: Likewise. |
| * config/rx/rx.c: Likewise. |
| * config/rx/rx.md: Likewise. |
| * config/aarch64/aarch64-simd.md: Likewise. |
| * config/aarch64/aarch64.c: Likewise. |
| * config/nvptx/nvptx.c: Likewise. |
| * config/bfin/bfin.c: Likewise. |
| * config/cris/cris.opt: Likewise. |
| * config/rs6000/rs6000.c: Likewise. |
| * target.h: Likewise. |
| * spellcheck.c: Likewise. |
| * ira-build.c: Likewise. |
| * tree-inline.c: Likewise. |
| * builtins.c: Likewise. |
| * lra-constraints.c: Likewise. |
| * explow.c: Likewise. |
| * hwint.h: Likewise. |
| * targhooks.c: Likewise. |
| * tree-vect-data-refs.c: Likewise. |
| * expr.c: Likewise. |
| * doc/tm.texi: Likewise. |
| * doc/extend.texi: Likewise. |
| * doc/install.texi: Likewise. |
| * doc/md.texi: Likewise. |
| * tree-ssa-tail-merge.c: Likewise. |
| * sched-int.h: Likewise. |
| * match.pd: Likewise. |
| * sched-ebb.c: Likewise. |
| * target.def (omit_struct_return_reg): Likewise. |
| * gimple-ssa-isolate-paths.c: Likewise. |
| (find_implicit_erroneous_behaviour): Renamed to... |
| (find_implicit_erroneous_behavior): ... this. |
| (find_explicit_erroneous_behaviour): Renamed to... |
| (find_explicit_erroneous_behavior): ... this. |
| (gimple_ssa_isolate_erroneous_paths): Adjust caller. |
| |
| 2016-02-11 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/64682 |
| PR rtl-optimization/69567 |
| PR rtl-optimization/69737 |
| * combine.c (distribute_notes) <REG_DEAD>: If the register is set |
| in I2 as well, just lose it. |
| |
| 2016-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_last_printed_arch_string): |
| New variable. |
| (aarch64_last_printed_tune_string): Likewise. |
| (aarch64_declare_function_name): Only output .arch assembler |
| directive if it will be different from the previously output |
| directive. Same for .tune comment but only if -dA is set. |
| (aarch64_start_file): New function. |
| (TARGET_ASM_FILE_START): Define. |
| |
| 2016-02-11 David Malcolm <dmalcolm@redhat.com> |
| |
| PR plugins/69758 |
| * Makefile.in (PLUGIN_HEADERS): Add params.list. |
| |
| 2016-02-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/65313 |
| * tree-vect-slp.c (vect_schedule_slp_instance): Avoid |
| -Wmaybe-uninitialized warning. |
| |
| 2016-02-11 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/69713 |
| * config/sh/sh.md (casesi_worker_0): Add T_REG use. |
| |
| 2016-02-11 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/69291 |
| * ifcvt.c (noce_try_store_flag_constants): Do not allow |
| subexpressions affected by changing the result. |
| |
| 2016-02-10 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/69148 |
| * lra-constraints.c (curr_insn_transform): Find in/out operands |
| for secondary memory moves. Update dups. |
| |
| 2016-02-10 Yuri Rumyantsev <ysrumyan@gmail.com> |
| |
| PR tree-optimization/69652 |
| * tree-vect-loop.c (optimize_mask_stores): Move declaration of STMT1 |
| to nested loop, did source re-formatting, skip debug statements, |
| add check on statement with volatile operand, remove dead scalar |
| statements. |
| |
| 2016-02-10 Jakub Jelinek <jakub@redhat.com> |
| Patrick Palka <ppalka@gcc.gnu.org> |
| |
| PR ipa/69241 |
| PR c++/69649 |
| * gimplify.c (gimplify_modify_expr): Set lhs even for noreturn |
| calls if the return type is TREE_ADDRESSABLE. |
| * cgraphunit.c (cgraph_node::expand_thunk): Likewise. |
| * ipa-split.c (split_function): Fix doubled "we" in comment. |
| Use void return type for the split part even if |
| !split_point->split_part_set_retval. |
| |
| 2016-02-10 Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/68021 |
| * tree-ssa-loop-ivopts.c (get_computation_aff): Set ratio to 1 if |
| when computing the value of biv cand by itself. |
| |
| 2016-02-10 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * config/aarch64/aarch64.c (cortexa53_tunings): Enable AES fusion. |
| (cortexa57_tunings): Likewise. |
| (cortexa72_tunings): Likewise. |
| (arch_macro_fusion_pair_p): Add support for AES fusion. |
| * config/aarch64/aarch64-fusion-pairs.def: Add AES_AESMC entry. |
| * config/arm/aarch-common.c (aarch_crypto_can_dual_issue): |
| Allow virtual registers before reload so early scheduling works. |
| * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Use |
| correct latency and pipeline. |
| (cortex_a57_crypto_complex): Likewise. |
| (cortex_a57_crypto_xor): Likewise. |
| (define_bypass): Add AES bypass. |
| |
| 2016-02-10 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69726 |
| * passes.def: Add DCE pass before late uninit. |
| * match.pd: Add A ? B : (!A ? C : X) -> A ? B : C patterns to |
| really fixup if-conversions job. |
| |
| 2016-02-10 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * config/arm/arm.c (arm_cortex_a53_tune): Enable AES fusion. |
| (arm_cortex_a57_tune): Likewise. |
| (aarch_macro_fusion_pair_p): Add support for AES fusion. |
| * config/arm/arm-protos.h (fuse_ops): Add FUSE_AES_AESMC. |
| |
| 2016-02-10 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * timevar.def (TV_PHASE_DBGINFO): Delete. |
| (TV_PHASE_CHECK_DBGINFO): Likewise. |
| * varpool.c (varpool_node::assemble_decl): Do not change timevar. |
| |
| 2016-02-10 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69719 |
| * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): |
| Adjust previous fix by ensuring that dr_a1 is left of dr_a2. |
| |
| 2016-02-09 Andrew Pinski <apinski@cavium.com> |
| |
| PR tree-opt/69282 |
| * optabs-tree.c (expand_vec_cond_expr_p): Don't early return if |
| get_vcond_mask_icode returns false. |
| |
| 2016-02-09 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/68404 |
| * config/rs6000/predicates.md (fusion_gpr_addis): Prevent fusing |
| an ADDIS that adds a pointer to a large constant that sets the |
| upper16 bits with a load operation. |
| |
| 2016-02-09 Charles Baylis <charles.baylis@linaro.org> |
| |
| PR target/68532 |
| * config/arm/arm.c (arm_evpc_neon_vzip): Allow for big endian lane |
| order. |
| * config/arm/arm_neon.h (vzipq_s8): Adjust shuffle patterns for big |
| endian. |
| (vzipq_s16): Likewise. |
| (vzipq_s32): Likewise. |
| (vzipq_f32): Likewise. |
| (vzipq_u8): Likewise. |
| (vzipq_u16): Likewise. |
| (vzipq_u32): Likewise. |
| (vzipq_p8): Likewise. |
| (vzipq_p16): Likewise. |
| |
| 2016-02-09 Charles Baylis <charles.baylis@linaro.org> |
| |
| PR target/68532 |
| * config/arm/arm.c (neon_endian_lane_map): New function. |
| (neon_vector_pair_endian_lane_map): New function. |
| (arm_evpc_neon_vuzp): Allow for big endian lane order. |
| * config/arm/arm_neon.h (vuzpq_s8): Adjust shuffle patterns for big |
| endian. |
| (vuzpq_s16): Likewise. |
| (vuzpq_s32): Likewise. |
| (vuzpq_f32): Likewise. |
| (vuzpq_u8): Likewise. |
| (vuzpq_u16): Likewise. |
| (vuzpq_u32): Likewise. |
| (vuzpq_p8): Likewise. |
| (vuzpq_p16): Likewise. |
| |
| 2016-02-11 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR target/69634 |
| * regstat.c (regstat_bb_compute_calls_crossed): Disregard |
| debug insns. |
| |
| 2016-02-09 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (insv<mode>_1): Use gen_int_mode to |
| truncate const_int operand 1 to QImode. |
| |
| 2016-02-09 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gimple-ssa-backprop.c (optimize_phi): Do not replace an argument |
| corresponding to an abnormal edge. |
| |
| 2016-02-09 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/69599 |
| * tree-ssa-structalias.c (fndecl_maybe_in_other_partition): New |
| function. |
| (find_func_aliases_for_builtin_call, find_func_clobbers) |
| (ipa_pta_execute): Handle case that foo and foo._0 are not in same lto |
| partition. |
| |
| 2016-02-09 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69715 |
| * tree-ssa.c (execute_update_addresses_taken): Mark non-decl |
| LHS on calls as non-rewritable. |
| |
| 2016-02-09 Tom de Vries <tom@codesourcery.com> |
| |
| PR lto/69707 |
| * lto-wrapper.c (append_diag_options): New function. |
| (compile_offload_image): Call append_diag_options. |
| |
| 2016-02-08 Sandra Loosemore <sandra@codesourcery.com> |
| |
| PR other/69722 |
| * doc/extend.texi (Flag Output Operands): Correct sectioning. |
| Minor copy-edit to fix verb tenses. |
| |
| 2016-02-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/69209 |
| * ipa-split.c (split_function): If split part is not |
| returning retval, retval has gimple type but is not |
| gimple value, force it into a SSA_NAME first. |
| |
| 2016-02-08 Nicklas Bo Jensen <nbjensen@gmail.com> |
| |
| * doc/tree-ssa.texi (Preserving the virtual SSA form): Remove |
| outdated section. |
| |
| 2016-02-08 Jason Merrill <jason@redhat.com> |
| |
| PR c++/69631 |
| * convert.c (convert_to_integer_1): Check dofold on truncation |
| distribution. |
| (convert_to_pointer_maybe_fold, convert_to_real_maybe_fold) |
| (convert_to_integer_maybe_fold, convert_to_complex_maybe_fold): |
| Rename from *_nofold. |
| * convert.h (convert_to_pointer_nofold, convert_to_integer_nofold) |
| (convert_to_real_nofold, convert_to_complex_nofold): New inlines. |
| |
| 2016-02-08 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR target/60410 |
| * tree.c (build_common_tree_nodes): Remove short_double argument. |
| All callers changed. |
| * tree.h (build_common_tree_nodes): Adjust declaration. |
| * doc/invoke.texi (-fshort-double): Remove documentation. |
| * config/mips/t-img-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, |
| MULTILIB_EXCEPTIONS): Remove -fshort-double variant. |
| * lto-wrapper.c (merge_and_complain, append_compiler_options) |
| (append_linker_options): Don't handle OPT_fshort_double. |
| |
| PR rtl-optimization/68730 |
| * lra-remat.c (insn_to_cand_activation): New static variable. |
| (lra_remat): Allocate and free it. |
| (create_cand): New arg activation. Initialize a field in |
| insn_to_cand_activation if it is nonnull. |
| (create_cands): Pass the activation insn to create_cand when making |
| a candidate involving an output reload. Reorganize code a little. |
| (do_remat): Keep track of active status of candidates in a separate |
| bitmap. |
| |
| 2016-02-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69719 |
| * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): |
| Properly use absolute of the difference of the two offsets to |
| compare or adjust the segment length. |
| |
| 2016-02-08 Richard Biener <rguenther@suse.de> |
| Jeff Law <law@redhat.com> |
| |
| PR target/68273 |
| * tree-ssanames.c (make_ssa_name_fn): Always use unqualified |
| types for anonymous SSA names. |
| |
| 2016-02-08 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/69274 |
| * ira.c (ira_setup_alts): Do not change recog_data.operand order. |
| |
| 2016-02-08 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/65917 |
| * tree-ssa-dom.c (record_temporary_equivalences): Record both |
| equivalences from if (x == y) style conditionals. |
| (loop_depth_of_name): Remove. |
| (record_equality): Remove loop depth check. |
| * tree-ssa-scopedtables.h (const_and_copies): Refine comments. |
| (const_and_copies::record_const_or_copy_raw): New member function. |
| * tree-ssa-scopedtables.c |
| (const_and_copies::record_const_or_copy_raw): New, factored out of |
| (const_and_copies::record_const_or_copy): Call new member function. |
| |
| 2016-02-05 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/68541 |
| * gimple-ssa-split-paths.c: Include tree-cfg.h and params.h. |
| (count_stmts_in_block): New function. |
| (poor_ifcvt_candidate_code): Likewise. |
| (is_feasible_trace): Add some heuristics to determine when path |
| splitting is profitable. |
| (find_block_to_duplicate_for_splitting_paths): Make sure the graph |
| is a diamond with a single exit. |
| |
| 2016-02-05 Martin Sebor <msebor@redhat.com> |
| |
| PR c++/69662 |
| * doc/invoke.texi: Update -Wplacement-new to take an optional |
| argument. |
| |
| 2016-02-06 Richard Henderson <rth@redhat.com> |
| |
| PR c/69643 |
| * tree.c (tree_nop_conversion_p): Do not strip casts into or |
| out of non-standard address spaces. |
| |
| 2016-02-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/69691 |
| * lra-eliminations.c (move_plus_up): Don't add the addend twice. |
| |
| 2016-02-05 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * config/rs6000/crypto.md (crypto_vpermxor_<mode>): Correct insn type. |
| * config/rs6000/rs6000.md (mov<mode>_hardfloat): Likewise. |
| (*ieee128_mfvsrd_64bit): Likewise. |
| (*ieee128_mfvsrd_32bit): Likewise. |
| |
| 2016-02-05 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR target/69369 |
| Revert r232560: |
| 2016-01-19 Jan Hubicka <hubicka@ucw.cz> |
| |
| * cgraphunit.c (cgraph_node::reset): Clear thunk info and |
| instrumented_version. |
| |
| 2016-01-05 Jeremy Bennett <jeremy.bennett@embecosm.com> |
| |
| * doc/invoke.texi (Optimize Options): In table of --param options |
| rename second occurrence of tracer-min-branch-ratio to |
| tracer-min-branch-probability, rename |
| tracer-min-branch-ratio-feedback to |
| tracer-min-branch-probability-feedback and clarify description, |
| rename sched-spec-state-edge-prob-cutoff to |
| sched-state-edge-prob-cutoff, rename selsched-max-insns-to-rename |
| to selsched-insns-to-rename, rename lto-minpartition to |
| lto-min-partition, delete reorder-blocks-duplicate and |
| reorder-blocks-duplicate-feedback. |
| |
| 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_register_info_set_ranges): Remove |
| superfluous loops. |
| |
| 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| * doc/extend.texi: S/390: Correct some typos. |
| |
| 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_emit_call): Add missing 64 bit check. |
| |
| 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| PR target/69625 |
| * config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New defines. |
| (s390_register_info_gprtofpr): Use new macros above. |
| (s390_register_info_stdarg_fpr): Adjust max_fpr to better match |
| its name. |
| (s390_register_info_stdarg_gpr): Adjust max_gpr to better match |
| its name. Adjust restore and save gpr ranges. |
| (s390_register_info_set_ranges): New function. |
| (s390_register_info): Use new macros above. Call |
| s390_register_info_set_ranges. |
| (s390_optimize_register_info): Likewise. |
| (s390_hard_regno_rename_ok): Use new macros. |
| (s390_hard_regno_scratch_ok): Likewise. |
| (s390_emit_epilogue): Likewise. |
| (s390_can_use_return_insn): Likewise. |
| (s390_optimize_prologue): Likewise. |
| * config/s390/s390.md (GPR2_REGNUM, GPR6_REGNUM): New constants. |
| |
| 2016-02-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/69677 |
| * config/i386/i386.c (convert_scalars_to_vector): Readd stack |
| alignment fixes. |
| (ix86_option_override_internal): Disable TARGET_STV even for |
| -m{incoming,preferred}-stack-boundary=3. |
| |
| 2016-02-03 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> |
| |
| * config.gcc: Mark deprecated rtems targets as obsolete. |
| |
| 2016-02-04 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/64682 |
| PR rtl-optimization/69567 |
| * combine.c (distribute_notes) <REG_DEAD>: Place the death note |
| before I2 only if the register is both used and set in I2. |
| |
| 2016-02-04 DJ Delorie <dj@redhat.com> |
| |
| * config/msp430/msp430.c (msp430_start_function): Add function type. |
| |
| 2016-02-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/69368 |
| * tree-dfa.c (get_ref_base_and_extent): Remove unreachable code. |
| |
| 2016-02-04 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR rtl-optimization/69577 |
| Revert: |
| 2015-10-29 Richard Henderson <rth@redhat.com> |
| |
| PR target/68124 |
| PR rtl-opt/67609 |
| * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten |
| sse check to the exact conditions of PR 67609. |
| |
| 2016-02-04 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/69667 |
| * config/rs6000/rs6000.md (mov<mode>_64bit_dm): Use 'd' constraint |
| instead of 'ws', and 'wh' instead of 'wm' since TFmode/IFmode are |
| not allowed into the traditional Altivec registers. |
| (movtd_64bit_nodm): Likewise. |
| (mov<mode>_32bit, FMOVE128_FPR iterator): Likewise. |
| |
| 2016-02-04 David Malcolm <dmalcolm@redhat.com> |
| |
| * config/aarch64/cortex-a57-fma-steering.c |
| (aarch64_register_fma_steering): Remove "static" from arguments |
| to register_pass. |
| |
| 2016-02-04 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| PR target/69619 |
| * ccmp.c (expand_ccmp_expr_1): Avoid evaluating gs0/gs1 |
| twice when complex. |
| |
| 2016-02-04 Mike Frysinger <vapier@gentoo.org> |
| |
| * doc/invoke.texi: Delete -mno-fma4. |
| |
| 2016-02-04 Richard Sandiford <richard.sandiford@arm.com> |
| |
| PR rtl-optimization/69577 |
| * reginfo.c (record_subregs_of_mode): Add a partial_def parameter. |
| (find_subregs_of_mode): Update accordingly. Iterate over partial |
| definitions. |
| |
| 2016-02-04 Alan Lawrence <alan.lawrence@arm.com> |
| |
| * config/arm/arm-protos.h (neon_reinterpret): Remove. |
| * config/arm/arm.c (neon_reinterpret): Remove. |
| * config/arm/arm_neon_builtins.def (vreinterpretv8qi, vreinterpretv4hi, |
| vreinterpretv2si, vreinterpretv2sf, vreinterpretdi, vreinterpretv16qi, |
| vreinterpretv8hi, vreinterpretv4si, vreinterpretv4sf, vreinterpretv2di, |
| vreinterpretti): Remove. |
| * config/arm/neon.md (neon_vreinterpretv8qi<mode>, |
| neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>, |
| neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>, |
| neon_vreinterpretti<mode>, neon_vreinterpretv16qi<mode>, |
| neon_vreinterpretv8hi<mode>, neon_vreinterpretv4si<mode>, |
| neon_vreinterpretv4sf<mode>, neon_vreinterpretv2di<mode>): Remove. |
| * config/arm/arm_neon.h (vreinterpret_p8_p16, vreinterpret_p8_f32, |
| vreinterpret_p8_p64, vreinterpret_p8_s64, vreinterpret_p8_u64, |
| vreinterpret_p8_s8, vreinterpret_p8_s16, vreinterpret_p8_s32, |
| vreinterpret_p8_u8, vreinterpret_p8_u16, vreinterpret_p8_u32, |
| vreinterpret_p16_p8, vreinterpret_p16_f32, vreinterpret_p16_p64, |
| vreinterpret_p16_s64, vreinterpret_p16_u64, vreinterpret_p16_s8, |
| vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_u8, |
| vreinterpret_p16_u16, vreinterpret_p16_u32, vreinterpret_f32_p8, |
| vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpret_f32_s64, |
| vreinterpret_f32_u64, vreinterpret_f32_s8, vreinterpret_f32_s16, |
| vreinterpret_f32_s32, vreinterpret_f32_u8, vreinterpret_f32_u16, |
| vreinterpret_f32_u32, vreinterpret_p64_p8, vreinterpret_p64_p16, |
| vreinterpret_p64_f32, vreinterpret_p64_s64, vreinterpret_p64_u64, |
| vreinterpret_p64_s8, vreinterpret_p64_s16, vreinterpret_p64_s32, |
| vreinterpret_p64_u8, vreinterpret_p64_u16, vreinterpret_p64_u32, |
| vreinterpret_s64_p8, vreinterpret_s64_p16, vreinterpret_s64_f32, |
| vreinterpret_s64_p64, vreinterpret_s64_u64, vreinterpret_s64_s8, |
| vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_u8, |
| vreinterpret_s64_u16, vreinterpret_s64_u32, vreinterpret_u64_p8, |
| vreinterpret_u64_p16, vreinterpret_u64_f32, vreinterpret_u64_p64, |
| vreinterpret_u64_s64, vreinterpret_u64_s8, vreinterpret_u64_s16, |
| vreinterpret_u64_s32, vreinterpret_u64_u8, vreinterpret_u64_u16, |
| vreinterpret_u64_u32, vreinterpret_s8_p8, vreinterpret_s8_p16, |
| vreinterpret_s8_f32, vreinterpret_s8_p64, vreinterpret_s8_s64, |
| vreinterpret_s8_u64, vreinterpret_s8_s16, vreinterpret_s8_s32, |
| vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32, |
| vreinterpret_s16_p8, vreinterpret_s16_p16, vreinterpret_s16_f32, |
| vreinterpret_s16_p64, vreinterpret_s16_s64, vreinterpret_s16_u64, |
| vreinterpret_s16_s8, vreinterpret_s16_s32, vreinterpret_s16_u8, |
| vreinterpret_s16_u16, vreinterpret_s16_u32, vreinterpret_s32_p8, |
| vreinterpret_s32_p16, vreinterpret_s32_f32, vreinterpret_s32_p64, |
| vreinterpret_s32_s64, vreinterpret_s32_u64, vreinterpret_s32_s8, |
| vreinterpret_s32_s16, vreinterpret_s32_u8, vreinterpret_s32_u16, |
| vreinterpret_s32_u32, vreinterpret_u8_p8, vreinterpret_u8_p16, |
| vreinterpret_u8_f32, vreinterpret_u8_p64, vreinterpret_u8_s64, |
| vreinterpret_u8_u64, vreinterpret_u8_s8, vreinterpret_u8_s16, |
| vreinterpret_u8_s32, vreinterpret_u8_u16, vreinterpret_u8_u32, |
| vreinterpret_u16_p8, vreinterpret_u16_p16, vreinterpret_u16_f32, |
| vreinterpret_u16_p64, vreinterpret_u16_s64, vreinterpret_u16_u64, |
| vreinterpret_u16_s8, vreinterpret_u16_s16, vreinterpret_u16_s32, |
| vreinterpret_u16_u8, vreinterpret_u16_u32, vreinterpret_u32_p8, |
| vreinterpret_u32_p16, vreinterpret_u32_f32, vreinterpret_u32_p64, |
| vreinterpret_u32_s64, vreinterpret_u32_u64, vreinterpret_u32_s8, |
| vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_u8, |
| vreinterpret_u32_u16, vreinterpretq_p8_p16, vreinterpretq_p8_f32, |
| vreinterpretq_p8_p64, vreinterpretq_p8_p128, vreinterpretq_p8_s64, |
| vreinterpretq_p8_u64, vreinterpretq_p8_s8, vreinterpretq_p8_s16, |
| vreinterpretq_p8_s32, vreinterpretq_p8_u8, vreinterpretq_p8_u16, |
| vreinterpretq_p8_u32, vreinterpretq_p16_p8, vreinterpretq_p16_f32, |
| vreinterpretq_p16_p64, vreinterpretq_p16_p128, vreinterpretq_p16_s64, |
| vreinterpretq_p16_u64, vreinterpretq_p16_s8, vreinterpretq_p16_s16, |
| vreinterpretq_p16_s32, vreinterpretq_p16_u8, vreinterpretq_p16_u16, |
| vreinterpretq_p16_u32, vreinterpretq_f32_p8, vreinterpretq_f32_p16, |
| vreinterpretq_f32_p64, vreinterpretq_f32_p128, vreinterpretq_f32_s64, |
| vreinterpretq_f32_u64, vreinterpretq_f32_s8, vreinterpretq_f32_s16, |
| vreinterpretq_f32_s32, vreinterpretq_f32_u8, vreinterpretq_f32_u16, |
| vreinterpretq_f32_u32, vreinterpretq_p64_p8, vreinterpretq_p64_p16, |
| vreinterpretq_p64_f32, vreinterpretq_p64_p128, vreinterpretq_p64_s64, |
| vreinterpretq_p64_u64, vreinterpretq_p64_s8, vreinterpretq_p64_s16, |
| vreinterpretq_p64_s32, vreinterpretq_p64_u8, vreinterpretq_p64_u16, |
| vreinterpretq_p64_u32, vreinterpretq_p128_p8, vreinterpretq_p128_p16, |
| vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64, |
| vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16, |
| vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16, |
| vreinterpretq_p128_u32, vreinterpretq_s64_p8, vreinterpretq_s64_p16, |
| vreinterpretq_s64_f32, vreinterpretq_s64_p64, vreinterpretq_s64_p128, |
| vreinterpretq_s64_u64, vreinterpretq_s64_s8, vreinterpretq_s64_s16, |
| vreinterpretq_s64_s32, vreinterpretq_s64_u8, vreinterpretq_s64_u16, |
| vreinterpretq_s64_u32, vreinterpretq_u64_p8, vreinterpretq_u64_p16, |
| vreinterpretq_u64_f32, vreinterpretq_u64_p64, vreinterpretq_u64_p128, |
| vreinterpretq_u64_s64, vreinterpretq_u64_s8, vreinterpretq_u64_s16, |
| vreinterpretq_u64_s32, vreinterpretq_u64_u8, vreinterpretq_u64_u16, |
| vreinterpretq_u64_u32, vreinterpretq_s8_p8, vreinterpretq_s8_p16, |
| vreinterpretq_s8_f32, vreinterpretq_s8_p64, vreinterpretq_s8_p128, |
| vreinterpretq_s8_s64, vreinterpretq_s8_u64, vreinterpretq_s8_s16, |
| vreinterpretq_s8_s32, vreinterpretq_s8_u8, vreinterpretq_s8_u16, |
| vreinterpretq_s8_u32, vreinterpretq_s16_p8, vreinterpretq_s16_p16, |
| vreinterpretq_s16_f32, vreinterpretq_s16_p64, vreinterpretq_s16_p128, |
| vreinterpretq_s16_s64, vreinterpretq_s16_u64, vreinterpretq_s16_s8, |
| vreinterpretq_s16_s32, vreinterpretq_s16_u8, vreinterpretq_s16_u16, |
| vreinterpretq_s16_u32, vreinterpretq_s32_p8, vreinterpretq_s32_p16, |
| vreinterpretq_s32_f16, vreinterpretq_s32_f32, vreinterpretq_s32_p64, |
| vreinterpretq_s32_p128, vreinterpretq_s32_s64, vreinterpretq_s32_u64, |
| vreinterpretq_s32_s8, vreinterpretq_s32_s16, vreinterpretq_s32_u8, |
| vreinterpretq_s32_u16, vreinterpretq_s32_u32, vreinterpretq_u8_p8, |
| vreinterpretq_u8_p16, vreinterpretq_u8_f32, vreinterpretq_u8_p64, |
| vreinterpretq_u8_p128, vreinterpretq_u8_s64, vreinterpretq_u8_u64, |
| vreinterpretq_u8_s8, vreinterpretq_u8_s16, vreinterpretq_u8_s32, |
| vreinterpretq_u8_u16, vreinterpretq_u8_u32, vreinterpretq_u16_p8, |
| vreinterpretq_u16_p16, vreinterpretq_u16_f32, vreinterpretq_u16_p64, |
| vreinterpretq_u16_p128, vreinterpretq_u16_s64, vreinterpretq_u16_u64, |
| vreinterpretq_u16_s8, vreinterpretq_u16_s16, vreinterpretq_u16_s32, |
| vreinterpretq_u16_u8, vreinterpretq_u16_u32, vreinterpretq_u32_p8, |
| vreinterpretq_u32_p16, vreinterpretq_u32_f32, vreinterpretq_u32_p64, |
| vreinterpretq_u32_p128, vreinterpretq_u32_s64, vreinterpretq_u32_u64, |
| vreinterpretq_u32_s8, vreinterpretq_u32_s16, vreinterpretq_u32_s32, |
| vreinterpretq_u32_u8, vreinterpretq_u32_u16): Rewrite using casts. |
| |
| 2016-02-04 Martin Liska <mliska@suse.cz> |
| |
| PR sanitizer/69276 |
| * asan.c (has_stmt_been_instrumented_p): Instrument gimple calls |
| that are gimple_store_p. |
| (maybe_instrument_call): Likewise. |
| |
| 2016-02-04 Bin Cheng <bin.cheng@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_legitimize_address): Force |
| register scaling out of memory reference and comment why. |
| |
| 2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/65932 |
| PR target/67714 |
| * cse.c (cse_insn): Pass NULL to fold_rtx when initially |
| folding the source of a SET. |
| |
| 2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/65932 |
| PR target/67714 |
| * config/arm/arm.c (arm_new_rtx_costs, MULT case): Properly extract |
| the operands of the SIGN_EXTENDs from a SMUL[TB][TB] rtx. |
| |
| 2016-02-04 Jim Wilson <jim.wilson@linaro.org> |
| |
| PR target/65932 |
| PR target/67714 |
| * config/arm/arm.h (PROMOTE_MODE): Don't set UNSIGNEDP for QImode and |
| HImode. |
| |
| 2016-02-04 Christian Bruel <christian.bruel@st.com> |
| |
| * config/arm/arm-c.c (arm_reset_previous_fndecl): Style fix and typo. |
| * config/arm/arm.c (arm_set_current_function): Likewise. |
| |
| 2016-02-04 Jakub Jelinek <jakub@redhat.com> |
| Ilya Enkovich <enkovich.gnu@gmail.com> |
| H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/69454 |
| * config/i386/i386.c (convert_scalars_to_vector): Remove |
| stack alignment fixes. |
| (ix86_option_override_internal): Disable TARGET_STV if stack |
| might not be aligned enough. |
| (ix86_minimum_alignment): Assert that TARGET_STV is false. |
| |
| 2016-02-04 Victoria Stepanyan <victoria.stepanyan@amd.com> |
| |
| * gcc/config/i386/x86-tune.def: Disable default prefetching |
| for -march=znver1. |
| |
| 2016-02-03 Michael Meissner <meissner@linux.vnet.ibm.com> |
| Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/69461 |
| * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Fix thinko |
| in validating fused toc addresses. |
| |
| 2016-02-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/69627 |
| * diagnostic-show-locus.c (layout::get_state_at_point): Don't read |
| range->m_caret fields if range->m_show_caret_p is false. |
| |
| PR target/69644 |
| * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): |
| Force oldval into register if it does not satisfy reg_or_short_operand |
| predicate. Fix up formatting. |
| |
| 2016-02-03 Vladimir Makarov <vmakarov@redhat.com> |
| Alexandre Oliva <aoliva@redhat.com> |
| |
| PR target/69461 |
| * lra-constraints.c (simplify_operand_subreg): Check additionally |
| address validity after potential reloading. |
| (process_address_1): Check insns validity. In case of failure do |
| nothing. |
| |
| 2016-02-03 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| PR target/69118 |
| * config/i386/sse.md (define_insn "avx512f_maskcmp<mode>3"): |
| Fix target. |
| |
| 2016-02-02 Jakub Jelinek <jakub@redhat.com> |
| |
| * wide-int.cc (canonize_uhwi): New function. |
| (wi::divmod_internal): Use it. |
| |
| 2016-02-02 James Norris <jnorris@codesourcery.com |
| |
| * gimplify.c (omp_notice_variable): Add usage check. |
| |
| 2016-02-02 Alexander Monakov <amonakov@ispras.ru> |
| |
| * config/nvptx/nvptx.c (nvptx_print_operand): Treat LEU, GEU, LTU, GTU |
| like LE, GE, LT, GT when emitting relational operator. |
| |
| 2016-02-02 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * ira-costs.c (find_costs_and_classes): Add extra argument. |
| * target.def (ira_change_pseudo_allocno_class): Add parameter. |
| * targhooks.h (ira_change_pseudo_allocno_class): Likewise. |
| * targhooks.c (ira_change_pseudo_allocno_class): Likewise. |
| * config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class) |
| Add best_class parameter, and return it if not ALL_REGS. |
| * config/mips/mips.c (mips_ira_change_pseudo_allocno_class): |
| Add parameter. |
| * doc/tm.texi (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): |
| Update target hook. |
| |
| 2016-02-02 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * config/aarch64/aarch64.c |
| (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): New define. |
| (aarch64_ira_change_pseudo_allocno_class): New function. |
| |
| 2016-02-02 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/67032 |
| * config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves. |
| |
| 2016-02-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> |
| |
| * config/avr/avr.c (avr_option_override): Set |
| PARAM_ALLOW_STORE_DATA_RACES to 1. |
| |
| 2016-02-02 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69595 |
| * match.pd: Add range test simplifications to true/false. |
| |
| 2016-02-02 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): Remove. |
| * omp-low.c (expand_omp_target): Use BUILT_IN_GOACC_DATA_START |
| instead. |
| |
| 2016-02-02 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69606 |
| * tree-ssa-math-opts.c (bswap_replace): Clear flow sensitive |
| info on the result before moving a stmt. |
| |
| 2016-02-02 Yuri Rumyantsev <ysrumyan@gmail.com> |
| |
| PR middle-end/68542 |
| * config/i386/i386.c (ix86_expand_branch): Add support for conditional |
| branch with vector comparison. |
| * config/i386/sse.md (VI48_AVX): New mode iterator. |
| (define_expand "cbranch<mode>4): Add support for conditional branch |
| with vector comparison. |
| * tree-vect-loop.c (optimize_mask_stores): New function. |
| * tree-vect-stmts.c (vectorizable_mask_load_store): Initialize |
| has_mask_store field of vect_info. |
| * tree-vectorizer.c (vectorize_loops): Invoke optimaze_mask_stores for |
| vectorized loops having masked stores after vec_info destroy. |
| * tree-vectorizer.h (loop_vec_info): Add new has_mask_store field and |
| correspondent macros. |
| (optimize_mask_stores): Add prototype. |
| |
| 2016-02-02 Alan Modra <amodra@gmail.com> |
| |
| PR target/69548 |
| * config/rs6000/predicates.md (quad_int_reg_operand): Don't |
| allow subregs. |
| |
| 2016-02-02 Alan Modra <amodra@gmail.com> |
| |
| PR target/68662 |
| * config/rs6000/rs6000.c (need_toc_init): New var, set it |
| whenever toc_label_name used. |
| (rs6000_file_start): Don't set up toc section here, |
| (rs6000_output_function_epilogue): do so here instead, |
| (rs6000_xcoff_file_start): and here. |
| * config/rs6000/rs6000.md (load_toc_aix_si): Set need_toc_init. |
| (load_toc_aix_di): Likewise. |
| |
| 2016-02-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/69592 |
| * rtlanal.c (nonzero_bits_binary_arith_p): New inline function. |
| (cached_nonzero_bits): Use it instead of ARITHMETIC_P. |
| (num_sign_bit_copies_binary_arith_p): New inline function. |
| (cached_num_sign_bit_copies): Use it instead of ARITHMETIC_P. |
| |
| 2016-02-01 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/69580 |
| * params.def (FSM_MAXIMUM_PHI_ARGUMENTS): New param. |
| * tree-ssa-threadbackward.c |
| (fsm_find_control_statement_thread_paths): Do not try to walk |
| through large PHI nodes. |
| |
| 2016-02-01 Jakub Jelinek <jakub@redhat.com> |
| |
| * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false |
| when count is incremented above limit, don't analyze further |
| insns afterwards. |
| |
| * omp-low.c (oacc_parse_default_dims): Avoid |
| -Wsign-compare warning, make sure value fits into int |
| rather than just unsigned int. |
| |
| 2016-02-01 Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/67921 |
| * fold-const.c (split_tree): New parameters. Convert pointer |
| type variable part to proper type before negating. |
| (fold_binary_loc): Pass new arguments to split_tree. |
| |
| 2016-02-01 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * config/nvptx/nvptx.c (PTX_GANG_DEFAULT): New. |
| (nvptx_goacc_validate_dims): Extend to handle global defaults. |
| * target.def (OACC_VALIDATE_DIMS): Extend documentation. |
| * doc/tm.texti: Rebuilt. |
| * doc/invoke.texi (fopenacc-dim): Document. |
| * lto-wrapper.c (merge_and_complain): Add OPT_fopenacc_dim_ case. |
| (append_compiler_options): Likewise. |
| * omp-low.c (oacc_default_dims, oacc_min_dims): New. |
| (oacc_parse_default_dims): New. |
| (oacc_validate_dims): Add USED arg. Select non-unity default when |
| possible. |
| (oacc_loop_fixed_partitions): Return mask of used partitions. |
| (oacc_loop_auto_partitions): Emit dump info. |
| (oacc_loop_partition): Return mask of used partitions. |
| (execute_oacc_device_lower): Parse default dimension arg. Adjust |
| loop partitioning and validation calls. |
| |
| 2016-02-01 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/69556 |
| * match.pd: Guard (C1/X)*C2 -> (C1*C2)/X with single_use. |
| |
| 2016-02-01 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69574 |
| * tree-chrec.c (hide_evolution_in_other_loops_than_loop): Instead |
| of asserting return chrec_dont_know. |
| |
| 2016-02-01 Martin Liska <mliska@suse.cz> |
| |
| * mem-stats-traits.h: Add copyright header. |
| * mem-stats.h: Likewise. |
| |
| 2016-02-01 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69579 |
| * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling): |
| Do not propagate through abnormal PHI results. |
| |
| 2016-02-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * postreload.c (reload_cse_simplify): Remove dead code. |
| |
| 2016-02-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/69570 |
| * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return true only |
| if there is more than one set, not if there is a single set. |
| |
| 2016-02-01 Richard Henderson <rth@redhat.com> |
| |
| PR rtl-opt/69535 |
| * combine.c (make_compound_operation): When looking through a |
| subreg, make sure to re-extend to the width of the outer mode. |
| |
| 2016-01-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/69546 |
| * wide-int.cc (wi::divmod_internal): For unsigned division |
| where both operands fit into uhwi, if o1 is 1 and o0 has |
| msb set, if divident_prec is larger than bits per hwi, |
| clear another quotient word and return 2 instead of 1. |
| Similarly for remainder with msb in HWI set, if dividend_prec |
| is larger than bits per hwi. |
| |
| 2016-01-29 Martin Jambor <mjambor@suse.cz> |
| |
| * hsa-gen.c (get_memory_order_name): Mask with MEMMODEL_BASE_MASK. |
| Use short lowercase names. |
| (get_memory_order): Mask with MEMMODEL_BASE_MASK. Support |
| MEMMODEL_CONSUME with acquire semantics and MEMMODEL_SEQ_CST with |
| acq_rel one. Protect warning agains segfaults if |
| get_memory_order_name returns NULL. |
| (gen_hsa_ternary_atomic_for_builtin): Support with MEMMODEL_SEQ_CST |
| with release semantics. Do not warn if get_memory_order already did. |
| (gen_hsa_insns_for_call): Support with MEMMODEL_SEQ_CST with acquire |
| semantics. Fix check for relaxed or acquire semantics. Do not warn |
| if get_memory_order already did. |
| |
| 2016-01-29 Sebastian Pop <s.pop@samsung.com> |
| |
| * doc/install.texi: Document that isl-0.16 is supported. |
| |
| 2016-01-29 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/69299 |
| * config/i386/constraints.md (Bm): Describe as special memory |
| constraint. |
| * doc/md.texi (DEFINE_SPECIAL_MEMORY_CONSTRAINT): Describe it. |
| * genoutput.c (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT. |
| * genpreds.c (struct constraint_data): Add is_special_memory. |
| (have_special_memory_constraints, special_memory_start): New |
| static vars. |
| (special_memory_end): Ditto. |
| (add_constraint): Add new arg is_special_memory. Add code to |
| process its true value. Update have_special_memory_constraints. |
| (process_define_constraint): Pass the new arg. |
| (process_define_register_constraint): Ditto. |
| (choose_enum_order): Process special memory. |
| (write_tm_preds_h): Generate enum const CT_SPECIAL_MEMORY and |
| function insn_extra_special_memory_constraint. |
| (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT. |
| * gensupport.c (process_rtx): Process |
| DEFINE_SPECIAL_MEMORY_CONSTRAINT. |
| * ira-costs.c (record_reg_classes): Process CT_SPECIAL_MEMORY. |
| * ira-lives.c (single_reg_class): Use |
| insn_extra_special_memory_constraint. |
| * ira.c (ira_setup_alts): Process CT_SPECIAL_MEMORY. |
| * lra-constraints.c (process_alt_operands): Ditto. |
| (curr_insn_transform): Use insn_extra_special_memory_constraint. |
| * recog.c (asm_operand_ok, preprocess_constraints): Process |
| CT_SPECIAL_MEMORY. |
| * reload.c (find_reloads): Ditto. |
| * rtl.def (DEFINE_SPECIFAL_MEMORY_CONSTRAINT): New. |
| * stmt.c (parse_input_constraint): Use |
| insn_extra_special_memory_constraint. |
| |
| 2016-01-29 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/69530 |
| * lra-splill.c (lra_final_code_change): Revert r229087 by |
| removing all sub-registers. |
| |
| 2016-01-29 Steve Ellcey <sellcey@imgtec.com> |
| |
| PR target/65604 |
| * config/mips/mips.c (mips_output_division): Check flag_delayed_branch. |
| |
| 2016-01-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69551 |
| * config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For |
| SSE1, copy target into the temporary reg first before recursing |
| on it. |
| |
| 2016-01-29 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm |
| with vm. |
| |
| 2016-01-29 Jonathan Wakely <jwakely@redhat.com> |
| |
| * ginclude/stdarg.h: Test __cplusplus instead of |
| __GXX_EXPERIMENTAL_CXX0X__. |
| |
| 2016-01-29 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69547 |
| * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): |
| Do not mark clobbers necessary. |
| (mark_all_reaching_defs_necessary_1): Likewise. |
| |
| 2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Format |
| declaration name with %qs and print it in both error messages. |
| Also fix indentation. |
| |
| 2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| PR other/69006 |
| * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Remove |
| trailing blank line from error message. |
| |
| 2016-01-29 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR c++/69462 |
| * ginclude/float.h: Also provide FLT_EVAL_METHOD and DECIMAL_DIG |
| for C++-11. |
| |
| 2016-01-29 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/69537 |
| * match.pd: Allow all integral types when simplifying a |
| widening or sign-changing conversion. |
| |
| 2016-01-28 Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Revert assert |
| back to setting codegen_error to fail codegen. |
| |
| 2016-01-28 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/69459 |
| * config/i386/constraints.md (C): Only accept constant zero operand. |
| (BC): New constraint. |
| * config/i386/sse.md (*mov<mode>_internal): Use BC constraint |
| instead of C constraint. |
| * doc/md.texi (Machine Constraints): Update description |
| of C constraint. |
| |
| 2016-01-28 Steve Ellcey <sellcey@imgtec.com> |
| |
| PR target/68400 |
| * config/mips/mips.c (and_operands_ok): Add MIPS16 check. |
| |
| 2016-01-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/69542 |
| * lra-remat.c (calculate_local_reg_remat_bb_data): Only consider |
| non-debug insns. |
| |
| 2016-01-28 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * config/rs6000/rs6000.c (output_cbranch): Don't statically predict |
| branches if using guessed profile. |
| |
| 2016-01-28 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * graphite-optimize-isl.c (optimize_isl): Fix dump. |
| |
| 2016-01-28 Richard Henderson <rth@redhat.com> |
| |
| PR target/69305 |
| * config/aarch64/aarch64-modes.def (CC_Cmode): New |
| * config/aarch64/aarch64-protos.h: Update. |
| * config/aarch64/aarch64.c (aarch64_zero_extend_const_eq): New. |
| (aarch64_select_cc_mode): Add check for use of CC_Cmode. |
| (aarch64_get_condition_code_1): Handle CC_Cmode. |
| * config/aarch64/aarch64.md (addti3): Use adddi3_compareC. |
| (*add<mode>3_compareC_cconly_imm): New. |
| (*add<mode>3_compareC_cconly): New. |
| (*add<mode>3_compareC_imm): New. |
| (add<mode>3_compareC): New. |
| (add<mode>3_carryin, *addsi3_carryin_uxtw): Sort compare operand |
| to be first. Use aarch64_carry_operation. |
| (*add<mode>3_carryin_alt1, *addsi3_carryin_alt1_uxtw): Remove. |
| (*add<mode>3_carryin_alt2, *addsi3_carryin_alt2_uxtw): Remove. |
| (*add<mode>3_carryin_alt3, *addsi3_carryin_alt3_uxtw): Remove. |
| (subti3): Use subdi3_compare1. |
| (*sub<mode>3_compare0): Rename from sub<mode>3_compare0. |
| (sub<mode>3_compare1): New. |
| (*sub<mode>3_carryin0, *subsi3_carryin_uxtw): New. |
| (*sub<mode>3_carryin): Use aarch64_borrow_operation. |
| (*subsi3_carryin_uxtw): Likewise. |
| (*ngc<mode>, *ngcsi_uxtw): Likewise. |
| (*sub<mode>3_carryin_alt, *subsi3_carryin_alt_uxtw): New. |
| * config/aarch64/iterators.md (DWI): New. |
| * config/aarch64/predicates.md (aarch64_carry_operation): New. |
| (aarch64_borrow_operation): New. |
| |
| 2016-01-28 Abderrazek Zaafrani <a.zaafrani@samsung.com> |
| |
| * graphite-optimize-isl.c (optimize_isl): Print a different debug |
| message when isl does not return a valid schedule. |
| |
| 2016-01-28 Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple): |
| Remove comments from class declarations: they are already in the code |
| close by the defs. |
| |
| 2016-01-28 Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Call |
| codegen_error_p. |
| (ternary_op_to_tree): Same. |
| (unary_op_to_tree): Same. |
| (nary_op_to_tree): Same. |
| (gcc_expression_from_isl_expr_op): Same. |
| (gcc_expression_from_isl_expression): Same. |
| (graphite_create_new_loop): Same. |
| (graphite_create_new_loop_guard): Same. |
| (build_iv_mapping): Same. |
| (graphite_create_new_guard): Same. |
| (translate_isl_ast_to_gimple::copy_loop_phi_nodes): Same. |
| (translate_isl_ast_to_gimple::translate_pending_phi_nodes): Same. |
| |
| 2016-01-28 Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Assert |
| instead of setting codegen_error to fail codegen. |
| |
| 2016-01-28 Jason Merrill <jason@redhat.com> |
| |
| * tree.h (BINFO_FLAG_0): Rename from BINFO_MARKED. |
| |
| 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_if_then_else_costs): |
| Remove CONST_INT_P check in CCMP cost calculation. |
| |
| 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * config/aarch64/aarch64.c (generic_vector_cost): |
| Set vec_permute_cost. |
| (cortexa57_vector_cost): Likewise. |
| (exynosm1_vector_cost): Likewise. |
| (xgene1_vector_cost): Likewise. |
| (aarch64_builtin_vectorization_cost): Use vec_permute_cost. |
| * config/aarch64/aarch64-protos.h (cpu_vector_cost): |
| Add vec_permute_cost entry. |
| |
| 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * config/aarch64/aarch64.md (ccmp<mode>): Disassemble |
| immediate as %1. |
| (add<mode>3_compare0): Likewise. |
| (addsi3_compare0_uxtw): Likewise. |
| (add<mode>3nr_compare0): Likewise. |
| (compare_neg<mode>): Likewise. |
| (<optab><mode>3): Likewise. |
| |
| 2016-01-28 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| * tree-vect-stmts.c (vectorizable_comparison): Add |
| NULL check for vectype. |
| |
| 2016-01-28 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69466 |
| * tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges): |
| Account for PHIs we couldn't duplicate. |
| |
| 2016-01-28 Martin Liska <mliska@suse.cz> |
| |
| PR pch/68758 |
| * ggc-common.c (gt_pch_save): Use ENABLE_VALGRIND_ANNOTATIONS macro |
| instead of ENABLE_VALGRIND_CHECKING. |
| |
| 2016-01-27 Richard Henderson <rth@redhat.com> |
| |
| PR rtl-opt/69447 |
| * lra-remat.c (subreg_regs): New. |
| (dump_candidates_and_remat_bb_data): Dump it. |
| (operand_to_remat): Reject if operand in subreg_regs. |
| (set_bb_regs): Collect subreg_regs. |
| (lra_remat): Init and free subreg_regs. Compute |
| calculate_local_reg_remat_bb_data before create_cands. |
| |
| 2016-01-27 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/68986 |
| * config/i386/i386.c (ix86_update_stack_boundary): Don't |
| change stack_alignment_needed for __tls_get_addr call. |
| |
| 2016-01-27 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/rs6000/rs6000.c (print_operand): Rollback 's' removal. |
| |
| 2016-01-27 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/68398 |
| PR tree-optimization/69196 |
| * params.def (PARAM_FSM_SCALE_PATH_STMTS): New parameter. |
| (PARAM_FSM_SCALE_PATH_BLOCKS): Likewise. |
| * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): |
| Only count PHIs in the last block in the path. The others will |
| const/copy propagate away. Add heuristic to allow more irreducible |
| subloops to be created when it is likely profitable to do so. |
| |
| * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): |
| Fix typo in comment. Use gsi_after_labels and remove the GIMPLE_LABEL |
| check from within the loop. Use gsi_next_nondebug rather than gsi_next. |
| |
| 2016-01-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR lto/69254 |
| * sanitizer.def: Add BEGIN_SANITIZER_BUILTINS and |
| END_SANITIZER_BUILTINS markers using DEF_BUILTIN_STUB. |
| * asan.c (DEF_BUILTIN_STUB): Temporarily define. |
| * tree-streamer-in.c: Include asan.h. |
| (streamer_get_builtin_tree): For builtins in sanitizer |
| range call initialize_sanitizer_builtins and retry. |
| |
| 2016-01-27 Ian Lance Taylor <iant@google.com> |
| |
| * common.opt (fkeep-gc-roots-live): New undocumented option. |
| * tree-ssa-loop-ivopts.c (add_candidate_1): If |
| -fkeep-gc-roots-live, skip pointers. |
| (add_iv_candidate_for_biv): Handle add_candidate_1 returning |
| NULL. |
| |
| 2016-01-27 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/69512 |
| * config/i386/i386.md (*zext<mode>_doubleword_and): New pattern. |
| (*zext<mode>_doubleword): Disable for TARGET_ZERO_EXTEND_WITH_AND. |
| |
| 2016-01-27 Thomas Klausner <wiz@NetBSD.org> |
| |
| PR target/68380 |
| * configure.ac: NetBSD provides SSP in its C library. |
| * configure: Updated. |
| |
| 2016-01-27 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69166 |
| * tree-vect-loop.c (vect_is_simple_reduction): Always check |
| reduction code for commutativity / associativity. |
| |
| 2016-01-27 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/69355 |
| * tree-sra.c (analyze_access_subtree): Correct hole detection when |
| total_scalarization fails. |
| |
| 2016-01-27 David Edelsohn <dje.gcc@gmail.com> |
| |
| * config/rs6000/driver-rs6000.c (detect_processor_aix): Add |
| power9. |
| |
| 2016-01-27 Christian Bruel <christian.bruel@st.com> |
| |
| PR target/69245 |
| * config/arm/arm-c.c (arm_pragma_target_parse): Add comments. |
| Move arm_reset_previous_fndecl and set_target_option_current_node in |
| the conditional part. Call save_restore_target_globals. |
| * config/arm/arm.c (arm_set_current_function): |
| Refactor to better support #pragma target and attribute mix. |
| Call save_restore_target_globals. |
| * config/arm/arm-protos.h (save_restore_target_globals): New function. |
| |
| 2016-01-27 Martin Liska <mliska@suse.cz> |
| |
| * hsa.c (hsa_summary_t::link_functions): Create IPA_REF_ADDR |
| reference for an HSA kernel and its host function. |
| |
| 2016-01-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/69399 |
| * wide-int.h (wi::lrshift): For larger precisions, only |
| use fast path if shift is known to be < HOST_BITS_PER_WIDE_INT. |
| |
| 2016-01-27 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| * config/arc/predicates.md (proper_comparison_operator): Reject |
| constant-constant comparison. |
| |
| 2016-01-26 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/69110 |
| * tree-data-ref.c (initialize_data_dependence_relation): Handle |
| DR_NUM_DIMENSIONS == 0. |
| |
| 2016-01-26 Abderrazek Zaafrani <a.zaafrani@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-isl-ast-to-gimple.c (ternary_op_to_tree): Handle |
| isl_ast_op_cond and isl_ast_op_select. |
| (gcc_expression_from_isl_expr_op): Same. |
| |
| 2016-01-26 Jason Merrill <jason@redhat.com> |
| |
| PR c++/68782 |
| * tree.c (recompute_constructor_flags): Split out from |
| build_constructor. |
| (verify_constructor_flags): New. |
| * tree.h: Declare them. |
| |
| 2016-01-26 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR rtl-optimization/69217 |
| * var-tracking.c (tracked_record_parameter_p): Don't segfault if there |
| are no TYPE_FIELDS set for the record type. |
| |
| 2016-01-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/68662 |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Initialize |
| toc_label_name unconditionally. |
| (rs6000_emit_load_toc_table): Call ggc_strdup on toc_label_name for |
| SYMBOL_REF string. Use toc_label_name instead of constructing |
| LCTOC1. |
| (rs6000_elf_declare_function_name): Use toc_label_name instead of |
| constructing LCTOC1. |
| |
| 2016-01-26 Martin Sebor <msebor@redhat.com> |
| |
| PR other/69477 |
| * doc/extend.texi (Common Type Attributes): Move text that talks about |
| attribute packed from attribute aligned to the section discussing |
| the former attribute for clarity. |
| |
| 2016-01-26 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/60908 |
| * trans-mem.c (tm_region_init): Mark entry block as visited. |
| |
| 2016-01-26 David Malcolm <dmalcolm@redhat.com> |
| |
| PR other/69006 |
| * diagnostic-show-locus.c (layout::print_source_line): Replace |
| call to pp_newline with call to layout::print_newline. |
| (layout::print_annotation_line): Likewise. |
| (layout::move_to_column): Likewise. |
| (layout::print_any_fixits): After printing any fixits, print a |
| trailing newline, if necessary. |
| (layout::print_newline): New method, resetting any colorization |
| before a newline. |
| (diagnostic_show_locus): Move the pp_newline to before the |
| early bailout. Remove dummy block enclosing the layout instance. |
| * diagnostic.c (default_diagnostic_finalizer): Replace invocation |
| of pp_newline_and_flush with pp_flush. |
| (diagnostic_append_note): Delete use of pp_newline. |
| (diagnostic_append_note_at_rich_loc): Delete. |
| * diagnostic.h (diagnostic_append_note_at_rich_loc): Delete. |
| * pretty-print.h (output_buffer_append_r): Reset buff->line_length |
| when newline characters are added to the buffer. |
| |
| 2016-01-26 Michael Matz <matz@suse.de> |
| |
| * configure.ac (ac_cv_std_swap_in_utility): New test. |
| * system.h (<algorithm>): Check HAVE_SWAP_IN_UTILITY as well. |
| * configure: Regenerate. |
| * config.in: Regenerate. |
| |
| 2016-01-26 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| * config/arc/arc.md (cstoresi4): Force operand into register. |
| (arcset<code>): Fix predicate. |
| (arcsetltu): Likewise. |
| (arcsetgeu): Likewise. |
| (arcsethi): Likewise. |
| (arcsetls): Likewise. |
| |
| 2016-01-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/69483 |
| * gimple-fold.c (canonicalize_constructor_val): Return NULL |
| if base has error_mark_node type. |
| |
| 2016-01-26 Christophe Lyon <christophe.lyon@linaro.org> |
| |
| PR target/68620 |
| * config/arm/arm.c (neon_valid_immediate): Handle FP16 vectors. |
| * config/arm/arm_neon.h (__ARM_NUM_LANES, __arm_lane, arm_lanq): |
| New helper macros. |
| (vget_lane_f16): Handle big-endian. |
| (vgetq_lane_f16): Likewise. |
| (vset_lane_f16): Likewise. |
| (vsetq_lane_f16): Likewise. |
| * config/arm/iterators.md (VQXMOV): Add V8HF. |
| (VDQ): Add V4HF and V8HF. |
| (V_reg): Handle V4HF and V8HF. |
| (Is_float_mode): Likewise. |
| * config/arm/neon.md (movv4hf, movv8hf, neon_vdup_nv4hf, |
| neon_vdup_nv8hf): New patterns. |
| (vec_set<mode>_internal, vec_extract<mode>, neon_vld1_dup<mode>): |
| Use VD_LANE iterator. |
| (neon_vld1_dup<mode>): Use VQ2 iterator. |
| |
| 2016-01-26 Nathan Sidwell <nathan@acm.org> |
| |
| * omp-low.h (oacc_fn_attrib_kernels_p): Declare. |
| (set_oacc_fn_attrib): Add IS_KERNEL arg. |
| * omp-low.c (set_oacc_fn_attrib): Add IS_KERNEL arg. |
| (oacc_fn_attrib_kernels_p, oacc_fn_attrib_level): New. |
| (expand_omp_target): Pass is_kernel to set_oacc_fn_attrib. |
| (oacc_validate_dims): Add LEVEL arg, don't return level. |
| (new_oacc_loop_routine): Use oacc_fn_attrib_level, not |
| oacc_validate_dims. |
| (execute_oacc_device_lower): Adjust, add more dump output. |
| * tree-ssa-loop.c (gate_oacc_kernels): Use |
| oacc_fn_attrib_kernels_p. |
| * tree-parloops.c (create_parallel_loop): Adjust |
| set_oacc_fn_attrib call. |
| |
| 2016-01-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR lto/69254 |
| * lto-wrapper.c (merge_and_complain): Handle -fcilkplus. |
| (append_compiler_options): Handle -fcilkplus. |
| (append_linker_options): Ignore -fno-{openmp,openacc,cilkplus}. |
| |
| 2016-01-26 Nick Clifton <nickc@redhat.com> |
| |
| PR target/66655 |
| * config/i386/winnt.c (i386_pe_binds_local_p): If a function has |
| been marked as DECL_ONE_ONLY but we do not the means to make it |
| so, then do not allow it to bind locally. |
| |
| 2016-01-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR lto/69254 |
| * opts.h (parse_sanitizer_options): New prototype. |
| * opts.c (sanitizer_opts): New array. |
| (parse_sanitizer_options): New function. |
| (common_handle_option): Use parse_sanitizer_options. |
| |
| 2016-01-26 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/68986 |
| * config/i386/i386.c (ix86_compute_frame_layout): Move stack |
| alignment adjustment to ... |
| (ix86_update_stack_boundary): Here. Don't over-align stack for |
| __tls_get_addr. |
| (ix86_finalize_stack_realign_flags): Use stack_alignment_needed |
| if __tls_get_addr is called. |
| |
| 2016-01-26 Christian Bruel <christian.bruel@st.com> |
| |
| * doc/sourcebuild.texi (arm_crypto_pragma_ok): Remove. |
| |
| 2016-01-26 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode. |
| |
| 2016-01-26 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/69467 |
| * match.pd: Guard X * CST CMP 0 pattern with single_use. |
| |
| 2016-01-26 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69452 |
| * tree-ssa-loop-im.c (move_computations_dom_walker): Remove. |
| (move_computations_dom_walker::before_dom_children): Rename |
| to ... |
| (move_computations_worker): This. |
| (move_computations): Perform an RPO rather than a DOM walk. |
| |
| 2016-01-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69442 |
| * combine.c (combine_instructions): For REG_EQUAL note with |
| SET_DEST being ZERO_EXTRACT, also temporarily set SET_DEST |
| to the underlying register. |
| * doc/rtl.texi (REG_EQUAL): Document the behavior of |
| REG_EQUAL/REG_EQUIV notes if SET_DEST is ZERO_EXTRACT. |
| |
| 2016-01-26 Roger Ferrer Ibáñez <rofirrim@gmail.com> |
| |
| PR target/67896 |
| * config/aarch64/aarch64-builtins.c |
| (aarch64_init_simd_builtin_types): Do not set structural |
| equality to __Poly{8,16,64,128}_t types. |
| |
| 2016-01-26 Richard Sandiford <richard.sandiford@arm.com> |
| |
| PR tree-optimization/69400 |
| * wide-int.cc (wi_pack): Take the precision as argument and |
| perform canonicalization here rather than in the callers. |
| Use the main loop to handle all full-width HWIs. Add a |
| zero HWI if in_len isn't a full result. |
| (wi::divmod_internal): Update accordingly. |
| (wi::mul_internal): Likewise. Simplify. |
| |
| 2016-01-25 Aditya Kumar <aditya.k7@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-poly.c (apply_poly_transforms): Simplify. |
| (print_isl_set): Use more readable format: ISL_YAML_STYLE_BLOCK. |
| (print_isl_map): Same. |
| (print_isl_union_map): Same. |
| (print_isl_schedule): New. |
| (debug_isl_schedule): New. |
| * graphite-dependences.c (scop_get_reads): Do not call |
| isl_union_map_add_map that is undocumented isl functionality. |
| (scop_get_must_writes): Same. |
| (scop_get_may_writes): Same. |
| (scop_get_original_schedule): Remove. |
| (scop_get_dependences): Do not call isl_union_map_compute_flow that |
| is deprecated in isl 0.15. Instead, use isl_union_access_* interface. |
| (compute_deps): Remove. |
| * graphite-isl-ast-to-gimple.c (print_schedule_ast): New. |
| (debug_schedule_ast): New. |
| (translate_isl_ast_to_gimple::scop_to_isl_ast): Call |
| set_separate_option. |
| (graphite_regenerate_ast_isl): Add dump. |
| (translate_isl_ast_to_gimple::scop_to_isl_ast): Generate code |
| from scop->transformed_schedule. |
| (graphite_regenerate_ast_isl): Add more dump. |
| * graphite-optimize-isl.c (optimize_isl): Set |
| scop->transformed_schedule. Check whether schedules are equal. |
| (apply_poly_transforms): Move here. |
| * graphite-poly.c (apply_poly_transforms): ... from here. |
| (free_poly_bb): Static. |
| (free_scop): Static. |
| (pbb_number_of_iterations_at_time): Remove. |
| (print_isl_ast): New. |
| (debug_isl_ast): New. |
| (debug_scop_pbb): New. |
| * graphite-scop-detection.c (print_edge): Move. |
| (print_sese): Move. |
| * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove. |
| (build_scop_scattering): Remove. |
| (create_pw_aff_from_tree): Assert instead of bailing out. |
| (add_condition_to_pbb): Remove unused code, do not fail. |
| (add_conditions_to_domain): Same. |
| (add_conditions_to_constraints): Remove. |
| (build_scop_context): New. |
| (add_iter_domain_dimension): New. |
| (build_iteration_domains): Initialize pbb->iterators. |
| Call add_conditions_to_domain. |
| (nested_in): New. |
| (loop_at): New. |
| (index_outermost_in_loop): New. |
| (index_pbb_in_loop): New. |
| (outermost_pbb_in): New. |
| (add_in_sequence): New. |
| (add_outer_projection): New. |
| (outer_projection_mupa): New. |
| (add_loop_schedule): New. |
| (build_schedule_pbb): New. |
| (build_schedule_loop): New. |
| (embed_in_surrounding_loops): New. |
| (build_schedule_loop_nest): New. |
| (build_original_schedule): New. |
| (build_poly_scop): Call build_original_schedule. |
| * graphite.h: Declare print_isl_schedule and debug_isl_schedule. |
| (free_poly_dr): Remove. |
| (struct poly_bb): Add iterators. Remove schedule, transformed, saved. |
| (free_poly_bb): Remove. |
| (debug_loop_vec): Remove. |
| (print_isl_ast): Declare. |
| (debug_isl_ast): Declare. |
| (scop_do_interchange): Remove. |
| (scop_do_strip_mine): Remove. |
| (scop_do_block): Remove. |
| (flatten_all_loops): Remove. |
| (optimize_isl): Remove. |
| (pbb_number_of_iterations_at_time): Remove. |
| (debug_scop_pbb): Declare. |
| (print_schedule_ast): Declare. |
| (debug_schedule_ast): Declare. |
| (struct scop): Remove schedule. Add original_schedule, |
| transformed_schedule. |
| (free_gimple_poly_bb): Remove. |
| (print_generated_program): Remove. |
| (debug_generated_program): Remove. |
| (unify_scattering_dimensions): Remove. |
| * sese.c (print_edge): ... here. |
| (print_sese): ... here. |
| (debug_edge): ... here. |
| (debug_sese): ... here. |
| * sese.h (print_edge): Declare. |
| (print_sese): Declare. |
| (dump_edge): Declare. |
| (dump_sese): Declare. |
| |
| 2016-01-25 Aditya Kumar <aditya.k7@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| * Makefile.in: Set ISLVER in site.exp. |
| |
| 2016-01-25 Jakub Jelinek <jakub@redhat.com> |
| |
| * omp-low.c (lower_omp_target) <case USE_DEVICE_PTR>: Set |
| DECL_VALUE_EXPR of new_var even for the non-array case. Look |
| through DECL_VALUE_EXPR for expansion. |
| |
| 2016-01-25 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| * config/mips/mips.c (mips_compute_frame_info): Skip re-computing |
| the frame info after reload completed. |
| |
| 2016-01-25 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/69196 |
| PR tree-optimization/68398 |
| * tree-ssa-threadupdate.h (enum bb_dom_status): Moved here from |
| tree-ssa-threadupdate.c. |
| (determine_bb_domination_status): Prototype |
| * tree-ssa-threadupdate.c (enum bb_dom_status): Remove |
| (determine_bb_domination_status): No longer static. |
| (valid_jump_thread_path): Remove code to detect characteristics |
| of the jump thread path not associated with correctness. |
| * tree-ssa-threadbackward.c (fsm_find_control_statment_thread_paths): |
| Correct test for thread path length. Count PHIs for real operands as |
| statements that need to be copied. Do not count ASSERT_EXPRs. |
| Look at all the blocks in the thread path. Compute and selectively |
| filter thread paths based on threading through the latch, threading |
| a multiway branch or crossing a multiway branch. |
| |
| 2016-01-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): Add |
| decl with __attribute__ ((unused)) annotation. |
| |
| 2016-01-25 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR target/69421 |
| * tree-vect-stmts.c (vectorizable_condition): Check vectype |
| of operands is compatible with a statement vectype. |
| |
| 2016-01-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * doc/extend.texi (scalar_storage_order type attribute): Fix typo and |
| improve wording for mixed storage order support. |
| |
| 2016-01-25 Bilyan Borisov <bilyan.borisov@arm.com> |
| |
| * config/aarch64/arm_neon.h (vcvt_s64_f64): New intrinsic. |
| (vcvt_u64_f64): Likewise. |
| (vcvta_s64_f64): Likewise. |
| (vcvta_u64_f64): Likewise. |
| (vcvtm_s64_f64): Likewise. |
| (vcvtm_u64_f64): Likewise. |
| (vcvtn_s64_f64): Likewise. |
| (vcvtn_u64_f64): Likewise. |
| (vcvtp_s64_f64): Likewise. |
| (vcvtp_u64_f64): Likewise. |
| |
| 2016-01-25 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| * config/arc/arc.c (TARGET_DWARF_REGISTER_SPAN): Define. |
| (arc_init): Check validity mll64 option. |
| (arc_save_restore): Use double load/store instruction. |
| (arc_expand_movmem): Likewise. |
| (arc_split_move): Don't split if we have double load/store |
| instructions. Returns a boolean. |
| (arc_process_double_reg_moves): Change function to return boolean |
| instead of a sequence of instructions. |
| (arc_dwarf_register_span): New function. |
| * config/arc/arc-protos.h (arc_split_move): Change prototype. |
| * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __ARC_LL64__. |
| * config/arc/arc.md (*movdi_insn): Emit ldd/std instructions. |
| (*movdf_insn): Likewise. |
| * config/arc/arc.opt (mll64): New option. |
| * config/arc/predicates.md (even_register_operand): New predicate. |
| * doc/invoke.texi (ARC Options): Add mll64 documentation. |
| |
| 2016-01-25 Richard Biener <rguenther@suse.de> |
| |
| PR lto/69393 |
| * dwarf2out.c (is_naming_typedef_decl): Not when DECL_NAMELESS. |
| * tree-streamer-out.c (pack_ts_base_value_fields): Stream |
| DECL_NAMELESS. |
| * tree-streamer-in.c (unpack_ts_base_value_fields): Likewise. |
| |
| 2016-01-25 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69376 |
| * tree-ssa-sccvn.h (struct vn_ssa_aux): Add range_info_anti_range_p |
| flag. |
| (VN_INFO_ANTI_RANGE_P): New inline. |
| (VN_INFO_RANGE_TYPE): Likewise. |
| * tree-ssa-sccvn.c (set_ssa_val_to): Also record and copy |
| SSA_NAME_ANTI_RANGE_P. |
| (free_scc_vn): Restore SSA_NAME_ANTI_RANGE_P. |
| * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): |
| Properly query VN_INFO_RANGE_TYPE. |
| |
| 2016-01-25 Nick Clifton <nickc@redhat.com> |
| |
| PR target/66655 |
| * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Remove definition. |
| |
| 2016-01-23 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/69426 |
| * tree-parloops.c (eliminate_local_variables_stmt): Handle vdef of |
| removed clobber. |
| |
| 2016-01-23 Jakub Jelinek <jakub@redhat.com> |
| |
| * tree-ssanames.c (release_free_names_and_compact_live_names): Replace |
| "the the" with "the" in the comments. |
| * ipa-devirt.c (build_type_inheritance_graph, |
| update_type_inheritance_graph): Likewise. |
| * tree.c (build_function_type_list_1): Likewise. |
| * cfgloopmanip.c (scale_loop_profile): Likewise. |
| * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Likewise. |
| * gimple-ssa-split-paths.c |
| (find_block_to_duplicate_for_splitting_paths): Likewise. |
| * tree-sra.c (init_subtree_with_zero, clobber_subtree): Likewise. |
| * expr.c (convert_move): Likewise. |
| * var-tracking.c (vt_stack_adjustments): Likewise. |
| * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise. |
| * tree-vrp.c (test_for_singularity): Likewise. |
| |
| * tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR |
| directly instead of building a temporary tree. |
| |
| PR bootstrap/69434 |
| * genrecog.c: Define INCLUDE_ALGORITHM before including system.h, |
| remove <algorithm> include. |
| |
| 2016-01-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69432 |
| * config/i386/i386.c: Include dojump.h. |
| (expand_small_movmem_or_setmem, |
| expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Spelling |
| fixes. |
| (ix86_expand_set_or_movmem): Call do_pending_stack_adjust () early |
| if dynamic_check != -1. |
| |
| 2016-01-21 Jeff Law <law@redhat.com> |
| |
| PR middle-end/69347 |
| * tree-ssa-dom.c (back_propagate_equivalences): Factored out of |
| record_temporary_equivalences. Rewritten to avoid unnecessary calls |
| into dominated_by_p. |
| (cprop_into_successor_phis): Avoid unnecessary tests. |
| |
| 2016-01-22 Richard Henderson <rth@redhat.com> |
| |
| PR target/69416 |
| * config/aarch64/aarch64.md (UNSPEC_NZCV): New. |
| (ccmp<mode>, fccmp<mode>, fccmpe<mode>): Use it. |
| |
| 2016-01-22 Michael Matz <matz@suse.de> |
| |
| * system.h (string, algorithm): Include only conditionally. |
| (new): Include always under C++. |
| * bb-reorder.c (toplevel): Define INCLUDE_ALGORITHM. |
| * final.c (toplevel): Ditto. |
| * ipa-chkp.c (toplevel): Define INCLUDE_STRING. |
| * genconditions.c (write_header): Make gencondmd.c define |
| INCLUDE_STRING. |
| * mem-stats.h (mem_usage::print_dash_line): Don't use std::string. |
| |
| * config/aarch64/aarch64.c (toplevel): Define INCLUDE_STRING. |
| * common/config/aarch64/aarch64-common.c (toplevel): Ditto. |
| |
| 2016-01-22 Christian Bruel <christian.bruel@st.com> |
| |
| PR target/68674 |
| * expr.c (expand_expr_real_1): Reset DECL_MODE if VECTOR_TYPE_P changed. |
| |
| 2016-01-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/69403 |
| * config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to |
| define_insn_and_split. Ensure operands[1] and operands[0] do not |
| get assigned the same register. |
| |
| 2016-01-22 Kugan Vivekanandarajah <kuganv@linaro.org> |
| |
| * ipa-prop.c (ipa_set_jf_constant): Remove redundant unshare_expr. |
| |
| 2016-01-22 Christian Bruel <christian.bruel@st.com> |
| |
| * config/arm/arm-c.c (arm_pragma_target_parse): |
| Remove warn_builtin_macro_redefined overwrite. |
| |
| 2016-01-22 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * ipa-inline.c (can_inline_edge_p): Back out overzealous check on |
| flag_non_call_exceptions compatibility. |
| |
| 2016-01-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/66668 |
| * dwarf2out.c (add_child_die_after): New function. |
| (dwarf_qual_info_t): New type. |
| (dwarf_qual_info): New variable. |
| (qualified_die_p): New function. |
| (modified_type_die): For -fdebug-types-section, ensure |
| canonical order of qualifiers. Put qualified DIEs adjacent |
| to the corresponding non-qualified type DIE and search there |
| for existing qualified DIEs. |
| |
| 2016-01-22 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * doc/extend.texi (scalar_storage_order type attribute): Document |
| restriction on type punning and aliasing, and remove future tense. |
| |
| 2016-01-21 Roman Zhuykov <zhroma@ispras.ru> |
| |
| PR target/69252 |
| * modulo-sched.c (optimize_sc): Allow branch-scheduling to add a new |
| first stage. |
| |
| 2016-01-21 Jeff Law <law@redhat.com> |
| |
| PR middle-end/69347 |
| * tree-ssa-dom.c (dom_opt_dom_walker::thread_across_edge): Avoid |
| useless call to record_temporary_equivalences. |
| * tree-ssa-threadbackward.c (find_jump_threads_backwards): Just |
| allocate 10 slots in the bb_path vector and let it grow as needed. |
| (fsm_find_control_statement_thread_paths): Similarly for the next_path |
| vector. |
| |
| 2016-01-21 David Edelsohn <dje.gcc@gmail.com> |
| |
| * configure.ac (gcc_cv_as_powerpc_mfcrf, gcc_cv_as_machine_directive): |
| Detangle. |
| * configure: Regenerate. |
| |
| 2016-01-21 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * config/rs6000/aix71.h (ASM_CPU_SPEC): Add entry for Power9. |
| * config/rs6000/driver-rs6000.c (struct asm_names): Likewise. |
| |
| 2016-01-21 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR middle-end/66178 |
| * expr.c (expand_expr_real_2) [PLUS_EXPR, MINUS_EXPR]: Don't |
| drop EXPAND_INITIALIZER. |
| * rtl.h (contains_symbolic_reference_p): Declare. |
| * rtlanal.c (contains_symbolic_reference_p): New function. |
| * simplify-rtx.c (simplify_binary_operation_1): Don't turn |
| a subtraction into a NOT if symbolic constants are involved. |
| |
| 2016-01-21 Anton Blanchard <anton@samba.org> |
| Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/63354 |
| * config/rs6000/linux64.h (TARGET_KEEP_LEAF_WHEN_PROFILED): New |
| #define. |
| * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): New |
| function. |
| |
| 2016-01-21 Ajit Agarwal <ajitkum@xilinx.com> |
| |
| * config/microblaze/microblaze.c |
| (get_branch_target): New. |
| (insert_wic_for_ilb_runout): New. |
| (insert_wic): New. |
| (microblaze_machine_dependent_reorg): New. |
| (TARGET_MACHINE_DEPENDENT_REORG): Define macro. |
| * config/microblaze/microblaze.md |
| (UNSPEC_IPREFETCH): Define. |
| (iprefetch): New pattern |
| * config/microblaze/microblaze.opt |
| (mxl-prefetch): New flag. |
| |
| 2016-01-21 Ajit Agarwal <ajitkum@xilinx.com> |
| |
| * config/microblaze/microblaze.h |
| (FIXED_REGISTERS): Update in macro. |
| (CALL_USED_REGISTERS): Update in macro. |
| |
| 2016-01-21 Yuri Rumyantsev <ysrumyan@gmail.com> |
| |
| PR rtl-optimization/68920 |
| * ifcvt.c (cond_move_process_if_block): Limit number of conditional |
| moves. |
| |
| 2016-01-21 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/68990 |
| * lra-coalesce.c (lra_coalesce): Invalidate value for the result |
| pseudo instead of inheritance ones. |
| |
| 2016-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| Nick Clifton <nickc@redhat.com> |
| |
| PR target/69129 |
| PR target/69012 |
| * config/mips/mips.c (mips_compute_frame_info): Initialise |
| args_size and hard_frame_pointer_offset fields of the frame |
| structure before calling mips_global_pointer. |
| |
| 2016-01-21 David Edelsohn <dje.gcc@gmail.com> |
| |
| * configure.ac (gcc_cv_as_dwloc): Test support for debug frame section |
| label reference. |
| * configure: Regenerate. |
| |
| 2016-01-21 Richard Biener <rguenther@suse.de> |
| |
| * graphite-optimize-isl.c (get_schedule_map): Fix typo. |
| |
| 2016-01-21 Marcin Kościelnicki <koriakin@0x04.net> |
| |
| * config/s390/s390.c (s390_asm_declare_function_size): Add code |
| to actually emit the .size directive. |
| |
| 2016-01-21 Stefan Sørensen <stefan.sorensen@spectralink.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69187 |
| PR target/65624 |
| * config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase |
| args array size by one to avoid buffer overflow. |
| |
| 2016-01-21 Marcin Kościelnicki <koriakin@0x04.net> |
| |
| * config/s390/s390.md (pool_section_start): Use switch_to_section |
| to select proper read-only data section instead of hardcoding |
| .rodata. |
| (pool_section_end): Use switch_to_section to match the above. |
| |
| 2016-01-21 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69378 |
| * tree-ssa-sccvn.c (dominated_by_p_w_unex): New function. |
| (set_ssa_val_to): Use it for dominance checks taking into |
| account not executable edges. |
| |
| 2016-01-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/69355 |
| * tree-dfa.c (get_ref_base_and_extent): Use GET_MODE_BITSIZE (mode) |
| for bitsize instead of GET_MODE_PRECISION (mode). |
| |
| 2016-01-20 Martin Sebor <msebor@redhat.com> |
| |
| PR c/52291 |
| * extend.texi (__sync Builtins): Clarify the semantics of |
| __sync_fetch_and_OP built-ins on pointers. |
| (__atomic Builtins): Same. |
| |
| 2016-01-21 Aditya Kumar <aditya.k7@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-isl-ast-to-gimple.c (enum phi_node_kind): New. |
| (class translate_isl_ast_to_gimple): Use phi_node_kind instead of bool. |
| (is_valid_rename): Same. |
| (translate_isl_ast_to_gimple::get_rename): Same. |
| (translate_isl_ast_to_gimple::rename_all_uses): Same. |
| (translate_isl_ast_to_gimple::rename_uses): Same. |
| (get_new_name): Check for close_phi nodes. |
| (copy_loop_phi_args): Use phi_node_kind. |
| (translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same. |
| (translate_isl_ast_to_gimple::copy_cond_phi_args): Same. |
| |
| 2016-01-21 Aditya Kumar <aditya.k7@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| Revert commit r229783. |
| * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id): |
| Remove use of parameter_rename_map. |
| (copy_def): Remove. |
| (copy_internal_parameters): Remove. |
| (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters. |
| * sese.c (new_sese_info): Do not initialize parameter_rename_map. |
| (free_sese_info): Do not free parameter_rename_map. |
| (set_rename): Do not use parameter_rename_map. |
| (rename_uses): Update call to set_rename. |
| (graphite_copy_stmts_from_block): Do not use parameter_rename_map. |
| * sese.h (parameter_rename_map_t): Remove. |
| (struct sese_info_t): Remove field parameter_rename_map. |
| |
| 2016-01-21 Aditya Kumar <aditya.k7@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-isl-ast-to-gimple.c: Fix comment. |
| * graphite-scop-detection.c (defined_in_loop_p): New. |
| (canonicalize_loop_closed_ssa): Do not add close phi nodes for SSA |
| names defined in loop. |
| |
| 2016-01-21 Aditya Kumar <aditya.k7@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-scop-detection.c (scop_detection::harmful_loop_in_region): |
| Discard unstructured if-then-else regions. |
| |
| 2016-01-21 Aditya Kumar <aditya.k7@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-sese-to-poly.c (set_scop_parameter_dim): Remove. |
| (cleanup_loop_iter_dom): Remove. |
| (build_loop_iteration_domains): Remove. |
| (build_scop_context): Remove. |
| (build_scop_iteration_domain): Remove. |
| (add_loop_constraints): New. |
| (build_iteration_domains): New. |
| (build_poly_scop): Call build_iteration_domains. |
| |
| 2016-01-21 Aditya Kumar <aditya.k7@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-scop-detection.c |
| (scop_detection::harmful_loop_in_region): Free dom and loops. |
| (scop_detection::loop_body_is_valid_scop): Free bbs. |
| |
| 2016-01-21 Aditya Kumar <aditya.k7@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-scop-detection.c (record_loop_in_sese): New. |
| (gather_bbs::before_dom_children): Call record_loop_in_sese. |
| (build_scops): Remove call to build_sese_loop_nests. |
| * sese.c (sese_record_loop): Remove. |
| (build_sese_loop_nests): Remove. |
| (new_sese_info): Remove region->loops. |
| (free_sese_info): Same. |
| * sese.h (sese_contains_loop): Same. |
| (build_sese_loop_nests): Remove. |
| (sese_contains_loop): Remove. |
| |
| 2016-01-21 Aditya Kumar <aditya.k7@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-scop-detection.c (loop_is_valid_scop): Renamed |
| loop_is_valid_in_scop. |
| (scop_detection::harmful_stmt_in_region): Renamed |
| harmful_loop_in_region. |
| Call loop_is_valid_in_scop. |
| |
| 2016-01-21 Aditya Kumar <aditya.k7@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle |
| isl_ast_node_mark. |
| |
| 2016-01-21 Aditya Kumar <aditya.k7@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-poly.c (new_poly_bb): Remove use of PBB_IS_REDUCTION. |
| * graphite.h (struct poly_bb): Remove field is_reduction. |
| (PBB_IS_REDUCTION): Remove. |
| |
| 2016-01-21 Aditya Kumar <aditya.k7@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-dependences.c (constrain_domain): Add call to isl_*_coalesce. |
| (add_pdr_constraints): Same. |
| (scop_get_reads): Same. |
| (scop_get_must_writes): Same. |
| (scop_get_may_writes): Same. |
| (scop_get_original_schedule): Same. |
| (extend_schedule): Same. |
| (apply_schedule_on_deps): Same. |
| (carries_deps): Same. |
| (compute_deps): Same. |
| (scop_get_dependences): Same. |
| * graphite-isl-ast-to-gimple.c |
| (translate_isl_ast_to_gimple::generate_isl_schedule): Same. |
| * graphite-optimize-isl.c (get_schedule_for_band): Same. |
| (get_schedule_for_band_list): Same. |
| (get_schedule_map): Same. |
| (apply_schedule_map_to_scop): Same. |
| * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same. |
| (build_loop_iteration_domains): Same. |
| (add_condition_to_pbb): Same. |
| (add_param_constraints): Same. |
| (pdr_add_memory_accesses): Same. |
| (pdr_add_data_dimensions): Same. |
| |
| 2016-01-20 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking |
| requirements. |
| |
| 2016-01-20 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * common.opt (feliminate-dwarf2-dups): Replace references to |
| "DWARF 2" with just "DWARF". |
| * config/ia64/ia64.opt (mdwarf2-asm): Likewise. |
| * doc/extend.texi: Likewise. |
| * doc/cpp.texi: Likewise. |
| * doc/invoke.texi: Likewise. |
| (Option Summary): Add -gdwarf to list of Debugging Options. |
| (Debugging Options): Document -gdwarf. |
| * doc/contrib.texi: Spell "DWARF" like that. |
| |
| 2016-01-21 Jakub Jelinek <jakub@redhat.com> |
| |
| * omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized |
| warning. Fix up formatting. |
| |
| PR middle-end/67653 |
| * gimplify.c (gimplify_asm_expr): Warn if it is too late to |
| attempt to mark memory input operand addressable and |
| call prepare_gimple_addressable in that case. Don't adjust |
| input_location for diagnostics, use error_at instead. |
| |
| 2016-01-20 Peter Bergner <bergner@vnet.ibm.com> |
| |
| * config/rs6000/ppc-auxv.h: New file. |
| * config/rs6000/rs6000-builtin.def (cpu_init): Add new builtin. |
| (cpu_is): Likewise. |
| (cpu_supports): Likewise. |
| * config/rs6000/rs6000.c: include "ppc-auxv.h". |
| (cpu_is_info): New variable. |
| (cpu_supports_info): Likewise. |
| (tcb_verification_symbol): Likewise. |
| (cpu_builtin_p): Likewise. |
| (cpu_expand_builtin): New function. |
| (rs6000_expand_ternop_builtin): Add support for CPU builtin functions. |
| (rs6000_init_builtins): Likewise. |
| (rs6000_elf_file_end): Emit HWCAP in TCB verification symbol. |
| * config/rs6000/rs6000.h (TLS_REGNUM): New define. |
| * configure.ac (gcc_cv_libc_provides_hwcap_in_tcb): New test. |
| * configure: Regenerate. |
| * config.in: Likewise. |
| * doc/extend.texi (PowerPC Built-in Functions): Document |
| __builtin_cpu_init, __builtin_cpu_is and __builtin_cpu_supports. |
| |
| 2016-01-20 David Edelsohn <dje.gcc@gmail.com> |
| |
| PR target/68609 |
| * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt |
| domain check. |
| * config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt |
| for V4SFmode. |
| |
| 2016-01-20 Richard Henderson <rth@redhat.com> |
| |
| PR bootstrap/69343 |
| PR bootstrap/69339 |
| PR tree-opt/68964 |
| Revert: |
| * tree.c (tm_define_builtin): New. |
| (find_tm_vector_type): New. |
| (build_tm_vector_builtins): New. |
| (build_common_builtin_nodes): Call it. |
| |
| 2016-01-20 Christophe Lyon <christophe.lyon@linaro.org> |
| |
| * doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry. |
| (arm_fp_ok): Likewise. |
| (arm_fp): Likewise. |
| (arm_crypto): Likewise. |
| |
| 2016-01-20 Ilya Enkovich <enkovich.gnu@gmail.com> |
| Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69328 |
| * tree-vect-stmts.c (vect_is_simple_cond): Check compared |
| vectors have same number of elements. |
| (vectorizable_condition): Fix masked version recognition. |
| |
| 2016-01-20 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69345 |
| * tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function. |
| (VN_INFO_PTR_INFO): Likewise. |
| * tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to |
| info when it is equal between non-dominating SSA names. |
| * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): |
| Make sure to look at original SSA infos. |
| |
| 2016-01-20 Jeff Law <law@redhat.com> |
| |
| PR target/25114 |
| * config/m68k/predicates.md (pow2_m1_operand): New predicate |
| extracted from ... |
| (reg_or_pow2_m1_operand): Call pow2_m1_operand. |
| (pc_or_label_operand): New predicate. |
| * config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU |
| tests for small integers that are 2^n - 1. |
| |
| 2016-01-20 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/invoke.texi (Options Summary): Add '.' after @xref. |
| |
| 2016-01-19 Jeff Law <law@redhat.com> |
| |
| PR middle-end/69347 |
| * tree-ssa-threadbackwards.c |
| (fsm_find_control_statement_thread_paths): Do not try to lookup |
| FSM paths for SSA_NAMEs appearing in abnormal PHIs. |
| |
| 2016-01-20 Kugan Vivekanandarajah <kuganv@linaro.org> |
| |
| * doc/lto.texi: Remove text that says only Gold has linker plugin |
| support. |
| |
| 2016-01-19 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * dwarf2out.c (need_endianity_attribute_p): New inline predicate. |
| (base_type_die): Add REVERSE parameter and attach DW_AT_endianity to |
| the DIE accordingly. |
| (modified_type_die): Add REVERSE parameter and pass it recursively, |
| as well as to base_type_die. Adjust presence check accordingly. |
| (base_type_for_mode): Adjust call to modified_type_die. |
| (add_type_attribute): Add REVERSE parameter and pass it to |
| modified_type_die. |
| (generic_parameter_die): Adjust call to add_type_attribute. |
| (add_scalar_info): Likewise. |
| (add_subscript_info): Likewise. |
| (gen_array_type_die): Likewise. |
| (gen_descr_array_type_die): Likewise. |
| (gen_entry_point_die): Likewise. |
| (gen_enumeration_type_die): Likewise. |
| (gen_formal_parameter_die): Likewise. |
| (gen_subprogram_die): Likewise. |
| (gen_variable_die ): Likewise. |
| (gen_const_die): Likewise. |
| (gen_field_die): Likewise. |
| (gen_pointer_type_die): Likewise. |
| (gen_reference_type_die): Likewise. |
| (gen_ptr_to_mbr_type_die): Likewise. |
| (gen_inheritance_die): Likewise. |
| (gen_subroutine_type_die): Likewise. |
| (gen_typedef_die): Likewise. |
| (force_type_die): Adjust call to modified_type_die. |
| |
| 2016-01-19 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/standards.texi: Copy-editing for grammar, markup, and sentence |
| flow throughout the file. Fix broken link to Objective-C 2.0 |
| documentation. |
| * doc/invoke.texi: More copy-editing; fix numerous typos and spelling |
| errors. |
| |
| 2016-01-19 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings. |
| |
| 2016-01-19 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/66223 |
| * ipa-devirt.c (is_cxa_pure_virtual_p): New function. |
| (maybe_record_node): Record cxa_pure_virtual as the only possible |
| target if there are not ohter candidates. |
| (possible_polymorphic_call_target_p): Accept cxa_pure_virtual. |
| |
| 2016-01-19 Richard Biener <rguenther@suse.de> |
| |
| * hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants. |
| (get_memory_order): Likewise. |
| |
| 2016-01-19 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| * tree-vect-stmts.c (vectorizable_store): Check |
| rhs vectype. |
| |
| 2016-01-19 David Malcolm <dmalcolm@redhat.com> |
| |
| PR jit/68446 |
| * gcc.c (driver::decode_argv): Add call to |
| init_opts_obstack before init_options_struct. |
| * opts.c (init_opts_obstack): Remove idempotency. |
| (init_options_struct): Replace call to init_opts_obstack |
| with a gcc_assert to verify that it has already been called. |
| * toplev.c (toplev::main): Add call to init_opts_obstack before |
| calls to init_options_struct. |
| (toplev::finalize): Move cleanup of opts_obstack next to |
| cleanup of save_decoded_options, clearing the latter, and |
| save_decoded_options_count. |
| |
| 2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/69135 |
| * config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds" |
| attribute to unconditional. Remove %? from output template. |
| |
| 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com> |
| Jiong Wang <jiong.wang@arm.com> |
| |
| * ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences |
| generated from different expand order. |
| |
| 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * /config/aarch64/aarch64.c (aarch64_if_then_else_costs): |
| Add support for CCMP costing. |
| |
| 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * ccmp.c (ccmp_candidate_p): Remove integer-only restriction. |
| * config/aarch64/aarch64.md (fccmp<mode>): New pattern. |
| (fccmpe<mode>): Likewise. |
| (fcmp): Rename to fcmp and globalize pattern. |
| (fcmpe): Likewise. |
| * config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support. |
| (aarch64_gen_ccmp_next): Add FP support. |
| |
| 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * target.def (gen_ccmp_first): Update documentation. |
| (gen_ccmp_next): Likewise. |
| * doc/tm.texi (gen_ccmp_first): Update documentation. |
| (gen_ccmp_next): Likewise. |
| * ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of |
| expand_ccmp_expr_1. Improve comments. |
| * config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp. |
| (ccmp_ior<mode>): Remove pattern. |
| (cmp<mode>): Remove expand. |
| (cmp): Globalize pattern. |
| (cstorecc4): Use cc_register. |
| (mov<mode>cc): Remove ccmp_cc_register check. |
| * config/aarch64/aarch64.c (aarch64_get_condition_code_1): |
| Simplify after removal of CC_DNE/* modes. |
| (aarch64_ccmp_mode_to_code): Remove. |
| (aarch64_print_operand): Remove 'K' case. Merge 'm' and 'M' cases. |
| In 'k' case use integer as condition. |
| (aarch64_nzcv_codes): Remove inverted cases. |
| (aarch64_code_to_ccmode): Remove. |
| (aarch64_gen_ccmp_first): Use cmp pattern directly. Return the correct |
| comparison with CC register to be used in folowing CCMP/branch/CSEL. |
| (aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP |
| pattern. Return the comparison with CC register. Invert conditions |
| when bitcode is OR. |
| * config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes. |
| * config/aarch64/predicates.md (ccmp_cc_register): Remove. |
| |
| 2016-01-19 Jan Hubicka <hubicka@ucw.cz> |
| |
| * cgraphunit.c (cgraph_node::reset): Clear thunk info and |
| instrumented_version. |
| |
| 2016-01-19 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69336 |
| * tree-ssa-scopedtables.c (avail_expr_hash): Handle all |
| handled components with get_ref_base_and_extent. |
| (equal_mem_array_ref_p): Adjust. |
| |
| 2016-01-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/65779 |
| * shrink-wrap.c: Include valtrack.h. |
| (move_insn_for_shrink_wrap): Add DEBUG argument. If |
| MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs |
| in between insn and where it will be moved to. Call |
| dead_debug_insert_temp. |
| (prepare_shrink_wrap): Adjust caller. Call dead_debug_local_init |
| first and dead_debug_local_finish at the end. |
| For uses and defs bitmap, handle all regs in between REGNO and |
| END_REGNO, not just the first one. |
| |
| 2016-01-19 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69352 |
| * tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1. |
| (equal_mem_array_ref_p): Constrain size and max size properly. |
| Compare the reverse flag. |
| |
| 2016-01-19 Bernd Schmidt <bschmidt@redhat.com> |
| |
| * ira.c (ira): Update regstat data if we deleted insns. |
| |
| 2016-01-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/68955 |
| PR rtl-optimization/64557 |
| * dse.c (record_store, check_mem_read_rtx): Don't call get_addr |
| here. Fix up formatting. |
| * alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P. |
| |
| 2016-01-19 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR lto/69133 |
| * cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple |
| assume that the node has body. |
| * cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p |
| check. |
| |
| 2016-01-19 Jan Hubicka <hubicka@ucw.cz> |
| |
| * lto-streamer-out.c (lto_output): Do not stream instrumentation |
| thunks. |
| |
| 2016-01-19 Jan Hubicka <hubicka@ucw.cz> |
| |
| * symtab.c (symtab_node::asm_name): Do not call printable name directly. |
| (symtab_node::name): Report name as unnamed if DECL_NAME is not set. |
| |
| 2016-01-19 Martin Jambor <mjambor@suse.cz> |
| Martin Liska <mliska@suse.cz> |
| Michael Matz <matz@suse.de> |
| |
| * Makefile.in (OBJS): Add new source files. |
| (GTFILES): Add hsa.c. |
| * common.opt (disable_hsa): New variable. |
| (-Whsa): New warning. |
| * config.in (ENABLE_HSA): New. |
| * configure.ac: Treat hsa differently from other accelerators. |
| (OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to |
| $enable_offloading. |
| (ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa. |
| * doc/install.texi (Configuration): Document --with-hsa-runtime, |
| --with-hsa-runtime-include, --with-hsa-runtime-lib and |
| --with-hsa-kmt-lib. |
| * doc/invoke.texi (-Whsa): Document. |
| (hsa-gen-debug-stores): Likewise. |
| * lto-wrapper.c (compile_images_for_offload_targets): Do not attempt |
| to invoke offload compiler for hsa acclerator. |
| * opts.c (common_handle_option): Determine whether HSA offloading |
| should be performed. |
| * params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter. |
| * builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New. |
| (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed. |
| (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New. |
| * gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY. |
| * gimple-pretty-print.c (dump_gimple_omp_for): Also handle |
| GF_OMP_FOR_KIND_GRID_LOOP. |
| (dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY. |
| (pp_gimple_stmt_1): Likewise. |
| * gimple-walk.c (walk_gimple_stmt): Likewise. |
| * gimple.c (gimple_build_omp_grid_body): New function. |
| (gimple_copy): Also handle GIMPLE_OMP_GRID_BODY. |
| * gimple.def (GIMPLE_OMP_GRID_BODY): New. |
| * gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY, |
| GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and |
| GF_OMP_TEAMS_GRID_PHONY. |
| (gimple_statement_omp_single_layout): Updated comments. |
| (gimple_build_omp_grid_body): New function. |
| (gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY. |
| (gimple_omp_for_grid_phony): New function. |
| (gimple_omp_for_set_grid_phony): Likewise. |
| (gimple_omp_parallel_grid_phony): Likewise. |
| (gimple_omp_parallel_set_grid_phony): Likewise. |
| (gimple_omp_teams_grid_phony): Likewise. |
| (gimple_omp_teams_set_grid_phony): Likewise. |
| (gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY. |
| * omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New. |
| (BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise. |
| (BUILT_IN_GOMP_TARGET): Updated type. |
| * omp-low.c: Include symbol-summary.h, hsa.h and params.h. |
| (adjust_for_condition): New function. |
| (get_omp_for_step_from_incr): Likewise. |
| (extract_omp_for_data): Moved parts to adjust_for_condition and |
| get_omp_for_step_from_incr. |
| (build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY. |
| (fixup_child_record_type): Bail out if receiver_decl is NULL. |
| (scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_. |
| (scan_omp_parallel): Do not create child functions for phony |
| constructs. |
| (check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY. |
| (scan_omp_1_op): Checking assert we are not remapping to |
| ERROR_MARK. Also also handle GIMPLE_OMP_GRID_BODY. |
| (parallel_needs_hsa_kernel_p): New function. |
| (expand_parallel_call): Register apprpriate parallel child |
| functions as HSA kernels. |
| (grid_launch_attributes_trees): New type. |
| (grid_attr_trees): New variable. |
| (grid_create_kernel_launch_attr_types): New function. |
| (grid_insert_store_range_dim): Likewise. |
| (grid_get_kernel_launch_attributes): Likewise. |
| (get_target_argument_identifier_1): Likewise. |
| (get_target_argument_identifier): Likewise. |
| (get_target_argument_value): Likewise. |
| (push_target_argument_according_to_value): Likewise. |
| (get_target_arguments): Likewise. |
| (expand_omp_target): Call get_target_arguments instead of looking |
| up for teams and thread limit. |
| (grid_expand_omp_for_loop): New function. |
| (grid_arg_decl_map): New type. |
| (grid_remap_kernel_arg_accesses): New function. |
| (grid_expand_target_kernel_body): New function. |
| (expand_omp): Call it. |
| (lower_omp_for): Do not emit phony constructs. |
| (lower_omp_taskreg): Do not emit phony constructs but create for them |
| a temporary variable receiver_decl. |
| (lower_omp_taskreg): Do not emit phony constructs. |
| (lower_omp_teams): Likewise. |
| (lower_omp_grid_body): New function. |
| (lower_omp_1): Call it. |
| (grid_reg_assignment_to_local_var_p): New function. |
| (grid_seq_only_contains_local_assignments): Likewise. |
| (grid_find_single_omp_among_assignments_1): Likewise. |
| (grid_find_single_omp_among_assignments): Likewise. |
| (grid_find_ungridifiable_statement): Likewise. |
| (grid_target_follows_gridifiable_pattern): Likewise. |
| (grid_remap_prebody_decls): Likewise. |
| (grid_copy_leading_local_assignments): Likewise. |
| (grid_process_kernel_body_copy): Likewise. |
| (grid_attempt_target_gridification): Likewise. |
| (grid_gridify_all_targets_stmt): Likewise. |
| (grid_gridify_all_targets): Likewise. |
| (execute_lower_omp): Call grid_gridify_all_targets. |
| (make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY. |
| * tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_. |
| (tree_omp_clause): Added union field dimension. |
| * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_. |
| * tree.c (omp_clause_num_ops): Added number of arguments of |
| OMP_CLAUSE__GRIDDIM_. |
| (omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_. |
| (walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_. |
| * tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New. |
| (OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise. |
| (OMP_CLAUSE_GRIDDIM_SIZE): Likewise. |
| (OMP_CLAUSE_GRIDDIM_GROUP): Likewise. |
| * passes.def: Schedule pass_ipa_hsa and pass_gen_hsail. |
| * tree-pass.h (make_pass_gen_hsail): Declare. |
| (make_pass_ipa_hsa): Likewise. |
| * ipa-hsa.c: New file. |
| * lto-section-in.c (lto_section_name): Add hsa section name. |
| * lto-streamer.h (lto_section_type): Add hsa section. |
| * timevar.def (TV_IPA_HSA): New. |
| * hsa-brig-format.h: New file. |
| * hsa-brig.c: New file. |
| * hsa-dump.c: Likewise. |
| * hsa-gen.c: Likewise. |
| * hsa.c: Likewise. |
| * hsa.h: Likewise. |
| * toplev.c (compile_file): Call hsa_output_brig. |
| * hsa-regalloc.c: New file. |
| |
| 2016-01-18 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/69320 |
| * tree-ssa-dom.c (record_edge_info): For comparisons against a boolean |
| ranged object, do nothing if the RHS constant is not [0..1]. |
| (optimize_stmt): Comparing a boolean ranged object against a |
| constant outside [0..1] results in a compile-time constant. |
| |
| * tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary |
| test. |
| |
| 2016-01-18 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (Invoking GCC): Add new section to menu. |
| (Option Summary): Update to reflect new section and moved options. |
| (C++ Dialect Options): Move -fstats to new section. |
| (Debugging Options): Move all dump, statistics, and other GCC |
| developer options to new section. Rewrite section introduction |
| and re-order remaining options to put the more basic ones first. |
| (Optimization Options): Move -fira-verbose and -flto-report* to |
| new section. |
| (Developer Options): New section incorporating moved options. |
| * doc/cppopts.texi (-dM): Update cross-reference. |
| |
| 2016-01-18 Richard Henderson <rth@redhat.com> |
| |
| PR target/69176 |
| * config/aarch64/aarch64.md (add<GPI>3): Move long immediate |
| operands to pseudo only if CSE is expected. Split long immediate |
| operands only after reload, and for the stack pointer. |
| (*add<GPI>3_pluslong): Remove. |
| (*addsi3_aarch64, *adddi3_aarch64): Merge into... |
| (*add<GPI>3_aarch64): ... here. Add r/rk/Upl alternative. |
| (*addsi3_aarch64_uxtw): Add r/rk/Upl alternative. |
| (*add<GPI>3 peepholes): New. |
| (*add<GPI>3 splitters): New. |
| * config/aarch64/constraints.md (Upl): New. |
| * config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New. |
| |
| 2016-01-18 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69297 |
| * tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar |
| stmt at most once. |
| (vect_bb_vectorization_profitable_p): Clear visited flag again. |
| |
| 2016-01-18 Yuri Rumyantsev <ysrumyan@gmail.com> |
| |
| PR middle-end/68542 |
| * fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case |
| of mixind vector and scalar types. |
| (fold_relational_const): Add handling of vector |
| comparison with boolean result. |
| * tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow |
| comparison of vector operands with boolean result for EQ/NE only. |
| (verify_gimple_assign_binary): Adjust call for verify_gimple_comparison. |
| (verify_gimple_cond): Likewise. |
| * tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on |
| valid type of VAL. |
| |
| 2016-01-18 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require |
| !TARGET_OCTEON. |
| |
| 2016-01-18 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/69308 |
| * gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND. |
| |
| 2016-01-18 Tom de Vries <tom@codesourcery.com> |
| |
| * passes.def: Add pass_parallelize_loops to pass_oacc_kernels. |
| |
| 2016-01-18 Tom de Vries <tom@codesourcery.com> |
| |
| * omp-low.c (set_oacc_fn_attrib): Make extern. |
| * omp-low.h (set_oacc_fn_attrib): Declare. |
| * tree-parloops.c (struct reduction_info): Add reduc_addr field. |
| (create_call_for_reduction_1): Handle case that reduc_addr is non-NULL. |
| (create_parallel_loop, gen_parallel_loop, try_create_reduction_list): |
| Add and handle function parameter oacc_kernels_p. |
| (find_reduc_addr, get_omp_data_i_param): New function. |
| (ref_conflicts_with_region, oacc_entry_exit_ok_1) |
| (oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function. |
| (parallelize_loops): Add and handle function parameter oacc_kernels_p. |
| Calculate dominance info. Skip loops that are not in a kernels region |
| in oacc_kernels_p mode. Skip inner loops of parallelized loops. |
| (pass_parallelize_loops::execute): Call parallelize_loops with |
| oacc_kernels_p argument. |
| (pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param): |
| New member function. |
| (pass_parallelize_loops::bool oacc_kernels_p): New member var. |
| * passes.def: Add argument to pass_parallelize_loops instantation. |
| |
| 2016-01-18 Tom de Vries <tom@codesourcery.com> |
| |
| * tree-parloops.c (pass_parallelize_loops::execute): Allow |
| pass_parallelize_loops to be run outside the loop pipeline. |
| |
| 2016-01-18 Alan Lawrence <alan.lawrence@arm.com> |
| |
| * tree-scalar-evolution.c (follow_copies_to_constant): New. |
| (analyze_initial_condition, analyze_scalar_evolution_1): Call previous. |
| |
| 2016-01-18 Alan Lawrence <alan.lawrence@arm.com> |
| |
| PR target/63679 |
| * tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF |
| using get_ref_base_and_extent. |
| (equal_mem_array_ref_p): New. |
| (hashable_expr_equal_p): Add call to previous. |
| |
| 2016-01-18 Alan Lawrence <alan.lawrence@arm.com> |
| |
| PR target/63679 |
| * tree-sra.c (disqualified_constants, constant_decl_p): New. |
| (sra_initialize): Allocate disqualified_constants. |
| (sra_deinitialize): Free disqualified_constants. |
| (disqualify_candidate): Update disqualified_constants when appropriate. |
| (create_access): Scan for constant-pool entries as we go along. |
| (scalarizable_type_p): Add check against type_contains_placeholder_p. |
| (maybe_add_sra_candidate): Allow constant-pool entries. |
| (load_assign_lhs_subreplacements): Bind debug for constant pool vars. |
| (initialize_constant_pool_replacements): New. |
| (sra_modify_assign): Avoid mangling assignments created by previous, |
| and don't generate writes into constant pool. |
| (sra_modify_function_body): Call initialize_constant_pool_replacements. |
| |
| 2016-01-18 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| * config/i386/i386.c (scalar_to_vector_candidate_p): Support |
| andnot instruction. |
| (scalar_chain::convert_op): Likewise. |
| * config/i386/i386.md (*andndi3_doubleword): New. |
| |
| 2016-01-18 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69170 |
| * tree-vect-slp.c (vect_build_slp_tree): Verify we are not |
| building a vector from scalar results of a pattern stmt. |
| |
| 2016-01-18 Jakub Jelinek <jakub@redhat.com> |
| |
| * haifa-sched.c (autopref_multipass_init): Work around |
| -Wmaybe-uninitialized warning. |
| |
| 2016-01-18 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * config/arm/arm.c (thumb1_reorg): Check that the comparison is |
| against the constant 0. |
| |
| 2016-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/68799 |
| * gimple-ssa-strength-reduction.c (create_phi_basis): Directly |
| look up phi candidates in the statement-candidate map. |
| (phi_add_costs): Likewise. |
| (record_phi_increments): Likewise. |
| (phi_incr_cost): Likewise. |
| (ncd_with_phi): Likewise. |
| (all_phi_incrs_profitable): Likewise. |
| |
| 2016-01-17 Jakub Jelinek <jakub@redhat.com> |
| |
| * omp-low.c (mark_loops_in_oacc_kernels_region): Work around |
| -Wmaybe-uninitialized warning. |
| |
| 2016-01-16 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (Invoking GCC): Add new section to menu. |
| (Option Summary): Update to reflect new section and moved options. |
| (C++ Dialect Options): Move -fvtable-verify and related options. |
| (Debugging Options): Move Sanitizer, Pointer Bounds Checker, |
| and profiling-related options. |
| (Optimization Options): Move profile generation options and |
| -fstack-protector and related options. |
| (Instrumentation Options): New section incorporating moved options. |
| (Code Generation Options): Move -finstrument-functions and |
| related options, -fstack-check, -fstack-limit*, and -fbounds-check. |
| |
| 2016-01-16 Tom de Vries <tom@codesourcery.com> |
| |
| * passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops. |
| |
| 2016-01-16 Tom de Vries <tom@codesourcery.com> |
| |
| * omp-low.c (expand_omp_atomic_fetch_op): Release defs of update stmt. |
| |
| 2016-01-16 Richard Sandiford <richard.sandiford@arm.com> |
| |
| * hash-table.h (hash_table::empty): Turn into an inline wrapper |
| that checks whether the table is already empty. Rename the |
| original implementation to... |
| (hash_table::empty_slot): ...this new private function. |
| |
| 2016-01-15 David Malcolm <dmalcolm@redhat.com> |
| |
| PR diagnostic/68899 |
| * diagnostic-show-locus.c (layout::print_source_line): Move x |
| offset of line until after call to |
| get_line_width_without_trailing_whitespace. |
| |
| 2016-01-15 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/69270 |
| * tree-ssanames.c (ssa_name_has_boolean_range): Moved here from |
| tree-ssa-dom.c. Improve test for [0..1] ranve from VRP. |
| * tree-ssa-dom.c (ssa_name_has_boolean_range): Remove. |
| * tree-ssanames.h (ssa_name_has_boolean_range): Prototype. |
| * tree-ssa-uncprop.c (associate_equivalences_with_edges): Use |
| ssa_name_has_boolean_range and constant_boolean_node. |
| |
| 2016-01-15 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/69030 |
| * lra-spills.c (remove_pseudos): Check nrefs and make the function |
| returning bool. |
| (spill_pseudos): Delete debug insn for dead pseudo. |
| (lra_spill): Initiate spill_hard_reg and slots memory separately. |
| |
| 2016-01-15 Jiong Wang <jiong.wang@arm.com> |
| |
| * config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers): |
| New. |
| (TYPES_UNOPUS): Likewise. |
| * config/aarch64/aarch64-simd-builtins.def (lbtruncuv2sf): Correct |
| builtin type, from UNOP to UNOPUS. |
| (lbtruncuv4sf): Likewise. |
| (lbtruncuv2df): Likewise. |
| (lrounduv2sf): Likewise. |
| (lrounduv4sf): Likewise. |
| (lrounduv2df): Likewise. |
| (lroundusf): Likewise. |
| (lroundusf): Likewise. |
| (lceiluv2sf): Likewise. |
| (lceiluv4sf): Likewise. |
| (lceiluv2df): Likewise. |
| (lceilusf): Likewise. |
| (lceiludf): Likewise. |
| (lflooruv2sf): Likewise. |
| (lflooruv4sf): Likewise. |
| (lflooruv2df): Likewise. |
| (lfloorusf): Likewise. |
| (lfloorudf): Likewise. |
| (lfrintnuv2sf): Likewise. |
| (lfrintnuv4sf): Likewise. |
| (lfrintnuv2df): Likewise. |
| (lfrintnusf): Likewise. |
| (lfrintnudf): Likewise. |
| * config/aarch64/arm_neon.h (vcvt_u32_f32): Remove unncessary type |
| conversion. |
| (vcvtq_u32_f32): Likewise. |
| (vcvtq_u64_f64): Likewise. |
| (vcvta_u32_f32): Likewise. |
| (vcvtaq_u32_f32): Likewise. |
| (vcvtaq_u64_f64): Likewise. |
| (vcvtm_u32_f32): Likewise. |
| (vcvtmq_u32_f32): Likewise. |
| (vcvtmq_u64_f64): Likewise. |
| (vcvtn_u32_f32): Likwise. |
| (vcvtnq_u32_f32): Likewise. |
| (vcvtnq_u64_f64): Likewise. |
| (vcvtp_u32_f32): Likewise. |
| (vcvtpq_u32_f32): Likewise. |
| (vcvtpq_u64_f64): Likewise. |
| (vcvtmd_u64_f64): Likewise. |
| (vcvtms_u32_f32): Likewise. |
| (vcvtad_u64_f64): Likewise. |
| (vcvtas_u32_f32): Likewise. |
| (vcvtnd_u64_f64): Likewise. |
| (vcvtns_u32_f32): Likewise. |
| (vcvtpd_u64_f64): Likewise. |
| (vcvtps_u32_f32): Likewise. |
| |
| 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle |
| CSEL of zero_extended registers. |
| |
| 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case): |
| Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate. |
| |
| 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return |
| false when argument string is not found in the attributes table |
| at all. |
| |
| 2016-01-15 David Edelsohn <dje.gcc@gmail.com> |
| |
| PR target/68609 |
| * config/rs6000/rs6000.c (rs6000_emit_msub): Delete. |
| (rs6000_emit_swsqrt): Convert to Goldschmidt's Algorithm |
| * config/rs6000/rs6000.md (sqrt<mode>2): Limit swsqrt to high |
| precision estimate. |
| |
| 2016-01-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/66856 |
| * tree-vect-loop.c (vect_transform_loop): Free SLP instances here. |
| * tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count. |
| (vect_create_new_slp_node): Increment stmt reference count. |
| (vect_get_and_check_slp_defs): Make sure stmts are nor already in |
| an SLP tree before swapping operands. |
| (vect_build_slp_tree): Likewise. |
| (destroy_bb_vec_info): Free stmt info after SLP instances. |
| * tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count. |
| * tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field. |
| (STMT_VINFO_NUM_SLP_USES): New macro. |
| |
| 2016-01-15 Richard Biener <rguenther@suse.de> |
| |
| PR debug/69137 |
| * dwarf2out.c (add_linkage_name_raw): New function split out from ... |
| (add_linkage_name): ... here. |
| (gen_typedef_die): Use add_linkage_name_raw instead of |
| add_linkage_attr to delay DECL_ASSEMBLER_NAME computation |
| if necessary. |
| |
| 2016-01-15 Cesar Philippidis <cesar@codesourcery.com> |
| |
| * gimplify.c (oacc_default_clause): Decode reference and pointer |
| types for both kernels and parallel regions. |
| |
| 2016-01-15 Richard Sandiford <richard.sandiford@arm.com> |
| |
| PR middle-end/69246 |
| * calls.c (emit_call_1): Force n_popped to zero for sibcalls. |
| |
| 2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| * config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo. |
| (convert_scalars_to_vector): Likewise. |
| |
| 2016-01-15 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/extend.texi (Type Traits): Fix grammar. |
| |
| 2016-01-15 Martin Jambor <mjambor@suse.cz> |
| |
| * tree-inline.c (remap_decl): Use existing dclarations if |
| remapping a type and prevent_decl_creation_for_types. |
| (replace_locals_stmt): Do an initial remapping of non-VLA typed |
| decls first. Do real remapping with |
| prevent_decl_creation_for_types set. |
| * tree-inline.h (copy_body_data): New field |
| prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid |
| padding. |
| |
| 2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| * config/s390/s390.opt (mmvcle): More verbose help text. |
| |
| 2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| * config/s390/s390.opt: Add period to -mzvector option text. |
| |
| 2016-01-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/68961 |
| * tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost |
| of invariants in stores again. |
| |
| 2016-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib. |
| |
| 2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| * config/i386/i386.c (ix86_expand_branch): Don't split |
| DI mode xor instruction to SI mode. |
| |
| 2016-01-15 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/68148 |
| * ipa-icf.c (sem_function::merge): Virtual functions may become |
| reachable even if they address is not taken and there are no |
| idrect calls. |
| |
| 2016-01-15 Jan Hubicka <hubicka@ucw.cz> |
| |
| * lto-streamer-out.c (subtract_estimated_size): New function. |
| (get_symbol_initial_value): Use it. |
| |
| 2016-01-15 Christian Bruel <christian.bruel@st.com> |
| |
| PR target/65837 |
| * config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag. |
| (arm_init_neon_builtins_internal): Rename arm_init_neon_builtins, |
| (arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins. |
| use add_builtin_function_ext_scope instead of add_builtin_function. |
| (neon_set_p, neon_crypto_set_p): Remove. |
| (arm_init_builtins): Always call arm_init_neon_builtins and |
| arm_init_crypto_builtins. |
| (arm_expand_builtin): Check that builtins are allowed for the arch. |
| * config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype. |
| * config/arm/arm.c (arm_valid_target_attribute_tree): Remove |
| arm_init_neon_builtins call. |
| |
| 2016-01-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69117 |
| * tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member. |
| * tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info |
| of the leader conservatively. |
| (free_scc_vn): Restore original SSA name infos. |
| |
| 2016-01-14 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/69270 |
| * tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a |
| single bit of precision, verify it's also unsigned. |
| (record_edge_info): Use constant_boolean_node rather than fold_convert |
| to convert boolean_true/boolean_false to the right type. |
| |
| 2016-01-14 Richard Henderson <rth@redhat.com> |
| |
| PR rtl-opt/69014 |
| * loop-doloop.c (record_reg_sets): New. |
| (doloop_optimize): Reject the transform if the sequence |
| clobbers registers live at the end of the loop block. |
| (doloop_optimize_loops): Enable df_live if needed. |
| |
| 2016-01-14 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000-builtin.def: Revert 2016-01-13 change. |
| * gcc/config/rs6000/rs6000.c: Likewise. |
| * gcc/config/rs6000/rs6000.h: Likewise. |
| * gcc/config/rs6000/rs6000.md: Likewise. |
| * gcc/doc/extend.texi: Likewsie. |
| |
| 2016-01-14 Jeff Law <law@redhat.com> |
| |
| * tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment |
| typo. |
| |
| 2016-01-14 Richard Henderson <rth@redhat.com> |
| |
| PR c/69272 |
| PR tree-opt/68964 |
| * trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size. |
| * tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p |
| instead of builtin_decl_declared_p to test for declaration. |
| |
| 2016-01-14 Nicklas Bo Jensen <nbjensen@gmail.com> |
| |
| * doc/loop.texi (Loop Analysis and Representation): Document |
| loop_depth function. |
| |
| 2016-01-14 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/68773 |
| * omp-low.c (expand_omp_target): Don't set force_output. |
| * varpool.c (varpool_node::get_create): Same. |
| * lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and |
| offload_funcs with force_output. |
| |
| 2016-01-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/69244 |
| * lra-eliminations.c (move_plus_up): Don't change anything if either |
| the outer or inner subreg mode is not MODE_INT. |
| * dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is |
| integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards. |
| |
| 2016-01-14 Alan Lawrence <alan.lawrence@arm.com> |
| |
| * doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m}, |
| reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m}, |
| reduc_uplus_@var{m}): Remove. |
| * expr.c (expand_expr_real_2): Remove expansion path for |
| reduc_[us](min|max|plus) optabs. |
| * optabs-tree.c (scalar_reduc_to_vector): Remove. |
| * optabs-tree.h (scalar_reduc_to_vector): Remove. |
| * optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab, |
| reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove. |
| * tree-vect-loop.c (vectorizable_reduction): Remove test for |
| reduc_[us](min|max|plus) optabs. |
| |
| 2016-01-14 Alan Lawrence <alan.lawrence@arm.com> |
| |
| * config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove. |
| (reduc_plus_scal_v2sf): New. |
| (reduc_smax_v2sf): Rename to... |
| (reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract. |
| (reduc_smin_v2sf): Rename to... |
| (reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract. |
| |
| 2016-01-14 Jan Hubicka <hubicka@ucw.cz> |
| |
| * alias.c (compare_base_symbol_refs): New function. |
| (rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use |
| it. |
| |
| 2016-01-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/68146 |
| PR tree-optimization/69155 |
| * tree-complex.c: Include cfganal.h. |
| (phis_to_revisit): New variable. |
| (extract_component): Add phiarg_p argument. Assert that returned |
| SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true. |
| (update_phi_components): Partly rewrite to use loop over real/imag |
| components instead of code duplication. If extract_component returns |
| SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or |
| create_tmp_reg into the PHI node instead, and mention the phi triplet |
| in phis_to_revisit. |
| (tree_lower_complex): Walk bbs in rpo order. Adjust phis recorded |
| in phis_to_revisit at the end. |
| |
| 2016-01-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/68060 |
| * tree-vect-loop.c (vect_is_simple_reduction): Check the |
| outer loop reduction is only used in the inner loop before |
| detecting a double reduction. |
| |
| 2016-01-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/68269 |
| * combine.c (expand_field_assignment): Punt if compute_mode is |
| unsupported scalar mode. |
| |
| 2016-01-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/66856 |
| * tree-vect-slp.c (vect_build_slp_tree): Refactor to build |
| SLP node only if it built successfully. |
| (vect_analyze_slp_instance): Adjust. |
| |
| 2016-01-14 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/69270 |
| * tree-ssa-dom.c (ssa_name_has_boolean_range): New function. |
| (record_edge_info): Use it. Convert boolean_{true,false}_node |
| to the type of op0. |
| |
| 2016-01-13 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/66487 |
| * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): |
| use block_ultimate_origin |
| (noncall-stmt_may_be_vtbl_ptr_store): Likewise. |
| |
| 2016-01-13 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (Submodel Options): Rename section to |
| "Machine-Dependent Options" to better reflect its content. |
| Rewrite introductory text to remove archaic CPU names. |
| Update references. |
| |
| 2016-01-13 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (Code Gen Options): Move section up in file, |
| before target-specific options. Update menu and option summary |
| to reflect the new section ordering. |
| |
| 2016-01-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/invoke.texi (C Dialect Options): Adjust -std default for C++. |
| (C++ Dialect Options): Add cross-reference to -std option. |
| * doc/standards.texi (C++ Language): Document C++14 support. |
| |
| 2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support |
| for pack/unpack functions for __ibm128. |
| (PACK_IF): Likewise. |
| (UNPACK_IF): Likewise. |
| |
| * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add |
| support for __ibm128 pack/unpack functions. |
| (rs6000_invalid_builtin): Likewise. |
| (rs6000_init_builtins): Likewise. |
| (rs6000_opt_masks): Likewise. |
| |
| * config/rs6000/rs6000.h (MASK_FLOAT128): Add short name. |
| (RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack |
| functions |
| (RS6000_BTM_COMMON): Likewise. |
| |
| * config/rs6000/rs6000.md (f128_vsx): New mode attribute. |
| (unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to |
| disallow __builtin_{pack,unpack}_longdouble if long double is IEEE |
| 128-bit floating point. Add support for the double values to be |
| in Altivec registers for TF/IF packing and unpacking, but restrict |
| TD packing sub-fields to be FPR registers. Don't allow overlapped |
| register support for packing. Allow pack inputs to be memory |
| locations. Don't build generator functions for unpack<mode>_dm |
| and unpack<mode>_nodm. |
| (unpack<mode>_dm): Likewise. |
| (unpack<mode>_nodm): Likewise. |
| (pack<mode>): Likewise. |
| |
| * config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add |
| built-in functions to pack/unpack explicit __ibm128 values. |
| (__builtin_unpack_ibm128): Likewise. |
| |
| * doc/extend.texi (PowerPC Built-in Functions): Document |
| __builtin_pack_ibm128 and __builtin_unpack_ibm128. |
| |
| 2016-01-13 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR c/66208 |
| * c-common.c (check_function_nonnull): Remove unnecessary declaration. |
| Add new arg loc and pass it down as context. |
| (check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer |
| to the location to use for the warning. |
| (check_function_arguments): New arg loc. All callers changed. Pass |
| it to check_function_nonnull. |
| * c-common.h (check_function_arguments): Adjust declaration. |
| |
| 2016-01-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/69156 |
| * gimple.c (validate_type): Removed. |
| (gimple_builtin_call_types_compatible_p): Use |
| useless_type_conversion_p instead of validate_type. |
| * value-prof.c (gimple_stringop_fixed_value): Fold |
| icall_size to correct type. |
| |
| 2016-01-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/extend.texi (__atomic Builtins): Clarify compare_exchange |
| effects. |
| |
| 2016-01-13 Richard Henderson <rth@redhat.com> |
| |
| PR tree-opt/68964 |
| * target.def (builtin_tm_load, builtin_tm_store): Remove. |
| * config/i386/i386.c (ix86_builtin_tm_load): Remove. |
| (ix86_builtin_tm_store): Remove. |
| (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove. |
| (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove. |
| * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove. |
| (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove. |
| * doc/tm.texi: Rebuild. |
| |
| * gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New. |
| (BUILT_IN_TM_MEMCPY_RTWN): New. |
| * trans-mem.c (tm_log_emit_stmt): Rearrange code for better |
| fallback from vector to integer helpers. |
| (build_tm_load): Handle vector types directly, instead of |
| via target hook. |
| (build_tm_store): Likewise. |
| (expand_assign_tm): Prepare for register types not handled by |
| the above. Copy them to memory and use memcpy. |
| * tree.c (tm_define_builtin): New. |
| (find_tm_vector_type): New. |
| (build_tm_vector_builtins): New. |
| (build_common_builtin_nodes): Call it. |
| |
| 2016-01-13 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for |
| TARGET_SSE_MATH without TARGET_SSE2. Rewrite. |
| |
| 2016-01-13 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/69169 |
| * tree-ssa-structalias.c (create_variable_info_for_1): Add and handle |
| handled_struct_type param. |
| (create_variable_info_for, intra_create_variable_infos): Call |
| create_variable_info_for_1 with extra arg. |
| |
| 2016-01-13 Yvan Roux <yvan.roux@linaro.org> |
| |
| * config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a" |
| and "armv8.1-a+crc" entries. |
| |
| 2016-01-13 Alexander Fomin <alexander.fomin@intel.com> |
| |
| PR target/69228 |
| * config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"): |
| Change first operand predicate from register_or_constm1_operand |
| to register_operand. |
| (define_expand "avx512pf_gatherpf<mode>df"): Likewise. |
| (define_expand "avx512pf_scatterpf<mode>sf"): Likewise. |
| (define_expand "avx512pf_scatterpf<mode>df"): Likewise. |
| (define_insn "*avx512pf_gatherpf<mode>sf"): Remove. |
| (define_insn "*avx512pf_gatherpf<mode>df"): Likewise. |
| (define_insn "*avx512pf_scatterpf<mode>sf"): Likewise. |
| (define_insn "*avx512pf_scatterpf<mode>df"): Likewise. |
| * config/i386/i386.c (ix86_expand_builtin): Remove first operand |
| comparison with constm1_rtx from vec_prefetch_gen part. |
| |
| 2016-01-13 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69013 |
| * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths): |
| Exchange assert for a test. |
| |
| 2016-01-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| PR target/69247 |
| * config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg. |
| |
| 2016-01-13 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69242 |
| * tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus |
| assert with a check. |
| |
| 2016-01-13 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69186 |
| * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): |
| Properly guard vect_update_misalignment_for_peel call. |
| |
| 2016-01-12 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/pr67755 |
| * tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field |
| "need_profile_correction". |
| (thread_block_1): Initialize new field to false by default. If we |
| have multiple thread paths through a common joiner to different |
| final targets, then set new field to true. |
| (compute_path_counts): Only do count adjustment when it's really |
| needed. |
| |
| 2016-01-12 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (Spec Files): Move section down in file, past |
| all command-line option descriptions. |
| |
| 2016-01-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> |
| |
| PR middle-end/54809 |
| * doc/gty.texi: Remove documentation of mark_hook. |
| * gengtype.c (struct write_types_data): Remove code to support |
| mark_hook attribute. |
| (walk_type): Likewise. |
| (write_func_for_structure): Likewise. |
| |
| 2016-01-12 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to |
| Directory Options, and -specs= to Overall Options. |
| (Overall Options): Adjust similarly. Reorder to group related |
| options together. Make -specs= cross-reference the spec file details. |
| (Directory Options): Adjust similarly. |
| |
| 2016-01-12 Jeff Law <law@redhat.com> |
| |
| * tree-ssa-threadupdate.c: Various whitespace and typo fixes. |
| |
| 2016-01-12 Olivier Hainque <hainque@adacore.com> |
| |
| * gcc.c (spec_undefvar_allowed): New global. |
| (process_command): Set to true when running for --version or --help, |
| alone or together. |
| (getenv_spec_function): When the variable is not defined, use the |
| variable name as the variable value if we're allowed not to issue |
| a fatal error. |
| |
| 2016-01-12 Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/68911 |
| * tree-vrp.c (adjust_range_with_scev): Check overflow in range |
| information computed for expression "init + nit * step". |
| |
| 2016-01-12 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (Invoking GCC): Copy-edit. Incorporate information |
| about name of GCC executable. Remove deleted node from menu. |
| (Directory Options) <-B>: Remove cross-reference to deleted node. |
| (Target Options): Delete section. |
| |
| 2016-01-12 Christian Bruel <christian.bruel@st.com> |
| |
| PR target/69180 |
| * config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL |
| for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX. |
| |
| 2016-01-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69198 |
| * config/i386/i386.c (ix86_expand_special_args_builtin): Ensure |
| aligned_mem is properly set for AVX512-VL floating point masked |
| stores. |
| |
| PR target/69175 |
| * ifcvt.c (cond_exec_process_if_block): When removing the last |
| insn from then_bb, remove also any possible barriers that follow it. |
| |
| 2016-01-12 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/68456 |
| PR target/69226 |
| * config/i386/iamcu.h (SIZE_TYPE): New macro. |
| (PTRDIFF_TYPE): Likewise. |
| (WCHAR_TYPE): Likewise. |
| (WCHAR_TYPE_SIZE): Likewise. |
| (STDINT_LONG32): Likewise. |
| |
| 2016-01-12 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69053 |
| * tree-vect-loop.c (get_initial_def_for_reduction): Properly |
| convert initial value for cond reductions. |
| |
| 2016-01-12 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69007 |
| * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move |
| widen_sum after dot_prod and sad. |
| |
| 2016-01-12 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69168 |
| * tree-vect-loop.c (vect_analyze_loop_2): Reset both main and |
| pattern stmt SLP type. |
| * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may |
| end up unused so cope with that case. |
| |
| 2016-01-12 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69157 |
| * tree-vect-stmts.c (vectorizable_mask_load_store): Check |
| stmts def type only during analyze phase. |
| (vectorizable_call): Likewise. |
| (vectorizable_simd_clone_call): Likewise. |
| (vectorizable_conversion): Likewise. |
| (vectorizable_assignment): Likewise. |
| (vectorizable_shift): Likewise. |
| (vectorizable_operation): Likewise. |
| (vectorizable_store): Likewise. |
| (vectorizable_load): Likewise. |
| |
| 2016-01-12 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69174 |
| * tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical |
| space. |
| (vectorizable_load): Properly compute the number of loads needed |
| for permuted strided SLP loads and do not spuriously assign |
| to SLP_TREE_VEC_STMTS. |
| |
| 2016-01-12 Andris Pavenis <andris.pavenis@iki.fi> |
| |
| * config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2 |
| (TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive |
| (MD_EXEC_PREFIX): Remove. |
| (MD_STARTFILE_PREFIX) Removee. |
| (FILE_NAME_ABSOLUTE_P): Remove. |
| (CPP_SPEC): Do not read macros from sys/version.h. |
| (LINK_COMMAND_SPEC): Remove. |
| (LOCAL_INCLUDE_DIR): Remove. |
| (TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section |
| (TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix. |
| (POST_LINK_SPEC): Define to invoke stubify after linker |
| (LIBSTDCXX): Remove define |
| (DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map. |
| (DEFAULT_PCC_STRUCT_RETURN): Define to 1. |
| (SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210. |
| (SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message. |
| (SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info. |
| (IX86_MAYBE_NO_LIBGCC_TFMODE): Remove. |
| (i386_djgpp_asm_named_section): Add propotype of new procedure |
| |
| * config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define. |
| (MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h). |
| (STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX |
| in config/i386/djgpp.h). |
| (STANDARD_STARTFILE_PREFIX_2): Define identical to |
| STANDARD_STARTFILE_PREFIX_1. |
| (LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h). |
| (GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal |
| installation errors. |
| (MAX_OFILE_ALIGNMENT): Define to 128. |
| (HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h. |
| |
| * config/i386/djgpp.c: New file. Add implementation of |
| i386_djgpp_asm_named_section. |
| |
| * config/i386/djgpp.opt: Remove obsolete option -mbnu210. |
| |
| * config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS. |
| Add rule for building djgpp.o. |
| |
| 2016-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (v2df_reduction_p): New function. |
| (rtx_is_swappable_p): Reductions are swappable. |
| (insn_is_swappable_p): V2DF reductions are swappable. |
| |
| 2016-01-11 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (pa_emit_move_sequence): Handle floating point |
| reloads for other unsupported memory operands. |
| |
| 2016-01-12 Kugan Vivekanandarajah <kuganv@linaro.org> |
| Jim Wilson <jim.wilson@linaro.org> |
| |
| PR target/69194 |
| * config/arm/arm-builtins.c (arm_expand_neon_args): Call |
| copy_to_mode_reg instead of force_reg. |
| |
| 2016-01-11 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/69225 |
| * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if |
| TARGET_80387 is true. |
| |
| 2016-01-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69071 |
| * lra-eliminations.c (move_plus_up): Only move plus up |
| if subreg of the constant can be simplified into constant |
| and use the simplified subreg of the constant instead of |
| the original constant. |
| |
| * fold-const.c (fold_convertible_p): Don't return true |
| for conversion of VECTOR_TYPE to same sized integral type. |
| (fold_convert_loc): Fix up formatting. Fold conversion of |
| VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR |
| instead of NOP_EXPR. |
| |
| PR tree-optimization/69214 |
| * tree-vrp.c (simplify_cond_using_ranges): Don't propagate |
| innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI. |
| Formatting fix. |
| |
| PR tree-optimization/69207 |
| * tree-vect-slp.c (vect_get_constant_vectors): For |
| VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of |
| fold_convertible_p to vector_type's element type, and always |
| use VCE for non-VECTOR_BOOLEAN_TYPE_P. |
| |
| 2016-01-11 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69173 |
| * tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only |
| fixup the cycle if all stmts are in a pattern. |
| |
| 2016-01-11 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR middle-end/68999 |
| * alias.c (base_alias_check): Move check for addresses with |
| alignment ANDs before the call for compare_base_decls. |
| (memrefs_conflict_p): Return -1 for different decls |
| that went through alignment adjustments. |
| |
| 2016-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR rtl-optimization/68796 |
| * config/aarch64/aarch64.md (*and<mode>_compare0): New pattern. |
| * config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode |
| and QImode comparisons against zero with CC_NZmode. |
| * config/aarch64/iterators.md (short_mask): New mode_attr. |
| |
| 2016-01-11 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf. |
| (<avx512>_store<mode>_mask): Likewise. |
| |
| 2016-01-11 Bernd Schmidt <bschmidt@redhat.com> |
| Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR rtl-optimization/68841 |
| * ifcvt.c (struct noce_if_info): Add orig_x field. |
| (bbs_ok_for_cmove_arith): Add to_rename parameter. |
| Don't record conflicts on to_rename if it's present. |
| Allow memory destinations in sets. |
| (noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple |
| blocks, passing orig_x to the checks. |
| (noce_process_if_block): Set if_info->orig_x appropriately. |
| |
| 2016-01-11 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/69069 |
| * tree-parloops.c (create_parallel_loop): Add missing phi args. |
| |
| 2016-01-11 Yuri Rumyantsev <ysrumyan@gmail.com> |
| |
| PR rtl-optimization/68920 |
| * config/i386/i386.c (ix86_option_override_internal): Restrict number |
| of conditional moves for RTL if-conversion to 1 for |
| TARGET_ONE_IF_CONV_INSN. |
| * config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros. |
| * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros. |
| * params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new |
| parameter to restirct number of conditional moves for |
| RTL if-conversion. |
| * doc/invoke.texi (max-rtl-if-conversion-insns): Document it. |
| * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of |
| conditionl moves. |
| |
| 2016-01-11 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR bootstrap/69123 |
| * var-tracking.c (drop_overlapping_mem_locs): Operate on all |
| onepart vars. Fix typo in comment. Fix reversed condition in |
| unshare test. |
| (dataflow_set_remove_mem_locs): Operate on all onepart vars. |
| |
| PR bootstrap/69123 |
| * var-tracking.c (dump_onepart_variable_differences): New. |
| (dataflow_set_different): If a detailed dump is requested, |
| delay early returns and dump differences between onepart |
| variables present before and after, and added variables. |
| |
| 2016-01-11 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR target/69010 |
| * expr.c (expand_expr_real_1): For boolean vector constants |
| with a scalar mode use const_scalar_mask_from_tree. |
| (const_scalar_mask_from_tree): New. |
| * optabs.c (expand_vec_cond_mask_expr): Use mask mode |
| assigned to a mask type to handle constants. |
| |
| 2016-01-11 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/69044 |
| * ipa-cp.c (estimate_local_effects): Do not clone for removal of |
| useless parameters if we cannot change function signature. |
| |
| 2016-01-11 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/66616 |
| * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature |
| flag. |
| |
| 2016-01-11 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/69109 |
| * tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow |
| latch with phi. |
| |
| 2016-01-11 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/69108 |
| * tree-parloops.c (gather_scalar_reductions): Handle case that outer phi |
| res is not used in a phi. |
| |
| 2016-01-11 Yury Gribov <y.gribov@samsung.com> |
| |
| PR 67425 |
| * common.opt (frandom-seed): Fix parameter name. |
| * doc/invoke.texi (frandom-seed): Ditto and describe parameter. |
| |
| 2016-01-11 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/69058 |
| * tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp |
| not supported. |
| |
| 2016-01-11 Andrew Burgess <andrew.burgess@embecosm.com> |
| |
| * config/arc/arc.opt (mdiv-rem): Add period to the end. |
| (mcode-density): Likewise. |
| |
| 2016-01-10 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/69062 |
| * tree-parloops.c (loop_has_phi_with_address_arg): New function. |
| (parallelize_loops): Don't paralelize loop that has phi with address |
| arg. |
| |
| 2016-01-10 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/69039 |
| * tree-parloops.c (try_create_reduction_list): Only allow single exit |
| phi for reduction. |
| |
| 2016-01-09 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR middle-end/68743 |
| * match.pd: Require target has function_c99_misc before doing |
| truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc. |
| |
| 2016-01-09 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * configure.ac (isl_options_set_schedule_serialize_sccs): Also |
| use GMPINC. |
| * configure: Regenerate. |
| |
| 2016-01-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/50865 |
| PR tree-optimization/69097 |
| * fold-const.h (expr_not_equal_to): New prototype. |
| * fold-const.c: Include stringpool.h and tree-ssanames.h. |
| (expr_not_equal_to): New function. |
| * match.pd (X % -Y is the same as X % Y): Don't optimize |
| unless X is known not to be equal to minimum or Y is known |
| not to be equal to -1. |
| * tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument. |
| fold TRUNC_MOD_EXPR if the second argument is not a power of two. |
| (simplify_stmt_using_ranges): Adjust caller. |
| (vrp_finalize): Call set_value_range on SSA_NAMEs before calling |
| substitute_and_fold. |
| |
| 2016-01-09 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL |
| w/o DECL_NAME. |
| |
| 2016-01-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/69167 |
| * gimple-fold.c (replace_stmt_with_simplification): Also punt if |
| new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of |
| ops[0] comparison. |
| * gimple-match-head.c (maybe_push_res_to_seq): Likewise. |
| |
| 2016-01-08 Alan Lawrence <alan.lawrence@arm.com> |
| Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/68707 |
| * tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP |
| instances that can be handled via vect_load_lanes. |
| |
| 2016-01-08 Uros Bizjak <ubizjak@gmail.com> |
| |
| * symtab.c (symtab_node::equal_address_to): Return -1 instead of 2 |
| if we can't determine address equivalence. |
| * alias.c (compare_base_decl): Update for changed return value of |
| symtab_node::equal_address_to. |
| |
| 2016-01-08 Jason Merrill <jason@redhat.com> |
| |
| PR c++/68983 |
| PR c++/67557 |
| * function.c (assign_temp): Guard against TREE_ADDRESSABLE types here. |
| * expr.c (store_field): Not here. |
| * tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a |
| call with TREE_ADDRESSABLE type. |
| * tree-cfg.c (verify_gimple_call): Adjust. |
| |
| 2016-01-08 Olivier Hainque <hainque@adacore.com> |
| |
| * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with |
| libc_internal. |
| |
| 2016-01-08 Alan Lawrence <alan.lawrence@arm.com> |
| |
| * gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to... |
| (reduc_smax_scal_v2sf): ...here, make result SFmode, extract element. |
| (reduc_smin_v2sf): Rename to... |
| (reduc_smin_scal_v2sf): ...here, make result SFmode, extract element. |
| (reduc_splus_v2sf): Rename to... |
| (reduc_plus_scal_v2sf): ...here, make result SFmode, extract element. |
| |
| 2016-01-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/69162 |
| * gimplify.c (gimplify_va_arg_expr): Encode original type of |
| valist argument in another argument. |
| (gimplify_modify_expr): Adjust for the above change. Cleanup. |
| * tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument |
| to determine the va_list type, build a MEM_REF instead of |
| build_fold_indirect_ref. |
| |
| PR tree-optimization/69172 |
| * gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to |
| gimple_build. |
| |
| 2016-01-08 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR tree-optimization/67781 |
| * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg |
| and cmpnop in two steps: first the ones not accessed in original |
| gimple expression in a endian independent way and then the ones not |
| accessed in the final result in an endian-specific way. |
| |
| 2016-01-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/69083 |
| * tree-vect-slp.c (vect_get_constant_vectors): For |
| VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's |
| element type. If op is fold_convertible_p to vector_type's element |
| type, use NOP_EXPR instead of VCE. |
| |
| 2016-01-08 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/67778 |
| PR rtl-optimization/68634 |
| PR rtl-optimization/68909 |
| * shrink-wrap.c (try_shrink_wrapping): Add comment. Don't pop |
| block from the stack until done with it. Remove a superfluous |
| bitmap set. Remove a superfluous bitmap test. |
| |
| 2016-01-07 Martin Sebor <msebor@redhat.com> |
| |
| PR c/68966 |
| * doc/extend.texi (__atomic Builtins, __sync Builtins): Document |
| constraint on the type of arguments. |
| |
| 2016-01-07 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to |
| SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check |
| unaligned_access on the gcc_options set. |
| * config/arm/arm.c (arm_option_override_internal): Use |
| SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. |
| |
| 2016-01-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/69140 |
| * config/i386/i386.c (ix86_frame_pointer_required): Enable |
| frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned. |
| |
| 2016-01-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| Revert |
| 2016-01-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/69140 |
| * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid |
| depending on frame_pointer_needed before remaining integer and SSE |
| registers are saved. |
| |
| 2016-01-07 Sandra Loosemore <sandra@codesourcery.com> |
| |
| PR 1078 |
| * doc/extend.texi (Nvidia PDX Function Attributes): New section. |
| |
| 2016-01-07 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/69171 |
| * config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>): |
| Use the "xBm" constraint. |
| (float<sseintvecmodelower><mode>2<mask_name><round_name): |
| Likewise. |
| (sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate. |
| (sse_cvtsi2ssq<round_name>): Likewise. |
| (sse_cvtss2si<round_name>): Likewise. |
| (sse_cvtss2siq<round_name>): Likewise. |
| (sse2_cvtsi2sdq<round_name>): Likewise. |
| (sse2_cvtsd2si<round_name>): Likewise. |
| (sse2_cvtsd2siq<round_name>): Likewise. |
| * config/i386/subst.md (round_nimm_scalar_predicate): New |
| predicate. |
| |
| 2015-12-15 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR middle-end/67639 |
| * varasm.c (make_decl_rtl): Mark invalid register vars as |
| DECL_EXTERNAL. |
| |
| PR rtl-optimization/66206 |
| * bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx. |
| All callers changed. |
| |
| 2016-01-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/69141 |
| * tree-ssa-pre.c: Include langhooks.h. |
| (eliminate_dom_walker::before_dom_children): Use |
| lang_hooks.decl_printable_name instead of |
| cgraph_node::get ()->name (). |
| |
| PR middle-end/68960 |
| * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy |
| it and DECL_ALIGN too. |
| |
| 2016-01-06 Robert Suchanek <robert.suchanek@imgtec.com> |
| |
| * config/mips/mips-ftypes.def: Sort to lexicographical order. |
| |
| 2016-01-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/69140 |
| * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid |
| depending on frame_pointer_needed before remaining integer and SSE |
| registers are saved. |
| |
| 2015-01-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M |
| mode iterator with VSX_M2. |
| (*p9_vecstore_<mode>): Likewise. |
| (*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR. |
| (*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise. |
| (*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise. |
| (define_split for VSX_LE128 stores): Likewise. |
| (define_peephole2 for TImode LE swaps): Likewise. |
| (define_split for VSX_LE128 post-reload stores): Likewise. |
| |
| 2016-01-06 Marek Polacek <polacek@redhat.com> |
| |
| PR sanitizer/69099 |
| * convert.c (convert_to_integer_1): Adjust call to |
| ubsan_instrument_float_cast. Use NULL_TREE instead of NULL. |
| * ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter. Use |
| EXPR instead of ARG. |
| * ubsan.h (ubsan_instrument_float_cast): Adjust declaration. |
| |
| 2016-01-05 Sandra Loosemore <sandra@codesourcery.com> |
| |
| PR 1078 |
| * doc/extend.texi (RL78 Variable Attributes): New section. |
| |
| 2016-01-05 Marek Polacek <polacek@redhat.com> |
| |
| PR c/69104 |
| * builtins.c (get_memmodel): Use expansion point location rather than |
| the input location. Call warning_at rather than warning. |
| (expand_builtin_atomic_compare_exchange): Likewise. |
| (expand_builtin_atomic_load): Likewise. |
| (expand_builtin_atomic_store): Likewise. |
| (expand_builtin_atomic_clear): Likewise. |
| |
| 2016-01-05 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/68991 |
| * config/i386/i386.c (ix86_expand_vector_logical_operator): |
| Replace nonimmediate_operand with vector_operand. |
| * config/i386/predicates.md (vector_operand): New predicate. |
| (general_vector_operand): Replace nonimmediate_operand with |
| vector_operand. |
| * config/i386/sse.md: Replace nonimmediate_operand with |
| vector_operand and m constraint with Bm constraint on SSE |
| patterns with 16-byte memory operand. |
| * config/i386/subst.md (round_nimm_predicate): Replace |
| nonimmediate_operand with vector_operand. |
| (round_saeonly_nimm_predicate): Likewise. |
| (round_saeonly_nimm_scalar_predicate): New. |
| |
| 2016-01-05 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/68991 |
| * config/i386/constraints.md (Bm): New constraint. |
| * config/i386/predicates.md (vector_memory_operand): New |
| predicate. |
| * config/i386/sse.md: Replace xm with xBm in plusminus and |
| any_logic patterns. |
| |
| 2016-01-05 Sandra Loosemore <sandra@codesourcery.com> |
| |
| PR 1078 |
| * doc/extend.texi (V850 Function Attributes): New section. |
| (V850 Variable Attributes): New section. |
| |
| 2016-01-05 Sandra Loosemore <sandra@codesourcery.com> |
| |
| PR 1078 |
| * doc/extend.texi (MicroBlaze Function Attributes): Document |
| interrupt_handler and fast_interrupt attributes. |
| |
| 2016-01-05 Sergei Trofimovich <siarheit@google.com> |
| |
| PR other/60465 |
| * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64 |
| for local symbolic operands. |
| * config/ia64/predicates.md (local_symbolic_operand64): New |
| predicate. |
| |
| 2016-01-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR rtl-optimization/68651 |
| * combine.c (combine_simplify_rtx): Canonicalize x + x into |
| x << 1. |
| |
| 2016-01-05 Nathan Sidwell <nathan@acm.org> |
| |
| * alias.c (compare_base_decls): Use symtab_node::get. |
| |
| 2016-01-05 Nick Clifton <nickc@redhat.com> |
| |
| PR target/68770 |
| * ira-costs.c (copy_cost): Initialise the t_icode field of the |
| secondary_reload_info structure. |
| |
| PR target/66655 |
| * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak |
| decls if weak support is available. |
| |
| 2016-01-04 Martin Sebor <msebor@redhat.com> |
| |
| * doc/invoke.texi (Warning Options): Document -Winvalid-memory-model. |
| |
| 2016-01-04 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add |
| OPTION_MASK_P9_DFORM. |
| |
| * config/rs6000/constraints.md (wo constraint): New constraint for |
| ISA 3.0 (power9). |
| |
| * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support |
| for wo constraint. |
| (rs6000_init_hard_regno_mode_ok): Likewise. |
| |
| * config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for |
| wo constraint. |
| |
| * config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm |
| expanders not to have constraints. Add support for ISA 3.0 xxperm |
| instruction. Add support for fusing xxlor with xxperm. |
| (altivec_vperm_<mode>_internal): Likewise. |
| (altivec_vperm_v8hiv16qi): Likewise. |
| (altivec_vperm_<mode>v16q): Likewise. |
| (altivec_vperm_<mode>_uns): Likewise. |
| (vperm_v8hiv4si): Likewise. |
| (vperm_v16qiv8hi): Likewise. |
| |
| * doc/md.texi (RS/6000 constraints): Document wo constraint. |
| |
| 2016-01-04 Jakub Jelinek <jakub@redhat.com> |
| |
| Update copyright years. |
| |
| * gcc.c (process_command): Update copyright notice dates. |
| * gcov-dump.c (print_version): Ditto. |
| * gcov.c (print_version): Ditto. |
| * gcov-tool.c (print_version): Ditto. |
| * gengtype.c (create_file): Ditto. |
| * doc/cpp.texi: Bump @copying's copyright year. |
| * doc/cppinternals.texi: Ditto. |
| * doc/gcc.texi: Ditto. |
| * doc/gccint.texi: Ditto. |
| * doc/gcov.texi: Ditto. |
| * doc/install.texi: Ditto. |
| * doc/invoke.texi: Ditto. |
| |
| 2016-01-04 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer |
| modes larger than TImode as TImode if NEON is not enabled. |
| |
| 2016-01-04 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/69100 |
| * config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit |
| mode for %f0-%f31 only if TARGET_FPU. |
| |
| 2016-01-04 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/69072 |
| * config/sparc/sparc.c (scan_record_type): Take into account subfields |
| to compute the PACKED_P predicate. |
| (function_arg_record_value): Minor tweaks. |
| |
| 2016-01-04 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * doc/install.texi (--with-multilib-list): Describe the meaning of the |
| option for arm*-*-* targets. |
| |
| 2016-01-03 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/extend.texi (Common Function Attributes): Move docs for |
| MSP430-specific attributes to.... |
| (MSP430 Function Attributes): ...here. Delete the redundant |
| entries and copy-edit the remaining text. |
| (MSP430 Variable Attributes): Use uniform format for index |
| entries and add a cross-reference to the corresponding function |
| attribute docs. |
| |
| 2016-01-03 Vladimír Čunát <vcunat@gmail.com> |
| |
| * doc/invoke.texi (RS/6000 and PowerPC Options): Fix |
| -finite-math typo. |
| (x86 Options): Likewise. |
| |
| 2016-01-01 Sandra Loosemore <sandra@codesourcery.com> |
| |
| PR 1078 |
| |
| * extend.texi (Common Function Attributes) <no_stack_limit>: New. |
| * invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer |
| to corresponding attribute. |
| |
| 2016-01-01 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/extend.texi (Common Function Attributes) <noplt>: Move |
| to correct alphabetization of table. Copy-edit and correct |
| markup. |
| <stack_protect>: Likewise. |
| <target_clones>: Likewise. |
| <simd>: Likewise. |
| * doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>: |
| Correct punctuation. |
| (Code Gen Options) <-fno-plt>: Copy-edit. |
| |
| 2016-01-01 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| PR target/68917 |
| * config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of |
| SI values. Explicitly convert SI to DI and vice-versa. |
| |
| 2016-01-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/69070 |
| * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test |
| REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST. |
| |
| PR sanitizer/69055 |
| * ubsan.c (ubsan_instrument_float_cast): Call |
| initialize_sanitizer_builtins. |
| |
| PR target/69015 |
| * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump). |
| |
| Copyright (C) 2016 Free Software Foundation, Inc. |
| |
| Copying and distribution of this file, with or without modification, |
| are permitted in any medium without royalty provided the copyright |
| notice and this notice are preserved. |