9009a6f47f19964cf7e51918ffcd97bda08ac631
[platform/upstream/gcc.git] / gcc / ChangeLog
1 2016-01-14  Jakub Jelinek  <jakub@redhat.com>
2
3         PR middle-end/68146
4         PR tree-optimization/69155
5         * tree-complex.c: Include cfganal.h.
6         (phis_to_revisit): New variable.
7         (extract_component): Add phiarg_p argument.  Assert that returned
8         SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
9         (update_phi_components): Partly rewrite to use loop over real/imag
10         components instead of code duplication.  If extract_component returns
11         SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
12         create_tmp_reg into the PHI node instead, and mention the phi triplet
13         in phis_to_revisit.
14         (tree_lower_complex): Walk bbs in rpo order.  Adjust phis recorded
15         in phis_to_revisit at the end.
16
17 2016-01-14  Richard Biener  <rguenther@suse.de>
18
19         PR tree-optimization/68060
20         * tree-vect-loop.c (vect_is_simple_reduction): Check the
21         outer loop reduction is only used in the inner loop before
22         detecting a double reduction.
23
24 2016-01-14  Jakub Jelinek  <jakub@redhat.com>
25
26         PR target/68269
27         * combine.c (expand_field_assignment): Punt if compute_mode is
28         unsupported scalar mode.
29
30 2016-01-14  Richard Biener  <rguenther@suse.de>
31
32         PR tree-optimization/66856
33         * tree-vect-slp.c (vect_build_slp_tree): Refactor to build
34         SLP node only if it built successfully.
35         (vect_analyze_slp_instance): Adjust.
36
37 2016-01-14  Jeff Law  <law@redhat.com>
38
39         PR tree-optimization/69270
40         * tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
41         (record_edge_info): Use it.  Convert boolean_{true,false}_node
42         to the type of op0.
43
44 2016-01-13  Jan Hubicka  <hubicka@ucw.cz>
45
46         PR ipa/66487
47         * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
48         use block_ultimate_origin
49         (noncall-stmt_may_be_vtbl_ptr_store): Likewise.
50         
51 2016-01-13  Sandra Loosemore <sandra@codesourcery.com>
52
53         * doc/invoke.texi (Submodel Options): Rename section to
54         "Machine-Dependent Options" to better reflect its content.
55         Rewrite introductory text to remove archaic CPU names.
56         Update references.
57
58 2016-01-13  Sandra Loosemore <sandra@codesourcery.com>
59
60         * doc/invoke.texi (Code Gen Options): Move section up in file,
61         before target-specific options.  Update menu and option summary
62         to reflect the new section ordering.
63
64 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
65
66         * doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
67         (C++ Dialect Options): Add cross-reference to -std option.
68         * doc/standards.texi (C++ Language): Document C++14 support.
69
70 2016-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
71
72         * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
73         for pack/unpack functions for __ibm128.
74         (PACK_IF): Likewise.
75         (UNPACK_IF): Likewise.
76
77         * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
78         support for __ibm128 pack/unpack functions.
79         (rs6000_invalid_builtin): Likewise.
80         (rs6000_init_builtins): Likewise.
81         (rs6000_opt_masks): Likewise.
82
83         * config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
84         (RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
85         functions
86         (RS6000_BTM_COMMON): Likewise.
87
88         * config/rs6000/rs6000.md (f128_vsx): New mode attribute.
89         (unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
90         disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
91         128-bit floating point.  Add support for the double values to be
92         in Altivec registers for TF/IF packing and unpacking, but restrict
93         TD packing sub-fields to be FPR registers.  Don't allow overlapped
94         register support for packing.  Allow pack inputs to be memory
95         locations.  Don't build generator functions for unpack<mode>_dm
96         and unpack<mode>_nodm.
97         (unpack<mode>_dm): Likewise.
98         (unpack<mode>_nodm): Likewise.
99         (pack<mode>): Likewise.
100
101         * config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
102         built-in functions to pack/unpack explicit __ibm128 values.
103         (__builtin_unpack_ibm128): Likewise.
104
105         * doc/extend.texi (PowerPC Built-in Functions): Document
106         __builtin_pack_ibm128 and __builtin_unpack_ibm128.
107
108 2016-01-13  Bernd Schmidt  <bschmidt@redhat.com>
109
110         PR c/66208
111         * c-common.c (check_function_nonnull): Remove unnecessary declaration.
112         Add new arg loc and pass it down as context.
113         (check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
114         to the location to use for the warning.
115         (check_function_arguments): New arg loc.  All callers changed.  Pass
116         it to check_function_nonnull.
117         * c-common.h (check_function_arguments): Adjust declaration.
118
119 2016-01-13  Jakub Jelinek  <jakub@redhat.com>
120
121         PR tree-optimization/69156
122         * gimple.c (validate_type): Removed.
123         (gimple_builtin_call_types_compatible_p): Use
124         useless_type_conversion_p instead of validate_type.
125         * value-prof.c (gimple_stringop_fixed_value): Fold
126         icall_size to correct type.
127
128 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
129
130         * doc/extend.texi (__atomic Builtins): Clarify compare_exchange
131         effects.
132
133 2016-01-13  Richard Henderson  <rth@redhat.com>
134
135         PR tree-opt/68964
136         * target.def (builtin_tm_load, builtin_tm_store): Remove.
137         * config/i386/i386.c (ix86_builtin_tm_load): Remove.
138         (ix86_builtin_tm_store): Remove.
139         (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
140         (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
141         * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
142         (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
143         * doc/tm.texi: Rebuild.
144
145         * gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
146         (BUILT_IN_TM_MEMCPY_RTWN): New.
147         * trans-mem.c (tm_log_emit_stmt): Rearrange code for better
148         fallback from vector to integer helpers.
149         (build_tm_load): Handle vector types directly, instead of
150         via target hook.
151         (build_tm_store): Likewise.
152         (expand_assign_tm): Prepare for register types not handled by
153         the above.  Copy them to memory and use memcpy.
154         * tree.c (tm_define_builtin): New.
155         (find_tm_vector_type): New.
156         (build_tm_vector_builtins): New.
157         (build_common_builtin_nodes): Call it.
158
159 2016-01-13  Uros Bizjak  <ubizjak@gmail.com>
160
161         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
162         TARGET_SSE_MATH without TARGET_SSE2.  Rewrite.
163
164 2016-01-13  Tom de Vries  <tom@codesourcery.com>
165
166         PR tree-optimization/69169
167         * tree-ssa-structalias.c (create_variable_info_for_1): Add and handle
168         handled_struct_type param.
169         (create_variable_info_for, intra_create_variable_infos): Call
170         create_variable_info_for_1 with extra arg.
171
172 2016-01-13  Yvan Roux  <yvan.roux@linaro.org>
173
174         * config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
175         and "armv8.1-a+crc" entries.
176
177 2016-01-13  Alexander Fomin  <alexander.fomin@intel.com>
178
179         PR target/69228
180         * config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
181         Change first operand predicate from register_or_constm1_operand
182         to register_operand.
183         (define_expand "avx512pf_gatherpf<mode>df"): Likewise.
184         (define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
185         (define_expand "avx512pf_scatterpf<mode>df"): Likewise.
186         (define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
187         (define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
188         (define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
189         (define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
190         * config/i386/i386.c (ix86_expand_builtin): Remove first operand
191         comparison with constm1_rtx from vec_prefetch_gen part.
192
193 2016-01-13  Richard Biener  <rguenther@suse.de>
194
195         PR tree-optimization/69013
196         * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
197         Exchange assert for a test.
198
199 2016-01-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
200
201         PR target/69247
202         * config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.
203
204 2016-01-13  Richard Biener  <rguenther@suse.de>
205
206         PR tree-optimization/69242
207         * tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
208         assert with a check.
209
210 2016-01-13  Richard Biener  <rguenther@suse.de>
211
212         PR tree-optimization/69186
213         * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
214         Properly guard vect_update_misalignment_for_peel call.
215
216 2016-01-12  Jeff Law  <law@redhat.com>
217
218         PR tree-optimization/pr67755
219         * tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
220         "need_profile_correction".
221         (thread_block_1): Initialize new field to false by default.  If we
222         have multiple thread paths through a common joiner to different
223         final targets, then set new field to true.
224         (compute_path_counts): Only do count adjustment when it's really
225         needed.
226
227 2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
228
229         * doc/invoke.texi (Spec Files): Move section down in file, past
230         all command-line option descriptions.
231
232 2016-01-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
233
234         PR middle-end/54809
235         * doc/gty.texi: Remove documentation of mark_hook.
236         * gengtype.c (struct write_types_data): Remove code to support
237         mark_hook attribute.
238         (walk_type): Likewise.
239         (write_func_for_structure): Likewise.
240
241 2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
242
243         * doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
244         Directory Options, and -specs= to Overall Options.
245         (Overall Options): Adjust similarly.  Reorder to group related
246         options together.  Make -specs= cross-reference the spec file details.
247         (Directory Options): Adjust similarly.
248
249 2016-01-12  Jeff Law  <law@redhat.com>
250
251         * tree-ssa-threadupdate.c: Various whitespace and typo fixes.
252
253 2016-01-12  Olivier Hainque  <hainque@adacore.com>
254
255         * gcc.c (spec_undefvar_allowed): New global.
256         (process_command): Set to true when running for --version or --help,
257         alone or together.
258         (getenv_spec_function): When the variable is not defined, use the
259         variable name as the variable value if we're allowed not to issue
260         a fatal error.
261
262 2016-01-12  Bin Cheng  <bin.cheng@arm.com>
263
264         PR tree-optimization/68911
265         * tree-vrp.c (adjust_range_with_scev): Check overflow in range
266         information computed for expression "init + nit * step".
267
268 2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
269
270         * doc/invoke.texi (Invoking GCC): Copy-edit.  Incorporate information
271         about name of GCC executable.  Remove deleted node from menu.
272         (Directory Options) <-B>: Remove cross-reference to deleted node.
273         (Target Options): Delete section.
274
275 2016-01-12  Christian Bruel  <christian.bruel@st.com>
276
277         PR target/69180
278         * config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
279         for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
280
281 2016-01-12  Jakub Jelinek  <jakub@redhat.com>
282
283         PR target/69198
284         * config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
285         aligned_mem is properly set for AVX512-VL floating point masked
286         stores.
287
288         PR target/69175
289         * ifcvt.c (cond_exec_process_if_block): When removing the last
290         insn from then_bb, remove also any possible barriers that follow it.
291
292 2016-01-12  H.J. Lu  <hongjiu.lu@intel.com>
293
294         PR target/68456
295         PR target/69226
296         * config/i386/iamcu.h (SIZE_TYPE): New macro.
297         (PTRDIFF_TYPE): Likewise.
298         (WCHAR_TYPE): Likewise.
299         (WCHAR_TYPE_SIZE): Likewise.
300         (STDINT_LONG32): Likewise.
301
302 2016-01-12  Richard Biener  <rguenther@suse.de>
303
304         PR tree-optimization/69053
305         * tree-vect-loop.c (get_initial_def_for_reduction): Properly
306         convert initial value for cond reductions.
307
308 2016-01-12  Richard Biener  <rguenther@suse.de>
309
310         PR tree-optimization/69007
311         * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
312         widen_sum after dot_prod and sad.
313
314 2016-01-12  Richard Biener  <rguenther@suse.de>
315
316         PR tree-optimization/69168
317         * tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
318         pattern stmt SLP type.
319         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
320         end up unused so cope with that case.
321
322 2016-01-12  Richard Biener  <rguenther@suse.de>
323
324         PR tree-optimization/69157
325         * tree-vect-stmts.c (vectorizable_mask_load_store): Check
326         stmts def type only during analyze phase.
327         (vectorizable_call): Likewise.
328         (vectorizable_simd_clone_call): Likewise.
329         (vectorizable_conversion): Likewise.
330         (vectorizable_assignment): Likewise.
331         (vectorizable_shift): Likewise.
332         (vectorizable_operation): Likewise.
333         (vectorizable_store): Likewise.
334         (vectorizable_load): Likewise.
335
336 2016-01-12  Richard Biener  <rguenther@suse.de>
337
338         PR tree-optimization/69174
339         * tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
340         space.
341         (vectorizable_load): Properly compute the number of loads needed
342         for permuted strided SLP loads and do not spuriously assign
343         to SLP_TREE_VEC_STMTS.
344
345 2016-01-12  Andris Pavenis  <andris.pavenis@iki.fi>
346
347         * config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
348         (TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
349         (MD_EXEC_PREFIX): Remove.
350         (MD_STARTFILE_PREFIX) Removee.
351         (FILE_NAME_ABSOLUTE_P): Remove.
352         (CPP_SPEC): Do not read macros from sys/version.h.
353         (LINK_COMMAND_SPEC): Remove.
354         (LOCAL_INCLUDE_DIR): Remove.
355         (TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
356         (TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
357         (POST_LINK_SPEC): Define to invoke stubify after linker
358         (LIBSTDCXX): Remove define
359         (DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
360         (DEFAULT_PCC_STRUCT_RETURN): Define to 1.
361         (SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
362         (SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
363         (SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
364         (IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
365         (i386_djgpp_asm_named_section): Add propotype of new procedure
366
367         * config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
368         (MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
369         (STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX in config/i386/djgpp.h).
370         (STANDARD_STARTFILE_PREFIX_2): Define identical to STANDARD_STARTFILE_PREFIX_1.
371         (LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
372         (GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal installation errors.
373         (MAX_OFILE_ALIGNMENT): Define to 128.
374         (HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.
375
376         * config/i386/djgpp.c: New file. Add implementation of i386_djgpp_asm_named_section.
377
378         * config/i386/djgpp.opt: Remove obsolete option -mbnu210.
379
380         * config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
381         Add rule for building djgpp.o.
382
383 2016-01-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
384
385         * config/rs6000/rs6000.c (v2df_reduction_p): New function.
386         (rtx_is_swappable_p): Reductions are swappable.
387         (insn_is_swappable_p): V2DF reductions are swappable.
388
389 2016-01-11  John David Anglin  <danglin@gcc.gnu.org>
390
391         * config/pa/pa.c (pa_emit_move_sequence): Handle floating point
392         reloads for other unsupported memory operands.
393
394 2016-01-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
395             Jim Wilson  <jim.wilson@linaro.org>
396
397         PR target/69194
398         * config/arm/arm-builtins.c (arm_expand_neon_args): Call
399         copy_to_mode_reg instead of force_reg.
400
401 2016-01-11  H.J. Lu  <hongjiu.lu@intel.com>
402
403         PR target/69225
404         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
405         TARGET_80387 is true.
406
407 2016-01-11  Jakub Jelinek  <jakub@redhat.com>
408
409         PR target/69071
410         * lra-eliminations.c (move_plus_up): Only move plus up
411         if subreg of the constant can be simplified into constant
412         and use the simplified subreg of the constant instead of
413         the original constant.
414
415         * fold-const.c (fold_convertible_p): Don't return true
416         for conversion of VECTOR_TYPE to same sized integral type.
417         (fold_convert_loc): Fix up formatting.  Fold conversion of
418         VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
419         instead of NOP_EXPR.
420
421         PR tree-optimization/69214
422         * tree-vrp.c (simplify_cond_using_ranges): Don't propagate
423         innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
424         Formatting fix.
425
426         PR tree-optimization/69207
427         * tree-vect-slp.c (vect_get_constant_vectors): For
428         VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
429         fold_convertible_p to vector_type's element type, and always
430         use VCE for non-VECTOR_BOOLEAN_TYPE_P.
431
432 2016-01-11  Richard Biener  <rguenther@suse.de>
433
434         PR tree-optimization/69173
435         * tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
436         fixup the cycle if all stmts are in a pattern.
437
438 2016-01-11  Uros Bizjak  <ubizjak@gmail.com>
439
440         PR middle-end/68999
441         * alias.c (base_alias_check): Move check for addresses with
442         alignment ANDs before the call for compare_base_decls.
443         (memrefs_conflict_p): Return -1 for different decls
444         that went through alignment adjustments.
445
446 2016-01-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
447
448         PR rtl-optimization/68796
449         * config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
450         * config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
451         and QImode comparisons against zero with CC_NZmode.
452         * config/aarch64/iterators.md (short_mask): New mode_attr.
453
454 2016-01-11  H.J. Lu  <hongjiu.lu@intel.com>
455
456         * config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf.
457         (<avx512>_store<mode>_mask): Likewise.
458
459 2016-01-11  Bernd Schmidt  <bschmidt@redhat.com>
460             Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
461
462         PR rtl-optimization/68841
463         * ifcvt.c (struct noce_if_info): Add orig_x field.
464         (bbs_ok_for_cmove_arith): Add to_rename parameter.
465         Don't record conflicts on to_rename if it's present.
466         Allow memory destinations in sets.
467         (noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
468         blocks, passing orig_x to the checks.
469         (noce_process_if_block): Set if_info->orig_x appropriately.
470
471 2016-01-11  Tom de Vries  <tom@codesourcery.com>
472
473         PR tree-optimization/69069
474         * tree-parloops.c (create_parallel_loop): Add missing phi args.
475
476 2016-01-11  Yuri Rumyantsev  <ysrumyan@gmail.com>
477
478         PR rtl-optimization/68920
479         * config/i386/i386.c (ix86_option_override_internal): Restrict number
480         of conditional moves for  RTL if-conversion to 1 for
481         TARGET_ONE_IF_CONV_INSN.
482         * config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
483         * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
484         * params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
485         parameter to restirct number of conditional moves for
486         RTL if-conversion.
487         * doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
488         * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
489         conditionl moves.
490
491 2016-01-11  Alexandre Oliva  <aoliva@redhat.com>
492
493         PR bootstrap/69123
494         * var-tracking.c (drop_overlapping_mem_locs): Operate on all
495         onepart vars.  Fix typo in comment.  Fix reversed condition in
496         unshare test.
497         (dataflow_set_remove_mem_locs): Operate on all onepart vars.
498
499         PR bootstrap/69123
500         * var-tracking.c (dump_onepart_variable_differences): New.
501         (dataflow_set_different): If a detailed dump is requested,
502         delay early returns and dump differences between onepart
503         variables present before and after, and added variables.
504
505 2016-01-11  Ilya Enkovich  <enkovich.gnu@gmail.com>
506
507         PR target/69010
508         * expr.c (expand_expr_real_1): For boolean vector constants
509         with a scalar mode use const_scalar_mask_from_tree.
510         (const_scalar_mask_from_tree): New.
511         * optabs.c (expand_vec_cond_mask_expr): Use mask mode
512         assigned to a mask type to handle constants.
513
514 2016-01-11  Martin Jambor  <mjambor@suse.cz>
515
516         PR ipa/69044
517         * ipa-cp.c (estimate_local_effects): Do not clone for removal of
518         useless parameters if we cannot change function signature.
519
520 2016-01-11  Martin Jambor  <mjambor@suse.cz>
521
522         PR ipa/66616
523         * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
524         flag.
525
526 2016-01-11  Tom de Vries  <tom@codesourcery.com>
527
528         PR tree-optimization/69109
529         * tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
530         latch with phi.
531
532 2016-01-11  Tom de Vries  <tom@codesourcery.com>
533
534         PR tree-optimization/69108
535         * tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
536         res is not used in a phi.
537
538 2016-01-11  Yury Gribov  <y.gribov@samsung.com>
539
540         PR 67425
541         * common.opt (frandom-seed): Fix parameter name.
542         * doc/invoke.texi (frandom-seed): Ditto and describe parameter.
543
544 2016-01-11  Tom de Vries  <tom@codesourcery.com>
545
546         PR tree-optimization/69058
547         * tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
548         not supported.
549
550 2016-01-11  Andrew Burgess  <andrew.burgess@embecosm.com>
551
552         * config/arc/arc.opt (mdiv-rem): Add period to the end.
553         (mcode-density): Likewise.
554
555 2016-01-10  Tom de Vries  <tom@codesourcery.com>
556
557         PR tree-optimization/69062
558         * tree-parloops.c (loop_has_phi_with_address_arg): New function.
559         (parallelize_loops): Don't paralelize loop that has phi with address
560         arg.
561
562 2016-01-10  Tom de Vries  <tom@codesourcery.com>
563
564         PR tree-optimization/69039
565         * tree-parloops.c (try_create_reduction_list): Only allow single exit
566         phi for reduction.
567
568 2016-01-09  John David Anglin  <danglin@gcc.gnu.org>
569
570         PR middle-end/68743
571         * match.pd: Require target has function_c99_misc before doing
572         truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
573         
574 2016-01-09  Gerald Pfeifer  <gerald@pfeifer.com>
575
576         * configure.ac (isl_options_set_schedule_serialize_sccs): Also 
577         use GMPINC.
578         * configure: Regenerate.
579
580 2016-01-09  Jakub Jelinek  <jakub@redhat.com>
581
582         PR middle-end/50865
583         PR tree-optimization/69097
584         * fold-const.h (expr_not_equal_to): New prototype.
585         * fold-const.c: Include stringpool.h and tree-ssanames.h.
586         (expr_not_equal_to): New function.
587         * match.pd (X % -Y is the same as X % Y): Don't optimize
588         unless X is known not to be equal to minimum or Y is known
589         not to be equal to -1.
590         * tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
591         fold TRUNC_MOD_EXPR if the second argument is not a power of two.
592         (simplify_stmt_using_ranges): Adjust caller.
593         (vrp_finalize): Call set_value_range on SSA_NAMEs before calling
594         substitute_and_fold.
595
596 2016-01-09  Jan Hubicka  <hubicka@ucw.cz>
597
598         * ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
599         w/o DECL_NAME.
600
601 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
602
603         PR tree-optimization/69167
604         * gimple-fold.c (replace_stmt_with_simplification): Also punt if
605         new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
606         ops[0] comparison.
607         * gimple-match-head.c (maybe_push_res_to_seq): Likewise.
608
609 2016-01-08  Alan Lawrence  <alan.lawrence@arm.com>
610             Richard Biener  <rguenther@suse.de>
611
612         PR tree-optimization/68707
613         * tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
614         instances that can be handled via vect_load_lanes.
615
616 2016-01-08  Uros Bizjak  <ubizjak@gmail.com>
617
618         * symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
619         if we can't determine address equivalence.
620         * alias.c (compare_base_decl): Update for changed return value of
621         symtab_node::equal_address_to.
622
623 2016-01-08  Jason Merrill  <jason@redhat.com>
624
625         PR c++/68983
626         PR c++/67557
627         * function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
628         * expr.c (store_field): Not here.
629         * tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
630         call with TREE_ADDRESSABLE type.
631         * tree-cfg.c (verify_gimple_call): Adjust.
632
633 2016-01-08  Olivier Hainque  <hainque@adacore.com>
634
635         * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
636         libc_internal.
637
638 2016-01-08  Alan Lawrence  <alan.lawrence@arm.com>
639
640         * gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
641         (reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
642         (reduc_smin_v2sf): Rename to...
643         (reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
644         (reduc_splus_v2sf): Rename to...
645         (reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.
646
647 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
648
649         PR tree-optimization/69162
650         * gimplify.c (gimplify_va_arg_expr): Encode original type of
651         valist argument in another argument.
652         (gimplify_modify_expr): Adjust for the above change.  Cleanup.
653         * tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
654         to determine the va_list type, build a MEM_REF instead of
655         build_fold_indirect_ref.
656
657         PR tree-optimization/69172
658         * gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
659         gimple_build.
660
661 2016-01-08  Thomas Preud'homme  <thomas.preudhomme@arm.com>
662
663         PR tree-optimization/67781
664         * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
665         and cmpnop in two steps: first the ones not accessed in original
666         gimple expression in a endian independent way and then the ones not
667         accessed in the final result in an endian-specific way.
668
669 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
670
671         PR tree-optimization/69083
672         * tree-vect-slp.c (vect_get_constant_vectors): For
673         VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
674         element type.  If op is fold_convertible_p to vector_type's element
675         type, use NOP_EXPR instead of VCE.
676
677 2016-01-08  Segher Boessenkool  <segher@kernel.crashing.org>
678
679         PR rtl-optimization/67778
680         PR rtl-optimization/68634
681         PR rtl-optimization/68909
682         * shrink-wrap.c (try_shrink_wrapping): Add comment.  Don't pop
683         block from the stack until done with it.  Remove a superfluous
684         bitmap set.  Remove a superfluous bitmap test.
685
686 2016-01-07  Martin Sebor  <msebor@redhat.com>
687
688         PR c/68966
689         * doc/extend.texi (__atomic Builtins, __sync Builtins): Document
690         constraint on the type of arguments.
691
692 2016-01-07  Andreas Tobler  <andreast@gcc.gnu.org>
693
694         * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
695         SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
696         unaligned_access on the gcc_options set.
697         * config/arm/arm.c (arm_option_override_internal): Use
698         SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
699
700 2016-01-07  Uros Bizjak  <ubizjak@gmail.com>
701
702         PR target/69140
703         * config/i386/i386.c (ix86_frame_pointer_required): Enable
704         frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
705
706 2016-01-07  Uros Bizjak  <ubizjak@gmail.com>
707
708         Revert
709         2016-01-06  Uros Bizjak  <ubizjak@gmail.com>
710
711         PR target/69140
712         * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
713         depending on frame_pointer_needed before remaining integer and SSE
714         registers are saved.
715
716 2016-01-07  Sandra Loosemore  <sandra@codesourcery.com>
717
718         PR 1078
719         * doc/extend.texi (Nvidia PDX Function Attributes): New section.
720
721 2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
722
723         PR target/69171
724         * config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
725         Use the "xBm" constraint.
726         (float<sseintvecmodelower><mode>2<mask_name><round_name):
727         Likewise.
728         (sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
729         (sse_cvtsi2ssq<round_name>): Likewise.
730         (sse_cvtss2si<round_name>): Likewise.
731         (sse_cvtss2siq<round_name>): Likewise.
732         (sse2_cvtsi2sdq<round_name>): Likewise.
733         (sse2_cvtsd2si<round_name>): Likewise.
734         (sse2_cvtsd2siq<round_name>): Likewise.
735         * config/i386/subst.md (round_nimm_scalar_predicate): New
736         predicate.
737
738 2015-12-15  Bernd Schmidt  <bschmidt@redhat.com>
739
740         PR middle-end/67639
741         * varasm.c (make_decl_rtl): Mark invalid register vars as
742         DECL_EXTERNAL.
743
744         PR rtl-optimization/66206
745         * bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
746         All callers changed.
747
748 2016-01-07  Jakub Jelinek  <jakub@redhat.com>
749
750         PR tree-optimization/69141
751         * tree-ssa-pre.c: Include langhooks.h.
752         (eliminate_dom_walker::before_dom_children): Use
753         lang_hooks.decl_printable_name instead of
754         cgraph_node::get ()->name ().
755
756         PR middle-end/68960
757         * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
758         it and DECL_ALIGN too.
759
760 2016-01-06  Robert Suchanek  <robert.suchanek@imgtec.com>
761
762         * config/mips/mips-ftypes.def: Sort to lexicographical order.
763
764 2016-01-06  Uros Bizjak  <ubizjak@gmail.com>
765
766         PR target/69140
767         * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
768         depending on frame_pointer_needed before remaining integer and SSE
769         registers are saved.
770
771 2015-01-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
772
773         * config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
774         mode iterator with VSX_M2.
775         (*p9_vecstore_<mode>): Likewise.
776         (*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
777         (*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
778         (*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
779         (define_split for VSX_LE128 stores): Likewise.
780         (define_peephole2 for TImode LE swaps): Likewise.
781         (define_split for VSX_LE128 post-reload stores): Likewise.
782
783 2016-01-06  Marek Polacek  <polacek@redhat.com>
784
785         PR sanitizer/69099
786         * convert.c (convert_to_integer_1): Adjust call to
787         ubsan_instrument_float_cast.  Use NULL_TREE instead of NULL.
788         * ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter.  Use
789         EXPR instead of ARG.
790         * ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
791
792 2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
793
794         PR 1078
795         * doc/extend.texi (RL78 Variable Attributes): New section.
796
797 2016-01-05  Marek Polacek  <polacek@redhat.com>
798
799         PR c/69104
800         * builtins.c (get_memmodel): Use expansion point location rather than
801         the input location.  Call warning_at rather than warning.
802         (expand_builtin_atomic_compare_exchange): Likewise.
803         (expand_builtin_atomic_load): Likewise.
804         (expand_builtin_atomic_store): Likewise.
805         (expand_builtin_atomic_clear): Likewise.
806
807 2016-01-05  H.J. Lu  <hongjiu.lu@intel.com>
808
809         PR target/68991
810         * config/i386/i386.c (ix86_expand_vector_logical_operator):
811         Replace nonimmediate_operand with vector_operand.
812         * config/i386/predicates.md (vector_operand): New predicate.
813         (general_vector_operand): Replace nonimmediate_operand with
814         vector_operand.
815         * config/i386/sse.md: Replace nonimmediate_operand with
816         vector_operand and m constraint with Bm constraint on SSE
817         patterns with 16-byte memory operand.
818         * config/i386/subst.md (round_nimm_predicate): Replace
819         nonimmediate_operand with vector_operand.
820         (round_saeonly_nimm_predicate): Likewise.
821         (round_saeonly_nimm_scalar_predicate): New.
822
823 2016-01-05  H.J. Lu  <hongjiu.lu@intel.com>
824
825         PR target/68991
826         * config/i386/constraints.md (Bm): New constraint.
827         * config/i386/predicates.md (vector_memory_operand): New
828         predicate.
829         * config/i386/sse.md: Replace xm with xBm in plusminus and
830         any_logic patterns.
831
832 2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
833
834         PR 1078
835         * doc/extend.texi (V850 Function Attributes): New section.
836         (V850 Variable Attributes): New section.
837
838 2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
839
840         PR 1078
841         * doc/extend.texi (MicroBlaze Function Attributes): Document
842         interrupt_handler and fast_interrupt attributes.
843
844 2016-01-05  Sergei Trofimovich  <siarheit@google.com>
845
846         PR other/60465
847         * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
848         for local symbolic operands.
849         * config/ia64/predicates.md (local_symbolic_operand64): New
850         predicate.
851
852 2016-01-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
853
854         PR rtl-optimization/68651
855         * combine.c (combine_simplify_rtx): Canonicalize x + x into
856         x << 1.
857
858 2016-01-05  Nathan Sidwell  <nathan@acm.org>
859
860         * alias.c (compare_base_decls): Use symtab_node::get.
861
862 2016-01-05  Nick Clifton  <nickc@redhat.com>
863
864         PR target/68770
865         * ira-costs.c (copy_cost): Initialise the t_icode field of the
866         secondary_reload_info structure.
867
868         PR target/66655
869         * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
870         decls if weak support is available.
871
872 2016-01-04  Martin Sebor  <msebor@redhat.com>
873
874         * doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
875
876 2016-01-04  Michael Meissner  <meissner@linux.vnet.ibm.com>
877
878         * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
879         OPTION_MASK_P9_DFORM.
880
881         * config/rs6000/constraints.md (wo constraint): New constraint for
882         ISA 3.0 (power9).
883
884         * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
885         for wo constraint.
886         (rs6000_init_hard_regno_mode_ok): Likewise.
887
888         * config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
889         wo constraint.
890
891         * config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
892         expanders not to have constraints.  Add support for ISA 3.0 xxperm
893         instruction.  Add support for fusing xxlor with xxperm.
894         (altivec_vperm_<mode>_internal): Likewise.
895         (altivec_vperm_v8hiv16qi): Likewise.
896         (altivec_vperm_<mode>v16q): Likewise.
897         (altivec_vperm_<mode>_uns): Likewise.
898         (vperm_v8hiv4si): Likewise.
899         (vperm_v16qiv8hi): Likewise.
900
901         * doc/md.texi (RS/6000 constraints): Document wo constraint.
902
903 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
904
905         Update copyright years.
906
907         * gcc.c (process_command): Update copyright notice dates.
908         * gcov-dump.c (print_version): Ditto.
909         * gcov.c (print_version): Ditto.
910         * gcov-tool.c (print_version): Ditto.
911         * gengtype.c (create_file): Ditto.
912         * doc/cpp.texi: Bump @copying's copyright year.
913         * doc/cppinternals.texi: Ditto.
914         * doc/gcc.texi: Ditto.
915         * doc/gccint.texi: Ditto.
916         * doc/gcov.texi: Ditto.
917         * doc/install.texi: Ditto.
918         * doc/invoke.texi: Ditto.
919
920 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
921
922         * config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
923         modes larger than TImode as TImode if NEON is not enabled.
924
925 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
926
927         PR target/69100
928         * config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
929         mode for %f0-%f31 only if TARGET_FPU.
930
931 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
932
933         PR target/69072
934         * config/sparc/sparc.c (scan_record_type): Take into account subfields
935         to compute the PACKED_P predicate.
936         (function_arg_record_value): Minor tweaks.
937
938 2016-01-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
939
940         * doc/install.texi (--with-multilib-list): Describe the meaning of the
941         option for arm*-*-* targets.
942
943 2016-01-03  Sandra Loosemore  <sandra@codesourcery.com>
944
945         * doc/extend.texi (Common Function Attributes): Move docs for
946         MSP430-specific attributes to....
947         (MSP430 Function Attributes): ...here.  Delete the redundant
948         entries and copy-edit the remaining text.
949         (MSP430 Variable Attributes): Use uniform format for index
950         entries and add a cross-reference to the corresponding function
951         attribute docs.
952
953 2016-01-03  Vladimír Čunát  <vcunat@gmail.com>
954
955         * doc/invoke.texi (RS/6000 and PowerPC Options): Fix
956         -finite-math typo.
957         (x86 Options): Likewise.
958
959 2016-01-01  Sandra Loosemore  <sandra@codesourcery.com>
960
961         PR 1078
962
963         * extend.texi (Common Function Attributes) <no_stack_limit>: New.
964         * invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
965         to corresponding attribute.
966
967 2016-01-01  Sandra Loosemore  <sandra@codesourcery.com>
968
969         * doc/extend.texi (Common Function Attributes) <noplt>: Move
970         to correct alphabetization of table.  Copy-edit and correct
971         markup.
972         <stack_protect>: Likewise.
973         <target_clones>: Likewise.
974         <simd>: Likewise.
975         * doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
976         Correct punctuation.
977         (Code Gen Options) <-fno-plt>: Copy-edit.
978
979 2016-01-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
980
981         PR target/68917
982         * config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
983         SI values.  Explicitly convert SI to DI and vice-versa.
984
985 2016-01-01  Jakub Jelinek  <jakub@redhat.com>
986
987         PR tree-optimization/69070
988         * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
989         REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
990
991         PR sanitizer/69055
992         * ubsan.c (ubsan_instrument_float_cast): Call
993         initialize_sanitizer_builtins.
994
995         PR target/69015
996         * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
997 \f
998 Copyright (C) 2016 Free Software Foundation, Inc.
999
1000 Copying and distribution of this file, with or without modification,
1001 are permitted in any medium without royalty provided the copyright
1002 notice and this notice are preserved.