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