1 2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
3 * config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo.
4 (convert_scalars_to_vector): Likewise.
6 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
8 * doc/extend.texi (Type Traits): Fix grammar.
10 2016-01-15 Martin Jambor <mjambor@suse.cz>
12 * tree-inline.c (remap_decl): Use existing dclarations if
13 remapping a type and prevent_decl_creation_for_types.
14 (replace_locals_stmt): Do an initial remapping of non-VLA typed
15 decls first. Do real remapping with
16 prevent_decl_creation_for_types set.
17 * tree-inline.h (copy_body_data): New field
18 prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid
21 2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
23 * config/s390/s390.opt (mmvcle): More verbose help text.
25 2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
27 * config/s390/s390.opt: Add period to -mzvector option text.
29 2016-01-15 Richard Biener <rguenther@suse.de>
31 PR tree-optimization/68961
32 * tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
33 of invariants in stores again.
35 2016-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
37 * config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.
39 2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
41 * config/i386/i386.c (ix86_expand_branch): Don't split
42 DI mode xor instruction to SI mode.
44 2016-01-15 Jan Hubicka <hubicka@ucw.cz>
47 * ipa-icf.c (sem_function::merge): Virtual functions may become
48 reachable even if they address is not taken and there are no
51 2016-01-15 Jan Hubicka <hubicka@ucw.cz>
53 * lto-streamer-out.c (subtract_estimated_size): New function.
54 (get_symbol_initial_value): Use it.
56 2016-01-15 Christian Bruel <christian.bruel@st.com>
59 * config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag.
60 (arm_init_neon_builtins_internal): Rename arm_init_neon_builtins,
61 (arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins.
62 use add_builtin_function_ext_scope instead of add_builtin_function.
63 (neon_set_p, neon_crypto_set_p): Remove.
64 (arm_init_builtins): Always call arm_init_neon_builtins and
65 arm_init_crypto_builtins.
66 (arm_expand_builtin): Check that builtins are allowed for the arch.
67 * config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype.
68 * config/arm/arm.c (arm_valid_target_attribute_tree): Remove
69 arm_init_neon_builtins call.
71 2016-01-15 Richard Biener <rguenther@suse.de>
73 PR tree-optimization/69117
74 * tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member.
75 * tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info
76 of the leader conservatively.
77 (free_scc_vn): Restore original SSA name infos.
79 2016-01-14 Jeff Law <law@redhat.com>
81 PR tree-optimization/69270
82 * tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
83 single bit of precision, verify it's also unsigned.
84 (record_edge_info): Use constant_boolean_node rather than fold_convert
85 to convert boolean_true/boolean_false to the right type.
87 2016-01-14 Richard Henderson <rth@redhat.com>
90 * loop-doloop.c (record_reg_sets): New.
91 (doloop_optimize): Reject the transform if the sequence
92 clobbers registers live at the end of the loop block.
93 (doloop_optimize_loops): Enable df_live if needed.
95 2016-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
97 * config/rs6000/rs6000-builtin.def: Revert 2016-01-13 change.
98 * gcc/config/rs6000/rs6000.c: Likewise.
99 * gcc/config/rs6000/rs6000.h: Likewise.
100 * gcc/config/rs6000/rs6000.md: Likewise.
101 * gcc/doc/extend.texi: Likewsie.
103 2016-01-14 Jeff Law <law@redhat.com>
105 * tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
108 2016-01-14 Richard Henderson <rth@redhat.com>
112 * trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
113 * tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
114 instead of builtin_decl_declared_p to test for declaration.
116 2016-01-14 Nicklas Bo Jensen <nbjensen@gmail.com>
118 * doc/loop.texi (Loop Analysis and Representation): Document
121 2016-01-14 Tom de Vries <tom@codesourcery.com>
123 PR tree-optimization/68773
124 * omp-low.c (expand_omp_target): Don't set force_output.
125 * varpool.c (varpool_node::get_create): Same.
126 * lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
127 offload_funcs with force_output.
129 2016-01-14 Jakub Jelinek <jakub@redhat.com>
132 * lra-eliminations.c (move_plus_up): Don't change anything if either
133 the outer or inner subreg mode is not MODE_INT.
134 * dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
135 integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.
137 2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
139 * doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
140 reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
141 reduc_uplus_@var{m}): Remove.
142 * expr.c (expand_expr_real_2): Remove expansion path for
143 reduc_[us](min|max|plus) optabs.
144 * optabs-tree.c (scalar_reduc_to_vector): Remove.
145 * optabs-tree.h (scalar_reduc_to_vector): Remove.
146 * optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
147 reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
148 * tree-vect-loop.c (vectorizable_reduction): Remove test for
149 reduc_[us](min|max|plus) optabs.
151 2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
153 * config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
154 (reduc_plus_scal_v2sf): New.
155 (reduc_smax_v2sf): Rename to...
156 (reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
157 (reduc_smin_v2sf): Rename to...
158 (reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.
160 2016-01-14 Jan Hubicka <hubicka@ucw.cz>
162 * alias.c (compare_base_symbol_refs): New function.
163 (rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
166 2016-01-14 Jakub Jelinek <jakub@redhat.com>
169 PR tree-optimization/69155
170 * tree-complex.c: Include cfganal.h.
171 (phis_to_revisit): New variable.
172 (extract_component): Add phiarg_p argument. Assert that returned
173 SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
174 (update_phi_components): Partly rewrite to use loop over real/imag
175 components instead of code duplication. If extract_component returns
176 SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
177 create_tmp_reg into the PHI node instead, and mention the phi triplet
179 (tree_lower_complex): Walk bbs in rpo order. Adjust phis recorded
180 in phis_to_revisit at the end.
182 2016-01-14 Richard Biener <rguenther@suse.de>
184 PR tree-optimization/68060
185 * tree-vect-loop.c (vect_is_simple_reduction): Check the
186 outer loop reduction is only used in the inner loop before
187 detecting a double reduction.
189 2016-01-14 Jakub Jelinek <jakub@redhat.com>
192 * combine.c (expand_field_assignment): Punt if compute_mode is
193 unsupported scalar mode.
195 2016-01-14 Richard Biener <rguenther@suse.de>
197 PR tree-optimization/66856
198 * tree-vect-slp.c (vect_build_slp_tree): Refactor to build
199 SLP node only if it built successfully.
200 (vect_analyze_slp_instance): Adjust.
202 2016-01-14 Jeff Law <law@redhat.com>
204 PR tree-optimization/69270
205 * tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
206 (record_edge_info): Use it. Convert boolean_{true,false}_node
209 2016-01-13 Jan Hubicka <hubicka@ucw.cz>
212 * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
213 use block_ultimate_origin
214 (noncall-stmt_may_be_vtbl_ptr_store): Likewise.
216 2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
218 * doc/invoke.texi (Submodel Options): Rename section to
219 "Machine-Dependent Options" to better reflect its content.
220 Rewrite introductory text to remove archaic CPU names.
223 2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
225 * doc/invoke.texi (Code Gen Options): Move section up in file,
226 before target-specific options. Update menu and option summary
227 to reflect the new section ordering.
229 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
231 * doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
232 (C++ Dialect Options): Add cross-reference to -std option.
233 * doc/standards.texi (C++ Language): Document C++14 support.
235 2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
237 * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
238 for pack/unpack functions for __ibm128.
240 (UNPACK_IF): Likewise.
242 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
243 support for __ibm128 pack/unpack functions.
244 (rs6000_invalid_builtin): Likewise.
245 (rs6000_init_builtins): Likewise.
246 (rs6000_opt_masks): Likewise.
248 * config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
249 (RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
251 (RS6000_BTM_COMMON): Likewise.
253 * config/rs6000/rs6000.md (f128_vsx): New mode attribute.
254 (unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
255 disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
256 128-bit floating point. Add support for the double values to be
257 in Altivec registers for TF/IF packing and unpacking, but restrict
258 TD packing sub-fields to be FPR registers. Don't allow overlapped
259 register support for packing. Allow pack inputs to be memory
260 locations. Don't build generator functions for unpack<mode>_dm
261 and unpack<mode>_nodm.
262 (unpack<mode>_dm): Likewise.
263 (unpack<mode>_nodm): Likewise.
264 (pack<mode>): Likewise.
266 * config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
267 built-in functions to pack/unpack explicit __ibm128 values.
268 (__builtin_unpack_ibm128): Likewise.
270 * doc/extend.texi (PowerPC Built-in Functions): Document
271 __builtin_pack_ibm128 and __builtin_unpack_ibm128.
273 2016-01-13 Bernd Schmidt <bschmidt@redhat.com>
276 * c-common.c (check_function_nonnull): Remove unnecessary declaration.
277 Add new arg loc and pass it down as context.
278 (check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
279 to the location to use for the warning.
280 (check_function_arguments): New arg loc. All callers changed. Pass
281 it to check_function_nonnull.
282 * c-common.h (check_function_arguments): Adjust declaration.
284 2016-01-13 Jakub Jelinek <jakub@redhat.com>
286 PR tree-optimization/69156
287 * gimple.c (validate_type): Removed.
288 (gimple_builtin_call_types_compatible_p): Use
289 useless_type_conversion_p instead of validate_type.
290 * value-prof.c (gimple_stringop_fixed_value): Fold
291 icall_size to correct type.
293 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
295 * doc/extend.texi (__atomic Builtins): Clarify compare_exchange
298 2016-01-13 Richard Henderson <rth@redhat.com>
301 * target.def (builtin_tm_load, builtin_tm_store): Remove.
302 * config/i386/i386.c (ix86_builtin_tm_load): Remove.
303 (ix86_builtin_tm_store): Remove.
304 (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
305 (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
306 * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
307 (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
308 * doc/tm.texi: Rebuild.
310 * gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
311 (BUILT_IN_TM_MEMCPY_RTWN): New.
312 * trans-mem.c (tm_log_emit_stmt): Rearrange code for better
313 fallback from vector to integer helpers.
314 (build_tm_load): Handle vector types directly, instead of
316 (build_tm_store): Likewise.
317 (expand_assign_tm): Prepare for register types not handled by
318 the above. Copy them to memory and use memcpy.
319 * tree.c (tm_define_builtin): New.
320 (find_tm_vector_type): New.
321 (build_tm_vector_builtins): New.
322 (build_common_builtin_nodes): Call it.
324 2016-01-13 Uros Bizjak <ubizjak@gmail.com>
326 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
327 TARGET_SSE_MATH without TARGET_SSE2. Rewrite.
329 2016-01-13 Tom de Vries <tom@codesourcery.com>
331 PR tree-optimization/69169
332 * tree-ssa-structalias.c (create_variable_info_for_1): Add and handle
333 handled_struct_type param.
334 (create_variable_info_for, intra_create_variable_infos): Call
335 create_variable_info_for_1 with extra arg.
337 2016-01-13 Yvan Roux <yvan.roux@linaro.org>
339 * config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
340 and "armv8.1-a+crc" entries.
342 2016-01-13 Alexander Fomin <alexander.fomin@intel.com>
345 * config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
346 Change first operand predicate from register_or_constm1_operand
348 (define_expand "avx512pf_gatherpf<mode>df"): Likewise.
349 (define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
350 (define_expand "avx512pf_scatterpf<mode>df"): Likewise.
351 (define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
352 (define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
353 (define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
354 (define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
355 * config/i386/i386.c (ix86_expand_builtin): Remove first operand
356 comparison with constm1_rtx from vec_prefetch_gen part.
358 2016-01-13 Richard Biener <rguenther@suse.de>
360 PR tree-optimization/69013
361 * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
362 Exchange assert for a test.
364 2016-01-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
367 * config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.
369 2016-01-13 Richard Biener <rguenther@suse.de>
371 PR tree-optimization/69242
372 * tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
375 2016-01-13 Richard Biener <rguenther@suse.de>
377 PR tree-optimization/69186
378 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
379 Properly guard vect_update_misalignment_for_peel call.
381 2016-01-12 Jeff Law <law@redhat.com>
383 PR tree-optimization/pr67755
384 * tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
385 "need_profile_correction".
386 (thread_block_1): Initialize new field to false by default. If we
387 have multiple thread paths through a common joiner to different
388 final targets, then set new field to true.
389 (compute_path_counts): Only do count adjustment when it's really
392 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
394 * doc/invoke.texi (Spec Files): Move section down in file, past
395 all command-line option descriptions.
397 2016-01-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
400 * doc/gty.texi: Remove documentation of mark_hook.
401 * gengtype.c (struct write_types_data): Remove code to support
403 (walk_type): Likewise.
404 (write_func_for_structure): Likewise.
406 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
408 * doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
409 Directory Options, and -specs= to Overall Options.
410 (Overall Options): Adjust similarly. Reorder to group related
411 options together. Make -specs= cross-reference the spec file details.
412 (Directory Options): Adjust similarly.
414 2016-01-12 Jeff Law <law@redhat.com>
416 * tree-ssa-threadupdate.c: Various whitespace and typo fixes.
418 2016-01-12 Olivier Hainque <hainque@adacore.com>
420 * gcc.c (spec_undefvar_allowed): New global.
421 (process_command): Set to true when running for --version or --help,
423 (getenv_spec_function): When the variable is not defined, use the
424 variable name as the variable value if we're allowed not to issue
427 2016-01-12 Bin Cheng <bin.cheng@arm.com>
429 PR tree-optimization/68911
430 * tree-vrp.c (adjust_range_with_scev): Check overflow in range
431 information computed for expression "init + nit * step".
433 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
435 * doc/invoke.texi (Invoking GCC): Copy-edit. Incorporate information
436 about name of GCC executable. Remove deleted node from menu.
437 (Directory Options) <-B>: Remove cross-reference to deleted node.
438 (Target Options): Delete section.
440 2016-01-12 Christian Bruel <christian.bruel@st.com>
443 * config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
444 for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
446 2016-01-12 Jakub Jelinek <jakub@redhat.com>
449 * config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
450 aligned_mem is properly set for AVX512-VL floating point masked
454 * ifcvt.c (cond_exec_process_if_block): When removing the last
455 insn from then_bb, remove also any possible barriers that follow it.
457 2016-01-12 H.J. Lu <hongjiu.lu@intel.com>
461 * config/i386/iamcu.h (SIZE_TYPE): New macro.
462 (PTRDIFF_TYPE): Likewise.
463 (WCHAR_TYPE): Likewise.
464 (WCHAR_TYPE_SIZE): Likewise.
465 (STDINT_LONG32): Likewise.
467 2016-01-12 Richard Biener <rguenther@suse.de>
469 PR tree-optimization/69053
470 * tree-vect-loop.c (get_initial_def_for_reduction): Properly
471 convert initial value for cond reductions.
473 2016-01-12 Richard Biener <rguenther@suse.de>
475 PR tree-optimization/69007
476 * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
477 widen_sum after dot_prod and sad.
479 2016-01-12 Richard Biener <rguenther@suse.de>
481 PR tree-optimization/69168
482 * tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
483 pattern stmt SLP type.
484 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
485 end up unused so cope with that case.
487 2016-01-12 Richard Biener <rguenther@suse.de>
489 PR tree-optimization/69157
490 * tree-vect-stmts.c (vectorizable_mask_load_store): Check
491 stmts def type only during analyze phase.
492 (vectorizable_call): Likewise.
493 (vectorizable_simd_clone_call): Likewise.
494 (vectorizable_conversion): Likewise.
495 (vectorizable_assignment): Likewise.
496 (vectorizable_shift): Likewise.
497 (vectorizable_operation): Likewise.
498 (vectorizable_store): Likewise.
499 (vectorizable_load): Likewise.
501 2016-01-12 Richard Biener <rguenther@suse.de>
503 PR tree-optimization/69174
504 * tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
506 (vectorizable_load): Properly compute the number of loads needed
507 for permuted strided SLP loads and do not spuriously assign
508 to SLP_TREE_VEC_STMTS.
510 2016-01-12 Andris Pavenis <andris.pavenis@iki.fi>
512 * config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
513 (TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
514 (MD_EXEC_PREFIX): Remove.
515 (MD_STARTFILE_PREFIX) Removee.
516 (FILE_NAME_ABSOLUTE_P): Remove.
517 (CPP_SPEC): Do not read macros from sys/version.h.
518 (LINK_COMMAND_SPEC): Remove.
519 (LOCAL_INCLUDE_DIR): Remove.
520 (TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
521 (TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
522 (POST_LINK_SPEC): Define to invoke stubify after linker
523 (LIBSTDCXX): Remove define
524 (DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
525 (DEFAULT_PCC_STRUCT_RETURN): Define to 1.
526 (SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
527 (SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
528 (SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
529 (IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
530 (i386_djgpp_asm_named_section): Add propotype of new procedure
532 * config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
533 (MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
534 (STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX in config/i386/djgpp.h).
535 (STANDARD_STARTFILE_PREFIX_2): Define identical to STANDARD_STARTFILE_PREFIX_1.
536 (LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
537 (GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal installation errors.
538 (MAX_OFILE_ALIGNMENT): Define to 128.
539 (HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.
541 * config/i386/djgpp.c: New file. Add implementation of i386_djgpp_asm_named_section.
543 * config/i386/djgpp.opt: Remove obsolete option -mbnu210.
545 * config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
546 Add rule for building djgpp.o.
548 2016-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
550 * config/rs6000/rs6000.c (v2df_reduction_p): New function.
551 (rtx_is_swappable_p): Reductions are swappable.
552 (insn_is_swappable_p): V2DF reductions are swappable.
554 2016-01-11 John David Anglin <danglin@gcc.gnu.org>
556 * config/pa/pa.c (pa_emit_move_sequence): Handle floating point
557 reloads for other unsupported memory operands.
559 2016-01-12 Kugan Vivekanandarajah <kuganv@linaro.org>
560 Jim Wilson <jim.wilson@linaro.org>
563 * config/arm/arm-builtins.c (arm_expand_neon_args): Call
564 copy_to_mode_reg instead of force_reg.
566 2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
569 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
570 TARGET_80387 is true.
572 2016-01-11 Jakub Jelinek <jakub@redhat.com>
575 * lra-eliminations.c (move_plus_up): Only move plus up
576 if subreg of the constant can be simplified into constant
577 and use the simplified subreg of the constant instead of
578 the original constant.
580 * fold-const.c (fold_convertible_p): Don't return true
581 for conversion of VECTOR_TYPE to same sized integral type.
582 (fold_convert_loc): Fix up formatting. Fold conversion of
583 VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
586 PR tree-optimization/69214
587 * tree-vrp.c (simplify_cond_using_ranges): Don't propagate
588 innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
591 PR tree-optimization/69207
592 * tree-vect-slp.c (vect_get_constant_vectors): For
593 VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
594 fold_convertible_p to vector_type's element type, and always
595 use VCE for non-VECTOR_BOOLEAN_TYPE_P.
597 2016-01-11 Richard Biener <rguenther@suse.de>
599 PR tree-optimization/69173
600 * tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
601 fixup the cycle if all stmts are in a pattern.
603 2016-01-11 Uros Bizjak <ubizjak@gmail.com>
606 * alias.c (base_alias_check): Move check for addresses with
607 alignment ANDs before the call for compare_base_decls.
608 (memrefs_conflict_p): Return -1 for different decls
609 that went through alignment adjustments.
611 2016-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
613 PR rtl-optimization/68796
614 * config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
615 * config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
616 and QImode comparisons against zero with CC_NZmode.
617 * config/aarch64/iterators.md (short_mask): New mode_attr.
619 2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
621 * config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf.
622 (<avx512>_store<mode>_mask): Likewise.
624 2016-01-11 Bernd Schmidt <bschmidt@redhat.com>
625 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
627 PR rtl-optimization/68841
628 * ifcvt.c (struct noce_if_info): Add orig_x field.
629 (bbs_ok_for_cmove_arith): Add to_rename parameter.
630 Don't record conflicts on to_rename if it's present.
631 Allow memory destinations in sets.
632 (noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
633 blocks, passing orig_x to the checks.
634 (noce_process_if_block): Set if_info->orig_x appropriately.
636 2016-01-11 Tom de Vries <tom@codesourcery.com>
638 PR tree-optimization/69069
639 * tree-parloops.c (create_parallel_loop): Add missing phi args.
641 2016-01-11 Yuri Rumyantsev <ysrumyan@gmail.com>
643 PR rtl-optimization/68920
644 * config/i386/i386.c (ix86_option_override_internal): Restrict number
645 of conditional moves for RTL if-conversion to 1 for
646 TARGET_ONE_IF_CONV_INSN.
647 * config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
648 * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
649 * params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
650 parameter to restirct number of conditional moves for
652 * doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
653 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
656 2016-01-11 Alexandre Oliva <aoliva@redhat.com>
659 * var-tracking.c (drop_overlapping_mem_locs): Operate on all
660 onepart vars. Fix typo in comment. Fix reversed condition in
662 (dataflow_set_remove_mem_locs): Operate on all onepart vars.
665 * var-tracking.c (dump_onepart_variable_differences): New.
666 (dataflow_set_different): If a detailed dump is requested,
667 delay early returns and dump differences between onepart
668 variables present before and after, and added variables.
670 2016-01-11 Ilya Enkovich <enkovich.gnu@gmail.com>
673 * expr.c (expand_expr_real_1): For boolean vector constants
674 with a scalar mode use const_scalar_mask_from_tree.
675 (const_scalar_mask_from_tree): New.
676 * optabs.c (expand_vec_cond_mask_expr): Use mask mode
677 assigned to a mask type to handle constants.
679 2016-01-11 Martin Jambor <mjambor@suse.cz>
682 * ipa-cp.c (estimate_local_effects): Do not clone for removal of
683 useless parameters if we cannot change function signature.
685 2016-01-11 Martin Jambor <mjambor@suse.cz>
688 * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
691 2016-01-11 Tom de Vries <tom@codesourcery.com>
693 PR tree-optimization/69109
694 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
697 2016-01-11 Tom de Vries <tom@codesourcery.com>
699 PR tree-optimization/69108
700 * tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
701 res is not used in a phi.
703 2016-01-11 Yury Gribov <y.gribov@samsung.com>
706 * common.opt (frandom-seed): Fix parameter name.
707 * doc/invoke.texi (frandom-seed): Ditto and describe parameter.
709 2016-01-11 Tom de Vries <tom@codesourcery.com>
711 PR tree-optimization/69058
712 * tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
715 2016-01-11 Andrew Burgess <andrew.burgess@embecosm.com>
717 * config/arc/arc.opt (mdiv-rem): Add period to the end.
718 (mcode-density): Likewise.
720 2016-01-10 Tom de Vries <tom@codesourcery.com>
722 PR tree-optimization/69062
723 * tree-parloops.c (loop_has_phi_with_address_arg): New function.
724 (parallelize_loops): Don't paralelize loop that has phi with address
727 2016-01-10 Tom de Vries <tom@codesourcery.com>
729 PR tree-optimization/69039
730 * tree-parloops.c (try_create_reduction_list): Only allow single exit
733 2016-01-09 John David Anglin <danglin@gcc.gnu.org>
736 * match.pd: Require target has function_c99_misc before doing
737 truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
739 2016-01-09 Gerald Pfeifer <gerald@pfeifer.com>
741 * configure.ac (isl_options_set_schedule_serialize_sccs): Also
743 * configure: Regenerate.
745 2016-01-09 Jakub Jelinek <jakub@redhat.com>
748 PR tree-optimization/69097
749 * fold-const.h (expr_not_equal_to): New prototype.
750 * fold-const.c: Include stringpool.h and tree-ssanames.h.
751 (expr_not_equal_to): New function.
752 * match.pd (X % -Y is the same as X % Y): Don't optimize
753 unless X is known not to be equal to minimum or Y is known
754 not to be equal to -1.
755 * tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
756 fold TRUNC_MOD_EXPR if the second argument is not a power of two.
757 (simplify_stmt_using_ranges): Adjust caller.
758 (vrp_finalize): Call set_value_range on SSA_NAMEs before calling
761 2016-01-09 Jan Hubicka <hubicka@ucw.cz>
763 * ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
766 2016-01-08 Jakub Jelinek <jakub@redhat.com>
768 PR tree-optimization/69167
769 * gimple-fold.c (replace_stmt_with_simplification): Also punt if
770 new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
772 * gimple-match-head.c (maybe_push_res_to_seq): Likewise.
774 2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
775 Richard Biener <rguenther@suse.de>
777 PR tree-optimization/68707
778 * tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
779 instances that can be handled via vect_load_lanes.
781 2016-01-08 Uros Bizjak <ubizjak@gmail.com>
783 * symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
784 if we can't determine address equivalence.
785 * alias.c (compare_base_decl): Update for changed return value of
786 symtab_node::equal_address_to.
788 2016-01-08 Jason Merrill <jason@redhat.com>
792 * function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
793 * expr.c (store_field): Not here.
794 * tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
795 call with TREE_ADDRESSABLE type.
796 * tree-cfg.c (verify_gimple_call): Adjust.
798 2016-01-08 Olivier Hainque <hainque@adacore.com>
800 * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
803 2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
805 * gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
806 (reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
807 (reduc_smin_v2sf): Rename to...
808 (reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
809 (reduc_splus_v2sf): Rename to...
810 (reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.
812 2016-01-08 Jakub Jelinek <jakub@redhat.com>
814 PR tree-optimization/69162
815 * gimplify.c (gimplify_va_arg_expr): Encode original type of
816 valist argument in another argument.
817 (gimplify_modify_expr): Adjust for the above change. Cleanup.
818 * tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
819 to determine the va_list type, build a MEM_REF instead of
820 build_fold_indirect_ref.
822 PR tree-optimization/69172
823 * gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
826 2016-01-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
828 PR tree-optimization/67781
829 * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
830 and cmpnop in two steps: first the ones not accessed in original
831 gimple expression in a endian independent way and then the ones not
832 accessed in the final result in an endian-specific way.
834 2016-01-08 Jakub Jelinek <jakub@redhat.com>
836 PR tree-optimization/69083
837 * tree-vect-slp.c (vect_get_constant_vectors): For
838 VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
839 element type. If op is fold_convertible_p to vector_type's element
840 type, use NOP_EXPR instead of VCE.
842 2016-01-08 Segher Boessenkool <segher@kernel.crashing.org>
844 PR rtl-optimization/67778
845 PR rtl-optimization/68634
846 PR rtl-optimization/68909
847 * shrink-wrap.c (try_shrink_wrapping): Add comment. Don't pop
848 block from the stack until done with it. Remove a superfluous
849 bitmap set. Remove a superfluous bitmap test.
851 2016-01-07 Martin Sebor <msebor@redhat.com>
854 * doc/extend.texi (__atomic Builtins, __sync Builtins): Document
855 constraint on the type of arguments.
857 2016-01-07 Andreas Tobler <andreast@gcc.gnu.org>
859 * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
860 SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
861 unaligned_access on the gcc_options set.
862 * config/arm/arm.c (arm_option_override_internal): Use
863 SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
865 2016-01-07 Uros Bizjak <ubizjak@gmail.com>
868 * config/i386/i386.c (ix86_frame_pointer_required): Enable
869 frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
871 2016-01-07 Uros Bizjak <ubizjak@gmail.com>
874 2016-01-06 Uros Bizjak <ubizjak@gmail.com>
877 * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
878 depending on frame_pointer_needed before remaining integer and SSE
881 2016-01-07 Sandra Loosemore <sandra@codesourcery.com>
884 * doc/extend.texi (Nvidia PDX Function Attributes): New section.
886 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
889 * config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
890 Use the "xBm" constraint.
891 (float<sseintvecmodelower><mode>2<mask_name><round_name):
893 (sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
894 (sse_cvtsi2ssq<round_name>): Likewise.
895 (sse_cvtss2si<round_name>): Likewise.
896 (sse_cvtss2siq<round_name>): Likewise.
897 (sse2_cvtsi2sdq<round_name>): Likewise.
898 (sse2_cvtsd2si<round_name>): Likewise.
899 (sse2_cvtsd2siq<round_name>): Likewise.
900 * config/i386/subst.md (round_nimm_scalar_predicate): New
903 2015-12-15 Bernd Schmidt <bschmidt@redhat.com>
906 * varasm.c (make_decl_rtl): Mark invalid register vars as
909 PR rtl-optimization/66206
910 * bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
913 2016-01-07 Jakub Jelinek <jakub@redhat.com>
915 PR tree-optimization/69141
916 * tree-ssa-pre.c: Include langhooks.h.
917 (eliminate_dom_walker::before_dom_children): Use
918 lang_hooks.decl_printable_name instead of
919 cgraph_node::get ()->name ().
922 * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
923 it and DECL_ALIGN too.
925 2016-01-06 Robert Suchanek <robert.suchanek@imgtec.com>
927 * config/mips/mips-ftypes.def: Sort to lexicographical order.
929 2016-01-06 Uros Bizjak <ubizjak@gmail.com>
932 * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
933 depending on frame_pointer_needed before remaining integer and SSE
936 2015-01-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
938 * config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
939 mode iterator with VSX_M2.
940 (*p9_vecstore_<mode>): Likewise.
941 (*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
942 (*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
943 (*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
944 (define_split for VSX_LE128 stores): Likewise.
945 (define_peephole2 for TImode LE swaps): Likewise.
946 (define_split for VSX_LE128 post-reload stores): Likewise.
948 2016-01-06 Marek Polacek <polacek@redhat.com>
951 * convert.c (convert_to_integer_1): Adjust call to
952 ubsan_instrument_float_cast. Use NULL_TREE instead of NULL.
953 * ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter. Use
955 * ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
957 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
960 * doc/extend.texi (RL78 Variable Attributes): New section.
962 2016-01-05 Marek Polacek <polacek@redhat.com>
965 * builtins.c (get_memmodel): Use expansion point location rather than
966 the input location. Call warning_at rather than warning.
967 (expand_builtin_atomic_compare_exchange): Likewise.
968 (expand_builtin_atomic_load): Likewise.
969 (expand_builtin_atomic_store): Likewise.
970 (expand_builtin_atomic_clear): Likewise.
972 2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
975 * config/i386/i386.c (ix86_expand_vector_logical_operator):
976 Replace nonimmediate_operand with vector_operand.
977 * config/i386/predicates.md (vector_operand): New predicate.
978 (general_vector_operand): Replace nonimmediate_operand with
980 * config/i386/sse.md: Replace nonimmediate_operand with
981 vector_operand and m constraint with Bm constraint on SSE
982 patterns with 16-byte memory operand.
983 * config/i386/subst.md (round_nimm_predicate): Replace
984 nonimmediate_operand with vector_operand.
985 (round_saeonly_nimm_predicate): Likewise.
986 (round_saeonly_nimm_scalar_predicate): New.
988 2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
991 * config/i386/constraints.md (Bm): New constraint.
992 * config/i386/predicates.md (vector_memory_operand): New
994 * config/i386/sse.md: Replace xm with xBm in plusminus and
997 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
1000 * doc/extend.texi (V850 Function Attributes): New section.
1001 (V850 Variable Attributes): New section.
1003 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
1006 * doc/extend.texi (MicroBlaze Function Attributes): Document
1007 interrupt_handler and fast_interrupt attributes.
1009 2016-01-05 Sergei Trofimovich <siarheit@google.com>
1012 * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
1013 for local symbolic operands.
1014 * config/ia64/predicates.md (local_symbolic_operand64): New
1017 2016-01-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1019 PR rtl-optimization/68651
1020 * combine.c (combine_simplify_rtx): Canonicalize x + x into
1023 2016-01-05 Nathan Sidwell <nathan@acm.org>
1025 * alias.c (compare_base_decls): Use symtab_node::get.
1027 2016-01-05 Nick Clifton <nickc@redhat.com>
1030 * ira-costs.c (copy_cost): Initialise the t_icode field of the
1031 secondary_reload_info structure.
1034 * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
1035 decls if weak support is available.
1037 2016-01-04 Martin Sebor <msebor@redhat.com>
1039 * doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
1041 2016-01-04 Michael Meissner <meissner@linux.vnet.ibm.com>
1043 * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
1044 OPTION_MASK_P9_DFORM.
1046 * config/rs6000/constraints.md (wo constraint): New constraint for
1049 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
1051 (rs6000_init_hard_regno_mode_ok): Likewise.
1053 * config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
1056 * config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
1057 expanders not to have constraints. Add support for ISA 3.0 xxperm
1058 instruction. Add support for fusing xxlor with xxperm.
1059 (altivec_vperm_<mode>_internal): Likewise.
1060 (altivec_vperm_v8hiv16qi): Likewise.
1061 (altivec_vperm_<mode>v16q): Likewise.
1062 (altivec_vperm_<mode>_uns): Likewise.
1063 (vperm_v8hiv4si): Likewise.
1064 (vperm_v16qiv8hi): Likewise.
1066 * doc/md.texi (RS/6000 constraints): Document wo constraint.
1068 2016-01-04 Jakub Jelinek <jakub@redhat.com>
1070 Update copyright years.
1072 * gcc.c (process_command): Update copyright notice dates.
1073 * gcov-dump.c (print_version): Ditto.
1074 * gcov.c (print_version): Ditto.
1075 * gcov-tool.c (print_version): Ditto.
1076 * gengtype.c (create_file): Ditto.
1077 * doc/cpp.texi: Bump @copying's copyright year.
1078 * doc/cppinternals.texi: Ditto.
1079 * doc/gcc.texi: Ditto.
1080 * doc/gccint.texi: Ditto.
1081 * doc/gcov.texi: Ditto.
1082 * doc/install.texi: Ditto.
1083 * doc/invoke.texi: Ditto.
1085 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
1087 * config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
1088 modes larger than TImode as TImode if NEON is not enabled.
1090 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
1093 * config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
1094 mode for %f0-%f31 only if TARGET_FPU.
1096 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
1099 * config/sparc/sparc.c (scan_record_type): Take into account subfields
1100 to compute the PACKED_P predicate.
1101 (function_arg_record_value): Minor tweaks.
1103 2016-01-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
1105 * doc/install.texi (--with-multilib-list): Describe the meaning of the
1106 option for arm*-*-* targets.
1108 2016-01-03 Sandra Loosemore <sandra@codesourcery.com>
1110 * doc/extend.texi (Common Function Attributes): Move docs for
1111 MSP430-specific attributes to....
1112 (MSP430 Function Attributes): ...here. Delete the redundant
1113 entries and copy-edit the remaining text.
1114 (MSP430 Variable Attributes): Use uniform format for index
1115 entries and add a cross-reference to the corresponding function
1118 2016-01-03 Vladimír Čunát <vcunat@gmail.com>
1120 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix
1122 (x86 Options): Likewise.
1124 2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
1128 * extend.texi (Common Function Attributes) <no_stack_limit>: New.
1129 * invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
1130 to corresponding attribute.
1132 2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
1134 * doc/extend.texi (Common Function Attributes) <noplt>: Move
1135 to correct alphabetization of table. Copy-edit and correct
1137 <stack_protect>: Likewise.
1138 <target_clones>: Likewise.
1140 * doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
1141 Correct punctuation.
1142 (Code Gen Options) <-fno-plt>: Copy-edit.
1144 2016-01-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
1147 * config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
1148 SI values. Explicitly convert SI to DI and vice-versa.
1150 2016-01-01 Jakub Jelinek <jakub@redhat.com>
1152 PR tree-optimization/69070
1153 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
1154 REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
1157 * ubsan.c (ubsan_instrument_float_cast): Call
1158 initialize_sanitizer_builtins.
1161 * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
1163 Copyright (C) 2016 Free Software Foundation, Inc.
1165 Copying and distribution of this file, with or without modification,
1166 are permitted in any medium without royalty provided the copyright
1167 notice and this notice are preserved.