5124d694aaacaab366a78da6ab5acc472c636cd6
[platform/upstream/gcc.git] / gcc / ChangeLog
1 2016-01-11  Tom de Vries  <tom@codesourcery.com>
2
3         PR tree-optimization/69069
4         * tree-parloops.c (create_parallel_loop): Add missing phi args.
5
6 2016-01-11  Yuri Rumyantsev  <ysrumyan@gmail.com>
7
8         PR rtl-optimization/68920
9         * config/i386/i386.c (ix86_option_override_internal): Restrict number
10         of conditional moves for  RTL if-conversion to 1 for
11         TARGET_ONE_IF_CONV_INSN.
12         * config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
13         * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
14         * params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
15         parameter to restirct number of conditional moves for
16         RTL if-conversion.
17         * doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
18         * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
19         conditionl moves.
20
21 2016-01-11  Alexandre Oliva <aoliva@redhat.com>
22
23         PR bootstrap/69123
24         * var-tracking.c (drop_overlapping_mem_locs): Operate on all
25         onepart vars.  Fix typo in comment.  Fix reversed condition in
26         unshare test.
27         (dataflow_set_remove_mem_locs): Operate on all onepart vars.
28
29         PR bootstrap/69123
30         * var-tracking.c (dump_onepart_variable_differences): New.
31         (dataflow_set_different): If a detailed dump is requested,
32         delay early returns and dump differences between onepart
33         variables present before and after, and added variables.
34
35 2016-01-11  Ilya Enkovich  <enkovich.gnu@gmail.com>
36
37         PR target/69010
38         * expr.c (expand_expr_real_1): For boolean vector constants
39         with a scalar mode use const_scalar_mask_from_tree.
40         (const_scalar_mask_from_tree): New.
41         * optabs.c (expand_vec_cond_mask_expr): Use mask mode
42         assigned to a mask type to handle constants.
43
44 2016-01-11  Martin Jambor  <mjambor@suse.cz>
45
46         PR ipa/69044
47         * ipa-cp.c (estimate_local_effects): Do not clone for removal of
48         useless parameters if we cannot change function signature.
49
50 2016-01-11  Martin Jambor  <mjambor@suse.cz>
51
52         PR ipa/66616
53         * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
54         flag.
55
56 2016-01-11  Tom de Vries  <tom@codesourcery.com>
57
58         PR tree-optimization/69109
59         * tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
60         latch with phi.
61
62 2016-01-11  Tom de Vries  <tom@codesourcery.com>
63
64         PR tree-optimization/69108
65         * tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
66         res is not used in a phi.
67
68 2016-01-11  Yury Gribov  <y.gribov@samsung.com>
69
70         PR 67425
71         * common.opt (frandom-seed): Fix parameter name.
72         * doc/invoke.texi (frandom-seed): Ditto and describe parameter.
73
74 2016-01-11  Tom de Vries  <tom@codesourcery.com>
75
76         PR tree-optimization/69058
77         * tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
78         not supported.
79
80 2016-01-11  Andrew Burgess  <andrew.burgess@embecosm.com>
81
82         * config/arc/arc.opt (mdiv-rem): Add period to the end.
83         (mcode-density): Likewise.
84
85 2016-01-10  Tom de Vries  <tom@codesourcery.com>
86
87         PR tree-optimization/69062
88         * tree-parloops.c (loop_has_phi_with_address_arg): New function.
89         (parallelize_loops): Don't paralelize loop that has phi with address
90         arg.
91
92 2016-01-10  Tom de Vries  <tom@codesourcery.com>
93
94         PR tree-optimization/69039
95         * tree-parloops.c (try_create_reduction_list): Only allow single exit
96         phi for reduction.
97
98 2016-01-09  John David Anglin  <danglin@gcc.gnu.org>
99
100         PR middle-end/68743
101         * match.pd: Require target has function_c99_misc before doing
102         truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
103         
104 2016-01-09  Gerald Pfeifer  <gerald@pfeifer.com>
105
106         * configure.ac (isl_options_set_schedule_serialize_sccs): Also 
107         use GMPINC.
108         * configure: Regenerate.
109
110 2016-01-09  Jakub Jelinek  <jakub@redhat.com>
111
112         PR middle-end/50865
113         PR tree-optimization/69097
114         * fold-const.h (expr_not_equal_to): New prototype.
115         * fold-const.c: Include stringpool.h and tree-ssanames.h.
116         (expr_not_equal_to): New function.
117         * match.pd (X % -Y is the same as X % Y): Don't optimize
118         unless X is known not to be equal to minimum or Y is known
119         not to be equal to -1.
120         * tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
121         fold TRUNC_MOD_EXPR if the second argument is not a power of two.
122         (simplify_stmt_using_ranges): Adjust caller.
123         (vrp_finalize): Call set_value_range on SSA_NAMEs before calling
124         substitute_and_fold.
125
126 2016-01-09  Jan Hubicka  <hubicka@ucw.cz>
127
128         * ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
129         w/o DECL_NAME.
130
131 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
132
133         PR tree-optimization/69167
134         * gimple-fold.c (replace_stmt_with_simplification): Also punt if
135         new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
136         ops[0] comparison.
137         * gimple-match-head.c (maybe_push_res_to_seq): Likewise.
138
139 2016-01-08  Alan Lawrence  <alan.lawrence@arm.com>
140             Richard Biener  <rguenther@suse.de>
141
142         PR tree-optimization/68707
143         * tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
144         instances that can be handled via vect_load_lanes.
145
146 2016-01-08  Uros Bizjak  <ubizjak@gmail.com>
147
148         * symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
149         if we can't determine address equivalence.
150         * alias.c (compare_base_decl): Update for changed return value of
151         symtab_node::equal_address_to.
152
153 2016-01-08  Jason Merrill  <jason@redhat.com>
154
155         PR c++/68983
156         PR c++/67557
157         * function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
158         * expr.c (store_field): Not here.
159         * tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
160         call with TREE_ADDRESSABLE type.
161         * tree-cfg.c (verify_gimple_call): Adjust.
162
163 2016-01-08  Olivier Hainque  <hainque@adacore.com>
164
165         * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
166         libc_internal.
167
168 2016-01-08  Alan Lawrence  <alan.lawrence@arm.com>
169
170         * gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
171         (reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
172         (reduc_smin_v2sf): Rename to...
173         (reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
174         (reduc_splus_v2sf): Rename to...
175         (reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.
176
177 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
178
179         PR tree-optimization/69162
180         * gimplify.c (gimplify_va_arg_expr): Encode original type of
181         valist argument in another argument.
182         (gimplify_modify_expr): Adjust for the above change.  Cleanup.
183         * tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
184         to determine the va_list type, build a MEM_REF instead of
185         build_fold_indirect_ref.
186
187         PR tree-optimization/69172
188         * gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
189         gimple_build.
190
191 2016-01-08  Thomas Preud'homme  <thomas.preudhomme@arm.com>
192
193         PR tree-optimization/67781
194         * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
195         and cmpnop in two steps: first the ones not accessed in original
196         gimple expression in a endian independent way and then the ones not
197         accessed in the final result in an endian-specific way.
198
199 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
200
201         PR tree-optimization/69083
202         * tree-vect-slp.c (vect_get_constant_vectors): For
203         VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
204         element type.  If op is fold_convertible_p to vector_type's element
205         type, use NOP_EXPR instead of VCE.
206
207 2016-01-08  Segher Boessenkool  <segher@kernel.crashing.org>
208
209         PR rtl-optimization/67778
210         PR rtl-optimization/68634
211         PR rtl-optimization/68909
212         * shrink-wrap.c (try_shrink_wrapping): Add comment.  Don't pop
213         block from the stack until done with it.  Remove a superfluous
214         bitmap set.  Remove a superfluous bitmap test.
215
216 2016-01-07  Martin Sebor  <msebor@redhat.com>
217
218         PR c/68966
219         * doc/extend.texi (__atomic Builtins, __sync Builtins): Document
220         constraint on the type of arguments.
221
222 2016-01-07  Andreas Tobler  <andreast@gcc.gnu.org>
223
224         * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
225         SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
226         unaligned_access on the gcc_options set.
227         * config/arm/arm.c (arm_option_override_internal): Use
228         SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
229
230 2016-01-07  Uros Bizjak  <ubizjak@gmail.com>
231
232         PR target/69140
233         * config/i386/i386.c (ix86_frame_pointer_required): Enable
234         frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
235
236 2016-01-07  Uros Bizjak  <ubizjak@gmail.com>
237
238         Revert
239         2016-01-06  Uros Bizjak  <ubizjak@gmail.com>
240
241         PR target/69140
242         * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
243         depending on frame_pointer_needed before remaining integer and SSE
244         registers are saved.
245
246 2016-01-07  Sandra Loosemore <sandra@codesourcery.com>
247
248         PR 1078
249         * doc/extend.texi (Nvidia PDX Function Attributes): New section.
250
251 2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
252
253         PR target/69171
254         * config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
255         Use the "xBm" constraint.
256         (float<sseintvecmodelower><mode>2<mask_name><round_name):
257         Likewise.
258         (sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
259         (sse_cvtsi2ssq<round_name>): Likewise.
260         (sse_cvtss2si<round_name>): Likewise.
261         (sse_cvtss2siq<round_name>): Likewise.
262         (sse2_cvtsi2sdq<round_name>): Likewise.
263         (sse2_cvtsd2si<round_name>): Likewise.
264         (sse2_cvtsd2siq<round_name>): Likewise.
265         * config/i386/subst.md (round_nimm_scalar_predicate): New
266         predicate.
267
268 2015-12-15  Bernd Schmidt  <bschmidt@redhat.com>
269
270         PR middle-end/67639
271         * varasm.c (make_decl_rtl): Mark invalid register vars as
272         DECL_EXTERNAL.
273
274         PR rtl-optimization/66206
275         * bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
276         All callers changed.
277
278 2016-01-07  Jakub Jelinek  <jakub@redhat.com>
279
280         PR tree-optimization/69141
281         * tree-ssa-pre.c: Include langhooks.h.
282         (eliminate_dom_walker::before_dom_children): Use
283         lang_hooks.decl_printable_name instead of
284         cgraph_node::get ()->name ().
285
286         PR middle-end/68960
287         * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
288         it and DECL_ALIGN too.
289
290 2016-01-06  Robert Suchanek  <robert.suchanek@imgtec.com>
291
292         * config/mips/mips-ftypes.def: Sort to lexicographical order.
293
294 2016-01-06  Uros Bizjak  <ubizjak@gmail.com>
295
296         PR target/69140
297         * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
298         depending on frame_pointer_needed before remaining integer and SSE
299         registers are saved.
300
301 2015-01-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
302
303         * config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
304         mode iterator with VSX_M2.
305         (*p9_vecstore_<mode>): Likewise.
306         (*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
307         (*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
308         (*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
309         (define_split for VSX_LE128 stores): Likewise.
310         (define_peephole2 for TImode LE swaps): Likewise.
311         (define_split for VSX_LE128 post-reload stores): Likewise.
312
313 2016-01-06  Marek Polacek  <polacek@redhat.com>
314
315         PR sanitizer/69099
316         * convert.c (convert_to_integer_1): Adjust call to
317         ubsan_instrument_float_cast.  Use NULL_TREE instead of NULL.
318         * ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter.  Use
319         EXPR instead of ARG.
320         * ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
321
322 2016-01-05  Sandra Loosemore <sandra@codesourcery.com>
323
324         PR 1078
325         * doc/extend.texi (RL78 Variable Attributes): New section.
326
327 2016-01-05  Marek Polacek  <polacek@redhat.com>
328
329         PR c/69104
330         * builtins.c (get_memmodel): Use expansion point location rather than
331         the input location.  Call warning_at rather than warning.
332         (expand_builtin_atomic_compare_exchange): Likewise.
333         (expand_builtin_atomic_load): Likewise.
334         (expand_builtin_atomic_store): Likewise.
335         (expand_builtin_atomic_clear): Likewise.
336
337 2016-01-05  H.J. Lu  <hongjiu.lu@intel.com>
338
339         PR target/68991
340         * config/i386/i386.c (ix86_expand_vector_logical_operator):
341         Replace nonimmediate_operand with vector_operand.
342         * config/i386/predicates.md (vector_operand): New predicate.
343         (general_vector_operand): Replace nonimmediate_operand with
344         vector_operand.
345         * config/i386/sse.md: Replace nonimmediate_operand with
346         vector_operand and m constraint with Bm constraint on SSE
347         patterns with 16-byte memory operand.
348         * config/i386/subst.md (round_nimm_predicate): Replace
349         nonimmediate_operand with vector_operand.
350         (round_saeonly_nimm_predicate): Likewise.
351         (round_saeonly_nimm_scalar_predicate): New.
352
353 2016-01-05  H.J. Lu  <hongjiu.lu@intel.com>
354
355         PR target/68991
356         * config/i386/constraints.md (Bm): New constraint.
357         * config/i386/predicates.md (vector_memory_operand): New
358         predicate.
359         * config/i386/sse.md: Replace xm with xBm in plusminus and
360         any_logic patterns.
361
362 2016-01-05  Sandra Loosemore <sandra@codesourcery.com>
363
364         PR 1078
365         * doc/extend.texi (V850 Function Attributes): New section.
366         (V850 Variable Attributes): New section.
367
368 2016-01-05  Sandra Loosemore <sandra@codesourcery.com>
369
370         PR 1078
371         * doc/extend.texi (MicroBlaze Function Attributes): Document
372         interrupt_handler and fast_interrupt attributes.
373
374 2016-01-05  Sergei Trofimovich <siarheit@google.com>
375
376         PR other/60465
377         * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
378         for local symbolic operands.
379         * config/ia64/predicates.md (local_symbolic_operand64): New
380         predicate.
381
382 2016-01-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
383
384         PR rtl-optimization/68651
385         * combine.c (combine_simplify_rtx): Canonicalize x + x into
386         x << 1.
387
388 2016-01-05  Nathan Sidwell  <nathan@acm.org>
389
390         * alias.c (compare_base_decls): Use symtab_node::get.
391
392 2016-01-05  Nick Clifton  <nickc@redhat.com>
393
394         PR target/68770
395         * ira-costs.c (copy_cost): Initialise the t_icode field of the
396         secondary_reload_info structure.
397
398         PR target/66655
399         * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
400         decls if weak support is available.
401
402 2016-01-04  Martin Sebor  <msebor@redhat.com>
403
404         * doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
405
406 2016-01-04  Michael Meissner  <meissner@linux.vnet.ibm.com>
407
408         * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
409         OPTION_MASK_P9_DFORM.
410
411         * config/rs6000/constraints.md (wo constraint): New constraint for
412         ISA 3.0 (power9).
413
414         * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
415         for wo constraint.
416         (rs6000_init_hard_regno_mode_ok): Likewise.
417
418         * config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
419         wo constraint.
420
421         * config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
422         expanders not to have constraints.  Add support for ISA 3.0 xxperm
423         instruction.  Add support for fusing xxlor with xxperm.
424         (altivec_vperm_<mode>_internal): Likewise.
425         (altivec_vperm_v8hiv16qi): Likewise.
426         (altivec_vperm_<mode>v16q): Likewise.
427         (altivec_vperm_<mode>_uns): Likewise.
428         (vperm_v8hiv4si): Likewise.
429         (vperm_v16qiv8hi): Likewise.
430
431         * doc/md.texi (RS/6000 constraints): Document wo constraint.
432
433 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
434
435         Update copyright years.
436
437         * gcc.c (process_command): Update copyright notice dates.
438         * gcov-dump.c (print_version): Ditto.
439         * gcov.c (print_version): Ditto.
440         * gcov-tool.c (print_version): Ditto.
441         * gengtype.c (create_file): Ditto.
442         * doc/cpp.texi: Bump @copying's copyright year.
443         * doc/cppinternals.texi: Ditto.
444         * doc/gcc.texi: Ditto.
445         * doc/gccint.texi: Ditto.
446         * doc/gcov.texi: Ditto.
447         * doc/install.texi: Ditto.
448         * doc/invoke.texi: Ditto.
449
450 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
451
452         * config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
453         modes larger than TImode as TImode if NEON is not enabled.
454
455 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
456
457         PR target/69100
458         * config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
459         mode for %f0-%f31 only if TARGET_FPU.
460
461 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
462
463         PR target/69072
464         * config/sparc/sparc.c (scan_record_type): Take into account subfields
465         to compute the PACKED_P predicate.
466         (function_arg_record_value): Minor tweaks.
467
468 2016-01-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
469
470         * doc/install.texi (--with-multilib-list): Describe the meaning of the
471         option for arm*-*-* targets.
472
473 2016-01-03  Sandra Loosemore <sandra@codesourcery.com>
474
475         * doc/extend.texi (Common Function Attributes): Move docs for
476         MSP430-specific attributes to....
477         (MSP430 Function Attributes): ...here.  Delete the redundant
478         entries and copy-edit the remaining text.
479         (MSP430 Variable Attributes): Use uniform format for index
480         entries and add a cross-reference to the corresponding function
481         attribute docs.
482
483 2016-01-03  Vladimír Čunát <vcunat@gmail.com>
484
485         * doc/invoke.texi (RS/6000 and PowerPC Options): Fix
486         -finite-math typo.
487         (x86 Options): Likewise.
488
489 2016-01-01  Sandra Loosemore  <sandra@codesourcery.com>
490
491         PR 1078
492
493         * extend.texi (Common Function Attributes) <no_stack_limit>: New.
494         * invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
495         to corresponding attribute.
496
497 2016-01-01  Sandra Loosemore  <sandra@codesourcery.com>
498
499         * doc/extend.texi (Common Function Attributes) <noplt>: Move
500         to correct alphabetization of table.  Copy-edit and correct
501         markup.
502         <stack_protect>: Likewise.
503         <target_clones>: Likewise.
504         <simd>: Likewise.
505         * doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
506         Correct punctuation.
507         (Code Gen Options) <-fno-plt>: Copy-edit.
508
509 2016-01-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
510
511         PR target/68917
512         * config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
513         SI values.  Explicitly convert SI to DI and vice-versa.
514
515 2016-01-01  Jakub Jelinek  <jakub@redhat.com>
516
517         PR tree-optimization/69070
518         * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
519         REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
520
521         PR sanitizer/69055
522         * ubsan.c (ubsan_instrument_float_cast): Call
523         initialize_sanitizer_builtins.
524
525         PR target/69015
526         * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
527 \f
528 Copyright (C) 2016 Free Software Foundation, Inc.
529
530 Copying and distribution of this file, with or without modification,
531 are permitted in any medium without royalty provided the copyright
532 notice and this notice are preserved.