[PATCH] Fix undefined behaviour in cris port
[gcc.git] / gcc / ChangeLog
1 2015-09-26 Jeff Law <law@redhat.com>
2
3 * config/cris/cris.md (asrandb): Fix left shift undefined
4 behaviour.
5 (asrandw): Likewise.
6
7 2015-09-25 Vladimir Makarov <vmakarov@redhat.com>
8
9 PR target/61578
10 * lra-constarints.c (match_reload): Check presence of the input pseudo
11 in the output operand.
12
13 2015-09-25 Tobias Burnus <burnus@net-b.de>
14
15 * doc/invoke.texi (-fsanitize): Minor wording tweak.
16
17 2015-09-25 Tobias Burnus <burnus@net-b.de>
18
19 * doc/invoke.texi (-fsanitize): Update URLs.
20
21 2015-09-25 Teresa Johnson <tejohnson@google.com>
22
23 * opts.c (finish_options): Unset -freorder-blocks-and-partition
24 if not using profile.
25
26 2015-09-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
27
28 PR pretty-print/67567
29 * pretty-print.c (pp_string): Add gcc_checking_assert.
30 * pretty-print.h (output_buffer_append_r): Likewise.
31
32 2015-09-25 Oleg Endo <olegendo@gcc.gnu.org>
33
34 PR target/67675
35 * config/sh/sh-mem.cc (sh_expand_cmpstr): Check alignment of addr1 and
36 addr2 individually. Don't emit logical or insn if one is known to
37 be aligned approriately.
38 (sh_expand_cmpnstr): Likewise.
39
40 2015-09-25 Richard Sandiford <richard.sandiford@arm.com>
41
42 * config/aarch64/aarch64-builtins.c (aarch64_expand_builtin): Force
43 __builtin_aarch64_fp[sc]r arguments into a register.
44
45 2015-09-25 H.J. Lu <hongjiu.lu@intel.com>
46
47 * config.gcc (x86_archs): Replace lakemount with lakemont.
48 (with_cpu): Likewise.
49 (with_arch): Likewise.
50 * config/i386/i386-c.c (ix86_target_macros_internal): Replace
51 PROCESSOR_LAKEMOUNT with PROCESSOR_LAKEMONT. Replace
52 __tune_lakemount__ with __tune_lakemont__.
53 * config/i386/i386.c (lakemount_cost): Renamed to ...
54 (lakemont_cost): This.
55 (m_LAKEMOUNT): Renamed to ...
56 (m_LAKEMONT): This.
57 (initial_ix86_arch_features): Replace m_LAKEMOUNT with m_LAKEMONT.
58 (processor_target_table): Replace "lakemount" with "lakemont".
59 (processor_alias_table): Likewise.
60 (ix86_issue_rate): Replace PROCESSOR_LAKEMOUNT with
61 PROCESSOR_LAKEMONT.
62 (ix86_adjust_cost): Likewise.
63 (ia32_multipass_dfa_lookahead): Likewise.
64 * config/i386/i386.h (processor_type): Likewise.
65 * config/i386/x86-tune.def: Replace m_LAKEMOUNT with m_LAKEMONT.
66 * doc/invoke.texi: Replace lakemount with lakemont. Replace
67 Lakemount with Lakemont.
68
69 2015-09-24 H.J. Lu <hongjiu.lu@intel.com>
70
71 * config.gcc (x86_archs): Replace iamcu with lakemount.
72 (with_cpu): Likewise.
73 (with_arch): Likewise.
74 * doc/invoke.texi: Likewise.
75 * config/i386/i386-c.c (ix86_target_macros_internal): Replace
76 PROCESSOR_IAMCU with PROCESSOR_LAKEMOUNT. Replace
77 __tune_iamcu__ with __tune_lakemount__.
78 * config/i386/i386.c (iamcu_cost): Renamed to ...
79 (lakemount_cost): This.
80 (m_IAMCU): Renamed to ...
81 (m_LAKEMOUNT): This.
82 (initial_ix86_arch_features): Replace m_IAMCU with m_LAKEMOUNT.
83 (processor_target_table): Replace "iamcu" with "lakemount".
84 (processor_alias_table): Likewise.
85 (ix86_issue_rate): Replace PROCESSOR_IAMCU with
86 PROCESSOR_LAKEMOUNT.
87 (ix86_adjust_cost): Likewise.
88 (ia32_multipass_dfa_lookahead): Likewise.
89 * config/i386/i386.h (processor_type): Likewise.
90 * config/i386/x86-tune.def: Replace m_IAMCU with m_LAKEMOUNT.
91
92 2015-09-24 John David Anglin <danglin@gcc.gnu.org>
93
94 * config/pa/pa-linux.h (HAVE_sync_compare_and_swapdi): Define.
95 * config/pa/pa-protos.h (pa_maybe_emit_compare_and_swap_exchange_loop):
96 Declare.
97 * config/pa/pa.c (pa_init_libfuncs): Init sync libfuncs up to 8 bytes.
98 (pa_expand_compare_and_swap_loop): New.
99 (pa_maybe_emit_compare_and_swap_exchange_loop): New.
100 * config/pa/pa.md (atomic_storeqi, atomic_storehi, atomic_storesi,
101 atomic_storesf, atomic_loaddf, atomic_storedf): New expanders.
102 (atomic_loaddf_1, atomic_storedf_1): New insn patterns.
103 (atomic_loaddi, atomic_loaddi_1, atomic_storedi, atomic_storedi_1):
104 Revise.
105
106 2015-09-24 Michael Collison <michael.collison@linaro.org>
107
108 PR other/57195
109 * read-md.c (read_name): Allow mode iterators inside angle
110 brackets in rtl expressions.
111
112 2015-09-24 Vladimir Makarov <vmakarov@redhat.com>
113
114 PR target/61578
115 * ira-color.c (update_allocno_cost): Add parameter.
116 (update_costs_from_allocno): Decrease conflict cost. Pass the new
117 parameter.
118
119 2015-09-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
120
121 PR driver/67640
122 * opts-common.c (prune_options): Discard all -fdiagnostics-color
123 but the last one, which is moved to the front to be processed
124 first.
125 * opts.c (enable_warning_as_error): Reject options that do not
126 control warnings.
127
128 2015-09-24 Jiong Wang <jiong.wang@arm.com>
129
130 * config/aarch64/aarch64.c (aarch64_print_operand): Add "CONST" support.
131
132 2015-09-24 Jiong Wang <jiong.wang@arm.com>
133
134 * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Delete.
135 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Likewise.
136 (aarch64_cannot_force_const_mem): Likewise.
137 (aarch64_classify_address): Likewise.
138 (aarch64_classify_symbolic_expression): Likewise.
139 (aarch64_print_operand): Likewise.
140 (aarch64_classify_symbol): Likewise.
141 (aarch64_mov_operand_p): Likewise.
142 * config/aarch64/predicates.md (aarch64_valid_symref): Likewise.
143 (aarch64_mov_operand): Likewise.
144
145 2015-09-24 Segher Boessenkool <segher@kernel.crashing.org>
146
147 * config/rs6000/rs6000.c (debug_stack_info): Invert the test
148 for info->spe_gp_size.
149
150 2015-09-24 Richard Biener <rguenther@suse.de>
151
152 PR lto/67699
153 * lto-cgraph.c (compute_ltrans_boundary): Do not stream
154 abstract origins.
155
156 2015-09-24 Thomas Schwinge <thomas@codesourcery.com>
157
158 * tree-object-size.c (plus_stmt_object_size)
159 (cond_expr_object_size): Change the formal parameters from gimple
160 to gimple *.
161 * tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Likewise.
162 * tree-ssa-sccvn.c (vn_nary_op_insert_stmt): Make it static.
163 * tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Don't declare.
164
165 2015-09-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
166
167 * configure.ac (gcc_cv_ld_pie): Check for gld >= 2.26 on Solaris.
168 Check for ld -type pie on Solaris 11.x and 12.
169 * configure: Regenerate.
170 * config.in: Regenerate.
171
172 * gcc.c (LD_PIE_SPEC): Allow redefinition.
173
174 * config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Define.
175 (STARTFILE_SPEC): Use it.
176 (ENDFILE_CRTEND_SPEC): Define.
177 (ENDFILE_SPEC): Use it and ENDFILE_ARCH_SPEC.
178 (SUBTARGET_EXTRA_SPECS): Add STARTFILE_CRTBEGIN_SPEC,
179 ENDFILE_ARCH_SPEC, ENDFILE_CRTEND_SPEC.
180 [HAVE_LD_PIE && HAVE_SOLARIS_CRTS] (LD_PIE_SPEC): Define.
181 (!(HAVE_LD_PIE && HAVE_SOLARIS_CRTS)] (LINK_PIE_SPEC): Define.
182 * config/i386/sol2.h (ENDFILE_SPEC): Remove.
183 (ENDFILE_ARCH_SPEC): Define.
184 * config/sparc/sol2.h (ENDFILE_ARCH_SPEC): Define.
185
186 2015-09-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
187
188 * configure.ac (gcc_cv_solaris_crts): New test.
189 * configure. Regenerate.
190 * config.in: Regenerate.
191 * config/sol2.h (STARTFILE_SPEC): Simplify, provide
192 HAVE_SOLARIS_CRTS variant.
193
194 2015-09-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
195
196 * tree-inline.h (count_insns_seq): Delete prototype.
197 (estimate_num_insns_seq): Define prototype.
198 * tree-inline.c (count_insns_seq): Delete.
199 (estimate_num_insns_seq): Remove static qualifier.
200 * tree-eh.c (decide_copy_try_finally): Replace use of count_insns_seq
201 with estimate_num_insns_seq.
202
203 2015-09-24 Richard Biener <rguenther@suse.de>
204
205 * tree-ssa-sccvn.h (vn_reference_op_struct): Add clique and base
206 members.
207 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Record clique
208 and base for MEM_REF and TARGET_MEM_REF. Handle BIT_FIELD_REF
209 offset.
210 (ao_ref_init_from_vn_reference): Record clique and base in the
211 built base.
212 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise
213
214 2015-09-24 Richard Biener <rguenther@suse.de>
215
216 PR tree-optimization/48885
217 * tree-ssa-structalias.c (visit_loadstore): Handle default defs
218 as not including any restrict tags from other pointers.
219
220 2015-09-23 Thomas Schwinge <thomas@codesourcery.com>
221
222 * gcc.c (handle_foffload_option): Don't lose the trailing NUL
223 character when appending to offload_targets.
224
225 * configure.ac (offload_targets, OFFLOAD_TARGETS): Separate
226 offload targets by commas, not colons.
227 * config.in: Regenerate.
228 * configure: Likewise.
229 * gcc.c (driver::maybe_putenv_COLLECT_LTO_WRAPPER): Due to that,
230 instead of setting up the default offload targets here...
231 (process_command): ..., do it here.
232 libgomp/
233 * plugin/configfrag.ac (OFFLOAD_TARGETS): Clarify that offload
234 targets are separated by commas.
235 * config.h.in: Regenerate.
236
237 2015-09-23 Thomas Schwinge <thomas@codesourcery.com>
238 Nathan Sidwell <nathan@codesourcery.com>
239
240 * omp-low.h (omp_reduction_init_op): Declare.
241 * omp-low.c (omp_reduction_init_op): New, broken out of ...
242 (omp_reduction_init): ... here. Call it.
243 * tree-parloops.c (initialize_reductions): Use
244 omp_reduction_init_op.
245
246 2015-09-23 Richard Biener <rguenther@suse.de>
247
248 PR middle-end/67662
249 * fold-const.c (fold_binary_loc): Do not reassociate two vars with
250 undefined overflow unless they will cancel out.
251
252 2015-09-23 Kirill Yukhin <kirill.yukhin@intel.com>
253
254 * config/i386/i386.md (define_insn "*<mshift><mode>3"): Fix
255 insn emit.
256
257 2015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
258
259 PR c/49655
260 * opts.h (write_langs): Declare.
261 * opts-global.c (write_langs): Make it extern.
262
263 2015-09-23 Oleg Endo <olegendo@gcc.gnu.org>
264
265 PR target/67391
266 * config/sh/sh.md (addsi3, *addsi3_compact): Don't check for
267 overlapping regs when matching the pattern.
268
269 2015-09-23 James Greenhalgh <james.greenhalgh@arm.com>
270
271 * config/aarch64/aarch64-simd.md
272 (aarch64_float_truncate_hi_v4sf): Rewrite as an expand.
273 (aarch64_float_truncate_hi_v4sf_le): New.
274 (aarch64_float_truncate_hi_v4sf_be): Likewise.
275
276 2015-09-23 Richard Biener <rguenther@suse.de>
277
278 * tree-ssa-structalias.c (intra_create_variable_infos): Build
279 representatives for all restrict qualified pointer destinations.
280
281 2015-09-23 Kirill Yukhin <kirill.yukhin@intel.com>
282
283 * config/i386/i386.md (define_code_attr mshift): New.
284 (define_mode_iterator SWI1248_AVX512BW): Rename ...
285 (SWI1248_AVX512BW): ... to this. Make QI enabled for TARGET_AVX512DQ
286 only.
287 (define_insn "*k<logic><mode>"): Use new iterator name.
288 (define_insn "*<mshift><mode>3"): New.
289
290 2015-09-23 Mikhail Maltsev <maltsevm@gmail.com>
291
292 PR middle-end/67649
293 * memory-block.h (memory_block_pool::allocate): Use valgrind API to
294 mark the block as accessible.
295
296 2015-09-22 Segher Boessenkool <segher@kernel.crashing.org>
297
298 * function.c (thread_prologue_and_epilogue_insns): Delete
299 orig_entry_edge argument to try_shrink_wrapping.
300 * shrink-wrap.c (can_get_prologue): New function.
301 (can_dup_for_shrink_wrapping): Also handle EDGE_CROSSING.
302 (try_shrink_wrapping): Delete orig_entry_edge argument. Use
303 can_get_prologue where needed. Remove code that finds a single
304 edge for the prologue. Remove code that tests if any reg clobbered
305 by the prologue is live on the prologue edge. Remove code that finds
306 the new prologue edge after duplicating blocks. Make a new prologue
307 block and edge.
308 * shrink-wrap.h (try_shrink_wrapping): Delete orig_entry_edge argument.
309
310 2015-09-22 Jeff Law <law@redhat.com>
311
312 * config/pa/pa.h (MIN_LEGIT_64BIT_CONST_INT): Avoid undefined
313 behavior.
314
315 2015-09-22 Nathan Sidwell <nathan@codesourcery.com>
316
317 * doc/invoke.texi (-Wmultiple-inheritance, -Wvirtual-inheritance,
318 -Wtemplates, -Wnamespaces): Document.
319
320 2015-09-22 Tom de Vries <tom@codesourcery.com>
321
322 PR tree-optimization/67671
323 * tree-ssa-structalias.c (create_variable_info_for_1): Handle restrict
324 pointer references as restrict.
325
326 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
327
328 * config/nios2/nios2.c (nios2_legitimize_address): When handling
329 'reg + reloc' cases, allow first operand to be non-REG, and use
330 force_reg() to enforce address pattern.
331
332 2015-09-22 Alexander Fomin <alexander.fomin@intel.com>
333
334 PR target/67480
335 * config/i386/sse.md (define_mode_iterator VI48_AVX_AVX512F): New.
336 (define_mode_iterator VI12_AVX_AVX512F): New.
337 (define_insn "<mask_codefor><code><mode>3<mask_name>"): Change
338 all iterators to VI48_AVX_AVX512F. Extract remaining modes ...
339 (define_insn "*<code><mode>3"): ... Into new pattern using
340 VI12_AVX_AVX512F iterators without masking.
341
342 2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com>
343
344 * config.gcc: Support "skylake-avx512".
345 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
346 PROCESSOR_SKYLAKE_AVX512.
347 * config/i386/i386.c (m_SKYLAKE_AVX512): Define.
348 (processor_target_table): Add "skylake-avx512".
349 (PTA_SKYLAKE_AVX512): Define.
350 (ix86_option_override_internal): Add "skylake_avx512".
351 (fold_builtin_cpu): Handle "skylake_avx512", add F_AVX512VL
352 F_AVX512BW, F_AVX512DQ, F_AVX512ER, F_AVX512PF, F_AVX512CD.
353 * config/i386/i386.h (TARGET_SKYLAKE_AVX512): Define.
354 (processor_type): Add PROCESSOR_SKYLAKE_AVX512.
355 * doc/invoke.texi (skylake-avx512): New.
356
357 2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com>
358
359 * gcc/config/i386/i386.md (define_insn "kunpckhi"): Fix
360 operand in pattern.
361 (define_insn "kunpcksi"): Ditto.
362 (define_insn "kunpckdi"): Ditto.
363
364 2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com>
365
366 * gcc/config/i386/i386.md (define_split not/xor SWI1248x): Use
367 iterator instead of fixed modes.
368
369 2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
370
371 * config/aarch64/aarch64-protos.h (aarch64_gen_atomic_ldop):
372 Adjust declaration.
373 * config/aarch64/aarch64.c (aarch64_emit_bic): New.
374 (aarch64_gen_atomic_ldop): Adjust comment. Add parameter
375 out_result. Update to support update-fetch operations.
376 * config/aarch64/atomics.md (aarch64_atomic_exchange<mode>_lse):
377 Adjust for change to aarch64_gen_atomic_ldop.
378 (aarch64_atomic_<atomic_optab><mode>_lse): Likewise.
379 (aarch64_atomic_fetch_<atomic_optab><mode>_lse): Likewise.
380 (atomic_<atomic_optab>_fetch<mode>): Change to an expander.
381 (aarch64_atomic_<atomic_optab>_fetch<mode>): New.
382 (aarch64_atomic_<atomic_optab>_fetch<mode>_lse): New.
383
384 2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
385
386 * config/aarch64/aarch64-protos.h
387 (aarch64_atomic_ldop_supported_p): Declare.
388 * config/aarch64/aarch64.c (aarch64_atomic_ldop_supported_p): New.
389 (enum aarch64_atomic_load_op_code): New.
390 (aarch64_emit_atomic_load_op): New.
391 (aarch64_gen_atomic_ldop): Update to support load-operate
392 patterns.
393 * config/aarch64/atomics.md (atomic_<atomic_optab><mode>): Change
394 to an expander.
395 (aarch64_atomic_<atomic_optab><mode>): New.
396 (aarch64_atomic_<atomic_optab><mode>_lse): New.
397 (atomic_fetch_<atomic_optab><mode>): Change to an expander.
398 (aarch64_atomic_fetch_<atomic_optab><mode>): New.
399 (aarch64_atomic_fetch_<atomic_optab><mode>_lse): New.
400
401 2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
402
403 * config/aarch64/aarch64/atomics.md (UNSPECV_ATOMIC_LDOP): New.
404 (UNSPECV_ATOMIC_LDOP_OR): New.
405 (UNSPECV_ATOMIC_LDOP_BIC): New.
406 (UNSPECV_ATOMIC_LDOP_XOR): New.
407 (UNSPECV_ATOMIC_LDOP_PLUS): New.
408 (ATOMIC_LDOP): New.
409 (atomic_ldop): New.
410 (aarch64_atomic_load<atomic_ldop><mode>): New.
411
412 2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
413
414 * config/aarch64/aarch64.md
415 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Make a named
416 pattern.
417
418 2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
419
420 * config/aarch64/aarch64-protos.h (aarch64_gen_atomic_ldop):
421 Declare.
422 * config/aarch64/aarch64.c (aarch64_emit_atomic_swap): New.
423 (aarch64_gen_atomic_ldop): New.
424 (aarch64_split_atomic_op): Fix whitespace and add a comment.
425 * config/aarch64/atomics.md (UNSPECV_ATOMIC_SWP): New.
426 (aarch64_compare_and_swap<mode>_lse): Fix some whitespace.
427 (atomic_exchange<mode>): Replace with an expander.
428 (aarch64_atomic_exchange<mode>): New.
429 (aarch64_atomic_exchange<mode>_lse): New.
430 (aarch64_atomic_<atomic_optab><mode>): Fix some whitespace.
431 (aarch64_atomic_swp<mode>): New.
432
433 2015-09-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
434
435 * tree-inline.c (expand_call_inline): Use inform for extra note.
436 Do not give a note with UNKNOWN_LOCATION.
437 Replace input_location with gimple_location (stmt).
438 Use true/false instead of TRUE/FALSE.
439
440 2015-09-22 Tom de Vries <tom@codesourcery.com>
441
442 PR tree-optimization/67666
443 * tree-ssa-structalias.c (create_variable_info_for_1): Handle struct
444 with single field non-conservative.
445
446 2015-09-21 David S. Miller <davem@davemloft.net>
447
448 PR/67622
449 Revert:
450 2015-09-11 David S. Miller <davem@davemloft.net>
451
452 * config/sparc/constraints.md: Make "U" constraint a real register
453 constraint.
454 * config/sparc/sparc.c (TARGET_LRA_P): Define.
455 (D_MODES, DF_MODES): Add missing cast.
456 (TF_MODES, TF_MODES_NO_S): Include T_MODE.
457 (OF_MODES, OF_MODES_NO_S): Include O_MODE.
458 (sparc_register_move_cost): Decrease Niagara/UltrsSPARC memory
459 cost to 8.
460 * config/sparc/sparc.h (PROMOTE_MODE): Define.
461 * config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not
462 provide these insn when flag_pic.
463
464 2015-09-17 David S. Miller <davem@davemloft.net>
465
466 * config/sparc/sparc-protos.h (sparc_secondary_memory_needed):
467 Declare.
468 * config/sparc/sparc.c (sparc_secondary_memory_needed): New
469 function.
470 * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it.
471 (HARD_REGNO_CALLER_SAVE_MODE): Define.
472 * config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44)
473 (setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi)
474 (embmedany_losum, embmedany_brsum, embmedany_textuhi)
475 (embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not
476 provide when flag_pic.
477
478 2015-09-21 Jeff Law <law@redhat.com>
479
480 * config/h8300/h8300.md (andsi3_ashift_n_lower): Avoid undefined
481 behavior.
482
483 2015-09-21 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
484
485 * config/spu/spu.c (spu_expand_insv): Avoid undefined behavior.
486
487 2015-09-21 Richard Biener <rguenther@suse.de>
488
489 * passes.c (rest_of_decl_compilation): Do not call
490 dwarf2out_early_global_decl for aliases.
491
492 2015-09-21 Richard Biener <rguenther@suse.de>
493
494 PR debug/67664
495 * dwarf2out.c (add_location_or_const_value_attribute): Remove
496 attribute parameter. Early exit if either DW_AT_const_value
497 or DW_AT_location are present already.
498 (gen_variable_die): Adjust caller.
499 (dwarf2out_late_global_decl): Likewise.
500
501 2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
502
503 PR target/67657
504 * config/sh/sh.c (sh_remove_overlapping_post_inc,
505 sh_peephole_emit_move_insn): Add new functions.
506 * config/sh/sh-protos.h (sh_remove_overlapping_post_inc,
507 sh_peephole_emit_move_insn): Declere them.
508 * config/sh/sh.md: Use them in various peephole2 patterns.
509
510 2015-09-21 Richard Biener <rguenther@suse.de>
511
512 PR middle-end/67651
513 * rtlanal.c (nonzero_address_p): SYMBOL_REFs may have zero
514 address with -fno-delete-null-pointer-checks.
515
516 2015-09-21 Alan Lawrence <alan.lawrence@arm.com>
517
518 * config/rs6000/altivec.md (reduc_splus_<mode>): Rename to...
519 (reduc_plus_scal_<mode>): ...this, add rs6000_expand_vector_extract.
520 (reduc_uplus_v16qi): Remove.
521
522 * config/rs6000/vector.md (VEC_reduc_name): Change "splus" to "plus".
523 (reduc_<VEC_reduc_name>_v2df): Remove.
524 (reduc_<VEC_reduc_name>_v4sf): Remove.
525 (reduc_<VEC_reduc:VEC_reduc_name>_scal_<VEC_F:name>): New.
526
527 * config/rs6000/vsx.md (vsx_reduc_<VEC_reduc_name>_v2df): Declare
528 gen_ function by removing * prefix.
529 (vsx_reduc_<VEC_reduc_name>_v4sf): Likewise.
530
531 2015-09-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
532
533 PR middle-end/60832
534 * tree-ssa-loop-niter.c (do_warn_aggressive_loop_optimizations):
535 Print i_bound without converting it to a tree.
536
537 2015-09-21 Bilyan Borisov <bilyan.borisov@arm.com>
538
539 * config/arm/arm.c (thumb_output_move_mem_multiple): Replaced
540 operands[4] operands[5] swap with std::swap, removed tmp variable.
541 (arm_evpc_neon_vzip): Replaced in0/in1 and
542 out0/out1 swaps with std::swap, removed x variable.
543 (arm_evpc_neon_vtrn): Replaced in0/int1 and
544 out0/out1 swaos with std::swap, removed x variable.
545 (arm_expand_vec_perm_const_1): Replaced
546 d->op0/d->op1 swap with std::swap, removed x variable.
547 (arm_evpc_neon_vuzp): Replaced in0/in1 and
548 out0/out1 swaps with std::swap, removed x variable.
549
550 2015-09-21 Jonathan Yong <10walls@gmail.com>
551
552 * config/i386/cygwin.h (STARTFILE_SPEC): Explicitly search
553 sysroot/usr/lib/32api for additional win32 libraries,
554 fixes failing Cygwin bootstrapping.
555
556 2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
557
558 * doc/invoke.texi (SH Options): Undocument SH5/SH64 related options.
559
560 2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
561
562 PR target/67126
563 * config/sh/sh.md (*reg_lsb_t): Emit bld insn on SH2A.
564 (*mov_t_msb_neg): Rewrite negc pattern.
565
566 2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
567
568 * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Cleanup
569 immediate generation code.
570
571 2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
572
573 * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Remove
574 redundant immediate generation code.
575
576 2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
577
578 * config/aarch64/aarch64.c (aarch64_bitmasks): Remove.
579 (AARCH64_NUM_BITMASKS): Remove.
580 (aarch64_bitmasks_cmp): Remove.
581 (aarch64_build_bitmask_table): Remove.
582
583 2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
584
585 * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Replace
586 slow immediate matching loops with a faster algorithm.
587
588 2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
589
590 * config/aarch64/aarch64.c (aarch64_bitmask_imm): Reimplement using
591 faster algorithm.
592
593 2015-09-20 Jeff Law <law@redhat.com>
594
595 PR tree-optimization/47679
596 * tree-ssa-dom.c (record_temporary_equivalences): No longer static.
597 * tree-ssa-dom.h (record_temporary_equivalences): Add prototype.
598 * tree-ssa-threadedge.c: Include tree-ssa-dom.h.
599 (thread_through_normal_block): Use record_temporary_equivalences.
600
601 2015-09-19 Trevor Saunders <tbsaunde@tbsaunde.org>
602
603 * coretypes.h (gimple): Change typedef to be a forward declaration.
604 * gimple.h (gimple_statement_base): rename to gimple.
605 * (all functions and types using gimple): Adjust.
606 * *.[ch]: Likewise.
607
608 2015-09-19 Andrew Dixie <andrewd@gentrack.com>
609 David Edelsohn <dje.gcc@gmail.com>
610
611 * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): Delete.
612 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
613 (EH_FRAME_THROUGH_COLLECT2): Define.
614 (EH_TABLES_CAN_BE_READ_ONLY): Define.
615 (ASM_OUTPUT_DWARF_PCREL): Define.
616 (ASM_OUTPUT_DWARF_DATAREL): Define.
617
618 2015-09-19 John David Anglin <danglin@gcc.gnu.org>
619
620 * config/pa/pa.c (pa_function_ok_for_sibcall): Remove special treatment
621 of TARGET_ELF32.
622
623 2015-09-18 Jeff Law <law@redhat.com>
624
625 PR tree-optimization/47679
626 * tree-ssa-dom.c (avail_exprs_stack): No longer file scoped. Move
627 it here ...
628 (dom_opt_dom_walker): New private member holding the avail_exprs_stack
629 object. Update constructor.
630 (pass_dominator::execute): Corresponding chagnes to declaration
631 and initialization of avail_exprs_stack. Update constructor call
632 for dom_opt_dom_walker object.
633 (lookup_avail_expr, record_cond): Accept additional argument. Pass
634 it down to children as needed.
635 (record_equivalences_from_incoming_edge): Likewise.
636 (eliminate_redundant_computations): Likewise.
637 (record_equivalences_from_stmt): Likewise.
638 (simplify_stmt_for_jump_threading): Likewise.
639 (record_temporary_equivalences): Likewise.
640 (optimize_stmt): Likewise.
641 (dom_opt_dom_walker::thread_across_edge): Update access to
642 avail_exprs_stack object and pass it to children as needed.
643 (dom_opt_dom_walker::before_dom_children): Similarly.
644 (dom_opt_dom_walker::after_dom_children): Similarly.
645 * tree-ssa-threadedge.c (pfn_simplify): New typedef.
646 (record_temporary_equivalences_from_stmts_at_dest): Use new typedef.
647 Add avail_expr_stack argument. Pass it to children as needed.
648 (dummy_simplify): Likewise.
649 (simplify_control_stmt_condition): Likewise.
650 (thread_around_empty_blocks): Likewise.
651 (thread_through_normal_block): Likewise.
652 (thread_across_edge): Likewise.
653 * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
654 * tree-vrp.c (simplify_stmt_for_jump_threading): Update.
655
656 PR tree-optimization/47679
657 * tree-ssa-dom.c (const_and_copies): No longer file scoped. Move
658 it here ...
659 (dom_opt_dom_walker): New private member holding the const_and_copies
660 object. Update constructor.
661 (pass_dominator::execute): Corresponding changes to declaration
662 and initialization of const_and_copies. Update constructor call
663 for the dom_opt_dom_walker object.
664 (record_temporary_equivalences): Accept const_and_copies argument
665 pass it down to children as needed.
666 (record_equality): Likewise.
667 (record_equivalences_from_incoming_edge): Likewise.
668 (cprop_into_successor_phis, optimize_stmt): Likewise.
669 (eliminate_redundant_computations): Likewise.
670 (dom_opt_dom_walker::thread_across_edge): Update access to
671 const_and_copies object and pass it to children as needed.
672 (dom_opt_dom_walker::before_dom_children): Similarly.
673 (dom_opt_dom_walker::after_dom_children): Similarly.
674
675 PR tree-optimization/47679
676 * tree-ssa-dom.c (avail_exprs): No longer file scoped. Bury
677 it into the avail_exprs_stack class.
678 (pass_dominator::execute): Corresponding changes to declaration
679 and initialization of avail_exprs. Pass avail_exprs to
680 dump_dominator_optimization_stats.
681 (record_cond): Extract avail_exprs from avail_exprs_stack.
682 (lookup_avail_expr): Similarly.
683 (htab_staticstics): Remove unnecessary prototype. Move to earlier
684 position in file.
685 (dump_dominator_optimization_stats): Make static and prototype.
686 Add argument for the hash table to dump.
687 (debug_dominator_optimization_stats): Remove.
688 * tree-ssa-dom.h (dump_dominator_optimization_stats): Remove
689 prototype.
690 (debug_dominator_optimization_stats): Similarly.
691 * tree-ssa-scopedtables.h (class avail_exprs_stack): Add missing
692 "void" in prototype for pop_to_marker method. Add accessor method
693 for the underlying avail_exprs table.
694
695 * tree-ssa-threadedge.c: Remove trailing whitespace.
696
697 2014-09-18 John David Anglin <danglin@gcc.gnu.org>
698
699 * config/pa/pa-protos.h (pa_cint_ok_for_move): Change argument type to
700 unsigned.
701 (pa_ldil_cint_p): Likewise.
702 * config/pa/pa.c (pa_cint_ok_for_move): likewise.
703 (pa_ldil_cint_p): Likewise. Change signed casts to unsigned.
704 Update callers.
705 * config/pa/pa.md: Likewise.
706
707 2015-09-18 David Malcolm <dmalcolm@redhat.com>
708
709 * Makefile.in (OBJS-libcommon): Add diagnostic-show-locus.o.
710 * diagnostic.c (adjust_line): Move to diagnostic-show-locus.c.
711 (diagnostic_show_locus): Likewise.
712 (diagnostic_print_caret_line): Likewise.
713 * diagnostic-show-locus.c: New file.
714
715 2015-09-18 David Edelsohn <dje.gcc@gmail.com>
716
717 * dwarf2out.c (switch_to_eh_frame_section): Add ATTRIBUTE_UNUSED to
718 "back" parameter. Declare label in #if block.
719
720 2015-09-18 Uros Bizjak <ubizjak@gmail.com>
721
722 PR middle-end/67619
723 * except.c (expand_builtin_eh_return): Use copy_addr_to_reg to copy
724 the address to a register.
725
726 2015-09-18 Jeff Law <law@redhat.com>
727
728 PR tree-optimization/47679
729 * Makefile.in (OBJS): Add tree-ssa-phionlycprop.o
730 * tree-ssa-dom.c: Remove unnecessary header includes.
731 (remove_stmt_or_phi): Moved from here into tree-ssa-phionlycprop.c
732 (get_rhs_or_phi_arg, get_lhs_or_phi_result): Likewise.
733 (propagate_rhs_into_lhs, eliminate_const_or_copy): Likewise.
734 (eliminate_degenerate_phis_1, pass_phi_only_cprop): Likewise.
735 (pass_phi_only_cprop::execute): Likewise.
736 (make_pass_phi_only_cprop): Likewise.
737 * tree-ssa-phionlycprop.c: New file with moved code. Eliminate
738 uses of file scoped statics by passing the required objects
739 as parameters wherever needed.
740
741 2015-09-18 Andrew Dixie <andrewd@gentrack.com>
742 David Edelsohn <dje.gcc@gmail.com>
743
744 * defaults.h (EH_FRAME_SECTION_NAME): Depend on
745 EH_FRAME_THROUGH_COLLECT2.
746 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add case for
747 DW_EH_PE_datarel.
748 * dwarf2out.c (switch_to_eh_frame_section): Use a read-only section
749 even if EH_FRAME_SECTION_NAME is undefined. Restrict special
750 collect2 labels to EH_FRAME_THROUGH_COLLECT2.
751 * except.c (switch_to_exception_section): Use a read-only section
752 even if EH_FRAME_SECTION_NAME is undefined.
753 * system.h (EH_FRAME_IN_DATA_SECTION): Poison.
754 * collect2.c (write_c_file_stat): Provide dbase on AIX.
755 (scan_prog_file): Don't export __dso_handle nor
756 __gcc_unwind_dbase.
757 * config/rs6000/aix.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
758 (EH_TABLES_CAN_BE_READ_ONLY): Define.
759 (ASM_OUTPUT_DWARF_PCREL): Define.
760 (ASM_OUTPUT_DWARF_DATAREL): Define.
761 (EH_FRAME_THROUGH_COLLECT2): Define.
762 (EH_FRAME_IN_DATA_SECTION): Delete.
763 * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtdbase.o.
764 * config/rs6000/rs6000-protos.h (rs6000_asm_output_dwarf_pcrel):
765 Declare.
766 (rs6000_asm_output_dwarf_datarel): Declare.
767 * config/rs6000/rs6000.c (rs6000_aix_asm_output_dwarf_pcrel): New.
768 (rs6000_aix_asm_output_dwarf_datarel): New.
769 (rs6000_xcoff_asm_init_sections): Don't set exception_section.
770 * config/spu/spu-elf.h (EH_FRAME_IN_DATA_SECTION): Delete.
771 (EH_FRAME_THROUGH_COLLECT2): Define.
772 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Delete.
773 (EH_FRAME_THROUGH_COLLECT2): Define.
774 (EH_TABLES_CAN_BE_READ_ONLY): Define.
775 * doc/tm.texi.in (EH_FRAME_IN_DATA_SECTION): Delete.
776 (EH_FRAME_THROUGH_COLLECT2): New.
777 (ASM_OUTPUT_DWARF_DATAREL): New.
778 * doc/tm.texi: Regenerate.
779
780 2015-09-18 Richard Biener <rguenther@suse.de>
781
782 * dwarf2out.c (append_entry_to_tmpl_value_parm_die_table): Assert
783 we're in early phase.
784 (schedule_generic_params_dies_gen): Likewise.
785 (gen_remaining_tmpl_value_param_die_attribute): Do only as much
786 work as possible, retaining unhandled cases.
787 (gen_scheduled_generic_parms_dies): Set early-dwarf flag and
788 clear out generic_type_instances at the end.
789 (dwarf2out_finish): Move call to gen_scheduled_generic_parms_dies...
790 (dwarf2out_early_finish): ... here. Do most of
791 gen_remaining_tmpl_value_param_die_attribute here.
792
793 2015-09-18 Alan Lawrence <alan.lawrence@arm.com>
794
795 PR tree-optimization/67283
796 * tree-sra.c (type_consists_of_records_p): Rename to...
797 (scalarizable_type_p): ...this, add case for ARRAY_TYPE.
798 (completely_scalarize_record): Rename to...
799 (completely_scalarize): ...this, add ARRAY_TYPE case, move some code to:
800 (scalarize_elem): New.
801 (analyze_all_variable_accesses): Follow renamings.
802
803 2015-09-18 Richard Biener <rguenther@suse.de>
804
805 * dwarf2out.c (add_location_or_const_value_attribute): Do nothing
806 in early-dwarf.
807
808 2015-09-18 Richard Biener <rguenther@suse.de>
809
810 PR tree-optimization/66142
811 * fold-const.c (operand_equal_p): When OEP_ADDRESS_OF
812 treat MEM[&x] and x the same.
813 * tree-ssa-sccvn.h (vn_reference_fold_indirect): Remove.
814 * tree-ssa-sccvn.c (vn_reference_fold_indirect): Return true
815 when we simplified sth.
816 (vn_reference_maybe_forwprop_address): Likewise.
817 (valueize_refs_1): When we simplified through
818 vn_reference_fold_indirect or vn_reference_maybe_forwprop_address
819 set valueized_anything to true.
820 (vn_reference_lookup_3): Use stmt_kills_ref_p to see whether
821 one ref kills the other instead of just a offset-based test.
822 * tree-ssa-alias.c (stmt_kills_ref_p): Use OEP_ADDRESS_OF
823 for the operand_equal_p test to compare bases and also compare
824 sizes.
825
826 2015-09-17 Christian Bruel <christian.bruel@st.com>
827
828 * config/arm/arm.md (*call_value_symbol): Fix operand for interworking.
829
830 2015-09-17 Richard Henderson <rth@redhat.com>
831
832 PR libstdc++/65913
833 * builtins.c (fold_builtin_atomic_always_lock_free): Handle fake
834 pointers that encode the alignment of the object.
835
836 2015-09-17 Eric Botcazou <ebotcazou@adacore.com>
837
838 PR rtl-optimization/66790
839 * df-problems.c (LIVE): Amend documentation.
840
841 2015-09-17 Richard Sandiford <richard.sandiford@arm.com>
842
843 * Makefile.in (OBJS): Add optabs-libfuncs.o, optabs-query.o
844 and optabs-tree.o.
845 (GTFILES): Replace optabs.c with optabs-libfunc.c.
846 * genopinit.c (main): Add an include guard to insn-opinit.h.
847 Protect the rtx_code parts with NUM_RTX_CODE.
848 * optabs.h: Split parts out to...
849 * optabs-libfuncs.h, optabs-query.h, optabs-tree.h: ...these new files.
850 * optabs.c: Split parts out to...
851 * optabs-libfuncs.c, optabs-query.c, optabs-tree.c: ...these new files.
852 * cilk-common.c: Include optabs-query.h rather than optabs.h.
853 * fold-const.c: Likewise.
854 * target-globals.c: Likewise.
855 * tree-if-conv.c: Likewise.
856 * tree-ssa-forwprop.c: Likewise.
857 * tree-ssa-loop-prefetch.c: Likewise.
858 * tree-ssa-math-opts.c: Include optabs-tree.h rather than optabs.h.
859 Remove unncessary include files.
860 * tree-ssa-phiopt.c: Likewise.
861 * tree-ssa-reassoc.c: Likewise.
862 * tree-switch-conversion.c: Likewise.
863 * tree-vect-data-refs.c: Likewise.
864 * tree-vect-generic.c: Likewise.
865 * tree-vect-loop.c: Likewise.
866 * tree-vect-patterns.c: Likewise.
867 * tree-vect-slp.c: Likewise.
868 * tree-vect-stmts.c: Likewise.
869 * tree-vrp.c: Likewise.
870 * toplev.c: Include optabs-query.h and optabs-libfuncs.h
871 rather than optabs.h.
872 * expr.c: Include optabs-tree.h.
873 * function.c: Likewise.
874
875 2015-09-17 Eric Botcazou <ebotcazou@adacore.com>
876
877 PR middle-end/65958
878 * config/arm/linux-elf.h (STACK_CHECK_STATIC_BUILTIN): Define.
879 * config/arm/arm-protos.h (output_probe_stack_range): Declare.
880 * config/arm/arm.c: Include common/common-target.h.
881 (use_return_insn): Return 0 if the static chain register was saved
882 above a non-APCS frame.
883 (arm_compute_static_chain_stack_bytes): Adjust for stack checking.
884 (struct scratch_reg): New.
885 (get_scratch_register_on_entry): New function.
886 (release_scratch_register_on_entry): Likewise.
887 (arm_emit_probe_stack_range): Likewise.
888 (output_probe_stack_range): Likewise.
889 (arm_expand_prologue): Factor out code dealing with the IP register
890 for nested function and adjust it for stack checking.
891 Invoke arm_emit_probe_stack_range if static builtin stack checking
892 is enabled.
893 (thumb1_expand_prologue): Sorry out if static builtin stack checking
894 is enabled.
895 (arm_expand_epilogue): Add the saved static chain register, if any, to
896 the amount of pre-pushed registers to pop.
897 (arm_frame_pointer_required): Return true if static stack checking is
898 enabled and we want to catch the exception with the EABI unwinder.
899 * config/arm/unspecs.md (UNSPEC_PROBE_STACK): New constant.
900 (UNSPEC_PROBE_STACK_RANGE): Likewise.
901 * config/arm/arm.md (probe_stack): New insn.
902 (probe_stack_range): Likewise.
903
904 2015-09-17 Richard Biener <rguenther@suse.de>
905
906 * genmatch.c (parser::parse_expr): Improve error message
907 for mis-placed flags.
908
909 2015-09-17 Richard Biener <rguenther@suse.de>
910
911 * passes.c (rest_of_decl_compilation): Always call early_global_decl
912 debug hook when we created a varpool node.
913 * dwarf2out.c (dwarf2out_late_global_decl): When in LTO call
914 dwarf2out_early_global_decl, when not just add location or
915 value attributes to existing DIEs.
916
917 2015-09-17 James Greenhalgh <james.greenhalgh@arm.com>
918
919 * config/aarch64/aarch64.md (copysigndf3): New.
920 (copysignsf3): Likewise.
921
922 2015-09-17 David S. Miller <davem@davemloft.net>
923
924 * config/sparc/sparc-protos.h (sparc_secondary_memory_needed): Declare.
925 * config/sparc/sparc.c (sparc_secondary_memory_needed): New function.
926 * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it.
927 (HARD_REGNO_CALLER_SAVE_MODE): Define.
928 * config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44)
929 (setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi)
930 (embmedany_losum, embmedany_brsum, embmedany_textuhi)
931 (embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not
932 provide when flag_pic.
933
934 2015-09-17 Kaz Kojima <kkojima@gcc.gnu.org>
935
936 * config/sh/sh.c (label_ref_list_d_pool): Adjust to
937 object_allocator change.
938
939 2015-09-17 Bin Cheng <bin.cheng@arm.com>
940
941 PR tree-optimization/66388
942 * tree-ssa-loop-ivopts.c (struct iv, iv_cand, ivopts_data): New fields.
943 (dump_iv): Dump no_overflow information.
944 (alloc_iv): Initialize new field for struct iv.
945 (mark_bivs): Count number of no_overflow bivs.
946 (find_deriving_biv_for_expr, record_biv_for_address_use): New
947 functions.
948 (idx_find_step): Call new functions above.
949 (add_candidate_1, add_candidate): New paramter.
950 (add_iv_candidate_for_biv): Add sizetype cand for BIV.
951 (get_computation_aff): Simplify convertion of cand for BIV.
952 (get_computation_cost_at): Step cand's base if necessary.
953
954 2015-09-17 Bin Cheng <bin.cheng@arm.com>
955
956 * tree-ssa-loop-niter.c (tree_simplify_using_condition_1): New
957 parameter.
958 (tree_simplify_using_condition): Ditto.
959 (simplify_using_initial_conditions): Ditto.
960 (loop_exits_before_overflow): Pass new argument to function
961 simplify_using_initial_conditions. Remove case for type conversions
962 simplification.
963 * tree-ssa-loop-niter.h (simplify_using_initial_conditions): New
964 parameter.
965 * tree-scalar-evolution.c (simple_iv): Simplify type conversions
966 in iv base using loop initial conditions.
967
968 2015-09-16 Jeff Law <law@redhat.com>
969
970 PR tree-optimization/47679
971 * tree-ssa-dom.c (free_edge_info): Factored out of free_all_edge_infos.
972 (free_all_edge_infos): Use it.
973 (allocate_edge_info): Free preexisting edge info data.
974 (pass_dominator::execute): Set up initial edge info structures.
975 (dom_opt_dom_walker::thread_across_edge): Pass avail_expr_stack to
976 thread_across_edge.
977 * tree-ssa-threadedge.c (thread_across_edge): Accept new argument.
978 If non-null, then push/pop markers appropriately.
979 * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
980 * tree-vrp.c (identify_jump_threads): Pass NULL for new argument to
981 thread-across_edge.
982
983 2015-09-16 James Bowman <james.bowman@ftdichip.com>
984
985 * config/ft32/ft32.c: Fix the memory address space predicate.
986
987 2015-09-16 Kaz Kojima <kkojima@gcc.gnu.org>
988
989 PR target/67573
990 * config/sh/sh.md (call_pcrel): Add early clobber to scratch operand.
991 (call_value_pcrel, sibcall_pcrel, sibcall_value_pcrel): Likewise.
992
993 2015-09-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
994
995 * toplev.h (check_global_declaration): Remove declaration.
996 * toplev.c (check_global_declaration): Move to ...
997 * cgraphunit.c: ... here. Make it static and pass a symtab_node *.
998 (analyze_functions): Update call.
999
1000 2015-09-16 David S. Miller <davem@davemloft.net>
1001
1002 * lra-constraints.c (simplify_operand_subreg): Do not assume that
1003 lowpart of a SUBREG has offset zero.
1004
1005 2015-09-16 Jeff Law <law@redhat.com>
1006
1007 PR tree-optimization/47679
1008 * tree-ssa-dom.c (enum expr_kind): Moved from here to
1009 tree-ssa-scopedtables.h.
1010 (struct hashable_expr, class expr_hash_elt): Likewise.
1011 (struct expr_elt_hasher, class avail_exprs_stack): Likewise.
1012 Move associated methods into tree-ssa-scopedtables.c.
1013 (avail_expr_hash, initialize_expr_from_cond): Similarly.
1014 (hashable_expr_equal_p, add_expr_commutative): Likewise.
1015 (add_hashable_expr): Likewise.
1016 (record_cond): Delete element directly.
1017 * tree-ssa-scopedtables.h (avail_expr_stack, const_and_copies): Add
1018 private copy ctor and assignment operator methods.
1019 (expr_elt_hasher): Inline trivial methods.
1020 (initialize_expr_from_cond): Prototype.
1021 * tree-ssa-scopedtables.c: Add necessary includes, functions and
1022 methods that were previously in tree-ssa-dom.c. Improve various
1023 comments.
1024
1025 2015-09-16 Paolo Carlini <paolo.carlini@oracle.com>
1026
1027 * doc/invoke.texi ([Wsubobject-linkage]): Extend documentation.
1028
1029 2015-09-16 Segher Boessenkool <segher@kernel.crashing.org>
1030
1031 PR bootstrap/67587
1032 * function.c (rest_of_handle_thread_prologue_and_epilogue): Call
1033 fixup_partitions.
1034
1035 2015-09-16 Richard Biener <rguenther@suse.de>
1036
1037 PR middle-end/67253
1038 * cfgexpand.c (expand_gimple_stmt_1): Do not clobber
1039 location of possibly shared trees.
1040
1041 2015-09-16 Richard Biener <rguenther@suse.de>
1042
1043 PR middle-end/67271
1044 * fold-const.c (native_encode_expr): Bail out on bogus offsets.
1045
1046 2015-09-16 Eric Botcazou <ebotcazou@adacore.com>
1047
1048 * tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Use offset_int for
1049 offset and size computations instead of HOST_WIDE_INT.
1050
1051 2015-09-16 Richard Biener <rguenther@suse.de>
1052
1053 PR middle-end/67442
1054 * fold-const.c (extract_muldiv_1): Properly extend multiplication
1055 result before builting a tree via wide_int_to_tree.
1056
1057 2015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
1058
1059 * Makefile.in: Add memory-block.cc
1060 (pool_allocator::initialize): Use fixed block size.
1061 (pool_allocator::release): Use memory_block_pool.
1062 (pool_allocator::allocate): Likewise.
1063 * asan.c (asan_mem_ref_pool): Adjust to use common block size in all
1064 object pools.
1065 * cfg.c (initialize_original_copy_tables): Likewise.
1066 * cselib.c (elt_list_pool, elt_loc_list_pool,
1067 cselib_val_pool): Likewise.
1068 * df-problems.c (df_chain_alloc): Likewise.
1069 * df-scan.c (df_scan_alloc): Likewise.
1070 * dse.c (cse_store_info_pool, rtx_store_info_pool,
1071 read_info_type_pool, insn_info_type_pool, bb_info_pool,
1072 group_info_pool, deferred_change_pool): Likewise.
1073 * et-forest.c (et_nodes, et_occurrences): Likewise.
1074 * ipa-cp.c (ipcp_cst_values_pool, ipcp_sources_pool,
1075 ipcp_agg_lattice_pool): Likewise.
1076 * ipa-inline-analysis.c (edge_predicate_pool): Likewise.
1077 * ipa-profile.c (histogram_pool): Likewise.
1078 * ipa-prop.c (ipa_refdesc_pool): Likewise.
1079 * ira-build.c (live_range_pool, allocno_pool, object_pool,
1080 initiate_cost_vectors, pref_pool, copy_pool): Likewise.
1081 * ira-color.c (update_cost_record_pool): Likewise.
1082 * lra-lives.c (lra_live_range_pool): Likewise.
1083 * lra.c (lra_insn_reg_pool, lra_copy_pool): Likewise.
1084 * memory-block.cc: New file.
1085 * memory-block.h: New file.
1086 * regcprop.c (queued_debug_insn_change_pool): Use common block size.
1087 * sched-deps.c (sched_deps_init): Likewise.
1088 * sel-sched-ir.c (sched_lists_pool): Likewise.
1089 * stmt.c (expand_case, expand_sjlj_dispatch_table): Likewise.
1090 * tree-sra.c (access_pool): Likewise.
1091 * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise.
1092 * tree-ssa-pre.c (pre_expr_pool, bitmap_set_pool): Likewise.
1093 * tree-ssa-reassoc.c (operand_entry_pool): Likewise.
1094 * tree-ssa-sccvn.c (allocate_vn_table): Likewise.
1095 * tree-ssa-strlen.c (strinfo_pool): Likewise.
1096 * tree-ssa-structalias.c (variable_info_pool): Likewise.
1097 * var-tracking.c (attrs_def_pool, var_pool, valvar_pool,
1098 location_chain_pool, shared_hash_pool, loc_exp_dep_pool): Likewise.
1099
1100 2015-09-15 Max Filippov <jcmvbkbc@gmail.com>
1101
1102 * config/xtensa/xtensa.h (DWARF_ALT_FRAME_RETURN_COLUMN): New
1103 definition.
1104 (DWARF_FRAME_REGISTERS): Reserve space for one extra register in
1105 call0 ABI.
1106
1107 2015-09-15 Max Filippov <jcmvbkbc@gmail.com>
1108
1109 * config/xtensa/xtensa.c (xtensa_call_tls_desc): Use a10 or a2
1110 to pass TLS call argument, according to current ABI.
1111 * config/xtensa/xtensa.md (tls_call pattern): Use callx8 or
1112 callx0 for TLS call, according to current ABI.
1113
1114 2015-09-15 Eric Botcazou <ebotcazou@adacore.com>
1115
1116 * tree-eh.c (lower_try_finally_dup_block): Clear location information
1117 on stack restore statements.
1118 (decide_copy_try_finally): Do not consider a stack restore statement as
1119 coming from sources.
1120
1121 2015-09-15 Uros Bizjak <ubizjak@gmail.com>
1122
1123 * config/alpha/alpha.c (alpha_expand_block_clear): Use
1124 HOST_WIDE_INT_M1U instead of ~(HOST_WIDE_INT)0 when shifting.
1125
1126 2015-09-15 Jeff Law <law@redhat.com>
1127
1128 PR tree-optimization/47679
1129 * tree-ssa-dom.c (expr_hash_elt): Now a class with ctors/dtors,
1130 methods and private members.
1131 (avail_exprs_stack): Similarly. Change type of global
1132 from a pair of expr_hash_elt_t to the new class.
1133 (expr_elt_hasher::hash): Corresponding changes.
1134 (expr_elt_hasher::equal): Similarly.
1135 (avail_expr_hash): Similarly.
1136 (pass_dominator::execute): Similarly.
1137 (dom_opt_dom_walker::thread_across_edge): Similarly.
1138 (record_cond): Similarly.
1139 (dom_opt_dom_walker::before_dom_children): Similarly.
1140 (dom_opt_dom_walker::after_dom_children): Similarly.
1141 (lookup_avail_expr): Likewise.
1142 (initialize_hash_element): Now a expr_hash_elt constructor.
1143 (initialize_hash_element_from_expr): Similarly.
1144 (free_expr_hash_elt_contents): Now a dtor for class expr_hash_elt.
1145 (free_expr_hash_elt): Call dtor for the element.
1146 (remove_local_expressions_from_table): Now the "pop_to_marker"
1147 method in the available_exprs_stack class.
1148 (avail_expr_stack::record_expr): Method factored out.
1149 (print_expr_hash_elt): Now a method in the expr_hash_elt class.
1150 Fix formatting.
1151 (hashable_expr_equal_p): Fix formatting.
1152
1153 2015-09-15 David Malcolm <dmalcolm@redhat.com>
1154
1155 * input.h (location_get_source_line): Drop "expanded_location"
1156 param in favor of a file and line number.
1157 * input.c (location_get_source_line): Likewise.
1158 (dump_location_info): Update for change in signature of
1159 location_get_source_line.
1160 * diagnostic.c (diagnostic_print_caret_line): Likewise.
1161
1162 2015-09-15 Eric Botcazou <ebotcazou@adacore.com>
1163
1164 * defaults.h (STACK_OLD_CHECK_PROTECT): Adjust for -fno-exceptions.
1165 Bump to 4KB for SJLJ exceptions.
1166 (STACK_CHECK_PROTECT): Likewise. Bump to 8KB for SJLJ exceptions.
1167 * doc/tm.texi.in (STACK_CHECK_PROTECT): Adjust.
1168 * doc/tm.texi: Regenerate.
1169
1170 2015-09-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1171
1172 * config/arm/arm.c (arm_gen_constant): Use HOST_WIDE_INT_M1U instead
1173 of -1 when shifting. Change type of val to unsigned HOST_WIDE_INT.
1174 Update prototype.
1175
1176 2015-09-15 Richard Biener <rguenther@suse.de>
1177
1178 PR tree-optimization/67470
1179 * tree-ssa-loop-im.c (execute_sm_if_changed): Preserve PHI
1180 structure for PHI hoisting by inserting a forwarder block
1181 if appropriate.
1182
1183 2015-09-15 Christian Bruel <christian.bruel@st.com>
1184
1185 * config/arm/arm.c (TARGET_OPTION_PRINT): Define.
1186 (arm_option_print): New function.
1187
1188 2015-09-15 Christian Bruel <christian.bruel@st.com>
1189
1190 PR target/52144
1191 * config/arm/arm.c (arm_option_params_internal): Remove opts parameter.
1192 * config/arm/arm-c.c (arm_cpu_builtins): Declare static.
1193 Remove flags parameter.
1194 * config/arm/arm.h (TARGET_32BIT_P, TARGET_ARM_QBIT_P)
1195 (TARGET_ARM_SAT_P, TARGET_IDIV_P, TARGET_HAVE_LDREX_P)
1196 (TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P, TARGET_DSP_MULTIPLY_P)
1197 (TARGET_ARM_FEATURE_LDREX_P, TARGET_INT_SIMD_P): Redefine macros with...
1198 (TARGET_ARM_SAT, TARGET_IDIV, TARGET_HAVE_LDREX)
1199 (TARGET_HAVE_LDREXBH, TARGET_HAVE_LDREXD, TARGET_ARM_FEATURE_LDREX)
1200 (TARGET_DSP_MULTIPLY, TARGET_INT_SIMD): Redefined macros.
1201 * gcc/config/arm/arm-protos.h (arm_cpu_builtins): Remove declaration.
1202
1203 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
1204
1205 * config/aarch64/aarch64.h (AARCH64_VALID_SIMD_DREG_MODE): New.
1206
1207 * config/aarch64/aarch64.c (aarch64_array_mode_supported_p): Add
1208 AARCH64_VALID_SIMD_DREG_MODE.
1209
1210 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
1211
1212 * config/aarch64/aarch64-simd.md (aarch64_ld2r<mode>,
1213 aarch64_ld3r<mode>, aarch64_ld4r<mode>): Combine together, making...
1214 (aarch64_simd_ld<VSTRUCT:nregs>r<VALLDIF:mode>): ...this.
1215 (aarch64_ld2_lane<mode>, aarch64_ld3_lane<mode>,
1216 aarch64_ld4_lane<mode>): Combine together, making...
1217 (aarch64_ld<VSTRUCT:nregs>_lane<VALLDIF:mode>): ...this.
1218 (aarch64_st2_lane<mode>, aarch64_st3_lane<mode>,
1219 aarch64_st4_lane<mode>): Combine together, making...
1220 (aarch64_st<VSTRUCT:nregs>_lane<VALLDIF:mode>): ...this.
1221 * config/aarch64/iterators.md (nregs): Add comment.
1222
1223 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
1224
1225 * config/aarch64/aarch64-simd.md (aarch64_simd_ld2r<mode>):
1226 Change operand mode from <V_TWO_ELEM> to BLK.
1227 (aarch64_vec_load_lanesoi_lane<mode>): Likewise.
1228 (aarch64_vec_store_lanesoi_lane<mode): Likewise
1229 (aarch64_ld2r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
1230 (aarch64_ld2_lane<mode>): Likewise.
1231 (aarch64_st2_lane<VQ:mode>): Likewise.
1232 * config/aarch64/iterators.md (V_TWO_ELEM): Remove.
1233
1234 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
1235
1236 * config/aarch64/aarch64-simd.md (aarch64_simd_ld4r<mode>):
1237 Change operand mode from <V_FOUR_ELEM> to BLK.
1238 (aarch64_vec_load_lanesxi_lane<mode>): Likewise.
1239 (aarch64_vec_store_lanesxi_lane<mode): Likewise.
1240 (aarch64_ld4r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
1241 (aarch64_ld4_lane<mode>): Likewise.
1242 (aarch64_st4_lane<mode>): Likewise.
1243 * config/aarch64/iterators.md (V_FOUR_ELEM): Remove.
1244
1245 2015-09-15 Richard Biener <rguenther@suse.de>
1246
1247 PR middle-end/67563
1248 * gimple-fold.c (gimplify_and_update_call_from_tree): Do not
1249 transfer EH info from old to new stmt.
1250 (replace_call_with_value): Likewise.
1251 (replace_call_with_call_and_fold): Likewise.
1252 (gimple_fold_builtin_memory_op): Likewise.
1253 (gimple_fold_builtin_memset): Likewise.
1254 (gimple_fold_builtin_stpcpy): Likewise.
1255 (gimple_fold_call): Likewise.
1256
1257 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
1258
1259 * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist): Update
1260 comment.
1261 * config/aarch64/aarch64-builtins.c (ei_UP): Remove.
1262 (aarch64_simd_intEI_type_node): Likewise.
1263 (aarch64_simd_builtin_std_type): Remove EImode case.
1264 (aarch64_init_simd_builtin_types): Don't create/add intEI_type_node.
1265 * config/aarch64/aarch64-modes.def: Remove EImode.
1266
1267 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
1268
1269 * config/aarch64/aarch64-simd.md (aarch64_simd_ld3r<mode>):
1270 Change operand mode from <V_THREE_ELEM> to BLK.
1271 (aarch64_vec_load_lanesci_lane<mode>): Likewise.
1272 (aarch64_vec_store_lanesci_lane<mode>): Likewise.
1273 (aarch64_ld3r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
1274 (aarch64_ld3_lane<mode>): Likewise.
1275 (aarch64_st3_lane<mode>): Likewise.
1276 * config/aarch64/iterators.md (V_THREE_ELEM): Remove.
1277
1278 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
1279
1280 * config/aarch64/aarch64-simd.md
1281 (aarch64_ld2<mode>_dreg VD & DX, aarch64_st2<mode>_dreg VD & DX ):
1282 Change all TImode operands to BLKmode.
1283 (aarch64_ld3<mode>_dreg VD & DX, aarch64_st3<mode>_dreg VD & DX):
1284 Change all EImode operands to BLKmode.
1285 (aarch64_ld4<mode>_dreg VD & DX, aarch64_st4<mode>_dreg VD & DX):
1286 Change all OImode operands to BLKmode.
1287
1288 (aarch64_ld<VSTRUCT:nregs><VDC:mode>): Generate MEM rtx with BLKmode
1289 and call set_mem_size.
1290 (aarch64_st<VSTRUCT:nregs><VDC:mode>): Likewise.
1291
1292 * config/aarch64/iterators.md (VSTRUCT_DREG): Remove.
1293
1294 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
1295
1296 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): Rename
1297 to...
1298 (aarch64_vec_store_lanesoi_lane<mode>): ...this.
1299
1300 (vec_store_lanesci_lane<mode>): Rename to...
1301 (aarch64_vec_store_lanesci_lane<mode>): ...this.
1302
1303 (vec_store_lanesxi_lane<mode>): Rename to...
1304 (aarch64_vec_store_lanesxi_lane<mode>): ...this.
1305
1306 (aarch64_st2_lane<mode>, aarch64_st3_lane<mode>,
1307 aarch64_st4_lane<mode>): Follow renaming.
1308
1309 2015-09-15 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1310
1311 * config/s390/s390.c (s390_const_operand_ok): Add missing
1312 brackets.
1313
1314 2015-09-15 Richard Biener <rguenther@suse.de>
1315
1316 PR lto/67568
1317 * lto-streamer.h (lto_location_cache::current_sysp): Properly
1318 initialize.
1319 * lto-streamer-out.c (clear_line_info): Likewise.
1320
1321 2015-09-15 Richard Biener <rguenther@suse.de>
1322
1323 * doc/match-and-simplify.texi: Fix wording.
1324
1325 2015-09-15 Bin Cheng <bin.cheng@arm.com>
1326
1327 * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Strip
1328 unnecessary type conversion in op1.
1329
1330 2015-09-14 Segher Boessenkool <segher@kernel.crashing.org>
1331
1332 * shrink-wrap.c (requires_stack_frame_p): Fix formatting.
1333 (dup_block_and_redirect): Delete function.
1334 (can_dup_for_shrink_wrapping): New function.
1335 (fix_fake_fallthrough_edge): New function.
1336 (try_shrink_wrapping): Rewrite function.
1337 (convert_to_simple_return): Call fix_fake_fallthrough_edge.
1338
1339 2015-09-14 Rich Felker <dalias@libc.org>
1340
1341 * configure.ac: Change target pattern for sh TLS support
1342 test from "sh[34]-*-*" to "sh[123456789lbe]*-*-*".
1343 * configure: Regenerate.
1344
1345 2015-09-14 Jeff Law <law@redhat.com>
1346
1347 PR tree-optimization/47679
1348 * tree-ssa-dom.c (avail_expr_hash): Pass a pointer to a real
1349 type rather than void *.
1350
1351 2015-09-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
1352
1353 PR fortran/67460
1354 * diagnostic.c (diagnostic_initialize): Do not set
1355 some_warnings_are_errors.
1356 (diagnostic_finish): Use DK_WERROR count instead.
1357 (diagnostic_report_diagnostic): Do not set
1358 some_warnings_are_errors.
1359 * diagnostic.h (struct diagnostic_context): Remove
1360 some_warnings_are_errors.
1361
1362 2015-09-14 Richard Sandiford <richard.sandiford@arm.com>
1363
1364 * config/sparc/predicates.md (const_all_ones_operand): Use
1365 CONSTM1_RTX to simplify definition.
1366
1367 2015-09-14 Oleg Endo <olegendo@gcc.gnu.org>
1368
1369 PR target/67061
1370 * config/sh/sh-protos.h (sh_find_set_of_reg): Simplfiy for-loop.
1371 Handle call insns.
1372
1373 2015-09-14 Chung-Lin Tang <cltang@codesourcery.com>
1374
1375 * lto-wrapper.c (merge_and_complain): Add OPT_fdiagnostics_show_caret,
1376 OPT_fdiagnostics_show_option, OPT_fdiagnostics_show_location_, and
1377 OPT_fshow_column to handled saved option cases.
1378 (append_compiler_options): Do not skip the above added options.
1379
1380 2015-09-14 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1381
1382 PR target/63304
1383 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Handle
1384 nopcrelative_literal_loads.
1385 (aarch64_classify_address): Likewise.
1386 (aarch64_constant_pool_reload_icode): Define.
1387 (aarch64_secondary_reload): Handle secondary reloads for
1388 literal pools.
1389 (aarch64_override_options): Handle nopcrelative_literal_loads.
1390 (aarch64_classify_symbol): Handle nopcrelative_literal_loads.
1391 * config/aarch64/aarch64.md (aarch64_reload_movcp<GPF_TF:mode><P:mode>):
1392 Define.
1393 (aarch64_reload_movcp<VALL:mode><P:mode>): Likewise.
1394 * config/aarch64/aarch64.opt (mpc-relative-literal-loads): New option.
1395 * config/aarch64/predicates.md (aarch64_constant_pool_symref): New
1396 predicate.
1397 * doc/invoke.texi (mpc-relative-literal-loads): Document.
1398
1399 2015-09-14 John David Anglin <danglin@gcc.gnu.org>
1400
1401 PR middle-end/67401
1402 * optabs.c (expand_atomic_compare_and_swap): Move result of emitting
1403 sync_compare_and_swap_optab libcall to target_oval.
1404
1405 2015-09-14 Marek Polacek <polacek@redhat.com>
1406
1407 * rtlanal.c (split_double): Cast to unsigned when shifting a negative
1408 value.
1409 * sched-int.h (UNKNOWN_DEP_COST): Likewise.
1410
1411 2015-09-11 Mark Wielaard <mjw@redhat.com>
1412
1413 PR c/28901
1414 * toplev.c (check_global_declaration): Check and use
1415 warn_unused_const_variable.
1416 * doc/invoke.texi (Warning Options): Add -Wunused-const-variable.
1417 (-Wunused-variable): Remove non-constant. For C implies
1418 -Wunused-const-variable.
1419 (-Wunused-const-variable): New.
1420
1421 2015-09-14 Richard Biener <rguenther@suse.de>
1422
1423 * doc/match-and-simplify.texi: Update for changed syntax
1424 of inner ifs and the new switch expression.
1425
1426 2015-09-14 Yuri Rumyantsev <ysrumyan@gmail.com>
1427
1428 * config/i386/haswell.md: New file describing Haswell pipeline.
1429 * config/i386/i386.c (processor_alias_table): Use CPU_HASWELL for
1430 haswell-like processors.
1431 (ix86_reassociation_width): Increase reassociation width for 64-bit
1432 Haswell processor family.
1433 * config/i386/i386.md: Introduce haswell cpu and include new md file.
1434
1435 2015-09-14 Richard Biener <rguenther@suse.de>
1436
1437 * doc/match-and-simplify.texi: Fixup some formatting issues
1438 and document the 's' flag.
1439
1440 2015-09-13 Olivier Hainque <hainque@adacore.com>
1441 Eric Botcazou <ebotcazou@adacore.com>
1442
1443 * config.gcc (visium-*-*): Enable --with-cpu option, accept gr5 and
1444 gr6 as possible values, defaulting to gr5. Set target_cpu_default2.
1445 * config/visium/visium.h (OPTION_DEFAULT_SPECS): Define.
1446 (TARGET_CPU_gr5): Likewise.
1447 (TARGET_CPU_gr6): Likewise.
1448 (MULTILIB_DEFAULTS): Likewise.
1449 * config/visium/t-visium (MULTILIB_OPTIONS): Request distinct variants
1450 for mcpu=gr5 and mcpu=gr6.
1451 (MULTILIB_DIRNAMES): Adjust accordingly.
1452
1453 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1454
1455 * tree-ssa-loop-im.c (mem_ref_loc_p): Remove typedef.
1456 (mem_ref_p): Likewise.
1457 (outermost_indep_loop): Adjust.
1458 (mem_ref_in_stmt): Likewise.
1459 (determine_max_movement): Likewise.
1460 (mem_ref_alloc): Likewise.
1461 (record_mem_ref_loc): Likewise.
1462 (set_ref_stored_in_loop): Likewise.
1463 (mark_ref_stored): Likewise.
1464 (gather_mem_refs_stmt): Likewise.
1465 (mem_refs_may_alias_p): Likewise.
1466 (for_all_locs_in_loop): Likewise.
1467 (struct rewrite_mem_ref_loc): Likewise.
1468 (rewrite_mem_refs): Likewise.
1469 (struct first_mem_ref_loc_1): Likewise.
1470 (first_mem_ref_loc): Likewise.
1471 (struct sm_set_flag_if_changed): Likewise.
1472 (execute_sm_if_changed_flag_set): Likewise.
1473 (execute_sm): Likewise.
1474 (hoist_memory_references):
1475 (struct ref_always_accessed): Likewise.
1476 (ref_always_accessed_p): Likewise.
1477 (refs_independent_p): Likewise.
1478 (record_dep_loop): Likewise.
1479 (ref_indep_loop_p_1): Likewise.
1480 (ref_indep_loop_p_2): Likewise.
1481 (ref_indep_loop_p): Likewise.
1482 (can_sm_ref_p): Likewise.
1483 (find_refs_for_sm): Likewise.
1484 (tree_ssa_lim_finalize): Likewise.
1485
1486 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1487
1488 * dwarf2out.c (dw_attr_ref): Remove typedef.
1489 (dw_line_info_ref): Likewise.
1490 (pubname_ref): Likewise.
1491 (dw_ranges_ref): Likewise.
1492 (dw_ranges_by_label_ref): Likewise.
1493 (comdat_type_node_ref): Likewise.
1494 (get_AT): Adjust.
1495 (get_AT_low_pc): Likewise.
1496 (get_AT_hi_pc): Likewise.
1497 (get_AT_string): Likewise.
1498 (get_AT_flag): Likewise.
1499 (get_AT_unsigned): Likewise.
1500 (get_AT_ref): Likewise.
1501 (get_AT_file): Likewise.
1502 (remove_AT): Likewise.
1503 (print_die): Likewise.
1504 (check_die): Likewise.
1505 (die_checksum): Likewise.
1506 (attr_checksum_ordered): Likewise.
1507 (struct checksum_attributes): Likewise.
1508 (collect_checksum_attributes): Likewise.
1509 (die_checksum_ordered): Likewise.
1510 (same_die_p): Likewise.
1511 (is_declaration_die): Likewise.
1512 (clone_die): Likewise.
1513 (clone_as_declaration): Likewise.
1514 (copy_declaration_context): Likewise.
1515 (break_out_comdat_types): Likewise.
1516 (copy_decls_walk): Likewise.
1517 (output_location_lists): Likewise.
1518 (external_ref_hasher::hash): Likewise.
1519 (optimize_external_refs_1): Likewise.
1520 (build_abbrev_table): Likewise.
1521 (size_of_die): Likewise.
1522 (unmark_all_dies): Likewise.
1523 (size_of_pubnames): Likewise.
1524 (output_die_abbrevs): Likewise.
1525 (output_die): Likewise.
1526 (output_pubnames): Likewise.
1527 (add_ranges_num): Likewise.
1528 (add_ranges_by_labels): Likewise.
1529 (add_high_low_attributes): Likewise.
1530 (gen_producer_string): Likewise.
1531 (dwarf2out_set_name): Likewise.
1532 (new_line_info_table): Likewise.
1533 (prune_unused_types_walk_attribs): Likewise.
1534 (prune_unused_types_update_strings): Likewise.
1535 (prune_unused_types): Likewise.
1536 (resolve_addr): Likewise.
1537 (optimize_location_lists_1): Likewise.
1538 (index_location_lists): Likewise.
1539 (dwarf2out_finish): Likewise.
1540
1541 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1542
1543 * dwarf2cfi.c (dw_trace_info_ref): Remove typedef.
1544
1545 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1546
1547 * tree-vrp.c (struct assert_locus_d): Rename to assert_locus.
1548 (dump_asserts_for): Adjust.
1549 (register_new_assert_for): Likewise.
1550 (process_assert_insertions): Likewise.
1551 (insert_range_assertions): Likewise.
1552
1553 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1554
1555 * tree-ssa-ter.c (temp_expr_table_d): Rename to temp_expr_table
1556 and remove typedef.
1557 (new_temp_expr_table): Adjust.
1558 (free_temp_expr_table): Likewise.
1559 (version_to_be_replaced_p): Likewise.
1560 (make_dependent_on_partition): Likewise.
1561 (add_to_partition_kill_list): Likewise.
1562 (remove_from_partition_kill_list): Likewise.
1563 (add_dependence): Likewise.
1564 (finished_with_expr): Likewise.
1565 (process_replaceable): Likewise.
1566 (kill_expr): Likewise.
1567 (kill_virtual_exprs): Likewise.
1568 (mark_replaceable): Likewise.
1569 (find_replaceable_in_bb): Likewise.
1570 (find_replaceable_exprs): Likewise.
1571 (debug_ter): Likewise.
1572
1573 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1574
1575 * bt-load.c (struct btr_def_group): Rename from btr_def_group_s.
1576 (struct btr_user): Rename from btr_user_s.
1577 (struct btr_def): Rename from btr_def_s.
1578 (find_btr_def_group): Adjust.
1579 (add_btr_def): Likewise.
1580 (new_btr_user): Likewise.
1581 (note_other_use_this_block): Likewise.
1582 (compute_defs_uses_and_gen): Likewise.
1583 (link_btr_uses): Likewise.
1584 (build_btr_def_use_webs): Likewise.
1585 (block_at_edge_of_live_range_p): Likewise.
1586 (btr_def_live_range): Likewise.
1587 (combine_btr_defs): Likewise.
1588 (move_btr_def): Likewise.
1589 (migrate_btr_def): Likewise.
1590 (migrate_btr_defs): Likewise.
1591
1592 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1593
1594 * var-tracking.c (shared_hash_def): Rename to shared_hash.
1595 (shared_hash): Remove typedef.
1596 (struct dataflow_set): Adjust.
1597 (shared_hash_unshare): Likewise.
1598 (dataflow_set_merge): Likewise.
1599 (vt_initialize): Likewise.
1600 (vt_finalize): Likewise.
1601
1602 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1603
1604 * var-tracking.c (struct location_chain): Rename from
1605 location_chain_def.
1606 (struct variable_part): Adjust.
1607 (variable_htab_free): Likewise.
1608 (unshare_variable): Likewise.
1609 (get_init_value): Likewise.
1610 (get_addr_from_local_cache): Likewise.
1611 (drop_overlapping_mem_locs): Likewise.
1612 (val_reset): Likewise.
1613 (struct variable_union_info): Likewise.
1614 (variable_union): Likewise.
1615 (find_loc_in_1pdv): Likewise.
1616 (insert_into_intersection): Likewise.
1617 (intersect_loc_chains): Likewise.
1618 (canonicalize_loc_order_check): Likewise.
1619 (canonicalize_values_mark): Likewise.
1620 (canonicalize_values_star): Likewise.
1621 (canonicalize_vars_star): Likewise.
1622 (variable_merge_over_cur): Likewise.
1623 (remove_duplicate_values): Likewise.
1624 (variable_post_merge_new_vals): Likewise.
1625 (variable_post_merge_perm_vals): Likewise.
1626 (find_mem_expr_in_1pdv): Likewise.
1627 (dataflow_set_preserve_mem_locs): Likewise.
1628 (dataflow_set_remove_mem_locs): Likewise.
1629 (variable_part_different_p): Likewise.
1630 (onepart_variable_different_p): Likewise.
1631 (find_src_set_src): Likewise.
1632 (dump_var): Likewise.
1633 (set_slot_part): Likewise.
1634 (clobber_slot_part): Likewise.
1635 (delete_slot_part): Likewise.
1636 (vt_expand_var_loc_chain): Likewise.
1637 (emit_note_insn_var_location): Likewise.
1638 (vt_finalize): Likewise.
1639
1640 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1641
1642 * dse.c (store_info_t): Remove typedef.
1643 (group_info_t): Likewise.
1644 (const_group_info_t): Likewise.
1645 (deferred_change_t): Likewise.
1646 (get_group_info): Adjust.
1647 (free_store_info): Likewise.
1648 (canon_address): Likewise.
1649 (clear_rhs_from_active_local_stores): Likewise.
1650 (record_store): Likewise.
1651 (replace_read): Likewise.
1652 (check_mem_read_rtx): Likewise.
1653 (scan_insn): Likewise.
1654 (remove_useless_values): Likewise.
1655 (dse_step1): Likewise.
1656 (dse_step2_init): Likewise.
1657 (dse_step2_nospill): Likewise.
1658 (scan_stores_nospill): Likewise.
1659 (scan_reads_nospill): Likewise.
1660 (dse_step3_exit_block_scan): Likewise.
1661 (dse_step3): Likewise.
1662 (dse_step5_nospill): Likewise.
1663 (dse_step6): Likewise.
1664
1665 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1666
1667 * alias.c (alias_set_entry_d): Rename to alias_set_entry.
1668 (alias_set_entry): Remove typedef.
1669 (alias_set_subset_of): Adjust.
1670 (alias_sets_conflict_p): Likewise.
1671 (init_alias_set_entry): Likewise.
1672 (get_alias_set): Likewise.
1673 (new_alias_set): Likewise.
1674 (record_alias_subset): Likewise.
1675
1676 2015-09-13 Gerald Pfeifer <gerald@pfeifer.com>
1677
1678 * doc/install.texi (Downloading the source): Mark up
1679 contrib/download_prerequisites properly and drop leading "./".
1680
1681 2015-09-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1682
1683 * config/arc/arc.h: Remove define of STRUCT_VALUE.
1684 * config/lm32/lm32.h: Likewise.
1685 * config/mep/mep.h: Likewise.
1686 * config/visium/visium.h: Likewise.
1687 * system.h: Poison STRUCT_VALUE macro.
1688
1689 2015-09-12 John David Anglin <danglin@gcc.gnu.org>
1690
1691 * config/pa/pa.c (pa_output_move_double): Enhance to handle HIGH
1692 CONSTANT_P operands.
1693
1694 2015-09-11 David S. Miller <davem@davemloft.net>
1695
1696 * config/sparc/constraints.md: Make "U" constraint a real register
1697 constraint.
1698 * config/sparc/sparc.c (TARGET_LRA_P): Define.
1699 (D_MODES, DF_MODES): Add missing cast.
1700 (TF_MODES, TF_MODES_NO_S): Include T_MODE.
1701 (OF_MODES, OF_MODES_NO_S): Include O_MODE.
1702 (sparc_register_move_cost): Decrease Niagara/UltrsSPARC memory
1703 cost to 8.
1704 * config/sparc/sparc.h (PROMOTE_MODE): Define.
1705 * config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not
1706 provide these insn when flag_pic.
1707
1708 2015-09-11 Jeff Law <law@redhat.com>
1709
1710 PR tree-optimization/47679
1711 * tree-ssa-dom.c (struct cond_equivalence): Update comment.
1712 * tree-ssa-scopedtables.h (class const_and_copies): Prefix data
1713 member with m_. Update inline member functions as necessary. Add
1714 toplevel comment.
1715 * tree-ssa-scopedtables.c: Update const_and_copies's member
1716 functions to use m_ prefix to access the stack.
1717
1718 2015-09-11 Aditya Kumar <aditya.k7@samsung.com>
1719
1720 * graphite-optimize-isl.c (disable_tiling): Remove.
1721 (get_schedule_for_band): Do not use disable_tiling.
1722 (get_prevector_map): Delete function.
1723 (enable_polly_vector): Remove.
1724 (get_schedule_for_band_list): Remove dead code.
1725
1726 2015-09-11 Aditya Kumar <aditya.k7@samsung.com>
1727
1728 * graphite-optimize-isl.c (get_tile_map): Refactor.
1729 (get_schedule_for_band): Same.
1730 (getScheduleForBand): Same.
1731 (get_prevector_map): Same.
1732 (get_schedule_for_band_list): Same.
1733 (get_schedule_map): Same.
1734 (get_single_map): Same.
1735 (apply_schedule_map_to_scop): Same.
1736 (optimize_isl): Same.
1737
1738 2015-09-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1739
1740 PR target/63304
1741 * config/aarch64/aarch.md (mov<mode>:GPF_F16): Use GPF_TF_F16.
1742 (movtf): Delete.
1743 * config/aarch64/iterators.md (GPF_TF_F16): New.
1744 (GPF_F16): Delete.
1745
1746 2015-09-10 Nathan Sidwell <nathan@acm.org>
1747
1748 * config/nvptx/nvptx.c (nvptx_expand_call): Add spacing.
1749 (nvptx_reorg): Adjust comments.
1750
1751 2015-09-15 John David Anglin <danglin@gcc.gnu.org>
1752
1753 PR bootstrap/67363
1754 * configure.ac: Check if setenv and unsetenv are declared.
1755 * configure: Rebuild.
1756 * config.in: Rebuild.
1757 * system.h: Declare setenv and unsetenv if not declared.
1758
1759 2015-09-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1760
1761 * config/rs6000/rs6000.c (swap_web_entry): Update preceding
1762 commentary to simplify permute mask adjustment equation.
1763 (special_handling_values): Add SH_VPERM.
1764 (const_load_sequence_p): New function.
1765 (insn_is_swappable_p): Add logic to recognize an UNSPEC_VPERM with
1766 the mask loaded from the constant pool.
1767 (adjust_vperm): New function.
1768 (handle_special_swappables): Call adjust_vperm.
1769 (dump_swap_insn_table): Handle SH_VPERM.
1770
1771 2015-09-10 H.J. Lu <hongjiu.lu@intel.com>
1772
1773 * shrink-wrap.c (requires_stack_frame_p): Remove static.
1774 * shrink-wrap.h (requires_stack_frame_p): Put back.
1775
1776 2015-09-10 Richard Sandiford <richard.sandiford@arm.com>
1777
1778 * reload1.c (elimination_costs_in_insn): Locally turn
1779 -Wmaybe-uninitialized into a warning.
1780
1781 2015-09-10 Segher Boessenkool <segher@kernel.crashing.org>
1782
1783 * shrink-wrap.c (requires_stack_frame_p): Make static.
1784 (prepare_shrink_wrap): Likewise.
1785 (dup_block_and_redirect): Likewise.
1786 * shrink-wrap.h: Remove declarations of those functions.
1787
1788 2015-09-10 Mark Wielaard <mjw@redhat.com>
1789
1790 * doc/invoke.texi (Wnonnull): Also warns when comparing against NULL.
1791
1792 2015-09-10 Oleg Endo <olegendo@gcc.gnu.org>
1793
1794 PR target/67506
1795 * config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Add
1796 missing simplify_gen_subreg.
1797
1798 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1799
1800 * config/s390/s390.c (s390_contiguous_bitmask_vector_p): Reject if
1801 the vector element is bigger than 64 bit.
1802
1803 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1804
1805 * config/s390/vx-builtins.md ("vec_vmal<mode>", "vec_vmah<mode>")
1806 ("vec_vmalh<mode>"): Change mode iterator from VI_HW to VI_HW_QHS.
1807
1808 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1809
1810 * config/s390/s390.c: Add V1TImode to constant pool modes.
1811
1812 2015-09-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1813
1814 PR target/67439
1815 * config/arm/arm.md (*arm32_movhf): Remove !arm_restrict_it from
1816 predicate. Set predicable_short_it attr to "no".
1817
1818 2015-09-10 Jiong Wang <jiong.wang@arm.com>
1819
1820 PR rtl-optimization/67421
1821 * expr.c (expand_expr_real_2): Cost instrcution sequences when doing
1822 left wide shift tranformation.
1823
1824 2015-09-10 Claudiu Zissulescu <claziss@synopsys.com>
1825
1826 * common/config/arc/arc-common.c: Remove references to A5.
1827 * config/arc/arc-opts.h: Likewise.
1828 * config/arc/arc.c, config/arc/arc.h, config/arc/arc.md: Likewise.
1829 * config/arc/arc.opt, config/arc/constraints.md: Likewise.
1830 * config/arc/t-arc-newlib: Likewise.
1831
1832 2015-09-10 Claudiu Zissulescu <claziss@synopsys.com>
1833
1834 * config/arc/arc.md (length): Fix attribute length for conditional
1835 executed instructions with long immediate.
1836
1837 2015-09-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1838
1839 * config/aarch64/aarch64.md (*and<mode>3nr_compare0): Use logics_imm
1840 type for second alternative.
1841
1842 2015-09-10 Markus Trippelsdorf <markus@trippelsdorf.de>
1843
1844 * doc/invoke.texi (Downloading GCC): Mention
1845 contrib/download_prerequisites script.
1846
1847 2015-09-10 Jakub Jelinek <jakub@redhat.com>
1848
1849 PR c++/67523
1850 * gimplify.c (gimplify_omp_for): If inner stmt is not found
1851 for combined loop, assert seen_error () and return GS_ERROR.
1852
1853 PR middle-end/67521
1854 * gimplify.c (gimplify_omp_for): Don't call omp_add_variable
1855 if decl is already in outer->variables.
1856
1857 PR middle-end/67517
1858 * gimplify.c (gimplify_scan_omp_clauses): Instead of
1859 asserting that decl is not specified in octx->variables,
1860 break out of the loop if it is.
1861
1862 PR c++/67514
1863 * gimplify.c (gimplify_omp_for): For loop SIMD construct, if
1864 iterator is not explicitly determined, but is defined inside
1865 of the combined workshare region, handle it like if it has
1866 DECL_EXPR in OMP_FOR_PRE_BODY.
1867
1868 2015-09-09 Nathan Sidwell <nathan@acm.org>
1869
1870 * config/nvptx/nvptx.md (call_operation): Move bound out of loop.
1871 (*cmp<mode>): Add assembler spacing.
1872 (setcc_int<mode>, set_cc_float<mode>): Likewise.
1873 * config/nvptx/nvptx.c (nvptx_option_override): Override debug
1874 level.
1875 (write_func_decl_from_insn): Refactor argument loops & comma emission.
1876 (nvptx_expand_call): Likewise.
1877 (nvptx_output_call_insn): Likewise.
1878 (nvptx_reorg_subreg): Add spacing.
1879
1880 2015-09-09 Marek Polacek <polacek@redhat.com>
1881
1882 PR middle-end/67512
1883 * tree-ssa-uninit.c (pred_equal_p): Only call invert_tree_comparison
1884 for comparisons.
1885
1886 2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
1887
1888 PR c++/53184
1889 * doc/invoke.texi ([Wsubobject-linkage]): Document.
1890
1891 2015-09-09 Tom de Vries <tom@codesourcery.com>
1892
1893 * params-list.h: Add missing copyright notice.
1894
1895 2015-09-09 Nathan Sidwell <nathan@acm.org>
1896
1897 * config/nvptx/nvptx.md (atomic_compare_and_swap<mode>): Use
1898 sel_truesi, not andsi.
1899
1900 2015-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1901
1902 * config/arm/arm.md (*subsi3_compare0): Rename to...
1903 (subsi3_compare0): ... This.
1904 (modsi3): New define_expand.
1905 * config/arm/arm.c (arm_new_rtx_costs, MOD case): Handle case
1906 when operand is power of 2.
1907
1908 2015-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1909
1910 * config/aarch64/aarch64.md (mod<mode>3): New define_expand.
1911 (*neg<mode>2_compare0): Rename to...
1912 (neg<mode>2_compare0): ... This.
1913 * config/aarch64/aarch64.c (aarch64_rtx_costs, MOD case):
1914 Move check for speed inside the if-then-elses. Reflect
1915 CSNEG sequence in MOD by power of 2 case.
1916
1917 2015-09-09 Alan Modra <amodra@gmail.com>
1918
1919 PR target/67378
1920 * config/rs6000/rs6000.c (rs6000_secondary_reload_gpr): Find
1921 reload replacement for PRE_MODIFY address reg.
1922
1923 2015-09-09 Sebastian Pop <s.pop@samsung.com>
1924
1925 PR tree-optimization/53852
1926 * config.in: Regenerate.
1927 * configure: Regenerate.
1928 * configure.ac (HAVE_ISL_CTX_MAX_OPERATIONS): Detect.
1929 * graphite-optimize-isl.c (optimize_isl): Stop computation when
1930 PARAM_MAX_ISL_OPERATIONS is reached.
1931 * params.def (PARAM_MAX_ISL_OPERATIONS): Add.
1932 * graphite-dependences.c (extend_schedule): Remove gcc_asserts on
1933 result equal to isl_stat_ok as the status now can be isl_error_quota.
1934 (subtract_commutative_associative_deps): Same.
1935 (compute_deps): Same.
1936
1937 2015-09-08 Aditya Kumar <hiraditya@msn.com>
1938 Sebastian Pop <s.pop@samsung.com>
1939
1940 * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
1941 Return the parameter if it was saved in corresponding
1942 parameter_rename_map of the region.
1943 (copy_def): Copy def from sese region to the newly created region.
1944 (copy_internal_parameters): Copy all the internal parameters defined
1945 within a region to the newly created region.
1946 (graphite_regenerate_ast_isl): Copy parameters to the new region before
1947 translating isl to gimple.
1948 * graphite-scop-detection.c (graphite_can_represent_loop): Bail out if
1949 the loop-nest does not have any data-references.
1950 (build_graphite_scops): Create a scop only when there is at least one
1951 loop inside it.
1952 (contains_only_close_phi_nodes): Deleted.
1953 (print_graphite_scop_statistics): Deleted
1954 (print_graphite_statistics): Deleted
1955 (limit_scops): Deleted.
1956 (build_scops): Removed call to limit_scops.
1957 * sese.c (new_sese): Construct.
1958 (free_sese): Destruct.
1959 (sese_add_exit_phis_edge): update_stmt after exit phi edge has been
1960 added.
1961 (set_rename): Pass sese region so that parameters inside the region can
1962 be added to its parameter_rename_map.
1963 (rename_uses): Pass sese region.
1964 (graphite_copy_stmts_from_block): Do not copy parameters that have been
1965 generated in the header of the scop. For each SSA_NAME in the
1966 parameter_rename_map rename its usage.
1967 (invariant_in_sese_p_rec): Return false if tree t is defined outside
1968 sese region.
1969 (scalar_evolution_in_region): If the tree t is invariant just return t.
1970 * sese.h: Added a parameter renamne map (parameter_rename_map_t) to
1971 struct sese to keep track of all the parameters which need renaming.
1972 * tree-data-ref.c (loop_nest_has_data_refs): Check if a loop nest has
1973 any data-refs.
1974 * tree-data-ref.h: Declaration of loop_nest_has_data_refs.
1975
1976 2015-09-08 Tom de Vries <tom@codesourcery.com>
1977
1978 * Makefile.in (generated_files): Add params.list.
1979 (params.list, s-params.list): Add rule.
1980 * params.h (enum compiler_param): Include params-list.h. Move define
1981 DEFPARAM, include params.def and undef DEFPARAM ...
1982 * params-list.h: ... here. New file.
1983
1984 2015-09-08 David Malcolm <dmalcolm@redhat.com>
1985
1986 * pretty-print.h (printer_fn): Fix typo in comment.
1987
1988 2015-09-07 Jeff Law <law@redhat.com>
1989
1990 * tree-ssa-scopedtables.h (class const_and_copies): Fix comment typo.
1991
1992 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
1993
1994 * doc/sourcebuild.texi (arm_neon_fp16): Correct cross-reference.
1995 (arm_neon_fp16_ok): Document adding of -mfp16-format=ieee flag.
1996 (arm_neon_fp16_hw): New.
1997
1998 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
1999
2000 * fold-const.c (native_interpret_real): Fix HFmode for bigendian where
2001 UNITS_PER_WORD >= 4.
2002
2003 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
2004
2005 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_unpacks_lo_<mode>,
2006 aarch64_simd_vec_unpacks_hi_<mode>): New insn.
2007 (vec_unpacks_lo_v4sf, vec_unpacks_hi_v4sf): Delete insn.
2008 (vec_unpacks_lo_<mode>, vec_unpacks_hi_<mode>): New expand.
2009 (aarch64_float_extend_lo_v2df): Rename to...
2010 (aarch64_float_extend_lo_<Vwide>): this, using VDF and so adding V4SF.
2011
2012 * config/aarch64/aarch64-simd-builtins.def (vec_unpacks_hi): Add v8hf.
2013 (float_extend_lo): Add v4sf.
2014
2015 * config/aarch64/arm_neon.h (vcvt_f32_f16, vcvt_high_f32_f16): New.
2016 * config/aarch64/iterators.md (VQ_HSF): New iterator.
2017 (VWIDE, Vwtype, Vhalftype): Add V8HF, V4SF.
2018 (Vwide): New mode_attr.
2019
2020 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
2021
2022 * config/aarch64/aarch64-simd.md (aarch64_simd_dup<mode>,
2023 aarch64_dup_lane<mode>, aarch64_dup_lane_<vswap_width_name><mode>,
2024 aarch64_simd_vec_set<mode>, vec_set<mode>, vec_perm_const<mode>,
2025 vec_init<mode>, *aarch64_simd_ld1r<mode>, vec_extract<mode>): Add
2026 V4HF and V8HF variants to iterator.
2027
2028 * config/aarch64/aarch64.c (aarch64_evpc_dup): Add V4HF and V8HF cases.
2029
2030 * config/aarch64/iterators.md (VDQF_F16): New.
2031 (VSWAP_WIDTH, vswap_width_name): Add V4HF and V8HF cases.
2032
2033 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
2034
2035 * config/aarch64/arm_neon.h (vreinterpret_p8_f16, vreinterpret_p16_f16,
2036 vreinterpret_f16_f64, vreinterpret_f16_s8, vreinterpret_f16_s16,
2037 vreinterpret_f16_s32, vreinterpret_f16_s64, vreinterpret_f16_f32,
2038 vreinterpret_f16_u8, vreinterpret_f16_u16, vreinterpret_f16_u32,
2039 vreinterpret_f16_u64, vreinterpret_f16_p8, vreinterpret_f16_p16,
2040 vreinterpretq_f16_f64, vreinterpretq_f16_s8, vreinterpretq_f16_s16,
2041 vreinterpretq_f16_s32, vreinterpretq_f16_s64, vreinterpretq_f16_f32,
2042 vreinterpretq_f16_u8, vreinterpretq_f16_u16, vreinterpretq_f16_u32,
2043 vreinterpretq_f16_u64, vreinterpretq_f16_p8, vreinterpretq_f16_p16,
2044 vreinterpret_f32_f16, vreinterpret_f64_f16, vreinterpret_s64_f16,
2045 vreinterpret_u64_f16, vreinterpretq_u64_f16, vreinterpret_s8_f16,
2046 vreinterpret_s16_f16, vreinterpret_s32_f16, vreinterpret_u8_f16,
2047 vreinterpret_u16_f16, vreinterpret_u32_f16, vreinterpretq_p8_f16,
2048 vreinterpretq_p16_f16, vreinterpretq_f32_f16, vreinterpretq_f64_f16,
2049 vreinterpretq_s64_f16, vreinterpretq_s8_f16, vreinterpretq_s16_f16,
2050 vreinterpretq_s32_f16, vreinterpretq_u8_f16, vreinterpretq_u16_f16,
2051 vreinterpretq_u32_f16, vget_low_f16, vget_high_f16, vld1_dup_f16,
2052 vld1q_dup_f16): New.
2053
2054 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
2055
2056 * config/aarch64/aarch64-simd.md (aarch64_float_truncate_lo_v2sf):
2057 Reparameterize to...
2058 (aarch64_float_truncate_lo_<mode>): ...this, for both V2SF and V4HF.
2059 (aarch64_float_truncate_hi_v4sf): Reparameterize to...
2060 (aarch64_float_truncate_hi_<Vdbl>): ...this, for both V4SF and V8HF.
2061
2062 * config/aarch64/aarch64-simd-builtins.def (float_truncate_hi_): Add
2063 v8hf variant.
2064 (float_truncate_lo_): Use BUILTIN_VDF iterator.
2065
2066 * config/aarch64/arm_neon.h (vcvt_f16_f32, vcvt_high_f16_f32): New.
2067
2068 * config/aarch64/iterators.md (VDF, Vdtype): New.
2069 (VWIDE, Vmwtype): Add cases for V4HF and V2SF.
2070
2071 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
2072
2073 * config/aarch64/aarch64.c (aarch64_split_simd_combine): Add V4HFmode.
2074 * config/aarch64/aarch64-builtins.c (VAR13, VAR14): New.
2075 (aarch64_scalar_builtin_types, aarch64_init_simd_builtin_scalar_types):
2076 Add __builtin_aarch64_simd_hf.
2077 * config/aarch64/arm_neon.h (float16x4x2_t, float16x8x2_t,
2078 float16x4x3_t, float16x8x3_t, float16x4x4_t, float16x8x4_t,
2079 vcombine_f16, vst2_lane_f16, vst2q_lane_f16, vst3_lane_f16,
2080 vst3q_lane_f16, vst4_lane_f16, vst4q_lane_f16, vld2_f16, vld2q_f16,
2081 vld3_f16, vld3q_f16, vld4_f16, vld4q_f16, vld2_dup_f16, vld2q_dup_f16,
2082 vld3_dup_f16, vld3q_dup_f16, vld4_dup_f16, vld4q_dup_f16,
2083 vld2_lane_f16, vld2q_lane_f16, vld3_lane_f16, vld3q_lane_f16,
2084 vld4_lane_f16, vld4q_lane_f16, vst2_f16, vst2q_f16, vst3_f16,
2085 vst3q_f16, vst4_f16, vst4q_f16, vcreate_f16): New.
2086
2087 * config/aarch64/iterators.md (VALLDIF, Vtype, Vetype, Vbtype,
2088 V_cmp_result, v_cmp_result): Add cases for V4HF and V8HF.
2089 (VDC, Vdbl): Add V4HF.
2090
2091 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
2092
2093 * config/aarch64/aarch64.c (aarch64_vector_mode_supported_p): Support
2094 V4HFmode and V8HFmode.
2095 (aarch64_split_simd_move): Add case for V8HFmode.
2096 * config/aarch64/aarch64-builtins.c (v4hf_UP, v8hf_UP): Define.
2097 (aarch64_simd_builtin_std_type): Handle HFmode.
2098 (aarch64_init_simd_builtin_types): Include Float16x4_t and Float16x8_t.
2099
2100 * config/aarch64/aarch64-simd.md (mov<mode>, aarch64_get_lane<mode>,
2101 aarch64_ld1<VALL:mode>, aarch64_st1<VALL:mode): Use VALL_F16 iterator.
2102 (aarch64_be_ld1<mode>, aarch64_be_st1<mode>): Use VALLDI_F16 iterator.
2103
2104 * config/aarch64/aarch64-simd-builtin-types.def: Add Float16x4_t,
2105 Float16x8_t.
2106
2107 * config/aarch64/aarch64-simd-builtins.def (ld1, st1): Use VALL_F16.
2108 * config/aarch64/arm_neon.h (float16x4_t, float16x8_t, float16_t):
2109 New typedefs.
2110 (vget_lane_f16, vgetq_lane_f16, vset_lane_f16, vsetq_lane_f16,
2111 vld1_f16, vld1q_f16, vst1_f16, vst1q_f16, vst1_lane_f16,
2112 vst1q_lane_f16): New.
2113 * config/aarch64/iterators.md (VD, VQ, VQ_NO2E): Add vectors of HFmode.
2114 (VALLDI_F16, VALL_F16): New.
2115 (Vmtype, VEL, VCONQ, VHALF, V_TWO_ELEM, V_THREE_ELEM, V_FOUR_ELEM, q):
2116 Add cases for V4HF and V8HF.
2117 (VDBL, VRL2, VRL3, VRL4): Add V4HF case.
2118
2119 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
2120
2121 * config/arm/arm-builtins.c (VAR11, VAR12): New.
2122 * config/arm/arm_neon_builtins.def (vcombine, vld2_dup, vld3_dup,
2123 vld4_dup): Add v4hf variant.
2124 (vget_high, vget_low): Add v8hf variant.
2125 (vld1, vst1, vst1_lane, vld2, vld2_lane, vst2, vst2_lane, vld3,
2126 vld3_lane, vst3, vst3_lane, vld4, vld4_lane, vst4, vst4_lane): Add
2127 v4hf and v8hf variants.
2128
2129 * config/arm/iterators.md (VD_LANE, VD_RE, VQ2, VQ_HS): New.
2130 (VDX): Add V4HF.
2131 (V_DOUBLE): Add case for V4HF.
2132 (VQX): Add V8HF.
2133 (V_HALF): Add case for V8HF.
2134 (VDQX): Add V4HF, V8HF.
2135 (V_elem, V_two_elem, V_three_elem, V_four_elem, V_cmp_result,
2136 V_uf_sclr, V_sz_elem, V_mode_nunits, q): Add cases for V4HF & V8HF.
2137
2138 * config/arm/neon.md (vec_set<mode>internal, vec_extract<mode>,
2139 neon_vget_lane<mode>_sext_internal, neon_vget_lane<mode>_zext_internal,
2140 vec_load_lanesoi<mode>, neon_vld2<mode>, vec_store_lanesoi<mode>,
2141 neon_vst2<mode>, vec_load_lanesci<mode>, neon_vld3<mode>,
2142 neon_vld3qa<mode>, neon_vld3qb<mode>, vec_store_lanesci<mode>,
2143 neon_vst3<mode>, neon_vst3qa<mode>, neon_vst3qb<mode>,
2144 vec_load_lanesxi<mode>, neon_vld4<mode>, neon_vld4qa<mode>,
2145 neon_vld4qb<mode>, vec_store_lanesxi<mode>, neon_vst4<mode>,
2146 neon_vst4qa<mode>, neon_vst4qb<mode>): Change VQ iterator to VQ2.
2147
2148 (neon_vcreate, neon_vreinterpretv8qi<mode>,
2149 neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
2150 neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>):
2151 Change VDX to VD_RE.
2152
2153 (neon_vld2_lane<mode>, neon_vst2_lane<mode>, neon_vld3_lane<mode>,
2154 neon_vst3_lane<mode>, neon_vld4_lane<mode>, neon_vst4_lane<mode>):
2155 Change VD iterator to VD_LANE, and VMQ iterator to VQ_HS.
2156
2157 * config/arm/arm_neon.h (float16x4x2_t, float16x8x2_t, float16x4x3_t,
2158 float16x8x3_t, float16x4x4_t, float16x8x4_t, vcombine_f16,
2159 vget_high_f16, vget_low_f16, vld1_f16, vld1q_f16, vst1_f16, vst1q_f16,
2160 vst1_lane_f16, vst1q_lane_f16, vld2_f16, vld2q_f16, vld2_lane_f16,
2161 vld2q_lane_f16, vld2_dup_f16, vst2_f16, vst2q_f16, vst2_lane_f16,
2162 vst2q_lane_f16, vld3_f16, vld3q_f16, vld3_lane_f16, vld3q_lane_f16,
2163 vld3_dup_f16, vst3_f16, vst3q_f16, vst3_lane_f16, vst3q_lane_f16,
2164 vld4_f16, vld4q_f16, vld4_lane_f16, vld4q_lane_f16, vld4_dup_f16,
2165 vst4_f16, vst4q_f16, vst4_lane_f16, vst4q_lane_f16): New.
2166
2167 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
2168
2169 * config/arm/arm_neon.h (vgetq_lane_f16, vsetq_lane_f16, vld1q_lane_f16,
2170 vld1q_dup_f16, vreinterpretq_p8_f16, vreinterpretq_p16_f16,
2171 vreinterpretq_f16_p8, vreinterpretq_f16_p16, vreinterpretq_f16_f32,
2172 vreinterpretq_f16_p64, vreinterpretq_f16_p128, vreinterpretq_f16_s64,
2173 vreinterpretq_f16_u64, vreinterpretq_f16_s8, vreinterpretq_f16_s16,
2174 vreinterpretq_f16_s32, vreinterpretq_f16_u8, vreinterpretq_f16_u16,
2175 vreinterpretq_f16_u32, vreinterpretq_f32_f16, vreinterpretq_p64_f16,
2176 vreinterpretq_p128_f16, vreinterpretq_s64_f16, vreinterpretq_u64_f16,
2177 vreinterpretq_s8_f16, vreinterpretq_s16_f16, vreinterpretq_s32_f16,
2178 vreinterpretq_u8_f16, vreinterpretq_u16_f16, vreinterpretq_u32_f16):
2179 New.
2180
2181 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
2182
2183 * config/arm/arm.h (VALID_NEON_QREG_MODE): Add V8HFmode.
2184
2185 * config/arm/arm.c (arm_vector_mode_supported_p): Support V8HFmode.
2186
2187 * config/arm/arm-builtins.c (v8hf_UP): New.
2188 (arm_init_simd_builtin_types): Initialise Float16x8_t.
2189
2190 * config/arm/arm-simd-builtin-types.def (Float16x8_t): New.
2191
2192 * config/arm/arm_neon.h (float16x8_t): New typedef.
2193
2194 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
2195
2196 * config/arm/arm_neon.h (float16_t, vget_lane_f16, vset_lane_f16,
2197 vcreate_f16, vld1_lane_f16, vld1_dup_f16, vreinterpret_p8_f16,
2198 vreinterpret_p16_f16, vreinterpret_f16_p8, vreinterpret_f16_p16,
2199 vreinterpret_f16_f32, vreinterpret_f16_p64, vreinterpret_f16_s64,
2200 vreinterpret_f16_u64, vreinterpret_f16_s8, vreinterpret_f16_s16,
2201 vreinterpret_f16_s32, vreinterpret_f16_u8, vreinterpret_f16_u16,
2202 vreinterpret_f16_u32, vreinterpret_f32_f16, vreinterpret_p64_f16,
2203 vreinterpret_s64_f16, vreinterpret_u64_f16, vreinterpret_s8_f16,
2204 vreinterpret_s16_f16, vreinterpret_s32_f16, vreinterpret_u8_f16,
2205 vreinterpret_u16_f16, vreinterpret_u32_f16): New.
2206
2207 2015-09-07 Ilya Verbin <ilya.verbin@intel.com>
2208
2209 * config/i386/intelmic-mkoffload.c (prepare_target_image): Handle all
2210 non-alphanumeric characters in the symbol name.
2211
2212 2015-09-07 Marek Polacek <polacek@redhat.com>
2213
2214 PR inline-asm/67448
2215 * gimplify.c (gimplify_asm_expr): Don't allow MODIFY_EXPR as
2216 a memory input.
2217
2218 2015-09-07 Marek Polacek <polacek@redhat.com>
2219
2220 * system.h (INTTYPE_MINIMUM): Rewrite to avoid shift warning.
2221
2222 2015-09-04 Paolo Bonzini <bonzini@gnu.org>
2223
2224 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Do
2225 not warn.
2226
2227 2015-09-04 Jakub Jelinek <jakub@redhat.com>
2228
2229 PR middle-end/67452
2230 * tree-ssa-live.c: Include cfgloop.h.
2231 (remove_unused_locals): Clear loop->simduid if simduid is about
2232 to be removed from cfun->local_decls.
2233
2234 2015-09-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2235
2236 PR target/65210
2237 * config/avr/avr.c (avr_eval_addr_attrib): Look for io_low
2238 attribute as well.
2239
2240 2015-09-04 Tom de Vries <tom@codesourcery.com>
2241
2242 * doc/invoke.texi (@item -ftrapv, @item -fwrapv): Document interaction.
2243
2244 2015-09-04 Jeff Law <law@redhat.com>
2245
2246 * tree-ssa-scopedtables.c (const_and_copies::const_and_copies): Remove
2247 unnecessary constructor. It's now trivial and implemented inside...
2248 * tree-ssa-scopedtables.h (const_and_copies): Implement trivial
2249 constructor. Add comments to various methods. Remove unused
2250 private fields.
2251 * tree-ssa-dom.c (pass_dominator::execute): Corresponding changes.
2252 * tree-vrp.c (identify_jump_threads): Likewise.
2253 * tree-ssa-threadedge.c (thread_through_normal_block): Fix minor
2254 indentation issues.
2255 (thread_across_edge): Similarly.
2256 (record_temporary_equivalences_from_stmts_at_dest): Remove unused
2257 arguments in constructor call.
2258
2259 2015-09-04 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
2260
2261 * config/i386/intelmic-mkoffload.c (prepare_target_image): Fix if the
2262 temp path contains a '-'.
2263
2264 2015-09-04 Andrey Turetskiy <andrey.turetskiy@intel.com>
2265 Petr Murzin <petr.murzin@intel.com>
2266 Kirill Yukhin <kirill.yukhin@intel.com>
2267
2268 * config/i386/i386-builtin-types.def
2269 (VOID_PFLOAT_HI_V8DI_V16SF_INT): New.
2270 (VOID_PDOUBLE_QI_V16SI_V8DF_INT): Ditto.
2271 (VOID_PINT_HI_V8DI_V16SI_INT): Ditto.
2272 (VOID_PLONGLONG_QI_V16SI_V8DI_INT): Ditto.
2273 * config/i386/i386.c
2274 (ix86_builtins): Add IX86_BUILTIN_SCATTERALTSIV8DF,
2275 IX86_BUILTIN_SCATTERALTDIV16SF, IX86_BUILTIN_SCATTERALTSIV8DI,
2276 IX86_BUILTIN_SCATTERALTDIV16SI.
2277 (ix86_init_mmx_sse_builtins): Define __builtin_ia32_scatteraltsiv8df,
2278 __builtin_ia32_scatteraltdiv8sf, __builtin_ia32_scatteraltsiv8di,
2279 __builtin_ia32_scatteraltdiv8si.
2280 (ix86_expand_builtin): Handle IX86_BUILTIN_SCATTERALTSIV8DF,
2281 IX86_BUILTIN_SCATTERALTDIV16SF, IX86_BUILTIN_SCATTERALTSIV8DI,
2282 IX86_BUILTIN_SCATTERALTDIV16SI.
2283 (ix86_vectorize_builtin_scatter): New.
2284 (TARGET_VECTORIZE_BUILTIN_SCATTER): Define as
2285 ix86_vectorize_builtin_scatter.
2286
2287 2015-09-04 Andrey Turetskiy <andrey.turetskiy@intel.com>
2288 Petr Murzin <petr.murzin@intel.com>
2289 Kirill Yukhin <kirill.yukhin@intel.com>
2290
2291 * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_SCATTER): New.
2292 * doc/tm.texi: Regenerate.
2293 * target.def: Add scatter builtin.
2294 * tree-vectorizer.h: Rename gather_p to gather_scatter_p and use it
2295 for loads/stores in case of gather/scatter accordingly.
2296 (STMT_VINFO_GATHER_SCATTER_P(S)): Use it instead of
2297 STMT_VINFO_GATHER_P(S).
2298 (vect_check_gather): Rename to ...
2299 (vect_check_gather_scatter): this.
2300 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Use
2301 STMT_VINFO_GATHER_SCATTER_P instead of STMT_VINFO_SCATTER_P.
2302 (vect_check_gather_scatter): Use it instead of vect_check_gather.
2303 (vect_analyze_data_refs): Add gatherscatter enum and maybe_scatter
2304 variable and new checkings for it accordingly.
2305 * tree-vect-stmts.c
2306 (STMT_VINFO_GATHER_SCATTER_P(S)): Use it instead of
2307 STMT_VINFO_GATHER_P(S).
2308 (vect_check_gather_scatter): Use it instead of vect_check_gather.
2309 (vectorizable_store): Add checkings for STMT_VINFO_GATHER_SCATTER_P.
2310
2311 2015-09-03 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
2312
2313 * config/rs6000/altivec.md (altivec_vperm_v8hiv16qi): New
2314 define_insn.
2315 (mulv16qi3): New define_expand.
2316
2317 2015-09-03 Martin Sebor <msebor@redhat.com>
2318
2319 PR c/66516
2320 * doc/extend.texi (Other Builtins): Document when the address
2321 of a built-in function can be taken.
2322
2323 2015-09-03 Richard Biener <rguenther@suse.de>
2324
2325 * dwarf2out.c (flush_limbo_die_list): Split out from ...
2326 (dwarf2out_early_finish): ... here.
2327 (dwarf2out_finish): Do not call dwarf2out_early_finish but
2328 flush_limbo_die_list. Assert we have no deferred asm names.
2329
2330 2015-09-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2331
2332 * optabs.c (expand_binop): Don't create a broadcast vector with a
2333 source element wider than the inner mode.
2334
2335 2015-09-03 Richard Biener <rguenther@suse.de>
2336
2337 * varasm.c (output_constant): Use fold_convert instead of
2338 wide_int_to_tree.
2339
2340 2015-09-03 Tom de Vries <tom@codesourcery.com>
2341
2342 PR tree-optimization/65637
2343 * omp-low.c (expand_omp_for_static_chunk): Handle case that
2344 fin_bb has 2 predecessors.
2345
2346 2015-09-03 Tom de Vries <tom@codesourcery.com>
2347
2348 PR tree-optimization/65637
2349 * omp-low.c (find_phi_with_arg_on_edge): New function.
2350 (expand_omp_for_static_chunk): Fix inner loop phi.
2351
2352 2015-09-03 Tom de Vries <tom@codesourcery.com>
2353
2354 PR tree-optimization/65637
2355 * omp-low.c (expand_omp_for_static_chunk): Fix gcc_assert for the case
2356 that head is NULL.
2357
2358 2015-09-03 Tom de Vries <tom@codesourcery.com>
2359
2360 * omp-low.c (expand_omp_for_static_chunk): Handle simple latch bb.
2361
2362 2015-09-03 Tom de Vries <tom@codesourcery.com>
2363
2364 * doc/invoke.texi (parloops-chunk-size): Add item.
2365 * params.def (PARAM_PARLOOPS_CHUNK_SIZE): Add DEFPARAM.
2366 * tree-parloops.c: Include params.h.
2367 (create_parallel_loop): Set chunk-size of schedule of omp-for loop, if
2368 param parloops-chunk-size is used.
2369
2370 2015-09-03 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
2371
2372 PR middle-end/67351
2373 * fold-const.c (fold_binary_loc) : Move
2374 Transform (x >> c) << c into x & (-1<<c) or
2375 transform (x << c) >> c into x & ((unsigned)-1 >> c) for unsigned
2376 types using simplify and match.
2377 * match.pd (lshift (rshift @0 INTEGER_CST@1) @1) : New simplifier.
2378 (rshift (lshift @0 INTEGER_CST@1) @1) : New Simplifier
2379
2380 2015-09-03 Richard Biener <rguenther@suse.de>
2381
2382 PR ipa/66705
2383 * tree-ssa-structalias.c (ctor_for_analysis): New function.
2384 (create_variable_info_for_1): Use ctor_for_analysis instead
2385 of get_constructor.
2386 (create_variable_info_for): Likewise.
2387
2388 2015-09-02 Charles Baylis <charles.baylis@linaro.org>
2389
2390 PR ipa/67280
2391 * cgraphunit.c (cgraph_node::create_wrapper): Set can_throw_external
2392 in new callgraph edge.
2393
2394 2015-09-02 Christophe Lyon <christophe.lyon@linaro.org>
2395
2396 PR target/59810
2397 PR target/63652
2398 PR target/63653
2399 * config/aarch64/aarch64-simd.md
2400 (aarch64_ld<VSTRUCT:nregs><VQ:mode>): Call
2401 gen_aarch64_simd_ld<VSTRUCT:nregs><VQ:mode>.
2402 (aarch64_st<VSTRUCT:nregs><VQ:mode>): Call
2403 gen_aarch64_simd_st<VSTRUCT:nregs><VQ:mode>.
2404
2405 2015-09-02 Alan Modra <amodra@gmail.com>
2406
2407 * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Don't define.
2408 * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Likewise.
2409 (LINK_SPEC, SUBTARGET_EXTRA_SPECS): Delete link_target.
2410
2411 2015-09-02 Alan Modra <amodra@gmail.com>
2412
2413 PR target/67417
2414 * config/rs6000/predicates.md (current_file_function_operand): Don't
2415 return true for weak symbols.
2416 * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Likewise.
2417
2418 2015-09-01 Matthew Fortune <matthew.fortune@imgtec.com>
2419 Andrew Bennett <andrew.bennett@imgtec.com>
2420
2421 * config/mips/mips-opts.h (mips_cb_setting): New enum.
2422 * config/mips/mips-protos.h: Add definitions for
2423 mips_output_jump and mips_output_equal_conditional_branch
2424 * gcc/config/mips/mips.c (MIPS_JR): Change to support the
2425 JIC instruction.
2426 (mips_emit_compare): Add support for the MIPS R6 conditional
2427 compact branches.
2428 (mips_process_sync_loop): Likewise.
2429 (mips_output_order_conditional_branch): Likewise.
2430 (mips16_build_call_stub): Change MIPS_CALL to
2431 mips_output_jump.
2432 (mips_print_operand_punctuation): Update 's' case to only
2433 apply to micromips r2.
2434 (mips_adjust_insn_length): Add support for forbidden slot
2435 hazards.
2436 (mips_avoid_hazard): Likewise.
2437 (mips_reorg_process_insns): Likewise.
2438 (mips_output_jump): New function.
2439 (mips_output_equal_conditional_branch): Likewise.
2440 (mips_output_conditional_branch): Use jrc/bc if compact
2441 branch support is enabled. Ensure the forbidden slots
2442 between the two branch instructions is filled with a nop.
2443 (mips_option_override): Add support to process the compact
2444 branch option and set the correct defaults. Prevent
2445 non-explict relocs being using for MIPS R6.
2446 (mips_trampoline_init): Add compact branch support.
2447 (mips_mult_zero_zero_cost): Allow zero initialisation of
2448 accumulators with TARGET_DSP.
2449 * gcc/config/mips/mips.h (TARGET_CB_NEVER): New define.
2450 (TARGET_CB_MAYBE): New define.
2451 (TARGET_CB_ALWAYS): New define.
2452 (ISA_HAS_DELAY_SLOTS): New define.
2453 (ISA_HAS_COMPACT_BRANCHES): New define.
2454 (ISA_HAS_JRC): New define.
2455 (MIPS_BRANCH_C): New define.
2456 (MIPS_CALL): Removed.
2457 (MICROMIPS_J): Removed.
2458 * config/mips/mips.md (compact_form): New attr.
2459 (hazard): Add support for forbidden slots.
2460 (define_delay): Add support for compact branches.
2461 (*branch_order<mode>): Likewise.
2462 (*branch_order<mode>_inverted): Likewise.
2463 (*branch_equality<mode>): Likewise.
2464 (*branch_equality<mode>_inverted): Likewise.
2465 (*jump_absolute): Likewise.
2466 (*jump_pic): Likewise.
2467 (indirect_jump): Use mips_output_jump to produce assembly output.
2468 (tablejump_<mode>"): Likewise.
2469 (*<optab>"): Likewise.
2470 (<optab>_internal): Likewise.
2471 (sibcall_internal): Likewise.
2472 (sibcall_value_internal): Likewise.
2473 (sibcall_value_multiple_internal): Likewise.
2474 (call_internal): Likewise.
2475 (call_split): Likewise.
2476 (call_internal_direct): Likewise.
2477 (call_direct_split): Likewise.
2478 (call_value_internal): Likewise.
2479 (call_value_split): Likewise.
2480 (call_value_internal_direct): Likewise.
2481 (call_value_direct_split): Likewise.
2482 (call_value_multiple_internal): Likewise.
2483 (call_value_multiple_split): Likewise.
2484 (mips_get_fcsr_mips16_<mode>): Likewise.
2485 (mips_set_fcsr_mips16_<mode>): Likewise.
2486 (tls_get_tp_mips16_<mode>): Likewise.
2487 * config/mips/mips.opt: Add -mcompact-branches option.
2488 * config/mips/predicates.md (order_operator): Ensure the
2489 conditional compact branches are only used if the ISA them.
2490 * doc/invoke.texi: Document -mcompact-branches option.
2491
2492 2015-09-01 Vladimir Makarov <vmakarov@redhat.com>
2493
2494 PR target/61578
2495 * lra-lives.c (process_bb_lives): Process move pseudos with the
2496 same value for copies and preferences
2497 * lra-constraints.c (match_reload): Create match reload pseudo
2498 with the same value from single dying input pseudo.
2499
2500 2015-09-01 Ilya Enkovich <enkovich.gnu@gmail.com>
2501
2502 PR target/67405
2503 * tree-chkp.c (chkp_find_bound_slots_1): Add NULL check.
2504
2505 2015-09-01 Aldy Hernandez <aldyh@redhat.com>
2506
2507 * trans-mem.c: Add contributed-by.
2508 * trans-mem.h: Same.
2509
2510 2015-09-01 Richard Biener <rguenther@suse.de>
2511
2512 * expr.c (expand_expr_real_1): For expanding TERed defs
2513 set the current location to that of the def if not UNKNOWN.
2514
2515 2015-09-01 David Sherwood <david.sherwood@arm.com>
2516
2517 * genmodes.c: Add CONST_MODE_UNIT_SIZE modifier.
2518
2519 2015-09-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2520
2521 * ifcvt.c (struct noce_if_info): Add then_simple, else_simple,
2522 then_cost, else_cost fields. Change branch_cost field to unsigned int.
2523 (end_ifcvt_sequence): Call set_used_flags on each insn in the sequence.
2524 Include rtl-iter.h.
2525 (noce_simple_bbs): New function.
2526 (noce_try_move): Bail if basic blocks are not simple.
2527 (noce_try_store_flag): Likewise.
2528 (noce_try_store_flag_constants): Likewise.
2529 (noce_try_addcc): Likewise.
2530 (noce_try_store_flag_mask): Likewise.
2531 (noce_try_cmove): Likewise.
2532 (noce_try_minmax): Likewise.
2533 (noce_try_abs): Likewise.
2534 (noce_try_sign_mask): Likewise.
2535 (noce_try_bitop): Likewise.
2536 (bbs_ok_for_cmove_arith): New function.
2537 (noce_emit_all_but_last): Likewise.
2538 (noce_emit_insn): Likewise.
2539 (noce_emit_bb): Likewise.
2540 (noce_try_cmove_arith): Handle non-simple basic blocks.
2541 (insn_valid_noce_process_p): New function.
2542 (contains_mem_rtx_p): Likewise.
2543 (bb_valid_for_noce_process_p): Likewise.
2544 (noce_process_if_block): Allow non-simple basic blocks
2545 where appropriate.
2546
2547 2015-08-31 Alan Lawrence <alan.lawrence@arm.com>
2548
2549 * tree-ssa-dom.c (record_equivalences_from_phis,
2550 record_equivalences_from_stmt, optimize_stmt): Use dom_valueize.
2551 (lookup_avail_expr): Likewise, and remove comment and unused temp.
2552
2553 2015-09-01 Nick Clifton <nickc@redhat.com>
2554
2555 * config/msp430/msp430.opt (mcpu): Fix typo.
2556
2557 2015-09-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2558
2559 * config/aarch64/aarch64.c (aarch64_set_current_function):
2560 Re-layout any vector parameters have non-simd layout.
2561 * config/aarch64/aarch64-builtins.c (aarch64_relayout_simd_param):
2562 Delete.
2563 (aarch64_simd_expand_args): Delete call to the above.
2564
2565 2015-08-31 Mike Frysinger <vapier@gentoo.org>
2566
2567 * doc/invoke.texi (asan-stack): Add space before option.
2568
2569 2015-08-31 Marc Glisse <marc.glisse@inria.fr>
2570
2571 * tree.h (zerop): New function.
2572 * tree.c (zerop): Likewise.
2573 (element_precision): Handle expressions.
2574 * match.pd (define_predicates): Add zerop.
2575 (x <= +Inf): Fix comment.
2576 (abs (x) == 0, A & C == C, A & C != 0): Converted from ...
2577 * fold-const.c (fold_binary_loc): ... here. Remove.
2578
2579 2015-08-31 Richard Biener <rguenther@suse.de>
2580
2581 PR middle-end/67381
2582 * genmatch.c (dt_node::gen_kids): Also treat matches as barrier.
2583
2584 2015-08-31 Marc Glisse <marc.glisse@inria.fr>
2585
2586 * match.pd (SIN, COS, TAN, COSH): Reorder for consistency.
2587 (CEXPI): New operator list.
2588 (real (conj (x)), imag (conj (x)), real (x +- y), real (cexpi (x)),
2589 imag (cexpi (x)), conj (conj (x)), conj (complex (x, y))):
2590 Converted from ...
2591 * fold-const.c (fold_unary_loc, fold_binary_loc): ... here. Remove.
2592
2593 2015-08-31 Tom de Vries <tom@codesourcery.com>
2594
2595 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt)
2596 (find_uses_to_rename_bb, find_uses_to_rename): Add and handle use_flags
2597 parameter.
2598 (find_uses_to_rename_def, find_uses_to_rename_in_loop): New function.
2599 (rewrite_into_loop_closed_ssa_1): New function, factored out of ...
2600 (rewrite_into_loop_closed_ssa): ... here.
2601 (replace_uses_in_dominated_bbs): Remove function.
2602 (rewrite_virtuals_into_loop_closed_ssa): Reimplement using
2603 rewrite_into_loop_closed_ssa_1.
2604
2605 2015-08-31 Michael Matz <matz@suse.de>
2606
2607 * cfganal.c (pre_and_rev_post_order_compute_fn): Correctly
2608 enter entry and exit blocks for reverse post order.
2609
2610 2015-08-31 Richard Biener <rguenther@suse.de>
2611
2612 * lto-streamer.h (lto_location_cache::cached_location::sysp): Add.
2613 (lto_location_cache::current_sysp): Likewise.
2614 (output_block::current_sysp): Likewise.
2615 * lto-streamer-in.c (lto_location_cache::cmp_loc): Compare sysp.
2616 (lto_location_cache::apply_location_cache): Properly record
2617 system header locations.
2618 (lto_location_cache::input_location): Input whether a file
2619 is a system header.
2620 * lto-streamer-out.c (lto_output_location): Stream whether a file
2621 is a system header.
2622
2623 2015-08-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2624
2625 PR bootstrap/67363
2626 * gcc.c (env_manager::xput): Replace strndup by xstrndup.
2627
2628 2015-08-31 Tom de Vries <tom@codesourcery.com>
2629
2630 * tree-ssa-loop-manip.c (find_uses_to_rename_use)
2631 (find_uses_to_rename_stmt, find_uses_to_rename_bb, find_uses_to_rename):
2632 Improve function header comments.
2633
2634 2015-08-30 Michael Collison <michael.collison@linaro.org>
2635
2636 PR other/67320
2637 * doc.md.texi: Rename [su]sum_widen to widen_[su]sum to reflect correct
2638 standard names
2639
2640 2015-08-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2641
2642 * config/rs6000/rs6000.c (swap_web_entry): Enlarge
2643 special_handling bitfield.
2644 (special_handling_values): Add SH_XXPERMDI and SH_CONCAT.
2645 (rtx_is_swappable_p): Add handling for vec_select/vec_concat form
2646 that represents a general xxpermdi.
2647 (insn_is_swappable_p): Add handling for vec_concat of two
2648 doublewords, which maps to a specific xxpermdi.
2649 (adjust_xxpermdi): New function.
2650 (adjust_concat): Likewise.
2651 (handle_special_swappables): Call adjust_xxpermdi and
2652 adjust_concat.
2653 (dump_swap_insn_table): Handle SH_XXPERMDI and SH_CONCAT.
2654
2655 2015-08-30 Rich Felker <dalias@libc.org>
2656
2657 * config.gcc (supported_defaults): Handle sh[123456ble]*-*-*
2658 case instead of sh[123456ble]-*-*.
2659
2660 2015-08-29 Anatoly Sokolov <aesok@post.ru>
2661
2662 * ira.c (print_unform_and_important_classes,
2663 print_translated_classes): Remove reg_class_names static array.
2664 (print_unform_and_important_classes): Rename to ...
2665 (print_uniform_and_important_classes): ... this.
2666 (ira_debug_allocno_classes): Update accordingly.
2667
2668 2015-08-29 Tom de Vries <tom@codesourcery.com>
2669
2670 PR tree-optimization/46193
2671 * omp-low.c (omp_reduction_init): Handle pointer type for min or max
2672 clause.
2673
2674 2015-08-28 Jeff Law <law@redhat.com>
2675
2676 PR lto/66752
2677 * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
2678 unable to find X NE 0 in the tables, return X as the simplified
2679 condition.
2680 (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
2681 in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH
2682 to VISISTED_BBS.
2683 * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
2684 after removing the control flow statement and unnecessary edges.
2685
2686 2015-08-28 Alan Lawrence <alan.lawrence@arm.com>
2687
2688 Revert:
2689 2015-08-27 Alan Lawrence <alan.lawrence@arm.com>
2690
2691 PR tree-optimization/67283
2692 * tree-sra.c (type_consists_of_records_p): Rename to...
2693 (scalarizable_type_p): ...this, add case for ARRAY_TYPE.
2694
2695 (completely_scalarize_record): Rename to...
2696 (completely_scalarize): ...this, add ARRAY_TYPE case, move some
2697 code to:
2698 (scalarize_elem): New.
2699
2700 2015-08-28 Jiong Wang <jiong.wang@arm.com>
2701
2702 * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Rename
2703 SYMBOL_SMALL_GOTTPREL to SYMBOL_SMALL_TLSIE.
2704 (aarch64_symbol_type): Likewise.
2705 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
2706 Likewise.
2707 (aarch64_expand_mov_immediate): Likewise.
2708 (aarch64_print_operand): Likewise.
2709 (aarch64_classify_tls_symbol): Likewise.
2710
2711 2015-08-28 Richard Biener <rguenther@suse.de>
2712
2713 * cgraphunit.c (symbol_table::compile): Move early debug generation
2714 and finish...
2715 (symbol_table::finalize_compilation_unit): ... back here and
2716 add a !seen_error () guard.
2717
2718 2015-08-27 Sebastian Pop <s.pop@samsung.com>
2719
2720 * toplev.c (process_options): Do not use flag_loop_block,
2721 flag_loop_interchange, and flag_loop_strip_mine. Add check for
2722 flag_loop_optimize_isl.
2723
2724 2015-08-27 Sebastian Pop <s.pop@samsung.com>
2725
2726 * Makefile.in (OBJS): Remove graphite-blocking.o and
2727 graphite-interchange.o.
2728 * common.opt (floop-strip-mine, floop-interchange, floop-block):
2729 Alias of floop-nest-optimize.
2730 * doc/invoke.texi (floop-strip-mine, floop-interchange, floop-block):
2731 Document as alias of -floop-nest-optimize.
2732 * graphite-blocking.c: Remove.
2733 * graphite-interchange.c: Remove.
2734 * graphite-optimize-isl.c: Include dumpfile.h.
2735 (getScheduleForBand): Add dump for tiled loops. Use
2736 PARAM_LOOP_BLOCK_TILE_SIZE instead of hard coded constant.
2737 * graphite-poly.c (scop_max_loop_depth): Remove.
2738 (print_scattering_function_1): Remove.
2739 (print_scattering_function): Remove.
2740 (print_scattering_functions): Remove.
2741 (debug_scattering_function): Remove.
2742 (debug_scattering_functions): Remove.
2743 (apply_poly_transforms): Remove use of flag_loop_block,
2744 flag_loop_strip_mine, and flag_loop_interchange.
2745 (new_poly_bb): Remove use of PBB_TRANSFORMED, PBB_SAVED, and
2746 PBB_ORIGINAL.
2747 (print_pdr_access_layout): Remove.
2748 (print_pdr): Print ISL representation.
2749 (new_scop): Remove use of SCOP_ORIGINAL_SCHEDULE,
2750 SCOP_TRANSFORMED_SCHEDULE, and SCOP_SAVED_SCHEDULE.
2751 (free_scop): Same.
2752 (openscop_print_pbb_domain): Remove.
2753 (print_pbb): Remove call to print_scattering_function.
2754 (openscop_print_scop_context): Remove.
2755 (print_scop_context): Do not print matrices anymore.
2756 (print_scop): Do not print SCOP_ORIGINAL_SCHEDULE and
2757 SCOP_TRANSFORMED_SCHEDULE.
2758 (print_isl_set): Add printing of a new line.
2759 (print_isl_map): Same.
2760 (print_isl_aff): Same.
2761 (print_isl_constraint): Same.
2762 (loop_to_lst): Remove.
2763 (scop_to_lst): Remove.
2764 (lst_indent_to): Remove.
2765 (print_lst): Remove.
2766 (debug_lst): Remove.
2767 (dot_lst_1): Remove.
2768 (dot_lst): Remove.
2769 (reverse_loop_at_level): Remove.
2770 (reverse_loop_for_pbbs): Remove.
2771 * graphite-poly.h (pdr_dim_iter_domain): Remove.
2772 (pdr_nb_params): Remove.
2773 (pdr_alias_set_dim): Remove.
2774 (pdr_subscript_dim): Remove.
2775 (pdr_iterator_dim): Remove.
2776 (pdr_parameter_dim): Remove.
2777 (same_pdr_p): Remove.
2778 (struct poly_scattering): Remove.
2779 (struct poly_bb): Remove _original, _transformed, _saved.
2780 (PBB_DOMAIN, PBB_ORIGINAL, PBB_ORIGINAL_SCATTERING): Remove.
2781 (PBB_TRANSFORMED, PBB_TRANSFORMED_SCATTERING, PBB_SAVED): Remove.
2782 (PBB_NB_LOCAL_VARIABLES): Remove.
2783 (PBB_NB_SCATTERING_TRANSFORM): Remove.
2784 (schedule_to_scattering): Remove.
2785 (number_of_write_pdrs): Remove.
2786 (pbb_dim_iter_domain): Remove.
2787 (pbb_nb_params): Remove.
2788 (pbb_nb_scattering_orig): Remove.
2789 (pbb_nb_scattering_transform): Remove.
2790 (pbb_nb_dynamic_scattering_transform): Remove.
2791 (pbb_nb_local_vars): Remove.
2792 (pbb_iterator_dim): Remove.
2793 (pbb_parameter_dim): Remove.
2794 (psco_scattering_dim): Remove.
2795 (psct_scattering_dim): Remove.
2796 (psct_local_var_dim): Remove.
2797 (psco_iterator_dim): Remove.
2798 (psct_iterator_dim): Remove.
2799 (psco_parameter_dim): Remove.
2800 (psct_parameter_dim): Remove.
2801 (psct_dynamic_dim): Remove.
2802 (psct_static_dim): Remove.
2803 (psct_add_local_variable): Remove.
2804 (new_lst_loop): Remove.
2805 (new_lst_stmt): Remove.
2806 (free_lst): Remove.
2807 (copy_lst): Remove.
2808 (lst_add_loop_under_loop): Remove.
2809 (lst_depth): Remove.
2810 (lst_dewey_number): Remove.
2811 (lst_dewey_number_at_depth): Remove.
2812 (lst_pred): Remove.
2813 (lst_succ): Remove.
2814 (lst_find_pbb): Remove.
2815 (find_lst_loop): Remove.
2816 (lst_find_first_pbb): Remove.
2817 (lst_empty_p): Remove.
2818 (lst_find_last_pbb): Remove.
2819 (lst_contains_p): Remove.
2820 (lst_contains_pbb): Remove.
2821 (lst_create_nest): Remove.
2822 (lst_remove_from_sequence): Remove.
2823 (lst_remove_loop_and_inline_stmts_in_loop_father): Remove.
2824 (lst_niter_for_loop): Remove.
2825 (pbb_update_scattering): Remove.
2826 (lst_update_scattering_under): Remove.
2827 (lst_update_scattering): Remove.
2828 (lst_insert_in_sequence): Remove.
2829 (lst_replace): Remove.
2830 (lst_substitute_3): Remove.
2831 (lst_distribute_lst): Remove.
2832 (lst_remove_all_before_including_pbb): Remove.
2833 (lst_remove_all_before_excluding_pbb): Remove.
2834 (struct scop): Remove original_schedule, transformed_schedule, and
2835 saved_schedule.
2836 (SCOP_ORIGINAL_SCHEDULE, SCOP_TRANSFORMED_SCHEDULE): Remove.
2837 (SCOP_SAVED_SCHEDULE): Remove.
2838 (poly_scattering_new): Remove.
2839 (poly_scattering_free): Remove.
2840 (poly_scattering_copy): Remove.
2841 (store_scattering_pbb): Remove.
2842 (store_lst_schedule): Remove.
2843 (restore_lst_schedule): Remove.
2844 (store_scattering): Remove.
2845 (restore_scattering_pbb): Remove.
2846 (restore_scattering): Remove.
2847 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons):
2848 Remove scattering_dimensions. Do not use pbb_dim_iter_domain:
2849 compute the scattering polyhedron dimension from the dimension of
2850 pbb->domain.
2851 (build_scop_scattering): Update call to
2852 build_pbb_scattering_polyhedrons.
2853 (build_poly_scop): Remove call to scop_to_lst.
2854 * graphite.c (graphite_transform_loops): Add call to print_scop.
2855 (gate_graphite_transforms): Remove use of flag_loop_block,
2856 flag_loop_interchange, and flag_loop_strip_mine.
2857
2858 2015-08-27 Sebastian Pop <s.pop@samsung.com>
2859
2860 * common.opt (floop-unroll-and-jam): Make alias of floop-nest-optimize.
2861 * doc/invoke.texi (-floop-unroll-and-jam): Document as alias of
2862 -floop-nest-optimize.
2863 * graphite-isl-ast-to-gimple.c (generate_luj_sepclass_opt): Remove.
2864 (generate_luj_sepclass): Remove.
2865 (generate_luj_options): Remove.
2866 (set_options): Remove opt_luj.
2867 (scop_to_isl_ast): Remove opt_luj.
2868 * graphite-optimize-isl.c (getScheduleForBand): Remove check for
2869 flag_loop_unroll_jam.
2870 (getPrevectorMap_full): Remove.
2871 (getScheduleForBandList): Remove map_sepcl.
2872 (getScheduleMap): Same.
2873 (apply_schedule_map_to_scop): Remove sepcl.
2874 (optimize_isl): Same.
2875 * graphite-poly.c (apply_poly_transforms): Remove check for
2876 flag_loop_unroll_jam.
2877 (new_poly_bb): Remove map_sepclass.
2878 * graphite-poly.h (struct poly_bb): Same.
2879 * graphite.c (gate_graphite_transforms): Remove flag_loop_unroll_jam.
2880 * params.def (PARAM_LOOP_UNROLL_JAM_SIZE)
2881 (PARAM_LOOP_UNROLL_JAM_DEPTH): Remove.
2882 * toplev.c (process_options): Remove flag_loop_unroll_jam.
2883
2884 2015-08-27 Uros Bizjak <ubizjak@gmail.com>
2885
2886 PR target/67317
2887 * config/i386/i386.md (*add<mode>3_cc): Remove insn pattern.
2888 (addqi3_cc): Ditto.
2889 (UNSPEC_ADD_CARRY): Remove.
2890 (addqi3_cconly_overflow): New expander.
2891 (*add<dwi>3_doubleword): Split to add<mode>3_cconly_overflow.
2892 Adjust for changed add<mode>3_carry.
2893 (*neg<dwi>2_doubleword): Adjust for changed add<mode>3_carry.
2894 (*sub<dwi>3_doubleword): Adjust for changed sub<mode>3_carry.
2895 (<plusminus_insn><mode>3_carry): Remove expander.
2896 (*<plusminus_insn><mode>3_carry): Split insn pattern to
2897 add<mode>3_carry and sub<mode>3_carry.
2898 (plusminus_carry_mnemonic): Remove code attribute.
2899 (add<mode>3_carry): Canonicalize insn pattern.
2900 (*addsi3_carry_zext): Ditto.
2901 (sub<mode>3_carry): Ditto.
2902 (*subsi3_carry_zext): Ditto.
2903 (adcx<mode>3): Remove insn pattern.
2904 (addcarry<mode>): New insn pattern.
2905 (subborrow<mode>): Ditto.
2906 * config/i386/i386.c (ix86_expand_strlensi_unroll_1): Use
2907 gen_addqi3_cconly_overflow instead of gen_addqi3_cc.
2908 (ix86_expand_builtin) <case IX86_BUILTIN_SBB32,
2909 case IX86_BUILTIN_SBB64, case IX86_BUILTIN_ADDCARRY32,
2910 case IX86_BUILTIN_ADDCARRY64>: Use CODE_FOR_subborrowsi,
2911 CODE_FOR_subborrowdi, CODE_FOR_addcarrysi and CODE_FOR_addcarrydi.
2912 Rewrite expander to not clobber carry flag chains.
2913
2914 2015-08-27 Pat Haugen <pthaugen@us.ibm.com>
2915
2916 * config/rs6000/vector.md (vec_shr_<mode>): Fix to do a shift
2917 instead of a rotate.
2918
2919 2015-08-27 Marek Polacek <polacek@redhat.com>
2920
2921 PR middle-end/67005
2922 * tree-ssa-dce.c (remove_dead_stmt): Also schedule fixup if removing
2923 an entry into an irreducible region.
2924
2925 2015-08-27 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2926
2927 * configure: Regenerate.
2928
2929 2015-08-27 Alan Lawrence <alan.lawrence@arm.com>
2930
2931 PR tree-optimization/67283
2932 * tree-sra.c (type_consists_of_records_p): Rename to...
2933 (scalarizable_type_p): ...this, add case for ARRAY_TYPE.
2934
2935 (completely_scalarize_record): Rename to...
2936 (completely_scalarize): ...this, add ARRAY_TYPE case, move some code to:
2937 (scalarize_elem): New.
2938
2939 2015-08-27 Alan Lawrence <alan.lawrence@arm.com>
2940
2941 * tree-sra.c (completely_scalarize_var): Rename to...
2942 (create_total_scalarization_access): ... Here. Drop call to
2943 completely_scalarize_record.
2944
2945 (analyze_all_variable_accesses): Replace completely_scalarize_var
2946 with create_total_scalarization_access and completely_scalarize_record.
2947
2948 2015-08-27 Alan Modra <amodra@gmail.com>
2949
2950 PR target/67356
2951 * config/rs6000/rs6000.md (ior<mode>_mask): Use constraint "0"
2952 for operand 1.
2953
2954 2015-08-27 Richard Biener <rguenther@suse.de>
2955
2956 * passes.c (rest_of_decl_compilation): Guard early_global_decl
2957 call with !seen_error ().
2958 * cgraphunit.c (symbol_table::finalize_compilation_unit): Move
2959 early debug generation and finish...
2960 (symbol_table::compile): ... here to put it after a !seen_error ()
2961 guard.
2962
2963 2015-08-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2964
2965 * config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit on
2966 Solaris 12+.
2967
2968 2015-08-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2969 Andre Vieira <andre.simoesdiasvieira@arm.com>
2970
2971 * config/aarch64/aarch64.md (*condjump): Handle functions > 1 MiB.
2972 (*cb<optab><mode>1): Likewise.
2973 (*tb<optab><mode>1): Likewise.
2974 (*cb<optab><mode>1): Likewise.
2975 * config/aarch64/iterators.md (inv_cb): New code attribute.
2976 (inv_tb): Likewise.
2977 * config/aarch64/aarch64.c (aarch64_gen_far_branch): New.
2978 * config/aarch64/aarch64-protos.h (aarch64_gen_far_branch): New.
2979
2980 2015-08-27 Richard Biener <rguenther@suse.de>
2981
2982 * ipa.c (cgraph_build_static_cdtor_1): Set DECL_IGNORED_P.
2983
2984 2015-08-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
2985
2986 * config/s390/s390.c (s390_emit_prologue): Add emit_barrier() after
2987 trap to fix ICE.
2988
2989 2015-08-26 Michael Meissner <meissner@linux.vnet.ibm.com>
2990
2991 * config/rs6000/rs6000-protos.h (rs6000_expand_float128_convert):
2992 Add declaration.
2993
2994 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Fix a
2995 comment.
2996 (rs6000_cannot_change_mode_class): Add support for IEEE 128-bit
2997 floating point in VSX registers.
2998 (rs6000_output_move_128bit): Always print out the set insn if we
2999 can't generate an appropriate 128-bit move.
3000 (rs6000_generate_compare): Add support for IEEE 128-bit floating
3001 point in VSX registers comparisons.
3002 (rs6000_expand_float128_convert): Likewise.
3003
3004 * config/rs6000/predicates.md (int_reg_operand_not_pseudo): New
3005 predicate for only GPR hard registers.
3006
3007 * config/rs6000/rs6000.md (FP): Add IEEE 128-bit floating point
3008 modes to iterators. Add new iterators for moving 128-bit values in
3009 scalar FPR registers and VSX registers.
3010 (FMOVE128): Likewise.
3011 (FMOVE128_FPR): Likewise.
3012 (FMOVE128_GPR): Likewise.
3013 (FMOVE128_VSX): Likewise.
3014 (FLOAT128_SFDFTF): New iterators for IEEE 128-bit floating point
3015 in VSX registers.
3016 (IFKF): Likewise.
3017 (IBM128): Likewise.
3018 (TFIFKF): Likewise.
3019 (RELOAD): Add IEEE 128-bit floating point modes.
3020 (signbittf2): Convert TF insns to add support for new IEEE 128-bit
3021 floating point in VSX registers modes.
3022 (signbit<mode>2, IBM128 iterator): Likewise.
3023 (mov<mode>_64bit_dm, FMOVE128_FPR iterator): Likewise.
3024 (mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
3025 (negtf2): Likewise.
3026 (neg<mode>2, TFIFKF iterator): Likewise.
3027 (negtf2_internal): Likewise.
3028 (abstf2): Likewise.
3029 (abs<mode>2, TFIFKF iterator): Likewise.
3030 (ieee_128bit_negative_zero): New IEEE 128-bit floating point in
3031 VSX insn support for negate, absolute value, and negative absolute
3032 value.
3033 (ieee_128bit_vsx_neg<mode>2): Likewise.
3034 (ieee_128bit_vsx_neg<mode>2_internal): Likewise.
3035 (ieee_128bit_vsx_abs<mode>2): Likewise.
3036 (ieee_128bit_vsx_abs<mode>2_internal): Likewise.
3037 (ieee_128bit_vsx_nabs<mode>2): Likewise.
3038 (ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
3039 (FP128_64): Update pack/unpack 128-bit insns for IEEE 128-bit
3040 floating point in VSX registers.
3041 (unpack<mode>_dm): Likewise.
3042 (unpack<mode>_nodm): Likewise.
3043 (pack<mode>): Likewise.
3044 (unpackv1ti): Likewise.
3045 (unpack<mode>, FMOVE128_VSX iterator): Likewise.
3046 (packv1ti): Likewise.
3047 (pack<mode>, FMOVE128_VSX iterator): Likewise.
3048 (extenddftf2): Add support for IEEE 128-bit floating point in VSX
3049 registers.
3050 (extenddftf2_internal): Likewise.
3051 (trunctfdf2): Likewise.
3052 (trunctfdf2_internal2): Likewise.
3053 (fix_trunc_helper): Likewise.
3054 (fix_trunctfdi2"): Likewise.
3055 (floatditf2): Likewise.
3056 (floatuns<mode>tf2): Likewise.
3057 (extend<FLOAT128_SFDFTF:mode><IFKF:mode>2): Likewise.
3058 (trunc<IFKF:mode><FLOAT128_SFDFTF:mode>2): Likewise.
3059 (fix_trunc<IFKF:mode><SDI:mode>2): Likewise.
3060 (fixuns_trunc<IFKF:mode><SDI:mode>2): Likewise.
3061 (float<SDI:mode><IFKF:mode>2): Likewise.
3062 (floatuns<SDI:mode><IFKF:mode>2): Likewise.
3063
3064 2015-08-26 Renlin Li <renlin.li@arm.com>
3065
3066 * config/aarch64/aarch64.md (*aarch64_bfi<GPI:mode><ALLX:mode>4): New.
3067
3068 2015-08-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
3069 Jiong Wang <jiong.wang@arm.com>
3070
3071 * config/aarch64/aarch64.md (UNSPEC_GOTTINYTLS): New UNSPEC.
3072 (tlsie_tiny_<mode>): New define_insn.
3073 (tlsie_tiny_sidi): Likewise.
3074 * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Define
3075 SYMBOL_TINY_TLSIE.
3076 (aarch64_symbol_context): New comment for SYMBOL_TINY_TLSIE.
3077 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support
3078 SYMBOL_TINY_TLSIE.
3079 (aarch64_expand_mov_immediate): Likewise.
3080 (aarch64_print_operand): Likewise.
3081 (arch64_classify_tls_symbol): Likewise.
3082
3083 2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
3084
3085 * config/arm/arm-arches.def: Replace single value flags with
3086 an initializer built from ARM_FSET_MAKE_CPU1.
3087 * config/arm/arm-cores.def: Likewise.
3088 * config/arm/arm.c: (all_cores): Remove ARM_FSET_MAKE_CPU1
3089 derivation from the ARM_CORE macro definition, use the given value
3090 instead.
3091 (all_architectures): Remove ARM_FSET_MAKE_CPU1 derivation from the
3092 ARM_ARCH macro definition, use the given value instead.
3093
3094 2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
3095
3096 * config/arm/arm-builtins.c (def_mbuiltin): Test all flags in a
3097 feature set.
3098 (struct builtin_description): Replace field mask with field
3099 features.
3100 (IWMMXT_BUILTIN): Use ARM_FSET macros for feature flags.
3101 (IWMMXT2_BUILTIN): Likewise.
3102 (IWMMXT2_BUILTIN2): Likewise.
3103 (FP_BUILTIN): Likewise.
3104 (CRC32_BUILTIN): Likewise.
3105 (CRYPTO_BUILTIN): Likewise.
3106 (iwmmx_mbuiltin): Likewise.
3107 (iwmmx2_mbuiltin): Likewise.
3108 (arm_init_iwmmxt_builtins): Likewise. Also, update for change to
3109 struct builtin_description.
3110
3111 2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
3112
3113 * config/arm/arm-builtins.c (def_mbuiltin): Use ARM_FSET macro.
3114 (struct builtin_description): Change type of mask to unsigned
3115 long.
3116 * config/arm/arm-protos.h (insn_flags): Declare as type
3117 arm_feature_set.
3118 (tune_flags): Likewise.
3119 * config/arm/arm.c (feature_count): New.
3120 (insn_flags): Define as type arm_feature_set.
3121 (tune_flags): Likewise.
3122 (struct processors): Define field flags as type arm_feature_set.
3123 (all_cores): Update for change to struct processors.
3124 (all_architectures): Likewise.
3125 (arm_option_check_internal): Use arm_feature_set and ARM_FSET
3126 macros.
3127 (arm_option_override_internal): Likewise.
3128 (arm_option_override): Likewise.
3129
3130 2015-08-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
3131 Jiong Wang <jiong.wang@arm.com>
3132
3133 * config/aarch64/aarch64.c (initialize_aarch64_tls_size): Set default
3134 tls size for tiny, small, large memory model.
3135 (aarch64_load_symref_appropriately): Support new symbol types.
3136 (aarch64_expand_mov_immediate): Likewise.
3137 (aarch64_print_operand): Likewise.
3138 (aarch64_classify_tls_symbol): Likewise.
3139 * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Likewise.
3140 (aarch64_symbol_type): Likewise.
3141 * config/aarch64/aarch64.md (tlsle): Deleted.
3142 (tlsle12_<mode>): New define_insn.
3143 (tlsle24_<mode>): Likewise.
3144 (tlsle32_<mode>): Likewise.
3145 (tlsle48_<mode>): Likewise.
3146 * doc/sourcebuild.texi (AArch64-specific attributes): Document
3147 "aarch64_tlsle32".
3148
3149 2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
3150
3151 * config/arm/arm-protos.h (FL_NONE): New.
3152 (FL_ANY): New.
3153 (arm_feature_set): New.
3154 (ARM_FSET_MAKE): New.
3155 (ARM_FSET_MAKE_CPU1): New.
3156 (ARM_FSET_MAKE_CPU2): New.
3157 (ARM_FSET_CPU1): New.
3158 (ARM_FSET_CPU2): New.
3159 (ARM_FSET_EMPTY): New.
3160 (ARM_FSET_ANY): New.
3161 (ARM_FSET_HAS_CPU1): New.
3162 (ARM_FSET_HAS_CPU2): New.
3163 (ARM_FSET_HAS_CPU): New.
3164 (ARM_FSET_ADD_CPU1): New.
3165 (ARM_FSET_ADD_CPU2): New.
3166 (ARM_FSET_DEL_CPU1): New.
3167 (ARM_FSET_DEL_CPU2): New.
3168 (ARM_FSET_UNION): New.
3169 (ARM_FSET_INTER): New.
3170 (ARM_FSET_XOR): New.
3171 (ARM_FSET_EXCLUDE): New.
3172 (AFM_FSET_IS_EMPTY): New.
3173 (ARM_FSET_CPU_SUBSET): New.
3174
3175 2015-08-26 Jiong Wang <jiong.wang@arm.com>
3176
3177 * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename
3178 SYMBOL_TLSLE to SYMBOL_TLSLE24.
3179 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
3180 Likewise.
3181 (aarch64_expand_mov_immediate): Likewise.
3182 (aarch64_print_operand): Likewise.
3183 (aarch64_classify_symbol): Likewise.
3184
3185 2015-08-26 Jiong Wang <jiong.wang@arm.com>
3186
3187 * config/aarch64/aarch64.opt (mtls-size): New entry.
3188 * config/aarch64/aarch64.c (initialize_aarch64_tls_size): New function.
3189 (aarch64_override_options_internal): Call initialize_aarch64_tls_size.
3190 * doc/invoke.texi (AArch64 Options): Document -mtls-size.
3191
3192 2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
3193
3194 * gcc/config/arm/arm-cores.def: Add FL_FOR_ARCH flag for each
3195 ARM_CORE entry. Fix some white-space.
3196 * gcc/config/arm/arm.c: Remove FL_FOR_ARCH derivation from
3197 ARM_CORE definition.
3198
3199 2015-08-26 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
3200
3201 * fold-const.c (fold_binary_loc) : Move Optimize
3202 root(x)*root(y) as root(x*y) to match.pd.
3203 Move Optimize expN(x)*expN(y) as expN(x+y) to match.pd.
3204 Move Optimize pow(x,y)*pow(x,z) as pow(x,y+z) to match.pd.
3205 Move Optimize a/root(b/c) into a*root(c/b) to match.pd.
3206 Move Optimize x/expN(y) into x*expN(-y) to match.pd.
3207 * match.pd (mult (root:s @0) (root:s @1)): New simplifier.
3208 (mult (POW:s @0 @1) (POW:s @0 @2)) : New simplifier.
3209 (mult (exps:s @0) (exps:s @1)) : New simplifier.
3210 (rdiv @0 (root:s (rdiv:s @1 @2))) : New simplifier.
3211 (rdiv @0 (exps:s @1)) : New simplifier.
3212
3213 2015-08-25 Joseph Myers <joseph@codesourcery.com>
3214
3215 * gcc.c (driver::finalize): Only assign to extra_specs if
3216 [EXTRA_SPECS].
3217
3218 2015-08-25 Marek Polacek <polacek@redhat.com>
3219
3220 PR middle-end/67330
3221 * varasm.c (declare_weak): Return after giving an error.
3222
3223 2015-08-25 David Malcolm <dmalcolm@redhat.com>
3224
3225 * gcc-main.c (main): Add params to driver ctor.
3226 * gcc.c (class env_manager): New.
3227 (env): New global.
3228 (env_manager::init): New.
3229 (env_manager::get): New.
3230 (env_manager::xput): New.
3231 (env_manager::restore): New.
3232 Poison getenv and putenv.
3233 (DEFAULT_TARGET_SYSTEM_ROOT): New.
3234 (target_system_root): Update initialization to use
3235 DEFAULT_TARGET_SYSTEM_ROOT.
3236 (struct spec_list): Add field "default_ptr".
3237 (INIT_STATIC_SPEC): Initialize new field "default_ptr".
3238 (init_spec): Likewise.
3239 (set_spec): Clear field "default_ptr".
3240 (read_specs): Free "spec" and "buffer".
3241 (xputenv): Reimplement in terms of env_manager.
3242 (process_command): Replace ::getenv calls with calls to the
3243 env_manager singleton.
3244 (process_brace_body): Free string in three places.
3245 (driver::driver): New.
3246 (driver::~driver): New.
3247 (used_arg): Convert from a function to...
3248 (class used_arg_t): ...this class, and...
3249 (used_arg): ...this new global instance.
3250 (used_arg_t::finalize): New function.
3251 (getenv_spec_function): Add "const" to local "value". Replace
3252 ::getenv call with call to the env_manager singleton.
3253 (path_prefix_reset): New function.
3254 (driver::finalize): New function.
3255 * gcc.h (driver::driver): New.
3256 (driver::~driver): New.
3257 (driver::finalize): New.
3258
3259 2015-08-25 Nathan Sidwell <nathan@acm.org>
3260
3261 * optabs.c (emit_indirect_jump): Don't try an emit a jump if the
3262 target doesn't have one.
3263
3264 2015-08-25 Segher Boessenkool <segher@kernel.crashing.org>
3265
3266 PR target/67346
3267 * config/rs6000/rs6000.md (*ior<mode>_mask): Use a match_scratch.
3268
3269 2015-08-25 Segher Boessenkool <segher@kernel.crashing.org>
3270
3271 PR target/67344
3272 * config/rs6000/rs6000.md (*and<mode>3_imm_dot_shifted): Change to
3273 a define_insn, remove second alternative.
3274
3275 2015-08-25 Thomas Schwinge <thomas@codesourcery.com>
3276 Joseph Myers <joseph@codesourcery.com>
3277
3278 * gcc.c (struct switchstr): Expand comment.
3279
3280 2015-08-25 Nathan Sidwell <nathan@acm.org>
3281
3282 * config/nvptx/nvptx.c (nvptx_write_function_decl): Reformat.
3283 (nvptx_reorg_subreg): Pass insn pattern to asm_operands.
3284
3285 2015-08-25 Richard Biener <rguenther@suse.de>
3286
3287 PR middle-end/67306
3288 * genmatch.c (expr::gen_transform): Verify the result of
3289 builtin_decl_implicit.
3290 (dt_simplify::gen_1): Likewise.
3291
3292 2015-08-25 Thomas Preud'homme <thomas.preudhomme@arm.com>
3293
3294 * config/arm/constraints.md: Also list Cs and US ARM-specific
3295 constraints as used.
3296
3297 2015-08-24 Kaz Kojima <kkojima@gcc.gnu.org>
3298
3299 PR target/66609
3300 * config/sh/sh.c (sh_asm_output_addr_const_extra): Handle
3301 UNSPEC_PCREL.
3302 (nonpic_symbol_mentioned_p): Likewise.
3303 (sh_delegitimize_address): Likewise.
3304 (sh_function_ok_for_sibcall): Take into account weak symbols.
3305 (sh_expand_sym_label2reg): New.
3306 * config/sh/sh-protos.h (sh_expand_sym_label2reg): Declare.
3307 * config/sh/sh.md (UNSPEC_PCREL): New enum.
3308 (call_pcrel): Use sh_expand_sym_label2reg.
3309 (call_value_pcrel, sibcall_pcrel, sibcall_value_pcrel): Likewise.
3310 (symPCREL_label2reg) New expand.
3311
3312 2015-08-24 Aditya Kumar <aditya.k7@samsung.com>
3313
3314 * graphite-poly.c: Change type of region from void* to sese.
3315 * graphite-poly.h (struct scop): Changing the type of scop::region
3316 from void* to sese. Change accessor macro accordingly.
3317 * graphite-sese-to-poly.c (extract_affine_chrec): Use accessor macro.
3318
3319 2015-08-24 Aditya Kumar <aditya.k7@samsung.com>
3320
3321 * graphite-scop-detection.c (stmt_simple_for_scop_p):
3322 Constrain only on INTEGER_TYPE.
3323
3324 2015-08-24 Michael Meissner <meissner@linux.vnet.ibm.com>
3325
3326 PR target/67211
3327 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Set
3328 -mefficient-unaligned-vsx on ISA 2.7.
3329
3330 * config/rs6000/rs6000.opt (-mefficient-unaligned-vsx): Convert
3331 option to a masked option.
3332
3333 * config/rs6000/rs6000.c (rs6000_option_override_internal): Rework
3334 logic for -mefficient-unaligned-vsx so that it is set via an arch
3335 ISA option, instead of being set if -mtune=power8 is set. Move
3336 -mefficient-unaligned-vsx and -mallow-movmisalign handling to be
3337 near other default option handling.
3338
3339 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
3340
3341 * genflags.c (gen_macro): Delete.
3342 (gen_proto): Don't create GEN.*CALL.* macros.
3343 * gensupport.h (get_file_location): Declare.
3344 * gensupport.c (rtx_locs): New variable.
3345 (read_md_rtx): Record rtx locations.
3346 (get_file_location): New function.
3347 * target-insns.def (call, call_pop, call_value, call_value_pop)
3348 (sibcall, sibcall_value): New patterns.
3349 * gentarget-def.c (parse_argument): New function.
3350 (def_target_insn): Use it. Handle optional operands. Raise an
3351 error if an .md pattern has the wrong number of operands for the
3352 pattern name. Remove the names of unused operands from the prototype.
3353 * builtins.c (expand_builtin_apply): Use targetm functions
3354 instead of HAVE_call_value and GEN_CALL_VALUE.
3355 * calls.c (emit_call_1): Likewise. Remove support for sibcall_pop
3356 and sibcall_value_pop.
3357 * config/aarch64/aarch64.md (untyped_call): Use gen_call instead
3358 of GEN_CALL.
3359 * config/alpha/alpha.md (untyped_call): Likewise.
3360 * config/iq2000/iq2000.md (untyped_call): Likewise.
3361 * config/m68k/m68k.md (untyped_call): Likewise.
3362 * config/mips/mips.md (untyped_call): Likewise.
3363 * config/pa/pa.md (untyped_call): Likewise.
3364 * config/rs6000/rs6000.md (untyped_call): Likewise.
3365 * config/sparc/sparc.md (untyped_call): Likewise.
3366 * config/tilegx/tilegx.md (untyped_call): Likewise.
3367 * config/tilepro/tilepro.md (untyped_call): Likewise.
3368 * config/visium/visium.md (untyped_call): Likewise.
3369 * config/alpha/alpha.c (alpha_emit_xfloating_libcall): Use
3370 gen_call_value instead of GEN_CALL_VALUE.
3371 * config/arm/arm.md (untyped_call): Likewise.
3372 * config/cr16/cr16.c (cr16_function_arg): Remove reference to
3373 GEN_CALL.
3374
3375 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
3376
3377 * ifcvt.c (HAVE_incscc, HAVE_decscc, HAVE_cbranchcc4): Delete.
3378 (have_cbranchcc4): New variable.
3379 (cc_in_cond, noce_emit_cmove, noce_get_alt_condition)
3380 (noce_get_condition): Use it instead of HAVE_cbranchcc4.
3381 (if_convert): Initialize have_cbranchcc4.
3382
3383 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
3384
3385 * builtins.c (expand_cmpstrn): Rename to...
3386 (expand_cmpstrn_or_cmpmem): ...this.
3387 (expand_builtin_strcmp, expand_builtin_strncmp): Update accordingly.
3388 (expand_builtin_memcmp): Use optabs instead of HAVE_cmpmem/gen_cmpmem.
3389 Remove mode argument.
3390 (expand_builtin): Update accordingly.
3391
3392 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
3393
3394 * builtins.c (expand_cmpstr, expand_cmpstrn): New functions.
3395 (expand_builtin_strcmp, expand_builtin_strncmp): Use them. Remove
3396 references to HAVE_cmpstr{,n}si and CODE_FOR_cmpstr{,n}si.
3397 * config/m32c/blkmov.md (cmpstrsi): Fix predicates of operands 1 and 2.
3398 Add predicates for operands 0 and 3.
3399 * config/rx/rx.md (cmpstrnsi): Remove force_operand for the length
3400 operand.
3401 * config/sh/sh.md (cmpstrnsi): Change the length predicate from
3402 immediate_operand to nonmemory_operand.
3403
3404 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
3405
3406 * df-scan.c (df_insn_info_init_fields): New function, split out
3407 from...
3408 (df_insn_create_insn_record): ...here.
3409 (df_insn_info_free_fields): New function, split out from...
3410 (df_insn_info_delete): ...here.
3411 (df_insn_rescan): Use the new functions instead of freeing and
3412 reallocating the df_insn_info.
3413
3414 2015-08-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3415
3416 * doc/install.texi (Binaries): Remove links no longer valid.
3417
3418 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
3419
3420 * config/nvptx/mkoffload.c (process): Replace
3421 GOMP_offload_{,un}register with GOMP_offload_{,un}register_ver.
3422
3423 2015-08-24 H.J. Lu <hongjiu.lu@intel.com>
3424
3425 PR target/67329
3426 * config/i386/i386.c (iamcu_cost): Set MOVE_RATIO cost to 9.
3427
3428 2015-08-24 Renlin Li <renlin.li@arm.com>
3429
3430 * config/arm/arm-protos.h (arm_valid_symbolic_address_p): Declare.
3431 * config/arm/arm.c (arm_valid_symbolic_address_p): Define.
3432 * config/arm/arm.md (arm_movt): Use arm_valid_symbolic_address_p.
3433 * config/arm/constraints.md ("j"): Add check for high code.
3434
3435 2015-08-24 Tom de Vries <tom@codesourcery.com>
3436
3437 PR tree-optimization/65468
3438 * omp-low.c (expand_omp_for_static_chunk): Remove inner loop if
3439 chunk_size is one.
3440
3441 2015-08-24 Nathan Sidwell <nathan@acm.org>
3442
3443 * config/nvptx/nvptx.c (walk_args_for_param): Revert previous
3444 change to nvptx_type_from_mode call. Use arg_promotion for both
3445 split and non-split args.
3446
3447 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
3448
3449 * target-insns.def (movstr): New pattern.
3450 * builtins.c (HAVE_movstr, CODE_FOR_movstr): Delete.
3451 (expand_movstr): Use targetm rather than HAVE_movstr/
3452 CODE_FOR_movstr.
3453
3454 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
3455
3456 * config/microblaze/microblaze.c (microblaze_classify_unspec): Fix
3457 cast syntax.
3458
3459 2015-08-24 Andrew Pinski <apinski@cavium.com>
3460
3461 * config/aarch64/aarch64-tuning-flags.def: Remove all index to
3462 AARCH64_EXTRA_TUNING_OPTION.
3463 * config/aarch64/aarch64-protos.h (aarch64_extra_tuning_flags_index):
3464 New enum.
3465 (aarch64_extra_tuning_flags): Base the shifted value on the index
3466 instead of the argument to AARCH64_EXTRA_TUNING_OPTION.
3467 * config/aarch64/aarch64.c: Remove the last argument to
3468 AARCH64_EXTRA_TUNING_OPTION.
3469
3470 2015-08-23 Nathan Sidwell <nathan@acm.org>
3471
3472 * config/nvptx/nvptx.c (walk_args_for_param): Promote arg reg
3473 decls.
3474 (nvptx_declare_function_name): Insert formatting tabs for
3475 consistency.
3476
3477 2015-08-23 Tom de Vries <tom@codesourcery.com>
3478
3479 * omp-low.c (expand_omp_taskreg): If in ssa, set rhs of parcopy stmt to
3480 parm_decl, rather than generating a dummy default def in cfun.
3481 * tree-cfg.c (replace_ssa_name): Assume no default defs. Make sure
3482 ssa_name from cfun and child_fn do not share a stmt as def stmt.
3483 (move_stmt_op): Handle PARM_DECl.
3484 (gather_ssa_name_hash_map_from): New function.
3485 (move_sese_region_to_fn): Add default defs for function params, and add
3486 them to vars_map. Release copied ssa names.
3487 * tree-cfg.h (gather_ssa_name_hash_map_from): Declare.
3488
3489 2015-08-23 Tom de Vries <tom@codesourcery.com>
3490
3491 * doc/sourcebuild.texi: Rename vect_no_int_max with
3492 vect_no_int_min_max. Update description.
3493
3494 2015-08-22 Andrew Pinski <apinski@cavium.com>
3495
3496 * aarch64-fusion-pairs.def: Remove all index to AARCH64_FUSION_PAIR.
3497 * config/aarch64/aarch64-protos.h
3498 (aarch64_fusion_pairs_index): New enum.
3499 (aarch64_fusion_pairs): Base the shifted value on the index instead
3500 Rewrite AARCH64_FUSE_ALL to be based on the end index.
3501 of the argument to AARCH64_FUSION_PAIR.
3502 * config/aarch64/aarch64.c: Remove the last argument to
3503 AARCH64_FUSION_PAIR.
3504
3505 2015-08-22 Mikhail Maltsev <maltsevm@gmail.com>
3506
3507 * dominance.c (new_zero_array): Define.
3508 (dom_info): Redefine as class with proper encapsulation.
3509 (dom_info::m_n_basic_blocks, m_reverse, m_start_block, m_end_block):
3510 Add new members.
3511 (dom_info::dom_info, ~dom_info): Define. Use new/delete for memory
3512 allocations/deallocations. Pass function as parameter (instead of
3513 using cfun).
3514 (dom_info::get_idom): Define accessor method.
3515 (dom_info::calc_dfs_tree_nonrec, calc_dfs_tree, compress, eval,
3516 link_roots, calc_idoms): Redefine as class members. Do not use cfun.
3517 (calculate_dominance_info): Adjust to use dom_info class.
3518 (verify_dominators): Likewise.
3519
3520 2015-08-21 Alexandre Oliva <aoliva@redhat.com>
3521
3522 * print-rtl.c (print_rtx): Check the correct range for
3523 flag_dump_unnumbered_links to behave as documented.
3524
3525 PR rtl-optimization/67227
3526 PR rtl-optimization/64164
3527 * alias.c (memrefs_conflict_p): Handle VALUEs in PLUS better.
3528 (nonoverlapping_memrefs_p): Test offsets and sizes when given
3529 identical gimple_reg exprs.
3530
3531 2015-08-21 Nathan Sidwell <nathan@acm.org>
3532
3533 * config/nvptx/nvptx.md (allocate_stack): Emit sorry during
3534 expansion.
3535 * config/nvptx/nvptx.c (nvptx_declare_function_name): Look at
3536 crtl->stack_alignment_needed to determine alignment.
3537 (nvptx_get_drap_rtx): New.
3538 (TARGET_GET_DRAP_RTX): Override.
3539 * config/nvptx/nvptx.h (MAX_STACK_ALIGNMENT): Set.
3540
3541 2015-08-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3542
3543 * config.build: Remove case for m68000-hp-hpux* | m68k-hp-hpux*.
3544
3545 2015-08-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3546
3547 * configure.ac: Remove uwin* cases.
3548 * config.build: Remove cases for i370-*-opened*, i370-*-mvs*,
3549 i[34567]86-*-sco3.2v5*, i[34567]86-sequent-ptx4*,
3550 i[34567]86-sequent-sysv4*, i[34567]86-*-sysv4*,
3551 i[34567]86-*-udk*, i[34567]86-*-uwin*, i386-*-vsta.
3552 * config.host: Remove cases for i370-*-opened*, i370-*-mvs*,
3553 i[34567]86-*-uwin*, powerpc-*-beos*.
3554
3555 2015-08-21 Richard Sandiford <richard.sandiford@arm.com>
3556
3557 * gencodes.c (gencodes): Print the comma for the preceding
3558 enum value rather than the current one. Use aliased enum values
3559 rather than #defines for compiled-out patterns.
3560 (main): Update accordingly. Replace LAST_INSN_CODE with
3561 NUM_INSN_CODES.
3562 * lra.c (insn_code_data): Update accordingly.
3563 (finish_insn_code_data_once, get_static_insn_data): Likewise.
3564 * recog.h (target_recog): Likewise.
3565 (preprocess_insn_constraints): Change parameter to unsigned int.
3566 * recog.c (preprocess_insn_constraints): Likewise.
3567 (recog_init): Replace LAST_INSN_CODE with NUM_INSN_CODES.
3568 * tree-vect-stmts.c (vectorizable_operation): Simplify.
3569
3570 2015-08-21 Markus Trippelsdorf <markus@trippelsdorf.de>
3571
3572 PR rtl-optimization/61657
3573 * loop-iv.c (iv_number_of_iterations): Declare up and down as
3574 unsigned. Remove superflous uint64_t cast.
3575
3576 2014-08-21 Felix Yang <felix.yang@huawei.com>
3577 Jiji Jiang <jiangjiji@huawei.com>
3578
3579 * value-prof.c (interesting_stringop_to_profile_p): Removed FNDECL
3580 argument and get builtin function code directly from CALL.
3581 (gimple_stringop_fixed_value): Modified accordingly.
3582 (gimple_stringops_transform, gimple_stringops_values_to_profile):
3583 Modified accordingly and only accept BUILT_IN_NORMAL string operations.
3584
3585 2015-08-21 Dominik Vogt <vogt@linux.vnet.ibm.com>
3586
3587 * config/s390/s390-builtins.def: Fix value range of vec_load_bndry.
3588
3589 2015-08-21 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
3590
3591 * fold-const.c (fold_binary_loc) : Move sqrt(x)*sqrt(x) as x
3592 to match.pd.
3593 Move Optimize pow(x,y)*pow(z,y) as pow(x*z,y)to match.pd.
3594 Move Optimize tan(x)*cos(x) as sin(x) to match.pd.
3595 Move Optimize x*pow(x,c) as pow(x,c+1) to match.pd.
3596 Move Optimize pow(x,c)*x as pow(x,c+1) to match.pd.
3597 Move Optimize sin(x)/cos(x) as tan(x) to match.pd.
3598 Move Optimize cos(x)/sin(x) as 1.0/tan(x) to match.pd.
3599 Move Optimize sin(x)/tan(x) as cos(x) to match.pd.
3600 Move Optimize tan(x)/sin(x) as 1.0/cos(x) to match.pd.
3601 Move Optimize pow(x,c)/x as pow(x,c-1) to match.pd.
3602 Move Optimize x/pow(y,z) into x*pow(y,-z) to match.pd.
3603
3604 * match.pd (SIN ) : New Operator.
3605 (TAN) : New Operator.
3606 (mult (SQRT@1 @0) @1) : New simplifier.
3607 (mult (POW:s @0 @1) (POW:s @2 @1)) : New simplifier.
3608 (mult:c (TAN:s @0) (COS:s @0)) : New simplifier.
3609 (mult:c (TAN:s @0) (COS:s @0)) : New simplifier.
3610 (rdiv (SIN:s @0) (COS:s @0)) : New simplifier.
3611 (rdiv (COS:s @0) (SIN:s @0)) : New simplifier.
3612 (rdiv (SIN:s @0) (TAN:s @0)) : New simplifier.
3613 (rdiv (TAN:s @0) (SIN:s @0)) : New simplifier.
3614 (rdiv (POW:s @0 REAL_CST@1) @0) : New simplifier.
3615 (rdiv @0 (SQRT:s (rdiv:s @1 @2))) : New simplifier.
3616 (rdiv @0 (POW:s @1 @2)) : New simplifier.
3617
3618 2015-08-21 Bin Cheng <bin.cheng@arm.com>
3619
3620 * tree-ssa-loop-niter.c (simplify_using_initial_conditions): Break
3621 loop if EXPR is simplified to const value.
3622
3623 2015-08-21 Yury Gribov <y.gribov@samsung.com>
3624
3625 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_NONNULL_ARG,
3626 BUILT_IN_UBSAN_HANDLE_NONNULL_ARG): Fix builtin types.
3627
3628 2015-08-21 Richard Biener <rguenther@suse.de>
3629
3630 PR middle-end/67285
3631 * gimple-fold.c (replace_stmt_with_simplification): Assert
3632 seq is empty when replacing a call with itself but different
3633 arguments.
3634 * gimple-match-head.c (maybe_push_res_to_seq): When pushing
3635 a call require that it is const.
3636
3637 2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3638
3639 * defaults.h (CONSTANT_ALIGNMENT): New macro definition.
3640 * builtins.c (get_object_alignment_2): Adjust.
3641 * varasm.c (align_variable): Likewise.
3642 (get_variable_align): Likewise.
3643 (build_constant_desc): Likewise.
3644 (force_const_mem): Likewise.
3645 * doc/tm.texi.in: Likewise.
3646 * doc/tm.texi: Regenerate.
3647
3648 2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3649
3650 * genconfig.c (main): Always define HAVE_cc0.
3651 * recog.c (rest_of_handle_peephole2): Adjust.
3652
3653 2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3654
3655 * reorg.c (relax_delay_slots): Don't use #if to check value of
3656 HAVE_cc0.
3657
3658 2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3659
3660 * genconfig.c (main): Always define HAVE_CONDITIONAL_EXECUTION.
3661 * targhooks.c (default_have_conditional_execution): Adjust.
3662
3663 2015-08-20 Richard Sandiford <richard.sandiford@arm.com>
3664
3665 * rtl.h (rtvec_all_equal_p): Declare.
3666 (const_vec_duplicate_p, unwrap_const_vec_duplicate): New functions.
3667 * rtl.c (rtvec_all_equal_p): New function.
3668 * expmed.c (expand_mult): Use unwrap_const_vec_duplicate.
3669 * config/aarch64/aarch64.c (aarch64_vect_float_const_representable_p)
3670 (aarch64_simd_dup_constant): Use const_vec_duplicate_p.
3671 * config/arm/arm.c (neon_vdup_constant): Likewise.
3672 * config/s390/s390.c (s390_contiguous_bitmask_vector_p): Likewise.
3673 * config/tilegx/constraints.md (W, Y): Likewise.
3674 * config/tilepro/constraints.md (W, Y): Likewise.
3675 * config/spu/spu.c (spu_legitimate_constant_p): Likewise.
3676 (classify_immediate): Use unwrap_const_vec_duplicate.
3677 * config/tilepro/predicates.md (reg_or_v4s8bit_operand): Likewise.
3678 (reg_or_v2s8bit_operand): Likewise.
3679 * config/tilegx/predicates.md (reg_or_v8s8bit_operand): Likewise.
3680 (reg_or_v4s8bit_operand): Likewise.
3681
3682 2015-08-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3683
3684 * config/rs6000/altivec.h (vec_pmsum_be): New #define.
3685 (vec_shasigma_be): New #define.
3686 * config/rs6000/rs6000-builtin.def (VPMSUMB): New BU_P8V_AV2_2.
3687 (VPMSUMH): Likewise.
3688 (VPMSUMW): Likewise.
3689 (VPMSUMD): Likewise.
3690 (VPMSUM): New BU_P8V_OVERLOAD_2.
3691 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): New
3692 entries for VEC_MADD and VEC_VPMSUM.
3693
3694 2015-08-20 Georg-Johann Lay <avr@gjlay.de>
3695
3696 * config/avr/avr.c (avr_insert_attributes): In diagnostic essage:
3697 Multiply argument avr_n_flash by 64 to match unit of "KiB".
3698 (avr_pgm_check_var_decl): Same.
3699
3700 2015-08-20 Alan Lawrence <alan.lawrence@arm.com>
3701
3702 * config/arm/arm-builtins.c (arm_init_simd_builtin_types): Move
3703 initialization of HFmode scalar type (float16_t) to...
3704 (arm_init_fp16_builtins): ... Here. Combine with __fp16 initialization
3705 code.
3706
3707 (arm_init_builtins): Call arm_init_fp16_builtins earlier and always.
3708
3709 * config/arm/arm_neon.h (vcvt_f16_f32, vcvt_f32_f16): Condition on
3710 having an -mfp16-format.
3711
3712 2015-08-20 Richard Sandiford <richard.sandiford@arm.com>
3713
3714 * config/i386/predicates.md (vector_all_ones_operand): Use
3715 CONSTM1_RTX to simplify definition.
3716
3717 2015-08-20 Richard Biener <rguenther@suse.de>
3718
3719 * toplev.c (compile_file): Remove loop calling late_global_decl
3720 on all symbols.
3721 * varpool.c (varpool_node::assemble_decl): Call late_global_decl
3722 on decls we assembled.
3723
3724 2015-08-20 James Greenhalgh <james.greenhalgh@arm.com>
3725
3726 * common/config/aarch64/aarch64-common.c
3727 (AARCH64_CPU_NAME_LENGTH): Delete.
3728 (aarch64_option_extension): New.
3729 (all_extensions): Likewise.
3730 (processor_name_to_arch): Likewise.
3731 (arch_to_arch_name): Likewise.
3732 (all_cores): New.
3733 (all_architectures): Likewise.
3734 (aarch64_get_extension_string_for_isa_flags): Likewise.
3735 (aarch64_rewrite_selected_cpu): Change to rewrite CPU names to
3736 architecture names.
3737 * config/aarch64/aarch64-protos.h
3738 (aarch64_get_extension_string_for_isa_flags): New.
3739 * config/aarch64/aarch64.c (aarch64_print_extension): Delete.
3740 (aarch64_option_print): Get the string to print from
3741 aarch64_get_extension_string_for_isa_flags.
3742 (aarch64_declare_function_name): Likewise.
3743 * config/aarch64/aarch64.h (BIG_LITTLE_SPEC): Rename to...
3744 (MCPU_TO_MARCH_SPEC): This.
3745 (ASM_CPU_SPEC): Use it.
3746 (BIG_LITTLE_SPEC_FUNCTIONS): Rename to...
3747 (MCPU_TO_MARCH_SPEC_FUNCTIONS): ...This.
3748 (EXTRA_SPEC_FUNCTIONS): Use it.
3749
3750 2015-08-20 Simon Dardis <simon.dardis@imgtec.com>
3751
3752 * config/mips/mips.c (mips_expand_block_move): Enable inline memcpy
3753 expansion when !ISA_HAS_LWL_LWR.
3754 (mips_block_move_straight): Update the size of elements copied to
3755 account for alignment when !ISA_HAS_LWL_LWR.
3756 * config/mips/mips.h (MIPS_MIN_MOVE_MEM_ALIGN): New macro.
3757
3758 2015-08-19 Jiong Wang <jiong.wang@arm.com>
3759
3760 * expr.c (expand_expr_real_2): Check gimple statement during
3761 LSHIFT_EXPR expand.
3762
3763 2015-08-19 Magnus Granberg <zorry@gentoo.org>
3764
3765 * common.opt (fstack-protector): Initialize to -1.
3766 (fstack-protector-all): Likewise.
3767 (fstack-protector-strong): Likewise.
3768 (fstack-protector-explicit): Likewise.
3769 * configure.ac: Add --enable-default-ssp.
3770 * defaults.h (DEFAULT_FLAG_SSP): New. Default SSP to strong.
3771 * opts.c (finish_options): Update opts->x_flag_stack_protect if it is
3772 -1.
3773 * doc/install.texi: Document --enable-default-ssp.
3774 * config.in: Regenerated.
3775 * configure: Likewise.
3776
3777 2015-08-19 Alexandre Oliva <aoliva@redhat.com>
3778
3779 PR rtl-optimization/64164
3780 * cfgexpand.c (parm_maybe_byref_p): Renamed to...
3781 (parm_in_stack_slot_p): ... this. Disregard mode, what
3782 matters is whether the parm will live in a pseudo or a stack
3783 slot.
3784 (expand_one_ssa_partition): Deal with params without a default
3785 def. Disregard mode.
3786 * cfgexpand.h: Renamed function declaration.
3787 * tree-ssa-coalesce.c: Adjust.
3788 * function.c (split_complex_args): Allocate stack slot for
3789 unassigned parms before splitting.
3790 (parm_in_unassigned_mem_p): New. Use it instead of
3791 parm_maybe_byref_p throughout this file.
3792 (assign_parm_setup_block): Use it. Accept pseudos in the
3793 expand-assigned rtl.
3794 (assign_parm_setup_reg): Drop BLKmode requirement.
3795 (assign_parm_setup_stack): Allocate and fill in the address of
3796 unassigned MEM parms.
3797
3798 2015-08-19 David Sherwood <david.sherwood@arm.com>
3799
3800 * genmodes.c (emit_mode_unit_size_inline): New function.
3801 (emit_mode_unit_precision_inline): New function.
3802 (emit_insn_modes_h): Emit new #define. Emit new functions.
3803 (emit_mode_unit_size): New function.
3804 (emit_mode_unit_precision): New function.
3805 (emit_mode_adjustments): Add mode_unit_size adjustments.
3806 (emit_insn_modes_c): Emit new arrays.
3807 * machmode.h (GET_MODE_UNIT_SIZE, GET_MODE_UNIT_PRECISION): Update to
3808 use new inline methods.
3809
3810 2015-08-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3811
3812 * config/aarch64/aarch64.c (bit_count): Delete prototype
3813 and definition.
3814 (aarch64_print_operand): Use popcount_hwi instead of the above.
3815
3816 2015-08-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3817
3818 * config/aarch64/aarch64-option-extensions.def: Delete obsolete
3819 comment.
3820
3821 2015-08-19 Marek Polacek <polacek@redhat.com>
3822
3823 PR middle-end/67133
3824 * gimple-ssa-isolate-paths.c
3825 (insert_trap_and_remove_trailing_statements): Rename to ...
3826 (insert_trap): ... this. Don't remove trailing statements; split
3827 block instead.
3828 (find_explicit_erroneous_behaviour): Don't remove all outgoing edges.
3829
3830 2015-08-19 Mikael Morin <mikael@gcc.gnu.org>
3831
3832 PR other/67042
3833 * hwint.h (sext_hwi): Switch to unsigned for the left shift, and
3834 conditionalize the whole on __GNUC__. Add fallback code
3835 depending neither on undefined nor implementation-defined behaviour.
3836
3837 2015-08-19 Jiong Wang <jiong.wang@arm.com>
3838
3839 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Replace
3840 whitespaces with tab.
3841
3842 2015-08-19 Florian Weimer <fweimer@redhat.com>
3843
3844 * prj.adb (For_Every_Project_Imported_Context.Recursive_Check_Context):
3845 Move Name_Id_Set instantiation to the Prj package, to avoid trampolines.
3846 * prj-proc.adb (Process.Process_Expression_Variable_Decl):
3847 Move Name_Ids instantiation to the Prj.Proc package, to avoid
3848 trampolines.
3849
3850 2015-08-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3851
3852 * config/arm/arm.c (bounds_check): Use %wd print format
3853 for HOST_WIDE_INT arguments.
3854
3855 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
3856
3857 * bb-reorder.c, cfgloop.h, collect2.c, combine.c, dse.c,
3858 dwarf2cfi.c, gcse-common.h, genopinit.c, ggc-page.c, machmode.h,
3859 mcf.c, modulo-sched.c, omp-low.c, read-rtl.c, sched-rgn.c,
3860 signop.h, tree-call-cdce.c, tree-dfa.c, tree-diagnostic.c,
3861 tree-inline.h, tree-scalar-evolution.c, tree-ssa-address.c,
3862 tree-ssa-loop-niter.c, tree-ssa-loop.h, tree-ssa-pre.c,
3863 tree-ssa-reassoc.c, tree-ssa-sccvn.h, tree-ssa-structalias.c,
3864 tree-ssa-uninit.c, tree-ssa.h, tree-vect-loop-manip.c,
3865 tree-vectorizer.h, tree-vrp.c, var-tracking.c: Remove useless
3866 typedefs.
3867
3868 2015-08-18 trevor Saunders <tbsaunde@tbsaunde.org>
3869
3870 * bt-load.c, cgraph.h, dwarf2out.c, dwarf2out.h, final.c,
3871 function.c, graphite-scop-detection.c, haifa-sched.c,
3872 ipa-devirt.c, ipa-split.c, recog.c, ree.c, stmt.c,
3873 tree-data-ref.c, tree-ssa-dom.c, tree-ssa-loop-ivopts.c,
3874 varasm.c: Remove typedefs of structs.
3875
3876 2015-08-18 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
3877
3878 * config/rs6000/altivec.h (vec_adde): New define.
3879 (vec_addec): Likewise.
3880 (vec_double): Likewise.
3881 (vec_bperm): Likewise.
3882 (vec_gb): Likewise.
3883 * config/rs6000/rs6000-builtin.def (ADDE): New
3884 BU_ALTIVEC_OVERLOAD_3.
3885 (ADDEC): Likewise.
3886 (DOUBLE): New BU_VSX_OVERLOAD_1.
3887 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add new
3888 entries for ALTIVEC_BUILTIN_VEC_ADDC, ALTIVEC_BUILTIN_VEC_ADDE,
3889 ALTIVEC_BUILTIN_VEC_ADDEC, ALTIVEC_BUILTIN_VEC_ANDC,
3890 VSX_BUILTIN_VEC_DOUBLE, ALTIVEC_BUILTIN_VEC_MERGEH,
3891 ALTIVEC_BUILTIN_VEC_MERGEL, ALTIVEC_BUILTIN_VEC_NOR,
3892 ALTIVEC_BUILTIN_VEC_OR, ALTIVEC_BUILTIN_VEC_XOR,
3893 ALTIVEC_BUILTIN_VEC_PERM, ALTIVEC_BUILTIN_VEC_SEL,
3894 P8V_BUILTIN_VEC_EQV, P8V_BUILTIN_VEC_NAND, P8V_BUILTIN_VEC_ORC,
3895 and P8V_BUILTIN_VEC_VBPERMQ.
3896
3897 2015-08-18 Jason Merrill <jason@redhat.com>
3898
3899 * print-tree.c (print_node): Handle TREE_BINFO.
3900
3901 2015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3902
3903 PR middle-end/36757
3904 * builtins.c (expand_builtin_signbit): Add asserts to make sure
3905 we can expand BUILT_IN_SIGNBIT inline.
3906 * builtins.def (BUILT_IN_SIGNBIT): Make type-generic.
3907 * doc/extend.texi: Document the type-generic __builtin_signbit.
3908
3909 2015-08-18 Richard Sandiford <richard.sandiford@arm.com>
3910
3911 PR rtl-optimization/67218
3912 * simplify-rtx.c (exact_int_to_float_conversion_p): New function.
3913 (simplify_unary_operation_1): Use it.
3914
3915 2015-08-18 Marek Polacek <polacek@redhat.com>
3916
3917 PR middle-end/67222
3918 * gimple-low.c (lower_stmt): Don't lower BUILT_IN_POSIX_MEMALIGN
3919 if the call isn't valid.
3920 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Check builtins using
3921 gimple_call_builtin_p.
3922 (call_may_clobber_ref_p_1): Likewise.
3923 (stmt_kills_ref_p): Likewise.
3924
3925 2015-08-18 Robert Suchanek <robert.suchanek@imgtec.com>
3926
3927 * config/mips/mips-protos.h (mips_hard_regno_rename_ok): New prototype.
3928 * config/mips/mips.c (mips_hard_regno_rename_ok): New function.
3929 (mips_hard_regno_scratch_ok): Likewise.
3930 (TARGET_HARD_REGNO_SCRATCH_OK): Define macro.
3931 * config/mips/mips.h (HARD_REGNO_RENAME_OK): New.
3932
3933 2015-08-18 Bin Cheng <bin.cheng@arm.com>
3934
3935 * tree-ssa-loop-niter.c (refine_value_range_using_guard): New.
3936 (determine_value_range): Call refine_value_range_using_guard for
3937 each loop initial condition to improve value range.
3938
3939 2015-08-17 Aldy Hernandez <aldyh@redhat.com>
3940
3941 * config/i386/i386.c: Remove include of fibheap.h.
3942
3943 2015-08-17 Richard Biener <rguenther@suse.de>
3944
3945 PR tree-optimization/67221
3946 * tree-ssa-sccvn.c (visit_phi): Keep all-TOP args TOP.
3947 (sccvn_dom_walker::before_dom_children): Mark backedges of
3948 non-executable blocks as not executable.
3949
3950 2015-08-17 David Sherwood <david.sherwood@arm.com>
3951
3952 * config/arm/arm.c (neon_element_bits): Replace call to
3953 GET_MODE_BITSIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_BITSIZE (m).
3954 * config/arm/neon.md (neon_vget_lane<mode>): Likewise.
3955 (neon_vget_laneu<mode>, neon_vset_lane<mode>): Likewise
3956 (neon_vdup_lane<mode>): Likewise.
3957 * config/i386/i386.c (ix86_expand_int_vcond): Likewise.
3958 (ix86_expand_multi_arg_builtin, ix86_expand_reduc): Likewise.
3959 (expand_vec_perm_palignr, ix86_expand_sse2_abs): Likewise.
3960 * config/rs6000/rs6000.c (rs6000_do_expand_vec_perm): Likewise.
3961 * config/spu/spu.c (arith_immediate_p): Likewise.
3962 * expmed.c (store_bit_field_1, extract_bit_field_1): Likewise.
3963 * expr.c (expand_expr_real_2): Likewise.
3964 * optabs.c (shift_amt_for_vec_perm_mask): Likewise.
3965 * simplify-rtx.c (simplify_immed_subreg): Likewise.
3966 * tree-cfg.c (verify_gimple_assign_ternary): Likewise.
3967 * tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): Likewise.
3968 New variable.
3969 * fold-const.c (fold_binary_loc): Replace call to
3970 GET_MODE_PRECISION (GET_MODE_INNER (m)) with
3971 GET_MODE_UNIT_PRECISION (m).
3972
3973 2015-08-17 Mike Stump <mikestump@comcast.net>
3974
3975 * config/arm/arm.c (arm_block_move_unaligned_straight):
3976 Emit normal move instead of unaligned load when source or destination
3977 are appropriately aligned.
3978
3979 2015-08-17 Richard Biener <rguenther@suse.de>
3980 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
3981
3982 PR middle-end/16107
3983 * match.pd (div (coss (op @0) : New simplifier.
3984
3985 2015-08-14 Alexandre Oliva <aoliva@redhat.com>
3986
3987 PR rtl-optimization/64164
3988 PR bootstrap/66978
3989 PR middle-end/66983
3990 PR rtl-optimization/67000
3991 PR middle-end/67034
3992 PR middle-end/67035
3993 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
3994 * tree-ssa-copyrename.c: Removed.
3995 * opts.c (default_options_table): Drop -ftree-copyrename. Add
3996 -ftree-coalesce-vars.
3997 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
3998 * common.opt (ftree-copyrename): Ignore.
3999 (ftree-coalesce-inlined-vars): Likewise.
4000 * doc/invoke.texi: Remove the ignored options above.
4001 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
4002 * tree-ssa-coalesce.h: ... here.
4003 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
4004 headers required by it.
4005 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
4006 across variables when flag_tree_coalesce_vars. Check register
4007 use and promoted modes to allow coalescing. Do not coalesce
4008 maybe-byref parms with SSA_NAMEs of other variables, or
4009 anonymous SSA_NAMEs. Moved to tree-ssa-coalesce.c.
4010 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
4011 with its member functions to tree-ssa-coalesce.c.
4012 (var_map_base_init): Likewise. Renamed to
4013 compute_samebase_partition_bases.
4014 (partition_view_normal): Drop want_bases parameter.
4015 (partition_view_bitmap): Likewise.
4016 * tree-ssa-live.h: Adjust declarations.
4017 * tree-ssa-coalesce.c: Include explow.h and cfgexpand.h.
4018 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
4019 default defs at the entry point.
4020 (dump_part_var_map): New.
4021 (compute_optimized_partition_bases): New, called by...
4022 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
4023 of compute_samebase_partition_bases. Adjust.
4024 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
4025 * cfgexpand.c (leader_merge, parm_maybe_byref_p): New.
4026 (ssa_default_def_partition): New.
4027 (get_rtl_for_parm_ssa_default_def): New.
4028 (align_local_variable, add_stack_var): Support anonymous SSA
4029 names.
4030 (defer_stack_allocation): Likewise. Declare earlier.
4031 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
4032 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
4033 Do no record deferred-allocation marker in
4034 SA.partition_to_pseudo.
4035 (expand_stack_vars): Adjust check for the marker in it.
4036 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
4037 redundant MEM attr setting.
4038 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
4039 from...
4040 (expand_one_stack_var): ... this. New wrapper to check and
4041 skip already expanded SSA partitions.
4042 (record_alignment_for_reg_var): New, factored out of...
4043 (expand_one_var): ... this.
4044 (expand_one_ssa_partition): New.
4045 (adjust_one_expanded_partition_var): New.
4046 (expand_one_register_var): Check and skip already expanded SSA
4047 partitions.
4048 (expand_used_vars): Don't create DECLs for anonymous SSA
4049 names. Expand all SSA partitions, then adjust all SSA names.
4050 (pass::execute): Replace the loops that set
4051 SA.partition_to_pseudo from partition leaders and cleared
4052 DECL_RTL for multi-location variables, and that which used to
4053 rename vars and set attrs, with one that clears DECL_RTL and
4054 checks that PARMs and RESULTs default_defs match DECL_RTL.
4055 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
4056 * emit-rtl.c: Include stor-layout.h.
4057 (set_reg_attrs_for_parm): Handle NULL decl.
4058 (set_reg_attrs_for_decl_rtl): Take mode from expression if
4059 it's not a DECL.
4060 * stmt.c (emit_case_decision_tree): Pass it the SSA_NAME
4061 rather than its possibly-NULL DECL.
4062 * explow.c (promote_ssa_mode): New.
4063 * explow.h (promote_ssa_mode): Declare.
4064 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
4065 (read_complex_part): Export.
4066 * expr.h (read_complex_part): Declare.
4067 * cfgexpand.h (parm_maybe_byref_p): Declare.
4068 * function.c: Include cfgexpand.h.
4069 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
4070 (use_register_for_parm_decl): Wrapper for the above to
4071 special-case the result_ptr.
4072 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
4073 (split_complex_args): Take assign_parm_data_all argument.
4074 Pass it to rtl_for_parm. Set up rtl and context for split
4075 args. Reset complex parm before fetching its default decl
4076 rtl.
4077 (assign_parms_unsplit_complex): Use the default-def complex
4078 parm rtl if it matches the components.
4079 (assign_parms_augmented_arg_list): Adjust.
4080 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
4081 multiple locations. Recognize split complex args.
4082 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
4083 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
4084 (assign_parm_setup_block): Prefer SSA-assigned location, and
4085 fill in its address if the memory location of a maybe-byref
4086 parm was not assigned by cfgexpand.
4087 (assign_parm_setup_reg): Likewise. Adjust its mode as
4088 needed. Use entry_parm for equiv if stack_parm is NULL. Make
4089 sure passed_pointer parms don't need conversion. Copy address
4090 or value as needed.
4091 (assign_parm_setup_stack): Prefer SSA-assigned location.
4092 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
4093 rtl before testing for pointer bounds. Special-case result_ptr.
4094 (expand_function_start): Maybe reset DECL_RTL of result.
4095 Prefer SSA-assigned location for result and static chain.
4096 Factor out DECL_RESULT and SET_DECL_RTL. Convert static chain
4097 to Pmode if needed, from H.J. Lu <hongjiu.lu@intel.com>.
4098 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
4099 anonymous SSA names. Use promote_ssa_mode.
4100 (get_temp_reg): Likewise.
4101 (remove_ssa_form): Adjust.
4102 * stor-layout.c (layout_decl): Don't set mem attributes of
4103 non-MEMs.
4104 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
4105 and get its reg_usage for reg invalidation.
4106 (compute_bb_dataflow): Pass it insn.
4107 (emit_notes_in_bb): Likewise.
4108
4109 2015-08-14 Marek Polacek <polacek@redhat.com>
4110
4111 * tree-core.h (tree_base): Fix typo.
4112
4113 2015-08-14 Marek Polacek <polacek@redhat.com>
4114
4115 PR middle-end/67133
4116 * gimple.c (infer_nonnull_range_by_attribute): Check that the
4117 nonnull argument position is not outside function arguments.
4118
4119 2015-08-14 Matthew Wahab <matthew.wahab@arm.com>
4120
4121 PR target/67143
4122 * config/aarch64/atomics.md (atomic_<optab><mode>): Replace
4123 'lconst_atomic' with 'const_atomic'.
4124 (atomic_fetch_<optab><mode>): Likewise.
4125 (atomic_<optab>_fetch<mode>): Likewise.
4126 * config/aarch64/iterators.md (lconst-atomic): Move below
4127 'const_atomic'.
4128 (const_atomic): New.
4129
4130 2015-08-14 Thomas Schwinge <thomas@codesourcery.com>
4131 Bernd Schmidt <bernds@codesourcery.com>
4132
4133 * config/nvptx/nvptx.c (nvptx_option_override): Don't override
4134 debug options.
4135 * config/nvptx/nvptx.h (DWARF2_LINENO_DEBUGGING_INFO): Define.
4136 (DWARF2_DEBUGGING_INFO): Don't define.
4137 * debug.h (dwarf2_lineno_debug_hooks): Declare.
4138 * toplev.c (process_options): Add a case for it.
4139 * dwarf2out.c (dwarf2_lineno_debug_hooks): New variable.
4140 (dwarf2out_init): Skip most initializations if
4141 DWARF2_LINENO_DEBUGGING_INFO, but set cur_line_info_table in that
4142 case.
4143 * defaults.h (PREFERRED_DEBUGGING_TYPE): Also use DWARF2_DEBUG if
4144 DWARF2_LINENO_DEBUGGING_INFO.
4145 * opts.c (set_debug_level): Likewise.
4146
4147 2015-08-14 James Greenhalgh <james.greenhalgh@arm.com>
4148
4149 * config/arm/types.md (is_neon_type): Add missing types.
4150
4151 2015-08-14 Yuri Rumyantsev <ysrumyan@gmail.com>
4152
4153 * config/i386/driver-i386.c (host_detect_local_cpu): Add support
4154 for skylake.
4155 * config/i386/i386.c (PTA_SKYLAKE): New macros.
4156 (processor_alias_table): Add skylake description.
4157 (enum processor_model): Add skylake processor.
4158 (arch_names_table): Add skylake record.
4159 * doc/invoke.texi: Add skylake item.
4160
4161 2015-08-13 Andrew MacLeod <amacleod@redhat.com>
4162
4163 * ira-int.h: Include recog.h.
4164 * ira-build.c: Don't include recog.h.
4165 * ira-color.c: Likewise.
4166 * ira-conflicts.c: Likewise.
4167 * ira-costs.c: Likewise.
4168 * ira-emit.c: Likewise.
4169 * ira-lives.c: Likewise.
4170 * ira.c: Likewise.
4171 * sched-deps.c: Likewise.
4172 * sel-sched.c: Likewise.
4173 * target-globals.c: Likewise.
4174
4175 2015-08-13 Richard Sandiford <richard.sandiford@arm.com>
4176
4177 PR bootstrap/55035
4178 * reload1.c (elimination_costs_in_insn): Make it obvious to the
4179 compiler that the n_dups and n_operands loop bounds are invariant.
4180
4181 2015-08-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4182
4183 * ifcvt.c (noce_try_store_flag_constants): Handle PLUS-immediate
4184 expressions in A and B.
4185
4186 2015-08-13 Richard Biener <rguenther@suse.de>
4187
4188 * tree.c (nonnull_arg_p): Move from ...
4189 * tree-vrp.c (nonnull_arg_p): ... here.
4190 * tree.h (nonnull_arg_p): Declare.
4191 * tree-ssa-sccvn.c (init_scc_vn): Perform all lattice init
4192 here, register ptr != 0 for nonnull_arg_p pointer arguments.
4193 Properly initialize static chain and by-reference result pointer.
4194 (run_scc_vn): Adjust.
4195
4196 2015-08-13 Robert Suchanek <robert.suchanek@imgtec.com>
4197
4198 * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Enable load/store pairs for
4199 TUNE_I6400.
4200
4201 2015-08-13 Matthew Wahab <matthew.wahab@arm.com>
4202
4203 * config/aarch64/aarch64-protos.h
4204 (aarch64_gen_atomic_cas): Declare.
4205 * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap):
4206 Choose appropriate instruction pattern for the target.
4207 (aarch64_gen_atomic_cas): New.
4208 * config/aarch64/atomics.md (UNSPECV_ATOMIC_CAS): New.
4209 (atomic_compare_and_swap<mode>_1): Rename to
4210 aarch64_compare_and_swap<mode>. Fix some indentation.
4211 (aarch64_compare_and_swap<mode>_lse): New.
4212 (aarch64_atomic_cas<mode>): New.
4213
4214 2015-08-13 Matthew Wahab <matthew.wahab@arm.com>
4215
4216 * config/aarch64/aarch64.h (AARCH64_ISA_LSE): New.
4217 (TARGET_LSE): New.
4218
4219 2015-08-13 Richard Biener <rguenther@suse.de>
4220
4221 PR tree-optimization/67191
4222 * tree-ssa-sccvn.c (sccvn_dom_walker::before_dom_children): Remove
4223 assert we value-numbered last stmts operand because it can validly
4224 trigger for unreachable code.
4225
4226 2015-08-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4227
4228 PR rtl-optimization/67103
4229 * ifcvt.c (noce_try_store_flag_constants): Move
4230 x = (-(test != 0) & (b - a)) + a transformation to...
4231 (noce_try_cmove): ... Here. Try it if normal conditional
4232 move fails.
4233
4234 2015-08-13 Robert Suchanek <robert.suchanek@imgtec.com>
4235
4236 * config/mips/mips.c (mips_rtx_cost_data): Remove costs for W32 and W64
4237 pseudo-processors.
4238 * config/mips/mips.md (processor): Remove w32 and w64.
4239
4240 2015-08-13 Richard Biener <rguenther@suse.de>
4241
4242 PR tree-optimization/66502
4243 PR tree-optimization/67167
4244 * tree-ssa-sccvn.c (vn_phi_compute_hash): Do not include
4245 backedge arguments.
4246 (vn_phi_lookup): Adjust.
4247 (vn_phi_insert): Likewise.
4248 (visit_phi): Prefer to value-number to another PHI node
4249 over value-numbering to a PHI argument.
4250 (init_scc_vn): Mark DFS back edges.
4251
4252 2015-08-13 Richard Biener <rguenther@suse.de>
4253
4254 * gimple.h (gcall::code_): New constant static member.
4255 (gcond::code_): Likewise.
4256 * gimple.c (gcall::code_): Define.
4257 (gcond::code_): Likewise.
4258 (is_a_helper <const gcond *>): Add.
4259 (gimple_call_lhs): Use GIMPLE_CHECK2 in the gimple overload
4260 and forward to a new gcall overload with less checking and a
4261 cheaper way to access the operand.
4262 (gimple_call_lhs_ptr): Likewise.
4263 (gimple_call_set_lhs): Likewise.
4264 (gimple_call_internal_p): Likewise.
4265 (gimple_call_with_bounds_p): Likewise.
4266 (gimple_call_set_with_bounds): Likewise.
4267 (gimple_call_internal_fn): Likewise.
4268 (gimple_call_set_ctrl_altering): Likewise.
4269 (gimple_call_ctrl_altering_p): Likewise.
4270 (gimple_call_fntype): Likewise.
4271 (gimple_call_fn): Likewise.
4272 (gimple_call_fn_ptr): Likewise.
4273 (gimple_call_set_fndecl): Likewise.
4274 (gimple_call_fndecl): Likewise.
4275 (gimple_call_chain): Likewise.
4276 (gimple_call_num_args): Likewise.
4277 (gimple_call_arg): Likewise.
4278 (gimple_call_arg_ptr): Likewise.
4279 (gimple_call_set_arg): Likewise.
4280 (gimple_call_noreturn_p): Likewise.
4281 (gimple_cond_code): Likewise.
4282 (gimple_cond_lhs): Likewise.
4283 (gimple_cond_rhs): Likewise.
4284 (gimple_has_lhs): Reduce checking.
4285
4286 2015-08-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
4287
4288 PR middle-end/25529
4289 * match.pd (div (mult @0 @1) @1) : New simplifier.
4290
4291 2015-08-12 Michael Meissner <meissner@linux.vnet.ibm.com>
4292
4293 PR target/67071
4294 * config/rs6000/predicates.md (easy_vector_constant_vsldoi): New
4295 predicate to allow construction of vector constants using the
4296 VSLDOI vector shift instruction.
4297
4298 * config/rs6000/rs6000-protos.h (vspltis_shifted): Add
4299 declaration.
4300
4301 * config/rs6000/rs6000.c (vspltis_shifted): New function to return
4302 the number of bytes to be shifted left and filled in with either
4303 all zero or all one bits.
4304 (gen_easy_altivec_constant): Call vsplitis_shifted if no other
4305 methods exist.
4306 (output_vec_const_move): On power8, generate XXLORC to generate
4307 a vector constant with all 1's. Do a split if we need to use a
4308 VSLDOI instruction.
4309
4310 * config/rs6000/rs6000.h (EASY_VECTOR_MSB): Use mode mask to
4311 properly test for the MSB.
4312
4313 * config/rs6000/altivec.md (VSLDOI splitter): Add splitter for
4314 vector constants that can be created with VSLDOI.
4315
4316 2015-08-11 Trevor Saunders <tbsaunde@tbsaunde.org>
4317
4318 revert:
4319 * compare-elim.c, dce.c, dse.c, gimple-ssa-isolate-paths.c,
4320 gimple-ssa-strength-reduction.c, graphite.c, init-regs.c,
4321 ipa-pure-const.c, ipa-visibility.c, ipa.c, mode-switching.c,
4322 omp-low.c, reorg.c, sanopt.c, trans-mem.c, tree-eh.c,
4323 tree-if-conv.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
4324 tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
4325 tree-ssa-sink.c, tree-ssanames.c, tree-stdarg.c, tree-tailcall.c,
4326 tree-vect-generic.c, tree.c, ubsan.c, var-tracking.c,
4327 vtable-verify.c, web.c: Use GCC_FINAL instead of the anonymous
4328
4329 2015-08-12 Max Filippov <jcmvbkbc@gmail.com>
4330
4331 * config/xtensa/constraints.md (define_constraint "Y"): New
4332 constraint.
4333 * config/xtensa/elf.h (ASM_SPEC): Add m(no-)auto-litpools.
4334 * config/xtensa/linux.h (ASM_SPEC): Likewise.
4335 * config/xtensa/predicates.md (move_operand): Match constants
4336 and symbols in the presence of TARGET_AUTO_LITPOOLS.
4337 * config/xtensa/xtensa.c (xtensa_valid_move): Don't allow
4338 immediate references to TLS data.
4339 (xtensa_emit_move_sequence): Don't force constants to memory in
4340 the presence of TARGET_AUTO_LITPOOLS.
4341 (print_operand): Add 'y' format, same as default, but capable of
4342 printing SF mode constants as well.
4343 * config/xtensa/xtensa.md (movsi_internal, movhi_internal)
4344 (movsf_internal): Add movi pattern that loads literal.
4345 (movsf, movdf): Don't force constants to memory in the presence
4346 of TARGET_AUTO_LITPOOLS.
4347 (movdf_internal): Add 'Y' constraint.
4348 * config/xtensa/xtensa.opt (mauto-litpools): New option.
4349 * doc/invoke.text (Xtensa options): Document -mauto-litpools.
4350
4351 2015-08-12 Matthew Wahab <matthew.wahab@arm.com>
4352
4353 * config/arm/arm-fpus.def: Replace booleans with feature flags.
4354 Update comment.
4355 * config/arm/arm.c (ARM_FPU): Update macro.
4356 * config/arm/arm.h (TARGET_NEON_FP16): Update feature test.
4357 (TARGET_FP16): Likewise.
4358 (TARGET_CRYPTO): Likewise.
4359 (TARGET_NEON): Likewise.
4360 (struct arm_fpu_desc): Remove fields neon, fp16 and crypto. Add
4361 field features.
4362
4363 2015-08-12 Tom de Vries <tom@codesourcery.com>
4364
4365 PR other/67092
4366 PR other/67098
4367 * doc/install.texi: Remove --with_host_libstdcxx item. Update
4368 --with-stage1-libs, --with-boot-ldflags and --with-boot-libs items
4369 accordingly. Mention default for --with-stage1-ldflags.
4370
4371 2015-08-12 Matthew Wahab <matthew.wahab@arm.com>
4372
4373 * config/arm/arm.h (arm_fpu_feature_set): New.
4374 (ARM_FPU_FSET_HAS): New.
4375 (FPU_FL_NONE): New.
4376 (FPU_FL_NEON): New.
4377 (FPU_FL_FP16): New.
4378 (FPU_FL_CRYPTO): New.
4379
4380 2015-08-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4381
4382 * config/aarch64/aarch64.c (initialize_aarch64_code_model): Break
4383 after -mcmodel=large -fPIC sorry.
4384
4385 2015-08-12 Richard Biener <rguenther@suse.de>
4386
4387 * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize
4388 comparison operand order and commutative ternary op operand order.
4389 (sccvn_dom_walker::cond_stack): New state to track temporary
4390 expressions.
4391 (sccvn_dom_walker::after_dom_children): Remove tempoary expressions
4392 no longer valid.
4393 (sccvn_dom_walker::record_cond): Add a single temporary conditional
4394 expression.
4395 (sccvn_dom_walker::record_conds): Add a temporary conditional
4396 expressions and all related expressions also true/false.
4397 (sccvn_dom_walker::before_dom_children): Record temporary
4398 expressions based on the controlling condition of a single
4399 predecessor. When trying to simplify a conditional statement
4400 lookup expressions we might have inserted earlier.
4401
4402 2015-08-12 Yvan Roux <yvan.roux@linaro.org>
4403
4404 PR target/67127
4405 * config/arm/arm.md (movdi): Restrict illegitimate ldrd/strd checking
4406 to ARM core registers.
4407
4408 2015-08-12 Nathan Sidwell <nathan@acm.org>
4409
4410 * tree-vrp.c (simplify_min_or_max_using_ranges): New.
4411 (simplify_stmt_using_ranges): Simplify MIN and MAX exprs.
4412
4413 2015-08-12 Simon Dardis <simon.dardis@imgtec.com>
4414
4415 * config/mips/mips.c (mips_store_data_bypass_p): Bring code into
4416 line with comments.
4417 * config/mips/sb1.md: Update usage of mips_store_data_bypass_p.
4418
4419 2015-08-12 Richard Biener <rguenther@suse.de>
4420
4421 * gimple.h (remove_pointer): New trait.
4422 (GIMPLE_CHECK2): New inline template function.
4423 (gassign::code_): New constant static member.
4424 (is_a_helper<const gassign *>): Add.
4425 (gimple_assign_lhs): Use GIMPLE_CHECK2 in the gimple overload
4426 and forward to a new gassign overload with less checking and a
4427 cheaper way to access the operand.
4428 (gimple_assign_lhs_ptr): Likewise.
4429 (gimple_assign_set_lhs): Likewise.
4430 (gimple_assign_rhs1, gimple_assign_rhs1_ptr, gimple_assign_set_rhs1):
4431 Likewise.
4432 (gimple_assign_rhs2, gimple_assign_rhs2_ptr, gimple_assign_set_rhs2):
4433 Likewise.
4434 (gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3):
4435 Likewise.
4436 (gimple_assign_rhs_code): Likewise.
4437 * gimple.c (gassign::code_): Define.
4438
4439 2015-08-12 Richard Biener <rguenther@suse.de>
4440
4441 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
4442 Eliminate edges marked as not executable by SCCVN.
4443 * tree-ssa-sccvn.c: Include gimple-iterator.h.
4444 (cond_dom_walker): Rename to sccvn_dom_walker.
4445 (sccvn_dom_walker::before_dom_children): Value-number defs
4446 of all stmts.
4447 (run_scc_vn): Remove loop value-numbering all SSA names.
4448 Drop not visited SSA names to varying.
4449
4450 2015-08-11 Trevor Saunders <tbsaunde@tbsaunde.org>
4451
4452 * compare-elim.c, dce.c, dse.c, gimple-ssa-isolate-paths.c,
4453 gimple-ssa-strength-reduction.c, graphite.c, init-regs.c,
4454 ipa-pure-const.c, ipa-visibility.c, ipa.c, mode-switching.c,
4455 omp-low.c, reorg.c, sanopt.c, trans-mem.c, tree-eh.c,
4456 tree-if-conv.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
4457 tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
4458 tree-ssa-sink.c, tree-ssanames.c, tree-stdarg.c, tree-tailcall.c,
4459 tree-vect-generic.c, tree.c, ubsan.c, var-tracking.c,
4460 vtable-verify.c, web.c: Use GCC_FINAL instead of the anonymous
4461
4462 2015-08-11 Uros Bizjak <ubizjak@gmail.com>
4463
4464 PR target/66954
4465 * config/i386/i386.c (get_builtin_code_for_version): Add P_PCLMUL
4466 to enum feature_priority and feature_list.
4467 (fold_builtin_cpu): Add F_PCLMUL to enum processor_features
4468 and isa_names_table.
4469
4470 2015-08-11 Yuri Rumyantsev <ysrumyan@gmail.com>
4471
4472 * tree-vect-stmts.c (vectorizable_shift): Add missed test on
4473 vect_induction_def.
4474
4475 2015-08-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
4476
4477 PR c/66098
4478 PR c/66711
4479 * diagnostic.c (diagnostic_classify_diagnostic): Take -Werror into
4480 account when deciding what was the command-line status.
4481
4482 2015-08-11 Nathan Sidwell <nathan@acm.org>
4483
4484 * tree-vrp.c (simplify_abs_using_ranges): Simplify.
4485
4486 * tree-ssa-phiopt.c (minmax_replacement): Create new ssa name if
4487 we're not the only contributor to target phi.
4488
4489 2015-08-11 Jiong Wang <jiong.wang@arm.com>
4490
4491 * config/aarch64/aarch64.h (REG_CLASS_NAMES): Add the missing ',' after
4492 FIXED_REG0.
4493
4494 2015-08-11 Tom de Vries <tom@codesourcery.com>
4495
4496 * tree-cfg.c (move_sese_region_to_fn): Add todo comment.
4497
4498 2015-08-10 H.J. Lu <hongjiu.lu@intel.com>
4499
4500 * config/i386/i386.c (processor_alias_table): Replace CPU_KNL
4501 with CPU_SLM.
4502 * config/i386/i386.md (cpu): Remove knl.
4503
4504 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
4505
4506 PR libgomp/65742
4507 PR middle-end/66332
4508 * builtins.c (expand_builtin_acc_on_device) [ACCEL_COMPILER]: Emit
4509 open-coded sequence.
4510 * omp-low.c (oacc_process_reduction_data): Remove handline of
4511 GOMP_DEVICE_HOST_NONSHM.
4512
4513 * lto-streamer-in.c (lto_input_mode_table): Adjust to
4514 GET_MODE_INNER changes.
4515
4516 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
4517 Ilya Verbin <ilya.verbin@intel.com>
4518
4519 * lto-streamer-in.c (lto_input_mode_table): Correctly advance iterator.
4520
4521 2015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
4522
4523 * doc/options.texi (EnabledBy): Document that the argument must be
4524 a Common option.
4525 * doc/invoke.texi (Wnull-dereference): Move after Wnonnull.
4526 Not enabled by -Wall.
4527 * optc-gen.awk: Give nicer error messages. Detect if the argument
4528 of EnabledBy is not a Common option.
4529 * common.opt (Wnull-dereference): Not enabled by -Wall.
4530 * opt-functions.awk (lang_enabled_by): Nicer error messages.
4531
4532 2015-08-09 H.J. Lu <hongjiu.lu@intel.com>
4533
4534 * config/i386/driver-i386.c (host_detect_local_cpu): Treat
4535 model == 0x4f as Broadwell.
4536
4537 2015-08-08 Segher Boessenkool <segher@kernel.crashing.org>
4538
4539 PR rtl-optimization/67028
4540 * combine.c (simplify_comparison): Fix comment. Rearrange code.
4541 Add test to see if a const_int fits in the new mode.
4542
4543 2015-08-07 DJ Delorie <dj@redhat.com>
4544
4545 * config/rx/rx.c (rx_mode_dependent_address_p): Remove unneeded asserts.
4546
4547 2015-08-07 H.J. Lu <hongjiu.lu@intel.com>
4548
4549 PR rtl-optimization/67029
4550 * ira-color.c: Include "recog.h" before including "ira-int.h".
4551 * target-globals.c: Likewise.
4552 * ira-lives.c (ira_implicitly_set_insn_hard_regs): Add an
4553 adds an alternative_mask argument and use it instead of
4554 preferred_alternatives.
4555 * ira.h (ira_implicitly_set_insn_hard_regs): Moved to ...
4556 * ira-int.h (ira_implicitly_set_insn_hard_regs): Here.
4557 * sched-deps.c: Include "ira-int.h" after including "ira.h".
4558 (sched_analyze_insn): Update call to
4559 ira_implicitly_set_insn_hard_regs.
4560 * sel-sched.c: Include "ira-int.h" after including "ira.h".
4561 (implicit_clobber_conflict_p): Update call to
4562 ira_implicitly_set_insn_hard_regs.
4563
4564 2015-08-06 Uros Bizjak <ubizjak@gmail.com>
4565
4566 * Makefile.in (.INTERMEDIATE): Add gpl.pod.
4567
4568 2015-08-07 Kaz Kojima <kkojima@gcc.gnu.org>
4569
4570 PR target/67002
4571 * config/sh/sh.c (sh_recog_treg_set_expr): Return false when
4572 currently_expanding_to_rtl is set.
4573
4574 2015-08-06 Yaakov Selkowitz <yselkowi@redhat.com>
4575
4576 * configure.ac: Define LIBICONV_DEP with in-tree libiconv.
4577 * configure: Regenerate.
4578
4579 2015-08-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4580 Jiong Wang <jiong.wang@arm.com>
4581
4582 * config/aarch64/aarch64.d (tlsdesc_small_pseudo_<mode>): New pattern.
4583 * config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0.
4584 (REG_CLASS_NAMES): Likewise.
4585 (REG_CLASS_CONTENTS): Likewise.
4586 * config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise.
4587 (aarch64_register_move_cost): Likewise.
4588 (aarch64_load_symref_appropriately): Invoke the new added pattern if
4589 possible.
4590 * config/aarch64/constraints.md (Uc0): New constraint.
4591
4592 2015-08-06 Jiong Wang <jiong.wang@arm.com>
4593
4594 * config/aarch64/constraints.md (Usf): Add the test of
4595 aarch64_is_noplt_call_p.
4596
4597 2015-08-06 Jiong Wang <jiong.wang@arm.com>
4598
4599 * config/aarch64/aarch64-protos.h (aarch64_is_noplt_call_p): New
4600 declaration.
4601 * config/aarch64/aarch64.c (aarch64_is_noplt_call_p): New function.
4602 * config/aarch64/aarch64.md (call_value_symbol): Check noplt scenarios.
4603 (call_symbol): Likewise.
4604
4605 2015-08-06 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
4606
4607 * tree-vect-patterns.c (vect_recog_mult_pattern): New function
4608 for vectorizing multiplication patterns.
4609 * tree-vectorizer.h: Adjust the number of patterns.
4610
4611 2015-08-06 Uros Bizjak <ubizjak@gmail.com>
4612
4613 * config/i386/sse.md (*vec_concatv2df): Declare added
4614 alternatives as sselog type.
4615
4616 2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4617
4618 * config/s390/s390.c (s390_dwarf_frame_reg_mode): Return Pmode for
4619 all GPRs.
4620
4621 2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4622
4623 * config/s390/s390.c (s390_expand_tbegin): Expand either
4624 tbegin_1_z13 or tbegin_1 depending on VX flag.
4625 * config/s390/s390.md ("tbegin_1_z13"): New expander.
4626
4627 2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4628
4629 * config/s390/s390.opt: Clarify description for -mzvector
4630 * doc/invoke.texi: Add documentation for -mhtm, -mvx, and
4631 -mzvector.
4632
4633 2015-08-06 Richard Biener <rguenther@suse.de>
4634
4635 * gimple.h (gimple_call_set_fn): Access op member directly.
4636 (gimple_call_chain_ptr): Likewise.
4637 (gimple_call_set_chain): Likewise.
4638 (gimple_cond_lhs_ptr): Likewise.
4639 (gimple_cond_set_lhs): Likewise.
4640 (gimple_cond_rhs_ptr): Likewise.
4641 (gimple_cond_set_rhs): Likewise.
4642 (gimple_cond_true_label): Likewise.
4643 (gimple_cond_set_true_label): Likewise.
4644 (gimple_cond_set_false_label): Likewise.
4645 (gimple_cond_false_label): Likewise.
4646 (gimple_label_label): Likewise.
4647 (gimple_label_set_label): Likewise.
4648 (gimple_goto_set_dest): Likewise.
4649 (gimple_asm_input_op): Likewise.
4650 (gimple_asm_input_op_ptr): Likewise.
4651 (gimple_asm_set_input_op): Likewise.
4652 (gimple_asm_output_op): Likewise.
4653 (gimple_asm_output_op_ptr): Likewise.
4654 (gimple_asm_set_output_op): Likewise.
4655 (gimple_asm_clobber_op): Likewise.
4656 (gimple_asm_set_clobber_op): Likewise.
4657 (gimple_asm_label_op): Likewise.
4658 (gimple_asm_set_label_op): Likewise.
4659 (gimple_switch_index): Likewise.
4660 (gimple_switch_index_ptr): Likewise.
4661 (gimple_return_retval_ptr): Likewise.
4662 (gimple_return_retval): Likewise.
4663 (gimple_return_set_retval): Likewise.
4664 (gimple_switch_set_index): Likewise. Remove superfluous GIMPLE_CHECK.
4665 (gimple_switch_label): Likewise.
4666 (gimple_switch_set_label): Likewise.
4667
4668 2015-08-06 Richard Biener <rguenther@suse.de>
4669
4670 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Simplify
4671 bool comparison canonicalization and restrict to integers.
4672
4673 2015-08-05 Andrew MacLeod <amacleod@redhat.com>
4674
4675 * coretypes.h (enum symbol_visibility): Relocate here.
4676 * flag-types.h (enum symbol_visibility): Remove.
4677 * tree-core.h (enum symbol_visibility): Remove.
4678
4679 2015-08-05 Lynn Boger <laboger@linux.vnet.ibm.com>
4680
4681 PR target/66870
4682 * gcc/config/rs6000/rs6000.c (rs6000_emit_prologue): Check
4683 for no_split_stack function attribute along with
4684 flag_split_stack.
4685 (rs6000_expand_split_stack_prologue): Likewise.
4686
4687 2015-08-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
4688 Jeff Law <law@redhat.com>
4689
4690 PR c/16351
4691 * doc/invoke.texi (Wnull-dereference): New.
4692 * tree-vrp.c (infer_value_range): Update call to infer_nonnull_range.
4693 * gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour):
4694 Warn for potential NULL dereferences.
4695 (find_explicit_erroneous_behaviour): Warn for NULL dereferences.
4696 * ubsan.c (instrument_nonnull_arg): Call
4697 infer_nonnull_range_by_attribute.
4698 (instrument_nonnull_return): Likewise.
4699 * common.opt (Wnull-dereference); New.
4700 * gimple.c (infer_nonnull_range): Remove bool arguments.
4701 (infer_nonnull_range_by_dereference): New.
4702 (infer_nonnull_range_by_attribute): New.
4703 * gimple.h: Update declarations.
4704
4705 2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
4706
4707 * gensupport.c (sequence_num): Replace with...
4708 (insn_sequence_num, split_sequence_num, peephole2_sequence_num):
4709 ...these new variables.
4710 (init_rtx_reader_args_cb): Update accordingly.
4711 (get_num_code_insns): Likewise.
4712 (read_md_rtx): Rework to use a while loop and get_c_test.
4713 Use the new counters. Remove redundant DEFINE_SUBST case.
4714 * genoutput.c (gen_split): Delete.
4715 (main): Don't call it.
4716
4717 2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
4718
4719 * gensupport.h (get_c_test): Declare.
4720 * gensupport.c (get_c_test): New function.
4721 * genconditions.c (main): Use it.
4722 * genrecog.c (validate_pattern): Likewise.
4723 (match_pattern_1): Likewise. Remove c_test argument.
4724 (match_pattern): Update accordingly and remove c_test argument.
4725 (main): Update accordingly.
4726
4727 2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
4728
4729 * gensupport.h (get_num_insn_codes): Declare.
4730 * gensupport.c (get_num_insn_codes): New function.
4731 * genattrtab.c (optimize_attrs): Rename max_insn_code to
4732 num_insn_codes.
4733 (main): Likewise. Use get_num_insn_codes.
4734 * gencodes.c (main): Remove "last" and use get_num_insn_codes.
4735
4736 2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
4737
4738 PR middle-end/66311
4739 * wide-int.cc (wi::from_mpz): Make sure that absolute mpz value
4740 is zero- rather than sign-extended.
4741
4742 2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
4743
4744 * target-insns.def (can_extend): Delete.
4745
4746 2015-08-05 Richard Biener <rguenther@suse.de>
4747
4748 PR tree-optimization/67121
4749 * tree-if-conv.c (combine_blocks): Clear range-info produced
4750 by stmts no longer executed conditionally.
4751
4752 2015-08-05 Nick Clifton <nickc@redhat.com>
4753
4754 * config/rl78/rl78.c (rl78_force_nonfar_3): Remove optimization
4755 to allow identical far pointers to remain.
4756
4757 2015-08-05 Richard Biener <rguenther@suse.de>
4758
4759 PR middle-end/67120
4760 * match.pd: Compare address bases with == if they are decls
4761 or SSA names, not operand_equal_p. Otherwise fail.
4762
4763 2015-08-05 Richard Biener <rguenther@suse.de>
4764
4765 PR tree-optimization/67055
4766 * tree-ssa-ccp.c (fold_builtin_alloca_with_align): Handle
4767 NULL gimple_block.
4768
4769 * g++.dg/torture/pr67055.C: New testcase.
4770
4771 2015-08-05 Kirill Yukhin <kirill.yukhin@intel.com>
4772
4773 * config/i386/i386.md (define_attr "isa"): Addd avx512vl and
4774 noavx512vl.
4775 (define_attr "enabled"): Handle avx521vl and noavx512vl.
4776 * config/i386/sse.md (define_insn "vec_dupv2df<mask_name>"): Split
4777 AVX-512 alternative out of SSE.
4778 (define_insn "*vec_concatv2df"): Ditto.
4779
4780 2015-08-05 Kirill Yukhin <kirill.yukhin@intel.com>
4781
4782 * config/i386/i386.c (bdesc_args): Rename CODE_FOR_sse4_1_ptest into
4783 CODE_FOR_sse4_1_ptestv2di and CODE_FOR_avx_vtestps256 into
4784 CODE_FOR_avx_ptestv4di.
4785 * config/i386/sse.md (define_mode_iterator V_AVX): New.
4786 (define_mode_attr sse4_1): Extend to other 128/256-bit modes.
4787 (define_insn "avx_ptest256"): Merge this ...
4788 (define_insn "sse4_1_ptest"): And this ...
4789 (define_insn "<sse4_1>_ptest<mode>"): Into this. Use V_AVX iterator.
4790
4791 2015-08-05 Richard Biener <rguenther@suse.de>
4792
4793 PR tree-optimization/67109
4794 * tree-vect-data-refs.c (vect_analyze_group_access_1): Check
4795 against too big groups. Print whether this is a load or store
4796 group. Rename from ...
4797 (vect_analyze_group_access): ... this which is now a wrapper
4798 dissolving an invalid group.
4799 (vect_analyze_data_ref_accesses): Print whether this is a load
4800 or store group.
4801
4802 2015-08-05 Richard Biener <rguenther@suse.de>
4803
4804 PR middle-end/67107
4805 * match.pd: Guard const_binop result checking against NULL_TREE
4806 result.
4807
4808 2015-08-05 Kugan Vivekanandarajah <kuganv@linaro.org>
4809
4810 * cse.c (cse_insn): Restoring old behaviour for src_eqv
4811 when dest and value in the REG_EQUAL are same and dest
4812 is STRICT_LOW_PART.
4813
4814 2015-08-04 Anatoly Sokolov <aesok@post.ru>
4815
4816 * config/moxie/moxie.h (PRINT_OPERAND,
4817 PRINT_OPERAND_ADDRESS): Remove macros.
4818 * config/moxie/moxie-protos.h (moxie_print_operand,
4819 moxie_print_operand_address): Remove declaration.
4820 * config/moxie/moxie.c (TARGET_PRINT_OPERAND,
4821 TARGET_PRINT_OPERAND_ADDRESS): Define.
4822 (moxie_print_operand, moxie_print_operand_address): Make static.
4823
4824 2015-08-04 Szabolcs Nagy <szabolcs.nagy@arm.com>
4825
4826 PR target/66731
4827 * config/aarch64/aarch64.c (aarch64_rtx_costs): Fix NEG cost for FNMUL.
4828 (aarch64_rtx_mult_cost): Fix MULT cost with -frounding-math.
4829
4830 2015-08-04 Richard Biener <rguenther@suse.de>
4831
4832 * genmatch.c (dt_node::gen_kids_1): Use gassign and gcall in
4833 generated code.
4834 (dt_operand::gen_gimple_expr): Adjust.
4835
4836 2015-08-04 Richard Biener <rguenther@suse.de>
4837
4838 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Canonicalize
4839 bool compares on RHS.
4840 * match.pd: Add X ==/!= !X is false/true pattern.
4841
4842 2015-08-04 Pawel Kupidura <pawel.kupidura@arm.com>
4843
4844 * config/aarch64/aarch64.c: Change inner loop statement cost
4845 to be consistent with other targets.
4846
4847 2015-08-04 Christophe Lyon <christophe.lyon@linaro.org>
4848
4849 * config/arm/neon.md (neon_vget_lanev2di): Handle big-endian
4850 targets.
4851
4852 2015-08-04 Nathan Sidwell <nathan@codesourcery.com>
4853
4854 * config/nvptx/nvptx.h (struct nvptx_pseudo_info): Delete.
4855 (machine_function): Remove pseudos field.
4856
4857 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4858
4859 * config/aarch64/aarch64.c (aarch64_option_valid_attribute_p):
4860 Exit early and use target_option_current_node if processing current
4861 pragma.
4862
4863 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4864
4865 * doc/extend.texi (AArch64 Function Attributes): New node.
4866 (AArch64 Pragmas): Likewise.
4867
4868 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4869
4870 * config/aarch64/aarch64.c (aarch64_option_valid_attribute_p):
4871 Initialize simd builtins if TARGET_SIMD.
4872 * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
4873 Make sure that the builtins are initialized only once no matter how
4874 many times the function is called.
4875 (aarch64_init_builtins): Unconditionally initialize crc builtins.
4876 (aarch64_relayout_simd_param): New function.
4877 (aarch64_simd_expand_args): Use above during argument expansion.
4878 * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse): Initialize
4879 simd builtins if TARGET_SIMD.
4880 * config/aarch64/aarch64-protos.h (aarch64_init_simd_builtins): New
4881 prototype.
4882 (aarch64_relayout_simd_types): Likewise.
4883
4884 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4885
4886 * config.gcc (aarch64*-*-*): Specify c_target_objs and cxx_target_objs.
4887 * config/aarch64/aarch64.h (REGISTER_TARGET_PRAGMAS): Define.
4888 (TARGET_CPU_CPP_BUILTINS): Redefine to call aarch64_cpu_cpp_builtins.
4889 * config/aarch64/aarch64.c (aarch64_override_options_internal): Remove
4890 static keyword.
4891 (aarch64_reset_previous_fndecl): New function.
4892 (aarch64_handle_attr_isa_flags): Handle "+nothing" in the beginning of
4893 the string.
4894 * config/aarch64/aarch64-c.c: New file.
4895 * config/aarch64/arm_acle.h: Add pragma +crc+nofp at the top.
4896 Push and pop options at beginning and end. Remove ifdef
4897 __ARM_FEATURE_CRC32.
4898 * config/aarch64/arm_neon.h: Remove #ifdef check on __ARM_NEON.
4899 Add pragma +nothing+simd and +nothing+crypto where appropriate.
4900 * config/aarch64/t-aarch64 (aarch64-c.o): New rule.
4901 * config/aarch64/aarch64-protos.h (aarch64_cpu_cpp_builtins):
4902 Define prototype.
4903 (aarch64_register_pragmas): Likewise.
4904 (aarch64_reset_previous_fndecl): Likewise.
4905 (aarch64_process_target_attr): Likewise.
4906 (aarch64_override_options_internal): Likewise.
4907
4908 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4909
4910 * config/aarch64/aarch64.c (aarch64_tribools_ok_for_inlining_p):
4911 New function.
4912 (aarch64_can_inline_p): Likewise.
4913 (TARGET_CAN_INLINE_P): Define.
4914
4915 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4916
4917 * common/config/aarch64/aarch64-common.c (aarch64_handle_option):
4918 Remove static. Handle OPT_mgeneral_regs_only,
4919 OPT_mfix_cortex_a53_835769, OPT_mstrict_align,
4920 OPT_momit_leaf_frame_pointer.
4921 * config/aarch64/aarch64.c: Include opts.h and diagnostic.h
4922 (aarch64_attr_opt_type): New enum.
4923 (aarch64_attribute_info): New struct.
4924 (aarch64_handle_attr_arch): New function.
4925 (aarch64_handle_attr_cpu): Likewise.
4926 (aarch64_handle_attr_tune): Likewise.
4927 (aarch64_handle_attr_isa_flags): Likewise.
4928 (aarch64_attributes): New table.
4929 (aarch64_process_one_target_attr): New function.
4930 (num_occurences_in_str): Likewise.
4931 (aarch64_process_target_attr): Likewise.
4932 (aarch64_option_valid_attribute_p): Likewise.
4933 (TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
4934 * config/aarch64/aarch64-protos.h: Include input.h
4935 (aarch64_handle_option): Declare prototype.
4936
4937 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4938
4939 * config/aarch64/aarch64.h (SWITCHABLE_TARGET): Define.
4940 * config/aarch64/aarch64.c: Include target-globals.h
4941 (aarch64_previous_fndecl): New variable.
4942 (aarch64_set_current_function): New function.
4943 (TARGET_SET_CURRENT_FUNCTION): Define.
4944
4945 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4946
4947 * config/aarch64/aarch64.opt (explicit_tune_core): New TargetVariable.
4948 (explicit_arch): Likewise.
4949 (x_aarch64_isa_flags): Likewise.
4950 (mgeneral-regs-only): Mark as Save.
4951 (mfix-cortex-a53-835769): Likewise.
4952 (mcmodel=): Likewise.
4953 (mstrict-align): Likewise.
4954 (momit-leaf-frame-pointer): Likewise.
4955 (mtls-dialect): Likewise.
4956 (master=): Likewise.
4957 * config/aarch64/aarch64.h (ASM_DECLARE_FUNCTION_NAME): Define.
4958 (aarch64_isa_flags): Remove extern declaration.
4959 * config/aarch64/aarch64.c (aarch64_validate_mcpu): Return a bool
4960 to indicate success or failure.
4961 (aarch64_validate_march): Likewise.
4962 (aarch64_validate_mtune): Likewise.
4963 (aarch64_isa_flags): Delete.
4964 (aarch64_override_options_internal): Access opts->x_aarch64_isa_flags
4965 instead of aarch64_isa_flags.
4966 (aarch64_get_tune_cpu): New function.
4967 (aarch64_get_arch): Likewise.
4968 (aarch64_override_options): Use above and set up explicit_tune_core
4969 and explicit_arch.
4970 (aarch64_print_extension): Move earlier in file. Add isa_flags
4971 argument and use that instead of the global aarch64_isa_flags.
4972 (aarch64_option_save): New function.
4973 (aarch64_option_restore): Likewise.
4974 (aarch64_option_print): Likewise.
4975 (aarch64_declare_function_name): Likewise.
4976 (aarch64_start_file): Delete.
4977 (TARGET_ASM_FILE_START): Do not define.
4978 (TARGET_OPTION_RESTORE, TARGET_OPTION_PRINT): Define.
4979 * config/aarch64/aarch64-protos.h (aarch64_declare_function_name):
4980 Declare prototype.
4981
4982 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4983
4984 * config/aarch64/aarch64.opt (momit-leaf-frame-pointer): Initialize
4985 flag_omit_leaf_frame_pointer to 2.
4986
4987 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4988
4989 * config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_835769_DEFAULT): Always
4990 define to 0 or 1.
4991 (TARGET_FIX_ERR_A53_835769): New macro.
4992 * config/aarch64/aarch64.c (aarch64_override_options_internal): Remove
4993 handling of opts->x_aarch64_fix_a53_err835769.
4994 (aarch64_madd_needs_nop): Check for TARGET_FIX_ERR_A53_835769 rather
4995 than aarch64_fix_a53_err835769.
4996 * config/aarch64/aarch64-elf-raw.h: Update for above changes.
4997 * config/aarch64/aarch64-linux.h: Likewise.
4998
4999 2015-08-04 Uros Bizjak <ubizjak@gmail.com>
5000
5001 * config/i386/i386.c (ix86_expand_int_movcc): Check result of
5002 ix86_expand_int_movcc as boolean.
5003
5004 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5005
5006 * config/aarch64/aarch64.opt (aarch64_arch_string): Delete.
5007 (aarch64_cpu_string): Likewise.
5008 (aarch64_tune_string): Likewise.
5009 * config/aarch64/aarch64.c (aarch64_parse_opt_result): New enum.
5010 (aarch64_parse_extension): Return aarch64_parse_opt_result.
5011 Add extra argument to put result into.
5012 (aarch64_parse_arch): Likewise. Do not set selected_cpu.
5013 (aarch64_parse_cpu): Add arguments to put results into. Return
5014 aarch64_parse_opt_result.
5015 (aarch64_parse_tune): Likewise.
5016 (aarch64_override_options_after_change_1): New function.
5017 (aarch64_override_options_internal): New function.
5018 (aarch64_validate_mcpu): Likewise.
5019 (aarch64_validate_march): Likewise.
5020 (aarch64_validate_mtune): Likewise.
5021 (aarch64_override_options): Update to reflect above changes.
5022 Move some logic into aarch64_override_options_internal.
5023 Initialize target_option_default_node and target_option_current_node.
5024 (aarch64_override_options_after_change): Move logic into
5025 aarch64_override_options_after_change_1 and call it with global_options.
5026 (initialize_aarch64_code_model): Take a gcc_options pointer and use the
5027 flag values from that.
5028
5029 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5030
5031 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
5032 __ARM_ARCH_8A directly rather than with cpp_define_formatted.
5033 * config/aarch64/aarch64.c (struct processor): Add arch field.
5034 (all_architectures): Handle above, move above all_cores.
5035 (all_cores): Handle above.
5036 (aarch64_parse_arch): Handle above changes.
5037 * config/aarch64/aarch64-arches.def (armv8-a): Extend according to
5038 above. Update comments.
5039 (armv8.1-a): Likewise.
5040 * config/aarch64/aarch64-cores.def: Update according to above.
5041 * config/aarch64/aarch64-opts.h (aarch64_arch): New enum.
5042 * config/aarch64/driver-aarch64.c (struct aarch64_arch): Rename to
5043 aarch64_arch_driver_info.
5044
5045 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5046
5047 * config/aarch64/aarch64.c (struct processor): Add ident field.
5048 Rename core sched_core.
5049 (all_cores): Handle above changes.
5050 (all_architectures): Likewise.
5051 (aarch64_parse_arch): Likewise.
5052 (aarch64_override_options): Likewise.
5053
5054 2015-08-04 Richard Biener <rguenther@suse.de>
5055
5056 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove
5057 dispatching to fold_binary for GIMPLE_BINARY_RHS and for
5058 comparisons embedded in [VEC_]COND_EXPRs.
5059
5060 2015-08-03 Abe Skolnik <a.skolnik@samsung.com>
5061
5062 * tree-if-conv.c: Fix various typos in comments.
5063 * tree-vect-stmts.c: Likewise.
5064
5065 2015-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
5066
5067 PR tree-optimization/67043
5068 * loop-invariant.c (move_invariant_reg): Recompute luids in loop
5069 preheader after hoisting invariant in it.
5070 (find_defs): Force recomputation of all luids.
5071
5072 2015-08-03 Peter Bergner <bergner@vnet.ibm.com>
5073
5074 * config/rs6000/htm.md (tabort.): Restrict the source operand to
5075 using a base register.
5076
5077 2015-08-03 David Malcolm <dmalcolm@redhat.com>
5078
5079 * main.c (main): Pass in NULL for toplev's external_timer.
5080 * timevar.c: Include coretypes.h.
5081 (class timer::named_items): New.
5082 (timer::named_items::named_items): New.
5083 (timer::named_items::~named_items): New.
5084 (timer::named_items::push): New.
5085 (timer::named_items::pop): New.
5086 (timer::named_items::print): New.
5087 (timer::timer): Initialize field "m_jit_client_items".
5088 (timer::~timer): New.
5089 (timer::push): Move bulk of implementation to...
5090 (timer::push_internal): ...here. New function.
5091 (timer::pop): Move bulk of implementation to...
5092 (timer::pop_internal): ...here. New function.
5093 (timer::push_client_item): New.
5094 (timer::pop_client_item): New.
5095 (timer::print_row): New function, taken from timer::print.
5096 (timer::print): Print "GCC items" header if we also have client
5097 items. Move row-printing to timer::print_row. Print any client
5098 items.
5099 (timer::get_topmost_item_name): New method.
5100 * timevar.def (TV_JIT_ACQUIRING_MUTEX): New.
5101 (TV_JIT_CLIENT_CODE): New.
5102 * timevar.h (timer::push_client_item): New declaration.
5103 (timer::pop_client_item): New declaration.
5104 (timer::get_topmost_item_name): New method.
5105 (timer::push_internal): New declaration.
5106 (timer::pop_internal): New declaration.
5107 (timer::print_row): New declaration.
5108 (timer::named_items): New declaration.
5109 (timer::m_jit_client_items): New field.
5110 (timer): Add friend class named_items.
5111 (auto_timevar::auto_timevar): Add timer param.
5112 (auto_timevar::~auto_timevar): Use field "m_timer".
5113 (auto_timevar::m_timer): New field.
5114 * toplev.c (initialize_rtl): Add g_timer as param when
5115 constructing auto_timevar instance.
5116 (toplev::toplev): Add "external_timer" param, and use it to
5117 initialize the "g_timer" global if non-NULL.
5118 (toplev::~toplev): If this created "g_timer", delete it.
5119 * toplev.h (toplev::toplev): Replace "use_TV_TOTAL" bool param
5120 with "external_timer" timer *.
5121
5122 2015-08-03 Alexander Basov <coohpt@gmail.com>
5123
5124 PR middle-end/64744
5125 PR middle-end/48470
5126 PR middle-end/43404
5127 * cfgexpand.c (expand_one_var): Add check if stack is going to
5128 be used in naked function.
5129 * expr.c (expand_expr_addr_expr_1): Remove excess checking
5130 whether expression should not reside in MEM.
5131 * function.c (use_register_for_decl): Do not use registers for
5132 non-register things (volatile, float, BLKMode) in naked functions.
5133
5134 2015-08-03 John David Anglin <danglin@gcc.gnu.org>
5135
5136 PR target/67060
5137 * config/pa/pa.md (call_reg_64bit): Remove reg:DI 1 clobber.
5138 Adjust splits to match new pattern.
5139
5140 2015-08-03 Michael Meissner <meissner@linux.vnet.ibm.com>
5141
5142 * config/rs6000/vector.md (VEC_L): Add KFmode and TFmode.
5143 (VEC_M): Likewise.
5144 (VEC_N): Likewise.
5145 (mov<mode>, VEC_M iterator): Add support for IEEE 128-bit floating
5146 point in VSX registers.
5147
5148 * config/rs6000/constraints.md (wb constraint): Document unused
5149 w<x> constraint.
5150 (we constraint): Likewise.
5151 (wo constraint): Likewise.
5152 (wp constraint): New constraint for IEEE 128-bit floating point in
5153 VSX registers.
5154 (wq constraint): Likewise.
5155
5156 * config/rs6000/predicates.md (easy_fp_constant): Add support for
5157 IEEE 128-bit floating point in VSX registers.
5158 (easy_scalar_constant): Likewise.
5159
5160 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add new
5161 constraints (wp, wq) for IEEE 128-bit floating point in VSX
5162 registers.
5163 (rs6000_init_hard_regno_mode_ok): Likewise.
5164
5165 * config/rs6000/vsx.md (VSX_LE_128): Add support for IEEE 128-bit
5166 floating point in VSX registers.
5167 (VSX_L): Likewise.
5168 (VSX_M): Likewise.
5169 (VSX_M2): Likewise.
5170 (VSm): Likewise.
5171 (VSs): Likewise.
5172 (VSr): Likewise.
5173 (VSa): Likewise.
5174 (VSv): Likewise.
5175 (vsx_le_permute_<mode>): Add support to properly swap bytes for
5176 IEEE 128-bit floating point in VSX registers on little endian.
5177 (vsx_le_undo_permute_<mode>): Likewise.
5178 (vsx_le_perm_load_<mode>): Likewise.
5179 (vsx_le_perm_store_<mode>): Likewise.
5180 (splitters for IEEE 128-bit fp moves): Likewise.
5181
5182 * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add wp and
5183 wq constraints.
5184
5185 * config/rs6000/altivec.md (VM): Add support for IEEE 128-bit
5186 floating point in VSX registers.
5187 (VM2): Likewise.
5188
5189 * doc/md.text (Machine Constraints): Document wp and wq
5190 constraints on PowerPC.
5191
5192 2015-08-03 Jeff Law <law@redhat.com>
5193
5194 PR middle-end/66314
5195 PR gcov-profile/66899
5196 * tree-ssa-threadupdate.c (mark_threaded_blocks): Correctly
5197 iterate over the jump threading paths when an element in the
5198 jump threading paths array is eliminated.
5199
5200 2015-08-03 Segher Boessenkool <segher@kernel.crashing.org>
5201
5202 * Makefile.in (OBJS): Put gimple-match.o and generic-match.o first.
5203
5204 2015-08-03 Patrick Palka <ppalka@gcc.gnu.org>
5205
5206 * tree-ssa-uninit.c (find_uninit_use): Declare and pass to
5207 is_use_properly_guarded the variable def_preds. Free its
5208 contents before returning.
5209 (prune_uninit_phi_opnds_in_unrealizable_paths): Same.
5210 (is_use_properly_guarded): Replace local variable def_preds with
5211 a parameter. Adjust accordingly. Only update *def_preds if it's
5212 the empty vector.
5213
5214 2015-08-03 Richard Biener <rguenther@suse.de>
5215
5216 * genmatch.c (simplify::for_subst_vec): New member.
5217 (binary_ok): New helper for for lowering.
5218 (lower_for): Delay substituting operators into result expressions
5219 if we can merge the results eventually again.
5220 (capture_info::walk_result): Adjust for user_id appearing as
5221 result expression operator.
5222 (expr::gen_transform): Likewise.
5223 (dt_simplify::gen_1): Likewise.
5224 (dt_simplify::gen): Pass not substituted operators to tail
5225 functions or initialize local variable with it.
5226 (decision_tree::gen): Adjust function signature.
5227 * match.pd: Fix tests against global code and add default
5228 cases to switch stmts.
5229
5230 2015-08-03 Richard Biener <rguenther@suse.de>
5231
5232 * genmatch.c (dt_simplify::gen): Create captures array
5233 with an initializer.
5234
5235 2015-08-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5236
5237 * configure.ac: Set aliasing_flags to -fno-strict-aliasing if
5238 the host compiler is affected by placement new aliasing bug.
5239 * configure: Regenerate.
5240 * Makefile.in (ALIASING_FLAGS): New variable.
5241 (ALL_CXXFLAGS): Add $(ALIASING_FLAGS).
5242
5243 2015-08-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
5244
5245 PR target/66731
5246 * config/arm/vfp.md (negmuldf3_vfp): Add new pattern.
5247 (negmulsf3_vfp): Likewise.
5248 (muldf3negdf_vfp): Disable for -frounding-math.
5249 (mulsf3negsf_vfp): Likewise.
5250 * config/arm/arm.c (arm_new_rtx_costs): Fix NEG cost for VNMUL,
5251 fix MULT cost with -frounding-math.
5252
5253 2015-08-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5254
5255 * ifcvt.c (noce_try_store_flag_constants): Make logic of the case
5256 when diff == STORE_FLAG_VALUE or diff == -STORE_FLAG_VALUE more
5257 explicit. Prefer to add the flag whenever possible.
5258 (noce_process_if_block): Try noce_try_store_flag_constants before
5259 noce_try_cmove.
5260
5261 2015-08-03 Richard Biener <rguenther@suse.de>
5262
5263 * genmatch.c (struct sinfo, struct sinfo_hashmap_traits, sinfo_map_t):
5264 New hash-map to record equivalent transforms.
5265 (dt_node::analyze): Populate the equivalent transforms hash-map.
5266 (dt_simplify::info): Add reference to hash-map entry.
5267 (dt_simplify::gen): If we have split out a function for the
5268 transform, generate a call to it.
5269 (sinfo_hashmap_traits::hash): New function.
5270 (compare_op): New helper function for ...
5271 (sinfo_hashmap_traits::equal_keys): ... this new function.
5272 (decision_tree::gen): Split out common equivalent transforms
5273 into functions.
5274
5275 2015-08-03 Richard Biener <rguenther@suse.de>
5276
5277 * gimple-fold.c (fold_gimple_assign): Remove folding of
5278 the comparison in COND_EXPRs.
5279
5280 2015-08-03 Richard Biener <rguenther@suse.de>
5281
5282 * gimple-match-head.c (gimple_simplify): For [VEC_]COND_EXPRs
5283 on the rhs of assignments first simplify the embedded
5284 GENERIC condition.
5285
5286 2015-08-03 Richard Biener <rguenther@suse.de>
5287
5288 PR tree-optimization/66917
5289 * tree-vectorizer.h (struct dataref_aux): Add base_element_aligned
5290 field.
5291 (DR_VECT_AUX): New macro.
5292 (set_dr_misalignment): Adjust.
5293 (dr_misalignment): Likewise.
5294 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
5295 Compute whether the base is at least element aligned.
5296 * tree-vect-stmts.c (ensure_base_align): Adjust.
5297 (vectorizable_store): If the base is not element aligned
5298 preserve alignment of the original access if misalignment is unknown.
5299 (vectorizable_load): Likewise.
5300
5301 2015-08-02 Martin Sebor <msebor@redhat.com>
5302
5303 * c-family/c.opt (-Wframe-address): New warning option.
5304 * doc/invoke.texi (Wframe-address): Document it.
5305 * doc/extend.texi (__builtin_frame_address, __builtin_return_address):
5306 Clarify possible effects of calling the functions with non-zero
5307 arguments and mention -Wframe-address.
5308 * builtins.c (expand_builtin_frame_address): Handle -Wframe-address.
5309
5310 2015-08-01 Michael Collison <michael.collison@linaro.org
5311 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
5312
5313 * gcc/config/arm/arm.md (*arm_smin_cmp): New pattern.
5314 (*arm_umin_cmp): Likewise.
5315
5316 2015-08-01 Caroline Tice <cmtice@google.com>
5317
5318 PR 66521
5319 * vtable-verify.c (vtbl_mangled_name_types, vtbl_mangled_name_ids): New
5320 global variables.
5321 (vtbl_find_mangled_name): New function.
5322 (vtbl_register_mangled_name): New function.
5323 (vtbl_map_get_node): If DECL_ASSEMBLER_NAME is "<anon>", look up
5324 mangled name in mangled name vectors.
5325 (find_or_create_vtbl_map_node): Ditto.
5326 (var_is_used_for_virtual_call_p): Add recursion_depth parameter;
5327 update recursion_depth on function entry; pass it to every recursive
5328 call; automatically exit if depth > 25 (give up looking at that point).
5329 (verify_bb_vtables): Initialize recursion_depth and pass it to
5330 var_is_used_for_virtual_call_p.
5331 * vtable-verify.h (vtbl_mangbled_name_types, vtbl_mangled_name_ids): New
5332 global variable decls.
5333 (vtbl_register_mangled_name): New extern function decl.
5334
5335 2015-08-01 Tom de Vries <tom@codesourcery.com>
5336
5337 * tree.c (operation_can_overflow, operation_no_trapping_overflow): New
5338 function.
5339 * tree.h (operation_can_overflow, operation_no_trapping_overflow):
5340 Declare.
5341 * tree-vect-loop.c (vect_is_simple_reduction_1): Use
5342 operation_no_trapping_overflow. Allow non-overflow operations.
5343 * graphite-sese-to-poly.c (is_reduction_operation_p): Allow non-overflow
5344 operations.
5345
5346 2015-07-31 Kaz Kojima <kkojima@gcc.gnu.org>
5347
5348 PR target/67049
5349 * config/sh/sh.md (GOTaddr2picreg): Fix typo.
5350
5351 2015-07-31 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5352
5353 * config/arm/arm.md (*if_neg_move): Convert to insn_and_split.
5354 Enable for TARGET_32BIT.
5355 (*if_move_neg): Likewise.
5356
5357 2015-07-31 Nick Clifton <nickc@redhat.com>
5358
5359 * config/m32r/m32r.c (m32r_attribute_identifier): New function.
5360 Returns true for __model__.
5361 (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
5362
5363 2015-07-31 Alan Modra <amodra@gmail.com>
5364
5365 PR target/66870
5366 * config/rs6000/rs6000.c (machine_function): Add split_stack_argp_used.
5367 (rs6000_emit_prologue): Set it.
5368 (rs6000_set_up_by_prologue): Specify r12 when split_stack_argp_used.
5369
5370 2015-07-31 Richard Biener <rguenther@suse.de>
5371
5372 * fold-const.c (fold_binary_loc): Remove X ^ C1 == C2
5373 -> X == (C1 ^ C2) which is already implemented in match.pd.
5374 Remove redundant dispatching to fold_relational_const.
5375 Move unordered self and NaN compares ...
5376 * match.pd: ... as patterns here. Remove some stray captures
5377 and add a comment.
5378
5379 2015-07-31 Petr Murzin <petr.murzin@intel.com>
5380
5381 * config/i386/i386.c
5382 (bdesc_special_args): Convert mask type from signed to unsigned for
5383 masked builtins.
5384 (ix86_expand_args_builtin): Do not handle UINT_FTYPE_V2DF,
5385 UINT64_FTYPE_V2DF, UINT64_FTYPE_V4SF, V16QI_FTYPE_V8DI,
5386 V16HI_FTYPE_V16SI, V16SI_FTYPE_V16SI, V16SF_FTYPE_FLOAT,
5387 V8HI_FTYPE_V8DI, V8UHI_FTYPE_V8UHI, V8SI_FTYPE_V8DI, V8SF_FTYPE_V8DF,
5388 V8DI_FTYPE_INT64, V8DI_FTYPE_V4DI, V8DI_FTYPE_V8DI, V8DF_FTYPE_DOUBLE,
5389 V8DF_FTYPE_V8SI, V16SI_FTYPE_V16SI_V16SI, V16SF_FTYPE_V16SF_V16SI,
5390 V8DI_FTYPE_V8DI_V8DI, V8DF_FTYPE_V8DF_V8DI, V4SI_FTYPE_V4SF_V4SF,
5391 V4SF_FTYPE_V4SF_UINT64, V2UDI_FTYPE_V4USI_V4USI, V2DI_FTYPE_V2DF_V2DF,
5392 V2DF_FTYPE_V2DF_UINT64, V4UDI_FTYPE_V8USI_V8USI, QI_FTYPE_V8DI_V8DI,
5393 HI_FTYPE_V16SI_V16SI, HI_FTYPE_HI_INT, V16SF_FTYPE_V16SF_V16SF_V16SF,
5394 V16SF_FTYPE_V16SF_V16SI_V16SF, V16SF_FTYPE_V16SI_V16SF_HI,
5395 V16SF_FTYPE_V16SI_V16SF_V16SF, V16SI_FTYPE_V16SF_V16SI_HI,
5396 V8DI_FTYPE_V8SF_V8DI_QI, V8SF_FTYPE_V8DI_V8SF_QI, V8DI_FTYPE_PV4DI,
5397 V8DF_FTYPE_V8DI_V8DF_QI, V16SI_FTYPE_V16SI_V16SI_V16SI,
5398 V2DI_FTYPE_V2DI_V2DI_V2DI, V8DI_FTYPE_V8DF_V8DI_QI, V8DF_FTYPE_PV4DF,
5399 V8SI_FTYPE_V8SI_V8SI_V8SI, V8DF_FTYPE_V8DF_V8DF_V8DF, UINT_FTYPE_V4SF,
5400 V8DF_FTYPE_V8DF_V8DI_V8DF, V8DF_FTYPE_V8DI_V8DF_V8DF,
5401 V8DF_FTYPE_V8SF_V8DF_QI, V8DI_FTYPE_V8DI_V8DI_V8DI, V16SF_FTYPE_PV4SF,
5402 V8SF_FTYPE_V8DF_V8SF_QI, V8SI_FTYPE_V8DF_V8SI_QI, V16SI_FTYPE_PV4SI,
5403 V2DF_FTYPE_V2DF_V4SF_V2DF_QI, V4SF_FTYPE_V4SF_V2DF_V4SF_QI,
5404 V8DI_FTYPE_V8DI_SI_V8DI_V8DI, QI_FTYPE_V8DF_V8DF_INT_QI,
5405 HI_FTYPE_V16SF_V16SF_INT_HI, V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI,
5406 VOID_FTYPE_PDOUBLE_V2DF_QI, VOID_FTYPE_PFLOAT_V4SF_QI,
5407 V2DF_FTYPE_PCDOUBLE_V2DF_QI, V4SF_FTYPE_PCFLOAT_V4SF_QI.
5408 * config/i386/i386-builtin-types.def
5409 (V16QI_FTYPE_V16SI): Remove.
5410 (V8DF_FTYPE_V8SI): Ditto.
5411 (V8HI_FTYPE_V8DI): Ditto.
5412 (V8SI_FTYPE_V8DI): Ditto.
5413 (V8SF_FTYPE_V8DF): Ditto.
5414 (V8SF_FTYPE_V8DF_V8SF_QI): Ditto.
5415 (V16HI_FTYPE_V16SI): Ditto.
5416 (V16SF_FTYPE_V16HI): Ditto.
5417 (V16SF_FTYPE_V16HI_V16SF_HI): Ditto.
5418 (V16SF_FTYPE_V16SI): Ditto.
5419 (V4DI_FTYPE_V4DI): Ditto.
5420 (V16SI_FTYPE_V16SF): Ditto.
5421 (V16SF_FTYPE_FLOAT): Ditto.
5422 (V8DF_FTYPE_DOUBLE): Ditto.
5423 (V8DI_FTYPE_INT64): Ditto.
5424 (V8DI_FTYPE_V4DI): Ditto.
5425 (V16QI_FTYPE_V8DI): Ditto.
5426 (UINT_FTYPE_V4SF): Ditto.
5427 (UINT64_FTYPE_V4SF): Ditto.
5428 (UINT_FTYPE_V2DF): Ditto.
5429 (UINT64_FTYPE_V2DF): Ditto.
5430 (V16SI_FTYPE_V16SI): Ditto.
5431 (V8DI_FTYPE_V8DI): Ditto.
5432 (V16SI_FTYPE_PV4SI): Ditto.
5433 (V16SF_FTYPE_PV4SF): Ditto.
5434 (V8DI_FTYPE_PV2DI): Ditto.
5435 (V8DF_FTYPE_PV2DF): Ditto.
5436 (V4DI_FTYPE_PV2DI): Ditto.
5437 (V4DF_FTYPE_PV2DF): Ditto.
5438 (V16SI_FTYPE_PV2SI): Ditto.
5439 (V16SF_FTYPE_PV2SF): Ditto.
5440 (V8DI_FTYPE_PV4DI): Ditto.
5441 (V8DF_FTYPE_PV4DF): Ditto.
5442 (V8SF_FTYPE_FLOAT): Ditto.
5443 (V4SF_FTYPE_FLOAT): Ditto.
5444 (V4DF_FTYPE_DOUBLE): Ditto.
5445 (V8SF_FTYPE_PV4SF): Ditto.
5446 (V8SI_FTYPE_PV4SI): Ditto.
5447 (V4SI_FTYPE_PV2SI): Ditto.
5448 (V8SF_FTYPE_PV2SF): Ditto.
5449 (V8SI_FTYPE_PV2SI): Ditto.
5450 (V16SF_FTYPE_PV8SF): Ditto.
5451 (V16SI_FTYPE_PV8SI): Ditto.
5452 (V8DI_FTYPE_V8SF): Ditto.
5453 (V4DI_FTYPE_V4SF): Ditto.
5454 (V2DI_FTYPE_V4SF): Ditto.
5455 (V64QI_FTYPE_QI): Ditto.
5456 (V32HI_FTYPE_HI): Ditto.
5457 (V8UHI_FTYPE_V8UHI): Ditto.
5458 (V16UHI_FTYPE_V16UHI): Ditto.
5459 (V32UHI_FTYPE_V32UHI): Ditto.
5460 (V2UDI_FTYPE_V2UDI): Ditto.
5461 (V4UDI_FTYPE_V4UDI): Ditto.
5462 (V8UDI_FTYPE_V8UDI): Ditto.
5463 (V4USI_FTYPE_V4USI): Ditto.
5464 (V8USI_FTYPE_V8USI): Ditto.
5465 (V16USI_FTYPE_V16USI): Ditto.
5466 (V2DF_FTYPE_V2DF_UINT64): Ditto.
5467 (V2DI_FTYPE_V2DF_V2DF): Ditto.
5468 (V2UDI_FTYPE_V4USI_V4USI): Ditto.
5469 (V8DF_FTYPE_V8DF_V8DI): Ditto.
5470 (V4SF_FTYPE_V4SF_UINT64): Ditto.
5471 (V4SI_FTYPE_V4SF_V4SF): Ditto.
5472 (V16SF_FTYPE_V16SF_V16SI): Ditto.
5473 (V64QI_FTYPE_V32HI_V32HI): Ditto.
5474 (V32HI_FTYPE_V16SI_V16SI): Ditto.
5475 (V8DF_FTYPE_V8DF_V8DF_V8DI_INT_QI): Ditto.
5476 (V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI): Ditto.
5477 (V32HI_FTYPE_V64QI_V64QI): Ditto.
5478 (V32HI_FTYPE_V32HI_V32HI): Ditto.
5479 (V16HI_FTYPE_V16HI_V16HI_INT_V16HI_HI): Ditto.
5480 (V16SI_FTYPE_V16SI_V4SI): Ditto.
5481 (V16SI_FTYPE_V16SI_V16SI): Ditto.
5482 (V16SI_FTYPE_V32HI_V32HI): Ditto.
5483 (V16SI_FTYPE_V16SI_SI): Ditto.
5484 (V8DI_FTYPE_V8DI_V8DI): Ditto.
5485 (V4UDI_FTYPE_V8USI_V8USI): Ditto.
5486 (V8DI_FTYPE_V16SI_V16SI): Ditto.
5487 (V8DI_FTYPE_V8DI_V2DI): Ditto.
5488 (QI_FTYPE_QI): Ditto.
5489 (SI_FTYPE_SI): Ditto.
5490 (DI_FTYPE_DI): Ditto.
5491 (QI_FTYPE_QI_QI): Ditto.
5492 (QI_FTYPE_QI_INT): Ditto.
5493 (HI_FTYPE_HI_INT): Ditto.
5494 (SI_FTYPE_SI_INT): Ditto.
5495 (DI_FTYPE_DI_INT): Ditto.
5496 (HI_FTYPE_V16QI_V16QI): Ditto.
5497 (SI_FTYPE_V32QI_V32QI): Ditto.
5498 (DI_FTYPE_V64QI_V64QI): Ditto.
5499 (QI_FTYPE_V8HI_V8HI): Ditto.
5500 (HI_FTYPE_V16HI_V16HI): Ditto.
5501 (SI_FTYPE_V32HI_V32HI): Ditto.
5502 (QI_FTYPE_V4SI_V4SI): Ditto.
5503 (QI_FTYPE_V8SI_V8SI): Ditto.
5504 (QI_FTYPE_V2DI_V2DI): Ditto.
5505 (QI_FTYPE_V4DI_V4DI): Ditto.
5506 (QI_FTYPE_V8DI_V8DI): Ditto.
5507 (HI_FTYPE_V16SI_V16SI): Ditto.
5508 (HI_FTYPE_V16SI_V16SI_INT_HI): Ditto.
5509 (QI_FTYPE_V8DF_V8DF_INT_QI): Ditto.
5510 (HI_FTYPE_V16SF_V16SF_INT_HI): Ditto.
5511 (V32HI_FTYPE_V32HI_V32HI_V32HI): Ditto.
5512 (V4SF_FTYPE_V4SF_V2DF_V4SF_QI): Ditto.
5513 (V8DF_FTYPE_V8DF_V8DF_V8DF): Ditto.
5514 (V16SF_FTYPE_V16SF_V16SF_V16SF): Ditto.
5515 (V8DF_FTYPE_V8SF_V8DF_QI): Ditto.
5516 (V8DI_FTYPE_V8DF_V8DI_QI): Ditto.
5517 (V8DF_FTYPE_V8DI_V8DF_V8DF): Ditto.
5518 (V2DF_FTYPE_V2DF_V4SF_V2DF_QI): Ditto.
5519 (V16SF_FTYPE_V16SI_V16SF_HI): Ditto.
5520 (V16SF_FTYPE_V16SI_V16SF_V16SF): Ditto.
5521 (V8SI_FTYPE_V8DF_V8SI_QI): Ditto.
5522 (V8DI_FTYPE_PCCHAR_V8DI_QI): Ditto.
5523 (V8SF_FTYPE_PCFLOAT_V8SF_QI): Ditto.
5524 (V4SF_FTYPE_PCFLOAT_V4SF_QI): Ditto.
5525 (V4DF_FTYPE_PCDOUBLE_V4DF_QI): Ditto.
5526 (V2DF_FTYPE_PCDOUBLE_V2DF_QI): Ditto.
5527 (V8SI_FTYPE_PCCHAR_V8SI_QI): Ditto.
5528 (V4SI_FTYPE_PCCHAR_V4SI_QI): Ditto.
5529 (V4DI_FTYPE_PCCHAR_V4DI_QI): Ditto.
5530 (V2DI_FTYPE_PCCHAR_V2DI_QI): Ditto.
5531 (V16SF_FTYPE_PCV8SF_V16SF_HI): Ditto.
5532 (V16SI_FTYPE_PCV8SI_V16SI_HI): Ditto.
5533 (V8DF_FTYPE_PCV2DF_V8DF_QI): Ditto.
5534 (V8SF_FTYPE_PCV4SF_V8SF_QI): Ditto.
5535 (V8DI_FTYPE_PCV2DI_V8DI_QI): Ditto.
5536 (V8SI_FTYPE_PCV4SI_V8SI_QI): Ditto.
5537 (V4DF_FTYPE_PCV2DF_V4DF_QI): Ditto.
5538 (V4DI_FTYPE_PCV2DI_V4DI_QI): Ditto.
5539 (VOID_FTYPE_PDOUBLE_V2DF_QI): Ditto.
5540 (VOID_FTYPE_PFLOAT_V4SF_QI): Ditto.
5541 (V16SI_FTYPE_V16SF_V16SI_HI): Ditto.
5542 (V8DI_FTYPE_V8SF_V8DI_QI): Ditto.
5543 (V8SF_FTYPE_V8DI_V8SF_QI): Ditto.
5544 (V8DF_FTYPE_V8DI_V8DF_QI): Ditto.
5545 (V2DF_FTYPE_V2DF_V2DF_V2DI): Ditto.
5546 (V4SF_FTYPE_V4SF_V4SF_V4SI): Ditto.
5547 (V2UDI_FTYPE_V2UDI_V2UDI_V2UDI): Ditto.
5548 (V4USI_FTYPE_V4USI_V4USI_V4USI): Ditto.
5549 (V8UHI_FTYPE_V8UHI_V8UHI_V8UHI): Ditto.
5550 (V16UQI_FTYPE_V16UQI_V16UQI_V16UQI): Ditto.
5551 (V4DF_FTYPE_V4DF_V4DF_V4DI): Ditto.
5552 (V8SF_FTYPE_V8SF_V8SF_V8SI): Ditto.
5553 (V8DI_FTYPE_V8DI_V8DI_V8DI): Ditto.
5554 (V16SI_FTYPE_V16SI_V16SI_V16SI): Ditto.
5555 (V2DF_FTYPE_V2DF_V2DI_V2DF): Ditto.
5556 (V4DF_FTYPE_V4DF_V4DI_V4DF): Ditto.
5557 (V8DF_FTYPE_V8DF_V8DI_V8DF): Ditto.
5558 (V4SF_FTYPE_V4SF_V4SI_V4SF): Ditto.
5559 (V8SF_FTYPE_V8SF_V8SI_V8SF): Ditto.
5560 (V16SF_FTYPE_V16SF_V16SI_V16SF): Ditto.
5561 (V8DI_FTYPE_V8DI_SI_V8DI_V8DI): Ditto.
5562 (PVOID_FTYPE_PVOID_PVOID_ULONG): Ditto.
5563 (V4SF_FTYPE_V2DF_V4SF_QI): Convert mask type from signed to unsigned.
5564 (V4SF_FTYPE_V4DF_V4SF_QI): Ditto.
5565 (V4SF_FTYPE_V8HI_V4SF_QI): Ditto.
5566 (V8SF_FTYPE_V8HI_V8SF_QI): Ditto.
5567 (V16SI_FTYPE_V16SI_V16SI_HI): Ditto.
5568 (V8DI_FTYPE_V8DI_V8DI_QI): Ditto.
5569 (V2DF_FTYPE_V4DF_INT_V2DF_QI): Ditto.
5570 (V2DF_FTYPE_V8DF_INT_V2DF_QI): Ditto.
5571 (V2DI_FTYPE_V2DI_INT_V2DI_QI): Ditto.
5572 (V4DF_FTYPE_V8DF_INT_V4DF_QI): Ditto.
5573 (V4SF_FTYPE_V8SF_INT_V4SF_QI): Ditto.
5574 (V4SI_FTYPE_V2DF_V4SI_QI): Ditto.
5575 (V4SI_FTYPE_V4SI_INT_V4SI_QI): Ditto.
5576 (V4SI_FTYPE_V8HI_V8HI_V4SI_QI): Ditto.
5577 (V4SI_FTYPE_V8SI_INT_V4SI_QI): Ditto.
5578 (V8HI_FTYPE_V16QI_V16QI_V8HI_QI): Ditto.
5579 (V8HI_FTYPE_V8SF_INT_V8HI_QI): Ditto.
5580 (V8HI_FTYPE_V4SF_INT_V8HI_QI): Ditto.
5581 (V8SF_FTYPE_V16SF_INT_V8SF_QI): Ditto.
5582 (V4SF_FTYPE_V16SF_INT_V4SF_QI): Ditto.
5583 (V8DF_FTYPE_V8DF_V2DF_INT_V8DF_QI): Ditto.
5584 (V8DF_FTYPE_V8DF_V4DF_INT_V8DF_QI): Ditto.
5585 (V8DF_FTYPE_V8DF_V8DF_INT_V8DF_QI): Ditto.
5586 (V8DF_FTYPE_V8DF_INT_V8DF_QI): Ditto.
5587 (V4DF_FTYPE_V4DF_V4DF_V4DI_INT_QI): Ditto.
5588 (V2DF_FTYPE_V2DF_V2DF_V2DI_INT_QI): Ditto.
5589 (V16SF_FTYPE_V16SF_V16SF_INT_V16SF_HI): Ditto.
5590 (V16SF_FTYPE_V16SF_INT_V16SF_HI): Ditto.
5591 (V16SI_FTYPE_V16SI_V4SI_INT_V16SI_HI): Ditto.
5592 (V8SF_FTYPE_V8SF_V8SF_V8SI_INT_QI): Ditto.
5593 (V4SF_FTYPE_V4SF_V4SF_V4SI_INT_QI): Ditto.
5594 (V16SF_FTYPE_V16SF_V4SF_INT_V16SF_HI): Ditto.
5595 (V16SF_FTYPE_V16SF_V8SF_INT_V16SF_HI): Ditto.
5596 (V16HI_FTYPE_V32QI_V32QI_V16HI_HI): Ditto.
5597 (V32HI_FTYPE_V64QI_V64QI_V32HI_SI): Ditto.
5598 (V16HI_FTYPE_V16SF_INT_V16HI_HI): Ditto.
5599 (V16SI_FTYPE_V16SI_V8SI_INT_V16SI_HI): Ditto.
5600 (V4SI_FTYPE_V16SI_INT_V4SI_QI): Ditto.
5601 (V16SI_FTYPE_V16SI_V16SI_INT_V16SI_HI): Ditto.
5602 (V8SI_FTYPE_V16HI_V16HI_V8SI_QI): Ditto.
5603 (V16SI_FTYPE_V32HI_V32HI_V16SI_HI): Ditto.
5604 (V8SI_FTYPE_V8SI_INT_V8SI_QI): Ditto.
5605 (V8SI_FTYPE_V16SI_INT_V8SI_QI): Ditto.
5606 (V16SI_FTYPE_V16SI_V4SI_V16SI_HI): Ditto.
5607 (V16SI_FTYPE_V16SI_INT_V16SI_HI): Ditto.
5608 (V8DI_FTYPE_V8DI_V8DI_INT_V8DI_QI): Ditto.
5609 (V8DI_FTYPE_V8DI_V8DI_INT_V8DI_DI): Ditto.
5610 (V4DI_FTYPE_V4DI_V4DI_INT_V4DI_SI): Ditto.
5611 (V2DI_FTYPE_V2DI_V2DI_INT_V2DI_HI): Ditto.
5612 (V8DI_FTYPE_V8DI_V2DI_INT_V8DI_QI): Ditto.
5613 (V8DI_FTYPE_V8DI_V4DI_INT_V8DI_QI): Ditto.
5614 (V4DI_FTYPE_V8DI_INT_V4DI_QI): Ditto.
5615 (V8DI_FTYPE_V8DI_V2DI_V8DI_QI): Ditto.
5616 (V8DI_FTYPE_V8DI_INT_V8DI_QI): Ditto.
5617 (V4DI_FTYPE_V4DI_INT_V4DI_QI): Ditto.
5618 (V2DI_FTYPE_V4DI_INT_V2DI_QI): Ditto.
5619 (V2DI_FTYPE_V8DI_INT_V2DI_QI): Ditto.
5620 (HI_FTYPE_HI): Ditto.
5621 (HI_FTYPE_V16QI): Ditto.
5622 (SI_FTYPE_V32QI): Ditto.
5623 (DI_FTYPE_V64QI): Ditto.
5624 (QI_FTYPE_V8HI): Ditto.
5625 (HI_FTYPE_V16HI): Ditto.
5626 (SI_FTYPE_V32HI): Ditto.
5627 (QI_FTYPE_V4SI): Ditto.
5628 (QI_FTYPE_V8SI): Ditto.
5629 (HI_FTYPE_V16SI): Ditto.
5630 (QI_FTYPE_V2DI): Ditto.
5631 (QI_FTYPE_V4DI): Ditto.
5632 (QI_FTYPE_V8DI): Ditto.
5633 (V16QI_FTYPE_HI): Ditto.
5634 (V32QI_FTYPE_SI): Ditto.
5635 (V64QI_FTYPE_DI): Ditto.
5636 (V8HI_FTYPE_QI): Ditto.
5637 (V16HI_FTYPE_HI): Ditto.
5638 (V32HI_FTYPE_SI): Ditto.
5639 (V4SI_FTYPE_QI): Ditto.
5640 (V4SI_FTYPE_HI): Ditto.
5641 (V8SI_FTYPE_QI): Ditto.
5642 (V8SI_FTYPE_HI): Ditto.
5643 (V2DI_FTYPE_QI): Ditto.
5644 (V4DI_FTYPE_QI): Ditto.
5645 (HI_FTYPE_HI_HI): Ditto.
5646 (SI_FTYPE_SI_SI): Ditto.
5647 (DI_FTYPE_DI_DI): Ditto.
5648 (HI_FTYPE_V16QI_V16QI_HI): Ditto.
5649 (HI_FTYPE_V16QI_V16QI_INT_HI): Ditto.
5650 (SI_FTYPE_V32QI_V32QI_SI): Ditto.
5651 (SI_FTYPE_V32QI_V32QI_INT_SI): Ditto.
5652 (DI_FTYPE_V64QI_V64QI_DI): Ditto.
5653 (DI_FTYPE_V64QI_V64QI_INT_DI): Ditto.
5654 (QI_FTYPE_V8HI_V8HI_QI): Ditto.
5655 (QI_FTYPE_V8HI_V8HI_INT_QI): Ditto.
5656 (HI_FTYPE_V16HI_V16HI_HI): Ditto.
5657 (HI_FTYPE_V16HI_V16HI_INT_HI): Ditto.
5658 (SI_FTYPE_V32HI_V32HI_SI): Ditto.
5659 (SI_FTYPE_V32HI_V32HI_INT_SI): Ditto.
5660 (QI_FTYPE_V4SI_V4SI_QI): Ditto.
5661 (QI_FTYPE_V4SI_V4SI_INT_QI): Ditto.
5662 (QI_FTYPE_V8SI_V8SI_QI): Ditto.
5663 (QI_FTYPE_V8SI_V8SI_INT_QI): Ditto.
5664 (QI_FTYPE_V2DI_V2DI_QI): Ditto.
5665 (QI_FTYPE_V2DI_V2DI_INT_QI): Ditto.
5666 (QI_FTYPE_V4DI_V4DI_QI): Ditto.
5667 (QI_FTYPE_V4DI_V4DI_INT_QI): Ditto.
5668 (QI_FTYPE_V8DI_V8DI_QI): Ditto.
5669 (HI_FTYPE_V16SI_V16SI_HI): Ditto.
5670 (QI_FTYPE_V8DI_V8DI_INT): Ditto.
5671 (QI_FTYPE_V8DI_V8DI_INT_QI): Ditto.
5672 (HI_FTYPE_V16SI_V16SI_INT): Ditto.
5673 (HI_FTYPE_V16SI_V16SI_INT _HI): Ditto.
5674 (QI_FTYPE_V8DF_V8DF_INT): Ditto.
5675 (QI_FTYPE_V8DF_V8DF_INT_QI_INT): Ditto.
5676 (HI_FTYPE_V16SF_V16SF_INT): Ditto.
5677 (HI_FTYPE_V16SF_V16SF_INT_HI_INT): Ditto.
5678 (QI_FTYPE_V2DF_V2DF_INT): Ditto.
5679 (QI_FTYPE_V2DF_V2DF_INT_QI): Ditto.
5680 (QI_FTYPE_V2DF_V2DF_INT_QI_INT): Ditto.
5681 (QI_FTYPE_V4SF_V4SF_INT): Ditto.
5682 (QI_FTYPE_V4SF_V4SF_INT_QI): Ditto.
5683 (QI_FTYPE_V4SF_V4SF_INT_QI_INT): Ditto.
5684 (V16SI_FTYPE_HI): Ditto.
5685 (V8DI_FTYPE_QI): Ditto.
5686 (V2DF_FTYPE_V2DI_V2DF_V2DF_QI): Ditto.
5687 (V2DF_FTYPE_V2DF_V2DI_V2DF_QI): Ditto.
5688 (V4DF_FTYPE_V4DF_V2DF_INT_V4DF_QI): Ditto.
5689 (V4SF_FTYPE_V4SI_V4SF_V4SF_QI): Ditto.
5690 (V4SF_FTYPE_V4SF_V4SI_V4SF_QI): Ditto.
5691 (V4SF_FTYPE_V4SF_V4SF_V4SF_QI): Ditto.
5692 (V8SF_FTYPE_V8SF_V4SF_INT_V8SF_QI): Ditto.
5693 (V8SI_FTYPE_V8SI_V4SI_INT_V8SI_QI): Ditto.
5694 (V4DI_FTYPE_V4DI_V2DI_INT_V4DI_QI): Ditto.
5695 (V2DF_FTYPE_V2DF_V2DF_QI): Ditto.
5696 (V2DF_FTYPE_V4SF_V2DF_QI): Ditto.
5697 (V2DF_FTYPE_V4SI_V2DF_QI): Ditto.
5698 (V4DF_FTYPE_V4DF_V4DF_QI): Ditto.
5699 (V4DF_FTYPE_V4SF_V4DF_QI): Ditto.
5700 (V4DF_FTYPE_V4SI_V4DF_QI): Ditto.
5701 (V8DF_FTYPE_V8DF_V8DF_QI): Ditto.
5702 (V8DF_FTYPE_V8SI_V8DF_QI): Ditto.
5703 (V2DI_FTYPE_V4SI_V2DI_QI): Ditto.
5704 (V2DI_FTYPE_V8HI_V2DI_QI): Ditto.
5705 (V4DI_FTYPE_V4DF_V4DI_QI): Ditto.
5706 (V2DI_FTYPE_V2DF_V2DI_QI): Ditto.
5707 (V2DI_FTYPE_V2DI_V2DI_V2DI_QI): Ditto.
5708 (V2DI_FTYPE_V2DI_V2DI_INT_V2DI_QI): Ditto.
5709 (V4DI_FTYPE_V4DI_V4DI_V4DI_QI): Ditto.
5710 (V4DI_FTYPE_V4DI_V4DI_INT_V4DI_QI): Ditto.
5711 (V8DI_FTYPE_V8SI_V8DI_QI): Ditto.
5712 (V8DI_FTYPE_V8HI_V8DI_QI): Ditto.
5713 (V8DI_FTYPE_V16QI_V8DI_QI): Ditto.
5714 (V2DI_FTYPE_V16QI_V2DI_QI): Ditto.
5715 (V4DI_FTYPE_V16QI_V4DI_QI): Ditto.
5716 (V4DI_FTYPE_V4DI_V4DI_QI): Ditto.
5717 (V4DI_FTYPE_V4SI_V4DI_QI): Ditto.
5718 (V4DI_FTYPE_V8HI_V4DI_QI): Ditto.
5719 (V8DI_FTYPE_V8DI_V8DI_V8DI_QI): Ditto.
5720 (V8DF_FTYPE_V8DI_V8DF_V8DF_QI): Ditto.
5721 (V8DF_FTYPE_V8DF_V8DI_V8DF_QI): Ditto.
5722 (V4DF_FTYPE_V4DI_V4DF_V4DF_QI): Ditto.
5723 (V4DF_FTYPE_V4DF_V4DI_V4DF_QI): Ditto.
5724 (V4DF_FTYPE_V4DF_V4DF_V4DF_QI): Ditto.
5725 (V8DF_FTYPE_V8DF_V8DF_V8DF_QI): Ditto.
5726 (V16QI_FTYPE_V16QI_V16QI_V16QI_HI): Ditto.
5727 (V16HI_FTYPE_V16HI_V16HI_V16HI_HI): Ditto.
5728 (V16SI_FTYPE_V16SI_V16SI_V16SI_HI): Ditto.
5729 (V2DF_FTYPE_V2DF_V2DF_V2DF_QI): Ditto.
5730 (V32HI_FTYPE_V32HI_V32HI_V32HI_SI): Ditto.
5731 (V64QI_FTYPE_V64QI_V64QI_V64QI_DI): Ditto.
5732 (V32QI_FTYPE_V32QI_V32QI_V32QI_SI): Ditto.
5733 (V8HI_FTYPE_V8HI_V8HI_V8HI_QI): Ditto.
5734 (V4SF_FTYPE_V4SF_V4SF_QI): Ditto.
5735 (V4SF_FTYPE_V4SI_V4SF_QI): Ditto.
5736 (V8SF_FTYPE_V8SF_V8SF_QI): Ditto.
5737 (V8SF_FTYPE_V8SI_V8SF_QI): Ditto.
5738 (V16SF_FTYPE_V16SF_V16SF_HI): Ditto.
5739 (V4SI_FTYPE_V16QI_V4SI_QI): Ditto.
5740 (V4SI_FTYPE_V8HI_V4SI_QI): Ditto.
5741 (V8SI_FTYPE_V8SI_V8SI_QI): Ditto.
5742 (V8SI_FTYPE_V8HI_V8SI_QI): Ditto.
5743 (V8SI_FTYPE_V16QI_V8SI_QI): Ditto.
5744 (V4SI_FTYPE_V4SI_V4SI_V4SI_QI): Ditto.
5745 (V4SI_FTYPE_V4SI_V4SI_INT_V4SI_QI): Ditto.
5746 (V8SF_FTYPE_V8SF_V8SF_V8SF_QI): Ditto.
5747 (V8SF_FTYPE_V8SI_V8SF_V8SF_QI): Ditto.
5748 (V8SF_FTYPE_V8SF_V8SI_V8SF_QI): Ditto.
5749 (V8SI_FTYPE_V8SI_V8SI_V8SI_QI): Ditto.
5750 (V8SI_FTYPE_V8SI_V8SI_INT_V8SI_QI): Ditto.
5751 (V16SF_FTYPE_V16SF_V16SF_V16SF_HI): Ditto.
5752 (V16SF_FTYPE_V16SI_V16SF_V16SF_HI): Ditto.
5753 (V16SF_FTYPE_V16SF_V16SI_V16SF_HI): Ditto.
5754 (V16SF_FTYPE_V8SF_V16SF_HI): Ditto.
5755 (V16SF_FTYPE_V4SF_V16SF_HI): Ditto.
5756 (V8DF_FTYPE_V4DF_V8DF_QI): Ditto.
5757 (V8DF_FTYPE_V2DF_V8DF_QI): Ditto.
5758 (V16SI_FTYPE_V8SI_V16SI_HI): Ditto.
5759 (V16SI_FTYPE_V4SI_V16SI_HI): Ditto.
5760 (V16SI_FTYPE_SI_V16SI_HI): Ditto.
5761 (V16SI_FTYPE_V16HI_V16SI_HI): Ditto.
5762 (V16SI_FTYPE_V16QI_V16SI_HI): Ditto.
5763 (V8DI_FTYPE_V4DI_V8DI_QI): Ditto.
5764 (V4SI_FTYPE_V4DF_V4SI_QI): Ditto.
5765 (V8DI_FTYPE_V2DI_V8DI_QI): Ditto.
5766 (V8DI_FTYPE_DI_V8DI_QI): Ditto.
5767 (V16QI_FTYPE_V16SI_V16QI_HI): Ditto.
5768 (V16QI_FTYPE_V8DI_V16QI_QI): Ditto.
5769 (V32HI_FTYPE_V32HI_V32HI_SI): Ditto.
5770 (V32HI_FTYPE_V32QI_V32HI_SI): Ditto.
5771 (V16HI_FTYPE_V16HI_V16HI_HI): Ditto.
5772 (V16HI_FTYPE_V16QI_V16HI_HI): Ditto.
5773 (V8HI_FTYPE_V16QI_V8HI_QI): Ditto.
5774 (V8SF_FTYPE_V4SF_V8SF_QI): Ditto.
5775 (V4DF_FTYPE_V2DF_V4DF_QI): Ditto.
5776 (V8SI_FTYPE_V4SI_V8SI_QI): Ditto.
5777 (V8SI_FTYPE_SI_V8SI_QI): Ditto.
5778 (V4SI_FTYPE_V4SI_V4SI_QI): Ditto.
5779 (V4SI_FTYPE_SI_V4SI_QI): Ditto.
5780 (V4DI_FTYPE_V2DI_V4DI_QI): Ditto.
5781 (V4DI_FTYPE_DI_V4DI_QI): Ditto.
5782 (V2DI_FTYPE_V2DI_V2DI_QI): Ditto.
5783 (V2DI_FTYPE_DI_V2DI_QI): Ditto.
5784 (V64QI_FTYPE_V64QI_V64QI_DI): Ditto.
5785 (V64QI_FTYPE_V16QI_V64QI_DI): Ditto.
5786 (V64QI_FTYPE_QI_V64QI_DI): Ditto.
5787 (V32QI_FTYPE_V32QI_V32QI_SI): Ditto.
5788 (V32QI_FTYPE_V16QI_V32QI_SI): Ditto.
5789 (V32QI_FTYPE_QI_V32QI_SI): Ditto.
5790 (V16QI_FTYPE_V16QI_V16QI_HI): Ditto.
5791 (V16QI_FTYPE_QI_V16QI_HI): Ditto.
5792 (V32HI_FTYPE_V8HI_V32HI_SI): Ditto.
5793 (V32HI_FTYPE_HI_V32HI_SI): Ditto.
5794 (V16HI_FTYPE_V8HI_V16HI_HI): Ditto.
5795 (V16HI_FTYPE_HI_V16HI_HI): Ditto.
5796 (V8HI_FTYPE_V8HI_V8HI_QI): Ditto.
5797 (V8HI_FTYPE_HI_V8HI_QI): Ditto.
5798 (V64QI_FTYPE_PCV64QI_V64QI_DI): Ditto.
5799 (V32HI_FTYPE_PCV32HI_V32HI_SI): Ditto.
5800 (V32QI_FTYPE_PCV32QI_V32QI_SI): Ditto.
5801 (V16SF_FTYPE_PCV16SF_V16SF_HI): Ditto.
5802 (V8DF_FTYPE_PCV8DF_V8DF_QI): Ditto.
5803 (V16SI_FTYPE_PCV16SI_V16SI_HI): Ditto.
5804 (V16HI_FTYPE_PCV16HI_V16HI_HI): Ditto.
5805 (V16QI_FTYPE_PCV16QI_V16QI_HI): Ditto.
5806 (V8SF_FTYPE_PCV8SF_V8SF_QI): Ditto.
5807 (V8DI_FTYPE_PCV8DI_V8DI_QI): Ditto.
5808 (V8SI_FTYPE_PCV8SI_V8SI_QI): Ditto.
5809 (V8HI_FTYPE_PCV8HI_V8HI_QI): Ditto.
5810 (V4DF_FTYPE_PCV4DF_V4DF_QI): Ditto.
5811 (V4SF_FTYPE_PCV4SF_V4SF_QI): Ditto.
5812 (V4DI_FTYPE_PCV4DI_V4DI_QI): Ditto.
5813 (V4SI_FTYPE_PCV4SI_V4SI_QI): Ditto.
5814 (V2DF_FTYPE_PCV2DF_V2DF_QI): Ditto.
5815 (V2DI_FTYPE_PCV2DI_V2DI_QI): Ditto.
5816 (V16HI_FTYPE_V16SI_V16HI_HI): Ditto.
5817 (V8SI_FTYPE_V8DI_V8SI_QI): Ditto.
5818 (V8HI_FTYPE_V8DI_V8HI_QI): Ditto.
5819 (V16QI_FTYPE_V8HI_V16QI_QI): Ditto.
5820 (V16QI_FTYPE_V16HI_V16QI_HI): Ditto.
5821 (V16QI_FTYPE_V4SI_V16QI_QI): Ditto.
5822 (V16QI_FTYPE_V8SI_V16QI_QI): Ditto.
5823 (V8HI_FTYPE_V4SI_V8HI_QI): Ditto.
5824 (V8HI_FTYPE_V8SI_V8HI_QI): Ditto.
5825 (V16QI_FTYPE_V2DI_V16QI_QI): Ditto.
5826 (V16QI_FTYPE_V4DI_V16QI_QI): Ditto.
5827 (V8HI_FTYPE_V2DI_V8HI_QI): Ditto.
5828 (V8HI_FTYPE_V4DI_V8HI_QI): Ditto.
5829 (V4SI_FTYPE_V2DI_V4SI_QI): Ditto.
5830 (V4SI_FTYPE_V4DI_V4SI_QI): Ditto.
5831 (V32QI_FTYPE_V32HI_V32QI_SI): Ditto.
5832 (V2DF_FTYPE_V2DF_INT_V2DF_QI): Ditto.
5833 (V4DF_FTYPE_V4DF_INT_V4DF_QI): Ditto.
5834 (V4SF_FTYPE_V4SF_INT_V4SF_QI): Ditto.
5835 (V8SF_FTYPE_V8SF_INT_V8SF_QI): Ditto.
5836 (V4DF_FTYPE_V4DF_V4DF_INT_V4DF_QI): Ditto.
5837 (V2DF_FTYPE_V2DF_V2DF_INT_V2DF_QI): Ditto.
5838 (V8SF_FTYPE_V8SF_V8SF_INT_V8SF_QI): Ditto.
5839 (V4SF_FTYPE_V4SF_V4SF_INT_V4SF_QI): Ditto.
5840 (VOID_FTYPE_PV8DF_V8DF_QI): Ditto.
5841 (VOID_FTYPE_PV8SI_V8DI_QI): Ditto.
5842 (VOID_FTYPE_PV8HI_V8DI_QI): Ditto.
5843 (VOID_FTYPE_PV8HI_V4DI_QI): Ditto.
5844 (VOID_FTYPE_PV8HI_V2DI_QI): Ditto.
5845 (VOID_FTYPE_PV4SI_V4DI_QI): Ditto.
5846 (VOID_FTYPE_PV4SI_V2DI_QI): Ditto.
5847 (VOID_FTYPE_PV8HI_V8SI_QI): Ditto.
5848 (VOID_FTYPE_PV8HI_V4SI_QI): Ditto.
5849 (VOID_FTYPE_PV4DF_V4DF_QI): Ditto.
5850 (VOID_FTYPE_PV2DF_V2DF_QI): Ditto.
5851 (VOID_FTYPE_PV16SF_V16SF_HI): Ditto.
5852 (VOID_FTYPE_PV8SF_V8SF_QI): Ditto.
5853 (VOID_FTYPE_PV4SF_V4SF_QI): Ditto.
5854 (VOID_FTYPE_PV8DI_V8DI_QI): Ditto.
5855 (VOID_FTYPE_PV4DI_V4DI_QI): Ditto.
5856 (VOID_FTYPE_PV2DI_V2DI_QI): Ditto.
5857 (VOID_FTYPE_PV16SI_V16SI_HI): Ditto.
5858 (VOID_FTYPE_PV16HI_V16SI_HI): Ditto.
5859 (VOID_FTYPE_PV16QI_V16SI_HI): Ditto.
5860 (VOID_FTYPE_PV16QI_V8SI_QI): Ditto.
5861 (VOID_FTYPE_PV16QI_V4SI_QI): Ditto.
5862 (VOID_FTYPE_PV16QI_V8DI_QI): Ditto.
5863 (VOID_FTYPE_PV16QI_V4DI_QI): Ditto.
5864 (VOID_FTYPE_PV16QI_V2DI_QI): Ditto.
5865 (VOID_FTYPE_PV8SI_V8SI_QI): Ditto.
5866 (VOID_FTYPE_PV4SI_V4SI_QI): Ditto.
5867 (VOID_FTYPE_PV32HI_V32HI_SI): Ditto.
5868 (VOID_FTYPE_PV16HI_V16HI_HI): Ditto.
5869 (VOID_FTYPE_PV8HI_V8HI_QI): Ditto.
5870 (VOID_FTYPE_PV64QI_V64QI_DI): Ditto.
5871 (VOID_FTYPE_PV32QI_V32QI_SI): Ditto.
5872 (VOID_FTYPE_PV16QI_V16QI_HI): Ditto.
5873 (V8DI_FTYPE_V8DI_V8DI_V8DI_INT_QI): Ditto.
5874 (V8SI_FTYPE_V8SF_V8SI_QI): Ditto.
5875 (V4SI_FTYPE_V4SF_V4SI_QI): Ditto.
5876 (V4DI_FTYPE_V4SF_V4DI_QI): Ditto.
5877 (V2DI_FTYPE_V4SF_V2DI_QI): Ditto.
5878 (V4SF_FTYPE_V4DI_V4SF_QI): Ditto.
5879 (V4SF_FTYPE_V2DI_V4SF_QI): Ditto.
5880 (V4DF_FTYPE_V4DI_V4DF_QI): Ditto.
5881 (V2DF_FTYPE_V2DI_V2DF_QI): Ditto.
5882 (V32HI_FTYPE_V32HI_INT_V32HI_SI): Ditto.
5883 (V32HI_FTYPE_V32HI_V8HI_V32HI_SI): Ditto.
5884 (V16HI_FTYPE_V16HI_INT_V16HI_HI): Ditto.
5885 (V16HI_FTYPE_V16HI_V8HI_V16HI_HI): Ditto.
5886 (V8HI_FTYPE_V8HI_INT_V8HI_QI): Ditto.
5887 (V32HI_FTYPE_V64QI_V64QI_INT_V32HI_SI): Ditto.
5888 (V16HI_FTYPE_V32QI_V32QI_INT_V16HI_HI): Ditto.
5889 (V8HI_FTYPE_V16QI_V16QI_INT_V8HI_QI): Ditto.
5890 (V64QI_FTYPE_V32HI_V32HI_V64QI_DI): Ditto.
5891 (V32QI_FTYPE_V16HI_V16HI_V32QI_SI): Ditto.
5892 (V16QI_FTYPE_V8HI_V8HI_V16QI_HI): Ditto.
5893 (V32HI_FTYPE_V16SI_V16SI_V32HI_SI): Ditto.
5894 (V16HI_FTYPE_V8SI_V8SI_V16HI_HI): Ditto.
5895 (V8HI_FTYPE_V4SI_V4SI_V8HI_QI): Ditto.
5896 (V8DI_FTYPE_V16SI_V16SI_V8DI_QI): Ditto.
5897 (V4DI_FTYPE_V8SI_V8SI_V4DI_QI): Ditto.
5898 (V2DI_FTYPE_V4SI_V4SI_V2DI_QI): Ditto.
5899 (V16SI_FTYPE_V16SI_V16SI_V16SI_INT_HI): Ditto.
5900 (V8SI_FTYPE_V8SI_V8SI_V8SI_INT_QI): Ditto.
5901 (V4DI_FTYPE_V4DI_V4DI_V4DI_INT_QI): Ditto.
5902 (V4SI_FTYPE_V4SI_V4SI_V4SI_INT_QI): Ditto.
5903 (V2DI_FTYPE_V2DI_V2DI_V2DI_INT_QI): Ditto.
5904 (V8SI_FTYPE_V8SI_V4SI_V8SI_QI): Ditto.
5905 (V4DI_FTYPE_V4DI_V2DI_V4DI_QI): Ditto.
5906 (QI_FTYPE_V4DF_V4DF_INT_QI): Ditto.
5907 (QI_FTYPE_V8SF_V8SF_INT_QI): Ditto.
5908 (QI_FTYPE_V8DF_INT_QI): Ditto.
5909 (QI_FTYPE_V4DF_INT_QI): Ditto.
5910 (QI_FTYPE_V2DF_INT_QI): Ditto.
5911 (HI_FTYPE_V16SF_INT_HI): Ditto.
5912 (QI_FTYPE_V8SF_INT_QI): Ditto.
5913 (QI_FTYPE_V4SF_INT_QI): Ditto.
5914 (V8DF_FTYPE_V8DF_V8DF_V8DF_QI_INT): Ditto.
5915
5916 2015-07-31 Richard Biener <rguenther@suse.de>
5917
5918 * gimple-fold.c (fold_gimple_assign): Remove folding of
5919 GIMPLE_BINARY_RHS.
5920
5921 2015-07-31 Tom de Vries <tom@codesourcery.com>
5922
5923 PR tree-optimization/66846
5924 * omp-low.c (expand_omp_taskreg) [ENABLE_CHECKING]: Call
5925 verify_loop_structure for child_cfun if !LOOPS_NEED_FIXUP.
5926 (expand_omp_target) [ENABLE_CHECKING]: Same.
5927 (execute_expand_omp) [ENABLE_CHECKING]: Call verify_loop_structure for
5928 cfun if !LOOPS_NEED_FIXUP.
5929 (expand_omp_for_static_nochunk): Handle simple latch bb. Handle case
5930 that omp_for already has its own loop struct.
5931 * tree-parloops.c (create_phi_for_local_result)
5932 (create_call_for_reduction): Handle simple latch bb.
5933 (create_parallel_loop): Add simple latch bb to preserve
5934 LOOPS_HAVE_SIMPLE_LATCHES. Record new exit. Handle simple latch bb.
5935 (gen_parallel_loop): Remove call to cancel_loop_tree.
5936 (parallelize_loops): Skip loops that are inner loops of parallelized
5937 loops.
5938 (pass_parallelize_loops::execute) [ENABLE_CHECKING]: Call
5939 verify_loop_structure.
5940
5941 2015-07-30 Anatoly Sokolov <aesok@post.ru>
5942
5943 * config/v850/v850.h (LIBCALL_VALUE): Remove macros.
5944 * config/v850/v850.md (RV_REGNUM): New constants.
5945 * config/v850/v850.c (v850_libcall_value): New functions.
5946 (v850_function_value_regno_p, v850_function_value): Use RV_REGNUM.
5947 (TARGET_LIBCALL_VALUE): Define.
5948
5949 2015-07-30 Anatoly Sokolov <aesok@post.ru>
5950
5951 * rtl.h (lowpart_subreg): Move in file.
5952 * loop-iv.c (lowpart_subreg): Move to...
5953 * simplify-rtx.c (lowpart_subreg): ...here.
5954 (simplify_binary_operation_1): Use lowpart_subreg instead of
5955 simplify_gen_subreg.
5956 * expr.c (expand_expr_real_2): Ditto.
5957 * emit-rtl.c (gen_lowpart_common): Ditto.
5958 * combine.c (gen_lowpart_for_combine): Ditto.
5959 * cfgexpand.c (convert_debug_memory_address, expand_debug_expr,
5960 expand_debug_source_expr): Ditto.
5961
5962 2015-07-30 Richard Sandiford <richard.sandiford@arm.com>
5963
5964 * builtins.c (HAVE_atomic_clear, gen_atomic_clear): Delete.
5965 (expand_builtin_atomic_clear): Remove support for atomic_clear
5966 pattern.
5967
5968 2015-07-30 Richard Biener <rguenther@suse.de>
5969
5970 * gimple-fold.c (fold_gimple_assign): Only fold !tcc_comparison
5971 binaries. Move X == 0, X == 1, X != 0, and X != 1 canonicalization ...
5972 (fold_stmt_1): ... here and work on GIMPLE directly. Remove
5973 redundant operand canonicalization.
5974
5975 2015-07-30 David Sherwood <david.sherwood@arm.com>
5976
5977 * config/aarch64/aarch64-simd.md (aarch64_ext<mode>): Replace call to
5978 GET_MODE_SIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_SIZE (m).
5979 * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Likewise.
5980 * config/arm/arm.c (neon_valid_immediate): Likewise.
5981 * config/i386/i386.c (classify_argument, ix86_expand_int_vcond)
5982 (expand_vec_perm_blend, expand_vec_perm_pshufb): Likewise.
5983 (expand_vec_perm_pshufb2, expand_vec_perm_vpshufb2_vpermq): Likewise.
5984 (expand_vec_perm_vpshufb2_vpermq): Likewise.
5985 (expand_vec_perm_vpshufb2_vpermq_even_odd): Likewise.
5986 (expand_vec_perm_vpshufb4_vpermq2): Likewise.
5987 * config/i386/sse.md
5988 (<extract_type>_vinsert<shuffletype><extract_suf>_mask): Likewise.
5989 (*ssse3_palignr<mode>_perm): Likewise.
5990 * config/rs6000/rs6000.c (rs6000_complex_function_value): Likewise.
5991 * config/spu/spu.c (arith_immediate_p): Likewise.
5992 * simplify-rtx.c (simplify_const_unary_operation): Likewise.
5993 (simplify_binary_operation_1, simplify_ternary_operation): Likewise.
5994
5995 2015-07-30 Richard Biener <rguenther@suse.de>
5996
5997 * genmatch.c (decision_tree::gen_gimple): Merge with ...
5998 (decision_tree::gen_generic): ... this into ...
5999 (decision_tree::gen): ... this.
6000 (main): Adjust callers.
6001
6002 2015-07-30 Richard Biener <rguenther@suse.de>
6003
6004 * genmatch.c (verbose): New global.
6005 (warning_at): Add overload with source_location.
6006 (capture_info::capture_info): Add bool whether generating gimple
6007 or generic. Add gimple member.
6008 (capture_info::cinfo): Add capture member.
6009 (capture_info::walk_match): Record capture. Warn on
6010 non-captured leafs.
6011 (capture_info::walk_c_expr): Add more fragments captures cannot
6012 escape through. Warn on escaped captures.
6013 (dt_simplify::gen_1): Warn on operands we force to have no
6014 side-effects.
6015 (main): Initialize verbose.
6016 * match.pd: Add integer_nonzerop and HONOR_NANS predicates.
6017
6018 2015-07-30 Richard Biener <rguenther@suse.de>
6019
6020 PR middle-end/67053
6021 * match.pd: Allow both operands to independently have conversion
6022 when simplifying compares of addresses.
6023
6024 2015-07-29 Segher Boessenkool <segher@kernel.crashing.org>
6025
6026 PR target/66217
6027 PR target/67045
6028 * config/rs6000/rs6000.md (and<mode>3): Put a CONST_INT_P check
6029 around those cases that need one.
6030
6031 2015-07-29 Aditya Kumar <hiraditya@msn.com>
6032
6033 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Default to 3.
6034
6035 2015-07-29 H.J. Lu <hongjiu.lu@intel.com>
6036
6037 * config/i386/iamcu.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE):
6038 New. Copied from config/i386/gnu-user.h.
6039 (ASM_COMMENT_START): Likewise.
6040 (DBX_REGISTER_NUMBER): Likewise.
6041
6042 2015-07-29 Richard Biener <rguenther@suse.de>
6043
6044 * gimple-fold.c (fold_gimple_cond): Remove.
6045 (fold_stmt_1): Do not call it.
6046
6047 2015-07-29 Alan Lawrence <alan.lawrence@arm.com>
6048
6049 * config/aarch64/aarch64-builtins.c (aarch64_fp16_type_node): New.
6050 (aarch64_init_builtins): Make aarch64_fp16_type_node, use for __fp16.
6051
6052 * config/aarch64/aarch64-modes.def: Add HFmode.
6053
6054 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
6055 __ARM_FP16_FORMAT_IEEE and __ARM_FP16_ARGS. Set bit 1 of __ARM_FP.
6056
6057 * config/aarch64/aarch64.c (aarch64_init_libfuncs,
6058 aarch64_promoted_type): New.
6059
6060 (aarch64_float_const_representable_p): Disable HFmode.
6061 (aarch64_mangle_type): Mangle half-precision floats to "Dh".
6062 (TARGET_PROMOTED_TYPE): Define to aarch64_promoted_type.
6063 (TARGET_INIT_LIBFUNCS): Define to aarch64_init_libfuncs.
6064
6065 * config/aarch64/aarch64.md (mov<mode>): Include HFmode using GPF_F16.
6066 (movhf_aarch64, extendhfsf2, extendhfdf2, truncsfhf2, truncdfhf2): New.
6067
6068 * config/aarch64/iterators.md (GPF_F16): New.
6069
6070 2015-07-29 Richard Biener <rguenther@suse.de>
6071
6072 * match.pd: Merge address comparison patterns and make them
6073 handle some more cases.
6074
6075 2015-07-29 Richard Biener <rguenther@suse.de>
6076
6077 * genmatch.c (c_expr::gen_transform): Error on unknown captures.
6078 (parser::parse_capture): Add bool argument on whether to reject
6079 unknown captures.
6080 (parser::parse_expr): Adjust.
6081 (parser::parse_op): Likewise.
6082 (parser::parse_pattern): Likewise.
6083
6084 2015-07-29 Richard Biener <rguenther@suse.de>
6085
6086 * gimple-fold.c (has_use_on_stmt): New function.
6087 (replace_stmt_with_simplification): Use it to allow
6088 abnormals originally referenced in the stmt.
6089 (fold_stmt_1): Canonicalize operand order.
6090
6091 2015-07-28 David Sherwood <david.sherwood@arm.com>
6092
6093 * config/arm/arm.c (neon_element_bits, neon_valid_immediate): Call
6094 GET_MODE_INNER unconditionally.
6095 * config/spu/spu.c (arith_immediate_p): Likewise.
6096 * config/i386/i386.c (ix86_build_signbit_mask): Likewise.
6097 * expmed.c (synth_mult): Remove check for VOIDmode result from
6098 GET_MODE_INNER.
6099 (expand_mult_const): Likewise.
6100 * fold-const.c (fold_binary_loc): Replace call to element_precision
6101 with call to GET_MODE_PRECISION.
6102 * genmodes.c (emit_mode_inner_inline): Replace void_mode->name with
6103 m->name.
6104 (emit_mode_inner): Likewise.
6105 * lto-streamer-out.c (lto_write_mode_table): Update GET_MODE_INNER
6106 result check.
6107 * machmode.h (GET_MODE_UNIT_SIZE): Simplify.
6108 (GET_MODE_UNIT_PRECISION): Likewise.
6109 * rtlanal.c (subreg_get_info): Call GET_MODE_INNER unconditionally.
6110 * simplify-rtx.c (simplify_immed_subreg): Likewise.
6111 * stor-layout.c (bitwise_type_for_mode): Update assert.
6112 (element_precision): Remove.
6113
6114 2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
6115
6116 * target-insns.def (reload_load_address): New targetm instruction
6117 pattern.
6118 * reload1.c (gen_reload): Use it instead of HAVE_*/gen_* interface.
6119
6120 2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
6121
6122 * target-insns.def (atomic_test_and_set): New targetm instruction
6123 pattern.
6124 * optabs.c (maybe_emit_atomic_test_and_set): Use it instead of
6125 HAVE_*/gen_* interface.
6126
6127 2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
6128
6129 * target-insns.def (can_extend, ptr_extend): New targetm instruction
6130 patterns.
6131 * optabs.c (can_extend_p): Use them instead of HAVE_*/gen_* interface.
6132 * simplify-rtx.c (simplify_unary_operation_1): Likewise.
6133 * emit-rtl.c (set_reg_attrs_from_value): Likewise.
6134 * rtlanal.c (nonzero_bits1): Likewise.
6135 (num_sign_bit_copies1): Likewise.
6136
6137 2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
6138
6139 * target-insns.def (eh_return): New targetm instruction pattern.
6140 * except.c (expand_eh_return): Use it instead of HAVE_*/gen_*
6141 interface.
6142 * function.c (thread_prologue_and_epilogue_insns): Remove
6143 preprocessor condition.
6144
6145 2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
6146
6147 * target-insns.def (indirect_jump): New targetm instruction pattern.
6148 * optabs.c (emit_indirect_jump): Use it instead of HAVE_*/gen_*
6149 interface.
6150
6151 2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
6152
6153 * config/fr30/fr30.md (indirect_jump): Use pmode_register_operand
6154 instead of nonimmediate_operand. Remove C condiition.
6155
6156 2015-07-28 Richard Biener <rguenther@suse.de>
6157
6158 * match.pd: Add more simplification of address comparisons.
6159
6160 2015-07-28 Richard Biener <rguenther@suse.de>
6161
6162 * match.pd: Re-order two cases in comparison with max/min
6163 value simplification to make it apply for bools.
6164
6165 2015-07-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6166
6167 * config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p):
6168 Handle simple SIGN_EXTEND or ZERO_EXTEND.
6169 (aarch64_rtx_costs): Properly strip extend or extract before
6170 passing down to rtx costs again.
6171
6172 2015-07-28 Nick Clifton <nickc@redhat.com>
6173
6174 * config/rl78/rl78.c (rl78_addsi3_internal): New function.
6175 Optimizes the case where -mes0 is active and a constant symbolic
6176 address is used.
6177 * config/rl78/rl78-protos.h: Prototype the new function.
6178 * config/rl78/rl78.md (addsi3_internal_real): Call new function.
6179
6180 2015-07-28 Tom de Vries <tom@codesourcery.com>
6181
6182 * tree-parloops.c (reduc_stmt_res): New function.
6183 (initialize_reductions, add_field_for_reduction)
6184 (create_phi_for_local_result, create_loads_for_reductions)
6185 (create_stores_for_reduction, build_new_reduction): Handle case that
6186 reduc_stmt is a phi.
6187 (gather_scalar_reductions): Allow double_reduc reductions.
6188
6189 2015-07-28 Richard Biener <rguenther@suse.de>
6190
6191 * fold-const.c (fold_comparison): Remove equality folding
6192 of decl addresses ...
6193 * match.pd: ... here and merge with existing pattern.
6194
6195 2015-07-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
6196
6197 PR tree-optimization/66828
6198 * tree-ssa-math-opts.c (perform_symbolic_merge): Change type of inc
6199 from int64_t to uint64_t.
6200
6201 2015-07-28 Dominik Vogt <vogt@linux.vnet.ibm.com>
6202
6203 * opts-common.c (read_cmdline_option): List DriverOnly enum values
6204 as valid only in the error message of the driver, not in the
6205 messages of the language compilers.
6206
6207 2015-07-27 Tom de Vries <tom@codesourcery.com>
6208
6209 * tree-parloops.c (gather_scalar_reductions): Simplify function
6210 structure.
6211
6212 2015-07-27 Marek Polacek <polacek@redhat.com>
6213
6214 * ipa-devirt.c (types_same_for_odr): Fix typo.
6215
6216 2015-07-27 Jason Merrill <jason@redhat.com>
6217
6218 PR debug/66468
6219 * dwarf2out.c (gen_inlined_subroutine_die): Check
6220 cgraph_function_possibly_inlined_p.
6221
6222 2015-07-27 Wilco Dijkstra <wdijkstr@arm.com>
6223
6224 * gcc/config/aarch64/aarch64.md (aarch64_lshr_sisd_or_int_<mode>3):
6225 Place integer variant first.
6226 (aarch64_ashr_sisd_or_int_<mode>3): Likewise.
6227
6228 2015-07-27 Alan Lawrence <alan.lawrence@arm.com>
6229
6230 PR/63870
6231 * config/arm/arm-builtins.c (enum arm_builtins):
6232 Add ARM_BUILTIN_NEON_BASE and ARM_BUILTIN_NEON_LANE_CHECK.
6233 (ARM_BUILTIN_NEON_BASE): Rename macro to....
6234 (ARM_BUILTIN_NEON_PATTERN_START): ...this.
6235 (arm_init_neon_builtins): Register __builtin_arm_lane_check.
6236 (arm_expand_neon_builtin): Handle ARM_BUILTIN_NEON_LANE_CHECK.
6237
6238 2015-07-27 Alan Lawrence <alan.lawrence@arm.com>
6239
6240 PR/63870
6241 * config/arm/arm-builtins.c (enum arm_type_qualifiers):
6242 Add qualifier_lane_index.
6243 (arm_binop_imm_qualifiers, BINOP_IMM_QUALIFIERS): New.
6244 (arm_getlane_qualifiers): Use qualifier_lane_index.
6245 (arm_lanemac_qualifiers): Rename to...
6246 (arm_mac_n_qualifiers): ...this.
6247 (LANEMAC_QUALIFIERS): Rename to...
6248 (MAC_N_QUALIFIERS): ...this.
6249 (arm_mac_lane_qualifiers, MAC_LANE_QUALIFIERS): New.
6250 (arm_setlane_qualifiers): Use qualifier_lane_index.
6251 (arm_ternop_imm_qualifiers, TERNOP_IMM_QUALIFIERS): New.
6252 (enum builtin_arg): Add NEON_ARG_LANE_INDEX.
6253 (arm_expand_neon_args): Handle NEON_ARG_LANE_INDEX.
6254 (arm_expand_neon_builtin): Handle qualifier_lane_index.
6255
6256 * config/arm/arm-protos.h (neon_lane_bounds): Add const_tree parameter.
6257 * config/arm/arm.c (bounds_check): Likewise, improve error message.
6258 (neon_lane_bounds, neon_const_bounds): Add arguments to bounds_check.
6259 * config/arm/arm_neon_builtins.def (vshrs_n, vshru_n, vrshrs_n,
6260 vrshru_n, vshrn_n, vrshrn_n, vqshrns_n, vqshrnu_n, vqrshrns_n,
6261 vqrshrnu_n, vqshrun_n, vqrshrun_n, vshl_n, vqshl_s_n, vqshl_u_n,
6262 vqshlu_n, vshlls_n, vshllu_n): Change qualifiers to BINOP_IMM.
6263 (vsras_n, vsrau_n, vrsras_n, vrsrau_n, vsri_n, vsli_n): Change
6264 qualifiers to TERNOP_IMM.
6265 (vdup_lane): Change qualifiers to GETLANE.
6266 (vmla_lane, vmlals_lane, vmlalu_lane, vqdmlal_lane, vmls_lane,
6267 vmlsls_lane, vmlslu_lane, vqdmlsl_lane): Change qualifiers to MAC_LANE.
6268 (vmla_n, vmlals_n, vmlalu_n, vqdmlal_n, vmls_n, vmlsls_n, vmlslu_n,
6269 vqdmlsl_n): Change qualifiers to MAC_N.
6270
6271 * config/arm/neon.md (neon_vget_lane<mode>, neon_vget_laneu<mode>,
6272 neon_vget_lanedi, neon_vget_lanev2di, neon_vset_lane<mode>,
6273 neon_vset_lanedi, neon_vdup_lane<mode>, neon_vdup_lanedi,
6274 neon_vdup_lanev2di, neon_vmul_lane<mode>, neon_vmul_lane<mode>,
6275 neon_vmull<sup>_lane<mode>, neon_vqdmull_lane<mode>,
6276 neon_vq<r>dmulh_lane<mode>, neon_vq<r>dmulh_lane<mode>,
6277 neon_vmla_lane<mode>, neon_vmla_lane<mode>, neon_vmlal<sup>_lane<mode>,
6278 neon_vqdmlal_lane<mode>, neon_vmls_lane<mode>, neon_vmls_lane<mode>,
6279 neon_vmlsl<sup>_lane<mode>, neon_vqdmlsl_lane<mode>):
6280 Remove call to neon_lane_bounds.
6281
6282 2015-07-27 Wilco Dijkstra <wdijkstr@arm.com>
6283
6284 * config/aarch64/aarch64.md (aarch64_ashl_sisd_or_int_<mode>3):
6285 Place integer variant first.
6286
6287 2015-07-27 Matthew Wahab <matthew.wahab@arm.com>
6288
6289 * config/arm/arm-arches.def: Add "armv6kz". Replace 6ZK with 6KZ
6290 and FL_FOR_ARCH6ZK with FL_FOR_ARCH6KZ.
6291 * config/arm/arm-c.c (arm_cpu_builtins): Emit "__ARM_ARCH_6ZK__"
6292 for armv6kz targets.
6293 * config/arm/arm-cores.def: Replace 6ZK with 6KZ.
6294 * config/arm/arm-protos.h (FL_ARCH6KZ): New.
6295 (FL_FOR_ARCH6ZK): Remove.
6296 (FL_FOR_ARCH6KZ): New.
6297 (arm_arch6zk): New declaration.
6298 * config/arm/arm-tables.opt: Regenerate.
6299 * config/arm/arm.c (arm_arch6kz): New.
6300 (arm_option_override): Set arm_arch6kz.
6301 * config/arm/arm.h (BASE_ARCH_6ZK): Rename to BASE_ARCH_6KZ.
6302 * config/arm/driver-arm.c: Add comment to "armv6zk" entry.
6303 * doc/invoke.texi: Replace "armv6zk" with "armv6kz".
6304
6305 2015-07-27 Marek Polacek <polacek@redhat.com>
6306
6307 PR c++/66555
6308 PR c/54979
6309 * doc/invoke.texi: Document -Wtautological-compare.
6310
6311 2015-07-27 Richard Biener <rguenther@suse.de>
6312
6313 * genmatch.c (decision_tree::gen_gimple): Split out large
6314 subtrees into separate functions.
6315 (decision_tree::gen_generic): Likewise.
6316
6317 2015-07-26 Uros Bizjak <ubizjak@gmail.com>
6318
6319 * config/alpha/alpha.c: Use SUBREG_P predicate.
6320 * config/alpha/predicates.md: Ditto.
6321
6322 2015-07-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
6323
6324 * config.host (s390*-*-*): Include driver-native.c only when
6325 building with s390* as host *and* target.
6326
6327 2015-07-25 Oleg Endo <olegendo@gcc.gnu.org>
6328
6329 PR target/66930
6330 * config/sh/sh.c (sh_split_movrt_negc_to_movt_xor): Add missing
6331 T bit register modified_between_p check.
6332
6333 2015-07-25 Uros Bizjak <ubizjak@gmail.com>
6334
6335 * config/i386/i386.c: Use SUBREG_P predicate.
6336 * config/i386/i386.md: Ditto.
6337 * config/i386/sse.md: Ditto.
6338 * config/i386/predicates.md: Ditto.
6339
6340 2015-07-25 Uros Bizjak <ubizjak@gmail.com>
6341
6342 PR target/67004
6343 * config/i386/i386.h (ADJUST_INSN_LENGTH): Use NONDEBUG_INSN_P (INSN)
6344 predicate and INSN_CODE (INSN) >= 0 to check for valid instruction.
6345
6346 2015-07-25 Sebastian Pop <s.pop@samsung.com>
6347
6348 * Makefile.in: Remove use of TREEBROWSER.
6349 * config.in: Regenerated.
6350 * configure: Regenerated.
6351 * configure.ac: Remove definition of TREEBROWSER.
6352 * tree-browser.c: Removed.
6353 * tree-browser.def: Removed.
6354
6355 2015-07-25 Sebastian Pop <s.pop@samsung.com>
6356
6357 * graphite-scop-detection.c: Include gimple-pretty-print.h.
6358 (stmt_simple_for_scop_p): Print when a stmt is not handled in
6359 Graphite.
6360 (scopdet_basic_block_info): Print when a loop or bb cannot be
6361 represented in Graphite.
6362
6363 2015-07-25 Uros Bizjak <ubizjak@gmail.com>
6364
6365 PR target/66648
6366 * config/i386/i386.c (ix86_expand_set_or_movmem): Emit main loop
6367 execution guard when min_size is less than size_needed.
6368
6369 2015-07-25 Sebastian Pop <s.pop@samsung.com>
6370
6371 * doc/install.texi: Document supported versions of ISL.
6372
6373 2015-07-25 Jeff Law <law@redhat.com>
6374
6375 Revert:
6376 PR lto/66752
6377 * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
6378 unable to find X NE 0 in the tables, return X as the simplified
6379 condition.
6380 (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
6381 in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH
6382 to VISISTED_BBS. */
6383 * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
6384 after removing the control flow statement and unnecessary edges.
6385
6386 2015-07-25 David Edelsohn <dje.gcc@gmail.com>
6387
6388 Revert:
6389 2015-07-23 Alexandre Oliva <aoliva@redhat.com>
6390
6391 PR rtl-optimization/64164
6392 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
6393 * tree-ssa-copyrename.c: Removed.
6394 * opts.c (default_options_table): Drop -ftree-copyrename. Add
6395 -ftree-coalesce-vars.
6396 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
6397 * common.opt (ftree-copyrename): Ignore.
6398 (ftree-coalesce-inlined-vars): Likewise.
6399 * doc/invoke.texi: Remove the ignored options above.
6400 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
6401 * tree-ssa-coalesce.h: ... here.
6402 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
6403 headers required by it.
6404 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
6405 across variables when flag_tree_coalesce_vars. Check register
6406 use and promoted modes to allow coalescing. Moved to
6407 tree-ssa-coalesce.c.
6408 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
6409 with its member functions to tree-ssa-coalesce.c.
6410 (var_map_base_init): Likewise. Renamed to
6411 compute_samebase_partition_bases.
6412 (partition_view_normal): Drop want_bases parameter.
6413 (partition_view_bitmap): Likewise.
6414 * tree-ssa-live.h: Adjust declarations.
6415 * tree-ssa-coalesce.c: Include explow.h.
6416 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
6417 default defs at the entry point.
6418 (dump_part_var_map): New.
6419 (compute_optimized_partition_bases): New, called by...
6420 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
6421 of compute_samebase_partition_bases. Adjust.
6422 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
6423 * cfgexpand.c (leader_merge): New.
6424 (get_rtl_for_parm_ssa_default_def): New.
6425 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
6426 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
6427 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
6428 redundant MEM attr setting.
6429 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
6430 from...
6431 (expand_one_stack_var): ... this. New wrapper to check and
6432 skip already expanded SSA partitions.
6433 (record_alignment_for_reg_var): New, factored out of...
6434 (expand_one_var): ... this.
6435 (expand_one_ssa_partition): New.
6436 (adjust_one_expanded_partition_var): New.
6437 (expand_one_register_var): Check and skip already expanded SSA
6438 partitions.
6439 (expand_used_vars): Don't create DECLs for anonymous SSA
6440 names. Expand all SSA partitions, then adjust all SSA names.
6441 (pass::execute): Replace the loops that set
6442 SA.partition_to_pseudo from partition leaders and cleared
6443 DECL_RTL for multi-location variables, and that which used to
6444 rename vars and set attrs, with one that clears DECL_RTL and
6445 checks that PARMs and RESULTs default_defs match DECL_RTL.
6446 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
6447 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
6448 * explow.c (promote_ssa_mode): New.
6449 * explow.h (promote_ssa_mode): Declare.
6450 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
6451 * function.c: Include cfgexpand.h.
6452 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
6453 (use_register_for_parm_decl): Wrapper for the above to
6454 special-case the result_ptr.
6455 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
6456 (split_complex_args): Take assign_parm_data_all argument.
6457 Pass it to rtl_for_parm. Set up rtl and context for split
6458 args.
6459 (assign_parms_augmented_arg_list): Adjust.
6460 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
6461 multiple locations. Recognize split complex args.
6462 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
6463 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
6464 (assign_parm_setup_block): Prefer SSA-assigned location.
6465 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
6466 if stack_parm is NULL.
6467 (assign_parm_setup_stack): Prefer SSA-assigned location.
6468 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
6469 rtl before testing for pointer bounds. Special-case result_ptr.
6470 (expand_function_start): Maybe reset DECL_RTL of result.
6471 Prefer SSA-assigned location for result and static chain.
6472 Factor out DECL_RESULT and SET_DECL_RTL.
6473 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
6474 anonymous SSA names. Use promote_ssa_mode.
6475 (get_temp_reg): Likewise.
6476 (remove_ssa_form): Adjust.
6477 * stor-layout.c (layout_decl): Don't set mem attributes of
6478 non-MEMs.
6479 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
6480 and get its reg_usage for reg invalidation.
6481 (compute_bb_dataflow): Pass it insn.
6482 (emit_notes_in_bb): Likewise.
6483
6484 2015-07-25 Uros Bizjak <ubizjak@gmail.com>
6485
6486 * config/i386/i386.c (ix86_va_start): Remove
6487 unneeded !TARGET_64BIT check.
6488 (ix86_gimplify_va_arg): Ditto.
6489
6490 2015-07-24 Tom de Vries <tom@codesourcery.com>
6491
6492 * graphite-sese-to-poly.c (build_poly_scop): Always call
6493 rewrite_commutative_reductions_out_of_ssa.
6494
6495 2015-07-24 Tom de Vries <tom@codesourcery.com>
6496
6497 * graphite-sese-to-poly.c (is_reduction_operation_p): Limit
6498 flag_associative_math to FLOAT_TYPE_P. Honour
6499 TYPE_OVERFLOW_WRAPS for INTEGRAL_TYPE_P. Don't allow any other types.
6500
6501 2015-07-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
6502
6503 PR c++/64079
6504 * toplev.c (check_global_declaration): Use DECL_SOURCE_LOCATION
6505 and "%qD" in warning_at instead of "%q+D" in warning.
6506
6507 2015-07-24 Uros Bizjak <ubizjak@gmail.com>
6508
6509 * config/i386/i386.c (ix86_call_abi_override): Call ix86_function_abi.
6510 (ix86_function_abi): Cleanup.
6511
6512 2015-07-24 Michael Darling <darlingm@gmail.com>
6513
6514 PR other/66259
6515 * acinclude.m4: Reflects renaming of configure.in to configure.ac
6516 * configure: Likewise
6517 * configure.ac: Likewise
6518 * doc/install.texi: Likewise
6519 * doc/tm.texi: Likewise
6520 * doc/tm.texi.in: Likewise
6521
6522 2015-07-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6523
6524 * alias.c (nonoverlapping_memrefs_p): Use std::swap instead of
6525 manually swapping values.
6526 * cse.c (fold_rtx): Likewise.
6527 * lra-eliminations.c (form_sum): Likewise.
6528
6529 2015-07-24 Uros Bizjak <ubizjak@gmail.com>
6530
6531 PR target/64003
6532 * config/i386/i386.h (ADJUST_INSN_LENGTH): New define.
6533 * config/i386/i386.md (maybe_prefix_bnd): New attribute.
6534 (*jcc_1, *jcc_2, jump, simple_return_internal)
6535 (simple_return_pop_internal): Set attribute maybe_prefix_bnd.
6536 Set length_nobnd attribute instead of length attribute.
6537 (indirect_jump, *tablejump_1): Set attribute maybe_prefix_bnd.
6538 (length_nobnd): Remove attribute.
6539 (length): Remove length_nobnd processing.
6540
6541 2015-07-24 Nathan Sidwell <nathan@codesourcery.com>
6542
6543 * gimplify.c (omp_default_clause): New function. Reorganize flow
6544 for clarity. Broken out of ...
6545 (omp_notice_variable): ... here.
6546
6547 2015-07-24 Gary Funck <gary@intrepid.com>
6548
6549 PR middle-end/66984
6550 * fold-const.c (fold_binary_loc): Call fold_convert on arguments to
6551 fold_build2 for CEIL_DIV_EXPR and FLOOR_DIV_EXPR optimization.
6552
6553 2015-07-24 Tom de Vries <tom@codesourcery.com>
6554
6555 * tree-parloops.c (gen_parallel_loop): Add debug print for alternative
6556 exit-first loop transform.
6557
6558 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
6559
6560 PR 66714
6561 * tree-cfg.c (struct replace_decls_d): New struct.
6562 (replace_block_vars_by_duplicates_1): New function.
6563 (replace_block_vars_by_duplicates): Use it to replace the decls
6564 in the value exprs by duplicates.
6565
6566 2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
6567
6568 * config/aarch64/aarch64-elf-raw.h (LINK_SPEC): Handle -h, -static,
6569 -shared, -symbolic, -rdynamic.
6570
6571 2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
6572
6573 PR target/65711
6574 * config/aarch64/aarch64-linux.h (LINUX_TARGET_LINK_SPEC): Move
6575 -dynamic-linker within %{!static %{!shared, and -rdynamic within
6576 %{!static.
6577
6578 2015-07-24 Ilya Enkovich <enkovich.gnu@gmail.com>
6579
6580 PR ipa/66566
6581 * ipa-inline-analysis.c (estimate_calls_size_and_time): Check
6582 edge summary is available.
6583
6584 2015-07-24 Richard Biener <rguenther@suse.de>
6585
6586 * genmatch.c (struct dt_node): Add statistic fields.
6587 (dt_node::analyze): New method.
6588 (decision_tree::gen_gimple): Call analyze on the root node
6589 and print statistics to stderr.
6590 (decision_tree::gen_generic): Likewise.
6591
6592 2015-07-24 Richard Biener <rguenther@suse.de>
6593
6594 * fold-const.c (fold_binary_loc): Move simplifying of comparisons
6595 against the highest or lowest possible integer ...
6596 * match.pd: ... as patterns here.
6597
6598 2015-07-24 Richard Biener <rguenther@suse.de>
6599
6600 * genmatch.c (struct capture_info): Add same_as field.
6601 (capture_info::capture_info): Initialize same_as.
6602 (capture_info::walk_match): Compute same_as.
6603 (capture_info::walk_result): Compute stuff for the leader.
6604 (capture_info::walk_c_expr): Likewise.
6605 (dt_simplify::gen_1): Only look at leaders when deciding
6606 to force no side-effects or emit side-effects of omitted operands.
6607
6608 2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6609
6610 * config/s390/s390.c (s390_save_gprs_to_fprs): Add CFA_REGISTER
6611 reg note to the GPR -> FPR save instructions.
6612
6613 2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6614
6615 * config/s390/s390.c (s390_rtx_costs): Make risbg patterns
6616 cheaper.
6617 (s390_expand_insv): Don't generate risbg pattern for constant zero
6618 sources.
6619 * config/s390/s390.md ("*insv<mode>_zEC12_appendbitsleft")
6620 ("*insv<mode>_z10_appendbitsleft"): New pattern definitions. New
6621 splitters.
6622
6623 2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
6624
6625 * config/s390/s390.c (s390_reorg): Clean up handling of processors
6626 with
6627 -mtune=
6628 (s390_issue_rate): Likewise.
6629 (s390_sched_reorder): Likewise.
6630 (s390_sched_variable_issue): Likewise.
6631 (s390_loop_unroll_adjust): Likewise.
6632 (s390_option_override): Likewise.
6633
6634 2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
6635
6636 * config/s390/driver-native.c (s390_host_detect_local_cpu): Handle
6637 processor capabilities with -march=native.
6638 * config/s390/s390.h (MARCH_MTUNE_NATIVE_SPECS): Likewise.
6639 (DRIVER_SELF_SPECS): Likewise. Join specs for 31 and 64 bit.
6640 (S390_TARGET_BITS_STRING): Macro to simplify specs.
6641
6642 2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
6643
6644 * config/s390/s390.c (s390_issue_rate): Handle
6645 PROCESSOR_2094_Z9_EC.
6646 (s390_option_override): Likewise.
6647 (s390_adjust_priority): Likewise.
6648
6649 2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
6650
6651 * config/s390/s390.h: S390: Do not define EXTRA_SPEC_FUNCTIONS
6652 when cross compiling.
6653
6654 2015-07-24 Richard Biener <rguenther@suse.de>
6655
6656 * fold-const.c (maybe_canonicalize_comparison_1): Move
6657 A code CST canonicalization ...
6658 * match.pd: ... to a pattern here.
6659
6660 2015-07-24 Jiong Wang <jiong.wang@arm.com>
6661
6662 Revert:
6663 2015-07-22 Jiong Wang <jiong.wang@arm.com>
6664 PR target/63521
6665 * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define.
6666 (HONOR_REG_ALLOC_ORDER): Define.
6667
6668 2015-07-24 Richard Biener <rguenther@suse.de>
6669
6670 * genmatch.c (add_operator): Allow SSA_NAME as predicate.
6671 * fold-const.c (fold_comparison): Move parameter does not
6672 alias &local simplification ...
6673 * match.pd: ... as a pattern here.
6674
6675 2015-07-24 Richard Biener <rguenther@suse.de>
6676
6677 * gimple-fold.c (replace_stmt_with_simplification): Special-case
6678 valueizing call operands.
6679 * gimple-match-head.c (maybe_push_res_to_seq): Take
6680 number of call arguments from ops array.
6681 (do_valueize): New function.
6682 (gimple_simplify): Return true if valueization changed
6683 any operand even if the result didn't simplify further.
6684
6685 2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
6686
6687 PR middle-end/25530
6688 * match.pd (mult (trunc_div @0 integer_pow2p@1) @1) : New simplifier.
6689
6690 2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
6691
6692 PR middle-end/25529
6693 * match.pd (trunc_div (mult @0 integer_pow2p@1) @1) : New simplifier.
6694
6695 2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org>
6696
6697 * config/arm/arm.c (arm_emit_movpair): Add REG_EQUAL notes to
6698 instruction.
6699
6700 2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org>
6701
6702 * cse.c (cse_insn): Fix missing check for STRICT_LOW_PART and minor
6703 clean up.
6704
6705 2015-07-23 Uros Bizjak <ubizjak@gmail.com>
6706
6707 * config/i386/i386.c (ix86_build_builtin_va_list_64): Rename
6708 from ix86_build_builtin_va_list_abi. Handle only 64bit non-MS_ABI
6709 targets here.
6710 (ix86_build_builtin_va_list): Rewrite sysv_va_list_type_node and
6711 ms_va_list_type_node initialization.
6712
6713 2015-07-23 Jeff Law <law@redhat.com>
6714
6715 PR lto/66752
6716 * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
6717 unable to find X NE 0 in the tables, return X as the simplified
6718 condition.
6719 (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
6720 in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH
6721 to VISISTED_BBS. */
6722 * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
6723 after removing the control flow statement and unnecessary edges.
6724
6725 2015-07-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
6726
6727 * tree-pass.h (get_current_pass_name): Removed.
6728
6729 2015-07-23 Alexandre Oliva <aoliva@redhat.com>
6730
6731 PR rtl-optimization/64164
6732 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
6733 * tree-ssa-copyrename.c: Removed.
6734 * opts.c (default_options_table): Drop -ftree-copyrename. Add
6735 -ftree-coalesce-vars.
6736 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
6737 * common.opt (ftree-copyrename): Ignore.
6738 (ftree-coalesce-inlined-vars): Likewise.
6739 * doc/invoke.texi: Remove the ignored options above.
6740 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
6741 * tree-ssa-coalesce.h: ... here.
6742 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
6743 headers required by it.
6744 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
6745 across variables when flag_tree_coalesce_vars. Check register
6746 use and promoted modes to allow coalescing. Moved to
6747 tree-ssa-coalesce.c.
6748 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
6749 with its member functions to tree-ssa-coalesce.c.
6750 (var_map_base_init): Likewise. Renamed to
6751 compute_samebase_partition_bases.
6752 (partition_view_normal): Drop want_bases parameter.
6753 (partition_view_bitmap): Likewise.
6754 * tree-ssa-live.h: Adjust declarations.
6755 * tree-ssa-coalesce.c: Include explow.h.
6756 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
6757 default defs at the entry point.
6758 (dump_part_var_map): New.
6759 (compute_optimized_partition_bases): New, called by...
6760 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
6761 of compute_samebase_partition_bases. Adjust.
6762 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
6763 * cfgexpand.c (leader_merge): New.
6764 (get_rtl_for_parm_ssa_default_def): New.
6765 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
6766 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
6767 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
6768 redundant MEM attr setting.
6769 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
6770 from...
6771 (expand_one_stack_var): ... this. New wrapper to check and
6772 skip already expanded SSA partitions.
6773 (record_alignment_for_reg_var): New, factored out of...
6774 (expand_one_var): ... this.
6775 (expand_one_ssa_partition): New.
6776 (adjust_one_expanded_partition_var): New.
6777 (expand_one_register_var): Check and skip already expanded SSA
6778 partitions.
6779 (expand_used_vars): Don't create DECLs for anonymous SSA
6780 names. Expand all SSA partitions, then adjust all SSA names.
6781 (pass::execute): Replace the loops that set
6782 SA.partition_to_pseudo from partition leaders and cleared
6783 DECL_RTL for multi-location variables, and that which used to
6784 rename vars and set attrs, with one that clears DECL_RTL and
6785 checks that PARMs and RESULTs default_defs match DECL_RTL.
6786 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
6787 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
6788 * explow.c (promote_ssa_mode): New.
6789 * explow.h (promote_ssa_mode): Declare.
6790 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
6791 * function.c: Include cfgexpand.h.
6792 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
6793 (use_register_for_parm_decl): Wrapper for the above to
6794 special-case the result_ptr.
6795 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
6796 (split_complex_args): Take assign_parm_data_all argument.
6797 Pass it to rtl_for_parm. Set up rtl and context for split
6798 args.
6799 (assign_parms_augmented_arg_list): Adjust.
6800 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
6801 multiple locations. Recognize split complex args.
6802 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
6803 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
6804 (assign_parm_setup_block): Prefer SSA-assigned location.
6805 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
6806 if stack_parm is NULL.
6807 (assign_parm_setup_stack): Prefer SSA-assigned location.
6808 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
6809 rtl before testing for pointer bounds. Special-case result_ptr.
6810 (expand_function_start): Maybe reset DECL_RTL of result.
6811 Prefer SSA-assigned location for result and static chain.
6812 Factor out DECL_RESULT and SET_DECL_RTL.
6813 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
6814 anonymous SSA names. Use promote_ssa_mode.
6815 (get_temp_reg): Likewise.
6816 (remove_ssa_form): Adjust.
6817 * stor-layout.c (layout_decl): Don't set mem attributes of
6818 non-MEMs.
6819 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
6820 and get its reg_usage for reg invalidation.
6821 (compute_bb_dataflow): Pass it insn.
6822 (emit_notes_in_bb): Likewise.
6823
6824 2015-07-23 Segher Boessenkool <segher@kernel.crashing.org>
6825
6826 PR target/66217
6827 * config/rs6000/rs6000-protos.h (rs6000_emit_2insn_and): Change
6828 prototype.
6829 * config/rs6000/rs6000.c (rs6000_emit_dot_insn): New function.
6830 (rs6000_emit_2insn_and): Handle dot forms.
6831 * config/rs6000/rs6000.md (and<mode>3): Adjust.
6832 (*and<mode>3_2insn): Remove TODO. Adjust. Add "type" attr.
6833 (*and<mode>3_2insn_dot, *and<mode>3_2insn_dot2): New.
6834
6835 2015-07-23 Richard Biener <rguenther@suse.de>
6836
6837 * generic-match-head.c: Include cgraph.h.
6838 * gimple-match-head.c: Likewise.
6839 * tree-ssa-sccvn.c (free_scc_vn): Guard against newly created
6840 SSA names.
6841 * fold-const.c (fold_binary_loc): Move &A ==/!= &B simplification...
6842 * match.pd: ...to a pattern here. Add &A ==/!= 0 simplification
6843 pattern.
6844
6845 2015-07-23 Richard Biener <rguenther@suse.de>
6846
6847 * gimple-fold.c (fold_gimple_cond): Do not require folding
6848 results to pass valid_gimple_rhs_p.
6849 * tree-cfg.h (fold_cond_expr_cond): Remove.
6850 * tree-cfg.c (fold_cond_expr_cond): Likewise.
6851 (make_edges): Do not call it.
6852 * tree-inline.c (tree_function_versioning): Likewise.
6853
6854 2015-07-23 Tom de Vries <tom@codesourcery.com>
6855
6856 * tree-parloops.c (gather_scalar_reductions): Add arg to call to
6857 vect_force_simple_reduction.
6858 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Same.
6859 (vect_is_simple_reduction_1): Add and handle
6860 need_wrapping_integral_overflow parameter.
6861 (vect_is_simple_reduction, vect_force_simple_reduction): Add and pass
6862 need_wrapping_integral_overflow parameter.
6863 (vectorizable_reduction): Add arg to call to vect_is_simple_reduction.
6864 * tree-vectorizer.h (vect_force_simple_reduction): Add parameter to
6865 decl.
6866
6867 2015-07-23 Yuri Rumyantsev <ysrumyan@gmail.com>
6868
6869 PR tree-optimization/66926,66951
6870 * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Delete
6871 INNER_LOOP and fix up condition for renaming virtual operands.
6872
6873 2015-07-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6874
6875 * combine.c (try_combine): Use std::swap instead of manually
6876 swapping.
6877
6878 2015-07-23 Prachi Godbole <prachi.godbole@imgtec.com>
6879
6880 * config/mips/i6400.md: New file.
6881 * config/mips/mips-cpus.def (mips32r6): Change to PROCESSOR_I6400.
6882 (mips64r6): Likewise.
6883 (i6400): Define.
6884 * config/mips/mips-tables.opt: Regenerate.
6885 * config/mips/mips.c (mips_rtx_cost_data): Add I6400 processor.
6886 (mips_issue_rate): Add support for i6400.
6887 (mips_multipass_dfa_lookahead): Likewise.
6888 * config/mips/mips.h (TUNE_I6400): Define.
6889 * config/mips/mips.md: Include i6400.md.
6890 (processor): Add i6400.
6891 * doc/invoke.texi (-march=@var{arch}): Add i6400.
6892
6893 2015-07-23 Richard Biener <rguenther@suse.de>
6894
6895 PR middle-end/66916
6896 * match.pd: Guard widen and sign-change comparison simplification
6897 with single_use.
6898
6899 2015-07-23 Richard Biener <rguenther@suse.de>
6900
6901 PR tree-optimization/66945
6902 * tree-ssa-propagate.c (substitute_and_fold_dom_walker
6903 ::before_dom_children): Force the propagators idea of
6904 non-executable edges to materialize, not what the folder
6905 chooses.
6906
6907 2015-07-23 Richard Biener <rguenther@suse.de>
6908
6909 * gimple.h (gimple_cond_make_false): Use 0 != 0.
6910 (gimple_cond_make_true): Use 1 != 0.
6911
6912 2015-07-22 DJ Delorie <dj@redhat.com>
6913
6914 * config/msp430/t-msp430 (MULTILIB_DIRNAMES): Remove trailing
6915 slashes.
6916
6917 * config/msp430/msp430.md (ashlhi3): Optimize shifts of subregs.
6918 (ashrhi3): Likewise.
6919 (lshrhi3): Likewise.
6920 (movhi): Take advantage of zero-extend to load small constants.
6921 (movpsi): Likewise.
6922 (and<mode>3): Likewise.
6923 (zero_extendqihi2): Likewise.
6924 (zero_extendqisi2): New.
6925 * config/msp430/constraints.md (N,O): New.
6926 * config/msp430/msp430.h (WORD_REGISTER_OPERATIONS): Define.
6927
6928 2015-07-22 Uros Bizjak <ubizjak@gmail.com>
6929
6930 PR target/66954
6931 * config/i386/i386.c (get_builtin_code_for_version): Add P_AES
6932 to enum feature_priority and feature_list.
6933 (fold_builtin_cpu): Add F_AES to enum processor_features
6934 and isa_names_table.
6935
6936 2015-07-22 Ilya Enkovich <enkovich.gnu@gmail.com>
6937
6938 PR driver/66737
6939 * config/i386/linux-common.h (MPX_SPEC): Use linker option
6940 for 64bit target only.
6941
6942 2015-07-22 Bernd Schmidt <bernds@codesourcery.com>
6943
6944 * config/nvptx/nvptx.c: Expand some comments.
6945
6946 2015-07-22 James Greenhalgh <james.greenhalgh@arm.com>
6947
6948 * config/arm/cortex-a53 (cortex_53_advsimd): Rename to...
6949 (cortex_a53_advsimd): ...This.
6950
6951 2015-07-22 Richard Biener <rguenther@suse.de>
6952
6953 * genmatch.c (expr::gen_transform): Clarify error message
6954 and display location.
6955
6956 2015-07-22 Richard Biener <rguenther@suse.de>
6957
6958 * genmatch.c (struct operand): Add location member.
6959 (predicate, expr, c_expr, capture, if_expr, with_expr): Adjust
6960 constructors.
6961 (struct simplify): Remove match_location and result_location
6962 members.
6963 (elsehwere): Adjust.
6964
6965 2015-07-22 Prachi Godbole <prachi.godbole@imgtec.com>
6966
6967 * config/mips/m5100.md: New file.
6968 * config/mips/mips-cpus.def (m5100, m5101): Define.
6969 * config/mips/mips-tables.opt: Regenerate.
6970 * config/mips/mips.c (mips_rtx_cost_data): Add costs for m5100.
6971 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=m5100 and
6972 -march=m5101 to -mips32r5.
6973 (MIPS_ARCH_FLOAT_SPEC): Map -m5101 to -msoft-float.
6974 (MIPS_ISA_NAN2008_SPEC): Map -march=m51* to -mnan=2008 if
6975 !-msoft-float.
6976 * config/mips/mips.md: Include m5100.md.
6977 (processor): Add m5100.
6978 * doc/invoke.texi (-march=@var{arch}): Add m5100, m5101.
6979
6980 2015-07-22 Robert Suchanek <robert.suchanek@imgtec.com>
6981
6982 * config/mips/mips-cpus.def (interaptiv): Define.
6983 * config/mips/mips-tables.opt: Regenerate.
6984 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=interaptiv to
6985 -mips32r2.
6986 (BASE_DRIVER_SELF_SPECS): Likewise but map to -mdsp.
6987 * doc/invoke.texi (-march=@var{arch}): Add interaptiv.
6988
6989 2015-07-22 Jiong Wang <jiong.wang@arm.com>
6990
6991 PR target/63521
6992 * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define.
6993 (HONOR_REG_ALLOC_ORDER): Define.
6994
6995 2015-07-22 Richard Biener <rguenther@suse.de>
6996
6997 PR tree-optimization/66952
6998 * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): For
6999 blocks we end up executing unconditionally reset all SSA
7000 info such as range and alignment.
7001 * tree-ssanames.h (reset_flow_sensitive_info): Declare.
7002 * tree-ssanames.c (reset_flow_sensitive_info): New function.
7003
7004 2015-07-22 Charles Baylis <charles.baylis@linaro.org>
7005
7006 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): Fix
7007 typo in attribute.
7008
7009 2015-07-22 Richard Biener <rguenther@suse.de>
7010
7011 * genmatch.c (parser::parse_result): Properly handle
7012 match with result operands and conditions.
7013
7014 2015-07-22 Charles Baylis <charles.baylis@linaro.org>
7015
7016 PR target/63870
7017 * config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers):
7018 Add qualifier_struct_load_store_lane_index.
7019 (aarch64_types_loadstruct_lane_qualifiers): Use
7020 qualifier_struct_load_store_lane_index for lane index argument for
7021 last argument.
7022 (aarch64_types_storestruct_lane_qualifiers): Ditto.
7023 (builtin_simd_arg): Add SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
7024 (aarch64_simd_expand_args): Add new argument describing mode of
7025 builtin. Check lane bounds for arguments with
7026 SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
7027 (aarch64_simd_expand_builtin): Emit error for incorrect lane indices
7028 if marked with SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
7029 (aarch64_simd_expand_builtin): Handle arguments with
7030 qualifier_struct_load_store_lane_index. Pass machine mode of builtin to
7031 aarch64_simd_expand_args.
7032 * config/aarch64/aarch64-simd-builtins.def: Declare ld[234]_lane and
7033 vst[234]_lane with BUILTIN_VALLDIF.
7034 * config/aarch64/aarch64-simd.md:
7035 (aarch64_vec_load_lanesoi_lane<mode>): Use VALLDIF iterator. Perform
7036 endianness reversal on lane index.
7037 (aarch64_vec_load_lanesci_lane<mode>): Ditto.
7038 (aarch64_vec_load_lanesxi_lane<mode>): Ditto.
7039 (vec_store_lanesoi_lane<mode>): Use VALLDIF iterator.
7040 (vec_store_lanesci_lane<mode>): Ditto.
7041 (vec_store_lanesxi_lane<mode>): Ditto.
7042 (aarch64_ld2_lane<mode>): Use VALLDIF iterator. Remove endianness
7043 reversal of lane index.
7044 (aarch64_ld3_lane<mode>): Ditto.
7045 (aarch64_ld4_lane<mode>): Ditto.
7046 (aarch64_st2_lane<mode>): Ditto.
7047 (aarch64_st3_lane<mode>): Ditto.
7048 (aarch64_st4_lane<mode>): Ditto.
7049 * config/aarch64/arm_neon.h (__LD2_LANE_FUNC): Rename mode parameter
7050 to qmode. Add new mode parameter. Update uses.
7051 (__LD3_LANE_FUNC): Ditto.
7052 (__LD4_LANE_FUNC): Ditto.
7053 (__ST2_LANE_FUNC): Ditto.
7054 (__ST3_LANE_FUNC): Ditto.
7055 (__ST4_LANE_FUNC): Ditto.
7056
7057 2015-07-22 Jonathan Wakely <jwakely@redhat.com>
7058
7059 * doc/invoke.texi (Language Independent Options): Rename node to
7060 Diagnostic Message Formatting Options.
7061
7062 2015-07-21 Vladimir Makarov <vmakarov@redhat.com>
7063
7064 PR ipa/66424.
7065 * lra-remat.c (operand_to_remat): Prevent using insns with input
7066 subregs processed separately by IRA.
7067
7068 2015-07-21 Andrew MacLeod <amacleod@redhat.com>
7069
7070 * ssa-iterators.h (has_zero_uses, has_single_use): Implement as
7071 straight loops.
7072 (single_imm_use): Check for iterator node.
7073 (num_imm_uses): Likewise.
7074 * tree-ssa-operands.c (has_zero_uses_1): Delete.
7075 (single_imm_use_1): Check for iterator node.
7076
7077 2015-07-21 Mike Frysinger <vapier@gentoo.org>
7078 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
7079
7080 * configure.ac: Add check for new options in isl-0.15.
7081 * config.in, configure: Rebuilt.
7082 * graphite-blocking.c: Include <isl/constraint.h>
7083 * graphite-interchange.c, graphite-poly.c: Likewise.
7084 * graphhite-scop-detection.c, graphite-sese-to-poly.c: Likewise.
7085 * graphite.c: Likewise.
7086 * graphite-isl-ast-to-gimple.c: Include <isl/constraint.h> and
7087 <isl/union_set.h>.
7088 * graphite-dependences.c: Include <isl/constraint.h>.
7089 (max_number_of_out_dimensions): Returns isl_stat.
7090 (extend_schedule_1): Likewise
7091 (extend_schedule): Corresponding changes.
7092 * graphite-optimize-isl.c: Include <isl/constraint.h> and
7093 <isl/union_set.h>.
7094 (getSingleMap): Change return type of isl_stat.
7095 (optimize_isl): Conditionally use
7096 isl_options_set_schedule_serialize_sccs.
7097 * graphite-poly.h (isl_stat, isl_stat_ok): Define fallbacks
7098 if not HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS.
7099
7100 2015-07-21 Georg-Johann Lay <avr@gjlay.de>
7101
7102 PR target/66956
7103 * config/avr/avr-dimode.md (<extend_u>mulsidi3_insn)
7104 (<extend_u>mulsidi3): Don't use if !AVR_HAVE_MUL.
7105
7106 2015-07-21 Richard Biener <rguenther@suse.de>
7107
7108 PR tree-optimization/66948
7109 * genmatch.c (capture_info::walk_match): Also recurse to
7110 captures. Properly compute expr state from captures of
7111 captures.
7112 * match.pd: Add single-use guards to
7113 (X & C2) >> C1 into (X >> C1) & (C2 >> C1) transform.
7114
7115 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
7116
7117 * config/nvptx/mkoffload.c (process): Add static destructor call.
7118
7119 2015-07-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7120
7121 PR middle-end/66915
7122 * match.pd (A - B -> A + (-B)): Don't allow folding
7123 when type if a fixed-point type.
7124
7125 2015-07-20 DJ Delorie <dj@redhat.com>
7126
7127 * config/rl78/rl78-real.md (andqi3_real): Expand operands for clr1.
7128 (iorqi3_real): Likewise for set1.
7129
7130 2015-07-20 Uros Bizjak <ubizjak@gmail.com>
7131
7132 * config/i386/i386.c (ix86_md_asm_adjust): Handle DImode dest_mode
7133 for !TARGET_64BIT.
7134
7135 2015-07-20 Aditya Kumar <hiraditya@msn.com>
7136
7137 * graphite-isl-ast-to-gimple.c:
7138 Refactor so that each function can access 'region'. This will help
7139 maintain a parameter rename_map within a region.
7140
7141 2015-07-20 Segher Boessenkool <segher@kernel.crashing.org>
7142
7143 * config/rs6000/rs6000.md (*lt0_disi): New.
7144
7145 2015-07-20 Segher Boessenkool <segher@kernel.crashing.org>
7146
7147 PR target/66217
7148 * config/rs6000/constraints.md ("S", "T", "t"): Delete. Update
7149 "available letters" comment.
7150 * config/rs6000/predicates.md (mask_operand, mask_operand_wrap,
7151 mask64_operand, mask64_2_operand, any_mask_operand, and64_2_operand,
7152 and_2rld_operand): Delete.
7153 (and_operand): Adjust.
7154 (rotate_mask_operator): New.
7155 * config/rs6000/rs6000-protos.h (build_mask64_2_operands,
7156 includes_lshift_p, includes_rshift_p, includes_rldic_lshift_p,
7157 includes_rldicr_lshift_p, insvdi_rshift_rlwimi_p, extract_MB,
7158 extract_ME): Delete.
7159 (rs6000_is_valid_mask, rs6000_is_valid_and_mask,
7160 rs6000_is_valid_shift_mask, rs6000_is_valid_insert_mask,
7161 rs6000_insn_for_and_mask, rs6000_insn_for_shift_mask,
7162 rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and,
7163 rs6000_emit_2insn_and): New.
7164 * config/rs6000/rs6000.c (num_insns_constant): Adjust.
7165 (build_mask64_2_operands, includes_lshift_p, includes_rshift_p,
7166 includes_rldic_lshift_p, includes_rldicr_lshift_p,
7167 insvdi_rshift_rlwimi_p, extract_MB, extract_ME): Delete.
7168 (rs6000_is_valid_mask, rs6000_is_valid_and_mask,
7169 rs6000_insn_for_and_mask, rs6000_is_valid_shift_mask,
7170 s6000_insn_for_shift_mask, rs6000_is_valid_insert_mask,
7171 rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and,
7172 rs6000_emit_2insn_and): New.
7173 (print_operand) <'b', 'B', 'm', 'M', 's', 'S', 'W'>: Delete.
7174 (rs6000_rtx_costs) <CONST_INT>: Delete mask_operand and mask64_operand
7175 handling.
7176 <NOT>: Don't fall through to next case.
7177 <AND>: Handle the various rotate-and-mask cases directly.
7178 <IOR>: Always cost as one insn.
7179 * config/rs6000/rs6000.md (splitter for bswap:SI): Adjust.
7180 (and<mode>3): Adjust expander for the new patterns.
7181 (and<mode>3_imm, and<mode>3_imm_dot, and<mode>3_imm_dot2,
7182 and<mode>3_imm_mask_dot, and<mode>3_imm_mask_dot2): Adjust condition.
7183 (*and<mode>3_imm_dot_shifted): New.
7184 (*and<mode>3_mask): Delete, rewrite as ...
7185 (and<mode>3_mask): ... New.
7186 (*and<mode>3_mask_dot, *and<mode>3_mask_dot): Rewrite.
7187 (andsi3_internal0_nomc): Delete.
7188 (*andsi3_internal6): Delete.
7189 (*and<mode>3_2insn): New.
7190 (insv, insvsi_internal, *insvsi_internal1, *insvsi_internal2,
7191 *insvsi_internal3, *insvsi_internal4, *insvsi_internal5,
7192 *insvsi_internal6, insvdi_internal, *insvdi_internal2,
7193 *insvdi_internal3): Delete.
7194 (*rotl<mode>3_mask, *rotl<mode>3_mask_dot, *rotl<mode>3_mask_dot2,
7195 *rotl<mode>3_insert, *rotl<mode>3_insert_2, *rotl<mode>3_insert_3,
7196 *rotl<mode>3_insert_4, two splitters for multi-precision shifts,
7197 *ior<mode>_mask): New.
7198 (extzv, extzvdi_internal, *extzvdi_internal1, *extzvdi_internal2,
7199 *rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
7200 *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
7201 *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
7202 Delete.
7203 (ashr<mode>3): Delete expander.
7204 (*ashr<mode>3): Rename to ...
7205 (ashr<mode>3): ... This.
7206 (ashrdi3_no_power, *ashrdisi3_noppc64be): Delete.
7207 (*rotldi3_internal4, *rotldi3_internal5 and split,
7208 *rotldi3_internal6 and split, *ashldi3_internal4, ashldi3_internal5
7209 and split, *ashldi3_internal6 and split, *ashldi3_internal7,
7210 ashldi3_internal8 and split, *ashldi3_internal9 and split): Delete.
7211 (*anddi3_2rld, *anddi3_2rld_dot, *anddi3_2rld_dot2): Delete.
7212 (splitter for loading a mask): Adjust.
7213 * doc/md.texi (Machine Constraints): Remove q, S, T, t constraints.
7214
7215 2015-07-20 Marek Polacek <polacek@redhat.com>
7216
7217 * genemit.c (print_code, gen_exp, gen_insn, gen_expand, gen_split,
7218 output_add_clobbers, output_added_clobbers_hard_reg_p,
7219 gen_rtx_scratch): Remove declarations.
7220
7221 2015-07-20 Marek Polacek <polacek@redhat.com>
7222
7223 PR c++/55095
7224 * doc/invoke.texi: Document -Wshift-overflow and -Wshift-overflow=.
7225
7226 2015-07-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7227
7228 * simplify-rtx.c (simplify_unary_operation_1, NEG case):
7229 (neg (x ? (neg y) : y)) -> !x ? (neg y) : y.
7230
7231 2015-07-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7232
7233 * combine.c (combine_simplify_rtx): Move simplification step
7234 before various transformations/substitutions.
7235
7236 2015-07-20 Mikhail Maltsev <maltsevm@gmail.com>
7237
7238 * wide-int.h (struct binary_traits): Fix partial specialization syntax.
7239 (struct int_traits): Likewise.
7240
7241 2015-07-18 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7242
7243 * vmsdbgout.c (vmsdbgout_decl): Change name of prototyped
7244 function to vmsdbgout_function_decl.
7245
7246 2015-07-18 Uros Bizjak <ubizjak@gmail.com>
7247
7248 PR target/66922
7249 * config/i386/i386.c (ix86_expand_pextr): Reject extractions
7250 from misaligned positions.
7251 (ix86_expand_pinsr): Reject insertions to misaligned positions.
7252
7253 2015-07-18 Sebastian Pop <s.pop@samsung.com>
7254
7255 PR middle-end/46851
7256 PR middle-end/60340
7257 * Makefile.in: Removed omega.o.
7258 * common.opt: Document flag fcheck-data-deps as deprecated.
7259 * doc/invoke.texi: Remove documentation for fcheck-data-deps and
7260 its associated params: omega-max-vars, omega-max-geqs,
7261 omega-max-eqs, omega-max-wild-cards, omega-hash-table-size,
7262 omega-max-keys, omega-eliminate-redundant-constraints.
7263 * doc/loop.texi: Remove all the section on Omega.
7264 * graphite-blocking.c: Include missing params.h: it used to be
7265 included through tree-data-ref.h and omega.h.
7266 * graphite-isl-ast-to-gimple.c: Same.
7267 * graphite-optimize-isl.c: Same.
7268 * graphite-sese-to-poly.c: Same.
7269 * graphite.c: Same.
7270 * omega.c: Remove.
7271 * omega.h: Remove.
7272 * params.def: Removed PARAM_OMEGA_MAX_VARS, PARAM_OMEGA_MAX_GEQS,
7273 PARAM_OMEGA_MAX_EQS, PARAM_OMEGA_MAX_WILD_CARDS,
7274 PARAM_OMEGA_HASH_TABLE_SIZE, PARAM_OMEGA_MAX_KEYS, and
7275 PARAM_OMEGA_ELIMINATE_REDUNDANT_CONSTRAINTS.
7276 * passes.def: Remove pass_check_data_deps.
7277 * tree-data-ref.c (dump_affine_function): Declare DEBUG_FUNCTION.
7278 (dump_conflict_function): Same.
7279 (dump_subscript): Same.
7280 (print_direction_vector): Same.
7281 (print_dir_vectors): Same.
7282 (print_lambda_vector): Same.
7283 (print_dist_vectors): Same.
7284 (dump_data_dependence_relation): Same.
7285 (dump_data_dependence_relations): Same.
7286 (dump_dist_dir_vectors): Same.
7287 (dump_ddrs): Same.
7288 (init_omega_eq_with_af): Removed.
7289 (omega_extract_distance_vectors): Removed.
7290 (omega_setup_subscript): Removed.
7291 (init_omega_for_ddr_1): Removed.
7292 (init_omega_for_ddr): Removed.
7293 (ddr_consistent_p): Removed.
7294 (compute_affine_dependence): Do not use omega to check data
7295 dependences.
7296 (compute_data_dependences_for_bb): Removed.
7297 (analyze_all_data_dependences): Removed.
7298 (tree_check_data_deps): Removed.
7299 * tree-data-ref.h: Do not include omega.h.
7300 (compute_data_dependences_for_bb): Removed.
7301 (tree_check_data_deps): Removed.
7302 * tree-ssa-loop.c (pass_check_data_deps): Removed.
7303 (make_pass_check_data_deps): Removed.
7304 * tree-ssa-phiopt.c: Include params.h.
7305 * tree-vect-data-refs.c: Same.
7306 * tree-vect-slp.c: Same.
7307
7308 2015-07-18 Uros Bizjak <ubizjak@gmail.com>
7309
7310 * config/i386/i386.md (pushsf splitter): Pass curr_insn to
7311 find_constant_src. FAIL if find_constant_src returns NULL_RTX.
7312 (mem->fpreg splitters): Ditto.
7313 (general_operand->nonimmediate_operand splitter): Use explicit modes.
7314 Disable DFmode for TARGET_64BIT.
7315
7316 2015-07-17 H.J. Lu <hongjiu.lu@intel.com>
7317
7318 PR target/66906
7319 * config/i386/i386.c (ix86_expand_prologue): Replicate static
7320 chain on the stack.
7321
7322 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
7323
7324 * config/nvptx/mkoffload.c (process): Constify host data.
7325 * config/i386/intelmic-mkoffload.c (generate_target_descr_file):
7326 Constify host data.
7327 (generate_host_descr_file): Likewise.
7328
7329 2015-07-17 Aditya Kumar <aditya.k7@samsung.com>
7330 Sebastian Pop <s.pop@samsung.com>
7331
7332 PR middle-end/61929
7333 * graphite-dependences.c (add_pdr_constraints): Renamed
7334 pdr->extent to pdr->subscript_sizes.
7335 * graphite-interchange.c (build_linearized_memory_access): Add
7336 back all gcc_assert's that the "isl_int to isl_val conversion"
7337 patch has removed. Refactored.
7338 (pdr_stride_in_loop): Renamed pdr->extent to pdr->subscript_sizes.
7339 * graphite-poly.c (new_poly_dr): Same.
7340 (free_poly_dr): Same.
7341 * graphite-poly.h (struct poly_dr): Same.
7342 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Ignore
7343 all data references other than ARRAY_REF, MEM_REF, and COMPONENT_REF.
7344 * graphite-scop-detection.h: Fix space.
7345 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Add
7346 back all gcc_assert's removed by a previous patch.
7347 (wrap): Remove the_isl_ctx global variable that the same patch has
7348 added.
7349 (build_loop_iteration_domains): Same.
7350 (add_param_constraints): Same.
7351 (pdr_add_data_dimensions): Same. Refactored.
7352 (build_poly_dr): Renamed extent to subscript_sizes.
7353
7354 2015-07-17 Marek Polacek <polacek@redhat.com>
7355
7356 * fold-const.c (fold_binary_loc): Move A - (A & B) into ~B & A ...
7357 * match.pd: ... here.
7358
7359 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
7360
7361 * config/nvptx/mkoffload.c (process): Constify target data.
7362 * config/i386/intelmic-mkoffload.c (generate_target_descr_file):
7363 Constify target data.
7364 (generate_target_offloadend_file): Likewise.
7365
7366 2015-07-17 Yuri Rumyantsev <ysrumyan@gmail.com>
7367
7368 * tree-vect-loop-manip.c (rename_variables_in_bb): Add argument
7369 to allow renaming of PHI arguments on edges incoming from outer
7370 loop header, add corresponding check before start PHI iterator.
7371 (slpeel_tree_duplicate_loop_to_edge_cfg): Introduce new bool
7372 variable DUPLICATE_OUTER_LOOP and set it to true for outer loops
7373 with true force_vectorize. Set-up dominator for outer loop too.
7374 Pass DUPLICATE_OUTER_LOOP as argument to rename_variables_in_bb.
7375 (slpeel_can_duplicate_loop_p): Allow duplicate of outer loop if it
7376 was marked with force_vectorize and has restricted cfg.
7377 (slpeel_tree_peel_loop_to_edge): Do not rename exit PHI uses in
7378 inner loop.
7379 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not
7380 do peeling for outer loops.
7381
7382 2015-07-17 Yvan Roux <yvan.roux@linaro.org>
7383 Matthias Klose <doko@ubuntu.com>
7384
7385 * configure.ac: Move AC_ARG_WITH checks for native-system-header-dir,
7386 build-sysroot, sysroot from the `Miscenalleous configure options' to
7387 the `Directories' section and strip trailing `/' from with_sysroot.
7388 (gcc_gxx_include_dir): Don't strip a `/' sysroot value.
7389 * configure: Regenerated.
7390
7391 2015-07-17 Uros Bizjak <ubizjak@gmail.com>
7392
7393 PR target/66824
7394 * config/i386/i386.h (TARGET_HARD_SF_REGS): New define.
7395 (TARGET_HARD_DF_REGS): Ditto.
7396 (TARGET_HARD_XF_REGS): Ditto.
7397 * config/i386/i386.md (*movxf_internal): Add alternatives 9 and 10.
7398 Enable alternatives 9 and 10 only for !TARGET_HARD_XF_REG target.
7399 (*movdf_internal): Add alternatives 22, 23, 24 and 25. Enable
7400 alternatives 22, 23, 24 and 25 only for !TARGET_HARD_DF_REG target.
7401 (*movsf_internal): Add alternatives 16 and 17. Enable
7402 alternatives 16 and 17 only for !TARGET_HARD_SF_REG target.
7403
7404 2015-07-17 Uros Bizjak <ubizjak@gmail.com>
7405
7406 PR rtl-optimization/66891
7407 * calls.c (expand_call): Wrap precompute_register_parameters with
7408 NO_DEFER_POP/OK_DEFER_POP to prevent deferred pops.
7409
7410 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
7411
7412 * config/nvptx/mkoffload.c (process): Constify mapping variables.
7413 Define target data struct and initialize it.
7414
7415 2015-07-16 Vladimir Makarov <vmakarov@redhat.com>
7416
7417 PR rtl-optimization/66626
7418 * ira.h (emit-rtl.h): Include.
7419 (non_spilled_static_chain_regno_p): New.
7420 * ira-color.c (setup_profitable_hard_regs): Clear profitable regs
7421 unless it is non spilled static chain pseudo.
7422 (assign_hard_rego): Spill memory profitable allocno unless it is
7423 non spilled static chain pseudo.
7424 (allocno_spill_priority_compare): Put non spilled static chain
7425 pseudo at the end of sorted array.
7426 (improve_allocation): Do nothing if we have static chain and
7427 non-local goto.
7428 (allocno__priority_compare_func): Put non spilled static chain
7429 pseudo at the beginning of sorted array.
7430 (move_spill_restore): Ignore non spilled static chain pseudo.
7431 * ira-costs.c (find_costs_and_classes): Don't assign class NO_REGS
7432 to non spilled static chain pseudo.
7433 * lra-assigns.c (pseudo_compare_func): Put non spilled static chain
7434 pseudo at the beginning of sorted array.
7435 (spill_for): Spill non spilled static chain pseudo last.
7436 * lra-constraints.c (lra_constraints): Remove static chain pseudo
7437 check for equivalence.
7438
7439 2015-07-16 Martin Liska <mliska@suse.cz>
7440
7441 PR ipa/66896.
7442 * ipa-prop.c (update_jump_functions_after_inlining): Create properly
7443 dst_ctx if it does not exist.
7444
7445 2015-07-16 Martin Liska <mliska@suse.cz>
7446
7447 * hash-set.h (remove): New function.
7448 (iterator): New iteration class for hash_set.
7449
7450 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
7451
7452 * genattrtab.c (make_canonical): Add a file_location parameter.
7453 Use fatal_at rather than fatal.
7454 (get_attr_value): Likewise. Update call to make_canonical.
7455 (fill_attr, make_length_attrs, optimize_attrs, gen_attr)
7456 (make_internal_attr): Update calls accordingly.
7457
7458 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
7459
7460 * read-md.h (message_with_line, error_with_line): Delete.
7461 * read-md.c (message_with_line, error_with_line): Delete.
7462 * gensupport.h: Include read-md.h.
7463 (md_rtx_info): New structure.
7464 (read_md_rtx): Use it. Return a bool success value.
7465 * gensupport.c (read_md_rtx): Likewise.
7466 * genattr-common.c (gen_attr): Take an md_rtx_info rather than an rtx.
7467 (main): Update after interface changes.
7468 * genattr.c (gen_attr): Take an md_rtx_info rather than an rtx.
7469 (main): Update after interface changes.
7470 * genattrtab.c (insn_code_number): Delete.
7471 (optimize_attrs): Add a max_insn_code parameter and use it instead
7472 of insn_code_number.
7473 (gen_attr): Take an md_rtx_info rather than an rtx and lineno.
7474 Use *_at rather than *_with_line functions.
7475 (gen_insn): Likewise.
7476 (gen_delay): Likewise.
7477 (gen_insn_reserv): Likewise.
7478 (gen_bypass): Take an md_rtx_info rather than an rtx.
7479 (main): Update after interface changes. Use a local max_insn_code
7480 variable instead of insn_code_number.
7481 * genautomata.c (gen_cpu_unit): Take an md_rtx_info rather than
7482 an rtx. Use fatal_at rather than fatal.
7483 (gen_query_cpu_unit, gen_bypass, gen_excl_set)
7484 (gen_presence_absence_set, gen_presence_set, gen_final_presence_set)
7485 (gen_absence_set, gen_final_absence_set, gen_automaton)
7486 (gen_automata_option, gen_reserv, gen_insn_reserv): Likewise.
7487 (main): Update after interface changes.
7488 * gencodes.c (gen_insn): Take an md_rtx_info rather than an rtx
7489 and code number.
7490 (main): Update after interface changes.
7491 * genconditions.c (main): Use new read_md_rtx interface.
7492 * genconfig.c (gen_insn): Take an md_rtx_info rather than an rtx.
7493 (gen_expand, gen_split, gen_peephole, gen_peephole2): Likewise.
7494 (main): Update after interface changes.
7495 * genemit.c (insn_code_number, insn_index_number): Delete.
7496 (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
7497 Use fatal_at rather than fatal.
7498 (gen_expand): Take an md_rtx_info rather than an rtx. Use fatal_at
7499 rather than fatal.
7500 (gen_split): Likewise.
7501 (main): Update after interface changes.
7502 * genextract.c (line_no): Delete.
7503 (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
7504 Update call to walk_rtx.
7505 (VEC_safe_set_locstr): Add an md_rtx_info argument. Use message_at
7506 rather than message_with_line.
7507 (walk_rtx): Add an md_rtx_info argument. Update call to
7508 VEC_safe_set_locstr.
7509 (main): Update after interface changes.
7510 * genflags.c (gen_insn): Take an md_rtx_info rather than an rtx
7511 and lineno. Use error_at rather than separate message_with_line
7512 calls and have_error assignments.
7513 (main): Update after interface changes.
7514 * genmddump.c (main): Use new read_md_rtx interface.
7515 * genopinit.c (insn): Take an md_rtx_info rather than an rtx.
7516 (main): Update after interface changes.
7517 * genoutput.c (next_code_number): Delete.
7518 (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
7519 (gen_peephole, gen_expand, gen_split): Likewise.
7520 (note_constraint): Likewise. Use *_at rather than *_with_line
7521 functions.
7522 (main): Update after interface changes.
7523 * genpeep.c (gen_peephole): Take an md_rtx_info rather than an
7524 rtx and lineno.
7525 (main): Update after interface changes.
7526 * genpreds.c (process_define_predicate): Take an md_rtx_info rather
7527 than an rtx and lineno.
7528 (process_define_constraint): Likewise.
7529 (process_define_register_constraint): Likewise.
7530 (main): Update after interface changes.
7531 * genrecog.c (next_insn_code, pattern_lineno): Delete.
7532 (validate_pattern): Replace top-level rtx with an md_rtx_info.
7533 Use *_at rather than *_with_line functions.
7534 (match_pattern_2): Likewise.
7535 (match_pattern_1, match_pattern): Add an md_rtx_info parameter.
7536 (get_peephole2_pattern): Take an md_rtx_info rather than an rtvec.
7537 Use *_at rather than *_with_line functions.
7538 * gentarget-def.c (add_insn): New function.
7539 (main): Use it. Use new read_md_rtx interface.
7540
7541 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
7542
7543 * gensupport.h (compute_test_codes): Take a file_location rather
7544 than a line number.
7545 * gensupport.c (compute_test_codes): Likewise. Use *_at functions
7546 rather than *_with_line functions.
7547 (process_define_predicate): Update call to compute_test_codes.
7548 * genpreds.c (validate_exp): Take a file_location rather than a
7549 line number. Use *_at functions rather than *_with_line functions.
7550 (process_define_predicate): Update call to validate_exp.
7551 (constraint_data): Replace lineno field with a file_location.
7552 (add_constraint): Take a file_location rather than a line number.
7553 Use *_at functions rather than *_with_line functions. Fix error
7554 message for address constraints. Update after changes to
7555 validate_exp, constraint_data and compute_test_codes.
7556 (process_define_constraint): Update accordingly.
7557 (process_define_register_constraint): Likewise.
7558
7559 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
7560
7561 * genoutput.c (data): Use a file_location to record the source
7562 position.
7563 (nothing): Delete.
7564 (idata, idata_end): Remove initialization.
7565 (constraint_data): Replace lineno with a file_location.
7566 (output_insn_data): Update after changes to data.
7567 (gen_insn, gen_peephole, gen_expand, gen_split): Likewise.
7568 (scan_operands): Likewise, using *_at rather than *_with_line
7569 functions.
7570 (process_template): Likewise.
7571 (validate_insn_alternatives): Likewise.
7572 (validate_insn_operands): Likewise.
7573 (validate_optab_operands): Likewise.
7574 (init_insn_for_nothing): Initialize idata and idata_end.
7575 (note_constraint): Update after changes to constraint_data,
7576 using at rather than with_line functions.
7577 (mdep_constraint_len): Take a file_location rather than a
7578 line number. Use at rather than with_line functions.
7579
7580 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
7581
7582 * read-md.h (fatal_at): Declare.
7583 * read-md.c (fatal_at): New function.
7584 * genattrtab.c (insn_def, attr_desc, delay_desc): Use a file_location
7585 to record the source position.
7586 (check_attr_test): Take a file_location instead of a line number.
7587 Use fatal_at instead of fatal.
7588 (check_attr_value): Update after above changes, using "at"
7589 rather than "with_line" reporting functions.
7590 (convert_set_attr_alternative): Likewise.
7591 (gen_attr): Likewise.
7592 (check_defs): Likewise. Don't assign to read_md_filename.
7593 (gen_insn): Update initialization after above changes.
7594 (gen_delay): Likewise.
7595 (write_insn_cases): Print the filename for a define_peephole.
7596 (gen_insn_reserv): Take a line number as argument and update
7597 the call to check_attr_test.
7598 (main): Pass a line number to gen_insn_reserv.
7599
7600 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
7601
7602 * read-md.h (file_location): New structure.
7603 (directive_handler_t): Take a file_location rather than a line number.
7604 (message_at, error_at): Declare.
7605 (read_skip_construct): Delete.
7606 * read-md.c (message_with_line_1): Replace with...
7607 (message_at_1): ...this new function.
7608 (message_at, error_at): New functions.
7609 (message_with_line, error_with_line): Update to use message_at_1.
7610 (handle_enum): Take a file_location rather than a line number
7611 and use error_at for error reporting.
7612 (handle_include): Likewise.
7613 (read_skip_construct): Likewise. Make static.
7614 (handle_file): Update after above changes. Pass a file_location
7615 rather than a line number to handle_directive.
7616 * gensupport.c (queue_elem): Replace separate filename and lineno
7617 with a file_location.
7618 (queue_pattern): Replace filename and lineno arguments with a
7619 file_location. Update after change to queue_elem.
7620 (process_define_predicate): Replace lineno argument with a
7621 file_location and use error_at for error reporting. Update
7622 after above changes.
7623 (process_rtx): Likewise.
7624 (subst_pattern_match): Likewise.
7625 (get_alternatives_number): Likewise.
7626 (alter_predicate_for_insn): Likewise.
7627 (rtx_handle_directive): Likewise.
7628 (is_predicable): Update after above changes, using error_at rather
7629 than error_with_line.
7630 (has_subst_attribute): Likewise.
7631 (identify_predicable_attribute): Likewise.
7632 (alter_attrs_for_subst_insn): Likewise.
7633 (process_one_cond_exec): Likewise.
7634 (process_substs_on_one_elem): Likewise.
7635 (process_define_subst): Likewise.
7636 (check_define_attr_duplicates): Likewise.
7637 (read_md_rtx): Update after change to queue_elem.
7638
7639 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
7640
7641 * genoutput.c (next_index_number): Delete.
7642 (data): Remove index_number.
7643 (gen_insn, gen_peephole, gen_expand, gen_split): Update accordingly.
7644 (main): Remove manipulation of next_index_number.
7645
7646 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
7647
7648 * genattrtab.c (check_attr_value): Remove handling of null attrs.
7649 (make_canonical): Likewise.
7650
7651 2015-07-16 Eric Botcazou <ebotcazou@adacore.com>
7652
7653 * config/sparc/sparc.md (save_stack_nonlocal): Use adjust_address
7654 instead of adjust_address_nv.
7655 (restore_stack_nonlocal): Likewise.
7656 (nonlocal_goto): Likewise.
7657
7658 2015-07-16 Tom de Vries <tom@codesourcery.com>
7659
7660 * tree-parloops.c (create_parallel_loop): Handle case that exit phi does
7661 not have a corresponding loop header phi.
7662
7663 2015-07-16 Tom de Vries <tom@codesourcery.com>
7664
7665 * tree-parloops.c (create_loads_for_reductions): Handle case that
7666 reduction is unused.
7667
7668 2015-07-16 Richard Biener <rguenther@suse.de>
7669
7670 PR tree-optimization/66894
7671 * tree-vrp.c (register_edge_assert_for_2): Fix bad assumption
7672 about deriving NE_EXPR from truncated values.
7673
7674 2015-07-16 Martin Liska <mliska@suse.cz>
7675
7676 * alloc-pool.h
7677 (object_allocator): Add new class.
7678 (pool_allocator::initialize): Use the underlying class.
7679 (pool_allocator::allocate): Likewise.
7680 (pool_allocator::remove): Likewise.
7681 (operator new): A new generic allocator.
7682 * asan.c (struct asan_mem_ref): Remove unused members.
7683 (asan_mem_ref_new): Replace new operator with
7684 object_allocator::allocate.
7685 (free_mem_ref_resources): Change deallocation.
7686 * cfg.c (initialize_original_copy_tables): Replace pool_allocator
7687 with object_allocator.
7688 * config/sh/sh.c (add_constant): Replace new operator with
7689 object_allocator::allocate.
7690 (sh_reorg): Change call to a release method.
7691 * cselib.c (struct elt_list): Remove unused members.
7692 (new_elt_list): Replace new operator with
7693 object_allocator::allocate.
7694 (new_elt_loc_list): Likewise.
7695 (new_cselib_val): Likewise.
7696 (unchain_one_elt_list): Change delete operator with remove method.
7697 (unchain_one_elt_loc_list): Likewise.
7698 (unchain_one_value): Likewise.
7699 (cselib_finish): Release newly added static allocators.
7700 * cselib.h (struct cselib_val): Remove unused members.
7701 (struct elt_loc_list): Likewise.
7702 * df-problems.c (df_chain_alloc): Replace pool_allocator with
7703 object_allocator.
7704 * df-scan.c (struct df_scan_problem_data): Likewise.
7705 (df_scan_alloc): Likewise.
7706 * df.h (struct dataflow): Likewise.
7707 * dse.c (struct read_info_type): Likewise.
7708 (struct insn_info_type): Likewise.
7709 (struct dse_bb_info_type): Likewise.
7710 (struct group_info): Likewise.
7711 (struct deferred_change): Likewise.
7712 (get_group_info): Likewise.
7713 (delete_dead_store_insn): Likewise.
7714 (free_read_records): Likewise.
7715 (replace_read): Likewise.
7716 (check_mem_read_rtx): Likewise.
7717 (scan_insn): Likewise.
7718 (dse_step1): Likewise.
7719 (dse_step7): Likewise.
7720 * et-forest.c (struct et_occ): Remove unused members.
7721 (et_new_occ): Use allocate instead of new operator.
7722 (et_new_tree): Likewise.
7723 (et_free_tree): Call release method explicitly.
7724 (et_free_tree_force): Likewise.
7725 (et_free_pools): Likewise.
7726 (et_split): Use remove instead of delete operator.
7727 * et-forest.h (struct et_node): Remove unused members.
7728 * ipa-cp.c: Change pool_allocator to object_allocator.
7729 * ipa-inline-analysis.c: Likewise.
7730 * ipa-profile.c: Likewise.
7731 * ipa-prop.c: Likewise.
7732 * ipa-prop.h: Likewise.
7733 * ira-build.c (initiate_cost_vectors): Cast return value.
7734 (ira_allocate_cost_vector): Likewise.
7735 * ira-color.c (struct update_cost_record): Remove unused members.
7736 * lra-int.h (struct lra_live_range): Likewise.
7737 (struct lra_copy): Likewise.
7738 (struct lra_insn_reg): Likewise.
7739 * lra-lives.c (lra_live_ranges_finish): Release new static allocator.
7740 * lra.c (new_insn_reg): Replace new operator with allocate method.
7741 (free_insn_regs): Same for operator delete.
7742 (finish_insn_regs): Release new static allocator.
7743 (finish_insn_recog_data): Likewise.
7744 (lra_free_copies): Replace delete operator with remove method.
7745 (lra_create_copy): Replace operator new with allocate method.
7746 (invalidate_insn_data_regno_info): Same for remove method.
7747 * regcprop.c (struct queued_debug_insn_change): Remove unused members.
7748 (free_debug_insn_changes): Replace delete operator with remove method.
7749 (replace_oldest_value_reg): Replace operator new with allocate method.
7750 (pass_cprop_hardreg::execute): Release new static variable.
7751 * sched-deps.c (sched_deps_init): Change pool_allocator to
7752 object_allocator.
7753 * sel-sched-ir.c: Likewise.
7754 * sel-sched-ir.h: Likewise.
7755 * stmt.c (expand_case): Likewise.
7756 (expand_sjlj_dispatch_table): Likewise.
7757 * tree-sra.c (struct access): Remove unused members.
7758 (struct assign_link): Likewise.
7759 (sra_deinitialize): Release newly added static pools.
7760 (create_access_1):Replace operator new with allocate method.
7761 (build_accesses_from_assign): Likewise.
7762 (create_artificial_child_access): Likewise.
7763 * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Change
7764 pool_allocator to object_allocator.
7765 * tree-ssa-pre.c: Likewise.
7766 * tree-ssa-reassoc.c: Likewise.
7767 * tree-ssa-sccvn.c (allocate_vn_table): Likewise.
7768 * tree-ssa-strlen.c: Likewise.
7769 * tree-ssa-structalias.c: Likewise.
7770 * var-tracking.c (onepart_pool_allocate): New function.
7771 (unshare_variable): Use the newly added function.
7772 (variable_merge_over_cur): Likewise.
7773 (variable_from_dropped): Likewise.
7774 (variable_was_changed): Likewise.
7775 (set_slot_part): Likewise.
7776 (emit_notes_for_differences_1): Likewise.
7777 (vt_finalize): Release newly added static pools.
7778
7779 2015-07-16 Martin Jambor <mjambor@suse.cz>
7780
7781 * ipa-prop.h (param_aa_status): Rename to ipa_param_aa_status. Adjust
7782 all uses. Fix two typos in its general comment.
7783 (func_body_info): Rename to ipa_func_body_info. Adjust all uses.
7784
7785 2015-07-16 Ilya Enkovich <enkovich.gnu@gmail.com>
7786
7787 * config/i386/linux-common.h (LINK_MPX): New.
7788 (MPX_SPEC): Use LINK_MPX instead of %(link_mpx).
7789 * configure.ac: Add HAVE_LD_BNDPLT_SUPPORT macro
7790 indicating '-z bndplt' support by linker.
7791 * configure: Regenerate.
7792 * config.in: Regenerate.
7793
7794 2015-07-16 Richard Biener <rguenther@suse.de>
7795
7796 * fold-const.c (fold_widened_comparison): Remove.
7797 (fold_sign_changed_comparison): Likewise.
7798 (fold_comparison): Move widened and sign-changed comparison
7799 simplification ...
7800 * match.pd: ... to patterns here.
7801 * generic-match-head.c: Include target.h.
7802 * gimple-match-head.c: Likewise.
7803
7804 2015-07-16 Richard Biener <rguenther@suse.de>
7805
7806 * tree-ssa-dom.c (dom_valueize): New function.
7807 (record_temporary_equivalences): Also record equivalences
7808 for dominating stmts that have uses of equivalences we are
7809 about to record.
7810
7811 2015-07-16 Bin Cheng <bin.cheng@arm.com>
7812
7813 * tree-ssa-loop-ivopts.c (add_candidate): Remove call to
7814 add_autoinc_candidates.
7815 (add_iv_candidate_for_biv): Rename to add_iv_candidate_for_biv.
7816 (add_iv_candidate_for_biv): Rename from add_iv_candidate_for_biv.
7817 (add_old_ivs_candidates): Rename to add_iv_candidate_for_bivs.
7818 (add_iv_candidate_for_bivs): Rename from add_old_ivs_candidates.
7819 Call new function.
7820 (add_iv_value_candidates): Rename to add_iv_candidate_for_use.
7821 (add_iv_candidate_for_use): Rename from add_iv_value_candidates.
7822 Remove parameter struct iv*. Call add_autoinc_candidates here.
7823 (add_derived_ivs_candidates): Rename to add_iv_candidate_for_uses.
7824 (add_iv_candidate_for_uses): Rename from add_derived_ivs_candidates.
7825 Call new function.
7826 (find_iv_candidates): Call new functions.
7827
7828 2015-07-16 Sandra Loosemore <sandra@codesourcery.com>
7829
7830 * config/nios2/nios2.c (nios2_emit_stack_limit_check): Fix
7831 uninitialized-variable warning.
7832
7833 2015-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
7834
7835 PR target/65249
7836 * config/sh/sh.md (movdi): Split simple reg move to two movsi
7837 when the destination is R0.
7838
7839 2015-07-16 Uros Bizjak <ubizjak@gmail.com>
7840
7841 PR target/66866
7842 * config/i386/i386-protos.h (ix86_expand_pextr): New prototype.
7843 * config/i386/i386.c (ix86_expand_pextr): New function.
7844 (ix86_expand_pinsr): Handle V1TI and TI modes. Call ix86_expand_pextr
7845 for non-lowpart subregs.
7846 * config/i386/i386.md (extzv<mode>): Expand with ix86_expand_pextr.
7847 (insv<mode>): Use SWI248 mode iterator.
7848 (insv<mode>_1): Ditto.
7849
7850 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
7851 Sebastian Pop <s.pop@samsung.com>
7852
7853 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Point
7854 iterator to use_stmt.
7855
7856 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
7857 Sebastian Pop <s.pop@samsung.com>
7858
7859 * graphite-scop-detection.c (build_scops_1): Discard scops for
7860 which entry==exit.
7861
7862 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
7863 Sebastian Pop <s.pop@samsung.com>
7864
7865 * graphite-scop-detection.c (stmt_simple_for_scop_p): Bail out in
7866 case of a return statement in scop.
7867
7868 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
7869 Sebastian Pop <s.pop@samsung.com>
7870
7871 * graphite-sese-to-poly.c (parameter_index_in_region): Only handle
7872 INTEGER_TYPE parameters.
7873 (scan_tree_for_params): Handle REAL_CST, COMPLEX_CST, and
7874 VECTOR_CST in scan_tree_for_params.
7875 (add_conditions_to_domain): Only constrain on INTEGER_TYPE.
7876
7877 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
7878
7879 * gimple-pretty-print.h: Don't include pretty-print.h.
7880 * tree-streamer.h: Don't include lto-streamer.h.
7881 * gimple-streamer.h: Include tree-streamer.h rather than lto-streamer.h.
7882 * gimple-streamer-in.c: Remove redundant includes.
7883 * gimple-streamer-out.c: Likewise.
7884 * ipa-devirt.c: Likewise.
7885 * ipa-icf.c: Likewise.
7886 * ipa-inline-analysis.c: Likewise.
7887 * ipa-polymorphic-call.c: Likewise.
7888 * ipa-profile.c: Likewise.
7889 * ipa-prop.c: Likewise.
7890 * ipa-pure-const.c: Likewise.
7891 * lto-cgraph.c: Likewise.
7892 * lto-streamer-in.c: Likewise.
7893 * lto-streamer-out.c: Likewise.
7894 * lto-streamer.c: Likewise.
7895 * tree-streamer-in.c: Likewise.
7896 * tree-streamer-out.c: Likewise.
7897 * tree-streamer.c: Likewise.
7898
7899 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
7900
7901 * opth-gen.awk: Check for UNKNOWN_LOCATION rather than GCC_TM_H, don't
7902 include input.h.
7903 * opts.c: Remove multiline #include comment.
7904
7905 2015-07-15 Nathan Sidwell <nathan@codesourcery.com>
7906
7907 * config/nvptx/mkoffload.c (process): Add C++ protection to
7908 emitted code.
7909
7910 2015-07-14 Michael Meissner <meissner@linux.vnet.ibm.com>
7911
7912 PR target/66854
7913 * config/rs6000/rs6000.c (rs6000_pass_by_reference): Move test for
7914 null before IEEE 128-bit floating point support patch.
7915
7916 2015-07-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7917
7918 * simplify-rtx.c (simplify_ternary_operation): Add simplification
7919 for (!c) != {0,...,0} ? a : b for vector modes.
7920
7921 2015-07-15 Paolo Bonzini <bonzini@gnu.org>
7922 Martin Jambor <mjambor@suse.cz>
7923
7924 * ipa-inline-analysis.c (unmodified_parm_or_parm_agg_item): Accept
7925 struct func_body_info* instead of struct ipa_node_params*, expecting
7926 fbi->info to be filled in. Replace throughout. Adjust call to
7927 ipa_load_from_parm_agg.
7928 (set_cond_stmt_execution_predicate): Accept struct func_body_info*
7929 instead of struct ipa_node_params*. Adjust calls to other functions
7930 so that they pass either fbi or fbi->info.
7931 (set_switch_stmt_execution_predicate): Likewise.
7932 (will_be_nonconstant_predicate): Likewise.
7933 (compute_bb_predicates): Likewise.
7934 (estimate_function_body_sizes): Move asserts earlier. Fill in
7935 struct func_body_info, replace parms_info with fbi.info. Adjust
7936 calls to functions that now accept struct func_body_info.
7937 * ipa-prop.c (param_aa_status, struct ipa_bb_info): Move to ipa-prop.h.
7938 (struct func_body_info): Likewise.
7939 (ipa_load_from_parm_agg_1): Rename to ipa_load_from_parm_agg,
7940 remove static. Adjust callers.
7941 (ipa_load_from_parm_agg): Remove.
7942 * ipa-prop.h (param_aa_status, ipa_bb_info): Move from ipa-prop.c.
7943 (func_body_info): Likewise.
7944 (ipa_load_from_parm_agg): Adjust prototype.
7945
7946 2015-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7947
7948 * gensupport.c (rtx_handle_directive): Adjust.
7949 * read-rtl.c (apply_iterators): Take vector to add rtxs to
7950 instead of expr list rtx.
7951 (add_define_attr_for_define_subst): Likewise.
7952 (add_define_subst_attr): Likewise.
7953 (read_subst_mapping): Likewise.
7954 (read_rtx): Likewise.
7955 * rtl.h (read_rtx): Adjust.
7956
7957 2015-07-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7958
7959 * config/aarch64/aarch64.md (*csinc2<mode>_insn): Use cinc mnemonic.
7960
7961 2015-07-15 Uros Bizjak <ubizjak@gmail.com>
7962
7963 PR target/58066
7964 * config/i386/i386.md (*tls_global_dynamic_64_<mode>): Depend on SP_REG.
7965 (*tls_local_dynamic_base_64_<mode>): Ditto.
7966 (*tls_local_dynamic_base_64_largepic): Ditto.
7967 (tls_global_dynamic_64_<mode>): Update expander pattern.
7968 (tls_local_dynamic_base_64_<mode>): Ditto.
7969
7970 2015-07-15 Richard Biener <rguenther@suse.de>
7971
7972 * fold-const.c (fold_binary_loc): Move bool_var != 0 -> bool_var
7973 and bool_var == 1 -> bool_var simplifications ...
7974 * match.pd: ... to patterns here. Factor out negate_expr_p
7975 cases from the A - B -> A + (-B) patterns as negate_expr_p
7976 predicate and add a -(A + B) -> (-B) - A pattern.
7977
7978 2015-07-15 Robert Suchanek <robert.suchanek@imgtec.com>
7979
7980 * config/mips/mips.c (mips_emit_save_slot_move): Fix typo.
7981
7982 2015-07-15 Matthew Fortune <matthew.fortune@imgtec.com>
7983 Robert Suchanek <robert.suchanek@imgtec.com>
7984
7985 * config/mips/mips.c (mips_int_mask): New enum.
7986 (mips_shadow_set): Likewise.
7987 (int_mask): New variable.
7988 (use_shadow_register_set_p): Change type to enum mips_shadow_set.
7989 (machine_function): Add int_mask and use_shadow_register_set.
7990 (mips_attribute_table): Add attribute handlers for interrupt and
7991 use_shadow_register_set.
7992 (mips_interrupt_mask): New static function.
7993 (mips_handle_interrupt_attr): Likewise.
7994 (mips_handle_use_shadow_register_set_attr): Likewise.
7995 (mips_use_shadow_register_set): Change return type to enum
7996 mips_shadow_set. Add argument handling for use_shadow_register_set
7997 attribute.
7998 (mips_interrupt_extra_called_saved_reg_p): Update the conditional to
7999 compare with mips_shadow_set enum.
8000 (mips_compute_frame_info): Add interrupt mask and
8001 use_shadow_register_set to per-function information structure.
8002 Add a stack slot for EPC unconditionally.
8003 (mips_expand_prologue): Compare use_shadow_register_set value
8004 with mips_shadow_set enum. Save EPC always in K1, clobber only K1 for
8005 masked interrupt register but in EIC mode use K0 and save Cause in K0.
8006 EPC saved and restored unconditionally. Use PMODE_INSN macro when
8007 copying the stack pointer from the shadow register set.
8008 * config/mips/mips.h (SR_IM0): New define.
8009 * config/mips/mips.md (mips_rdpgpr): Rename to...
8010 (mips_rdpgpr_<mode>): ...this. Use the Pmode iterator.
8011 * doc/extend.texi (Declaring Attributes of Functions): Document
8012 optional arguments for interrupt and use_shadow_register_set
8013 attributes.
8014
8015 2015-07-15 Robert Suchanek <robert.suchanek@imgtec.com>
8016
8017 * config/mips/mips.c (mips_compute_frame_info): Allow -mhard-float in
8018 interrupt attribute.
8019 (mips_expand_prologue): Disable the floating point unit in an ISR.
8020 * config/mips/mips.h (SR_COP1): New define.
8021
8022 2015-07-15 Richard Biener <rguenther@suse.de>
8023
8024 * genmatch.c (parser::peek, parser::peek_ident): Add argument
8025 to tell how many tokens to peek ahead (default 1).
8026 (parser::eat_token, parser::eat_ident): Return token consumed.
8027 (parser::parse_result): Parse new switch statement.
8028 * match.pd: Use case statements where appropriate.
8029
8030 2015-07-15 Uros Bizjak <ubizjak@gmail.com>
8031
8032 PR rtl-optimization/58066
8033 * calls.c (expand_call): Precompute register parameters before stack
8034 alignment is performed.
8035
8036 2015-07-15 Uros Bizjak <ubizjak@gmail.com>
8037
8038 PR rtl-optimization/66838
8039 * postreload.c (reload_cse_move2add): Also process
8040 CALL_INSN_FUNCTION_USAGE when resetting information of
8041 call-clobbered registers.
8042
8043 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
8044 Cesar Philippidis <cesar@codesourcery.com>
8045 Chung-Lin Tang <cltang@codesourcery.com>
8046
8047 * config/nios2/constraints.md (U, v): New constraints.
8048 * config/nios2/predicates.md (rdprs_dcache_operand): New.
8049 (ldstex_memory_operand): New.
8050 * config/nios2/sync.md: New file.
8051 * config/nios2/nios2.md (unspecv): Add new builtin function
8052 UNSPECV codes.
8053 (rdprs, flushd, flushda, wrpie, eni): New patterns.
8054 (top-level): Include sync.md.
8055 * config/nios2/nios2.c (N2_FTYPES): Add function types for
8056 new builtins.
8057 (N2_BUILTINS): Add arch field setting, add new builtins.
8058 (enum nios2_builtin_code,nios2_builtins): Update N2_BUILTIN_DEF
8059 for arch field.
8060 (nios2_expand_ldst_builtin): Rename from nios2_expand_ldstio_builtin.
8061 Also handle ldex/stex/ldsex/stsex builtins.
8062 (nios2_expand_rdprs_builtin): New function.
8063 (nios2_expand_cache_builtin): New function.
8064 (nios2_expand_wrpie_builtin): New function.
8065 (nios2_expand_eni_builtin): New function.
8066 (nios2_expand_builtin): Add arch field handling and new builtin
8067 cases.
8068 * doc/extend.texi (Altera Nios II Built-in Functions): Document
8069 new builtins.
8070 * doc/md.texi (Machine Constraints): Document U and v constraints.
8071
8072 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
8073 Cesar Philippidis <cesar@codesourcery.com>
8074 Chung-Lin Tang <cltang@codesourcery.com>
8075
8076 * config/nios2/nios2-protos.h (nios2_expand_return): Declare.
8077 * config/nios2/nios2.c (struct GTY (()) machine_function): Add
8078 callee_save_reg_size and uses_anonymous_args fields.
8079 (nios2_compute_frame_layout): Update for CDX push.n/pop.n usage.
8080 (nios2_create_cfa_notes): New function.
8081 (nios2_adjust_stack): New function for adjusting stack.
8082 (nios2_expand_prologue): Update for CDX push.n/pop.n usage.
8083 Use nios2_adjust_stack.
8084 (nios2_expand_epilogue): Likewise.
8085 (nios2_expand_return): New function.
8086 (nios2_can_use_return_insn): Update for CDX pop.n usage.
8087 (nios2_setup_incoming_varargs): Set uses_anonymous_args flag.
8088 If TARGET_HAS_CDX, defer pushing regs to nios2_expand_prologue.
8089 * config/nios2/nios2.md (return): Use nios2_expand_return.
8090
8091 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
8092 Cesar Philippidis <cesar@codesourcery.com>
8093 Chung-Lin Tang <cltang@codesourcery.com>
8094
8095 * config/nios2/predicates.md (pop_operation): New.
8096 (ldwm_operation, stwm_operation): New.
8097 (nios2_hard_register_operand): New.
8098 * config/nios2/nios2-protos.h (pop_operation_p): Declare.
8099 (ldstwm_operation_p): Declare.
8100 (gen_ldstwm_peep): Declare.
8101 * config/nios2/nios2.c: (nios2_ldst_parallel): Declare.
8102 (base_reg_adjustment_p): New.
8103 (pop_operation_p): New.
8104 (CDX_LDSTWM_VALID_REGS_0, CDX_LDSTWM_VALID_REGS_1): Define.
8105 (nios2_ldstwm_regset_p): New.
8106 (ldstwm_operation_p): New.
8107 (gen_ldst): New.
8108 (nios2_ldst_parallel): New.
8109 (struct ldswm_operand): Declare.
8110 (compare_ldstwm_operands): New.
8111 (can_use_cdx_ldstw): New.
8112 (gen_ldstwm_peep): New.
8113 * config/nios2/nios2-ldstwm.sml: New.
8114 * config/nios2/nios2.md: Include ldstwm.md.
8115 * config/nios2/ldstwm.md: Generated.
8116
8117 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
8118 Cesar Philippidis <cesar@codesourcery.com>
8119 Chung-Lin Tang <cltang@codesourcery.com>
8120
8121 * config/nios2/nios2.h (LABEL_ALIGN): Define.
8122 (REG_ALLOC_ORDER): Define.
8123 (ADJUST_REG_ALLOC_ORDER): Define.
8124 (HONOR_REG_ALLOC_ORDER): Define.
8125 (CDX_REG_P): Define.
8126 (ANDCLEAR_INT): Define.
8127 * config/nios2/nios2-protos.h (nios2_add_insn_asm): Declare.
8128 (nios2_label_align): Declare.
8129 (nios2_cdx_narrow_form_p): Declare.
8130 (nios2_adjust_reg_alloc_order): Declare.
8131 * config/nios2/nios2.c (nios2_rtx_costs): Adjust for BMX zero-extract
8132 operation.
8133 (nios2_large_unspec_reloc_p): New function, split from...
8134 (nios2_legitimate_pic_operand_p): ...here.
8135 (nios2_emit_move_sequence): Add *high/*lo_sum constant expand code.
8136 (nios2_print_operand_punct_valid_p): New.
8137 (nios2_print_operand): Add %., %!, %x, %y, %A. Remove %U.
8138 (split_mem_address): New.
8139 (split_alu_insn): New.
8140 (cdxreg): New.
8141 (cdx_add_immed, cdx_and_immed, cdx_mov_immed, cdx_shift_immed): New.
8142 (enum nios2_add_insn_kind): New.
8143 (nios2_add_insn_names, nios2_add_insn_narrow): New.
8144 (nios2_add_insn_classify): New.
8145 (nios2_add_insn_asm): New.
8146 (nios2_cdx_narrow_form_p): New.
8147 (label_align, min_labelno, max_labelno): New.
8148 (nios2_reorg): New.
8149 (nios2_label_align): New.
8150 (nios2_adjust_reg_alloc_order): New.
8151 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
8152 (TARGET_MACHINE_DEPENDENT_REORG): Define.
8153 * config/nios2/constraints.md (P): New constraint.
8154 * config/nios2/predicates.md (const_and_operand): New.
8155 (and_operand): New.
8156 (stack_memory_operand): New.
8157 * config/nios2/nios2.md (SP_REGNO): Define stack pointer regno.
8158 (length): Update to use nios2_cdx_narrow_form_p().
8159 (type): Add new insn type values.
8160 (control, alu, st, ld, shift): Update insn reservations with
8161 new insn type values.
8162 (*high, *lo_sum): Define new insn patterns for constant generation.
8163 (movqi_internal, movhi_internal, movsi_internal): Reduce
8164 alternatives, update asm template to handle CDX variants, update
8165 type attributes.
8166 (zero_extendhisi2, zero_extendqi<mode>2): Add CDX variants to asm
8167 template, update type attributes.
8168 (extendhisi2, extendqi<mode>2): Likewise.
8169 (addsi3): Change to use function for asm string.
8170 (subsi3): Add CDX notation to asm template, update type attributes.
8171 (negsi3, one_cmplsi3): Likewise.
8172 (andsi3): New pattern, specialized from logical patterns.
8173 (<code>si3): Remove and case, combine alternatives, update asm
8174 template.
8175 (<shift_op>si3): Add CDX notation, update type attributes.
8176 (rotrsi3): Update type attribute.
8177 (*merge, extzv, insv): New insn patterns.
8178 (return): Change to define_expand.
8179 (simple_return): Add CDX notation, update type attributes.
8180 (indirect_jump): Add CDX notation.
8181 (jump): Update asm cases, update length attribute expression.
8182 (*call, *call_value, *sibcall, *sibcall_value): Add CDX variant.
8183 (nios2_cbranch): Update asm cases and length attribute expression
8184 to handle CDX variants.
8185 (nios2_cmp<code>): Update asm template.
8186 (nop): Add CDX notation, update type attributes.
8187 (trap): Add CDX notation.
8188 (ctrapsi4): Update asm cases and length attribute expression to
8189 handle CDX variant.
8190 * doc/md.texi (Machine Constraints): Document P constraint.
8191
8192 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
8193 Cesar Philippidis <cesar@codesourcery.com>
8194 Chung-Lin Tang <cltang@codesourcery.com>
8195
8196 * config/nios2/nios2.h (SMALL_INT12): New macro.
8197 * config/nios2/nios2.c (nios2_valid_addr_offset_p): New function.
8198 (nios2_valid_addr_expr_p): Use it.
8199 (nios2_symbol_ref_in_small_data_p): Disallow GP-relative addressing
8200 with implicit "io" instructions on R2.
8201 * config/nios2/constraints.md (w): New constraint.
8202 * config/nios2/predicates.md (ldstio_memory_operand): New.
8203 * config/nios2/nios2.md (ld<bhw_uns>io, ld<bh>io): Update memory
8204 operand predicate and constraint.
8205 (ld<bh>io_signed, st<bhw>io>): Likewise.
8206 * doc/md.texi (Machine Constraints): Document w constraint.
8207
8208 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
8209 Cesar Philippidis <cesar@codesourcery.com>
8210 Chung-Lin Tang <cltang@codesourcery.com>
8211
8212 * config/nios2/nios2.opt (march, mbmx, mcdx): New options.
8213 * config/nios2/nios2-opts.h (enum nios2_arch_type): New enum for
8214 Nios II architecture level.
8215 * config/nios2/nios2.h (TARGET_ARCH_R2): New define.
8216 (TARGET_CPU_CPP_BUILTINS): Add definition of __nios2_arch__ symbol.
8217 (OPTION_DEFAULT_SPECS): Define.
8218 (ASM_SPEC): Add -march= spec strings.
8219 * config/nios2/nios2.c (nios2_option_override): Check for
8220 conflicts involving new options.
8221 * config.gcc (nios2*-*-*): Support --with-arch=.
8222 * doc/invoke.texi (Option Summary, Nios II Options): Document
8223 -march=, -mbmx, and -mcdx.
8224
8225 2015-07-14 Vladimir Makarov <vmakarov@redhat.com>
8226
8227 PR rtl-optimization/66626
8228 * lra-constraints.c (lra_constraints): Prevent equivalence
8229 substitution for static chain pseudo in functions with nonlocal
8230 goto.
8231
8232 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
8233
8234 * config/nios2/nios2.c (TEMP_REG_NUM): Move define up in file.
8235 (nios2_emit_stack_limit_check): Add size parameter. Handle
8236 -fstack-limit-symbol as well as -fstack-limit-register.
8237 (nios2_expand_prologue): Emit only a single stack limit check,
8238 even if multiple stack adjustments are required.
8239 (nios2_option_override): Diagnose unsupported combination of -fpic
8240 and -stack-limit-symbol.
8241
8242 2015-07-14 H.J. Lu <hongjiu.lu@intel.com>
8243
8244 * Makefile.in (top_srcdir): New.
8245 * configure.ac: Use AM_ZLIB.
8246 * configure: Regeneated.
8247
8248 2015-07-14 Matthias Klose <doko@ubuntu.com>
8249
8250 PR target/66840
8251 * config/rs6000/t-rs6000 (TM_H): Add rs6000-cpus.def.
8252
8253 2015-07-14 Richard Biener <rguenther@suse.de>
8254
8255 PR tree-optimization/66863
8256 * tree-vrp.c (register_edge_assert_for_2): Properly restrict
8257 what we record for conversion use stmt lhs inequalities.
8258
8259 2015-07-14 Richard Biener <rguenther@suse.de>
8260
8261 * genmatch.c (dt_node::gen_kids_1): Fix case label indenting.
8262 (decision_tree::gen_gimple): Likewise.
8263
8264 2015-07-14 Tom de Vries <tom@codesourcery.com>
8265
8266 * gcc.c (greater_than_spec_func): Declare forward.
8267 (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use gt to ignore
8268 -ftree-parallelize-loops={0,1}.
8269 (static_spec_functions): Add greater_than_spec_func function with name
8270 "gt".
8271 (greater_than_spec_func): New function.
8272
8273 2015-07-14 Richard Biener <rguenther@suse.de>
8274
8275 * tree-ssa-dom.c (record_temporary_equivalences): Merge
8276 wideing type conversion case from record_equivalences_from_incoming_edge
8277 and use record_equality to record equivalences.
8278 (record_equivalences_from_incoming_edge): Call
8279 record_temporary_equivalences.
8280
8281 2015-07-14 Richard Biener <rguenther@suse.de>
8282
8283 * genmatch.c (struct operand): Add OP_IF and OP_WITH op_types.
8284 (struct if_expr): New.
8285 (struct with_expr): Likewise.
8286 (is_a_helper): Add helpers for if_expr and with_expr.
8287 (struct simplify): Add simplify_kind enum and member. Remove
8288 ifexpr_vec member.
8289 (simplify::simplify): Adjust.
8290 (lower_commutative): Adjust.
8291 (lower_opt_convert): Likewise.
8292 (lower_cond): Likewise.
8293 (replace_id): Handle with_expr and if_expr.
8294 (lower_for): Adjust.
8295 (dt_simplify::gen_1): New recursive worker, split out from ...
8296 (dt_simplify::gen): ... here. Deal with if and with expansion
8297 recursively.
8298 (capture_info::capture_info): Take context argument
8299 (capture_info::walk_result): Only analyze specific result.
8300 (parser::parse_result): New function.
8301 (parser::parse_simplify): Adjust to parse ifs with then end
8302 else case.
8303 (parser::parse_if): Simplify.
8304 (parser::parse_pattern): Pass down simplify kind.
8305 * match.pd: Convert if structure to new syntax.
8306
8307 2015-07-13 Marek Polacek <polacek@redhat.com>
8308
8309 * rtl.c (rtx_equal_p_cb): Fix typo.
8310
8311 2015-07-13 Andrew MacLeod <amacleod@redhat.com>
8312
8313 * omega.h: Don't include config.h, don't include params.h again if
8314 omega.h has already been included.
8315 * graphite-poly.h: Include sese.h.
8316 * graphite.c: Don't include sese.h, remove needless includes and
8317 minimize includes outside #ifdef HAVE_isl block.
8318 * graphite-blocking.c: Don't include sese.h, remove needless includes,
8319 and wrap entire file in #ifdef HAVE_isl
8320 * graphite-dependences.c: Likewise.
8321 * graphite-interchange.c: Likewise.
8322 * graphite-isl-ast-to-gimple.c: Likewise.
8323 * graphite-optimize-isl.c: Likewise.
8324 * graphite-poly.c: Likewise.
8325 * graphite-scop-detection.c: Likewise.
8326 * graphite-sese-to-poly.c: Likewise.
8327
8328 2015-07-13 Tom de Vries <tom@codesourcery.com>
8329
8330 * omp-low.c (build_receiver_ref): Mark *.omp_data_i as non-trapping.
8331
8332 2015-07-13 Renlin Li <renlin.li@arm.com>
8333
8334 PR rtl/66556
8335 * simplify-rtx.c (simplify_const_relational_operation): Add
8336 side_effects_p checks.
8337
8338 2015-07-12 Aldy Hernandez <aldyh@redhat.com>
8339
8340 * bitmap.h: Fix double word typos.
8341 * builtins.c: Same.
8342 * calls.c: Same.
8343 * cfgloopmanip.c: Same.
8344 * cgraph.c: Same.
8345 * cgraph.h: Same.
8346 * cgraphclones.c: Same.
8347 * combine.c: Same.
8348 * config/aarch64/aarch64-protos.h: Same.
8349 * config/aarch64/aarch64.c: Same.
8350 * config/aarch64/aarch64.md: Same.
8351 * config/arm/arm.md: Same.
8352 * config/arm/arm1020e.md: Same.
8353 * config/arm/arm1026ejs.md: Same.
8354 * config/arm/arm926ejs.md: Same.
8355 * config/arm/fa526.md: Same.
8356 * config/arm/fa606te.md: Same.
8357 * config/arm/fa626te.md: Same.
8358 * config/arm/fa726te.md: Same.
8359 * config/arm/fmp626.md: Same.
8360 * config/darwin.c: Same.
8361 * config/epiphany/epiphany.c: Same.
8362 * config/frv/frv.c: Same.
8363 * config/ft32/ft32.c: Same.
8364 * config/gnu-user.h: Same.
8365 * config/h8300/constraints.md: Same.
8366 * config/i386/i386.c: Same.
8367 * config/i386/i386.md: Same.
8368 * config/iq2000/iq2000.md: Same.
8369 * config/mips/mips.c: Same.
8370 * config/mmix/mmix.md: Same.
8371 * config/moxie/moxie.c: Same.
8372 * config/nds32/nds32.md: Same.
8373 * config/pa/pa.h: Same.
8374 * config/rs6000/aix.h: Same.
8375 * config/rs6000/rs6000.h: Same.
8376 * config/sh/sh.c: Same.
8377 * config/tilegx/tilegx.md: Same.
8378 * config/tilepro/gen-mul-tables.cc: Same.
8379 * cse.c: Same.
8380 * dbxout.c: Same.
8381 * doc/invoke.texi: Same.
8382 * dse.c: Same.
8383 * dwarf2out.c: Same.
8384 * final.c: Same.
8385 * gcc.c: Same.
8386 * genmatch.c: Same.
8387 * gimplify.c: Same.
8388 * hash-table.h: Same.
8389 * internal-fn.c: Same.
8390 * ipa-cp.c: Same.
8391 * ipa-devirt.c: Same.
8392 * ipa-icf.c: Same.
8393 * ipa-icf.h: Same.
8394 * ipa-profile.c: Same.
8395 * ipa-prop.c: Same.
8396 * ipa-prop.h: Same.
8397 * ira.c: Same.
8398 * omp-low.c: Same.
8399 * reg-stack.c: Same.
8400 * regcprop.c: Same.
8401 * reorg.c: Same.
8402 * rtl.h: Same.
8403 * sbitmap.h: Same.
8404 * tree-eh.c: Same.
8405 * tree-inline.c: Same.
8406 * tree-sra.c: Same.
8407 * tree-ssa-dom.c: Same.
8408 * tree-ssa-loop-ivopts.c: Same.
8409 * tree-ssa-structalias.c: Same.
8410 * tree-ssa-tail-merge.c: Same.
8411 * tree-ssa-ter.c: Same.
8412 * tree-ssa-threadupdate.c: Same.
8413 * tree-ssa-uninit.c: Same.
8414 * tree-ssanames.c: Same.
8415 * tree-vect-loop-manip.c: Same.
8416 * tree-vrp.c: Same.
8417 * tree.c: Same.
8418 * valtrack.c: Same.
8419 * vec.h: Same.
8420
8421 2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org>
8422
8423 PR middle-end/66726
8424 * tree-ssa-phiopt.c(factor_out_conditional_conversion): New function.
8425 tree_ssa_phiopt_worker): Call it.
8426
8427 2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org>
8428
8429 * cse.c (cse_insn): Calculate src_eqv for ZERO_EXTRACT.
8430 * emit-rtl.c (set_for_reg_notes): Allow ZERO_EXTRACT to set
8431 REG_EQUAL note.
8432
8433 2015-07-11 Marek Polacek <polacek@redhat.com>
8434
8435 PR middle-end/66353
8436 * basic-block.h (has_abnormal_call_or_eh_pred_edge_p): New function.
8437 * ira-lives.c (bb_has_abnormal_call_pred): Remove function.
8438 (process_bb_node_lives): Call has_abnormal_call_or_eh_pred_edge_p
8439 rather than bb_has_abnormal_call_pred.
8440 * lra-lives.c (bb_has_abnormal_call_pred): Remove function.
8441 (process_bb_lives): Call has_abnormal_call_or_eh_pred_edge_p
8442 rather than bb_has_abnormal_call_pred.
8443
8444 2015-07-10 Anatoly Sokolov <aesok@post.ru>
8445
8446 * config/v850/v850.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
8447 REG_OK_FOR_BASE_P_STRICT, REG_OK_FOR_INDEX_P_STRICT, STRICT,
8448 RTX_OK_FOR_BASE_P, GO_IF_LEGITIMATE_ADDRESS): Remove macros.
8449 * config/v850/v850.c (v850_reg_ok_for_base_, v850_rtx_ok_for_base_p,
8450 v850_legitimate_address_p): New functions.
8451 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
8452
8453 2015-07-10 H.J. Lu <hongjiu.lu@intel.com>
8454
8455 PR target/66819
8456 * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
8457 indirect sibcall with register arguments if register available
8458 for argument passing.
8459 (init_cumulative_args): Set cfun->machine->arg_reg_available
8460 to (cum->nregs > 0) or to true if function has a variable
8461 argument list.
8462 (function_arg_advance_32): Set cfun->machine->arg_reg_available
8463 to false if cum->nregs <= 0.
8464 * config/i386/i386.h (machine_function): Add arg_reg_available.
8465
8466 2015-07-10 Uros Bizjak <ubizjak@gmail.com>
8467
8468 * config/i386/sse.md (movdi_to_sse): Use gen_lowpart
8469 and gen_higpart instead of gen_rtx_SUBREG.
8470 * config/i386/i386.md
8471 (floatdi<X87MODEF:mode>2_i387_with_xmm splitter): Ditto.
8472 (read-modify peephole2): Use gen_lowpart instead of
8473 gen_rtx_SUBREG for operand 5.
8474
8475 2015-07-10 Andrew MacLeod <amacleod@redhat.com>
8476
8477 * config/tilepro/gen-mul-tables.cc (main): Change include list for
8478 generated files.
8479 * config/tilepro/mul-tables.c: Regenerate.
8480 * config/tilegx/mul-tables.c: Regenerate.
8481
8482 2015-07-10 Richard Biener <rguenther@suse.de>
8483
8484 * fold-const.c (distribute_bit_expr): Remove.
8485 (fold_binary_loc): Move simplifying (A & C1) + (B & C2)
8486 to (A & C1) | (B & C2), distributing (A & B) | (A & C)
8487 to A & (B | C) and simplifying A << C1 << C2 to ...
8488 * match.pd: ... patterns here.
8489
8490 2015-07-10 Jiong Wang <jiong.wang@arm.com>
8491
8492 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
8493 Mark mem as READONLY and NOTRAP for PIC symbol.
8494
8495 2015-07-10 Andrew MacLeod <amacleod@redhat.com>
8496
8497 * gimple-predict.h: New file.
8498 (gimple_predict_predictor, gimple_predict_set_predictor,
8499 gimple_predict_outcome, gimple_predict_set_outcome,
8500 gimple_build_predict): Relocate here.
8501 * gimple.h (gimple_predict_predictor, gimple_predict_set_predictor,
8502 gimple_predict_outcome, gimple_predict_set_outcome): Move to
8503 gimple-predict.h.
8504 * gimple.c (gimple_build_predict): Move to gimple-predict.h
8505 * basic-block.h: Don't include cfghooks.h.
8506 * backend.h: Don't include predict.h.
8507 * cfghooks.h: Include predict.h.
8508 * gimple-pretty-print.c: Include gimple-predict.h.
8509 * gimplify.c: Likwise.
8510 * predict.c: Adjust includes.
8511 * tree-inline.c: Likewise.
8512 * asan.c: Likewise.
8513 * auto-inc-dec.c: Likewise.
8514 * auto-profile.c: Likewise.
8515 * bb-reorder.c: Likewise.
8516 * builtins.c: Likewise.
8517 * caller-save.c: Likewise.
8518 * calls.c: Likewise.
8519 * cfganal.c: Likewise.
8520 * cfgbuild.c: Likewise.
8521 * cfg.c: Likewise.
8522 * cfgcleanup.c: Likewise.
8523 * cfgexpand.c: Likewise.
8524 * cfghooks.c: Likewise.
8525 * cfgloopanal.c: Likewise.
8526 * cfgloop.c: Likewise.
8527 * cfgloopmanip.c: Likewise.
8528 * cfgrtl.c: Likewise.
8529 * cgraph.c: Likewise.
8530 * cgraphunit.c: Likewise.
8531 * combine.c: Likewise.
8532 * cprop.c: Likewise.
8533 * cse.c: Likewise.
8534 * dce.c: Likewise.
8535 * dojump.c: Likewise.
8536 * dse.c: Likewise.
8537 * except.c: Likewise.
8538 * expmed.c: Likewise.
8539 * expr.c: Likewise.
8540 * final.c: Likewise.
8541 * fold-const.c: Likewise.
8542 * function.c: Likewise.
8543 * fwprop.c: Likewise.
8544 * gcc-plugin.h: Likewise.
8545 * gcse.c: Likewise.
8546 * genattrtab.c: Likewise.
8547 * genemit.c: Likewise.
8548 * gengtype.c: Likewise.
8549 * genopinit.c: Likewise.
8550 * genoutput.c: Likewise.
8551 * genpreds.c: Likewise.
8552 * genrecog.c: Likewise.
8553 * gimple-fold.c: Likewise.
8554 * gimple-iterator.c: Likewise.
8555 * gimple-ssa-isolate-paths.c: Likewise.
8556 * gimple-ssa-strength-reduction.c: Likewise.
8557 * graph.c: Likewise.
8558 * graphite-blocking.c: Likewise.
8559 * graphite.c: Likewise.
8560 * graphite-dependences.c: Likewise.
8561 * graphite-interchange.c: Likewise.
8562 * graphite-isl-ast-to-gimple.c: Likewise.
8563 * graphite-optimize-isl.c: Likewise.
8564 * graphite-poly.c: Likewise.
8565 * graphite-scop-detection.c: Likewise.
8566 * graphite-sese-to-poly.c: Likewise.
8567 * haifa-sched.c: Likewise.
8568 * ifcvt.c: Likewise.
8569 * internal-fn.c: Likewise.
8570 * ipa-cp.c: Likewise.
8571 * ipa-profile.c: Likewise.
8572 * ipa-split.c: Likewise.
8573 * ipa-utils.c: Likewise.
8574 * ira-build.c: Likewise.
8575 * ira-color.c: Likewise.
8576 * ira-conflicts.c: Likewise.
8577 * ira-costs.c: Likewise.
8578 * ira-emit.c: Likewise.
8579 * ira-lives.c: Likewise.
8580 * jump.c: Likewise.
8581 * loop-doloop.c: Likewise.
8582 * loop-init.c: Likewise.
8583 * loop-invariant.c: Likewise.
8584 * loop-unroll.c: Likewise.
8585 * lower-subreg.c: Likewise.
8586 * lra-assigns.c: Likewise.
8587 * lra.c: Likewise.
8588 * lra-coalesce.c: Likewise.
8589 * lra-constraints.c: Likewise.
8590 * lra-lives.c: Likewise.
8591 * lto-cgraph.c: Likewise.
8592 * lto-streamer-in.c: Likewise.
8593 * mode-switching.c: Likewise.
8594 * modulo-sched.c: Likewise.
8595 * omp-low.c: Likewise.
8596 * optabs.c: Likewise.
8597 * passes.c: Likewise.
8598 * postreload.c: Likewise.
8599 * postreload-gcse.c: Likewise.
8600 * profile.c: Likewise.
8601 * recog.c: Likewise.
8602 * regstat.c: Likewise.
8603 * reload1.c: Likewise.
8604 * reorg.c: Likewise.
8605 * rtlanal.c: Likewise.
8606 * sched-ebb.c: Likewise.
8607 * sel-sched-ir.c: Likewise.
8608 * sese.c: Likewise.
8609 * shrink-wrap.c: Likewise.
8610 * simplify-rtx.c: Likewise.
8611 * stmt.c: Likewise.
8612 * store-motion.c: Likewise.
8613 * tracer.c: Likewise.
8614 * trans-mem.c: Likewise.
8615 * tree-call-cdce.c: Likewise.
8616 * tree-cfg.c: Likewise.
8617 * tree-cfgcleanup.c: Likewise.
8618 * tree-chkp.c: Likewise.
8619 * tree-complex.c: Likewise.
8620 * tree-eh.c: Likewise.
8621 * tree-if-conv.c: Likewise.
8622 * tree-loop-distribution.c: Likewise.
8623 * tree-outof-ssa.c: Likewise.
8624 * tree-parloops.c: Likewise.
8625 * tree-predcom.c: Likewise.
8626 * tree-pretty-print.c: Likewise.
8627 * tree-profile.c: Likewise.
8628 * tree-sra.c: Likewise.
8629 * tree-ssa.c: Likewise.
8630 * tree-ssa-coalesce.c: Likewise.
8631 * tree-ssa-dce.c: Likewise.
8632 * tree-ssa-dom.c: Likewise.
8633 * tree-ssa-forwprop.c: Likewise.
8634 * tree-ssa-ifcombine.c: Likewise.
8635 * tree-ssa-loop-ch.c: Likewise.
8636 * tree-ssa-loop-im.c: Likewise.
8637 * tree-ssa-loop-ivcanon.c: Likewise.
8638 * tree-ssa-loop-ivopts.c: Likewise.
8639 * tree-ssa-loop-manip.c: Likewise.
8640 * tree-ssa-loop-prefetch.c: Likewise.
8641 * tree-ssa-loop-unswitch.c: Likewise.
8642 * tree-ssa-math-opts.c: Likewise.
8643 * tree-ssa-phiopt.c: Likewise.
8644 * tree-ssa-pre.c: Likewise.
8645 * tree-ssa-reassoc.c: Likewise.
8646 * tree-ssa-sink.c: Likewise.
8647 * tree-ssa-tail-merge.c: Likewise.
8648 * tree-ssa-threadedge.c: Likewise.
8649 * tree-ssa-threadupdate.c: Likewise.
8650 * tree-switch-conversion.c: Likewise.
8651 * tree-tailcall.c: Likewise.
8652 * tree-vect-data-refs.c: Likewise.
8653 * tree-vect-loop.c: Likewise.
8654 * tree-vect-loop-manip.c: Likewise.
8655 * tree-vectorizer.c: Likewise.
8656 * tree-vrp.c: Likewise.
8657 * ubsan.c: Likewise.
8658 * value-prof.c: Likewise.
8659 * varasm.c: Likewise.
8660 * var-tracking.c: Likewise.
8661 * config/aarch64/aarch64-builtins.c: Likewise.
8662 * config/aarch64/aarch64.c: Likewise.
8663 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
8664 * config/alpha/alpha.c: Likewise.
8665 * config/arc/arc.c: Likewise.
8666 * config/arm/arm.c: Likewise.
8667 * config/avr/avr.c: Likewise.
8668 * config/bfin/bfin.c: Likewise.
8669 * config/c6x/c6x.c: Likewise.
8670 * config/cr16/cr16.c: Likewise.
8671 * config/cris/cris.c: Likewise.
8672 * config/darwin.c: Likewise.
8673 * config/darwin-c.c: Likewise.
8674 * config/epiphany/epiphany.c: Likewise.
8675 * config/epiphany/mode-switch-use.c: Likewise.
8676 * config/epiphany/resolve-sw-modes.c: Likewise.
8677 * config/fr30/fr30.c: Likewise.
8678 * config/frv/frv.c: Likewise.
8679 * config/ft32/ft32.c: Likewise.
8680 * config/h8300/h8300.c: Likewise.
8681 * config/i386/i386.c: Likewise.
8682 * config/i386/winnt.c: Likewise.
8683 * config/ia64/ia64.c: Likewise.
8684 * config/iq2000/iq2000.c: Likewise.
8685 * config/lm32/lm32.c: Likewise.
8686 * config/m32c/m32c.c: Likewise.
8687 * config/m32r/m32r.c: Likewise.
8688 * config/m68k/m68k.c: Likewise.
8689 * config/mcore/mcore.c: Likewise.
8690 * config/mep/mep.c: Likewise.
8691 * config/microblaze/microblaze.c: Likewise.
8692 * config/mips/mips.c: Likewise.
8693 * config/mmix/mmix.c: Likewise.
8694 * config/mn10300/mn10300.c: Likewise.
8695 * config/moxie/moxie.c: Likewise.
8696 * config/msp430/msp430.c: Likewise.
8697 * config/nds32/nds32.c: Likewise.
8698 * config/nds32/nds32-cost.c: Likewise.
8699 * config/nds32/nds32-fp-as-gp.c: Likewise.
8700 * config/nds32/nds32-intrinsic.c: Likewise.
8701 * config/nds32/nds32-isr.c: Likewise.
8702 * config/nds32/nds32-md-auxiliary.c: Likewise.
8703 * config/nds32/nds32-memory-manipulation.c: Likewise.
8704 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
8705 * config/nds32/nds32-predicates.c: Likewise.
8706 * config/nios2/nios2.c: Likewise.
8707 * config/nvptx/nvptx.c: Likewise.
8708 * config/pa/pa.c: Likewise.
8709 * config/pdp11/pdp11.c: Likewise.
8710 * config/rl78/rl78.c: Likewise.
8711 * config/rs6000/rs6000.c: Likewise.
8712 * config/rx/rx.c: Likewise.
8713 * config/s390/s390.c: Likewise.
8714 * config/sh/sh.c: Likewise.
8715 * config/sh/sh-mem.cc: Likewise.
8716 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
8717 * config/sh/sh_treg_combine.cc: Likewise.
8718 * config/sparc/sparc.c: Likewise.
8719 * config/spu/spu.c: Likewise.
8720 * config/stormy16/stormy16.c: Likewise.
8721 * config/tilegx/tilegx.c: Likewise.
8722 * config/tilepro/tilepro.c: Likewise.
8723 * config/v850/v850.c: Likewise.
8724 * config/vax/vax.c: Likewise.
8725 * config/visium/visium.c: Likewise.
8726 * config/xtensa/xtensa.c: Likewise.
8727
8728 2015-07-10 Richard Biener <rguenther@suse.de>
8729
8730 * genmatch.c (dt_node::gen_kids_1): Fix indenting of case labels.
8731 (decision_tree::gen_gimple): Likewise.
8732 (decision_tree::gen_generic): Likewise.
8733
8734 2015-07-10 Uros Bizjak <ubizjak@gmail.com>
8735
8736 PR target/66813
8737 * config/i386/i386.c (ix86_md_asm_adjust): Emit movstrictqi
8738 sequence for TARGET_ZERO_EXTEND_WITH_AND targets.
8739
8740 2015-07-10 Jakub Jelinek <jakub@redhat.com>
8741
8742 PR middle-end/66820
8743 * gimplify.c (maybe_fold_stmt): Don't fold in ORT_PARALLEL
8744 or ORT_TASK contexts.
8745 * omp-low.c (lower_omp): Call fold_stmt even if taskreg_nesting_level
8746 is non-zero.
8747
8748 2015-07-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8749
8750 * expr.c (expand_cond_expr_using_cmove): Fix typos in comment
8751 above function.
8752
8753 2015-07-10 Tom de Vries <tom@codesourcery.com>
8754
8755 * tree-parloops.c (try_transform_to_exit_first_loop_alt): If not found,
8756 insert nit + 1 bound.
8757
8758 2015-07-10 Richard Biener <rguenther@suse.de>
8759
8760 * tree-if-conv.c (if_convertible_gimple_assign_stmt_p):
8761 Use ifcvt_could_trap_p also when not flag_tree_loop_if_convert_stores.
8762 (if_convertible_loop_p_1): For this always compute bb predicates.
8763 (if_convertible_loop_p): And free them.
8764
8765 2015-07-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8766
8767 * ipa-icf.c (sem_item_optimizer::do_congruence_step): Fix typo
8768 in dump message.
8769
8770 2015-07-10 Richard Biener <rguenther@suse.de>
8771
8772 PR tree-optimization/66823
8773 * tree-if-conv.c (memrefs_read_or_written_unconditionally): Fix
8774 inverted predicate.
8775
8776 2015-07-09 Steve Ellcey <sellcey@imgtec.com>
8777
8778 * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): Update
8779 to handle mips[32|64]r3 and mips[32|64]r5.
8780
8781 2015-07-09 Jakub Jelinek <jakub@redhat.com>
8782
8783 PR middle-end/66633
8784 * tree-nested.c (get_static_chain): Or in a flag into
8785 info->static_chain_added.
8786 (get_frame_field, get_nonlocal_debug_decl): Likewise.
8787 (convert_nonlocal_omp_clauses, convert_local_omp_clauses): Revert
8788 2015-07-01 changes.
8789 (convert_tramp_reference_stmt): If a frame_decl or chain_decl
8790 is needed newly inside of GIMPLE_OMP_{PARALLEL,TASK,TARGET} body,
8791 add it to clauses.
8792
8793 PR tree-optimization/66718
8794 * tree-vect-stmts.c (struct simd_call_arg_info): Add simd_lane_linear
8795 field.
8796 (vect_simd_lane_linear): New function.
8797 (vectorizable_simd_clone_call): Support using linear arguments for
8798 addresses of arrays elements indexed by GOMP_SIMD_LANE result.
8799
8800 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
8801
8802 PR target/66821
8803 * config/i386/i386.c (iamcu_cost): Adjust variable shift costs.
8804
8805 2015-07-09 Michael Meissner <meissner@linux.vnet.ibm.com>
8806
8807 * config/rs6000/rs6000-protos.h (rs6000_secondary_reload_memory):
8808 Use machine mode, not enum machine_mode in the prototype.
8809
8810 * config/rs6000/rs6000.h (FLOAT128_IEEE_P): New helper macros to
8811 classify 128-bit floating point support.
8812 (FLOAT128_IBM_P): Likewise.
8813 (FLOAT128_VECTOR_P): Likewise.
8814 (FLOAT128_2REG_P): Likewise.
8815 (SCALAR_FLOAT_MODE_NOT_VECTOR_P): Likewise.
8816 (SLOW_UNALIGNED_ACCESS): Add IEEE 128-bit floating point support.
8817 (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
8818 (HARD_REGNO_CALL_PART_CLOBBERED): Likewise.
8819
8820 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Drop
8821 tests against TFmode/TDmode, since those modes do not use VSX
8822 addresses.
8823 (rs6000_hard_regno_mode_ok): Add IEEE 128-bit floating point
8824 support.
8825 (rs6000_init_hard_regno_mode_ok): Use new helper macros instead of
8826 tests against TFmode, etc.
8827 (invalid_e500_subreg): Add tests against IFmode/KFmode.
8828 (reg_offset_addressing_ok_p): Likewise.
8829 (rs6000_legitimate_offset_address_p): Likewise.
8830 (rs6000_legitimize_address): Likewise.
8831 (rs6000_legitimize_reload_address): Likewise.
8832 (rs6000_legitimate_address_p): Clean up tests against TFmode and
8833 TDmode to use the new helper macros, which will include IFmode and
8834 KFmode.
8835 (rs6000_emit_move): Likewise.
8836 (rs6000_darwin64_record_arg_recurse): Likewise.
8837 (print_operand): Likewise.
8838 (rs6000_member_type_forces_blk): Treat IEEE 128-bit floating point
8839 that uses a single vector register as a vector and not as a
8840 floating point register in terms of the calling sequence.
8841 (rs6000_discover_homogeneous_aggregate): Likewise.
8842 (rs6000_return_in_memory): Likewise.
8843 (init_cumulative_args): Likewise.
8844 (rs6000_function_arg_boundary): Likewise.
8845 (rs6000_function_arg_advance_1): Likewise.
8846 (rs6000_function_arg): Likewise.
8847 (rs6000_pass_by_reference): Likewise.
8848 (rs6000_gimplify_va_arg): Likewise.
8849 (rs6000_secondary_reload_memory): Use machine_mode not enum
8850 machine mode.
8851 (rs6000_split_multireg_move): Use new helper macros.
8852 (spe_func_has_64bit_regs_p): Likewise.
8853 (rs6000_output_function_epilogue): Add IFmode/KFmode support.
8854 (output_toc): Use new helper macros.
8855 (rs6000_register_move_cost): Likewise.
8856 (rs6000_function_value): Add IEEE 128-bit floating point calling
8857 sequence support.
8858 (rs6000_libcall_value): Likewise.
8859 (rs6000_scalar_mode_supported_p): Add support for IEEE 128-bit
8860 floating point support.
8861 (rs6000_vector_mode_supported_p): Likewise.
8862
8863 2015-07-09 Vladimir Makarov <vmakarov@redhat.com>
8864
8865 PR rtl-optimization/66782
8866 * lra-int.h (struct lra_insn_recog_data): Add comment about
8867 clobbered hard regs for arg_hard_regs.
8868 * lra.c (lra_set_insn_recog_data): Add clobbered hard regs.
8869 * lra-lives.c (process_bb_lives): Process clobbered hard regs.
8870 Add condition for processing used hard regs.
8871 * lra-constraints.c (update_ebb_live_info, inherit_in_ebb):
8872 Process clobbered hard regs.
8873
8874 2015-07-09 Michael Matz <matz@suse.de>
8875
8876 * genmatch.c (fprintf_indent): New function.
8877 (operand::gen_transform): Add indent parameter.
8878 (expr::gen_transform, c_expr::gen_transform,
8879 capture::gen_transform): Ditto and use fprintf_indent.
8880 (dt_node::gen, dt_node::gen_kids, dt_node::gen_kids_1): Ditto.
8881 (dt_operand::gen, dt_operand::gen_predicate,
8882 dt_operand::gen_match_op, dt_operand::gen_gimple_expr,
8883 dt_operand::gen_generic_expr, dt_simplify::gen): Ditto.
8884 (decision_tree::gen_gimple): Adjust calls and indent generated
8885 code.
8886 (decision_tree::gen_generic): Ditto.
8887 (write_predicate): Ditto.
8888
8889 2015-07-08 Uros Bizjak <ubizjak@gmail.com>
8890
8891 PR target/66814
8892 * config/i386/predicates.md (nonimmediate_gr_operand): New predicate.
8893 * config/i386/i386.md (not peephole2): Use nonimmediate_gr_operand.
8894 (varous peephole2s): Use {GENERAL,SSE,MMX}_REGNO_P instead of
8895 {GENERAL,SSE,MMX}_REG_P where appropriate.
8896
8897 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
8898
8899 * lto-streamer.h: Don't include target.h and alloc-pool.h.
8900 * builtins.c: Adjust includes.
8901 * gimple.c: Likewise.
8902 * ipa-icf.c: Likewise.
8903 * lto-opts.c: Likewise.
8904 * ipa-reference.c: Likewise.
8905 * lto-section-out.c: Likewise.
8906 * lto-streamer-in.c: Likewise.
8907 * lto-streamer-out.c: Likewise.
8908 * opts-global.c: Likewise.
8909 * symtab.c: Likewise.
8910 * tree-chkp.c: Likewise.
8911 * tree-ssa-live.c: Likewise.
8912 * tree-streamer-in.c: Likewise.
8913 * tree-streamer-out.c: Likewise.
8914 * config/darwin.c: Likewise.
8915 * config/i386/winnt.c: Likewise.
8916
8917 2015-07-09 Richard Biener <rguenther@suse.de>
8918
8919 * genmatch.c (struct expr): Add force_single_use flag.
8920 (expr::expr): Add copy constructor.
8921 (capture_info::walk_match): Gather force_single_use captures.
8922 (expr::gen_transform): Use possibly NULLified sequence.
8923 (dt_simplify::gen): Apply single-use restrictions by NULLifying
8924 seq if any constrained expr is not single-use.
8925 (parser::parse_expr): Refactor to allow multiple flags. Handle
8926 's' flag to force an expression have a single-use if the pattern
8927 simplifies to more than one statement.
8928 * match.pd: Convert most single_use conditionals to :s flags.
8929
8930 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
8931
8932 * config/i386/iamcu.h (ASM_OUTPUT_ALIGNED_BSS): New.
8933 (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
8934 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
8935
8936 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
8937
8938 * flags.h: Don't include flag-types.h or options.h.
8939 * opts-common.c: Adjust includes.
8940 * opts-global.c: Likewise.
8941 * common/config/epiphany/epiphany-common.c: Likewise.
8942
8943 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
8944
8945 PR target/66818
8946 * config/i386/i386.h (ATTRIBUTE_ALIGNED_VALUE): Defined to 32
8947 for IA MCU.
8948
8949 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
8950
8951 PR target/66817
8952 * config/i386/i386.c (ix86_return_in_memory): Return true
8953 if int_size_in_bytes returns negative for IA MCU.
8954
8955 2015-07-09 Marek Polacek <polacek@redhat.com>
8956
8957 PR tree-optimization/66718
8958 * Makefile.in (OBJS): Add gimple-laddress.o.
8959 * passes.def: Schedule pass_laddress.
8960 * timevar.def (DEFTIMEVAR): Add TV_GIMPLE_LADDRESS.
8961 * tree-pass.h (make_pass_laddress): Declare.
8962 * gimple-laddress.c: New file.
8963
8964 2015-07-09 Richard Biener <rguenther@suse.de>
8965
8966 * toplev.c (compile_file): Reset maximum_field_alignment after parsing.
8967
8968 2015-07-09 Richard Biener <rguenther@suse.de>
8969
8970 PR tree-optimization/66807
8971 * tree-chkp-opt.c (chkp_opt_fini): Free post dominator info.
8972
8973 2015-07-08 Kito Cheng <kito.cheng@gmail.com>
8974
8975 * function.c (stack_protect_epilogue): Use if rather than switch for
8976 check targetm.have_stack_protect_test.
8977
8978 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8979
8980 * defaults.h: Provide default for WORD_REGISTER_OPERATIONS.
8981 * config/alpha/alpha.h: Define WORD_REGISTER_OPERATIONS to 1.
8982 * config/arc/arc.h: Likewise.
8983 * config/arm/arm.h: Likewise.
8984 * config/bfin/bfin.h: Likewise.
8985 * config/epiphany/epiphany.h: Likewise.
8986 * config/frv/frv.h: Likewise.
8987 * config/ia64/ia64.h: Likewise.
8988 * config/iq2000/iq2000.h: Likewise.
8989 * config/lm32/lm32.h: Likewise.
8990 * config/m32r/m32r.h: Likewise.
8991 * config/mcore/mcore.h: Likewise.
8992 * config/mep/mep.h: Likewise.
8993 * config/microblaze/microblaze.h: Likewise.
8994 * config/mips/mips.h: Likewise.
8995 * config/mmix/mmix.h: Likewise.
8996 * config/mn10300/mn10300.h: Likewise.
8997 * config/nds32/nds32.h: Likewise.
8998 * config/nios2/nios2.h: Likewise.
8999 * config/pa/pa.h: Likewise.
9000 * config/rl78/rl78.h: Likewise.
9001 * config/sh/sh.h: Likewise.
9002 * config/sparc/sparc.h: Likewise.
9003 * config/stormy16/stormy16.h: Likewise.
9004 * config/tilegx/tilegx.h: Likewise.
9005 * config/tilepro/tilepro.h: Likewise.
9006 * config/v850/v850.h: Likewise.
9007 * config/xtensa/xtensa.h: Likewise.
9008 * doc/tm.texi: Regenerate.
9009 * doc/tm.texi.in: Adjust.
9010 * combine.c (simplify_set): Likewise.
9011 (simplify_comparison): Likewise.
9012 * expr.c (store_constructor): Likewise.
9013 * internal-fn.c (expand_arith_overflow): Likewise.
9014 * reload.c (push_reload): Likewise.
9015 (find_reloads): Likewise.
9016 (find_reloads_subreg_address): Likewise.
9017 * reload1.c (eliminate_regs_1): Likewise.
9018 * rtlanal.c (nonzero_bits1): Likewise.
9019 (num_sign_bit_copies1): Likewise.
9020 * simplify-rtx.c (simplify_truncation): Likewise.
9021
9022 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9023
9024 * auto-inc-dec.c (pass_inc_dec::execute): Don't check the value
9025 of AUTO_INC_DEC with the preprocessor.
9026 * combine.c (combine_instructions): Likewise.
9027 (can_combine_p): Likewise.
9028 (try_combine): Likewise.
9029 * emit-rtl.c (try_split): Likewise.
9030 * loop-invariant.c (calculate_loop_reg_pressure): Likewise.
9031 * lower-subreg.c (resolve_simple_move): Likewise.
9032 * lra.c (update_inc_notes): Likewise.
9033 * recog.c (asm_operand_ok): Likewise.
9034 (constrain_operands): Likewise.
9035 * regrename.c (scan_rtx_address): Likewise.
9036 * reload.c (update_auto_inc_notes): Likewise.
9037 (reg_inc_found_and_valid_p): Likewise.
9038 * reload1.c (reload): Likewise.
9039 (emit_input_reload_insns): Likewise.
9040 (delete_output_reload): Likewise.
9041 * sched-deps.c (init_insn_reg_pressure_info): Likewise.
9042 * valtrack.c (cleanup_auto_inc_dec): Likewise.
9043
9044 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9045
9046 * rtl.h: Always define AUTO_INC_DEC.
9047 * auto-inc-dec.c (pass_inc_dec::execute): Adjust.
9048 * combine.c (combine_instructions): Likewise.
9049 (can_combine_p): Likewise.
9050 (try_combine): Likewise.
9051 * emit-rtl.c (try_split): Likewise.
9052 * loop-invariant.c (calculate_loop_reg_pressure): Likewise.
9053 * lower-subreg.c (resolve_simple_move): Likewise.
9054 * lra.c (update_inc_notes): Likewise.
9055 * recog.c (asm_operand_ok): Likewise.
9056 (constrain_operands): Likewise.
9057 * regrename.c (scan_rtx_address): Likewise.
9058 * reload.c (update_auto_inc_notes): Likewise.
9059 (find_equiv_reg): Likewise.
9060 * reload1.c (reload): Likewise.
9061 (reload_as_needed): Likewise.
9062 (choose_reload_regs): Likewise.
9063 (emit_input_reload_insns): Likewise.
9064 (delete_output_reload): Likewise.
9065 * sched-deps.c (init_insn_reg_pressure_info): Likewise.
9066 * valtrack.c (cleanup_auto_inc_dec): Likewise.
9067
9068 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9069
9070 * combine.c (can_combine_def_p): Don't check the value of
9071 HARD_FRAME_POINTER_IS_FRAME_POINTER with the preprocessor.
9072 (combinable_i3pat): Likewise.
9073 (mark_used_regs_combine): Likewise.
9074 * regrename.c (rename_chains): Likewise.
9075 * reload.c (find_reloads_address): Likewise.
9076 * sel-sched.c (mark_unavailable_hard_regs): Likewise.
9077
9078 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9079
9080 * combine.c (update_rsp_from_reg_equal): Don't check if
9081 SHORT_IMMEDIATES_SIGN_EXTEND is defined.
9082 (reg_nonzero_bits_for_combine): Likewise.
9083 * config/alpha/alpha.h: Define SHORT_IMMEDIATES_SIGN_EXTEND to
9084 1.
9085 * config/frv/frv.h: Likewise.
9086 * config/lm32/lm32.h: Likewise.
9087 * config/mep/mep.h: Likewise.
9088 * config/mips/mips.h: Likewise.
9089 * config/rs6000/rs6000.h: Likewise.
9090 * config/sh/sh.h: Likewise.
9091 * config/tilegx/tilegx.h (enum reg_class): Likewise.
9092 * config/tilepro/tilepro.h: Likewise.
9093 * defaults.h: Add default for SHORT_IMMEDIATES_SIGN_EXTEND.
9094 * doc/tm.texi: Regenerate.
9095 * doc/tm.texi.in: Adjust.
9096 * rtlanal.c (nonzero_bits1): Likewise.
9097
9098 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9099
9100 * combine.c (do_SUBST_MODE): Don't check the value of HAVE_cc0
9101 with the preprocessor.
9102 (combine_instructions): Likewise.
9103 (try_combine): Likewise.
9104 (subst): Likewise.
9105 (distribute_notes): Likewise.
9106
9107 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9108
9109 * combine.c (try_combine): Don't check if LOAD_EXTEND_OP is
9110 defined.
9111 (simplify_set): Likewise.
9112 * cse.c (cse_insn): Likewise.
9113 * fold-const.c (fold_single_bit_test): Likewise.
9114 (fold_unary_loc): Likewise.
9115 * postreload.c (reload_cse_simplify_set): Likewise.
9116 (reload_cse_simplify_operands): Likewise.
9117
9118 2015-07-08 Jiong Wang <jiong.wang@arm.com>
9119
9120 * config/aarch64/aarch64.c (aarch64_unspec_may_trap_p): New function.
9121 (TARGET_UNSPEC_MAY_TRAP_P): Define as aarch64_unspec_may_trap_p.
9122
9123 2015-07-08 H.J. Lu <hongjiu.lu@intel.com>
9124
9125 PR target/66746
9126 * config/i386/x86intrin.h: Include <adxintrin.h> even if
9127 __iamcu__ is defined.
9128
9129 2015-07-08 Uros Bizjak <ubizjak@gmail.com>
9130
9131 * config/i386/predicates.md (general_reg_operand): Use GENERAL_REGNO_P.
9132
9133 2015-07-08 Iain Sandoe <iain@codesourcery.com>
9134
9135 PR target/66523
9136 * config/darwin.c (darwin_mark_decl_preserved): Exclude 'L' label
9137 names from preservation.
9138
9139 2015-07-08 H.J. Lu <hongjiu.lu@intel.com>
9140
9141 PR target/66806
9142 * config/i386/i386.c (type_natural_mode): Don't warn vector ABI
9143 change for IAMCU.
9144 (function_arg_advance_32): Don't pass vectors in registers for
9145 IAMCU.
9146 (function_arg_32): Likewise.
9147 (ix86_return_in_memory): Don't return vectors in registers for
9148 IAMCU.
9149
9150 2015-07-08 Vladimir Makarov <vmakarov@redhat.com>
9151
9152 PR middle-end/66334
9153 * ira-lives.c (process_bb_node_lives): Make conflicts with PIC
9154 hard regno live at the start of BB with incoming abnormal edges.
9155 * lra-lives.c (process_bb_lives): Ditto.
9156
9157 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
9158
9159 PR libgomp/65099
9160 * config/nvptx/mkoffload.c (main): Create an offload image only in
9161 64-bit configurations.
9162
9163 2015-07-08 Martin Liska <mliska@suse.cz>
9164
9165 PR bootstrap/66744
9166 * tree-sra.c (create_access_1): Call ctor without brackets.
9167 (create_artificial_child_access): Likewise.
9168
9169 2015-07-08 Richard Biener <rguenther@suse.de>
9170
9171 PR tree-optimization/66793
9172 * gimple-ssa-isolate-paths.c (insert_trap_and_remove_trailing_statemen):
9173 Properly split the block after stmts ending it.
9174
9175 2015-07-08 Richard Biener <rguenther@suse.de>
9176
9177 PR tree-optimization/66794
9178 * passes.c (execute_function_todo): Assert that post-dominators
9179 are not computed.
9180 * gimple-ssa-isolate-paths.c (gimple_ssa_isolate_erroneous_paths):
9181 Free post-dominators.
9182
9183 2015-07-08 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
9184
9185 * config/s390/s390.c (s390_init_frame_layout): Replace assertion
9186 with early exit.
9187
9188 2015-07-08 Uros Bizjak <ubizjak@gmail.com>
9189
9190 * config/i386/i386.md (*jcc_bt<mode>): Only allow const_int values
9191 more than or equal 8 and less than 32 when optimizing for size.
9192
9193 2015-07-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9194
9195 * config/arm/arm.c (arm_new_rtx_costs): Initialise cost to
9196 COSTS_N_INSNS (1) and increment it appropriately throughout the
9197 function.
9198
9199 2015-07-08 Richard Biener <rguenther@suse.de>
9200
9201 * fold-const.c (fold_widened_comparison): Fix inverted comparison.
9202
9203 2015-07-08 Alan Modra <amodra@gmail.com>
9204
9205 * target.def (rtx_costs): Remove "code" param, add "mode".
9206 * rtl.h (rtx_cost, get_full_rtx_cost): Update prototype.
9207 (set_src_cost, get_full_set_src_cost): Likewise. Move later in file.
9208 (set_rtx_cost, get_full_set_rtx_cost): Move later in file.
9209 * rtlanal.c (rtx_cost): Add "mode" parameter. Update targetm.rtx_costs
9210 call. Track mode when given in rtx.
9211 (get_full_rtx_cost): Add "mode" parameter. Update rtx_cost calls.
9212 (default_address_cost): Pass Pmode to rtx_cost.
9213 (insn_rtx_cost): Pass dest mode of set to set_src_cost.
9214 * cprop.c (try_replace_reg): Ensure set_rtx_cost is not called
9215 with NULL set.
9216 * cse.c (COST, COST_IN): Add MODE param. Update all uses.
9217 (notreg_cost): Add mode param. Use it.
9218 * gcse.c (want_to_gcse_p): Delete forward declaration. Add
9219 mode param and pass to set_src_cost. Update all calls.
9220 (hash_scan_set): Formatting.
9221 * hooks.c (hook_bool_rtx_int_int_int_intp_bool_false): Delete.
9222 (hook_bool_rtx_mode_int_int_intp_bool_false): New function.
9223 * hooks.h: Ditto.
9224 * expmed.c (init_expmed_one_conv, init_expmed_one_mode,
9225 init_expmed, expand_mult, mult_by_coeff_cost, expand_smod_pow2,
9226 emit_store_flag): Update set_src_cost and rtx_cost calls.
9227 * auto-inc-dec.c (attempt_change): Likewise.
9228 * calls.c (precompute_register_parameters): Likewise.
9229 * combine.c (expand_compound_operation, make_extraction,
9230 force_to_mode, distribute_and_simplify_rtx): Likewise.
9231 * dojump.c (prefer_and_bit_test): Likewise.
9232 * dse.c (find_shift_sequence): Likewise.
9233 * expr.c (compress_float_constant): Likewise.
9234 * fwprop.c (should_replace_address, try_fwprop_subst): Likewise.
9235 * ifcvt.c (noce_try_sign_mask): Likewise.
9236 * loop-doloop.c (doloop_optimize): Likewise.
9237 * loop-invariant.c (create_new_invariant): Likewise.
9238 * lower-subreg.c (shift_cost, compute_costs): Likewise.
9239 * optabs.c (avoid_expensive_constant, prepare_cmp_insn,
9240 lshift_cheap_p): Likewise.
9241 * postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands,
9242 try_replace_in_use, reload_cse_move2add): Likewise.
9243 * reload1.c (calculate_elim_costs_all_insns, note_reg_elim_costly):
9244 Likewise.
9245 * simplify-rtx.c (simplify_binary_operation_1): Likewise.
9246 * tree-ssa-loop-ivopts.c (computation_cost): Likewise.
9247 * tree-ssa-reassoc.c (optimize_range_tests_to_bit_test): Likewise.
9248 * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
9249 * config/aarch64/aarch64.c (aarch64_rtx_costs): Delete "code" param,
9250 add "mode" param. Use "mode: in place of GET_MODE (x). Pass mode
9251 to rtx_cost calls.
9252 * config/alpha/alpha.c (alpha_rtx_costs): Likewise.
9253 * config/arc/arc.c (arc_rtx_costs): Likewise.
9254 * config/arm/arm.c (arm_rtx_costs): Likewise.
9255 * config/avr/avr.c (avr_rtx_costs, avr_rtx_costs_1): Likewise.
9256 * config/bfin/bfin.c (bfin_rtx_costs): Likewise.
9257 * config/c6x/c6x.c (c6x_rtx_costs): Likewise.
9258 * config/cris/cris.c (cris_rtx_costs): Likewise.
9259 * config/epiphany/epiphany.c (epiphany_rtx_costs): Likewise.
9260 * config/frv/frv.c (frv_rtx_costs): Likewise.
9261 * config/h8300/h8300.c (h8300_rtx_costs): Likewise.
9262 * config/i386/i386.c (ix86_rtx_costs): Likewise.
9263 * config/ia64/ia64.c (ia64_rtx_costs): Likewise.
9264 * config/iq2000/iq2000.c (iq2000_rtx_costs): Likewise.
9265 * config/lm32/lm32.c (lm32_rtx_costs): Likewise.
9266 * config/m32c/m32c.c (m32c_rtx_costs): Likewise.
9267 * config/m32r/m32r.c (m32r_rtx_costs): Likewise.
9268 * config/m68k/m68k.c (m68k_rtx_costs): Likewise.
9269 * config/mcore/mcore.c (mcore_rtx_costs): Likewise.
9270 * config/mep/mep.c (mep_rtx_cost): Likewise.
9271 * config/microblaze/microblaze.c (microblaze_rtx_costs): Likewise.
9272 * config/mips/mips.c (mips_rtx_costs): Likewise.
9273 * config/mmix/mmix.c (mmix_rtx_costs): Likewise.
9274 * config/mn10300/mn10300.c (mn10300_rtx_costs): Likewise.
9275 * config/msp430/msp430.c (msp430_rtx_costs): Likewise.
9276 * config/nds32/nds32-cost.c (nds32_rtx_costs_impl): Likewise.
9277 * config/nds32/nds32-protos.h (nds32_rtx_costs_impl): Likewise.
9278 * config/nds32/nds32.c (nds32_rtx_costs): Likewise.
9279 * config/nios2/nios2.c (nios2_rtx_costs): Likewise.
9280 * config/pa/pa.c (hppa_rtx_costs): Likewise.
9281 * config/pdp11/pdp11.c (pdp11_rtx_costs): Likewise.
9282 * config/rl78/rl78.c (rl78_rtx_costs): Likewise.
9283 * config/rs6000/rs6000.c (rs6000_rtx_costs): Likewise.
9284 * config/s390/s390.c (s390_rtx_costs): Likewise.
9285 * config/sh/sh.c (sh_rtx_costs): Likewise.
9286 * config/sparc/sparc.c (sparc_rtx_costs): Likewise.
9287 * config/spu/spu.c (spu_rtx_costs): Likewise.
9288 * config/stormy16/stormy16.c (xstormy16_rtx_costs): Likewise.
9289 * config/tilegx/tilegx.c (tilegx_rtx_costs): Likewise.
9290 * config/tilepro/tilepro.c (tilepro_rtx_costs): Likewise.
9291 * config/v850/v850.c (v850_rtx_costs): Likewise.
9292 * config/vax/vax.c (vax_rtx_costs): Likewise.
9293 * config/visium/visium.c (visium_rtx_costs): Likewise.
9294 * config/xtensa/xtensa.c (xtensa_rtx_costs): Likewise.
9295 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Change type of
9296 "code" param, and pass as outer_code to first rtx_cost call. Pass
9297 mode to rtx_cost calls.
9298 (aarch64_address_cost, aarch64_if_then_else_costs): Update rtx_cost
9299 calls.
9300 (aarch64_rtx_costs_wrapper): Update.
9301 * config/arm/arm.c (arm_rtx_costs_1, arm_size_rtx_costs,
9302 arm_unspec_cost, arm_new_rtx_costs, arm_slowmul_rtx_costs): Update
9303 rtx_cost calls.
9304 * config/avr/avr.c (avr_final_prescan_insn): Update set_src_cost
9305 and rtx_cost calls.
9306 (avr_operand_rtx_cost): Similarly.
9307 (avr_rtx_costs_1): Correct mode passed to avr_operand_rtx_cost
9308 for subexpressions of ZERO_EXTEND, SIGN_EXTEND and COMPARE.
9309 * config/mips/mips.c (mips_stack_address_p): Comment typo.
9310 (mips_binary_cost): Update rtx_cost and set_src_cost calls.
9311 (mips_rtx_costs): Use GET_MODE (x) to detect const_int.
9312 * config/mn10300/mn10300.c (mn10300_address_cost): Pass Pmode to
9313 rtx_cost.
9314 (mn10300_rtx_costs): Correct mode passed to mn10300_address_cost.
9315 * config/rs6000/rs6000.c (rs6000_debug_rtx_costs): Update.
9316 * config/sh/sh.c (and_xor_ior_costs): Update rtx_cost call.
9317 * doc/tm.texi: Regenerate.
9318
9319 2015-07-07 Andrew MacLeod <amacleod@redhat.com>
9320
9321 * tree-core.h: Include symtab.h.
9322 * rtl.h: Include hard-reg-set.h but not flags.h.
9323 (HARD_CONST): Remove condition compilation involving HARD_CONST since
9324 hard-reg-set.h is always included.
9325 * regs.h: Don't include hard-reg-set.h or rtl.h.
9326 * cfg.h: Include dominance.h.
9327 * gimple.h: Include tree-ssa-alias.h and gimple-expr.h.
9328 * backend.h: New. Aggregate commonly used backend header files.
9329 * gimple-ssa.h: Don't include tree-hasher.h.
9330 * ssa.h: New. Aggregate commonly used SSA header files.
9331 * regset.h: Remove bitmap.h and hard-reg-set.h #includes.
9332 * sel-sched-ir.h: Flatten includes.
9333 * lra-int.h: Flatten completely.
9334 * sel-sched-dump.h: Flatten includes.
9335 * ira-int.h: Flatten includes.
9336 * gimple-streamer.h: Remove all includes.
9337 * cfgloop.h: Remove all #includes except cfgloopmanip.h.
9338 * resource.h: Flatten hard-reg-set.h and df.h.
9339 * sched-int.h: Flatten insn-arrt.h and df.h.
9340 * valtrack.h: flatten bitmap.h, df.h, and rtl.h
9341 * df.h: Flatten includes, leaving regset.h, alloc-pool.h and timevar.h.
9342 * genattrtab.c (write_header): Adjust generated includes.
9343 * genautomata.c (main): Likewise.
9344 * genconditions.c (write-header): Likewise.
9345 * genemit.c (main): Likewise.
9346 * gengtype.c (open_base_files): Likewise.
9347 * genopinit.c (main): Likewise.
9348 * genoutput.c (output_prologue): Likewise.
9349 * genpeep.c (main): Likewise.
9350 * genpreds.c (write_insn_preds_c): Likewise.
9351 * genrecog.c (write_header): Likewise.
9352 * alias.c: Adjust includes.
9353 * asan.c: Likewise.
9354 * attribs.c: Likewise.
9355 * auto-inc-dec.c: Likewise.
9356 * auto-profile.c: Likewise.
9357 * bb-reorder.c: Likewise.
9358 * bt-load.c: Likewise.
9359 * builtins.c: Likewise.
9360 * caller-save.c: Likewise.
9361 * calls.c: Likewise.
9362 * ccmp.c: Likewise.
9363 * cfg.c: Likewise.
9364 * cfganal.c: Likewise.
9365 * cfgbuild.c: Likewise.
9366 * cfgcleanup.c: Likewise.
9367 * cfgexpand.c: Likewise.
9368 * cfghooks.c: Likewise.
9369 * cfgloop.c: Likewise.
9370 * cfgloopanal.c: Likewise.
9371 * cfgloopmanip.c: Likewise.
9372 * cfgrtl.c: Likewise.
9373 * cgraph.c: Likewise.
9374 * cgraphbuild.c: Likewise.
9375 * cgraphclones.c: Likewise.
9376 * cgraphunit.c: Likewise.
9377 * cilk-common.c: Likewise.
9378 * combine-stack-adj.c: Likewise.
9379 * combine.c: Likewise.
9380 * compare-elim.c: Likewise.
9381 * convert.c: Likewise.
9382 * coverage.c: Likewise.
9383 * cppbuiltin.c: Likewise.
9384 * cprop.c: Likewise.
9385 * cse.c: Likewise.
9386 * cselib.c: Likewise.
9387 * data-streamer-in.c: Likewise.
9388 * data-streamer-out.c: Likewise.
9389 * data-streamer.c: Likewise.
9390 * dbxout.c: Likewise.
9391 * dce.c: Likewise.
9392 * ddg.c: Likewise.
9393 * debug.c: Likewise.
9394 * df-core.c: Likewise.
9395 * df-problems.c: Likewise.
9396 * df-scan.c: Likewise.
9397 * dfp.c: Likewise.
9398 * dojump.c: Likewise.
9399 * dominance.c: Likewise.
9400 * domwalk.c: Likewise.
9401 * double-int.c: Likewise.
9402 * dse.c: Likewise.
9403 * dumpfile.c: Likewise.
9404 * dwarf2asm.c: Likewise.
9405 * dwarf2cfi.c: Likewise.
9406 * dwarf2out.c: Likewise.
9407 * emit-rtl.c: Likewise.
9408 * et-forest.c: Likewise.
9409 * except.c: Likewise.
9410 * explow.c: Likewise.
9411 * expmed.c: Likewise.
9412 * expr.c: Likewise.
9413 * final.c: Likewise.
9414 * fixed-value.c: Likewise.
9415 * fold-const.c: Likewise.
9416 * function.c: Likewise.
9417 * fwprop.c: Likewise.
9418 * gcc-plugin.h: Likewise.
9419 * gcse-common.c: Likewise.
9420 * gcse.c: Likewise.
9421 * generic-match-head.c: Likewise.
9422 * ggc-page.c: Likewise.
9423 * gimple-builder.c: Likewise.
9424 * gimple-expr.c: Likewise.
9425 * gimple-fold.c: Likewise.
9426 * gimple-iterator.c: Likewise.
9427 * gimple-low.c: Likewise.
9428 * gimple-match-head.c: Likewise.
9429 * gimple-pretty-print.c: Likewise.
9430 * gimple-ssa-isolate-paths.c: Likewise.
9431 * gimple-ssa-strength-reduction.c: Likewise.
9432 * gimple-streamer-in.c: Likewise.
9433 * gimple-streamer-out.c: Likewise.
9434 * gimple-walk.c: Likewise.
9435 * gimple.c: Likewise.
9436 * gimplify-me.c: Likewise.
9437 * gimplify.c: Likewise.
9438 * godump.c: Likewise.
9439 * graph.c: Likewise.
9440 * graphite-blocking.c: Likewise.
9441 * graphite-dependences.c: Likewise.
9442 * graphite-interchange.c: Likewise.
9443 * graphite-isl-ast-to-gimple.c: Likewise.
9444 * graphite-optimize-isl.c: Likewise.
9445 * graphite-poly.c: Likewise.
9446 * graphite-scop-detection.c: Likewise.
9447 * graphite-sese-to-poly.c: Likewise.
9448 * graphite.c: Likewise.
9449 * haifa-sched.c: Likewise.
9450 * hw-doloop.c: Likewise.
9451 * ifcvt.c: Likewise.
9452 * init-regs.c: Likewise.
9453 * internal-fn.c: Likewise.
9454 * ipa-chkp.c: Likewise.
9455 * ipa-comdats.c: Likewise.
9456 * ipa-cp.c: Likewise.
9457 * ipa-devirt.c: Likewise.
9458 * ipa-icf-gimple.c: Likewise.
9459 * ipa-icf.c: Likewise.
9460 * ipa-inline-analysis.c: Likewise.
9461 * ipa-inline-transform.c: Likewise.
9462 * ipa-inline.c: Likewise.
9463 * ipa-polymorphic-call.c: Likewise.
9464 * ipa-profile.c: Likewise.
9465 * ipa-prop.c: Likewise.
9466 * ipa-pure-const.c: Likewise.
9467 * ipa-ref.c: Likewise.
9468 * ipa-reference.c: Likewise.
9469 * ipa-split.c: Likewise.
9470 * ipa-utils.c: Likewise.
9471 * ipa-visibility.c: Likewise.
9472 * ipa.c: Likewise.
9473 * ira-build.c: Likewise.
9474 * ira-color.c: Likewise.
9475 * ira-conflicts.c: Likewise.
9476 * ira-costs.c: Likewise.
9477 * ira-emit.c: Likewise.
9478 * ira-lives.c: Likewise.
9479 * ira.c: Likewise.
9480 * jump.c: Likewise.
9481 * langhooks.c: Likewise.
9482 * lcm.c: Likewise.
9483 * loop-doloop.c: Likewise.
9484 * loop-init.c: Likewise.
9485 * loop-invariant.c: Likewise.
9486 * loop-iv.c: Likewise.
9487 * loop-unroll.c: Likewise.
9488 * lower-subreg.c: Likewise.
9489 * lra-assigns.c: Likewise.
9490 * lra-coalesce.c: Likewise.
9491 * lra-constraints.c: Likewise.
9492 * lra-eliminations.c: Likewise.
9493 * lra-lives.c: Likewise.
9494 * lra-remat.c: Likewise.
9495 * lra-spills.c: Likewise.
9496 * lra.c: Likewise.
9497 * lto-cgraph.c: Likewise.
9498 * lto-compress.c: Likewise.
9499 * lto-opts.c: Likewise.
9500 * lto-section-in.c: Likewise.
9501 * lto-section-out.c: Likewise.
9502 * lto-streamer-in.c: Likewise.
9503 * lto-streamer-out.c: Likewise.
9504 * lto-streamer.c: Likewise.
9505 * mcf.c: Likewise.
9506 * mode-switching.c: Likewise.
9507 * modulo-sched.c: Likewise.
9508 * omega.c: Likewise.
9509 * omp-low.c: Likewise.
9510 * optabs.c: Likewise.
9511 * opts-global.c: Likewise.
9512 * passes.c: Likewise.
9513 * plugin.c: Likewise.
9514 * postreload-gcse.c: Likewise.
9515 * postreload.c: Likewise.
9516 * predict.c: Likewise.
9517 * print-rtl.c: Likewise.
9518 * print-tree.c: Likewise.
9519 * profile.c: Likewise.
9520 * real.c: Likewise.
9521 * realmpfr.c: Likewise.
9522 * recog.c: Likewise.
9523 * ree.c: Likewise.
9524 * reg-stack.c: Likewise.
9525 * regcprop.c: Likewise.
9526 * reginfo.c: Likewise.
9527 * regrename.c: Likewise.
9528 * regstat.c: Likewise.
9529 * reload.c: Likewise.
9530 * reload1.c: Likewise.
9531 * reorg.c: Likewise.
9532 * resource.c: Likewise.
9533 * rtl-chkp.c: Likewise.
9534 * rtlanal.c: Likewise.
9535 * rtlhooks.c: Likewise.
9536 * sanopt.c: Likewise.
9537 * sched-deps.c: Likewise.
9538 * sched-ebb.c: Likewise.
9539 * sched-rgn.c: Likewise.
9540 * sched-vis.c: Likewise.
9541 * sdbout.c: Likewise.
9542 * sel-sched-dump.c: Likewise.
9543 * sel-sched-ir.c: Likewise.
9544 * sel-sched.c: Likewise.
9545 * sese.c: Likewise.
9546 * shrink-wrap.c: Likewise.
9547 * simplify-rtx.c: Likewise.
9548 * stack-ptr-mod.c: Likewise.
9549 * stmt.c: Likewise.
9550 * stor-layout.c: Likewise.
9551 * store-motion.c: Likewise.
9552 * stringpool.c: Likewise.
9553 * symtab.c: Likewise.
9554 * target-globals.c: Likewise.
9555 * targhooks.c: Likewise.
9556 * toplev.c: Likewise.
9557 * tracer.c: Likewise.
9558 * trans-mem.c: Likewise.
9559 * tree-affine.c: Likewise.
9560 * tree-browser.c: Likewise.
9561 * tree-call-cdce.c: Likewise.
9562 * tree-cfg.c: Likewise.
9563 * tree-cfgcleanup.c: Likewise.
9564 * tree-chkp-opt.c: Likewise.
9565 * tree-chkp.c: Likewise.
9566 * tree-chrec.c: Likewise.
9567 * tree-complex.c: Likewise.
9568 * tree-data-ref.c: Likewise.
9569 * tree-dfa.c: Likewise.
9570 * tree-diagnostic.c: Likewise.
9571 * tree-dump.c: Likewise.
9572 * tree-eh.c: Likewise.
9573 * tree-emutls.c: Likewise.
9574 * tree-if-conv.c: Likewise.
9575 * tree-inline.c: Likewise.
9576 * tree-into-ssa.c: Likewise.
9577 * tree-iterator.c: Likewise.
9578 * tree-loop-distribution.c: Likewise.
9579 * tree-nested.c: Likewise.
9580 * tree-nrv.c: Likewise.
9581 * tree-object-size.c: Likewise.
9582 * tree-outof-ssa.c: Likewise.
9583 * tree-parloops.c: Likewise.
9584 * tree-phinodes.c: Likewise.
9585 * tree-predcom.c: Likewise.
9586 * tree-pretty-print.c: Likewise.
9587 * tree-profile.c: Likewise.
9588 * tree-scalar-evolution.c: Likewise.
9589 * tree-sra.c: Likewise.
9590 * tree-ssa-address.c: Likewise.
9591 * tree-ssa-alias.c: Likewise.
9592 * tree-ssa-ccp.c: Likewise.
9593 * tree-ssa-coalesce.c: Likewise.
9594 * tree-ssa-copy.c: Likewise.
9595 * tree-ssa-copyrename.c: Likewise.
9596 * tree-ssa-dce.c: Likewise.
9597 * tree-ssa-dom.c: Likewise.
9598 * tree-ssa-dse.c: Likewise.
9599 * tree-ssa-forwprop.c: Likewise.
9600 * tree-ssa-ifcombine.c: Likewise.
9601 * tree-ssa-live.c: Likewise.
9602 * tree-ssa-loop-ch.c: Likewise.
9603 * tree-ssa-loop-im.c: Likewise.
9604 * tree-ssa-loop-ivcanon.c: Likewise.
9605 * tree-ssa-loop-ivopts.c: Likewise.
9606 * tree-ssa-loop-manip.c: Likewise.
9607 * tree-ssa-loop-niter.c: Likewise.
9608 * tree-ssa-loop-prefetch.c: Likewise.
9609 * tree-ssa-loop-unswitch.c: Likewise.
9610 * tree-ssa-loop.c: Likewise.
9611 * tree-ssa-math-opts.c: Likewise.
9612 * tree-ssa-operands.c: Likewise.
9613 * tree-ssa-phiopt.c: Likewise.
9614 * tree-ssa-phiprop.c: Likewise.
9615 * tree-ssa-pre.c: Likewise.
9616 * tree-ssa-propagate.c: Likewise.
9617 * tree-ssa-reassoc.c: Likewise.
9618 * tree-ssa-sccvn.c: Likewise.
9619 * tree-ssa-scopedtables.c: Likewise.
9620 * tree-ssa-sink.c: Likewise.
9621 * tree-ssa-strlen.c: Likewise.
9622 * tree-ssa-structalias.c: Likewise.
9623 * tree-ssa-tail-merge.c: Likewise.
9624 * tree-ssa-ter.c: Likewise.
9625 * tree-ssa-threadedge.c: Likewise.
9626 * tree-ssa-threadupdate.c: Likewise.
9627 * tree-ssa-uncprop.c: Likewise.
9628 * tree-ssa-uninit.c: Likewise.
9629 * tree-ssa.c: Likewise.
9630 * tree-ssanames.c: Likewise.
9631 * tree-stdarg.c: Likewise.
9632 * tree-streamer-in.c: Likewise.
9633 * tree-streamer-out.c: Likewise.
9634 * tree-streamer.c: Likewise.
9635 * tree-switch-conversion.c: Likewise.
9636 * tree-tailcall.c: Likewise.
9637 * tree-vect-data-refs.c: Likewise.
9638 * tree-vect-generic.c: Likewise.
9639 * tree-vect-loop-manip.c: Likewise.
9640 * tree-vect-loop.c: Likewise.
9641 * tree-vect-patterns.c: Likewise.
9642 * tree-vect-slp.c: Likewise.
9643 * tree-vect-stmts.c: Likewise.
9644 * tree-vectorizer.c: Likewise.
9645 * tree-vrp.c: Likewise.
9646 * tree.c: Likewise.
9647 * tsan.c: Likewise.
9648 * ubsan.c: Likewise.
9649 * valtrack.c: Likewise.
9650 * value-prof.c: Likewise.
9651 * var-tracking.c: Likewise.
9652 * varasm.c: Likewise.
9653 * varpool.c: Likewise.
9654 * vmsdbgout.c: Likewise.
9655 * vtable-verify.c: Likewise.
9656 * web.c: Likewise.
9657 * wide-int.cc: Likewise.
9658 * xcoffout.c: Likewise.
9659 * config/aarch64/aarch64-builtins.c: Likewise.
9660 * config/aarch64/aarch64.c: Likewise.
9661 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
9662 * config/alpha/alpha.c: Likewise.
9663 * config/arc/arc.c: Likewise.
9664 * config/arm/aarch-common.c: Likewise.
9665 * config/arm/arm-builtins.c: Likewise.
9666 * config/arm/arm-c.c: Likewise.
9667 * config/arm/arm.c: Likewise.
9668 * config/avr/avr-c.c: Likewise.
9669 * config/avr/avr-log.c: Likewise.
9670 * config/avr/avr.c: Likewise.
9671 * config/bfin/bfin.c: Likewise.
9672 * config/c6x/c6x.c: Likewise.
9673 * config/cr16/cr16.c: Likewise.
9674 * config/cris/cris.c: Likewise.
9675 * config/darwin-c.c: Likewise.
9676 * config/darwin.c: Likewise.
9677 * config/epiphany/epiphany.c: Likewise.
9678 * config/epiphany/mode-switch-use.c: Likewise.
9679 * config/epiphany/resolve-sw-modes.c: Likewise.
9680 * config/fr30/fr30.c: Likewise.
9681 * config/frv/frv.c: Likewise.
9682 * config/ft32/ft32.c: Likewise.
9683 * config/h8300/h8300.c: Likewise.
9684 * config/i386/i386-c.c: Likewise.
9685 * config/i386/i386.c: Likewise.
9686 * config/i386/msformat-c.c: Likewise.
9687 * config/i386/winnt-cxx.c: Likewise.
9688 * config/i386/winnt-stubs.c: Likewise.
9689 * config/i386/winnt.c: Likewise.
9690 * config/ia64/ia64-c.c: Likewise.
9691 * config/ia64/ia64.c: Likewise.
9692 * config/iq2000/iq2000.c: Likewise.
9693 * config/lm32/lm32.c: Likewise.
9694 * config/m32c/m32c-pragma.c: Likewise.
9695 * config/m32c/m32c.c: Likewise.
9696 * config/m32r/m32r.c: Likewise.
9697 * config/m68k/m68k.c: Likewise.
9698 * config/mcore/mcore.c: Likewise.
9699 * config/mep/mep-pragma.c: Likewise.
9700 * config/mep/mep.c: Likewise.
9701 * config/microblaze/microblaze-c.c: Likewise.
9702 * config/microblaze/microblaze.c: Likewise.
9703 * config/mips/mips.c: Likewise.
9704 * config/mmix/mmix.c: Likewise.
9705 * config/mn10300/mn10300.c: Likewise.
9706 * config/moxie/moxie.c: Likewise.
9707 * config/msp430/msp430-c.c: Likewise.
9708 * config/msp430/msp430.c: Likewise.
9709 * config/nds32/nds32-cost.c: Likewise.
9710 * config/nds32/nds32-fp-as-gp.c: Likewise.
9711 * config/nds32/nds32-intrinsic.c: Likewise.
9712 * config/nds32/nds32-isr.c: Likewise.
9713 * config/nds32/nds32-md-auxiliary.c: Likewise.
9714 * config/nds32/nds32-memory-manipulation.c: Likewise.
9715 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
9716 * config/nds32/nds32-predicates.c: Likewise.
9717 * config/nds32/nds32.c: Likewise.
9718 * config/nios2/nios2.c: Likewise.
9719 * config/nvptx/nvptx.c: Likewise.
9720 * config/pa/pa.c: Likewise.
9721 * config/pdp11/pdp11.c: Likewise.
9722 * config/rl78/rl78-c.c: Likewise.
9723 * config/rl78/rl78.c: Likewise.
9724 * config/rs6000/rs6000-c.c: Likewise.
9725 * config/rs6000/rs6000.c: Likewise.
9726 * config/rx/rx.c: Likewise.
9727 * config/s390/s390-c.c: Likewise.
9728 * config/s390/s390.c: Likewise.
9729 * config/sh/sh-c.c: Likewise.
9730 * config/sh/sh-mem.cc: Likewise.
9731 * config/sh/sh.c: Likewise.
9732 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
9733 * config/sh/sh_treg_combine.cc: Likewise.
9734 * config/sol2-c.c: Likewise.
9735 * config/sol2-cxx.c: Likewise.
9736 * config/sol2-stubs.c: Likewise.
9737 * config/sol2.c: Likewise.
9738 * config/sparc/sparc-c.c: Likewise.
9739 * config/sparc/sparc.c: Likewise.
9740 * config/spu/spu-c.c: Likewise.
9741 * config/spu/spu.c: Likewise.
9742 * config/stormy16/stormy16.c: Likewise.
9743 * config/tilegx/mul-tables.c: Likewise.
9744 * config/tilegx/tilegx-c.c: Likewise.
9745 * config/tilegx/tilegx.c: Likewise.
9746 * config/tilepro/mul-tables.c: Likewise.
9747 * config/tilepro/tilepro-c.c: Likewise.
9748 * config/tilepro/tilepro.c: Likewise.
9749 * config/v850/v850-c.c: Likewise.
9750 * config/v850/v850.c: Likewise.
9751 * config/vax/vax.c: Likewise.
9752 * config/visium/visium.c: Likewise.
9753 * config/vms/vms-c.c: Likewise.
9754 * config/vms/vms.c: Likewise.
9755 * config/vxworks.c: Likewise.
9756 * config/xtensa/xtensa.c: Likewise.
9757
9758 2015-07-07 Uros Bizjak <ubizjak@gmail.com>
9759
9760 * config/i386/i386.md (*jcc_bt<mode>): Only split before reload.
9761 Remove operand constraints. Change operand 2 predicate to
9762 nonmemory operand. Limit const_int values to mode bitsize. Only
9763 allow const_int values less than 32 when optimizing for size.
9764 (*jcc_bt<mode>_1, *jcc_bt<mode>_mask): Only split before reload.
9765 Remove operand constraints.
9766 (*bt<mode>): Use SImode for const_int values less than 32.
9767 (regmode): Remove mode attribute.
9768
9769 2015-07-07 Anatoly Sokolov <aesok@post.ru>
9770
9771 * config/moxie/moxie.h (GO_IF_LEGITIMATE_ADDRESS): Remove macros.
9772 * config/moxie/moxie.c (moxie_reg_ok_for_base_p,
9773 moxie_legitimate_address_p): New functions.
9774 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
9775
9776 2015-07-07 Tom de Vries <tom@codesourcery.com>
9777
9778 PR tree-optimization/66642
9779 * tree-parloops.c (transform_to_exit_first_loop_alt): Update function
9780 header comment. Rename split_edge variable to edge_at_split. Split
9781 exit edge to create new loop exit bb. Insert loop exit phis in new
9782 loop exit bb.
9783
9784 2015-07-07 Tom de Vries <tom@codesourcery.com>
9785
9786 * tree-cfg.c (get_virtual_phi): New function.
9787 * tree-cfg.h (get_virtual_phi): Declare.
9788 * tree-ssa-loop-manip.c (replace_uses_in_dominated_bbs)
9789 (rewrite_virtuals_into_loop_closed_ssa): New function.
9790 * tree-ssa-loop-manip.h (rewrite_virtuals_into_loop_closed_ssa):
9791 Declare.
9792 * tree-parloops.c (replace_uses_in_bbs_by): Remove.
9793 (transform_to_exit_first_loop_alt): Use
9794 rewrite_virtuals_into_loop_closed_ssa.
9795
9796 2015-07-07 Richard Biener <rguenther@suse.de>
9797
9798 * fold-const.c (fold_binary_loc): Move
9799 (X & C2) << C1 -> (X << C1) & (C2 << C1) simplification ...
9800 * match.pd: ... here.
9801 Add (X * C1) % C2 -> 0 simplification pattern derived from
9802 extract_muldiv_1.
9803
9804 2015-07-07 Kaz Kojima <kkojima@gcc.gnu.org>
9805
9806 PR target/66780
9807 * config/sh/sh.md (symGOT_load): Revert a part of 2015-03-03
9808 change for target/65249.
9809
9810 2015-07-07 Paulo Matos <pmatos@broadcom.com>
9811
9812 * symtab.c (address_matters_1): Fix typo in comment above.
9813 (can_increase_alignment_p): Likewise.
9814
9815 2015-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
9816
9817 * function.c (free_after_compilation): Clear PROP_cfg in
9818 f->curr_properties.
9819
9820 2015-07-07 Richard Biener <rguenther@suse.de>
9821
9822 * tree-ssa-propagate.c (add_ssa_edge): Dump what edge list we
9823 add which use to.
9824 (add_control_edge): Remove excessive vertical space in dumping.
9825 (process_ssa_edge_worklist): Simulate at most one statement and
9826 return whether we did. Do not simulate PHIs if they are in a
9827 BB not yet simulated.
9828 (ssa_propagate): Adjust to always drain the BB worklist whenever
9829 a BB is available there, likewise the VARYING edges list before
9830 the interesting edge list.
9831
9832 2015-07-07 Christian Bruel <christian.bruel@st.com>
9833
9834 PR target/52144
9835 * config/arm/elf.h (TARGET_ASM_FILE_START_APP_OFF): Delete.
9836
9837 2015-07-07 Richard Biener <rguenther@suse.de>
9838
9839 PR middle-end/66739
9840 * match.pd: Condition A - B ==/!= 0 -> A ==/!= B on single-use
9841 A - B.
9842
9843 2015-07-06 Uros Bizjak <ubizjak@gmail.com>
9844
9845 * config/i386/i386.md (insv<mode>): Rename from insv. Use SWI48
9846 modes for operands 0 and 3. Use SImode for operands 2 and 3.
9847 Copy operand 0 to a temporary if !ext_register_operand. Remove
9848 ancient extract_bit_field workaround.
9849 (insv<mode>_1): Rename from mov<mode>_insv_1.
9850 (*insvqi): Rename from *movqi_insv_2.
9851 * config/i386/i386.c (emit_i386_cw_initialization): Update calls
9852 for renamed insvsi_1.
9853 (promote_duplicated_reg): Ditto for renamed insv<mode>_1.
9854
9855 2015-07-06 Nathan Sidwell <nathan@codesourcery.com>
9856
9857 * config/nvptx/nvptx.c (nvptx_reorg): Remove unused vars. Fix
9858 call to nvptx_reorg_subreg.
9859
9860 2015-07-06 Jim Wilson <jim.wilson@linaro.org>
9861
9862 * graphite-blocking.c (HAVE_isl): Include <stddef.h>.
9863 * graphite-dependencies.c, graphite-interchange.c,
9864 graphite-isl-ast-to-gimple.c, graphite-optimize-isl.c, graphite-poly.c,
9865 graphite-scop-detection.c, graphite-sese-to-poly.c, graphite.c:
9866 Likewise.
9867
9868 2015-07-06 Marc Glisse <marc.glisse@inria.fr>
9869
9870 * match.pd: Remove element_mode inside HONOR_*.
9871 (~ (-A) -> A - 1, ~ (A - 1) -> -A): Handle complex types.
9872 (~X | X -> -1, ~X ^ X -> -1): Merge.
9873 * tree.c (build_each_one_cst): New function.
9874 * tree.h (build_each_one_cst): Likewise.
9875
9876 2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
9877
9878 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
9879 PROCESSOR_IAMCU.
9880
9881 2015-07-06 Steve Ellcey <sellcey@imgtec.com>
9882
9883 * config.gcc <mips*-*-*>: Add fused-madd.opt.
9884 * config/mips/mips.opt (mfused-madd): Remove.
9885 * config/mips/mips.c (mips_rtx_costs): Update cost calculations.
9886 * config/mips/mips.h (TARGET_MIPS8000): New.
9887 (ISA_HAS_FP_MADD4_MSUB4): Remove.
9888 (ISA_HAS_FP_MADDF_MSUBF): Remove.
9889 (ISA_HAS_FP_MADD3_MSUB3): Remove.
9890 (ISA_HAS_NMADD4_NMSUB4): Remove.
9891 (ISA_HAS_NMADD3_NMSUB3): Remove.
9892 (ISA_HAS_FUSED_MADD4): New.
9893 (ISA_HAS_UNFUSED_MADD4): New.
9894 (ISA_HAS_FUSED_MADDF): New.
9895 (ISA_HAS_FUSED_MADD3): New.
9896 * config/mips/mips.md: (fma<mode>4) Change from insn to expand.
9897 (*fma<mode>4_madd3) New.
9898 (*fma<mode>4_madd4) New.
9899 (*fma<mode>4_maddf) New.
9900 (fms<mode>4) New.
9901 (*fms<mode>4_msub3) New.
9902 (*fms<mode>4_msub4) New.
9903 (fnma<mode>4) New.
9904 (*fnma<mode>4_nmadd3) New.
9905 (*fnma<mode>4_nmadd4) New.
9906 (fnms<mode>4) New.
9907 (*fnms<mode>4_nmsub3) New.
9908 (*fnms<mode>4_nmsub4) New.
9909 (*madd4<mode>) Modify to be unfused only.
9910 (*msub4<mode>) Modify to be unfused only.
9911 (*nmadd4<mode>) Modify to be unfused only.
9912 (*nmsub4<mode>) Modify to be unfused only.
9913 (*madd3<mode>) Remove.
9914 (*msub3<mode>) Remove.
9915 (*nmadd3<mode>) Remove.
9916 (*nmsub3<mode>) Remove.
9917 (*nmadd3<mode>_fastmath) Remove.
9918 (*nmsub3<mode>_fastmath) Remove.
9919 (*nmadd4<mode>_fastmath) Update condition.
9920 (*nmsub4<mode>_fastmath) Update condition.
9921
9922 2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
9923
9924 PR target/65956
9925 * config/arm/arm.c (arm_needs_doubleword_align): Drop any outer
9926 alignment attribute, exploring one level down for records and arrays.
9927
9928 2015-07-06 Uros Bizjak <ubizjak@gmail.com>
9929
9930 * config/i386/i386.md (extv<mode>): Rename from extv. Use SWI24
9931 modes for operands 0 and 1. Use SImode for operands 2 and 3.
9932 Copy operand 1 to a temporary if !ext_register_operand. Remove
9933 ancient extract_bit_field workaround.
9934 (*extv<mode>): Rename from *mov<mode>_extv_1.
9935 (*extvqi): Rename from *movqi_extv_1.
9936 (extzv<mode>): Rename from extzv. Use SWI248 modes for
9937 operands 0 and 1. Use SImode for operands 2 and 3. Copy operand 1
9938 to a temporary if !ext_register_operand. Remove ancient
9939 extract_bit_field workaround.
9940 (*extzv<mode>): Rename from *mov<mode>_extzv_1.
9941 (*extzvqi): Rename from *movqi_extzv_2.
9942 (*testqi_ext_3): Remove modes from const_int_operand predicated
9943 operands. Add "n" constraint.
9944 (*btsq, *btrq, *btcq): Remove mode from const_0_to_63 predicated
9945 operand. Add "J" constraint.
9946 (*btsq, *btrq, *btcq peephole2s): Remove mode from
9947 const_0_to_63 predicated operand.
9948 (regmode): New insn attribute.
9949 (*bt<mode>): Use SImode for operand 1. Change operand 1 predicate
9950 to nonmemory_operand. Use regmode insn attribute.
9951 (*jcc_bt<mode>_1): Convert operand 2 to SImode.
9952 (*jcc_bt<mode>_mask): Remove mode from operand 3.
9953 (*jcc_btsi_1, *jcc_btsi_mask_1): Remove patterns.
9954 (tbm_bextri_<mode>): Remove modes from const_0_to_255 predicated
9955 operands. Use "N" constraint instead of "n".
9956
9957 2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
9958
9959 * config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state.
9960
9961 2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
9962
9963 PR target/66749
9964 * config/i386/i386.c (iamcu_cost): New.
9965 (m_IAMCU): Likewise.
9966 (initial_ix86_arch_features): Disable X86_ARCH_CMOV for m_IAMCU.
9967 (processor_target_table): Add an entry for "iamcu".
9968 (processor_alias_table): Likewise.
9969 (ix86_issue_rate): Handle PROCESSOR_IAMCU.
9970 (ix86_adjust_cost): Likewise.
9971 (ia32_multipass_dfa_lookahead): Likewise.
9972 * config/i386/i386.h (processor_type): Add PROCESSOR_IAMCU.
9973 * config/i386/x86-tune.def: Updated for m_IAMCU.
9974
9975 2015-07-06 Richard Biener <rguenther@suse.de>
9976
9977 PR tree-optimization/66772
9978 * tree-ssa-ccp.c (ccp_visit_phi_node): Make sure that copy
9979 values are available in the PHI node BB when there are
9980 still unexecutable edges.
9981
9982 2015-07-06 Richard Biener <rguenther@suse.de>
9983
9984 PR tree-optimization/66767
9985 * tree-vect-loop-manip.c (vect_create_cond_for_align_checks):
9986 Make sure to build the alignment test on a SSA name without
9987 final alignment info valid only if the alignment test
9988 evaluates to true.
9989
9990 2015-07-06 Bernd Schmidt <bernds@codesourcery.com>
9991
9992 PR target/66620
9993 * config/bfin/bfin.c (hwloop_optimize): Create new bb between jump and
9994 loop start when inserting LSETUP.
9995
9996 2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
9997
9998 PR target/53383
9999 * config/i386/i386.c (ix86_option_override_internal): Allow
10000 -mincoming-stack-boundary=3 for 64-bit if SSE is disabled.
10001
10002 2015-07-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10003
10004 * read-md.c (decimal_string): Rename to ...
10005 (md_decimal_string): ... this.
10006 (handle_enum): Reflect this.
10007
10008 2015-07-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
10009
10010 PR target/66731
10011 * config/aarch64/aarch64.md (fnmul<mode>3): Handle -frounding-math.
10012
10013 2015-07-06 Richard Biener <rguenther@suse.de>
10014
10015 PR middle-end/66759
10016 * match.pd: Add missing constraint of y to REAL_CST in
10017 REAL_CST - x CMP y to y - CST CMP x simplification.
10018
10019 2015-07-06 Eric Botcazou <ebotcazou@adacore.com>
10020
10021 PR tree-optimization/66757
10022 * match.pd: Add missing condition to ~X ^ C -> X ^ ~C.
10023
10024 2015-07-05 Chung-Lin Tang <cltang@codesourcery.com>
10025 Sandra Loosemore <sandra@codesourcery.com>
10026
10027 * config/nios2/nios2-protos.h (nios2_symbol_ref_in_small_data_p):
10028 Delete extern declaration.
10029 (gprel_constant_p): Add extern declaration.
10030 * config/nios2/constraints.md ("S"): Use gprel_constant_p
10031 instead of nios2_symbol_ref_in_small_data_p.
10032 * config/nios2/nios2.c (nios2_legitimate_address_p): Likewise.
10033 (nios2_symbol_ref_in_small_data_p): Make static.
10034 (gprel_constant_p): Make non-static.
10035
10036 2015-07-05 Gerald Pfeifer <gerald@pfeifer.com>
10037
10038 * doc/fragments.texi (Target Fragment): Convert debian.org
10039 link to use https.
10040 * doc/install.texi (Configuration): Ditto.
10041
10042 2015-07-05 Jakub Jelinek <jakub@redhat.com>
10043
10044 PR tree-optimization/66718
10045 * tree-vect-stmts.c (vectorizable_call): Replace uses of
10046 GOMP_SIMD_LANE outside of loop with vf - 1 rather than 0.
10047
10048 PR tree-optimization/66718
10049 * tree-vect-stmts.c (vectorizable_assignment, vectorizable_store,
10050 vectorizable_load, vectorizable_condition): Move vectype,
10051 nunits, ncopies computation after checking what kind of statement
10052 stmt is.
10053
10054 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
10055
10056 * target-insns.def (extv, extzv, insv): New targetm instruction
10057 patterns.
10058 * optabs.c (get_extraction_insn): Use them instead of HAVE_*/gen_*
10059 interface.
10060 * recog.c (simplify_while_replacing): Likewise.
10061
10062 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
10063
10064 * target-insns.def (doloop_begin, doloop_end): New targetm
10065 instruction patterns.
10066 * loop-init.c: Include target.h.
10067 (pass_loop2::gate): Use the new targetm patterns instead of
10068 HAVE_*/gen_* interface.
10069 (pass_rtl_doloop::gate): Likewise.
10070 (pass_rtl_doloop::execute): Remove preprocessor condition.
10071 * hw-doloop.c: Build unconditionally.
10072 * loop-doloop.c: Likewise.
10073 (doloop_optimize): Use the new targetm patterns instead of
10074 HAVE_*/gen_* interface.
10075 (doloop_modify): Likewise. Change type of doloop_seq to rtx_insn *.
10076 * modulo-sched.c (doloop_register_get): Likewise.
10077
10078 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
10079
10080 * target-insns.def (clear_cache): New targetm instruction pattern.
10081 * builtins.c (expand_builtin___clear_cache): Use it instead of
10082 HAVE_*/gen_* interface.
10083
10084 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
10085
10086 * target-insns.def (allocate_stack, check_stack, probe_stack)
10087 (probe_stack_address, split_stack_prologue, split_stack_space_check):
10088 New targetm instruction patterns.
10089 * explow.c (allocate_dynamic_stack_space): Use them instead of
10090 HAVE_*/gen_* interface.
10091 (emit_stack_probe): Likewise.
10092 (probe_stack_range): Likewise.
10093 * function.c (thread_prologue_and_epilogue_insns): Likewise.
10094
10095 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
10096
10097 * target-insns.def (stack_protect_set, stack_protect_test): New
10098 targetm instruction patterns.
10099 * cfgexpand.c (stack_protect_prologue): Use them instead of
10100 HAVE_*/gen_* interface.
10101 * function.c (stack_protect_epilogue): Likewise.
10102
10103 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
10104
10105 * expr.h (gen_move_insn_uncast): Delete.
10106 * expr.c (gen_move_insn_uncast): Delete.
10107
10108 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
10109
10110 * target-insns.def (restore_stack_block, restore_stack_function)
10111 (restore_stack_nonlocal, save_stack_block, save_stack_function)
10112 (save_stack_nonlocal): New targetm instruction patterns.
10113 * builtins.c (expand_builtin_apply): Use them instead of
10114 HAVE_*/gen_* interface.
10115 * explow.c (emit_stack_save, emit_stack_restore): Likewise.
10116
10117 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
10118
10119 * target-insns.def (trap): New targetm instruction pattern.
10120 * builtins.c (expand_builtin_trap): Use it instead of HAVE_*/gen_*
10121 interface.
10122 * explow.c (allocate_dynamic_stack_space): Likewise.
10123 * ifcvt.c (find_if_header): Likewise.
10124
10125 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
10126
10127 * target-insns.def (prefetch): New targetm instruction pattern.
10128 * tree-ssa-loop-prefetch.c: Include targeth.
10129 (tree_ssa_prefetch_arrays): Use prefetch targetm pattern instead
10130 of HAVE_*/gen_* interface.
10131 * builtins.c (expand_builtin_prefetch): Likewise.
10132 * toplev.c (process_options): Likewise.
10133
10134 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
10135
10136 * target-insns.def (untyped_call, untyped_return): New targetm
10137 instruction patterns.
10138 * builtins.c (expand_builtin_apply): Use them instead of
10139 HAVE_*/gen_* interface.
10140 (result_vector): Define unconditionally.
10141
10142 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
10143
10144 * target-insns.def (builtin_longjmp, builtin_setjmp_receiver)
10145 (builtin_setjmp_setup, exception_receiver, nonlocal_goto)
10146 (nonlocal_goto_receiver): New targetm instruction patterns.
10147 * builtins.c (expand_builtin_setjmp_setup): Use them instead
10148 of HAVE_*/gen_* interface.
10149 (expand_builtin_setjmp_receiver): Likewise.
10150 (expand_builtin_longjmp, expand_builtin_nonlocal_goto): Likewise.
10151 * except.c (expand_dw2_landing_pad_for_region): Likewise.
10152
10153 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
10154
10155 * target.def: Add code_for_* hooks.
10156 * gentarget-def.c (def_target_insn): Add TARGET_CODE_FOR_* macros.
10157 * defaults.h (HAVE_tablejump, gen_tablejump): Delete.
10158 * target-insns.def (casesi, tablejump): New targetm instruction
10159 patterns.
10160 * expr.c (try_casesi): Use them instead of HAVE_*/gen_* interface.
10161 (do_tablejump): Likewise.
10162 * stmt.c (expand_switch_as_decision_tree_p): Likewise.
10163 (expand_sjlj_dispatch_table): Likewise.
10164 * targhooks.c (default_case_values_threshold): Likewise.
10165
10166 2015-07-04 Sandra Loosemore <sandra@codesourcery.com>
10167
10168 * config/nios2/nios2.c (save_reg, restore_reg): Use plus_constant.
10169 Use rtx_insn * instead of rtx.
10170 (nios2_emit_add_constant): Use rtx_insn * instead of rtx.
10171 (nios2_expand_prologue, nios2_expand_epilogue): Likewise.
10172 (nios2_call_tls_get_addr): Likewise.
10173 (nios2_emit_expensive_div): Likewise.
10174 (nios2_emit_move_sequence): Change return type to bool.
10175 * config/nios2/nios2-protos.h (nios2_emit_move_sequence):
10176 Change return type to bool.
10177
10178 2015-07-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
10179
10180 PR target/66747
10181 * config/mips/mips.c (mips_find_gp_ref): Handle instruction sequences.
10182
10183 2015-07-04 John David Anglin <danglin@gcc.gnu.org>
10184
10185 PR target/66114
10186 * config/pa/pa.md (indirect_jump): Use pmode_register_operand instead
10187 of register_operand. Remove constraint.
10188
10189 2015-07-04 Marc Glisse <marc.glisse@inria.fr>
10190
10191 * tree-cfg.c (verify_gimple_assign_ternary) <VEC_COND_EXPR>: Check
10192 the first argument.
10193
10194 2015-07-03 Paolo Carlini <paolo.carlini@oracle.com>
10195
10196 * attribs.c (decl_attributes): Guard inform with the return value
10197 of the preceding warning.
10198
10199 2015-07-03 James Greenhalgh <james.greenhalgh@arm.com>
10200
10201 * doc/invoke.texi (moverride): Move to correct section.
10202
10203 2015-07-03 Richard Biener <rguenther@suse.de>
10204
10205 * genmatch.c (commutative_tree_code, commutative_ternary_tree_code):
10206 Copy from tree.c
10207 (dt_operand::gen_gimple_expr): After valueizing operands
10208 re-canonicalize operand order for commutative tree codes.
10209
10210 2015-07-03 H.J. Lu <hongjiu.lu@intel.com>
10211
10212 PR target/66746.
10213 * config/i386/ia32intrin.h (__crc32b): Don't define if __iamcu__
10214 is defined.
10215 (__crc32w): Likewise.
10216 (__crc32d): Likewise.
10217 (__rdpmc): Likewise.
10218 (__rdtscp): Likewise.
10219 (_rdpmc): Likewise.
10220 (_rdtscp): Likewise.
10221 * config/i386/x86intrin.h: Only include ia32intrin.h if __iamcu__
10222 is defined.
10223
10224 2015-07-03 Richard Biener <rguenther@suse.de>
10225
10226 * fold-const.c (fold_mathfn_compare): Remove.
10227 (fold_inf_compare): Likewise.
10228 (fold_comparison): Move floating point comparison simplifications...
10229 * match.pd: ... to patterns here. Introduce simple_comparisons
10230 operator list and use it for patterns formerly in fold_comparison.
10231
10232 2015-07-03 James Greenhalgh <james.greenhalgh@arm.com>
10233
10234 PR tree-optimization/66119
10235 * toplev.c (process_options): Don't set up default values for
10236 the sra_max_scalarization_size_{speed,size} parameters.
10237 * tree-sra (analyze_all_variable_accesses): If no values
10238 have been set for the sra_max_scalarization_size_{speed,size}
10239 parameters, call get_move_ratio to get target defaults.
10240
10241 2015-07-03 Richard Biener <rguenther@suse.de>
10242
10243 * fold-const.c (fold_binary_loc): Move (T)ptr & CST folding...
10244 * match.pd: ... here.
10245
10246 2015-07-03 Gerald Pfeifer <gerald@pfeifer.com>
10247
10248 PR target/37072
10249 * doc/invoke.texi (i386 and x86-64 Options): -mno-fancy-math-387
10250 is not actually the default on FreeBSD.
10251
10252 2015-07-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10253
10254 * config/rs6000/rs6000-builtin.def (CMPGE_16QI): New built-in
10255 definition.
10256 (CMPGE_8HI): Likewise.
10257 (CMPGE_4SI): Likewise.
10258 (CMPGE_2DI): Likewise.
10259 (CMPGE_U16QI): Likewise.
10260 (CMPGE_U8HI): Likewise.
10261 (CMPGE_U4SI): Likewise.
10262 (CMPGE_U2DI): Likewise.
10263 (CMPLE_16QI): Likewise.
10264 (CMPLE_8HI): Likewise.
10265 (CMPLE_4SI): Likewise.
10266 (CMPLE_2DI): Likewise.
10267 (CMPLE_U16QI): Likewise.
10268 (CMPLE_U8HI): Likewise.
10269 (CMPLE_U4SI): Likewise.
10270 (CMPLE_U2DI): Likewise.
10271 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
10272 overloads for ALTIVEC_BUILTIN_VEC_CMPGE and
10273 ALTIVEC_BUILTIN_VEC_CMPLE.
10274 * config/rs6000/vector.md (vector_ge<mode>): Restrict to
10275 floating-point vector modes.
10276 (vector_nlt<mode>): New define_expand.
10277 (vector_nltu<mode>): Likewise.
10278 (vector_ngt<mode>): Likewise.
10279 (vector_ngtu<mode>): Likewise.
10280
10281 2015-07-02 Segher Boessenkool <segher@kernel.crashing.org>
10282
10283 PR rtl-optimization/66706
10284 * combine.c (make_compound_operation): If an AND of SUBREG of
10285 LSHIFTRT does not simplify, see if just the AND of SUBREG does.
10286
10287 2015-07-02 Alan Lawrence <alan.lawrence@arm.com>
10288
10289 * tree-pass.h (make_pass_ch_vect): New.
10290 * passes.def: Add pass_ch_vect just before pass_if_conversion.
10291
10292 * tree-ssa-loop-ch.c (ch_base, pass_ch_vect, pass_data_ch_vect,
10293 pass_ch::process_loop_p, pass_ch_vect::process_loop_p,
10294 make_pass_ch_vect): New.
10295 (pass_ch): Extend ch_base.
10296
10297 (pass_ch::execute): Move all but loop_optimizer_init/finalize to...
10298 (ch_base::copy_headers): ...here.
10299
10300 2015-07-02 Richard Biener <rguenther@suse.de>
10301
10302 * builtins.c (get_pointer_alignment_1): Handle POINTER_PLUS_EXPR.
10303 * fold-const.c (get_pointer_modulus_and_residue): Remove.
10304 (fold_binary_loc): Implement (T)ptr & CST in terms of
10305 get_pointer_alignment_1.
10306 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop):
10307 Make sure to build the alignment test on a SSA name without
10308 final alignment info valid only after the prologue.
10309
10310 2015-07-02 Hans-Peter Nilsson <hp@axis.com>
10311
10312 * config/cris/cris.md ("epilogue"): Remove condition.
10313 ("prologue"): Ditto.
10314
10315 2015-07-02 Richard Biener <rguenther@suse.de>
10316
10317 * tree-ssa-dom.c (build_and_record_new_cond): Add optional
10318 parameter to record a condition that is false.
10319 (record_conditions): When recording an extra NE_EXPR that is
10320 true also record a EQ_EXPR that is false.
10321
10322 2015-07-02 Bin Cheng <bin.cheng@arm.com>
10323
10324 * tree-ssa-loop-ivopts.c (struct ivopts_data): New field iv_obstack.
10325 (tree_ssa_iv_optimize_init): Initialize iv_obstack.
10326 (alloc_iv): New parameter. Allocate struct iv using obstack_alloc.
10327 (set_iv, find_interesting_uses_address, add_candidate_1): New
10328 argument to alloc_iv.
10329 (find_interesting_uses_op, find_interesting_uses_cond): Don't
10330 duplicate struct iv.
10331 (free_loop_data): Don't free struct iv explicitly.
10332 (tree_ssa_iv_optimize_finalize): Free iv_obstack.
10333
10334 2015-07-01 DJ Delorie <dj@redhat.com>
10335
10336 * config/s390/tpf.h (LIBSTDCXX): Change to CPP1.
10337 (LIB_SPEC): Add.
10338 (SUPPORTS_DISCRIMINATOR): Define.
10339
10340 2015-07-01 Richard Sandiford <richard.sandiford@arm.com>
10341
10342 PR bootstrap/66685
10343 * rtl.c (classify_insn): Only return JUMP_INSN for parallel returns if
10344 there are no CALLs in the same pattern.
10345
10346 2015-07-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
10347
10348 PR rtl-optimization/61047
10349 * rtlanal.c (get_initial_register_offset): New function.
10350 (rtx_addr_can_trap_p_1): Check offsets of stack references.
10351
10352 2015-07-01 Richard Biener <rguenther@suse.de>
10353
10354 * fold-const.c (fold_comparison): Move X - Y CMP 0 -> X CMP Y,
10355 X * C1 CMP 0 -> X CMP 0, X CMP X, ~X CMP ~Y -> Y CMP X and
10356 ~X CMP C -> X CMP' ~C to ...
10357 * match.pd: ... patterns here.
10358
10359 2015-07-01 Nick Clifton <nickc@redhat.com>
10360
10361 * config/msp430/msp430.md (zero_extendhipsi2): Use MOVX.A to store
10362 a 16-bit value into a 20-bit memory slot.
10363
10364 2015-07-01 Jiong Wang <jiong.wang@arm.com>
10365
10366 * doc/sourcebuild.texi (AArch64-specific attributes): Document
10367 "aarch64_tiny", "aarch64_small", "aarch64_large",
10368 "aarch64_little_endian", "aarch64_big_endian".
10369
10370 2015-07-01 Jiong Wang <jiong.wang@arm.com>
10371
10372 * doc/sourcebuild.texi (AArch64-specific attributes): New subsection.
10373 Document "aarch64_small_fpic".
10374
10375 2015-07-01 Jiong Wang <jiong.wang@arm.com>
10376
10377 * configure.ac: Add check for aarch64 assembler -fpic relocation
10378 modifier support.
10379 * configure: Regenerate.
10380 * config.in: Regenerate.
10381 * config/aarch64/aarch64.c (initialize_aarch64_code_model): Fall back
10382 to -fPIC if not support of -fpic relocation modifier in assembler.
10383
10384 2015-07-01 Richard Sandiford <richard.sandiford@arm.com>
10385
10386 PR bootstrap/66685
10387 * rtl.c (classify_insn): Handle returns in PARALLELs.
10388
10389 2015-07-01 Eric Botcazou <ebotcazou@adacore.com>
10390
10391 PR middle-end/66633
10392 * tree-nested.c (convert_nonlocal_omp_clauses): Initialize need_chain
10393 to true if the function is nested and if not optimizing.
10394 (convert_local_omp_clauses): Initialize need_frame to true if the
10395 function contains nested functions and if not optimizing.
10396
10397 2015-07-01 Richard Biener <rguenther@suse.de>
10398
10399 * fold-const.c (fold_binary_loc): Move ~X ^ X -> -1 and
10400 (X & Y) ^ Y -> ~X & Y transforms to ...
10401 * match.pd: ... here.
10402
10403 2015-07-01 Richard Biener <rguenther@suse.de>
10404
10405 * genmatch.c (expr::gen_transform): Shortcut re-simplifying
10406 of converts to avoid uninteresting noise from the conversion
10407 simplifying patterns.
10408
10409 2015-06-30 Sandra Loosemore <sandra@codesourcery.com>
10410
10411 * config/c6x/c6x.c (try_rename_operands): Do not depend on
10412 gcc_assert evaluating its argument for side-effect.
10413
10414 2015-06-30 Kaz Kojima <kkojima@gcc.gnu.org>
10415
10416 PR target/64833
10417 * config/sh/sh.md (casesi_worker_1): Set length to 8 when
10418 flag_pic is set.
10419
10420 2015-06-30 Eric Botcazou <ebotcazou@adacore.com>
10421
10422 * lto-streamer-out.c (class DFS): Adjust hash_scc method.
10423 (DFS::DFS): Pass this_ref_p and ref_p to hash_scc.
10424 (hash_scc): Add this_ref_p and ref_p parameters and pass them
10425 to the inner DFS walk.
10426
10427 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
10428
10429 * target-insns.def (jump): New targetm instruction pattern.
10430 * bb-reorder.c (get_uncond_jump_length): Use targetm.gen_jump
10431 instead of gen_jump.
10432 (fix_up_crossing_landing_pad): Likewise.
10433 (add_labels_and_missing_jumps): Likewise.
10434 (fix_crossing_conditional_branches): Likewise.
10435 * cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
10436 (force_nonfallthru_and_redirect): Likewise.
10437 * cse.c (cse_insn): Likewise.
10438 * expmed.c (expand_divmod): Likewise.
10439 * expr.c (store_expr_with_bounds, expand_expr_real_2): Likewise.
10440 * haifa-sched.c (init_before_recovery): Likewise.
10441 (sched_create_recovery_edges): Likewise.
10442 * ifcvt.c (find_cond_trap): Likewise.
10443 * optabs.c (expand_doubleword_shift, expand_doubleword_clz): Likewise.
10444 (expand_float, expand_fix): Likewise.
10445 * stmt.c (emit_jump): Likewise.
10446
10447 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
10448
10449 * defaults.h (HAVE_load_multiple, gen_load_multiple)
10450 (HAVE_store_multiple, gen_store_multiple): Delete.
10451 * target-insns.def (load_multiple, store_multiple): New targetm
10452 instruction patterns.
10453 * expr.c (move_block_to_reg, move_block_from_reg): Use them instead
10454 of HAVE_*/gen_* interface.
10455
10456 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
10457
10458 * defaults.h (HAVE_mem_thread_fence, gen_mem_thread_fence)
10459 (HAVE_memory_barrier, gen_memory_barrier, HAVE_mem_signal_fence)
10460 (gen_mem_signal_fence): Delete.
10461 * target-insns.def (mem_signal_fence, mem_thread_fence)
10462 (memory_barrier): New targetm instruction patterns.
10463 * optabs.c (expand_mem_thread_fence): Use them instead of HAVE_*/gen_*
10464 interface.
10465 (expand_mem_signal_fence): Likewise.
10466
10467 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
10468
10469 * defaults.h (HAVE_epilogue, gen_epilogue): Delete.
10470 * target-insns.def (epilogue, prologue, sibcall_prologue): New
10471 targetm instruction patterns.
10472 * alias.c (init_alias_analysis): Use them instead of HAVE_*/gen_*
10473 interface.
10474 * calls.c (expand_call): Likewise.
10475 * cfgrtl.c (cfg_layout_finalize): Likewise.
10476 * df-scan.c (df_get_entry_block_def_set): Likewise.
10477 (df_get_exit_block_use_set): Likewise.
10478 * dwarf2cfi.c (pass_dwarf2_frame::gate): Likewise.
10479 * final.c (final_start_function): Likewise.
10480 * function.c (thread_prologue_and_epilogue_insns): Likewise.
10481 (reposition_prologue_and_epilogue_notes): Likewise.
10482 * reorg.c (find_end_label): Likewise.
10483 * toplev.c (process_options): Likewise.
10484
10485 2015-06-30 David Malcolm <dmalcolm@redhat.com>
10486
10487 * typed-splay-tree.h: New file.
10488
10489 2015-06-30 Vladimir Makarov <vmakarov@redhat.com>
10490
10491 PR debug/66691
10492 * lra-int.h (lra_substitute_pseudo): Add a parameter.
10493 (lra_substitute_pseudo_within_insn): Ditto.
10494 * lra.c (lra_substitute_pseudo): Add a parameter. Simplify subreg
10495 of constant.
10496 (lra_substitute_pseudo_within_insn): Add a parameter. Transfer it
10497 to lra_substitute_pseudo.
10498 * lra-lives.c (process_bb_lives): Add an argument to
10499 lra_substitute_pseudo_within_insn call.
10500 * lra-constraints.c (inherit_reload_reg, split_reg): Add an
10501 argument to lra_substitute_pseudo and
10502 lra_substitute_pseudo_within_insn calls.
10503 (remove_inheritance_pseudos, undo_optional_reloads): Ditto.
10504
10505 2015-06-30 H.J. Lu <hongjiu.lu@intel.com>
10506
10507 * configure: Regenerated.
10508
10509 2015-06-30 H.J. Lu <hongjiu.lu@intel.com>
10510
10511 * config.gcc: Support i[34567]86-*-elfiamcu target.
10512 * config/i386/iamcu.h: New.
10513 * config/i386/i386.opt: Add -miamcu.
10514 * doc/invoke.texi: Document -miamcu.
10515 * common/config/i386/i386-common.c (ix86_handle_option): Turn
10516 off x87/MMX/SSE/AVX codegen for -miamcu.
10517 * config/i386/i386-c.c (ix86_target_macros_internal): Define
10518 __iamcu/__iamcu__ for -miamcu.
10519 * config/i386/i386.h (PREFERRED_STACK_BOUNDARY_DEFAULT): Set
10520 to MIN_STACK_BOUNDARY if TARGET_IAMCU is true.
10521 (BIGGEST_ALIGNMENT): Set to 32 if TARGET_IAMCU is true.
10522 * config/i386/i386.c (ix86_option_override_internal): Ignore and
10523 warn -mregparm for Intel MCU. Turn on -mregparm=3 for Intel
10524 MCU by default. Default long double to 64-bit for Intel MCU.
10525 Turn on -freg-struct-return for Intel MCU. Issue an error when
10526 -miamcu is used in 64-bit or x32 mode or if x87, MMX, SSE or
10527 AVX is turned on.
10528 (function_arg_advance_32): Pass value whose size is no larger
10529 than 8 bytes in registers for Intel MCU.
10530 (function_arg_32): Likewise.
10531 (ix86_return_in_memory): Return value whose size is no larger
10532 than 8 bytes in registers for Intel MCU.
10533 (iamcu_alignment): New function.
10534 (ix86_data_alignment): Call iamcu_alignment if TARGET_IAMCU is
10535 true.
10536 (ix86_local_alignment): Don't increase alignment for Intel MCU.
10537 (x86_field_alignment): Return iamcu_alignment if TARGET_IAMCU is
10538 true.
10539
10540 2015-06-30 Marek Polacek <polacek@redhat.com>
10541
10542 * match.pd (X - (X / Y) * Y): Use convert1 and convert2. Convert
10543 both operands of the resulting expression.
10544
10545 * match.pd (~x | x): Don't use tree_nop_conversion_p. Build
10546 the final expression with the operand's type and then convert
10547 it to the type of the expression.
10548
10549 2015-06-30 Richard Biener <rguenther@suse.de>
10550
10551 * fold-const.c (fold_binary_loc): Move ~x & ~y -> ~(x | y) and
10552 ~x | ~y -> ~(x & y), (x & CST) ^ (x & CST2) -> (x & CST) | (x & CST2),
10553 (X | Y) ^ X -> Y & ~ X, ~X ^ ~Y to X ^ Y and ~X ^ C to X ^ ~C ...
10554 * match.pd: ... to patterns here.
10555
10556 2015-06-30 Richard Biener <rguenther@suse.de>
10557
10558 PR tree-optimization/66704
10559 * tree-vect-data-refs.c (vect_setup_realignment): Use
10560 make_ssa_name for non-SSA name source.
10561
10562 2015-06-30 Jakub Jelinek <jakub@redhat.com>
10563
10564 PR middle-end/66702
10565 * omp-low.c (simd_clone_adjust): Handle addressable linear
10566 or uniform parameters or non-gimple type uniform parameters.
10567
10568 2015-06-30 Richard Biener <rguenther@suse.de>
10569
10570 * fold-const.c (fold_unary_loc): Move abs(abs(x)) -> abs(x),
10571 ~ (-A) to A - 1, ~ (A - 1) or ~ (A + -1) to -A and some cases of
10572 ~(X ^ Y) to ~X ^ Y or X ^ ~Y if ~X or ~Y simplify to ...
10573 * match.pd: ... here.
10574 Add a few cases of A - B -> A + (-B) when B "easily" negates.
10575 Move (x & y) | x -> x and friends before
10576 (x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2).
10577
10578 2015-06-30 Eric Botcazou <ebotcazou@adacore.com>
10579
10580 * config/sparc/leon.md (leon_load): Enable for all LEON variants if
10581 -mfix-ut699 is not specified.
10582 (leon3_load): Rename into...
10583 (ut699_load): ...this. Enable for all LEON variants if -mfix-ut699
10584 is specified.
10585
10586 2015-06-30 Marek Polacek <polacek@redhat.com>
10587
10588 * fold-const.c (fold_binary_loc): Move ~X | X folding ...
10589 * match.pd: ... here.
10590
10591 2015-06-30 Richard Biener <rguenther@suse.de>
10592
10593 * target-insns.def (canonicalize_funcptr_for_compare): Add.
10594 * fold-const.c (build_range_check): Replace uses of
10595 HAVE_canonicalize_funcptr_for_compare.
10596 (fold_widened_comparison): Likewise.
10597 (fold_sign_changed_comparison): Likewise.
10598 * dojump.c: Include "target.h".
10599 (do_compare_and_jump): Replace uses of
10600 HAVE_canonicalize_funcptr_for_compare and
10601 gen_canonicalize_funcptr_for_compare.
10602 * expr.c (do_store_flag): Likewise.
10603
10604 2015-06-30 Tom de Vries <tom@codesourcery.com>
10605
10606 PR tree-optimization/66652
10607 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Use
10608 max_loop_iterations to determine if nit + 1 overflows.
10609
10610 2015-06-30 Richard Biener <rguenther@suse.de>
10611
10612 * tree-vrp.c (register_edge_assert_for_2): Also register
10613 asserts for dominating conversion results.
10614
10615 2015-06-30 Bin Cheng <bin.cheng@arm.com>
10616
10617 * tree-ssa-loop-ivopts.c (record_sub_use): Don't reset ssa_name
10618 field in struct iv.
10619
10620 2015-06-29 Jack Howarth <howarth.at.gcc@gmail.com>
10621
10622 PR target/66509
10623 * configure.ac: Fix filds and fildq test for 64-bit.
10624 * configure: Regenerated.
10625
10626 2015-06-29 Nathan Sidwell <nathan@codesourcery.com>
10627
10628 * config/nvptx/nvptx.md (nvptx_reorg_subreg): New fn, broken out of ...
10629 (nvptx_reorg): Here. Keep the non-subreg pieces.
10630
10631 2015-06-29 H.J. Lu <hongjiu.lu@intel.com>
10632
10633 * config/gnu-user.h (GNU_USER_TARGET_ENDFILE_SPEC): Use
10634 PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
10635
10636 2015-06-29 Uros Bizjak <ubizjak@gmail.com>
10637
10638 * config/i386/i386.md (*jcc_1): Use %! in asm template.
10639 Set attribute "length_nobnd" instead of "length".
10640 (*jcc_2): Ditto.
10641 (jump): Ditto.
10642 (*jcc_1_bnd, *jcc_2_bnd, jump_bnd): Remove insn patterns.
10643
10644 2015-06-29 Sandra Loosemore <sandra@codesourcery.com>
10645
10646 * config/nios2/nios2.c (nios2_delegitimize_address): Make
10647 assert less restrictive.
10648
10649 2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
10650
10651 PR fortran/66605
10652 * cgraphunit.c (cgraph_node::finalize_function): Do not call
10653 do_warn_unused_parameter.
10654 * function.c (do_warn_unused_parameter): Move from here.
10655 * function.h (do_warn_unused_parameter): Do not declare.
10656
10657 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
10658
10659 PR target/65697
10660 * gcc.target/arm/armv-sync-comp-swap.c: New.
10661 * gcc.target/arm/armv-sync-op-acquire.c: New.
10662 * gcc.target/arm/armv-sync-op-full.c: New.
10663 * gcc.target/arm/armv-sync-op-release.c: New.
10664
10665 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
10666
10667 PR target/65697
10668 * config/armc/arm.c (arm_split_compare_and_swap): For ARMv8, replace an
10669 initial acquire barrier with final barrier.
10670
10671 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
10672
10673 PR target/65697
10674 * config/armc/arm.c (arm_split_atomic_op): For ARMv8, replace an
10675 initial acquire barrier with final barrier.
10676
10677 2015-06-29 Richard Henderson <rth@redhat.com>
10678
10679 * config/i386/constraints.md (Bf): New constraint.
10680 * config/i386/i386-c.c (ix86_target_macros): Define
10681 __GCC_ASM_FLAG_OUTPUTS__.
10682 * config/i386/i386.c (ix86_md_asm_adjust): Handle =@cc* constraints
10683 as flags outputs.
10684 * doc/extend.texi (FlagOutputOperands): Document them.
10685
10686 2015-06-29 Jiong Wang <jiong.wang@arm.com>
10687
10688 * config/arch64/aarch64.md (UNSPEC_TLSLE): New enumeration.
10689 * config/arch64/aarch64.md (tlsle_small): Rename to tlsle and use new
10690 unspec name.
10691 (tlsle_small_<mode>): Rename to tlsle_<mode> and use new unspec name.
10692 * config/arch64/aarch64-protos.h (arch64_symbol_type): Rename
10693 SYMBOL_SMALL_TPREL to SYMBOL_TLSLE.
10694 (aarch64_symbol_context): Ditto.
10695 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto
10696 and use new pattern name.
10697 (aarch64_expand_mov_immediate): Ditto.
10698 (aarch64_print_operand): Ditto.
10699 (aarch64_classify_tls_symbol): Ditto.
10700
10701 2015-06-29 Marek Polacek <polacek@redhat.com>
10702 Marc Glisse <marc.glisse@inria.fr>
10703
10704 * fold-const.c (fold_binary_loc): Move X - (X / Y) * Y -> X % Y to ...
10705 * match.pd: ... pattern here.
10706
10707 2015-06-29 Tom de Vries <tom@codesourcery.com>
10708
10709 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Simplify
10710 function structure.
10711
10712 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
10713
10714 * doc/invoke.texi (Aarch64 Options, -march): Split out arch and
10715 feature description, split out the native option, add a link to
10716 the feature documentation, rearrange and slightly rewrite text.
10717 (Aarch64 options, -mcpu): Likewise.
10718 (Aarch64 options, Feature Modifiers): Add an anchor. Mention
10719 +rdma implies Adv. SIMD.
10720
10721 2015-06-29 Marek Polacek <polacek@redhat.com>
10722
10723 PR c/66322
10724 * function.c (stack_protect_epilogue): Remove a cast to int.
10725 * doc/invoke.texi: Update -Wswitch-bool description.
10726
10727 2015-06-29 Richard Biener <rguenther@suse.de>
10728
10729 * genmatch.c (add_operator): Treat ADDR_EXPR as atom.
10730 * fold-const.c (fold_binary_loc): Move &A - &B simplification
10731 via ptr_difference_const ...
10732 * match.pd: ... here.
10733 When matching (X ^ Y) == Y also match with swapped operands.
10734
10735 2015-06-29 Richard Biener <rguenther@suse.de>
10736
10737 * lto-streamer.h (LTO_major_version): Bump to 5.
10738
10739 2015-06-29 Richard Biener <rguenther@suse.de>
10740
10741 PR tree-optimization/66677
10742 * tree-vect-stmts.c (vect_transform_stmt): Make assert about
10743 STMT_VINFO_VEC_STMT clobbering less strict.
10744
10745 2015-06-29 Kugan Vivekanandarajah <kuganv@linaro.org>
10746
10747 PR middle-end/64130
10748 * tree-vrp.c (extract_range_from_binary_expr_1): For unsigned
10749 division, compute max and min when value ranges for dividend and
10750 divisor are available.
10751
10752 2015-06-28 Chung-Lin Tang <cltang@codesourcery.com>
10753 Sandra Loosemore <sandra@codesourcery.com>
10754
10755 * regrename.h (regrename_do_replace): Change to return bool.
10756 * regrename.c (rename_chains): Check return value of
10757 regname_do_replace.
10758 (regrename_do_replace): Re-validate the modified insns and
10759 return bool status.
10760 * config/aarch64/cortex-a57-fma-steering.c (rename_single_chain):
10761 Update to match rename_chains changes.
10762 * config/c6x/c6x.c (try_rename_operands): Assert that
10763 regrename_do_replace returns true.
10764
10765 2015-06-28 Uros Bizjak <ubizjak@gmail.com>
10766
10767 * config/i386/i386.md (<mode>_ldx): Do not zero-extend non-Pmode
10768 operand 2 here. Use copy_addr_to_reg to copy non-index
10769 register operand 2 to a temporary.
10770 (<mode>_stx): Ditto for operand 1.
10771 (*<mode>_ldx, *<mode>_stx): Remove enclosing parallel.
10772 * config/i386/i386.c (ix86_load_bounds): Zero-extend non-Pmode ptr here.
10773 (ix86_store_bounds): Ditto.
10774
10775 2015-06-27 Patrick Palka <ppalka@gcc.gnu.org>
10776
10777 * print-tree.c (print_node) [TREE_VEC]: Print its length.
10778
10779 2015-06-26 Andrew MacLeod <amacleod@redhat.com>
10780
10781 * gimple.c (gimple_call_set_fndecl): Remove.
10782 * gimple.h (gimple_call_set_fndecl): Relocate to gimple.h and call
10783 build1_loc directly instead of build_fold_addr_expr_loc.
10784
10785 2015-06-26 Richard Sandiford <richard.sandiford@arm.com>
10786
10787 * hash-map.h (hash_map::traverse): Use the definition of the
10788 Key typedef rather than the typedef itself.
10789
10790 2015-06-26 Martin Jambor <mjambor@suse.cz>
10791
10792 PR debug/66301
10793 * tree-ssa-pre.c (before_dom_children): Check that dump_file is not
10794 NULL instead of calling dump_enabled_p.
10795
10796 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
10797
10798 * config/aarch64/aarch64.opt: (override): New.
10799 * doc/invoke.texi (override): Document.
10800 * config/aarch64/aarch64.c (aarch64_flag_desc): New
10801 (aarch64_fusible_pairs): Likewise.
10802 (aarch64_tuning_flags): Likewise.
10803 (aarch64_tuning_override_function): Likewise.
10804 (aarch64_tuning_override_functions): Likewise.
10805 (aarch64_parse_one_option_token): Likewise.
10806 (aarch64_parse_boolean_options): Likewise.
10807 (aarch64_parse_fuse_string): Likewise.
10808 (aarch64_parse_tune_string): Likewise.
10809 (aarch64_parse_one_override_token): Likewise.
10810 (aarch64_parse_override_string): Likewise.
10811 (aarch64_override_options): Parse the -override string if it
10812 is present.
10813
10814 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
10815
10816 * config/aarch64/aarch64-protos.h (tune_params): Remove
10817 const from members.
10818 (aarch64_tune_params): Remove const, change to no longer be
10819 a pointer.
10820 * config/aarch64/aarch64.c (aarch64_tune_params): Remove const,
10821 change to no longer be a pointer, initialize to generic_tunings.
10822 (aarch64_min_divisions_for_recip_mul): Change dereference of
10823 aarch64_tune_params to member access.
10824 (aarch64_reassociation_width): Likewise.
10825 (aarch64_rtx_mult_cost): Likewise.
10826 (aarch64_address_cost): Likewise.
10827 (aarch64_branch_cost): Likewise.
10828 (aarch64_rtx_costs): Likewise.
10829 (aarch64_register_move_cost): Likewise.
10830 (aarch64_memory_move_cost): Likewise.
10831 (aarch64_sched_issue_rate): Likewise.
10832 (aarch64_builtin_vectorization_cost): Likewise.
10833 (aarch64_override_options): Take a copy of the selected tuning
10834 struct in to aarch64_tune_params, rather than just setting
10835 a pointer, change dereferences of aarch64_tune_params to member
10836 accesses.
10837 (aarch64_override_options_after_change): Change dereferences of
10838 aarch64_tune_params to member access.
10839 (aarch64_macro_fusion_p): Likewise.
10840 (aarch_macro_fusion_pair_p): Likewise.
10841 * config/aarch64/cortex-a57-fma-steering.c (gate): Likewise.
10842
10843 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
10844
10845 * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Delete.
10846 (aarch64_tune_flags): Likewise.
10847 (AARCH64_TUNE_FMA_STEERING): Likewise.
10848 * config/aarch64/aarch64-cores.def (cortex-a57): Remove reference
10849 to AARCH64_FL_USE_FMA_STEERING_PASS.
10850 (cortex-a57.cortex-a53): Likewise.
10851 (cortex-a72): Use cortexa72_tunings.
10852 (cortex-a72.cortex-a53): Likewise.
10853 (exynos-m1): Likewise.
10854 * config/aarch64/aarch64-protos.h (tune_params): Add
10855 a field: extra_tuning_flags.
10856 * config/aarch64/aarch64-tuning-flags.def: New.
10857 * config/aarch64/aarch64-protos.h (AARCH64_EXTRA_TUNING_OPTION): New.
10858 (aarch64_extra_tuning_flags): Likewise.
10859 (aarch64_tune_params): Declare here.
10860 * config/aarch64/aarch64.c (generic_tunings): Set extra_tuning_flags.
10861 (cortexa53_tunings): Likewise.
10862 (cortexa57_tunings): Likewise.
10863 (thunderx_tunings): Likewise.
10864 (xgene1_tunings): Likewise.
10865 (cortexa72_tunings): New.
10866 * config/aarch64/cortex-a57-fma-steering.c: Include aarch64-protos.h.
10867 (gate): Check against aarch64_tune_params.
10868 * config/aarch64/t-aarch64 (cortex-a57-fma-steering.o): Depend on
10869 aarch64-protos.h.
10870
10871 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
10872
10873 * config/aarch64/aarch64-fusion-pairs.def: New.
10874 * config/aarch64/aarch64-protos.h (aarch64_fusion_pairs): New.
10875 * config/aarch64/aarch64.c (AARCH64_FUSE_NOTHING): Move to
10876 aarch64_fusion_pairs.
10877 (AARCH64_FUSE_MOV_MOVK): Likewise.
10878 (AARCH64_FUSE_ADRP_ADD): Likewise.
10879 (AARCH64_FUSE_MOVK_MOVK): Likewise.
10880 (AARCH64_FUSE_ADRP_LDR): Likewise.
10881 (AARCH64_FUSE_CMP_BRANCH): Likewise.
10882
10883 2015-06-26 Jiong Wang <jiong.wang@arm.com>
10884
10885 * config/aarch64/aarch64-protos.h (aarch64_symbol_type): New type
10886 SYMBOL_SMALL_GOT_28K.
10887 * config/aarch64/aarch64.md: (ldr_got_small_<mode>): Support new GOT
10888 relocation modifiers.
10889 (unspec): New enum "UNSPEC_GOTMALLPIC28K.
10890 (ldr_got_small_28k_<mode>): New.
10891 (ldr_got_small_28k_sidi): New.
10892 * config/aarch64/iterators.md (got_modifier): New mode iterator.
10893 * config/aarch64/aarch64-otps.h (aarch64_code_model): New model.
10894 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support
10895 SYMBOL_SMALL_GOT_28K.
10896 (aarch64_rtx_costs): Add costs for new instruction sequences.
10897 (initialize_aarch64_code_model): Initialize new model.
10898 (aarch64_classify_symbol): Recognize new model and new symbol classification.
10899 (aarch64_asm_preferred_eh_data_format): Support new model.
10900 (aarch64_load_symref_appropriately): Generate new instruction
10901 sequences for -fpic.
10902 (TARGET_USE_PSEUDO_PIC_REG): New definition.
10903 (aarch64_use_pseudo_pic_reg): New function.
10904
10905 2015-06-26 Jiong Wang <jiong.wang@arm.com>
10906
10907 * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename
10908 SYMBOL_SMALL_GOT to SYMBOL_SMALL_GOT_4G.
10909 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto.
10910 (aarch64_expand_mov_immediate): Ditto.
10911 (aarch64_print_operand): Ditto.
10912 (aarch64_classify_symbol): Ditto.
10913
10914 2015-06-26 Nathan Sidwell <nathan@codesourcery.com>
10915
10916 * config/nvptx/nvptx.md (call_operation): Remove unused variables.
10917
10918 2015-06-26 Bin Cheng <bin.cheng@arm.com>
10919
10920 PR bootstrap/66638
10921 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Skip if
10922 assertion failed. Remove assertion itself.
10923
10924 2015-06-26 Richard Biener <rguenther@suse.de>
10925
10926 * fold-const.c (fold_binary_loc): Remove -A CMP -B -> A CMP B
10927 and -A CMP CST -> A CMP -CST which is redundant with a pattern
10928 in match.pd.
10929 Move (A | C) == D where C & ~D != 0 -> 0, (X ^ Y) ==/!= 0 -> X ==/!= Y,
10930 (X ^ Y) ==/!= {Y,X} -> {X,Y} ==/!= 0 and
10931 (X ^ C1) op C2 -> X op (C1 ^ C2) to ...
10932 * match.pd: ... patterns here.
10933
10934 2015-06-26 Marek Polacek <polacek@redhat.com>
10935
10936 * match.pd ((x | y) & ~(x & y) -> x ^ y,
10937 (x | y) & (~x ^ y) -> x & y): New patterns.
10938
10939 2015-06-26 Richard Sandiford <richard.sandiford@arm.com>
10940
10941 * rtl.h (emit): Add an optional boolean parameter to control
10942 whether barriers are emitted.
10943 * emit-rtl.c (emit): Likewise.
10944 * gensupport.c (get_emit_function): Return null rather than "emit".
10945 * genemit.c (gen_emit_seq): Handle the null return value.
10946 Don't emit barriers after the final instruction in the sequence.
10947 * gentarget-def.c (main): Don't emit barriers after the instruction.
10948
10949 2015-06-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10950
10951 * config/arm/arm.c (arm_output_multireg_pop): Fix use of
10952 TARGET_UNIFIED_ASM.
10953
10954 2015-06-26 Richard Biener <rguenther@suse.de>
10955
10956 * match.pd: Allow associating FLOAT_TYPE_P when flag_associative_math.
10957
10958 2015-06-26 Richard Biener <rguenther@suse.de>
10959
10960 * match.pd: Allow (p +p off1) +p off2 to (p +p (off1 + off2))
10961 irrespective on whether the inner operation has a single use
10962 of both off are constant.
10963
10964 2015-06-26 Uros Bizjak <ubizjak@gmail.com>
10965 Segher Boessenkool <segher@kernel.crashing.org>
10966
10967 PR target/66412
10968 * config/i386/i386.md (various splitters): Use shallow_copy_rtx
10969 before doing PUT_MODE or PUT_CODE on operands to avoid
10970 in-place RTX modification.
10971
10972 2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
10973
10974 * gentarget-def.c (def_target_insn): Cast return of strtol to
10975 unsigned int.
10976
10977 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
10978
10979 * gimple.h (gimple_call_set_fn): Move inline function.
10980 * gimple.c (gimple_call_set_fn): Relocate here.
10981
10982 2015-06-25 Oleg Endo <olegendo@gcc.gnu.org>
10983
10984 PR target/65979
10985 PR target/66611
10986 * config/sh/sh.md (tstsi_t peephole2): Use insn_invalid_p to check if
10987 the replacement insn will work.
10988
10989 2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
10990
10991 * gcc.c (driver_handle_option): Validate -pie if PIE is enabled
10992 by default.
10993
10994 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
10995
10996 * function.h (ipa_opt_pass, ipa_opt_pass_d): Move forward declarations.
10997 * cgraph.h: Include ipa-ref.h and plugin-api.h.
10998 (ipa_opt_pass, ipa_opt_pass_d)): Relocate forward declarations here.
10999 (symtab_node::address_can_be_compared_p): Move function.
11000 * cgraph.c (symtab_node::address_can_be_compared_p): Relocate function
11001 definition here.
11002 * asan.c: Remove ipa-ref.h and plugin-api.h from include list.
11003 * auto-profile.c: Likewise.
11004 * bb-reorder.c: Likewise.
11005 * builtins.c: Likewise.
11006 * calls.c: Likewise.
11007 * cfgexpand.c: Likewise.
11008 * cgraphbuild.c: Likewise.
11009 * cgraphclones.c: Likewise.
11010 * cgraphunit.c: Likewise.
11011 * combine.c: Likewise.
11012 * coverage.c: Likewise.
11013 * data-streamer-in.c: Likewise.
11014 * data-streamer-out.c: Likewise.
11015 * data-streamer.c: Likewise.
11016 * dbxout.c: Likewise.
11017 * dwarf2out.c: Likewise.
11018 * except.c: Likewise.
11019 * expr.c: Likewise.
11020 * final.c: Likewise.
11021 * fold-const.c: Likewise.
11022 * ggc-page.c: Likewise.
11023 * gimple-fold.c: Likewise.
11024 * gimple-iterator.c: Likewise.
11025 * gimple-pretty-print.c: Likewise.
11026 * gimple-streamer-in.c: Likewise.
11027 * gimple-streamer-out.c: Likewise.
11028 * gimple.c: Likewise.
11029 * gimplify.c: Likewise.
11030 * ipa-chkp.c: Likewise.
11031 * ipa-comdats.c: Likewise.
11032 * ipa-cp.c: Likewise.
11033 * ipa-devirt.c: Likewise.
11034 * ipa-icf-gimple.c: Likewise.
11035 * ipa-icf.c: Likewise.
11036 * ipa-inline-analysis.c: Likewise.
11037 * ipa-inline-transform.c: Likewise.
11038 * ipa-inline.c: Likewise.
11039 * ipa-polymorphic-call.c: Likewise.
11040 * ipa-profile.c: Likewise.
11041 * ipa-prop.c: Likewise.
11042 * ipa-pure-const.c: Likewise.
11043 * ipa-ref.c: Likewise.
11044 * ipa-reference.c: Likewise.
11045 * ipa-split.c: Likewise.
11046 * ipa-utils.c: Likewise.
11047 * ipa-visibility.c: Likewise.
11048 * ipa.c: Likewise.
11049 * langhooks.c: Likewise.
11050 * lto-cgraph.c: Likewise.
11051 * lto-compress.c: Likewise.
11052 * lto-opts.c: Likewise.
11053 * lto-section-in.c: Likewise.
11054 * lto-section-out.c: Likewise.
11055 * lto-streamer-in.c: Likewise.
11056 * lto-streamer-out.c: Likewise.
11057 * lto-streamer.c: Likewise.
11058 * omp-low.c: Likewise.
11059 * opts-global.c: Likewise.
11060 * passes.c: Likewise.
11061 * predict.c: Likewise.
11062 * print-tree.c: Likewise.
11063 * profile.c: Likewise.
11064 * ree.c: Likewise.
11065 * sanopt.c: Likewise.
11066 * stor-layout.c: Likewise.
11067 * symtab.c: Likewise.
11068 * toplev.c: Likewise.
11069 * trans-mem.c: Likewise.
11070 * tree-cfg.c: Likewise.
11071 * tree-chkp.c: Likewise.
11072 * tree-eh.c: Likewise.
11073 * tree-emutls.c: Likewise.
11074 * tree-inline.c: Likewise.
11075 * tree-nested.c: Likewise.
11076 * tree-parloops.c: Likewise.
11077 * tree-pretty-print.c: Likewise.
11078 * tree-profile.c: Likewise.
11079 * tree-sra.c: Likewise.
11080 * tree-ssa-alias.c: Likewise.
11081 * tree-ssa-live.c: Likewise.
11082 * tree-ssa-loop-ivcanon.c: Likewise.
11083 * tree-ssa-loop-ivopts.c: Likewise.
11084 * tree-ssa-pre.c: Likewise.
11085 * tree-ssa-sccvn.c: Likewise.
11086 * tree-ssa-strlen.c: Likewise.
11087 * tree-ssa-structalias.c: Likewise.
11088 * tree-streamer-in.c: Likewise.
11089 * tree-streamer-out.c: Likewise.
11090 * tree-streamer.c: Likewise.
11091 * tree-switch-conversion.c: Likewise.
11092 * tree-tailcall.c: Likewise.
11093 * tree-vect-data-refs.c: Likewise.
11094 * tree-vect-stmts.c: Likewise.
11095 * tree-vectorizer.c: Likewise.
11096 * tree.c: Likewise.
11097 * tsan.c: Likewise.
11098 * ubsan.c: Likewise.
11099 * value-prof.c: Likewise.
11100 * varasm.c: Likewise.
11101 * varpool.c: Likewise.
11102 * config/arm/arm.c: Likewise.
11103 * config/bfin/bfin.c: Likewise.
11104 * config/c6x/c6x.c: Likewise.
11105 * config/cris/cris.c: Likewise.
11106 * config/darwin-c.c: Likewise.
11107 * config/darwin.c: Likewise.
11108 * config/i386/i386.c: Likewise.
11109 * config/i386/winnt.c: Likewise.
11110 * config/microblaze/microblaze.c: Likewise.
11111 * config/mips/mips.c: Likewise.
11112 * config/rs6000/rs6000.c: Likewise.
11113 * config/rx/rx.c: Likewise.
11114 * config/s390/s390.c: Likewise.
11115 * config/tilegx/mul-tables.c: Likewise.
11116
11117 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11118
11119 * config/aarch64/aarch64.c, config/alpha/alpha.c,
11120 config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c,
11121 config/c6x/c6x.c, config/cr16/cr16.c, config/cris/cris.c,
11122 config/fr30/fr30.c, config/frv/frv.c, config/h8300/h8300.c,
11123 config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c,
11124 config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
11125 config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c,
11126 config/microblaze/microblaze.c, config/mips/mips.c,
11127 config/mmix/mmix.c, config/mn10300/mn10300.c,
11128 config/moxie/moxie.c, config/msp430/msp430.c,
11129 config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c,
11130 config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c,
11131 config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c,
11132 config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c,
11133 config/stormy16/stormy16.c, config/tilegx/tilegx.c,
11134 config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
11135 config/visium/visium.c, config/xtensa/xtensa.c: Add comment above
11136 target-def.h include.
11137 * config/ft32/ft32.c: Likewise. Fix misapplied hunk.
11138
11139 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11140
11141 * Makefile.in (TARGET_DEF): Add target-insns.def.
11142 (.PRECIOUS, simple_rtl_generated_h): Add insn-target-def.h.
11143 (build/gentarget-def.o): New rule.
11144 (genprogrtl): Add target-def.
11145 * target-insns.def, gentarget-def.c: New files.
11146 * target.def: Add targetm.have_* and targetm.gen_* hooks,
11147 based on the contents of target-insns.def.
11148 * defaults.h (HAVE_simple_return, gen_simple_return): Delete.
11149 (HAVE_return, gen_return): Delete.
11150 * target-def.h: Include insn-target-def.h.
11151 * cfgrtl.c (force_nonfallthru_and_redirect): Use targetm interface
11152 instead of direct calls. Rely on them to do the appropriate assertions.
11153 * function.c (gen_return_pattern): Likewise. Return an rtx_insn *.
11154 (convert_jumps_to_returns): Use targetm interface instead of
11155 direct calls.
11156 (thread_prologue_and_epilogue_insns): Likewise.
11157 * reorg.c (find_end_label, dbr_schedule): Likewise.
11158 * shrink-wrap.h (SHRINK_WRAPPING_ENABLED): Likewise.
11159 * shrink-wrap.c (convert_to_simple_return): Likewise.
11160 (try_shrink_wrapping): Use SHRINK_WRAPPING_ENABLED.
11161
11162 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11163
11164 * config/aarch64/aarch64.c, config/alpha/alpha.c, config/arm/arm.c,
11165 config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
11166 config/cr16/cr16.c, config/cris/cris.c, config/fr30/fr30.c,
11167 config/frv/frv.c, config/ft32/ft32.c, config/h8300/h8300.c,
11168 config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c,
11169 config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
11170 config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c,
11171 config/microblaze/microblaze.c, config/mips/mips.c, config/mmix/mmix.c,
11172 config/mn10300/mn10300.c, config/moxie/moxie.c, config/msp430/msp430.c,
11173 config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c,
11174 config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c,
11175 config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c,
11176 config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c,
11177 config/stormy16/stormy16.c, config/tilegx/tilegx.c,
11178 config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
11179 config/visium/visium.c, config/xtensa/xtensa.c: Move target-def.h
11180 includes to end.
11181
11182 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11183
11184 * hash-map-traits.h (simple_hashmap_traits::key_type): New typedef.
11185 (unbounded_int_hashmap_traits::key_type): Likewise.
11186 * hash-map.h (hash_map): Get the key type from the traits.
11187 * hash-traits.h (default_hash_traits): By default, inherit from the
11188 template parameter.
11189 * alias.c (alias_set_traits): Delete.
11190 (alias_set_entry_d::children): Use alias_set_hash as the first
11191 template parameter.
11192 (record_alias_subset): Update accordingly.
11193 * except.c (tree_hash_traits): Delete.
11194 (type_to_runtime_map): Use tree_hash as the first template parameter.
11195 (init_eh): Update accordingly.
11196 * genmatch.c (capture_id_map_hasher): Delete.
11197 (cid_map_t): Use nofree_string_hash as first template parameter.
11198 * ipa-icf.h (symbol_compare_hashmap_traits): Delete.
11199 * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
11200 Use symbol_compare_hash as the first template parameter in
11201 subdivide_hash_map.
11202 * mem-stats.h (mem_usage_pair::mem_alloc_hashmap_traits): Delete.
11203 (mem_usage_pair::mem_map_t): Use mem_location_hash as the first
11204 template parameter.
11205 * passes.c (pass_registry_hasher): Delete.
11206 (name_to_pass_map): Use nofree_string_hash as the first template
11207 parameter.
11208 (register_pass_name): Update accordingly.
11209 * sanopt.c (sanopt_tree_map_traits): Delete.
11210 (sanopt_tree_triplet_map_traits): Delete.
11211 (sanopt_ctx::asan_check_map): Use tree_operand_hash as the first
11212 template parameter.
11213 (sanopt_ctx::vptr_check_map): Use sanopt_tree_triplet_hash as
11214 the first template parameter.
11215 * sese.c (rename_map_hasher): Delete.
11216 (rename_map_type): Use tree_ssa_name_hash as the first template
11217 parameter.
11218 * symbol-summary.h (function_summary::summary_hashmap_traits): Delete.
11219 (function_summary::m_map): Use map_hash as the first template
11220 parameter.
11221 (function_summary::release): Update accordingly.
11222 * tree-if-conv.c (phi_args_hash_traits): Delete.
11223 (predicate_scalar_phi): Use tree_operand_hash as the first template
11224 parameter to phi_arg_map.
11225 * tree-inline.h (dependence_hasher): Delete.
11226 (copy_body_data::dependence_map): Use dependence_hash as the first
11227 template parameter.
11228 * tree-inline.c (remap_dependence_clique): Update accordingly.
11229 * tree-ssa-strlen.c (stridxlist_hash_traits): Delete.
11230 (decl_to_stridxlist_htab): Use tree_decl_hash as the first template
11231 parameter.
11232 (addr_stridxptr): Update accordingly.
11233 * value-prof.c (profile_id_traits): Delete.
11234 (cgraph_node_map): Use profile_id_hash as the first template
11235 parameter.
11236 (init_node_map): Update accordingly.
11237 * config/alpha/alpha.c (string_traits): Delete.
11238 (machine_function::links): Use nofree_string_hash as the first
11239 template parameter.
11240 (alpha_use_linkage, alpha_write_linkage): Update accordingly.
11241 * config/m32c/m32c.c (pragma_traits): Delete.
11242 (pragma_htab): Use nofree_string_hash as the first template parameter.
11243 (m32c_note_pragma_address): Update accordingly.
11244 * config/mep/mep.c (pragma_traits): Delete.
11245 (pragma_htab): Use nofree_string_hash as the first template parameter.
11246 (mep_note_pragma_flag): Update accordingly.
11247 * config/mips/mips.c (mips16_flip_traits): Delete.
11248 (mflip_mips16_htab): Use nofree_string_hash as the first template
11249 parameter.
11250 (mflip_mips16_use_mips16_p): Update accordingly.
11251 (local_alias_traits): Delete.
11252 (mips16_local_aliases): Use nofree_string_hash as the first template
11253 parameter.
11254 (mips16_local_alias): Update accordingly.
11255
11256 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11257
11258 * hash-map-traits.h (default_hashmap_traits): Delete.
11259
11260 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11261
11262 * hash-map-traits.h (unbounded_hashmap_traits): New class.
11263 (unbounded_int_hashmap_traits): Likewise.
11264 * cfgexpand.c (part_traits): Use unbounded_int_hashmap_traits.
11265
11266 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11267
11268 * ipa-icf.h (symbol_compare_hash): New class.
11269 (symbol_compare_hashmap_traits): Use it.
11270 * mem-stats.h (mem_alloc_description::mem_location_hash): New class.
11271 (mem_alloc_description::mem_alloc_hashmap_traits): Use it.
11272 (mem_alloc_description::reverse_mem_map_t): Remove redundant
11273 default_hashmap_traits.
11274 * sanopt.c (sanopt_tree_triplet_hash): New class.
11275 (sanopt_tree_triplet_map_traits): Use it.
11276
11277 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11278
11279 * gengtype-parse.c (require_template_declaration): Allow '+' in
11280 template parameters. Consolidate cases.
11281 * hash-traits.h (int_hash): New class.
11282 * alias.c (alias_set_hash): New structure.
11283 (alias_set_traits): Use it.
11284 * symbol-summary.h (function_summary::map_hash): New class.
11285 (function_summary::summary_hashmap_traits): Use it.
11286 * tree-inline.h (dependence_hash): New class.
11287 (dependence_hasher): Use it.
11288 * tree-ssa-reassoc.c (oecount_hasher): Use int_hash.
11289 * value-prof.c (profile_id_hash): New class.
11290 (profile_id_traits): Use it.
11291
11292 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11293
11294 * config/mips/mips.c (mips16_flip_traits): Use it.
11295 (local_alias_traits, mips16_local_aliases): Convert from a map of
11296 rtxes to a map of symbol names.
11297 (mips16_local_alias): Update accordingly.
11298
11299 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11300
11301 * hash-traits.h (string_hash, nofree_string_hash): New classes.
11302 * genmatch.c (capture_id_map_hasher): Use nofree_string_hash.
11303 * passes.c (pass_registry_hasher): Likewise.
11304 * config/alpha/alpha.c (string_traits): Likewise.
11305 * config/i386/winnt.c (i386_find_on_wrapper_list): Likewise.
11306 * config/m32c/m32c.c (pragma_traits): Likewise.
11307 * config/mep/mep.c (pragma_traits): Likewise.
11308
11309 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11310
11311 * tree-hash-traits.h (tree_hash): New class.
11312 * except.c: Include tree-hash-traits.h.
11313 (tree_hash_traits): Use tree_hash.
11314
11315 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11316
11317 * tree-hash-traits.h (tree_ssa_name_hasher): New class.
11318 * sese.c: Include tree-hash-traits.h.
11319 (rename_map_hasher): Use tree_ssa_name_hasher.
11320
11321 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11322
11323 * tree-hash-traits.h (tree_decl_hash): New class.
11324 * tree-ssa-strlen.c: Include tree-hash-traits.h.
11325 (stridxlist_hash_traits): Use tree_decl_hash.
11326
11327 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11328
11329 * tree-hash-traits.h: New file.
11330 (tree_operand_hash): New class.
11331 * sanopt.c: Include tree-hash-traits.h.
11332 (sanopt_tree_map_traits): Use tree_operand_hash.
11333 * tree-if-conv.c: Include tree-hash-traits.h.
11334 (phi_args_hash_traits): Use tree_operand_hash.
11335 * tree-ssa-uncprop.c: Include tree-hash-traits.h.
11336 (val_ssa_equiv_hash_traits): Use tree_operand_hash.
11337
11338 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11339
11340 * hash-map-traits.h: Include hash-traits.h.
11341 (simple_hashmap_traits): New class.
11342 * mem-stats.h (hash_map): Change the default traits to
11343 simple_hashmap_traits<default_hash_traits<Key> >.
11344
11345 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11346
11347 * hash-table.h: Update comments.
11348
11349 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11350
11351 * hash-traits.h (default_hash_traits): New structure.
11352 * hash-set.h (default_hashset_traits): Delete.
11353 (hash_set): Use default_hash_traits<Key> instead of
11354 default_hashset_traits. Delete hash_entry type and use Key directly.
11355 * ipa-devirt.c (pair_traits): Delete.
11356 (default_hash_traits <type_pair>): Override.
11357 (odr_subtypes_equivalent_p): Remove pair_types template parameter.
11358 (odr_types_equivalent_p, add_type_duplicate): Likewise.
11359
11360 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11361
11362 * hash-traits.h (typed_noop_remove): Don't require a pointer type.
11363
11364 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11365
11366 * hash-table.h (has_is_deleted, is_deleted_helper): Delete.
11367 (has_is_empty, is_empty_helper): Delete.
11368 (has_mark_deleted, mark_deleted_helper): Delete.
11369 (has_mark_empty, mark_empty_helper): Delete.
11370 (hash_table::is_deleted): Call the Descriptor unconditionally.
11371 (hash_table::is_empty): Likewise.
11372 (hash_table::mark_deleted): Likewise.
11373 (hash_table::mark_empty): Likewise.
11374
11375 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11376
11377 * cgraph.h (asmname_hasher): Inherit from ggc_ptr_hash. Remove
11378 redundant typedefs and members.
11379 * coverage.c (counts_entry): Inherit from pointer_hash. Remove
11380 redundant typedefs.
11381 * dwarf2out.c (cu_hash_table_entry_hasher): Likewise.
11382 * ipa-devirt.c (odr_name_hasher): Likewise.
11383 (polymorphic_call_target_hasher): Likewise.
11384 * ira-costs.c (cost_classes_hasher): Likewise.
11385 * statistics.c (stats_counter_hasher): Likewise.
11386 * trans-mem.c (log_entry_hasher): Likewise.
11387 * tree-ssa-dom.c (expr_elt_hasher): Likewise.
11388 * tree-ssa-sccvn.c (vn_phi_hasher, vn_reference_hasher): Likewise.
11389 * tree-ssa-tail-merge.c (same_succ_def): Likewise.
11390 * var-tracking.c (variable_hasher): Likewise.
11391 * valtrack.h (dead_debug_hash_descr): Inherit from free_ptr_hash.
11392 Remove redundant typedefs and members.
11393
11394 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11395
11396 * hash-traits.h (ggc_cache_hasher): Rename to...
11397 (ggc_cache_remove): ...this and remove typedefs.
11398 (ggc_cache_ptr_hash): New class.
11399 * hash-table.h: Update commentary.
11400 * emit-rtl.c (const_int_hasher): Inherit from ggc_cache_ptr_hash
11401 rather than ggc_cache_hasher.
11402 (const_wide_int_hasher, reg_attr_hasher): Likewise.
11403 (const_double_hasher, const_fixed_hasher): Likewise.
11404 * function.c (insn_cache_hasher): Likewise.
11405 * trans-mem.c (tm_wrapper_hasher): Likewise.
11406 * tree.h (tree_decl_map_cache_hasher): Likewise.
11407 * tree.c (type_cache_hasher, int_cst_hasher): Likewise.
11408 (cl_option_hasher, tree_vec_map_cache_hasher): Likewise.
11409 * ubsan.c (tree_type_map_cache_hasher): Likewise.
11410 * varasm.c (tm_clone_hasher): Likewise.
11411 * config/i386/i386.c (dllimport_hasher): Likewise.
11412 * config/nvptx/nvptx.c (declared_libfunc_hasher): Likewise.
11413 (tree_hasher): Likewise.
11414
11415 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11416
11417 * hash-traits.h (ggc_hasher): Rename to...
11418 (ggc_remover): ...this and remove typedefs.
11419 (ggc_cache_hasher): Update accordingly. Add typedefs.
11420 (ggc_ptr_hash): New class.
11421 * hash-table.h: Update comment.
11422 * cfgloop.h (loop_exit_hasher): Inherit from ggc_ptr_hash rather than
11423 ggc_hasher.
11424 * cgraph.h (section_name_hasher, cgraph_edge_hasher): Likewise.
11425 (tree_descriptor_hasher): Likewise.
11426 * cgraph.c (function_version_hasher): Likewise.
11427 * dwarf2out.c (indirect_string_hasher, dwarf_file_hasher): Likewise.
11428 (decl_die_hasher, block_die_hasher, decl_loc_hasher): Likewise.
11429 (dw_loc_list_hasher, addr_hasher): Likewise.
11430 * function.h (used_type_hasher): Likewise.
11431 * function.c (temp_address_hasher): Likewise.
11432 * gimple-ssa.h (tm_restart_hasher, ssa_name_hasher): Likewise.
11433 * libfuncs.h (libfunc_hasher): Likewise.
11434 * lto-streamer.h (decl_state_hasher): Likewise.
11435 * optabs.c (libfunc_decl_hasher): Likewise.
11436 * tree-scalar-evolution.c (scev_info_hasher): Likewise.
11437 * varasm.c (section_hasher, object_block_hasher): Likewise.
11438 (const_rtx_desc_hasher): Likewise.
11439 * config/darwin.c (indirection_hasher, cfstring_hasher): Likewise.
11440 * config/rs6000/rs6000.c (toc_hasher, builtin_hasher): Likewise.
11441
11442 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11443
11444 * hash-traits.h (free_ptr_hash): New class.
11445 * dwarf2out.c (decl_table_entry_hasher): Inherit from free_ptr_hash
11446 rather than typed_free_remove. Remove redudant typedefs.
11447 (external_ref_hasher): Likewise.
11448 * except.c (action_record_hasher, ttypes_filter_hasher): Likewise.
11449 (ehspec_hasher): Likewise.
11450 * ggc-common.c (saving_hasher): Likewise.
11451 * gimplify.c (gimplify_hasher): Likewise.
11452 * haifa-sched.c (delay_i2_hasher): Likewise.
11453 * loop-invariant.c (invariant_expr_hasher): Likewise.
11454 * loop-iv.c (biv_entry_hasher): Likewise.
11455 * loop-unroll.c (iv_split_hasher, var_expand_hasher): Likewise.
11456 * trans-mem.c (tm_mem_map_hasher, tm_memop_hasher): Likewise.
11457 * tree-cfg.c (locus_discrim_hasher): Likewise.
11458 * tree-eh.c (finally_tree_hasher): Likewise.
11459 * tree-into-ssa.c (var_info_hasher): Likewise.
11460 * tree-parloops.c (reduction_hasher, name_to_copy_hasher): Likewise.
11461 * tree-ssa-loop-ivopts.c (iv_inv_expr_hasher): Likewise.
11462 * tree-ssa-phiopt.c (ssa_names_hasher): Likewise.
11463 * tree-ssa-pre.c (expr_pred_trans_d): Likewise.
11464 * tree-ssa-sccvn.c (vn_constant_hasher): Likewise.
11465 * tree-ssa-structalias.c (equiv_class_hasher): Likewise.
11466 (shared_bitmap_hasher): Likewise.
11467 * tree-ssa-threadupdate.c (redirection_data): Likewise.
11468 * tree-vectorizer.h (peel_info_hasher): Likewise.
11469 * tree-vectorizer.c (simduid_to_vf, simd_array_to_simduid): Likewise.
11470 * config/mips/mips.c (mips_lo_sum_offset_hasher): Likewise.
11471
11472 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11473
11474 * hash-table.h: Update comments.
11475 * hash-traits.h (pointer_hash): Don't inherit from typed_noop_remove.
11476 (nofree_ptr_hash): New class.
11477 * asan.c (asan_mem_ref_hasher): Inherit from nofree_ptr_hash rather
11478 than typed_noop_remove. Remove redudant typedefs.
11479 * attribs.c (attribute_hasher): Likewise.
11480 * cfg.c (bb_copy_hasher): Likewise.
11481 * cselib.c (cselib_hasher): Likewise.
11482 * dse.c (invariant_group_base_hasher): Likewise.
11483 * dwarf2cfi.c (trace_info_hasher): Likewise.
11484 * dwarf2out.c (macinfo_entry_hasher): Likewise.
11485 (comdat_type_hasher, loc_list_hasher): Likewise.
11486 * gcse.c (pre_ldst_expr_hasher): Likewise.
11487 * genmatch.c (id_base): Likewise.
11488 * genrecog.c (test_pattern_hasher): Likewise.
11489 * gimple-ssa-strength-reduction.c (cand_chain_hasher): Likewise.
11490 * haifa-sched.c (delay_i1_hasher): Likewise.
11491 * hard-reg-set.h (simplifiable_subregs_hasher): Likewise.
11492 * ipa-icf.h (congruence_class_group_hash): Likewise.
11493 * ipa-profile.c (histogram_hash): Likewise.
11494 * ira-color.c (allocno_hard_regs_hasher): Likewise.
11495 * lto-streamer.h (string_slot_hasher): Likewise.
11496 * lto-streamer.c (tree_entry_hasher): Likewise.
11497 * plugin.c (event_hasher): Likewise.
11498 * postreload-gcse.c (expr_hasher): Likewise.
11499 * store-motion.c (st_expr_hasher): Likewise.
11500 * tree-sra.c (uid_decl_hasher): Likewise.
11501 * tree-ssa-coalesce.c (coalesce_pair_hasher): Likewise.
11502 (ssa_name_var_hash): Likewise.
11503 * tree-ssa-live.c (tree_int_map_hasher): Likewise.
11504 * tree-ssa-loop-im.c (mem_ref_hasher): Likewise.
11505 * tree-ssa-pre.c (pre_expr_d): Likewise.
11506 * tree-ssa-sccvn.c (vn_nary_op_hasher): Likewise.
11507 * vtable-verify.h (registration_hasher): Likewise.
11508 * vtable-verify.c (vtbl_map_hasher): Likewise.
11509 * config/arm/arm.c (libcall_hasher): Likewise.
11510 * config/i386/winnt.c (wrapped_symbol_hasher): Likewise.
11511 * config/ia64/ia64.c (bundle_state_hasher): Likewise.
11512 * config/sol2.c (comdat_entry_hasher): Likewise.
11513 * fold-const.c (fold): Use nofree_ptr_hash instead of pointer_hash.
11514 (print_fold_checksum, fold_checksum_tree): Likewise.
11515 (debug_fold_checksum, fold_build1_stat_loc): Likewise.
11516 (fold_build2_stat_loc, fold_build3_stat_loc): Likewise.
11517 (fold_build_call_array_loc): Likewise.
11518 * tree-ssa-ccp.c (gimple_htab): Likewise.
11519 * tree-browser.c (tree_upper_hasher): Inherit from nofree_ptr_hash
11520 rather than pointer_type.
11521
11522 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11523
11524 * hash-traits.h (pointer_hash::mark_deleted, pointer_hash::mark_empty)
11525 (pointer_hash::is_deleted, pointer_hash::is_empty): New functions.
11526
11527 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11528
11529 * hash-traits.h (ggc_hasher::remove): Take a reference parameter.
11530 (ggc_hasher::ggc_mx): Likewise.
11531 (ggc_cache_hasher): Inherit from ggc_hasher. Remove definitions
11532 that duplicate ggc_hasher ones.
11533
11534 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11535
11536 * hash-table.h (hash_table): Add gt_cleare_cache as a friend.
11537 (gt_cleare_cache): Check here for deleted and empty entries.
11538 Replace handle_cache_entry with a call to keep_cache_entry.
11539 * hash-traits.h (ggc_cache_hasher::handle_cache_entry): Delete.
11540 (ggc_cache_hasher::keep_cache_entry): New function.
11541 * trans-mem.c (tm_wrapper_hasher::handle_cache_entry): Delete.
11542 (tm_wrapper_hasher::keep_cache_entry): New function.
11543 * tree.h (tree_decl_map_cache_hasher::handle_cache_entry): Delete.
11544 (tree_vec_map_cache_hasher::keep_cache_entry): New function.
11545 * tree.c (type_cache_hasher::handle_cache_entry): Delete.
11546 (type_cache_hasher::keep_cache_entry): New function.
11547 (tree_vec_map_cache_hasher::handle_cache_entry): Delete.
11548 (tree_vec_map_cache_hasher::keep_cache_entry): New function.
11549 * ubsan.c (tree_type_map_cache_hasher::handle_cache_entry): Delete.
11550 (tree_type_map_cache_hasher::keep_cache_entry): New function.
11551 * varasm.c (tm_clone_hasher::handle_cache_entry): Delete.
11552 (tm_clone_hasher::keep_cache_entry): New function.
11553 * config/i386/i386.c (dllimport_hasher::handle_cache_entry): Delete.
11554 (dllimport_hasher::keep_cache_entry): New function.
11555
11556 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11557
11558 * hash-table.h: Include hash-traits.h.
11559 (typed_free_remove, typed_noop_remove, pointer_hash, ggc_hasher)
11560 (ggc_cache_hasher): Move to...
11561 * hash-traits.h: ...this new file.
11562
11563 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
11564
11565 * tree-core.h (struct tree_optimization_option): Make opts a pointer to
11566 struct cl_optimization.
11567 * tree.h (TREE_OPTIMIZATION): Return the pointer, not the address of it.
11568 * tree.c (make_node_stat): Allocate cl_optimization struct.
11569 (copy_node_stat): Allocate and copy cl_optimization struct.
11570
11571 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
11572
11573 * function.h (struct incoming_args): Move struct.
11574 (pass_by_reference, reference_callee_copied): Remove prototypes.
11575 * emit-rtl.h (struct incoming_args): Relocate struct here.
11576 * calls.h (pass_by_reference, reference_callee_copied): Relocate
11577 prototypes here.
11578 * function.c (pass_by_reference, reference_callee_copied): Move.
11579 * calls.c (pass_by_reference, reference_callee_copied): Relocate here.
11580 * cfgloop.h: Don't include tm.h or hard-reg-set.h.
11581 * ipa-chkp.c: Include calls.h.
11582
11583 2015-06-25 Andrew Macleod <amacleod@redhat.com>
11584
11585 * alias.h (alias_set_type): Move typedef.
11586 * coretypes.h (alias_set_type): Relocate typedef here.
11587 * rtl.h: Don't include alias.h.
11588
11589 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
11590
11591 * cgraph.h (cgraph_rtl_info): Move to rtl.h
11592 (cgraph_node): Maintain pointer to struct cgraph_rtl_info instead of
11593 and instance.
11594 * rtl.h (struct cgraph_rtl_info): Define when HARD_REG_SET available.
11595 * cgraph.c (cgraph_node::rtl_info): Allocate cgraph_rtl_info if one
11596 doesn't exist.
11597 * calls.c: Include hard-reg-set.h before rtl.h.
11598 * ira.c: Likewise.
11599
11600 2015-06-25 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
11601 Vladimir Makarov <vmakarov@redhat.com>
11602
11603 * ira-color.c (assign_hard_reg): Remove unecessary bitmap check.
11604 Add assert.
11605
11606 2015-06-25 Richard Biener <rguenther@suse.de>
11607
11608 * fold-const.c (fold_binary_loc): Move simplification of
11609 (X <<>> C1) & C2 ...
11610 * match.pd: ... here.
11611
11612 2015-06-25 Eric Botcazou <ebotcazou@adacore.com>
11613
11614 * lto-streamer-out.c (DFS::hash_scc): Fix typos & formatting glitches.
11615
11616 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
11617
11618 * match.pd: Add patterns for vec_conds between 1 and 0.
11619
11620 2015-06-25 Richard Biener <rguenther@suse.de>
11621
11622 * tree-vect-stmts.c (vectorizable_conversion): Do not set
11623 STMT_VINFO_VEC_STMT for SLP.
11624 (vectorizable_store): Likewise.
11625 (vectorizable_load): Likewise.
11626 (vect_transform_stmt): Catch SLP vectorization clobbering
11627 STMT_VINFO_VEC_STMT.
11628
11629 2015-06-25 Richard Biener <rguenther@suse.de>
11630
11631 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Improve debug
11632 dumping.
11633 (vect_create_mask_and_perm): Do not set STMT_VINFO_VEC_STMT and
11634 cleanup resulting dead code and parameters.
11635 (vect_transform_slp_perm_load): Adjust.
11636
11637 2015-06-25 Nick Clifton <nickc@redhat.com>
11638
11639 * config/bfin/bfin.c (bfin_expand_prologue): Set
11640 current_function_static_stack_size if flag_stack_usage_info is set.
11641 * config/ft32/ft32.c (ft32_expand_prologue): Likewise.
11642 * config/h8300/h8300.c (h8300_expand_prologue): Likewise.
11643 * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
11644 * config/m32c/m32c.c (m32c_emit_prologue): Likewise.
11645
11646 2015-06-25 Tom de Vries <tom@codesourcery.com>
11647
11648 * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Don't claim in header
11649 comment that the generated IV is unsigned.
11650
11651 2015-06-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
11652
11653 PR target/29693
11654 * config/arm/arm.c (arm_dbx_register_number): Return
11655 DWARF_FRAME_REGISTERS by default.
11656
11657 2015-06-25 Tom de Vries <tom@codesourcery.com>
11658
11659 * dominance.c (calculate_dominance_info): Fix verify_dominators call
11660 argument. Call verify_dominator when reusing dominator info.
11661
11662 2015-06-24 Kaz Kojima <kkojima@gcc.gnu.org>
11663
11664 PR target/66563
11665 * config/sh/sh.md (GOTaddr2picreg): Add a new operand for
11666 an additional element of the unspec vector. Modify indices
11667 of operands.
11668 (builtin_setjmp_receiver): Pass const0_rtx to gen_GOTaddr2picreg.
11669 * config/sh/sh.c (prepare_move_operands): Pass incremented
11670 const_int to gen_GOTaddr2picreg.
11671 (sh_expand_prologue): Pass const0_rtx to gen_GOTaddr2picreg.
11672
11673 2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
11674
11675 * config/aarch64/aarch64.md (<optab><fcvt_target><GPF:mode>2):
11676 Condition on TARGET_FLOAT.
11677
11678 2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
11679
11680 * doc/invoke.texi: Clarify AArch64 feature modifiers (no)fp, (no)simd
11681 and (no)crypto.
11682
11683 2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
11684
11685 * config/aarch64/aarch64-protos.h (aarch64_err_no_fpadvsimd): New.
11686
11687 * config/aarch64/aarch64.md (mov<mode>/GPF, movtf): Use
11688 aarch64_err_no_fpadvsimd.
11689
11690 * config/aarch64/aarch64.c (aarch64_err_no_fpadvsimd): New.
11691 (aarch64_layout_arg, aarch64_init_cumulative_args): Use
11692 aarch64_err_no_fpadvsimd if !TARGET_FLOAT and we need FP regs.
11693 (aarch64_expand_builtin_va_start, aarch64_setup_incoming_varargs):
11694 Turn error into assert, test TARGET_FLOAT.
11695 (aarch64_gimplify_va_arg_expr): Use aarch64_err_no_fpadvsimd, test
11696 TARGET_FLOAT.
11697
11698 2015-06-24 Aldy Hernandez <aldyh@redhat.com>
11699
11700 PR debug/66482
11701 * dwarf2out.c (gen_formal_parameter_die): Remove assert.
11702
11703 2015-06-24 Ilya Enkovich <enkovich.gnu@gmail.com>
11704
11705 * tree-vect-slp.c (vect_build_slp_tree_1): Init vectype.
11706
11707 2015-06-24 Renlin Li <renlin.li@arm.com>
11708
11709 * config/aarch64/aarch64.h(TARGET_CPU_CPP_BUILTINS): Add
11710 __ARM_ALIGN_MAX_PWR, __ARM_ALIGN_MAX_STACK_PWR.
11711
11712 2015-06-24 Richard Biener <rguenther@suse.de>
11713
11714 * genmatch.c (enum tree_code): Add VIEW_CONVERT[012].
11715 (main): Likewise.
11716 (lower_opt_convert): Support lowering of conditional view_convert.
11717 (parser::parse_operation): Likewise.
11718 (parser::parse_for): Likewise.
11719
11720 2015-06-24 Renlin Li <renlin.li@arm.com>
11721
11722 * varasm.c (emit_local): Use unsigned int for align variable.
11723
11724 2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
11725
11726 PR target/63408
11727 * config/arm/arm.c (vfp3_const_double_for_fract_bits): Disable
11728 for negative numbers.
11729
11730 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
11731
11732 PR rtl-optimization/66306
11733 * reload.c (find_reloads): Swap the match_dup info for
11734 commutative operands.
11735
11736 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
11737
11738 * config/s390/vx-builtins.md
11739 ("vec_scatter_element<mode>_<non_vec_int>")
11740 ("vec_scatter_element<V_HW_64:mode>_SI"): Replace gf mode
11741 attribute with bhfgq.
11742
11743 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
11744
11745 * config/s390/s390-builtins.def: Fix vpopct instruction comments.
11746
11747 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
11748
11749 * config/s390/s390-builtin-types.def: Add flag to indicate the
11750 options under which the function type is needed.
11751 * config/s390/s390-builtins.def: Add flag to indicate the options
11752 under which the builtin is enabled.
11753 * config/s390/s390-builtins.h: Add flags parameter to macro
11754 definitions.
11755 (bflags_for_builtin): New function.
11756 (flags_for_builtin): Renamed to ...
11757 (opflags_for_builtin): ... this.
11758 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Rename
11759 flags_for_builtin to bflags_for_builtin and
11760 flags_overloaded_builtin_var to opflags_overloaded_builtin_var.
11761 * config/s390/s390.c: Add initialization of bflags_builtin and
11762 opflags_builtin arrays.
11763 Remove code for flags_builtin.
11764 (s390_init_builtins): Only create builtin function types if one of
11765 their flags is active.
11766 Only create builtins if all of their flags are active.
11767 (s390_expand_builtin): Rename flags_for_builtin to
11768 opflags_for_builtin.
11769
11770 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
11771
11772 * config/s390/vecintrin.h: Remove internal builtins.
11773
11774 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
11775
11776 * config/s390/s390.c (s390_secondary_reload): Fix check for
11777 GENERAL_REGS register class.
11778
11779 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
11780
11781 * config/s390/s390.c (s390_support_vector_misalignment): Call
11782 default implementation for !TARGET_VX.
11783
11784 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
11785
11786 * config/s390/s390.c (s390_legitimate_constant_p): Add
11787 TARGET_VX check.
11788
11789 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
11790
11791 * config/s390/s390.c (s390_vector_abi): New variable definition.
11792 (s390_check_type_for_vector_abi): New function.
11793 (TARGET_ASM_FILE_END): New macro definition.
11794 (s390_asm_file_end): New function.
11795 (s390_function_arg): Call s390_check_type_for_vector_abi.
11796 (s390_gimplify_va_arg): Likewise.
11797 * configure: Regenerate.
11798 * configure.ac: Check for .gnu_attribute Binutils feature.
11799
11800 2015-06-23 Chen Gang <gang.chen.5i5j@gmail.com>
11801
11802 PR target/65803
11803 * config/bfin/bfin.c (hwloop_optimize): Initialize
11804 JUMP_LABEL for newly created jump.
11805
11806 2015-06-23 Tristan Gingold <gingold@adacore.com>
11807
11808 * collect-utils.c (collect_wait): Unlink the response file here
11809 instead of...
11810 (do_wait): ...here.
11811 (utils_cleanup): ...and here.
11812
11813 2015-06-23 Richard Sandiford <richard.sandiford@arm.com>
11814
11815 * df-scan.c: Don't include target-def.h.
11816 * targhooks.c: Likewise.
11817 * config/arm/arm-c.c: Likewise.
11818 * config/i386/i386-c.c: Likewise.
11819 * config/nds32/nds32-cost.c: Likewise.
11820 * config/nds32/nds32-fp-as-gp.c: Likewise.
11821 * config/nds32/nds32-intrinsic.c: Likewise.
11822 * config/nds32/nds32-isr.c: Likewise.
11823 * config/nds32/nds32-md-auxiliary.c: Likewise.
11824 * config/nds32/nds32-memory-manipulation.c: Likewise.
11825 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
11826 * config/nds32/nds32-predicates.c: Likewise.
11827
11828 2015-06-23 Richard Biener <rguenther@suse.de>
11829
11830 PR tree-optimization/66636
11831 * tree-vect-stmts.c (vectorizable_store): Properly compute the
11832 def type for further defs for strided stores.
11833
11834 2015-06-23 Nathan Sidwell <nathan@codesourcery.com>
11835
11836 * config/nvptx/nvptx.md (sel_true<mode>, sel_false<mode>): New
11837 conditional selects.
11838 (setcc_int<mode>, setcc_float<mode>): Reformat.
11839
11840 2015-06-23 Marek Polacek <polacek@redhat.com>
11841
11842 * match.pd ((x + y) - (x | y) -> x & y,
11843 (x + y) - (x & y) -> x | y): New patterns.
11844
11845 2015-06-23 Ludovic Courtès <ludo@gnu.org>
11846
11847 PR 65711
11848 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Move
11849 '-dynamic-linker' within %{!shared: ...}.
11850
11851 2015-06-23 Uros Bizjak <ubizjak@gmail.com>
11852
11853 PR target/66560
11854 * config/i386/predicates.md (addsub_vm_operator): New predicate.
11855 (addsub_vs_operator): Ditto.
11856 (addsub_vs_parallel): Ditto.
11857 * config/i386/sse.md (ssedoublemode): Add V4SF and V2DF modes.
11858 (avx_addsubv4df3, avx_addsubv8sf3, sse3_addsubv2df3, sse3_addsubv4sf3):
11859 Put minus RTX before plus and adjust vec_merge selector.
11860 (*avx_addsubv4df3_1, *avx_addsubv4df3_1s, *sse3_addsubv2df3_1)
11861 (*sse_addsubv2df3_1s, *avx_addsubv8sf3_1, *avx_addsubv8sf3_1s)
11862 (*sse3_addsubv4sf3_1, *sse_addsubv4sf3_1s): Remove insn patterns.
11863 (addsub vec_merge splitters): New combiner splitters.
11864 (addsub vec_select/vec_concat splitters): Ditto.
11865
11866 2015-06-23 Bin Cheng <bin.cheng@arm.com>
11867
11868 PR tree-optimization/66449
11869 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Use
11870 POINTER_PLUS_EXPR for pointers.
11871
11872 2015-06-23 Alan Modra <amodra@gmail.com>
11873
11874 * rtlanal.c (commutative_operand_precedence): Correct comments.
11875 * simplify-rtx.c (simplify_plus_minus_op_data_cmp): Delete forward
11876 declaration. Return an int. Distinguish REG,REG return from
11877 others.
11878 (struct simplify_plus_minus_op_data): Make local to function.
11879 (simplify_plus_minus): Don't set canonicalized if merely sorting
11880 registers. Avoid packing ops if nothing changes. White space fixes.
11881
11882 2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
11883
11884 * gcc.c (default_compilers): Pass "-o %g.s" to cc1 for headers even if
11885 -fdump-ada-spec is passed but not if -fsyntax-only is.
11886
11887 2015-06-22 Vladimir Makarov <vmakarov@redhat.com>
11888
11889 PR bootstrap/63740
11890 * lra-lives.c (process_bb_lives): Check insn copying the same
11891 reload pseudo and don't create a copy for it.
11892
11893 2015-06-22 Tom de Vries <tom@codesourcery.com>
11894
11895 * tree-parloops.c (transform_to_exit_first_loop_alt): Add update_stmt
11896 for cond_stmt.
11897
11898 2015-06-22 Tom de Vries <tom@codesourcery.com>
11899
11900 * builtins.def (DEF_GOMP_BUILTIN): Test
11901 'flag_tree_parallelize_loops > 1' instead of
11902 'flag_tree_parallelize_loops'. Test flag_cilkplus.
11903
11904 2015-06-22 Tom de Vries <tom@codesourcery.com>
11905
11906 * dominance.c (calculate_dominance_info): Verify dominators if
11907 early-out.
11908
11909 2015-06-22 Marek Polacek <polacek@redhat.com>
11910
11911 * match.pd ((x ^ y) ^ (x | y) -> x & y,
11912 (x & y) + (x ^ y) -> x | y, (x & y) | (x ^ y) -> x | y,
11913 (x & y) ^ (x ^ y) -> x | y, (x & y) + (x | y) -> x + y,
11914 (x | y) - (x ^ y) -> x & y, (x | y) - (x & y) -> x ^ y): New patterns.
11915
11916 2015-06-22 Uros Bizjak <ubizjak@gmail.com>
11917
11918 PR target/65871
11919 * config/i386/i386.c (ix86_rtx_costs) <case COMPARE>: Ignore the
11920 cost of embedded comparison.
11921
11922 2015-06-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11923
11924 PR target/65914
11925 * config/rs6000/predicates.md (altivec_register_operand): Permit
11926 virtual stack registers.
11927 (vsx_register_operand): Likewise.
11928 (vfloat_operand): Likewise.
11929 (vint_operand): Likewise.
11930 (vlogical_operand): Likewise.
11931
11932 2015-06-22 Richard Biener <rguenther@suse.de>
11933
11934 * tree-vectorizer.h (_loop_vec_info): Add scalar_cost_vec
11935 and single_scalar_iteration_cost members.
11936 (LOOP_VINFO_SCALAR_ITERATION_COST): New.
11937 (LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST): Likewise.
11938 (vect_get_single_scalar_iteration_cost): Remove.
11939 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
11940 Use LOOP_VINFO_SCALAR_ITERATION_COST.
11941 * tree-vect-loop.c (destroy_loop_vec_info): Free
11942 scalar_cost_vec.
11943 (vect_get_single_scalar_iteration_cost): Compute result into
11944 LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST and
11945 LOOP_VINFO_SCALAR_ITERATION_COST. Make static.
11946 (vect_analyze_loop_2): Call vect_get_single_scalar_iteration_cost.
11947 (vect_estimate_min_profitable_iters): Use them.
11948
11949 2015-06-22 Christian Bruel <christian.bruel@st.com>
11950
11951 PR target/52144
11952 * config/arm/arm.c (add_attribute, arm_insert_attributes): New functions
11953 (TARGET_INSERT_ATTRIBUTES): Define.
11954 (thumb_flipper): New var.
11955 * config/arm/arm.opt (-mflip-thumb): New switch.
11956
11957 2015-06-22 Jan Hubicka <hubicka@ucw.cz>
11958 Martin Liska <mliska@suse.cz>
11959
11960 PR ipa/65908
11961 * ipa-icf.c (sem_item::target_supports_symbol_aliases): Remove
11962 construction of arg_types.
11963 (sem_function::sem_function): Likewise.
11964 (sem_function::~sem_function): Remove destruction of arg_types.
11965 (sem_function::compatible_parm_types_p): New function.
11966 (sem_function::equals_wpa): Reorg matching of return values
11967 and parameter types.
11968 (sem_function::equals_private): Reorg mathcing of argument types.
11969 (sem_function::parse_tree_args): Remove.
11970 * ipa-icf.h (init_wpa): Do not call it.
11971 (parse_tree_args): Remove.
11972 (compatible_parm_types_p): Declare.
11973 (result_type): Remove.
11974 (arg_types): Remove.
11975
11976 2015-06-22 Jan Hubicka <hubicka@ucw.cz>
11977
11978 PR ipa/66351
11979 * ipa-polymorphic-call.c
11980 (ipa_polymorphic_call_context::get_dynamic_type): Fix thinko when
11981 initializing alias oracle; fix formating; set base_alias_set if it
11982 is known.
11983
11984 2015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
11985
11986 * auto-inc-dec.c (reverse_mem, reverse_inc): Remove.
11987 (parse_add_or_inc): Use std::swap instead of reverse_{mem,inc}.
11988 (find_inc): Likewise.
11989 * combine.c (combine_simplify_rtx): Use std::swap instead of manually
11990 swapping.
11991 * df-core.c (df_worklist_dataflow_doublequeue): Likewise.
11992 * df-scan.c (df_swap_refs): Remove.
11993 (df_sort_and_compress_refs): Use std::swap instead of df_swap_refs.
11994 * dominance.c (link_roots): Use std::swap instead of manually swapping.
11995 * expr.c (expand_expr_real_2, do_store_flag): Likewise.
11996 * fold-const.c (fold_relational_const): Likewise.
11997 * genattrtab.c (simplify_test_exp): Likewise.
11998 * gimple-match-head.c (gimple_resimplify2, gimple_resimplify3,
11999 gimple_simplify): Likewise.
12000 * ifcvt.c (noce_try_abs, find_if_header): Likewise.
12001 * internal-fn.c (expand_addsub_overflow, expand_mul_overflow): Likewise.
12002 * ipa-devirt.c (add_type_duplicate): Likewise.
12003 * loop-iv.c (get_biv_step_1, iv_number_of_iterations): Likewise.
12004 * lra-lives.c (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
12005 * lra.c (lra_create_copy): Likewise.
12006 * lto-streamer-out.c (DFS::DFS): Likewise.
12007 * modulo-sched.c (get_sched_window): Likewise.
12008 * omega.c (omega_pretty_print_problem): Likewise.
12009 * optabs.c (prepare_float_lib_cmp, expand_mult_highpart): Likewise.
12010 * reload1.c (reloads_unique_chain_p): Likewise.
12011 * sel-sched-ir.c (exchange_lv_sets, exchange_av_sets): Remove.
12012 (exchange_data_sets): Move logic from exchange_{av,lv}_sets here and
12013 use std::swap.
12014 * simplify-rtx.c (simplify_unary_operation_1): Use std::swap instead of
12015 manually swapping.
12016 * tree-if-conv.c (is_cond_scalar_reduction, predicate_scalar_phi,
12017 predicate_mem_writes): Likewise.
12018 * tree-loop-distribution.c (pg_add_dependence_edges): Likewise.
12019 * tree-predcom.c (combine_chains): Likewise.
12020 * tree-ssa-alias.c (nonoverlapping_component_refs_p,
12021 refs_may_alias_p_1): Likewise.
12022 * tree-ssa-ifcombine.c (recognize_if_then_else): Likewise.
12023 * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
12024 * tree-ssa-loop-niter.c (refine_bounds_using_guard,
12025 number_of_iterations_cond): Likewise.
12026 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
12027 * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Likewise.
12028 * tree-vect-slp.c (vect_build_slp_tree): Likewise.
12029 * tree-vect-stmts.c (supportable_widening_operation): Likewise.
12030 * tree-vrp.c (extract_range_from_binary_expr_1,
12031 extract_range_from_unary_expr_1): Likewise.
12032
12033 2015-06-20 Marek Polacek <polacek@redhat.com>
12034
12035 * common.opt (fsanitize-undefined-trap-on-error): Add Driver.
12036
12037 2015-06-19 Kaz Kojima <kkojima@gcc.gnu.org>
12038
12039 PR target/66591
12040 * config/sh/sh.c (prepare_move_operands): Replace subreg
12041 index term with R0 for base and index addressing.
12042
12043 2015-06-19 Jim Wilson <jim.wilson@linaro.org>
12044
12045 * config/aarch64/aarch64.md (mov<mode>:GPF): Don't call force_reg if
12046 op1 is an fp zero.
12047 (movsf_aarch64): Change condition from register_operand to
12048 aarch64_reg_or_fp_zero for op1. Change type for alternative 6 to
12049 load1. Change type for alternative 7 to store1.
12050 (movdf_aarch64): Likewise.
12051
12052 2015-06-19 James Greenhalgh <james.greenhalgh@arm.com>
12053
12054 * config/vax/vax.md: Adjust sign/zero extend patterns to
12055 handle SUBREGs in operands[1].
12056
12057 2015-06-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12058
12059 * config/i386/i386.c (ix86_function_versions): Use std::swap instead
12060 of manually swapping.
12061 (expand_vec_perm_interleave2): Likewise.
12062
12063 2015-06-19 Ilya Enkovich <enkovich.gnu@gmail.com>
12064
12065 * tree-chkp.c (chkp_compute_bounds_for_assignment): Don't
12066 reuse bounds created for abnormal ssa names.
12067
12068 2015-06-19 Jakub Jelinek <jakub@redhat.com>
12069
12070 * config/nvptx/nvptx.md (allocate_stack): Rename to...
12071 (allocate_stack_<mode>): ... this, and add :P on both
12072 match_operand and unspec.
12073 (allocate_stack): New expander.
12074
12075 2015-06-19 Christian Bruel <christian.bruel@st.com>
12076
12077 PR target/66541
12078 PR target/52144
12079 * config/arm/arm.c (arm_set_current_function): Handle
12080 explicit default options.
12081
12082 2015-06-18 Uros Bizjak <ubizjak@gmail.com>
12083
12084 * config/i386/i386.md (*movsicc_noc_zext): New insn.
12085 (zero-extended cmove with mem peephole2): New pattern.
12086 (cmove with mem peephole2): Merge patterns.
12087
12088 2015-06-18 Segher Boessenkool <segher@kernel.crashing.org>
12089
12090 * config/rs6000/rs6000.h (WORD_REGISTER_OPERATIONS): Delete.
12091
12092 2015-06-18 Steve Ellcey <sellcey@imgtec.com>
12093
12094 * config/mips/mips.c (mips_rtx_costs): Remove HONOR_NAN check.
12095 * config/mips/mips.md (*madd4<mode>): Ditto.
12096 (*nmadd3<mode>) Ditto.
12097 (*nmadd4<mode>_fastmath): Ditto.
12098 (*nmadd3<mode>_fastmath): Ditto.
12099 (*nmsub4<mode>): Ditto.
12100 (*nmsub3<mode>): Ditto.
12101 (*nmsub4<mode>_fastmath): Ditto.
12102 (*nmsub3<mode>_fastmath): Ditto.
12103
12104 2015-06-18 Michael Matz <matz@suse.de>
12105
12106 PR middle-end/66253
12107 * tree-vect-stmts.c (vectorizable_store): Implement non-SLP
12108 grouped strided stores.
12109 (vectorizable_load): Don't use the DR from first_stmt in
12110 the non-SLP grouped strided case.
12111
12112 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
12113
12114 PR target/66569
12115 * function.c (assign_bounds): Add arguments assign_regs,
12116 assign_special, assign_bt.
12117 (assign_parms): For vararg functions handle bounds in BT
12118 and special slots after incoming vararg bounds.
12119
12120 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
12121
12122 PR middle-end/66568
12123 * cfgexpand.c (expand_return): Handle missing bounds.
12124 (expand_gimple_stmt_1): Likewise.
12125 * tree-chkp.c (chkp_expand_zero_bounds): New.
12126 * tree-chkp.h (chkp_expand_zero_bounds): New.
12127
12128 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
12129
12130 PR middle-end/66567
12131 * ipa-chkp.c (chkp_maybe_create_clone): Require
12132 functions to be instrumentable.
12133 * tree-chkp.c (chkp_replace_function_pointer): Use
12134 chkp_instrumentable_p instead of attribute check.
12135
12136 2015-06-18 Richard Biener <rguenther@suse.de>
12137
12138 PR tree-optimization/66510
12139 * tree-vect-stmts.c (vectorizable_load): Properly compute the
12140 number of vector loads for SLP permuted loads.
12141 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Also
12142 check the stride for loop vectorization.
12143 (vect_enhance_data_refs_alignment): Deal with SLP adjusted
12144 vectorization factor.
12145 (vect_analyze_group_access): If the group size is not a power
12146 of two require a epilogue loop.
12147 * tree-vect-loop.c (vect_analyze_loop_2): Move alignment
12148 compute and optimizing and alias test pruning after final
12149 vectorization factor computation.
12150 * tree-vect-slp.c (vect_build_slp_tree_1): Remove check on
12151 vector alignment.
12152 (vect_transform_slp_perm_load): Properly compute the original
12153 number of vector load stmts.
12154
12155 2015-06-18 Uros Bizjak <ubizjak@gmail.com>
12156
12157 * doc/invoke.texi (-fsanitize-sections): Split @var to avoid
12158 "unlikely character , in @var" warning.
12159
12160 2015-06-17 Uros Bizjak <ubizjak@gmail.com>
12161
12162 * config/i386/i386.c (ix86_function_arg): Nest TARGET_64BIT code.
12163 (ix86_function_arg_advance): Ditto.
12164 (ix86_pass_by_reference): Ditto. Rewrite MS_ABI part.
12165
12166 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
12167
12168 * function.h (struct rtl_data): Remove struct and accessor macros.
12169 * emit-rtl.h (struct rtl_data): Relocate to here.
12170 * Makefile.in (GTFILES): Add emit-rtl.h.
12171 * df-core.c: Include emit-rtl.h.
12172 * genattrtab.c: Likewise.
12173 * genconditions.c: Likewise.
12174 * genpreds.c: Likewise.
12175 * genrecog.c: Likewise.
12176 * regcprop.c: Likewise.
12177 * resource.c: Likewise.
12178 * sched-rgn.c: Likewise.
12179 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
12180 * config/i386/winnt.c: Likewise.
12181
12182 2015-06-17 Jakub Jelinek <jakub@redhat.com>
12183
12184 PR middle-end/66429
12185 * omp-low.c (expand_omp_taskreg, expand_omp_target): Use child_cfun
12186 instead of DECL_STRUCT_FUNCTION (child_fn). Or in has_simduid_loops
12187 and has_force_vectorize_loops flags from cfun into
12188 child_cfun.
12189 (expand_omp_simd): For broken loop, set cfun->has_simduid_loops
12190 if simduid is non-NULL.
12191 * tree-pass.h (make_pass_simduid_cleanup): New prototype.
12192 * passes.def (pass_simduid_cleanup): Add new pass after loop
12193 passes.
12194 * tree-vectorizer.c (adjust_simduid_builtins): Remove one unnecessary
12195 indirection from htab argument's type.
12196 (shrink_simd_arrays): New function.
12197 (vectorize_loops): Use it. Adjust adjust_simduid_builtins caller.
12198 Don't call adjust_simduid_builtins if there are no loops.
12199 (pass_data_simduid_cleanup, pass_simduid_cleanup): New variables.
12200 (pass_simduid_cleanup::execute): New method.
12201 (make_pass_simduid_cleanup): New function.
12202
12203 2017-06-17 Andrew MacLeod <amacleod@redhat.com>
12204
12205 * tree-core.h (tree_target_option): Make opts field a pointer to a
12206 cl_target_option instead of an instance of the struct.
12207 * tree.h (TREE_TARGET_OPTION): Return the pointer, not an address of
12208 the structure.
12209 * tree.c (make_node_stat ): Allocate a cl_target_option struct for
12210 TARGET_OPTION_NODE.
12211 (copy_node_stat): Allocate and copy struct cl_target_option.
12212
12213 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
12214
12215 * tree.h (merge_dllimport_decl_attributes, handle_dll_attribute):
12216 Remove conditional exposure of prototypes.
12217 (ANON_AGGRNAME_FORMAT, ANON_AGGRNAME_P): Delete.
12218 * tree.c (anon_aggrname_format, anon_aggrname_p): New. Replace macro
12219 definitions in tree.h with functions.
12220 * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Use
12221 anon_aggrname_p.
12222 * tree-streamer-out.c (write_ts_decl_minimal_tree_pointers): Likewise.
12223
12224 2015-06-17 Segher Boessenkool <segher@kernel.crashing.org>
12225
12226 * config/rs6000/rs6000.md (*cmp<mode>_internal1): Rename to...
12227 (*cmp<mode>_signed): ... this.
12228 (*cmpsi_internal2, *cmpdi_internal2): Merge, rename to...
12229 (*cmp<mode>_unsigned): ... this. Remove %b.
12230
12231 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
12232
12233 * coretypes.h: Include input.h and as-a.h.
12234 * rtl.h: Include input.h and as-a.h for generator files.
12235 * hwint.c: Include coretypes.h, don't include diagnostic-core.h.
12236 * vec.c: Don't include diagnostic-core.h.
12237 * alias.c: Do not include input.h, line-map.h or is-a.h.
12238 * asan.c: Likewise.
12239 * attribs.c: Likewise.
12240 * auto-inc-dec.c: Likewise.
12241 * auto-profile.c: Likewise.
12242 * bb-reorder.c: Likewise.
12243 * bt-load.c: Likewise.
12244 * builtins.c: Likewise.
12245 * caller-save.c: Likewise.
12246 * calls.c: Likewise.
12247 * ccmp.c: Likewise.
12248 * cfg.c: Likewise.
12249 * cfganal.c: Likewise.
12250 * cfgbuild.c: Likewise.
12251 * cfgcleanup.c: Likewise.
12252 * cfgexpand.c: Likewise.
12253 * cfghooks.c: Likewise.
12254 * cfgloop.c: Likewise.
12255 * cfgloop.h: Likewise.
12256 * cfgloopanal.c: Likewise.
12257 * cfgloopmanip.c: Likewise.
12258 * cfgrtl.c: Likewise.
12259 * cgraph.c: Likewise.
12260 * cgraphbuild.c: Likewise.
12261 * cgraphclones.c: Likewise.
12262 * cgraphunit.c: Likewise.
12263 * cilk-common.c: Likewise.
12264 * combine-stack-adj.c: Likewise.
12265 * combine.c: Likewise.
12266 * compare-elim.c: Likewise.
12267 * convert.c: Likewise.
12268 * coverage.c: Likewise.
12269 * cppbuiltin.c: Likewise.
12270 * cprop.c: Likewise.
12271 * cse.c: Likewise.
12272 * cselib.c: Likewise.
12273 * data-streamer-in.c: Likewise.
12274 * data-streamer-out.c: Likewise.
12275 * data-streamer.c: Likewise.
12276 * dbxout.c: Likewise.
12277 * dce.c: Likewise.
12278 * ddg.c: Likewise.
12279 * debug.c: Likewise.
12280 * df-core.c: Likewise.
12281 * df-problems.c: Likewise.
12282 * df-scan.c: Likewise.
12283 * df.h: Likewise.
12284 * dfp.c: Likewise.
12285 * diagnostic-core.h: Likewise.
12286 * diagnostic.c: Likewise.
12287 * dojump.c: Likewise.
12288 * dominance.c: Likewise.
12289 * domwalk.c: Likewise.
12290 * double-int.c: Likewise.
12291 * dse.c: Likewise.
12292 * dumpfile.c: Likewise.
12293 * dumpfile.h: Likewise.
12294 * dwarf2asm.c: Likewise.
12295 * dwarf2cfi.c: Likewise.
12296 * dwarf2out.c: Likewise.
12297 * emit-rtl.c: Likewise.
12298 * et-forest.c: Likewise.
12299 * except.c: Likewise.
12300 * explow.c: Likewise.
12301 * expmed.c: Likewise.
12302 * expr.c: Likewise.
12303 * final.c: Likewise.
12304 * fixed-value.c: Likewise.
12305 * fold-const.c: Likewise.
12306 * function.c: Likewise.
12307 * fwprop.c: Likewise.
12308 * gcc-plugin.h: Likewise.
12309 * gcse.c: Likewise.
12310 * generic-match-head.c: Likewise.
12311 * ggc-page.c: Likewise.
12312 * gimple-builder.c: Likewise.
12313 * gimple-expr.c: Likewise.
12314 * gimple-fold.c: Likewise.
12315 * gimple-iterator.c: Likewise.
12316 * gimple-low.c: Likewise.
12317 * gimple-match-head.c: Likewise.
12318 * gimple-pretty-print.c: Likewise.
12319 * gimple-ssa-isolate-paths.c: Likewise.
12320 * gimple-ssa-strength-reduction.c: Likewise.
12321 * gimple-streamer-in.c: Likewise.
12322 * gimple-streamer-out.c: Likewise.
12323 * gimple-streamer.h: Likewise.
12324 * gimple-walk.c: Likewise.
12325 * gimple.c: Likewise.
12326 * gimplify-me.c: Likewise.
12327 * gimplify.c: Likewise.
12328 * godump.c: Likewise.
12329 * graph.c: Likewise.
12330 * graphite-blocking.c: Likewise.
12331 * graphite-dependences.c: Likewise.
12332 * graphite-interchange.c: Likewise.
12333 * graphite-isl-ast-to-gimple.c: Likewise.
12334 * graphite-optimize-isl.c: Likewise.
12335 * graphite-poly.c: Likewise.
12336 * graphite-scop-detection.c: Likewise.
12337 * graphite-sese-to-poly.c: Likewise.
12338 * graphite.c: Likewise.
12339 * haifa-sched.c: Likewise.
12340 * hw-doloop.c: Likewise.
12341 * ifcvt.c: Likewise.
12342 * init-regs.c: Likewise.
12343 * input.c: Likewise.
12344 * internal-fn.c: Likewise.
12345 * ipa-chkp.c: Likewise.
12346 * ipa-comdats.c: Likewise.
12347 * ipa-cp.c: Likewise.
12348 * ipa-devirt.c: Likewise.
12349 * ipa-icf-gimple.c: Likewise.
12350 * ipa-icf.c: Likewise.
12351 * ipa-inline-analysis.c: Likewise.
12352 * ipa-inline-transform.c: Likewise.
12353 * ipa-inline.c: Likewise.
12354 * ipa-polymorphic-call.c: Likewise.
12355 * ipa-profile.c: Likewise.
12356 * ipa-prop.c: Likewise.
12357 * ipa-pure-const.c: Likewise.
12358 * ipa-ref.c: Likewise.
12359 * ipa-reference.c: Likewise.
12360 * ipa-split.c: Likewise.
12361 * ipa-utils.c: Likewise.
12362 * ipa-visibility.c: Likewise.
12363 * ipa.c: Likewise.
12364 * ira-build.c: Likewise.
12365 * ira-color.c: Likewise.
12366 * ira-conflicts.c: Likewise.
12367 * ira-costs.c: Likewise.
12368 * ira-emit.c: Likewise.
12369 * ira-lives.c: Likewise.
12370 * ira.c: Likewise.
12371 * jump.c: Likewise.
12372 * langhooks.c: Likewise.
12373 * lcm.c: Likewise.
12374 * loop-doloop.c: Likewise.
12375 * loop-init.c: Likewise.
12376 * loop-invariant.c: Likewise.
12377 * loop-iv.c: Likewise.
12378 * loop-unroll.c: Likewise.
12379 * lower-subreg.c: Likewise.
12380 * lra-assigns.c: Likewise.
12381 * lra-coalesce.c: Likewise.
12382 * lra-constraints.c: Likewise.
12383 * lra-eliminations.c: Likewise.
12384 * lra-lives.c: Likewise.
12385 * lra-remat.c: Likewise.
12386 * lra-spills.c: Likewise.
12387 * lra.c: Likewise.
12388 * lto-cgraph.c: Likewise.
12389 * lto-compress.c: Likewise.
12390 * lto-opts.c: Likewise.
12391 * lto-section-in.c: Likewise.
12392 * lto-section-out.c: Likewise.
12393 * lto-streamer-in.c: Likewise.
12394 * lto-streamer-out.c: Likewise.
12395 * lto-streamer.c: Likewise.
12396 * mcf.c: Likewise.
12397 * mode-switching.c: Likewise.
12398 * modulo-sched.c: Likewise.
12399 * omega.c: Likewise.
12400 * omp-low.c: Likewise.
12401 * optabs.c: Likewise.
12402 * opts-global.c: Likewise.
12403 * opts.h: Likewise.
12404 * passes.c: Likewise.
12405 * plugin.c: Likewise.
12406 * postreload-gcse.c: Likewise.
12407 * postreload.c: Likewise.
12408 * predict.c: Likewise.
12409 * pretty-print.h: Likewise.
12410 * print-rtl.c: Likewise.
12411 * print-tree.c: Likewise.
12412 * profile.c: Likewise.
12413 * real.c: Likewise.
12414 * realmpfr.c: Likewise.
12415 * recog.c: Likewise.
12416 * ree.c: Likewise.
12417 * reg-stack.c: Likewise.
12418 * regcprop.c: Likewise.
12419 * reginfo.c: Likewise.
12420 * regrename.c: Likewise.
12421 * regstat.c: Likewise.
12422 * reload.c: Likewise.
12423 * reload1.c: Likewise.
12424 * reorg.c: Likewise.
12425 * resource.c: Likewise.
12426 * rtl-chkp.c: Likewise.
12427 * rtl-error.c: Likewise.
12428 * rtlanal.c: Likewise.
12429 * rtlhooks.c: Likewise.
12430 * sanopt.c: Likewise.
12431 * sched-deps.c: Likewise.
12432 * sched-ebb.c: Likewise.
12433 * sched-rgn.c: Likewise.
12434 * sched-vis.c: Likewise.
12435 * sdbout.c: Likewise.
12436 * sel-sched-dump.c: Likewise.
12437 * sel-sched-ir.c: Likewise.
12438 * sel-sched.c: Likewise.
12439 * sese.c: Likewise.
12440 * shrink-wrap.c: Likewise.
12441 * simplify-rtx.c: Likewise.
12442 * stack-ptr-mod.c: Likewise.
12443 * statistics.c: Likewise.
12444 * stmt.c: Likewise.
12445 * stor-layout.c: Likewise.
12446 * store-motion.c: Likewise.
12447 * streamer-hooks.c: Likewise.
12448 * stringpool.c: Likewise.
12449 * symtab.c: Likewise.
12450 * target-globals.c: Likewise.
12451 * targhooks.c: Likewise.
12452 * toplev.c: Likewise.
12453 * tracer.c: Likewise.
12454 * trans-mem.c: Likewise.
12455 * tree-affine.c: Likewise.
12456 * tree-browser.c: Likewise.
12457 * tree-call-cdce.c: Likewise.
12458 * tree-cfg.c: Likewise.
12459 * tree-cfgcleanup.c: Likewise.
12460 * tree-chkp-opt.c: Likewise.
12461 * tree-chkp.c: Likewise.
12462 * tree-chrec.c: Likewise.
12463 * tree-complex.c: Likewise.
12464 * tree-data-ref.c: Likewise.
12465 * tree-dfa.c: Likewise.
12466 * tree-diagnostic.c: Likewise.
12467 * tree-dump.c: Likewise.
12468 * tree-eh.c: Likewise.
12469 * tree-emutls.c: Likewise.
12470 * tree-if-conv.c: Likewise.
12471 * tree-inline.c: Likewise.
12472 * tree-into-ssa.c: Likewise.
12473 * tree-iterator.c: Likewise.
12474 * tree-loop-distribution.c: Likewise.
12475 * tree-nested.c: Likewise.
12476 * tree-nrv.c: Likewise.
12477 * tree-object-size.c: Likewise.
12478 * tree-outof-ssa.c: Likewise.
12479 * tree-parloops.c: Likewise.
12480 * tree-phinodes.c: Likewise.
12481 * tree-predcom.c: Likewise.
12482 * tree-pretty-print.c: Likewise.
12483 * tree-profile.c: Likewise.
12484 * tree-scalar-evolution.c: Likewise.
12485 * tree-sra.c: Likewise.
12486 * tree-ssa-address.c: Likewise.
12487 * tree-ssa-alias.c: Likewise.
12488 * tree-ssa-ccp.c: Likewise.
12489 * tree-ssa-coalesce.c: Likewise.
12490 * tree-ssa-copy.c: Likewise.
12491 * tree-ssa-copyrename.c: Likewise.
12492 * tree-ssa-dce.c: Likewise.
12493 * tree-ssa-dom.c: Likewise.
12494 * tree-ssa-dse.c: Likewise.
12495 * tree-ssa-forwprop.c: Likewise.
12496 * tree-ssa-ifcombine.c: Likewise.
12497 * tree-ssa-live.c: Likewise.
12498 * tree-ssa-loop-ch.c: Likewise.
12499 * tree-ssa-loop-im.c: Likewise.
12500 * tree-ssa-loop-ivcanon.c: Likewise.
12501 * tree-ssa-loop-ivopts.c: Likewise.
12502 * tree-ssa-loop-manip.c: Likewise.
12503 * tree-ssa-loop-niter.c: Likewise.
12504 * tree-ssa-loop-prefetch.c: Likewise.
12505 * tree-ssa-loop-unswitch.c: Likewise.
12506 * tree-ssa-loop.c: Likewise.
12507 * tree-ssa-math-opts.c: Likewise.
12508 * tree-ssa-operands.c: Likewise.
12509 * tree-ssa-phiopt.c: Likewise.
12510 * tree-ssa-phiprop.c: Likewise.
12511 * tree-ssa-pre.c: Likewise.
12512 * tree-ssa-propagate.c: Likewise.
12513 * tree-ssa-reassoc.c: Likewise.
12514 * tree-ssa-sccvn.c: Likewise.
12515 * tree-ssa-scopedtables.c: Likewise.
12516 * tree-ssa-sink.c: Likewise.
12517 * tree-ssa-strlen.c: Likewise.
12518 * tree-ssa-structalias.c: Likewise.
12519 * tree-ssa-tail-merge.c: Likewise.
12520 * tree-ssa-ter.c: Likewise.
12521 * tree-ssa-threadedge.c: Likewise.
12522 * tree-ssa-threadupdate.c: Likewise.
12523 * tree-ssa-uncprop.c: Likewise.
12524 * tree-ssa-uninit.c: Likewise.
12525 * tree-ssa.c: Likewise.
12526 * tree-ssanames.c: Likewise.
12527 * tree-stdarg.c: Likewise.
12528 * tree-streamer-in.c: Likewise.
12529 * tree-streamer-out.c: Likewise.
12530 * tree-streamer.c: Likewise.
12531 * tree-switch-conversion.c: Likewise.
12532 * tree-tailcall.c: Likewise.
12533 * tree-vect-data-refs.c: Likewise.
12534 * tree-vect-generic.c: Likewise.
12535 * tree-vect-loop-manip.c: Likewise.
12536 * tree-vect-loop.c: Likewise.
12537 * tree-vect-patterns.c: Likewise.
12538 * tree-vect-slp.c: Likewise.
12539 * tree-vect-stmts.c: Likewise.
12540 * tree-vectorizer.c: Likewise.
12541 * tree-vrp.c: Likewise.
12542 * tree.c: Likewise.
12543 * tsan.c: Likewise.
12544 * ubsan.c: Likewise.
12545 * valtrack.c: Likewise.
12546 * value-prof.c: Likewise.
12547 * var-tracking.c: Likewise.
12548 * varasm.c: Likewise.
12549 * varpool.c: Likewise.
12550 * vmsdbgout.c: Likewise.
12551 * vtable-verify.c: Likewise.
12552 * web.c: Likewise.
12553 * wide-int.cc: Likewise.
12554 * xcoffout.c: Likewise.
12555 * common/common-target.h: Do not include input.h, line-map.h or is-a.h.
12556 * common/common-targhooks.c: Likewise.
12557 * config/aarch64/aarch64-builtins.c: Likewise.
12558 * config/aarch64/aarch64.c: Likewise.
12559 * config/alpha/alpha.c: Likewise.
12560 * config/arc/arc.c: Likewise.
12561 * config/arm/aarch-common.c: Likewise.
12562 * config/arm/arm-builtins.c: Likewise.
12563 * config/arm/arm-c.c: Likewise.
12564 * config/arm/arm.c: Likewise.
12565 * config/avr/avr-c.c: Likewise.
12566 * config/avr/avr-log.c: Likewise.
12567 * config/avr/avr.c: Likewise.
12568 * config/bfin/bfin.c: Likewise.
12569 * config/c6x/c6x.c: Likewise.
12570 * config/cr16/cr16.c: Likewise.
12571 * config/cris/cris.c: Likewise.
12572 * config/darwin-c.c: Likewise.
12573 * config/darwin.c: Likewise.
12574 * config/default-c.c: Likewise.
12575 * config/epiphany/epiphany.c: Likewise.
12576 * config/epiphany/mode-switch-use.c: Likewise.
12577 * config/epiphany/resolve-sw-modes.c: Likewise.
12578 * config/fr30/fr30.c: Likewise.
12579 * config/frv/frv.c: Likewise.
12580 * config/ft32/ft32.c: Likewise.
12581 * config/glibc-c.c: Likewise.
12582 * config/h8300/h8300.c: Likewise.
12583 * config/i386/i386-c.c: Likewise.
12584 * config/i386/i386.c: Likewise.
12585 * config/i386/msformat-c.c: Likewise.
12586 * config/i386/winnt-cxx.c: Likewise.
12587 * config/i386/winnt-stubs.c: Likewise.
12588 * config/i386/winnt.c: Likewise.
12589 * config/ia64/ia64-c.c: Likewise.
12590 * config/ia64/ia64.c: Likewise.
12591 * config/iq2000/iq2000.c: Likewise.
12592 * config/lm32/lm32.c: Likewise.
12593 * config/m32c/m32c-pragma.c: Likewise.
12594 * config/m32c/m32c.c: Likewise.
12595 * config/m32r/m32r.c: Likewise.
12596 * config/m68k/m68k.c: Likewise.
12597 * config/mcore/mcore.c: Likewise.
12598 * config/mep/mep-pragma.c: Likewise.
12599 * config/mep/mep.c: Likewise.
12600 * config/microblaze/microblaze-c.c: Likewise.
12601 * config/microblaze/microblaze.c: Likewise.
12602 * config/mips/mips.c: Likewise.
12603 * config/mmix/mmix.c: Likewise.
12604 * config/mn10300/mn10300.c: Likewise.
12605 * config/moxie/moxie.c: Likewise.
12606 * config/msp430/msp430-c.c: Likewise.
12607 * config/msp430/msp430.c: Likewise.
12608 * config/nds32/nds32-cost.c: Likewise.
12609 * config/nds32/nds32-fp-as-gp.c: Likewise.
12610 * config/nds32/nds32-intrinsic.c: Likewise.
12611 * config/nds32/nds32-isr.c: Likewise.
12612 * config/nds32/nds32-md-auxiliary.c: Likewise.
12613 * config/nds32/nds32-memory-manipulation.c: Likewise.
12614 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
12615 * config/nds32/nds32-predicates.c: Likewise.
12616 * config/nds32/nds32.c: Likewise.
12617 * config/nios2/nios2.c: Likewise.
12618 * config/nvptx/nvptx.c: Likewise.
12619 * config/pa/pa.c: Likewise.
12620 * config/pdp11/pdp11.c: Likewise.
12621 * config/rl78/rl78-c.c: Likewise.
12622 * config/rl78/rl78.c: Likewise.
12623 * config/rs6000/rs6000-c.c: Likewise.
12624 * config/rs6000/rs6000.c: Likewise.
12625 * config/rx/rx.c: Likewise.
12626 * config/s390/s390-c.c: Likewise.
12627 * config/s390/s390.c: Likewise.
12628 * config/sh/sh-c.c: Likewise.
12629 * config/sh/sh-mem.cc: Likewise.
12630 * config/sh/sh.c: Likewise.
12631 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
12632 * config/sh/sh_treg_combine.cc: Likewise.
12633 * config/sol2-c.c: Likewise.
12634 * config/sol2-cxx.c: Likewise.
12635 * config/sol2-stubs.c: Likewise.
12636 * config/sol2.c: Likewise.
12637 * config/sparc/sparc-c.c: Likewise.
12638 * config/sparc/sparc.c: Likewise.
12639 * config/spu/spu-c.c: Likewise.
12640 * config/spu/spu.c: Likewise.
12641 * config/stormy16/stormy16.c: Likewise.
12642 * config/tilegx/mul-tables.c: Likewise.
12643 * config/tilegx/tilegx-c.c: Likewise.
12644 * config/tilegx/tilegx.c: Likewise.
12645 * config/tilepro/mul-tables.c: Likewise.
12646 * config/tilepro/tilepro-c.c: Likewise.
12647 * config/tilepro/tilepro.c: Likewise.
12648 * config/v850/v850-c.c: Likewise.
12649 * config/v850/v850.c: Likewise.
12650 * config/vax/vax.c: Likewise.
12651 * config/visium/visium.c: Likewise.
12652 * config/vms/vms-c.c: Likewise.
12653 * config/vms/vms.c: Likewise.
12654 * config/vxworks.c: Likewise.
12655 * config/winnt-c.c: Likewise.
12656 * config/xtensa/xtensa.c: Likewise.
12657
12658 2015-06-17 Robert Suchanek <robert.suchanek@imgtec.com>
12659
12660 * config/mips/mips.c (mips_ira_change_pseudo_allocno_class): New
12661 function.
12662 (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Define macro.
12663
12664 2015-06-17 Richard Biener <rguenther@suse.de>
12665
12666 PR tree-optimization/66251
12667 * tree-vect-stmts.c (vectorizable_store): Fix gathering of vectorized
12668 stmts for SLP strided stores.
12669
12670 Revert
12671 2015-05-22 Richard Biener <rguenther@suse.de>
12672
12673 PR tree-optimization/66251
12674 * tree-vect-stmts.c (vectorizable_conversion): Properly
12675 set STMT_VINFO_VEC_STMT even for the SLP case.
12676
12677 2015-05-26 Michael Matz <matz@suse.de>
12678
12679 PR middle-end/66251
12680 * tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set
12681 STMT_VINFO_VEC_STMT, also with SLP.
12682
12683 2015-06-16 Uros Bizjak <ubizjak@gmail.com>
12684
12685 PR target/56766
12686 * config/i386/sse.md (*avx_addsubv4df3_1): New insn pattern.
12687 (*avx_addsubv4df3_1s): Ditto.
12688 (*sse3_addsubv2df3_1): Ditto.
12689 (*sse3_addsubv2df3_1s): Ditto.
12690 (*avx_addsubv8sf3_1): Ditto.
12691 (*avx_addsubv8sf3_1s): Ditto.
12692 (*sse3_addsubv4sf3_1): Ditto.
12693 (*sse3_addsubv4sf3_1s): Ditto.
12694
12695 2015-06-16 Steve Ellcey <sellcey@imgtec.com>
12696
12697 * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): New.
12698 (SYSROOT_SUFFIX_SPEC): Update.
12699 (SYSROOT_HEADERS_SUFFIX_SPEC): New.
12700 (STARTFILE_PREFIX_SPEC): Update.
12701 * config/mips/t-mti-linux (MULTILIB_EXCEPTIONS): Remove.
12702 (MULTILIB_REQUIRED): New.
12703 (MULTILIB_OSDIRNAMES): New.
12704 * config/mips/t-img-linux (MULTILIB_EXCEPTIONS): Remove.
12705 (MULTILIB_REQUIRED): New.
12706 (MULTILIB_OSDIRNAMES): New.
12707
12708 2015-06-16 Matthew Wahab <matthew.wahab@arm.com>
12709
12710 * config/aarch64/aarch64-arches.def: Add "armv8.1-a".
12711 * config/aarch64/aarch64-options-extensions.def: Update "fP",
12712 "simd" and "crypto". Add "lse", "pan", "lor" and "rdma".
12713 * gcc/config/aarch64/aarch64.h (AARCH64_FL_LSE): New.
12714 (AARCH64_FL_PAN): New.
12715 (AARCH64_FL_LOR): New.
12716 (AARCH64_FL_RDMA): New.
12717 (AARCH64_FL_FOR_ARCH8_1): New.
12718 * doc/invoke.texi (AArch64 Options): Add "armv8.1-a" to
12719 -march. Add "lse", "pan", "lor", "rdma" to feature modifiers.
12720
12721 2015-06-16 Martin Liska <mliska@suse.cz>
12722
12723 * bitmap.c (dump_bitmap_statistics): Fix GNU coding style.
12724 * hash-table.c (void dump_hash_table_loc_statistics): Add missing
12725 guard.
12726
12727 2015-06-16 Richard Biener <rguenther@suse.de>
12728
12729 * tree-vect-stmts.c (vectorizable_store): Adjust.
12730 (vectorizable_load): Likewise.
12731 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
12732 Simplify.
12733 (vect_create_data_ref_ptr): Likewise.
12734 (bump_vector_ptr): Adjust.
12735
12736 2015-06-16 Richard Biener <rguenther@suse.de>
12737
12738 * tree-vect-stmts.c (vectorizable_load): Properly start loads
12739 with the first element if this is grouped loads.
12740
12741 2015-06-16 James Greenhalgh <james.greenhalgh@arm.com>
12742
12743 * config/arm/arm-protos.h (struct tune_params): Rename
12744 log_op_non_sc to log_op_non_short_circuit, and rename enum
12745 values to expand SC to SHORT_CIRCUIT.
12746 * config/arm/arm.c (arm_slowmul_tune): Expand LOG_OP_NON_SC
12747 to LOG_OP_NON_SHORT_CIRCUIT.
12748 (arm_fastmul_tune):Likewise
12749 (arm_strongarm_tune): Likewise.
12750 (arm_xscale_tune): Likewise.
12751 (arm_9e_tune): Likewise.
12752 (arm_marvell_pj4_tune): Likewise.
12753 (arm_v6t2_tune): Likewise.
12754 (arm_cortex_tune): Likewise.
12755 (arm_cortex_a8_tune): Likewise.
12756 (arm_cortex_a7_tune): Likewise.
12757 (arm_cortex_a15_tune): Likewise.
12758 (arm_cortex_a53_tune): Likewise.
12759 (arm_cortex_a57_tune): Likewise.
12760 (arm_xgene1_tune): Likewise.
12761 (arm_cortex_a5_tune): Likewise.
12762 (arm_cortex_a9_tune): Likewise.
12763 (arm_cortex_a12_tune): Likewise.
12764 (arm_v7m_tune): Likewise.
12765 (arm_cortex_m7_tune): Likewise.
12766 (arm_v6m_tune): Likewise.
12767 (arm_fa726te_tune): Likewise.
12768
12769 2015-06-15 David Edelsohn <dje.gcc@gmail.com>
12770
12771 * altivec.md: Delete UNSPEC_VMLADDUHM.
12772 (mulv4si3_p8): New pattern.
12773 (mulv4si3): Use it for POWER8.
12774 (mulv8hi3): Use vmladduhm with zero addend.
12775 (altivec_vmladduhm): Descriptive RTL.
12776
12777 2015-06-15 Jim Wilson <jim.wilson@linaro.org>
12778
12779 * config/aarch64/aarch64.md (mov<mode>_aarch64): Change alternative 2
12780 to use neon_move instead of mov_imm.
12781 (movdi_aarch64): Change alternative 14 to use neon_move not fmov.
12782 (movtf_aarch64): Change alternative 4 to use neon_move_q not fconstd.
12783
12784 * config/aarch64/aarch64.c (aarch64_valid_floating_const): Move
12785 aarch64_float_const_zero_rtx_p check before TFmode check.
12786 * config/aarch64/aarch64.md (movtf): Don't call force_reg if op1 is
12787 an fp zero.
12788 (movtf_aarch64): Separate ?rY alternative into two. Adjust assembly
12789 code and attributes to match. Change condition from register_operand
12790 to aarch64_reg_or_fp_zero for op1. Change type for ldp from
12791 neon_load1_2reg to load2. Change type for stp from neon_store1_2reg
12792 to store2.
12793
12794 2015-06-15 Aldy Hernandez <aldyh@redhat.com>
12795
12796 PR debug/66535
12797 * dwarf2out.c (gen_subprogram_die): Do not check a parent's tag if
12798 there is no parent.
12799
12800 2015-06-14 Shiva Chen <shiva0217@gmail.com>
12801
12802 * aarch64.c (aarch64_simd_lane_bounds): Change %ld to %wd for
12803 HOST_WIDE_INT parameter.
12804
12805 2015-06-14 Jan Hubicka <hubicka@ucw.cz>
12806
12807 PR ipa/66181
12808 * lto-streamer-out.c (hash_tree): Do not hash TYPE_NO_FORCE_BLK.
12809 * tree-streamer-out.c (pack_ts_type_common_value_fields): Do not stream
12810 TYPE_NO_FORCE_BLK.
12811 * tree-streamer-in.c (unpack_ts_type_common_value_fields): Likewise.
12812
12813 2015-06-14 Richard Sandiford <richard.sandiford@arm.com>
12814
12815 * rtl.h (classify_insn): Declare.
12816 * emit-rtl.c (classify_insn): Move to...
12817 * rtl.c: ...here and add generator support.
12818 * gensupport.h (get_emit_function, needs_barrier_p): Declare.
12819 * gensupport.c (get_emit_function, needs_barrier_p): New functions.
12820 * genemit.c (gen_emit_seq): New function.
12821 (gen_expand, gen_split): Use it.
12822
12823 2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
12824
12825 * tree.c (make_vector_stat): Fix comment to state that the
12826 function returns a VECTOR_CST.
12827
12828 2015-06-13 Richard Sandiford <richard.sandiford@arm.com>
12829
12830 * gensupport.h (add_implicit_parallel): Declare.
12831 * genrecog.c (add_implicit_parallel): Move to...
12832 * gensupport.c (add_implicit_parallel): ...here.
12833 (process_one_cond_exec): Use it.
12834 * genemit.c (gen_insn): Likewise.
12835
12836 2015-06-13 Iain Sandoe <iain@codesourcery.com>
12837
12838 PR bootstrap/66448
12839 * passes.c (rest_of_decl_compilation): Do not register globals for
12840 early debug if they are declared in built-ins.
12841
12842 2015-06-12 Aldy Hernandez <aldyh@redhat.com>
12843
12844 * dwarf2out.c (check_die): Protect with ENABLE_CHECKING.
12845
12846 2015-06-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12847
12848 * ifcvt.c (noce_try_store_flag_constants): Use std::swap instead of
12849 manually swapping.
12850 (noce_try_cmove_arith): Likewise.
12851 (noce_get_alt_condition): Likewise.
12852
12853 2015-06-12 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
12854
12855 * common/config/i386/i386-common.c
12856 (OPTION_MASK_ISA_MWAITX_SET): New.
12857 (ix86_handle_option): Handle mwaitx.
12858 * config.gcc (i[34567]86-*-*): Add mwaitxintrin.h,
12859 (x86_64-*-*): Likewise.
12860 * config/i386/mwaitxintrin.h: New header.
12861 * config/i386/cpuid.h (bit_MWAITX): Define.
12862 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
12863 MWAITX support.
12864 * config/i386/i386.opt (mwaitx): New.
12865 * config/i386/i386-builtin-types.def
12866 (VOID_FTYPE_UNSIGNED_ UNSIGNED_UNSIGNED): New function type.
12867 * config/i386/i386-c.c: Define __MWAITX__ if needed.
12868 * config/i386/i386.c (ix86_target_string): Define -mmwaitx option.
12869 (PTA_MWAITX): New.
12870 (ix86_option_override_internal): Handle new option.
12871 (processor_alias_table): Added PTA_MWAITX.
12872 (ix86_valid_target_attribute_inner_p): Add OPT_mmwaitx.
12873 (ix86_builtins): Add IX86_BUILTIN_MWAITX, IX86_BUILTIN_MONITORX.
12874 (ix86_expand_builtin): Handle IX86_BUILTIN_MWAITX and
12875 IX86_BUILTIN_MONITORX built-ins.
12876 * config/i386/i386.h (TARGET_MWAITX): New.
12877 * config/i386/i386.md (unspecv): Add UNSPEC_MWAITX and
12878 UNSPEC_MONITORX.
12879 (mwaitx): New pattern.
12880 (monitorx_<mode>): New pattern.
12881 * config/i386/x86intrin.h: Include mwaitxintrin.h.
12882 * doc/extend.texi: Document monitorx and mwaitx builtins.
12883 * doc/invoke.texi: Document -mmwaitx option.
12884
12885 2015-06-12 Uros Bizjak <ubizjak@gmail.com>
12886
12887 * emit-rtl.c (need_atomic_barrier_p): Mask model with
12888 MEMMODEL_BASE_MASK. Remove MEMMODEL_SYNC_* cases.
12889
12890 2015-06-11 David Edelsohn <dje.gcc@gmail.com>
12891
12892 * dbxout.c (xcoff_debug_hooks): Provide a function for
12893 register_main_translation_unit hook.
12894
12895 2015-06-11 David Edelsohn <dje.gcc@gmail.com>
12896
12897 * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier): Remove SYNC
12898 variants cases from switch.
12899 (rs6000_post_atomic_barrier): Same.
12900 (rs6000_expand_atomic_compare_and_swap): Use memmodel_base.
12901 (rs6000_expand_atomic_exchange): Same.
12902 (rs6000_expand_atomic_op): Same.
12903 * config/rs6000/sync.md (mem_thread_fence): Use memodel_base. Remove
12904 SYNC variants cases from switch.
12905 (atomic_load): Same.
12906 (atomic_store): Same.
12907
12908 2015-06-11 John David Anglin <danglin@gcc.gnu.org>
12909
12910 * config/pa/pa.c (pa_output_global_address): Handle LABEL_REF plus
12911 CONST_INT for goto.
12912
12913 2015-06-11 Aldy Hernandez <aldyh@redhat.com>
12914
12915 PR bootstrap/66448
12916 * dwarf2out.c (check_die): Check for common duplicate attributes.
12917 (add_location_or_const_value_attribute): Do not add duplicate
12918 attributes.
12919 (gen_formal_parameter_die): Do not add DW_AT_artificial the second
12920 time around.
12921 (gen_struct_or_union_type_die): Bail early if TREE_ASM_WRITTEN.
12922 (gen_type_die_with_usage): Call check_die.
12923 (dwarf2out_decl): Only call check_die() when ENABLE_CHECKING.
12924
12925 2015-06-11 Jason Merrill <jason@redhat.com>
12926
12927 * dwarf2out.c (prune_unused_types): Handle unused top-level limbo
12928 dies.
12929
12930 2015-06-11 Marek Polacek <polacek@redhat.com>
12931
12932 * match.pd ((x & y) ^ (x | y)): Don't check for single_use.
12933
12934 2015-06-11 Eric Botcazou <ebotcazou@adacore.com>
12935
12936 PR bootstrap/66252
12937 * config/sparc/sparc.c (hard_regno_mode_classes): Add ??? comment.
12938 * config/sparc/sparc.md (zero_extendsidi2_insn_sp32): Use single order.
12939 (*addx_extend_sp32): Fix pasto.
12940 (*subx_extend): Rename into...
12941 (*subx_extend_sp32): ...this.
12942 (*adddi3_extend_sp32): Add earlyclobber.
12943 (*subdi3_insn_sp32): Likewise.
12944 (*subdi3_extend_sp32): Likewise.
12945 (*and_not_di_sp32): Likewise.
12946 (*or_not_di_sp32): Likewise.
12947 (*xor_not_di_sp32): Likewise.
12948 (*negdi2_sp32): Likewise.
12949 (*one_cmpldi2_sp32): Likewise.
12950
12951 2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
12952
12953 * debug.h (struct gcc_debug_hooks): Add a
12954 register_main_translation_unit hook.
12955 * debug.c (do_nothing_debug_hooks): Provide a function for this
12956 new hook.
12957 * dbxout.c (dbx_debug_hooks): Likewise.
12958 * sdbout.c (sdb_debug_hooks): Likewise.
12959 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
12960 * dwarf2out.c (main_translation_unit): New global variable.
12961 (dwarf2out_register_main_translation_unit): New function
12962 implementing the new hook.
12963 (dwarf2_debug_hooks): Assign
12964 dwarf2out_register_main_translation_unit to this new hook.
12965 (dwarf2out_init): Associate any main translation unit to
12966 comp_unit_die ().
12967
12968 2015-06-11 Marek Polacek <polacek@redhat.com>
12969
12970 * match.pd ((x & y) ^ (x | y) -> x ^ y): New pattern.
12971
12972 2015-06-11 Marek Polacek <polacek@redhat.com>
12973
12974 * match.pd: Use single_use throughout.
12975
12976 2015-06-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12977
12978 * config/arm/arm.c (arm_option_params_internal): When optimising
12979 for speed set max_insns_skipped when arm_restrict_it.
12980
12981 2015-06-11 Christian Bruel <christian.bruel@st.com>
12982
12983 PR target/52144
12984 * config/arm/arm-c.c (arm_cpu_cpp_builtins): Conditionally define
12985 macros in ...
12986 (arm_cpu_builtins): New function.
12987 (arm_pragma_target_parse): Call arm_cpu_builtins.
12988 * config/arm/arm-protos.h (arm_cpu_builtins): Declare.
12989 (arm_register_target_pragmas): Likewise.
12990 * config/arm/arm.h (REGISTER_TARGET_PRAGMAS):
12991 Call arm_register_target_pragmas.
12992 * config/arm/arm-c.c (arm_register_target_pragmas): New function.
12993 (arm_pragma_target_parse): Likewise.
12994
12995 2015-06-10 Kaz Kojima <kkojima@gcc.gnu.org>
12996
12997 * config/sh/sh.md (tstsi_t): Add '?' modifier to 'r' alternative
12998 of the second operand.
12999
13000 2015-06-10 Uros Bizjak <ubizjak@gmail.com>
13001
13002 PR target/66473
13003 * config/i386/i386.c (ix86_expand_vector_set): Use gen_int_mode
13004 to prepare mask operand for AVX512 modes.
13005
13006 2015-06-10 Michael Meissner <meissner@linux.vnet.ibm.com>
13007
13008 PR target/66474
13009 * doc/md.texi (Machine Constraints): Document that on the PowerPC
13010 if you use a constraint that targets a VSX register, you must use
13011 %x<n> in the template.
13012
13013 2015-06-10 Max Filippov <jcmvbkbc@gmail.com>
13014
13015 * config/xtensa/xtensa.h (TARGET_DEBUG): New definition.
13016 * config/xtensa/xtensa.md (define_attr "type"): New type "trap".
13017 (define_insn "trap"): New definition.
13018
13019 2015-06-10 Richard Biener <rguenther@suse.de>
13020
13021 * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Split
13022 out from ...
13023 (vect_supported_load_permutation_p): ... here. Handle
13024 supportable permutations in reductions.
13025 * tree-vect-stmts.c (vectorizable_load): Handle SLP permutations
13026 for vectorizing strided group loads.
13027
13028 2015-06-10 Jakub Jelinek <jakub@redhat.com>
13029
13030 PR target/66470
13031 * config/i386/i386.c (ix86_split_long_move): For collisions
13032 involving direct tls segment refs, move the UNSPEC_TP possibly
13033 wrapped in ZERO_EXTEND out of the address for lea, to each of
13034 the memory loads.
13035
13036 2015-06-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
13037
13038 * config/arm/sync.md (*memory_barrier): Use dmb ish instead of
13039 dmb sy. Adjust tabs.
13040
13041 2015-06-10 Tom de Vries <tom@codesourcery.com>
13042
13043 * omp-low.c (expand_omp_target): Remove duplicate declaration of node.
13044
13045 2015-06-10 Martin Liska <mliska@suse.cz>
13046
13047 PR bootstrap/66471
13048 * mem-stats-traits.h (enum mem_alloc_origin): Add _ORIGIN suffix for
13049 all enum values in mem_alloc_origin.
13050 * alloc-pool.c (dump_alloc_pool_statistics): Use newly changed enum
13051 name.
13052 * alloc-pool.h (pool_allocator::pool_allocator): Likewise.
13053 * bitmap.c (bitmap_register): Likewise.
13054 (dump_bitmap_statistics): Likewise.
13055 * ggc-common.c (dump_ggc_loc_statistics): Likewise.
13056 (ggc_record_overhead): Likewise.
13057 * hash-map.h: Likewise.
13058 * hash-set.h: Likewise.
13059 * hash-table.c (void dump_hash_table_loc_statistics): Likewise.
13060 * hash-table.h: Likewise.
13061 * vec.c (vec_prefix::register_overhead): Likewise.
13062 (vec_prefix::release_overhead): Likewise.
13063 (dump_vec_loc_statistics): Likewise.
13064
13065 2015-06-09 Christian Bruel <christian.bruel@st.com>
13066
13067 PR target/52144
13068 * config/arm/arm.opt (THUMB, arm_restrict_it, inline_asm_unified): Save.
13069 * config/arm/arm-protos.h (arm_valid_target_attribute_tree): Declare.
13070 (arm_reset_previous_fndecl, arm_change_mode_p): Likewise.
13071 * config/arm/arm.h (SWITCHABLE_TARGET): Define.
13072 * config/arm/arm.c (arm_reset_previous_fndecl): New functions.
13073 (arm_valid_target_attribute_tree, arm_change_mode_p): Likewise.
13074 (arm_valid_target_attribute_p): Likewise.
13075 (arm_set_current_function, arm_can_inline_p): Likewise.
13076 (arm_valid_target_attribute_rec): Likewise.
13077 (arm_previous_fndecl): New variable.
13078 (TARGET_SET_CURRENT_FUNCTION, TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
13079 (TARGET_CAN_INLINE_P): Define.
13080 (arm_asm_trampoline_template): Emit mode.
13081 (arm_file_start): Don't set unified syntax.
13082 (arm_declare_function_name): Set unified syntax and mode.
13083 (arm_option_override): Init target_option_default_node.
13084 and target_option_current_node.
13085 * config/arm/arm.md (*call_value_symbol): Set mode when possible.
13086 (*call_symbol): Likewise.
13087 * doc/extend.texi: Document ARM/Thumb target attribute.
13088 * doc/invoke.texi: Likewise.
13089
13090 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
13091
13092 Revert:
13093 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
13094 PR rtl-optimization/64164
13095 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
13096 * tree-ssa-copyrename.c: Removed.
13097 * opts.c (default_options_table): Drop -ftree-copyrename. Add
13098 -ftree-coalesce-vars.
13099 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
13100 * common.opt (ftree-copyrename): Ignore.
13101 (ftree-coalesce-inlined-vars): Likewise.
13102 * doc/invoke.texi: Remove the ignored options above.
13103 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
13104 * tree-ssa-coalesce.h: ... here.
13105 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
13106 headers required by it.
13107 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
13108 across variables when flag_tree_coalesce_vars. Check register
13109 use and promoted modes to allow coalescing. Moved to
13110 tree-ssa-coalesce.c.
13111 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
13112 with its member functions to tree-ssa-coalesce.c.
13113 (var_map_base_init): Likewise. Renamed to
13114 compute_samebase_partition_bases.
13115 (partition_view_normal): Drop want_bases parameter.
13116 (partition_view_bitmap): Likewise.
13117 * tree-ssa-live.h: Adjust declarations.
13118 * tree-ssa-coalesce.c: Include explow.h.
13119 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
13120 default defs at the entry point.
13121 (dump_part_var_map): New.
13122 (compute_optimized_partition_bases): New, called by...
13123 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
13124 of compute_samebase_partition_bases. Adjust.
13125 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
13126 * cfgexpand.c (leader_merge): New.
13127 (get_rtl_for_parm_ssa_default_def): New.
13128 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
13129 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
13130 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
13131 redundant MEM attr setting.
13132 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
13133 from...
13134 (expand_one_stack_var): ... this. New wrapper to check and
13135 skip already expanded SSA partitions.
13136 (record_alignment_for_reg_var): New, factored out of...
13137 (expand_one_var): ... this.
13138 (expand_one_ssa_partition): New.
13139 (adjust_one_expanded_partition_var): New.
13140 (expand_one_register_var): Check and skip already expanded SSA
13141 partitions.
13142 (expand_used_vars): Don't create DECLs for anonymous SSA
13143 names. Expand all SSA partitions, then adjust all SSA names.
13144 (pass::execute): Replace the loops that set
13145 SA.partition_to_pseudo from partition leaders and cleared
13146 DECL_RTL for multi-location variables, and that which used to
13147 rename vars and set attrs, with one that clears DECL_RTL and
13148 checks that PARMs and RESULTs default_defs match DECL_RTL.
13149 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
13150 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
13151 * explow.c (promote_ssa_mode): New.
13152 * explow.h (promote_ssa_mode): Declare.
13153 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
13154 * function.c: Include cfgexpand.h.
13155 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
13156 (use_register_for_parm_decl): Wrapper for the above to
13157 special-case the result_ptr.
13158 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
13159 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
13160 multiple locations.
13161 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
13162 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
13163 (assign_parm_setup_block): Prefer SSA-assigned location.
13164 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
13165 if stack_parm is NULL.
13166 (assign_parm_setup_stack): Prefer SSA-assigned location.
13167 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
13168 rtl before testing for pointer bounds. Special-case result_ptr.
13169 (expand_function_start): Maybe reset DECL_RTL of result.
13170 Prefer SSA-assigned location for result and static chain.
13171 Factor out DECL_RESULT and SET_DECL_RTL.
13172 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
13173 anonymous SSA names. Use promote_ssa_mode.
13174 (get_temp_reg): Likewise.
13175 (remove_ssa_form): Adjust.
13176 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
13177 and get its reg_usage for reg invalidation.
13178 (compute_bb_dataflow): Pass it insn.
13179 (emit_notes_in_bb): Likewise.
13180 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
13181 fail assert on conversion between unsigned types.
13182
13183 2015-06-09 Tom de Vries <tom@codesourcery.com>
13184
13185 PR tree-optimization/65460
13186 * omp-low.c (expand_omp_target): Set parallelized_function on
13187 cgraph_node for child_fn.
13188
13189 2015-06-09 Tom de Vries <tom@codesourcery.com>
13190
13191 * omp-low.c (finalize_task_copyfn, expand_omp_taskreg): Mark function
13192 parallelized_function before add_new_function.
13193
13194 2015-06-09 Andrew MacLeod <amacleod@redhat.com>
13195
13196 * gcc-plugin.h: Move decls to plugin.h and include it.
13197 * plugin.h: Relocate decls from gcc-plugin.h
13198 * ggc-page.c: Include required header files.
13199 * passes.c: Likewise.
13200 * cgraphunit.c: Likewise.
13201
13202 2015-06-09 Tom de Vries <tom@codesourcery.com>
13203
13204 * tree-stdarg.c (expand_ifn_va_arg_1): Handle location.
13205
13206 2015-06-09 Jason Merrill <jason@redhat.com>
13207
13208 PR bootstrap/66448
13209 * toplev.c (check_global_declaration): Don't warn about a clone.
13210
13211 2015-06-09 Marek Polacek <polacek@redhat.com>
13212
13213 PR tree-optimization/66299
13214 * match.pd ((CST1 << A) == CST2 -> A == ctz (CST2) - ctz (CST1)
13215 ((CST1 << A) != CST2 -> A != ctz (CST2) - ctz (CST1)): New
13216 patterns.
13217
13218 2015-06-09 Richard Biener <rguenther@suse.de>
13219
13220 * tree-vect-slp.c (vect_build_slp_tree_1): Remove bailout on gaps.
13221 (vect_analyze_slp_instance): Instead do not falsely drop
13222 load permutations.
13223
13224 2015-06-09 Richard Biener <rguenther@suse.de>
13225
13226 PR middle-end/66423
13227 * match.pd: Handle A % (unsigned)(1 << B).
13228
13229 2015-06-09 Aldy Hernandez <aldyh@redhat.com>
13230
13231 * varasm.c (output_object_block_htab): Remove.
13232 (output_object_block_compare): New.
13233 (output_object_blocks): Sort named object_blocks before outputting
13234 them.
13235
13236 2015-06-09 Richard Biener <rguenther@suse.de>
13237
13238 PR tree-optimization/66419
13239 * tree-vect-slp.c (vect_supported_load_permutation_p): Properly
13240 consider GROUP_GAP when detecting a perfect subchain.
13241
13242 2015-06-09 Nick Clifton <nickc@redhat.com>
13243
13244 * config/rl78/rl78.c (rl78_select_section): When -mes0 is active
13245 place read only data in the .frodata section.
13246
13247 2015-06-09 Shiva Chen <shiva0217@gmail.com>
13248
13249 * sync.md (atomic_load<mode>): Add conditional code for lda/ldr
13250 (atomic_store<mode>): Likewise.
13251
13252 2015-06-09 Richard Biener <rguenther@suse.de>
13253
13254 * cfgloop.c (get_loop_body_in_bfs_order): Fix assert.
13255
13256 2015-06-09 Richard Biener <rguenther@suse.de>
13257
13258 PR middle-end/66413
13259 * tree-inline.c (insert_init_debug_bind): Unshare value.
13260
13261 2015-06-09 Richard Biener <rguenther@suse.de>
13262
13263 PR tree-optimization/66396
13264 * graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl):
13265 Rename virtual operands.
13266
13267 2015-06-09 Tom de Vries <tom@codesourcery.com>
13268
13269 * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Don't
13270 always return false.
13271
13272 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
13273
13274 PR rtl-optimization/64164
13275 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
13276 * tree-ssa-copyrename.c: Removed.
13277 * opts.c (default_options_table): Drop -ftree-copyrename. Add
13278 -ftree-coalesce-vars.
13279 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
13280 * common.opt (ftree-copyrename): Ignore.
13281 (ftree-coalesce-inlined-vars): Likewise.
13282 * doc/invoke.texi: Remove the ignored options above.
13283 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
13284 * tree-ssa-coalesce.h: ... here.
13285 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
13286 headers required by it.
13287 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
13288 across variables when flag_tree_coalesce_vars. Check register
13289 use and promoted modes to allow coalescing. Moved to
13290 tree-ssa-coalesce.c.
13291 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
13292 with its member functions to tree-ssa-coalesce.c.
13293 (var_map_base_init): Likewise. Renamed to
13294 compute_samebase_partition_bases.
13295 (partition_view_normal): Drop want_bases parameter.
13296 (partition_view_bitmap): Likewise.
13297 * tree-ssa-live.h: Adjust declarations.
13298 * tree-ssa-coalesce.c: Include explow.h.
13299 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
13300 default defs at the entry point.
13301 (dump_part_var_map): New.
13302 (compute_optimized_partition_bases): New, called by...
13303 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
13304 of compute_samebase_partition_bases. Adjust.
13305 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
13306 * cfgexpand.c (leader_merge): New.
13307 (get_rtl_for_parm_ssa_default_def): New.
13308 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
13309 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
13310 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
13311 redundant MEM attr setting.
13312 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
13313 from...
13314 (expand_one_stack_var): ... this. New wrapper to check and
13315 skip already expanded SSA partitions.
13316 (record_alignment_for_reg_var): New, factored out of...
13317 (expand_one_var): ... this.
13318 (expand_one_ssa_partition): New.
13319 (adjust_one_expanded_partition_var): New.
13320 (expand_one_register_var): Check and skip already expanded SSA
13321 partitions.
13322 (expand_used_vars): Don't create DECLs for anonymous SSA
13323 names. Expand all SSA partitions, then adjust all SSA names.
13324 (pass::execute): Replace the loops that set
13325 SA.partition_to_pseudo from partition leaders and cleared
13326 DECL_RTL for multi-location variables, and that which used to
13327 rename vars and set attrs, with one that clears DECL_RTL and
13328 checks that PARMs and RESULTs default_defs match DECL_RTL.
13329 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
13330 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
13331 * explow.c (promote_ssa_mode): New.
13332 * explow.h (promote_ssa_mode): Declare.
13333 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
13334 * function.c: Include cfgexpand.h.
13335 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
13336 (use_register_for_parm_decl): Wrapper for the above to
13337 special-case the result_ptr.
13338 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
13339 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
13340 multiple locations.
13341 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
13342 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
13343 (assign_parm_setup_block): Prefer SSA-assigned location.
13344 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
13345 if stack_parm is NULL.
13346 (assign_parm_setup_stack): Prefer SSA-assigned location.
13347 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
13348 rtl before testing for pointer bounds. Special-case result_ptr.
13349 (expand_function_start): Maybe reset DECL_RTL of result.
13350 Prefer SSA-assigned location for result and static chain.
13351 Factor out DECL_RESULT and SET_DECL_RTL.
13352 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
13353 anonymous SSA names. Use promote_ssa_mode.
13354 (get_temp_reg): Likewise.
13355 (remove_ssa_form): Adjust.
13356 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
13357 and get its reg_usage for reg invalidation.
13358 (compute_bb_dataflow): Pass it insn.
13359 (emit_notes_in_bb): Likewise.
13360 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
13361 fail assert on conversion between unsigned types.
13362
13363 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
13364
13365 PR debug/58315
13366 * tree-inline.c (reset_debug_binding): New.
13367 (reset_debug_bindings): Likewise.
13368 (expand_call_inline): Call it.
13369
13370 2015-06-08 Jan Hubicka <hubicka@ucw.cz>
13371
13372 * tree.c (gimple_canonical_types_compatible_p): Drop comparsion of
13373 TYPE_STRING_FLAG.
13374
13375 2015-06-08 Jan Hubicka <hubicka@ucw.cz>
13376
13377 * lto-streamer-out.c (lto_output_location): Stream
13378 reserved locations correctly.
13379 * lto-streamer-in.c (lto_output_location): Likewise.
13380
13381 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
13382
13383 * coretypes.h: Include hash-table.h and hash-set.h for host files.
13384 * ggc.h: Don't include statistics.h>
13385 * hash-map.h: Remove all includes.
13386 * hash-set.h: Likewise.
13387 * hash-table.h: Add statistics.h, inchash.h and hash-map-traits.h to
13388 the include list. Remove <new>.
13389 * inchash.h: Remove all includes.
13390 * mem-stats.h: Likewise.
13391 * vec.h: No special processing for generators or ggc.
13392 * alias.c : Adjust include files.
13393 * alloc-pool.c : Likewise.
13394 * alloc-pool.h : Likewise.
13395 * asan.c : Likewise.
13396 * attribs.c : Likewise.
13397 * auto-inc-dec.c : Likewise.
13398 * auto-profile.c : Likewise.
13399 * bb-reorder.c : Likewise.
13400 * bitmap.c : Likewise.
13401 * bitmap.h : Likewise.
13402 * bt-load.c : Likewise.
13403 * builtins.c : Likewise.
13404 * caller-save.c : Likewise.
13405 * calls.c : Likewise.
13406 * ccmp.c : Likewise.
13407 * cfg.c : Likewise.
13408 * cfganal.c : Likewise.
13409 * cfgbuild.c : Likewise.
13410 * cfgcleanup.c : Likewise.
13411 * cfgexpand.c : Likewise.
13412 * cfghooks.c : Likewise.
13413 * cfgloop.c : Likewise.
13414 * cfgloop.h : Likewise.
13415 * cfgloopanal.c : Likewise.
13416 * cfgloopmanip.c : Likewise.
13417 * cfgrtl.c : Likewise.
13418 * cgraph.c : Likewise.
13419 * cgraphbuild.c : Likewise.
13420 * cgraphclones.c : Likewise.
13421 * cgraphunit.c : Likewise.
13422 * cilk-common.c : Likewise.
13423 * combine-stack-adj.c : Likewise.
13424 * combine.c : Likewise.
13425 * compare-elim.c : Likewise.
13426 * context.c : Likewise.
13427 * convert.c : Likewise.
13428 * coverage.c : Likewise.
13429 * cppbuiltin.c : Likewise.
13430 * cprop.c : Likewise.
13431 * cse.c : Likewise.
13432 * cselib.c : Likewise.
13433 * data-streamer-in.c : Likewise.
13434 * data-streamer-out.c : Likewise.
13435 * data-streamer.c : Likewise.
13436 * data-streamer.h : Likewise.
13437 * dbxout.c : Likewise.
13438 * dce.c : Likewise.
13439 * ddg.c : Likewise.
13440 * debug.c : Likewise.
13441 * df-core.c : Likewise.
13442 * df-problems.c : Likewise.
13443 * df-scan.c : Likewise.
13444 * df.h : Likewise.
13445 * dfp.c : Likewise.
13446 * dojump.c : Likewise.
13447 * dominance.c : Likewise.
13448 * domwalk.c : Likewise.
13449 * double-int.c : Likewise.
13450 * dse.c : Likewise.
13451 * dumpfile.c : Likewise.
13452 * dwarf2asm.c : Likewise.
13453 * dwarf2cfi.c : Likewise.
13454 * dwarf2out.c : Likewise.
13455 * emit-rtl.c : Likewise.
13456 * et-forest.c : Likewise.
13457 * except.c : Likewise.
13458 * except.h : Likewise.
13459 * explow.c : Likewise.
13460 * expmed.c : Likewise.
13461 * expr.c : Likewise.
13462 * final.c : Likewise.
13463 * fixed-value.c : Likewise.
13464 * fold-const.c : Likewise.
13465 * function.c : Likewise.
13466 * fwprop.c : Likewise.
13467 * gcc-plugin.h : Likewise.
13468 * gcc.c : Likewise.
13469 * gcse-common.c : Likewise.
13470 * gcse.c : Likewise.
13471 * genattrtab.c : Likewise.
13472 * genautomata.c : Likewise.
13473 * genconditions.c : Likewise.
13474 * genemit.c : Likewise.
13475 * generic-match-head.c : Likewise.
13476 * genextract.c : Likewise.
13477 * gengtype-state.c : Likewise.
13478 * gengtype.c : Likewise.
13479 * genhooks.c : Likewise.
13480 * genmatch.c : Likewise.
13481 * genmodes.c : Likewise.
13482 * genrecog.c : Likewise.
13483 * gensupport.c : Likewise.
13484 * ggc-common.c : Likewise.
13485 * ggc-internal.h : Likewise.
13486 * ggc-none.c : Likewise.
13487 * ggc-page.c : Likewise.
13488 * gimple-builder.c : Likewise.
13489 * gimple-expr.c : Likewise.
13490 * gimple-fold.c : Likewise.
13491 * gimple-iterator.c : Likewise.
13492 * gimple-low.c : Likewise.
13493 * gimple-match-head.c : Likewise.
13494 * gimple-pretty-print.c : Likewise.
13495 * gimple-ssa-isolate-paths.c : Likewise.
13496 * gimple-ssa-strength-reduction.c : Likewise.
13497 * gimple-ssa.h : Likewise.
13498 * gimple-streamer-in.c : Likewise.
13499 * gimple-streamer-out.c : Likewise.
13500 * gimple-streamer.h : Likewise.
13501 * gimple-walk.c : Likewise.
13502 * gimple.c : Likewise.
13503 * gimplify-me.c : Likewise.
13504 * gimplify.c : Likewise.
13505 * godump.c : Likewise.
13506 * graph.c : Likewise.
13507 * graphds.c : Likewise.
13508 * graphite-blocking.c : Likewise.
13509 * graphite-dependences.c : Likewise.
13510 * graphite-interchange.c : Likewise.
13511 * graphite-isl-ast-to-gimple.c : Likewise.
13512 * graphite-optimize-isl.c : Likewise.
13513 * graphite-poly.c : Likewise.
13514 * graphite-scop-detection.c : Likewise.
13515 * graphite-sese-to-poly.c : Likewise.
13516 * graphite.c : Likewise.
13517 * haifa-sched.c : Likewise.
13518 * hard-reg-set.h : Likewise.
13519 * hw-doloop.c : Likewise.
13520 * ifcvt.c : Likewise.
13521 * inchash.c : Likewise.
13522 * incpath.c : Likewise.
13523 * init-regs.c : Likewise.
13524 * input.c : Likewise.
13525 * internal-fn.c : Likewise.
13526 * ipa-chkp.c : Likewise.
13527 * ipa-comdats.c : Likewise.
13528 * ipa-cp.c : Likewise.
13529 * ipa-devirt.c : Likewise.
13530 * ipa-icf-gimple.c : Likewise.
13531 * ipa-icf.c : Likewise.
13532 * ipa-inline-analysis.c : Likewise.
13533 * ipa-inline-transform.c : Likewise.
13534 * ipa-inline.c : Likewise.
13535 * ipa-polymorphic-call.c : Likewise.
13536 * ipa-profile.c : Likewise.
13537 * ipa-prop.c : Likewise.
13538 * ipa-pure-const.c : Likewise.
13539 * ipa-ref.c : Likewise.
13540 * ipa-reference.c : Likewise.
13541 * ipa-split.c : Likewise.
13542 * ipa-utils.c : Likewise.
13543 * ipa-visibility.c : Likewise.
13544 * ipa.c : Likewise.
13545 * ira-build.c : Likewise.
13546 * ira-color.c : Likewise.
13547 * ira-conflicts.c : Likewise.
13548 * ira-costs.c : Likewise.
13549 * ira-emit.c : Likewise.
13550 * ira-lives.c : Likewise.
13551 * ira.c : Likewise.
13552 * jump.c : Likewise.
13553 * langhooks.c : Likewise.
13554 * lcm.c : Likewise.
13555 * libfuncs.h : Likewise.
13556 * lists.c : Likewise.
13557 * loop-doloop.c : Likewise.
13558 * loop-init.c : Likewise.
13559 * loop-invariant.c : Likewise.
13560 * loop-iv.c : Likewise.
13561 * loop-unroll.c : Likewise.
13562 * lower-subreg.c : Likewise.
13563 * lra-assigns.c : Likewise.
13564 * lra-coalesce.c : Likewise.
13565 * lra-constraints.c : Likewise.
13566 * lra-eliminations.c : Likewise.
13567 * lra-lives.c : Likewise.
13568 * lra-remat.c : Likewise.
13569 * lra-spills.c : Likewise.
13570 * lra.c : Likewise.
13571 * lto-cgraph.c : Likewise.
13572 * lto-compress.c : Likewise.
13573 * lto-opts.c : Likewise.
13574 * lto-section-in.c : Likewise.
13575 * lto-section-out.c : Likewise.
13576 * lto-streamer-in.c : Likewise.
13577 * lto-streamer-out.c : Likewise.
13578 * lto-streamer.c : Likewise.
13579 * lto-streamer.h : Likewise.
13580 * mcf.c : Likewise.
13581 * mode-switching.c : Likewise.
13582 * modulo-sched.c : Likewise.
13583 * omega.c : Likewise.
13584 * omp-low.c : Likewise.
13585 * optabs.c : Likewise.
13586 * opts-global.c : Likewise.
13587 * opts.h : Likewise.
13588 * passes.c : Likewise.
13589 * plugin.c : Likewise.
13590 * postreload-gcse.c : Likewise.
13591 * postreload.c : Likewise.
13592 * predict.c : Likewise.
13593 * print-rtl.c : Likewise.
13594 * print-tree.c : Likewise.
13595 * profile.c : Likewise.
13596 * read-md.c : Likewise.
13597 * read-md.h : Likewise.
13598 * read-rtl.c : Likewise.
13599 * real.c : Likewise.
13600 * realmpfr.c : Likewise.
13601 * recog.c : Likewise.
13602 * ree.c : Likewise.
13603 * reg-stack.c : Likewise.
13604 * regcprop.c : Likewise.
13605 * reginfo.c : Likewise.
13606 * regrename.c : Likewise.
13607 * regstat.c : Likewise.
13608 * reload.c : Likewise.
13609 * reload1.c : Likewise.
13610 * reorg.c : Likewise.
13611 * resource.c : Likewise.
13612 * rtl-chkp.c : Likewise.
13613 * rtl.c : Likewise.
13614 * rtl.h : Likewise.
13615 * rtlanal.c : Likewise.
13616 * rtlhash.c : Likewise.
13617 * rtlhash.h : Likewise.
13618 * rtlhooks.c : Likewise.
13619 * sanopt.c : Likewise.
13620 * sched-deps.c : Likewise.
13621 * sched-ebb.c : Likewise.
13622 * sched-rgn.c : Likewise.
13623 * sched-vis.c : Likewise.
13624 * sdbout.c : Likewise.
13625 * sel-sched-dump.c : Likewise.
13626 * sel-sched-ir.c : Likewise.
13627 * sel-sched-ir.h : Likewise.
13628 * sel-sched.c : Likewise.
13629 * sese.c : Likewise.
13630 * shrink-wrap.c : Likewise.
13631 * shrink-wrap.h : Likewise.
13632 * simplify-rtx.c : Likewise.
13633 * stack-ptr-mod.c : Likewise.
13634 * statistics.c : Likewise.
13635 * stmt.c : Likewise.
13636 * stor-layout.c : Likewise.
13637 * store-motion.c : Likewise.
13638 * stringpool.c : Likewise.
13639 * symtab.c : Likewise.
13640 * target-globals.c : Likewise.
13641 * targhooks.c : Likewise.
13642 * tlink.c : Likewise.
13643 * toplev.c : Likewise.
13644 * tracer.c : Likewise.
13645 * trans-mem.c : Likewise.
13646 * tree-affine.c : Likewise.
13647 * tree-affine.h : Likewise.
13648 * tree-browser.c : Likewise.
13649 * tree-call-cdce.c : Likewise.
13650 * tree-cfg.c : Likewise.
13651 * tree-cfgcleanup.c : Likewise.
13652 * tree-chkp-opt.c : Likewise.
13653 * tree-chkp.c : Likewise.
13654 * tree-chrec.c : Likewise.
13655 * tree-complex.c : Likewise.
13656 * tree-data-ref.c : Likewise.
13657 * tree-dfa.c : Likewise.
13658 * tree-diagnostic.c : Likewise.
13659 * tree-dump.c : Likewise.
13660 * tree-eh.c : Likewise.
13661 * tree-eh.h : Likewise.
13662 * tree-emutls.c : Likewise.
13663 * tree-hasher.h : Likewise.
13664 * tree-if-conv.c : Likewise.
13665 * tree-inline.c : Likewise.
13666 * tree-inline.h : Likewise.
13667 * tree-into-ssa.c : Likewise.
13668 * tree-iterator.c : Likewise.
13669 * tree-loop-distribution.c : Likewise.
13670 * tree-nested.c : Likewise.
13671 * tree-nrv.c : Likewise.
13672 * tree-object-size.c : Likewise.
13673 * tree-outof-ssa.c : Likewise.
13674 * tree-parloops.c : Likewise.
13675 * tree-phinodes.c : Likewise.
13676 * tree-predcom.c : Likewise.
13677 * tree-pretty-print.c : Likewise.
13678 * tree-profile.c : Likewise.
13679 * tree-scalar-evolution.c : Likewise.
13680 * tree-sra.c : Likewise.
13681 * tree-ssa-address.c : Likewise.
13682 * tree-ssa-alias.c : Likewise.
13683 * tree-ssa-ccp.c : Likewise.
13684 * tree-ssa-coalesce.c : Likewise.
13685 * tree-ssa-copy.c : Likewise.
13686 * tree-ssa-copyrename.c : Likewise.
13687 * tree-ssa-dce.c : Likewise.
13688 * tree-ssa-dom.c : Likewise.
13689 * tree-ssa-dse.c : Likewise.
13690 * tree-ssa-forwprop.c : Likewise.
13691 * tree-ssa-ifcombine.c : Likewise.
13692 * tree-ssa-live.c : Likewise.
13693 * tree-ssa-loop-ch.c : Likewise.
13694 * tree-ssa-loop-im.c : Likewise.
13695 * tree-ssa-loop-ivcanon.c : Likewise.
13696 * tree-ssa-loop-ivopts.c : Likewise.
13697 * tree-ssa-loop-manip.c : Likewise.
13698 * tree-ssa-loop-niter.c : Likewise.
13699 * tree-ssa-loop-prefetch.c : Likewise.
13700 * tree-ssa-loop-unswitch.c : Likewise.
13701 * tree-ssa-loop.c : Likewise.
13702 * tree-ssa-math-opts.c : Likewise.
13703 * tree-ssa-operands.c : Likewise.
13704 * tree-ssa-phiopt.c : Likewise.
13705 * tree-ssa-phiprop.c : Likewise.
13706 * tree-ssa-pre.c : Likewise.
13707 * tree-ssa-propagate.c : Likewise.
13708 * tree-ssa-reassoc.c : Likewise.
13709 * tree-ssa-sccvn.c : Likewise.
13710 * tree-ssa-scopedtables.c : Likewise.
13711 * tree-ssa-sink.c : Likewise.
13712 * tree-ssa-strlen.c : Likewise.
13713 * tree-ssa-structalias.c : Likewise.
13714 * tree-ssa-tail-merge.c : Likewise.
13715 * tree-ssa-ter.c : Likewise.
13716 * tree-ssa-threadedge.c : Likewise.
13717 * tree-ssa-threadupdate.c : Likewise.
13718 * tree-ssa-uncprop.c : Likewise.
13719 * tree-ssa-uninit.c : Likewise.
13720 * tree-ssa.c : Likewise.
13721 * tree-ssanames.c : Likewise.
13722 * tree-stdarg.c : Likewise.
13723 * tree-streamer-in.c : Likewise.
13724 * tree-streamer-out.c : Likewise.
13725 * tree-streamer.c : Likewise.
13726 * tree-streamer.h : Likewise.
13727 * tree-switch-conversion.c : Likewise.
13728 * tree-tailcall.c : Likewise.
13729 * tree-vect-data-refs.c : Likewise.
13730 * tree-vect-generic.c : Likewise.
13731 * tree-vect-loop-manip.c : Likewise.
13732 * tree-vect-loop.c : Likewise.
13733 * tree-vect-patterns.c : Likewise.
13734 * tree-vect-slp.c : Likewise.
13735 * tree-vect-stmts.c : Likewise.
13736 * tree-vectorizer.c : Likewise.
13737 * tree-vectorizer.h : Likewise.
13738 * tree-vrp.c : Likewise.
13739 * tree.c : Likewise.
13740 * tsan.c : Likewise.
13741 * ubsan.c : Likewise.
13742 * valtrack.c : Likewise.
13743 * valtrack.h : Likewise.
13744 * value-prof.c : Likewise.
13745 * var-tracking.c : Likewise.
13746 * varasm.c : Likewise.
13747 * varpool.c : Likewise.
13748 * vec.c: Likewise.
13749 * vmsdbgout.c : Likewise.
13750 * vtable-verify.c : Likewise.
13751 * vtable-verify.h : Likewise.
13752 * web.c : Likewise.
13753 * wide-int.cc : Likewise.
13754 * xcoffout.c : Likewise.
13755 * config/aarch64/aarch64-builtins.c : Likewise.
13756 * config/aarch64/aarch64.c : Likewise.
13757 * config/aarch64/cortex-a57-fma-steering.c : Likewise.
13758 * config/alpha/alpha.c : Likewise.
13759 * config/arc/arc.c : Likewise.
13760 * config/arm/aarch-common.c : Likewise.
13761 * config/arm/arm-builtins.c : Likewise.
13762 * config/arm/arm-c.c : Likewise.
13763 * config/arm/arm.c : Likewise.
13764 * config/avr/avr-c.c : Likewise.
13765 * config/avr/avr-log.c : Likewise.
13766 * config/avr/avr.c : Likewise.
13767 * config/bfin/bfin.c : Likewise.
13768 * config/c6x/c6x.c : Likewise.
13769 * config/cr16/cr16.c : Likewise.
13770 * config/cris/cris.c : Likewise.
13771 * config/darwin-c.c : Likewise.
13772 * config/darwin.c : Likewise.
13773 * config/default-c.c : Likewise.
13774 * config/epiphany/epiphany.c : Likewise.
13775 * config/epiphany/mode-switch-use.c : Likewise.
13776 * config/epiphany/resolve-sw-modes.c : Likewise.
13777 * config/fr30/fr30.c : Likewise.
13778 * config/frv/frv.c : Likewise.
13779 * config/ft32/ft32.c : Likewise.
13780 * config/glibc-c.c : Likewise.
13781 * config/h8300/h8300.c : Likewise.
13782 * config/i386/i386-c.c : Likewise.
13783 * config/i386/i386.c : Likewise.
13784 * config/i386/msformat-c.c : Likewise.
13785 * config/i386/winnt-cxx.c : Likewise.
13786 * config/i386/winnt-stubs.c : Likewise.
13787 * config/i386/winnt.c : Likewise.
13788 * config/ia64/ia64-c.c : Likewise.
13789 * config/ia64/ia64.c : Likewise.
13790 * config/iq2000/iq2000.c : Likewise.
13791 * config/lm32/lm32.c : Likewise.
13792 * config/m32c/m32c-pragma.c : Likewise.
13793 * config/m32c/m32c.c : Likewise.
13794 * config/m32r/m32r.c : Likewise.
13795 * config/m68k/m68k.c : Likewise.
13796 * config/mcore/mcore.c : Likewise.
13797 * config/mep/mep-pragma.c : Likewise.
13798 * config/mep/mep.c : Likewise.
13799 * config/microblaze/microblaze-c.c : Likewise.
13800 * config/microblaze/microblaze.c : Likewise.
13801 * config/mips/mips.c : Likewise.
13802 * config/mmix/mmix.c : Likewise.
13803 * config/mn10300/mn10300.c : Likewise.
13804 * config/moxie/moxie.c : Likewise.
13805 * config/msp430/msp430-c.c : Likewise.
13806 * config/msp430/msp430.c : Likewise.
13807 * config/nds32/nds32-cost.c : Likewise.
13808 * config/nds32/nds32-fp-as-gp.c : Likewise.
13809 * config/nds32/nds32-intrinsic.c : Likewise.
13810 * config/nds32/nds32-isr.c : Likewise.
13811 * config/nds32/nds32-md-auxiliary.c : Likewise.
13812 * config/nds32/nds32-memory-manipulation.c : Likewise.
13813 * config/nds32/nds32-pipelines-auxiliary.c : Likewise.
13814 * config/nds32/nds32-predicates.c : Likewise.
13815 * config/nds32/nds32.c : Likewise.
13816 * config/nios2/nios2.c : Likewise.
13817 * config/nvptx/nvptx.c : Likewise.
13818 * config/pa/pa.c : Likewise.
13819 * config/pdp11/pdp11.c : Likewise.
13820 * config/rl78/rl78-c.c : Likewise.
13821 * config/rl78/rl78.c : Likewise.
13822 * config/rs6000/rs6000-c.c : Likewise.
13823 * config/rs6000/rs6000.c : Likewise.
13824 * config/rx/rx.c : Likewise.
13825 * config/s390/s390-c.c : Likewise.
13826 * config/s390/s390.c : Likewise.
13827 * config/sh/sh-c.c : Likewise.
13828 * config/sh/sh-mem.cc : Likewise.
13829 * config/sh/sh.c : Likewise.
13830 * config/sh/sh_optimize_sett_clrt.cc : Likewise.
13831 * config/sh/sh_treg_combine.cc : Likewise.
13832 * config/sol2-c.c : Likewise.
13833 * config/sol2-cxx.c : Likewise.
13834 * config/sol2-stubs.c : Likewise.
13835 * config/sol2.c : Likewise.
13836 * config/sparc/sparc-c.c : Likewise.
13837 * config/sparc/sparc.c : Likewise.
13838 * config/spu/spu-c.c : Likewise.
13839 * config/spu/spu.c : Likewise.
13840 * config/stormy16/stormy16.c : Likewise.
13841 * config/tilegx/mul-tables.c : Likewise.
13842 * config/tilegx/tilegx-c.c : Likewise.
13843 * config/tilegx/tilegx.c : Likewise.
13844 * config/tilepro/mul-tables.c : Likewise.
13845 * config/tilepro/tilepro-c.c : Likewise.
13846 * config/tilepro/tilepro.c : Likewise.
13847 * config/v850/v850-c.c : Likewise.
13848 * config/v850/v850.c : Likewise.
13849 * config/vax/vax.c : Likewise.
13850 * config/visium/visium.c : Likewise.
13851 * config/vms/vms-c.c : Likewise.
13852 * config/vms/vms.c : Likewise.
13853 * config/vxworks.c : Likewise.
13854 * config/winnt-c.c : Likewise.
13855 * config/xtensa/xtensa.c : Likewise.
13856
13857 2015-06-08 Jan Hubicka <hubicka@ucw.cz>
13858
13859 PR lto/65378
13860 * ipa-utils.h (warn_types_mismatch): Update prototype.
13861 * ipa-devirt.c (odr_types_equivalent_p): Add loc1/loc2
13862 parameters.
13863 (type_mismatch_p): New function.
13864 (warn_types_mismatch): Reorg to work better on non-C++ types.
13865 (odr_types_equivalent_p): Add loc1/loc2 parameters.
13866 (add_type_duplicate): Update.
13867
13868 2015-06-08 Tom de Vries <tom@codesourcery.com>
13869
13870 PR rtl-optimization/66444
13871 * postreload.c (reload_combine): Use get_call_reg_set_usage instead of
13872 call_used_regs.
13873
13874 2015-06-08 Richard Biener <rguenther@suse.de>
13875
13876 PR tree-optimization/66422
13877 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Split
13878 block after inserted gcc_unreachable.
13879
13880 2015-06-08 Nick Clifton <nickc@redhat.com>
13881
13882 * config/rx/rx.c (rx_function_value): Do not promote vector types.
13883 (rx_promote_function_mode): Likewise.
13884 * config/rx/rx.h (LIBCALL_VALUE): Likewise.
13885
13886 2015-06-08 Jakub Jelinek <jakub@redhat.com>
13887
13888 * genattrtab.c (insn_alternatives): Change type from int *
13889 to uint64_t *.
13890 (check_attr_test): Shift ((uint64_t) 1) instead of 1 up.
13891 (get_attr_value): Change type of num_alt to uint64_t.
13892 (compute_alternative_mask): Change return type from
13893 int to uint64_t, shift ((uint64_t) 1) instead of 1 up.
13894 (make_alternative_compare, mk_attr_alt): Change argument type
13895 from int to uint64_t.
13896 (simplify_test_exp): Change type of i from int to uint64_t.
13897 Shift ((uint64_t) 1) instead of 1 up.
13898 (main): Adjust oballocvec first argument from int to uint64_t.
13899 Shift ((uint64_t) 1) instead of 1 up.
13900
13901 2015-06-08 Jan Kratochvil <jan.kratochvil@redhat.com>
13902
13903 PR other/65366
13904 * gdbhooks.py: Import sys.
13905 (intptr): New function. Replace int(...) by intptr(...).
13906
13907 2015-06-08 Richard Biener <rguenther@suse.de>
13908
13909 * tree-vect-stmts.c (vectorizable_load): Compute the pointer
13910 adjustment for gaps at the end of a SLP load group properly.
13911 * tree-vect-slp.c (vect_supported_load_permutation_p): Allow
13912 all permutations we can generate.
13913 (vect_transform_slp_perm_load): Use the correct group-size.
13914
13915 2015-06-08 Marc Glisse <marc.glisse@inria.fr>
13916
13917 * genmatch.c (expr::gen_transform): For conditions, guess the type
13918 from the second operand.
13919
13920 2015-06-08 Tom de Vries <tom@codesourcery.com>
13921
13922 PR tree-optimization/66442
13923 * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Add function.
13924 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Return false
13925 if the loop latch is not a singleton. Use
13926 gimple_seq_nondebug_singleton_p instead of gimple_seq_singleton_p.
13927
13928 2015-06-08 Marek Polacek <polacek@redhat.com>
13929
13930 PR sanitizer/66452
13931 * toplev.c (check_global_declaration): Don't warn about artificial
13932 decls.
13933
13934 2015-06-08 Tom de Vries <tom@codesourcery.com>
13935
13936 PR tree-optimization/66436
13937 * cgraphunit.c (cgraph_node::analyze): Don't dump function to gimple
13938 dump file.
13939 * gimplify.c: Add tree-dump.h include.
13940 (gimplify_function_tree): Dump function to gimple dump file.
13941 * stor-layout.c (finalize_size_functions): Don't dump function to gimple
13942 dump file.
13943
13944 2015-06-08 Tom de Vries <tom@codesourcery.com>
13945
13946 PR tree-optimization/66435
13947 * cgraphunit.c (cgraph_node::add_new_function): Dump message on new
13948 function.
13949
13950 2015-06-06 Jan Hubicka <hubicka@ucw.cz>
13951
13952 * alias.c (get_alias_set): Be ready for TYPE_CANONICAL
13953 of ptr_type_node to not be ptr_to_node.
13954 * tree.c (gimple_types_compatible_p): Do not match TREE_CODE of
13955 TREE_TYPE of pointers.
13956 * gimple-expr.c (useless_type_conversion): Reorder the check for
13957 function pointers and TYPE_CANONICAL.
13958
13959 2015-06-06 John David Anglin <danglin@gcc.gnu.org>
13960
13961 PR bootstrap/66319
13962 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Rearrange builtin
13963 defines. Define _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE for c++.
13964 Define _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for c++ if unix95 or
13965 later.
13966 * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Likewise.
13967 Define _INCLUDE_STDC_SOURCE_PRE_199901, _INCLUDE_STDC_SOURCE_199901,
13968 _INCLUDE_XOPEN_SOURCE_PRE_500, _INCLUDE_XOPEN_SOURCE_520,
13969 _INCLUDE_XOPEN_SOURCE_PRE_600 and _INCLUDE_XOPEN_SOURCE_600 for c++
13970 and non iso if unix2003.
13971
13972 2015-06-06 Aldy Hernandez <aldyh@redhat.com>
13973
13974 * dwarf2out.c (gen_lexical_block_die): Initialize stmt_die.
13975
13976 2015-06-06 Richard Sandiford <richard.sandiford@arm.com>
13977
13978 * emit-rtl.c, expr.c, gcse.c, optabs.c, optabs.h, print-rtl.c,
13979 rtl.h, bb-reorder.c, builtins.c, calls.c, cfgbuild.c, cfgexpand.c,
13980 cfgrtl.c, cilk-common.c, config/i386/i386.md, cse.c, dwarf2cfi.c,
13981 except.c, final.c, function.c, gcse-common.c, genemit.c,
13982 haifa-sched.c, ifcvt.c, jump.c, loop-invariant.c, loop-iv.c,
13983 lra-constraints.c, lra.c, reload1.c, resource.c, rtlanal.c,
13984 sched-deps.c, sched-ebb.c, sel-sched-ir.c, sel-sched.c,
13985 shrink-wrap.c, stmt.c, store-motion.c: Replace rtx base types with
13986 more derived ones.
13987
13988 2015-06-06 Mikhail Maltsev <maltsevm@gmail.com>
13989
13990 * combine.c (combine_split_insns): Remove cast.
13991 * config/bfin/bfin.c (hwloop_fail): Add cast in try_split call.
13992 * config/sh/sh.c (sh_try_split_insn_simple): Remove cast.
13993 * config/sh/sh_treg_combine.cc (sh_treg_combine::execute): Add cast.
13994 * emit-rtl.c (try_split): Promote type of trial argument to rtx_insn.
13995 * genemit.c (gen_split): Change return type of generated functions to
13996 rtx_insn.
13997 * genrecog.c (get_failure_return): Use NULL instead of NULL_RTX.
13998 (print_subroutine_start): Promote rtx to rtx_insn in gen_split_* and
13999 gen_peephole2_* functions.
14000 (print_subroutine, main): Likewise.
14001 * recog.c (peephole2_optimize): Remove cast.
14002 (peep2_next_insn): Promote return type to rtx_insn.
14003 * recog.h (peep2_next_insn): Fix prototype.
14004 * rtl.h (try_split, split_insns): Likewise.
14005
14006 2015-06-06 DJ Delorie <dj@redhat.com>
14007
14008 * config/msp430/msp430.c (msp430_asm_integer): Support addition
14009 and subtraction too.
14010
14011 2015-06-05 Kaz Kojima <kkojima@gcc.gnu.org>
14012
14013 PR target/66410
14014 * config/sh/constraints.md (Sid, Ssd): New memory constraints.
14015 * config/sh/sh.md (*mov<mode>): Use Sid and Ssd alternatives
14016 instead of Snd. Disparage Sid/z alternative with '^'.
14017
14018 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
14019
14020 * dwarf2out.c: Remove deferred_locations*.
14021 (dwarf2_debug_hooks): Add early_finish hook.
14022 Remove global_decl hook.
14023 Add early_global_decl and late_global_decl hook.
14024 New global early_dwarf.
14025 New structure set_early_dwarf.
14026 (output_die): Indicate whether a DIE was generated early
14027 when generating assembly with -dA.
14028 (struct limbo_die_struct): Document created_for field.
14029 Remove file_table_last_lookup.
14030 (remove_AT): Return TRUE if successful.
14031 (remove_child_TAG): Clear die_parent.
14032 (reparent_child): New function abstracted from...
14033 (splice_child_die): ...here.
14034 (new_die): ICE if a DIE ends up in limbo too late.
14035 (check_die): New.
14036 (defer_location): Remove.
14037 (add_subscript_info): Reuse DW_TAG_subrange_type if available.
14038 (fill_variable_array_bounds): New.
14039 (decl_start_label): Call fill_variable_array_bounds.
14040 (gen_formal_parameter_die): Rewrite to reuse previously generated
14041 DIEs.
14042 (gen_subprogram_die): Same.
14043 (gen_variable_die): Same.
14044 (gen_const_die): Same.
14045 (gen_label_die): Same.
14046 (gen_lexical_block_die): Same.
14047 (decl_will_get_specification_p): New.
14048 (local_function_static): New.
14049 (gen_struct_or_union_type_die): Fill in variable-length fields.
14050 (gen_typedef_die): Fill in variable-length typedefs.
14051 (gen_tagged_type_die): Gracefully return on error_mark_node.
14052 Handle re-entrancy.
14053 (gen_type_die_with_usage): Handle variable-length types.
14054 Remove duplicate code for ARRAY_TYPE case.
14055 (process_scope_var): Only process imported modules during early
14056 dwarf.
14057 (dwarf2out_early_global_decl): New.
14058 (dwarf2out_late_global_decl): Rename from dwarf2out_global_decl.
14059 (dwarf2out_type_decl): Set early_dwarf while calling
14060 dwarf2out_decl.
14061 (dwarf2out_decl): Verify that we did not recreate a previously
14062 generated DIE.
14063 Do not return on DECL_EXTERNALs in VAR_DECLs.
14064 Abstract some code to local_function_static.
14065 (lookup_filename): Remove use of file_table_last_lookup.
14066 Gracefully exit on missing file_name.
14067 (dwarf2out_finish): Verify limbo list.
14068 Remove deferred_locations_list use.
14069 Move deferred_asm_name and limbo flushing to...
14070 (dwarf2out_early_finish): ...here. New.
14071 (dwarf2out_c_finalize): Remove set of deferred_location_list,
14072 deferred_asm_name, and file_table_last_lookup.
14073 * cgraph.h (referred_to_p): Add default argument.
14074 * cgraphunit.c (referred_to_p): Add and handle include_self
14075 argument.
14076 (analyze_functions): Add first_time argument.
14077 Call check_global_declaration for all symbols.
14078 Call late_global_decl for nodes for moribund nodes.
14079 (finalize_compilation_unit): Add new argument to
14080 analyze_functions.
14081 Call early_global_decl for functions.
14082 Call early_finish debug hook.
14083 * dbxout.c (dbxout_early_global_decl): New.
14084 (dbxout_late_global_decl): New. Adapted from dbxout_global_decl.
14085 (dbx_debug_hooks): Add new hooks.
14086 (xcoff_debug_hooks): Same.
14087 * debug.c (do_nothing_debug_hooks): Add early_finish field.
14088 Add early and late debug hooks.
14089 Remove global_decl hook.
14090 * debug.h (struct gcc_debug_hooks): Add early_finish,
14091 early_global_decl, and late_global_decl fields.
14092 Remove global_decl field.
14093 Document gcc_debug_hooks.
14094 * gengtype.c (output_typename): Remove.
14095 * godump.c (go_early_global_decl): New.
14096 (go_late_global_decl): New.
14097 (go_global_decl): Remove.
14098 (dump_go_spec_init): Remove global_decl. Add
14099 {early,late}_global_decl.
14100 * langhooks-def.h (LANG_HOOKS_WRITE_GLOBALS): Remove.
14101 (LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): New.
14102 * langhooks.c (lhd_warn_unused_global_decl): Adjust comment.
14103 (write_global_declarations): Remove.
14104 (global_decl_processing): New.
14105 * langhooks.h (struct lang_hooks_for_decls): Remove
14106 final_write_globals field.
14107 Add post_compilation_parsing_cleanups field.
14108 * passes.c (rest_of_decl_compilation): Call early_global_decl.
14109 * sdbout.c: Add early and late_global_decl hooks. Remove
14110 sdbout_global_decl hook.
14111 Add early_finish field for sdb_debug_hooks.
14112 (sdbout_global_decl): Remove.
14113 (sdbout_early_global_decl): New.
14114 (sdbout_late_global_decl): New.
14115 * timevar.def (TV_PHASE_LATE_PARSING_CLEANUPS): New.
14116 * toplev.c (check_global_declaration): Rename from
14117 check_global_declaration_1.
14118 Adapt to use symtab infrastructure.
14119 (check_global_declarations): Remove.
14120 (emit_debug_global_declarations): Remove.
14121 (compile_file): Remove call to final_write_globals langhook.
14122 Run the actual compilation process.
14123 Perform any post compilation parser cleanups.
14124 Generate late debug info.
14125 * toplev.h (check_global_declaration): New.
14126 (check_global_declaration_1): Remove.
14127 (check_global_declarations): Remove.
14128 (write_global_declarations): Remove.
14129 (emit_debug_global_declarations): Remove.
14130 (global_decl_processing): New.
14131 * tree-core.h (struct tree_block): Add DIE field.
14132 * tree.h (BLOCK_DIE): New.
14133 * vmsdbgout.c (vmsdbgout_global_decl): Remove function and its use
14134 throughout.
14135 (vmsdbgout_early_global_decl): New.
14136 (vmsdbgout_late_global_decl): New.
14137 Add early_finish debug hook field to vmsdbg_debug_hooks.
14138 Remove vmsdbgout_decl to vmsdbgout_function_decl.
14139 Add early and late_global_decl debug hooks.
14140
14141 2015-06-05 Julian Brown <julian@codesourcery.com>
14142 Sandra Loosemore <sandra@codesourcery.com>
14143
14144 * config/print-sysroot-suffix.sh: Handle MULTILIB_REUSE settings.
14145 * config/t-sysroot-suffix (sysroot-suffix.h): Pass MULTILIB_REUSE
14146 to print-sysroot-suffix.sh script.
14147
14148 2015-06-05 Tom de Vries <tom@codesourcery.com>
14149
14150 merge from gomp4 branch:
14151 2015-05-28 Tom de Vries <tom@codesourcery.com>
14152
14153 PR tree-optimization/65443
14154 * tree-parloops.c (replace_imm_uses, replace_uses_in_bb_by)
14155 (replace_uses_in_bbs_by, transform_to_exit_first_loop_alt)
14156 (try_transform_to_exit_first_loop_alt): New function.
14157 (transform_to_exit_first_loop): Use
14158 try_transform_to_exit_first_loop_alt.
14159
14160 2015-06-05 James Greenhalgh <james.greenhalgh@arm.com>
14161
14162 * builtins.c (expand_builtin_atomic_compare_exchange): Call
14163 emit_cmp_and_jump_insns with the mode of target.
14164
14165 2015-06-05 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
14166
14167 * config/i386/sse.md (sse3_mwait): Swap the operand constriants.
14168
14169 2015-06-04 DJ Delorie <dj@redhat.com>
14170
14171 * config/msp430/msp430.md (movsi_s): New. Special case for
14172 storing a 20-bit symbol into a 32-bit register.
14173 * config/msp430/msp430.c (msp430_subreg): Add support for it.
14174 * config/msp430/predicates.md (msp430_symbol_operand): New.
14175
14176 2015-06-04 Sriraman Tallam <tmsriram@google.com>
14177
14178 * c-family/c-common.c (noplt): New attribute.
14179 (handle_noplt_attribute): New handler.
14180 * calls.c (prepare_call_address): Check for noplt
14181 attribute.
14182 * config/i386/i386.c (ix86_expand_call): Check
14183 for noplt attribute.
14184 (ix86_nopic_noplt_attribute_p): New function.
14185 (ix86_output_call_insn): Output indirect call for non-pic
14186 no plt calls.
14187 * doc/extend.texi (noplt): Document new attribute.
14188 * doc/invoke.texi: Document new attribute.
14189
14190 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
14191
14192 * coretypes.h: Include machmode.h, signop.h, wide-int.h, double-int.h,
14193 real.h, and fixed-value.h when included in host source files.
14194 * double-int.h: Remove redundant #includes listed above.
14195 * fixed-value.h: Likewise.
14196 * real.h: Likewise.
14197 * wide-int.h: Likewise.
14198 * inchash.h: Likewise.
14199 * rtl.h: Add some include files When included from a generator file.
14200 * target.h: Remove wide-int.h and insn-modes.h from the include list.
14201 * internal-fn.h: Don't include coretypes.h.
14202 * alias.c: Adjust includes for restructured coretypes.h.
14203 * asan.c: Likewise.
14204 * attribs.c: Likewise.
14205 * auto-inc-dec.c: Likewise.
14206 * auto-profile.c: Likewise.
14207 * bb-reorder.c: Likewise.
14208 * bt-load.c: Likewise.
14209 * builtins.c: Likewise.
14210 * caller-save.c: Likewise.
14211 * calls.c: Likewise.
14212 * ccmp.c: Likewise.
14213 * cfg.c: Likewise.
14214 * cfganal.c: Likewise.
14215 * cfgbuild.c: Likewise.
14216 * cfgcleanup.c: Likewise.
14217 * cfgexpand.c: Likewise.
14218 * cfghooks.c: Likewise.
14219 * cfgloop.c: Likewise.
14220 * cfgloop.h: Likewise.
14221 * cfgloopanal.c: Likewise.
14222 * cfgloopmanip.c: Likewise.
14223 * cfgrtl.c: Likewise.
14224 * cgraph.c: Likewise.
14225 * cgraphbuild.c: Likewise.
14226 * cgraphclones.c: Likewise.
14227 * cgraphunit.c: Likewise.
14228 * cilk-common.c: Likewise.
14229 * combine-stack-adj.c: Likewise.
14230 * combine.c: Likewise.
14231 * compare-elim.c: Likewise.
14232 * convert.c: Likewise.
14233 * coverage.c: Likewise.
14234 * cppbuiltin.c: Likewise.
14235 * cprop.c: Likewise.
14236 * cse.c: Likewise.
14237 * cselib.c: Likewise.
14238 * data-streamer-in.c: Likewise.
14239 * data-streamer-out.c: Likewise.
14240 * data-streamer.c: Likewise.
14241 * dbxout.c: Likewise.
14242 * dce.c: Likewise.
14243 * ddg.c: Likewise.
14244 * debug.c: Likewise.
14245 * df-core.c: Likewise.
14246 * df-problems.c: Likewise.
14247 * df-scan.c: Likewise.
14248 * df.h: Likewise.
14249 * dfp.c: Likewise.
14250 * dojump.c: Likewise.
14251 * dominance.c: Likewise.
14252 * domwalk.c: Likewise.
14253 * double-int.c: Likewise.
14254 * dse.c: Likewise.
14255 * dumpfile.c: Likewise.
14256 * dwarf2asm.c: Likewise.
14257 * dwarf2cfi.c: Likewise.
14258 * dwarf2out.c: Likewise.
14259 * dwarf2out.h: Likewise.
14260 * emit-rtl.c: Likewise.
14261 * et-forest.c: Likewise.
14262 * except.c: Likewise.
14263 * explow.c: Likewise.
14264 * expmed.c: Likewise.
14265 * expr.c: Likewise.
14266 * final.c: Likewise.
14267 * fixed-value.c: Likewise.
14268 * fold-const.c: Likewise.
14269 * function.c: Likewise.
14270 * fwprop.c: Likewise.
14271 * gcc-plugin.h: Likewise.
14272 * gcse.c: Likewise.
14273 * generic-match-head.c: Likewise.
14274 * ggc-page.c: Likewise.
14275 * gimple-builder.c: Likewise.
14276 * gimple-expr.c: Likewise.
14277 * gimple-fold.c: Likewise.
14278 * gimple-iterator.c: Likewise.
14279 * gimple-low.c: Likewise.
14280 * gimple-match-head.c: Likewise.
14281 * gimple-pretty-print.c: Likewise.
14282 * gimple-ssa-isolate-paths.c: Likewise.
14283 * gimple-ssa-strength-reduction.c: Likewise.
14284 * gimple-streamer-in.c: Likewise.
14285 * gimple-streamer-out.c: Likewise.
14286 * gimple-streamer.h: Likewise.
14287 * gimple-walk.c: Likewise.
14288 * gimple.c: Likewise.
14289 * gimplify-me.c: Likewise.
14290 * gimplify.c: Likewise.
14291 * godump.c: Likewise.
14292 * graph.c: Likewise.
14293 * graphite-blocking.c: Likewise.
14294 * graphite-dependences.c: Likewise.
14295 * graphite-interchange.c: Likewise.
14296 * graphite-isl-ast-to-gimple.c: Likewise.
14297 * graphite-optimize-isl.c: Likewise.
14298 * graphite-poly.c: Likewise.
14299 * graphite-scop-detection.c: Likewise.
14300 * graphite-sese-to-poly.c: Likewise.
14301 * graphite.c: Likewise.
14302 * haifa-sched.c: Likewise.
14303 * hooks.h: Likewise.
14304 * hw-doloop.c: Likewise.
14305 * ifcvt.c: Likewise.
14306 * incpath.c: Likewise.
14307 * init-regs.c: Likewise.
14308 * internal-fn.c: Likewise.
14309 * ipa-chkp.c: Likewise.
14310 * ipa-comdats.c: Likewise.
14311 * ipa-cp.c: Likewise.
14312 * ipa-devirt.c: Likewise.
14313 * ipa-icf-gimple.c: Likewise.
14314 * ipa-icf.c: Likewise.
14315 * ipa-inline-analysis.c: Likewise.
14316 * ipa-inline-transform.c: Likewise.
14317 * ipa-inline.c: Likewise.
14318 * ipa-polymorphic-call.c: Likewise.
14319 * ipa-profile.c: Likewise.
14320 * ipa-prop.c: Likewise.
14321 * ipa-pure-const.c: Likewise.
14322 * ipa-ref.c: Likewise.
14323 * ipa-reference.c: Likewise.
14324 * ipa-split.c: Likewise.
14325 * ipa-utils.c: Likewise.
14326 * ipa-visibility.c: Likewise.
14327 * ipa.c: Likewise.
14328 * ira-build.c: Likewise.
14329 * ira-color.c: Likewise.
14330 * ira-conflicts.c: Likewise.
14331 * ira-costs.c: Likewise.
14332 * ira-emit.c: Likewise.
14333 * ira-lives.c: Likewise.
14334 * ira.c: Likewise.
14335 * jump.c: Likewise.
14336 * langhooks.c: Likewise.
14337 * lcm.c: Likewise.
14338 * loop-doloop.c: Likewise.
14339 * loop-init.c: Likewise.
14340 * loop-invariant.c: Likewise.
14341 * loop-iv.c: Likewise.
14342 * loop-unroll.c: Likewise.
14343 * lower-subreg.c: Likewise.
14344 * lra-assigns.c: Likewise.
14345 * lra-coalesce.c: Likewise.
14346 * lra-constraints.c: Likewise.
14347 * lra-eliminations.c: Likewise.
14348 * lra-lives.c: Likewise.
14349 * lra-remat.c: Likewise.
14350 * lra-spills.c: Likewise.
14351 * lra.c: Likewise.
14352 * lto-cgraph.c: Likewise.
14353 * lto-compress.c: Likewise.
14354 * lto-opts.c: Likewise.
14355 * lto-section-in.c: Likewise.
14356 * lto-section-out.c: Likewise.
14357 * lto-streamer-in.c: Likewise.
14358 * lto-streamer-out.c: Likewise.
14359 * lto-streamer.c: Likewise.
14360 * mcf.c: Likewise.
14361 * mode-switching.c: Likewise.
14362 * modulo-sched.c: Likewise.
14363 * omega.c: Likewise.
14364 * omp-low.c: Likewise.
14365 * optabs.c: Likewise.
14366 * opts-global.c: Likewise.
14367 * passes.c: Likewise.
14368 * plugin.c: Likewise.
14369 * postreload-gcse.c: Likewise.
14370 * postreload.c: Likewise.
14371 * predict.c: Likewise.
14372 * print-rtl.c: Likewise.
14373 * print-tree.c: Likewise.
14374 * profile.c: Likewise.
14375 * real.c: Likewise.
14376 * realmpfr.c: Likewise.
14377 * realmpfr.h: Likewise.
14378 * recog.c: Likewise.
14379 * ree.c: Likewise.
14380 * reg-stack.c: Likewise.
14381 * regcprop.c: Likewise.
14382 * reginfo.c: Likewise.
14383 * regrename.c: Likewise.
14384 * regs.h: Likewise.
14385 * regstat.c: Likewise.
14386 * reload.c: Likewise.
14387 * reload1.c: Likewise.
14388 * reorg.c: Likewise.
14389 * resource.c: Likewise.
14390 * rtl-chkp.c: Likewise.
14391 * rtlanal.c: Likewise.
14392 * rtlhooks.c: Likewise.
14393 * sanopt.c: Likewise.
14394 * sched-deps.c: Likewise.
14395 * sched-ebb.c: Likewise.
14396 * sched-rgn.c: Likewise.
14397 * sched-vis.c: Likewise.
14398 * sdbout.c: Likewise.
14399 * sel-sched-dump.c: Likewise.
14400 * sel-sched-ir.c: Likewise.
14401 * sel-sched.c: Likewise.
14402 * sese.c: Likewise.
14403 * shrink-wrap.c: Likewise.
14404 * shrink-wrap.h: Likewise.
14405 * simplify-rtx.c: Likewise.
14406 * stack-ptr-mod.c: Likewise.
14407 * statistics.c: Likewise.
14408 * stmt.c: Likewise.
14409 * stor-layout.c: Likewise.
14410 * store-motion.c: Likewise.
14411 * stringpool.c: Likewise.
14412 * symtab.c: Likewise.
14413 * target-globals.c: Likewise.
14414 * targhooks.c: Likewise.
14415 * toplev.c: Likewise.
14416 * tracer.c: Likewise.
14417 * trans-mem.c: Likewise.
14418 * tree-affine.c: Likewise.
14419 * tree-affine.h: Likewise.
14420 * tree-browser.c: Likewise.
14421 * tree-call-cdce.c: Likewise.
14422 * tree-cfg.c: Likewise.
14423 * tree-cfgcleanup.c: Likewise.
14424 * tree-chkp-opt.c: Likewise.
14425 * tree-chkp.c: Likewise.
14426 * tree-chrec.c: Likewise.
14427 * tree-complex.c: Likewise.
14428 * tree-data-ref.c: Likewise.
14429 * tree-dfa.c: Likewise.
14430 * tree-diagnostic.c: Likewise.
14431 * tree-dump.c: Likewise.
14432 * tree-eh.c: Likewise.
14433 * tree-emutls.c: Likewise.
14434 * tree-if-conv.c: Likewise.
14435 * tree-inline.c: Likewise.
14436 * tree-into-ssa.c: Likewise.
14437 * tree-iterator.c: Likewise.
14438 * tree-loop-distribution.c: Likewise.
14439 * tree-nested.c: Likewise.
14440 * tree-nrv.c: Likewise.
14441 * tree-object-size.c: Likewise.
14442 * tree-outof-ssa.c: Likewise.
14443 * tree-parloops.c: Likewise.
14444 * tree-phinodes.c: Likewise.
14445 * tree-predcom.c: Likewise.
14446 * tree-pretty-print.c: Likewise.
14447 * tree-pretty-print.h: Likewise.
14448 * tree-profile.c: Likewise.
14449 * tree-scalar-evolution.c: Likewise.
14450 * tree-sra.c: Likewise.
14451 * tree-ssa-address.c: Likewise.
14452 * tree-ssa-alias.c: Likewise.
14453 * tree-ssa-ccp.c: Likewise.
14454 * tree-ssa-coalesce.c: Likewise.
14455 * tree-ssa-copy.c: Likewise.
14456 * tree-ssa-copyrename.c: Likewise.
14457 * tree-ssa-dce.c: Likewise.
14458 * tree-ssa-dom.c: Likewise.
14459 * tree-ssa-dse.c: Likewise.
14460 * tree-ssa-forwprop.c: Likewise.
14461 * tree-ssa-ifcombine.c: Likewise.
14462 * tree-ssa-live.c: Likewise.
14463 * tree-ssa-loop-ch.c: Likewise.
14464 * tree-ssa-loop-im.c: Likewise.
14465 * tree-ssa-loop-ivcanon.c: Likewise.
14466 * tree-ssa-loop-ivopts.c: Likewise.
14467 * tree-ssa-loop-manip.c: Likewise.
14468 * tree-ssa-loop-niter.c: Likewise.
14469 * tree-ssa-loop-prefetch.c: Likewise.
14470 * tree-ssa-loop-unswitch.c: Likewise.
14471 * tree-ssa-loop.c: Likewise.
14472 * tree-ssa-loop.h: Likewise.
14473 * tree-ssa-math-opts.c: Likewise.
14474 * tree-ssa-operands.c: Likewise.
14475 * tree-ssa-phiopt.c: Likewise.
14476 * tree-ssa-phiprop.c: Likewise.
14477 * tree-ssa-pre.c: Likewise.
14478 * tree-ssa-propagate.c: Likewise.
14479 * tree-ssa-reassoc.c: Likewise.
14480 * tree-ssa-sccvn.c: Likewise.
14481 * tree-ssa-scopedtables.c: Likewise.
14482 * tree-ssa-sink.c: Likewise.
14483 * tree-ssa-strlen.c: Likewise.
14484 * tree-ssa-structalias.c: Likewise.
14485 * tree-ssa-tail-merge.c: Likewise.
14486 * tree-ssa-ter.c: Likewise.
14487 * tree-ssa-threadedge.c: Likewise.
14488 * tree-ssa-threadupdate.c: Likewise.
14489 * tree-ssa-uncprop.c: Likewise.
14490 * tree-ssa-uninit.c: Likewise.
14491 * tree-ssa.c: Likewise.
14492 * tree-ssanames.c: Likewise.
14493 * tree-stdarg.c: Likewise.
14494 * tree-streamer-in.c: Likewise.
14495 * tree-streamer-out.c: Likewise.
14496 * tree-streamer.c: Likewise.
14497 * tree-switch-conversion.c: Likewise.
14498 * tree-tailcall.c: Likewise.
14499 * tree-vect-data-refs.c: Likewise.
14500 * tree-vect-generic.c: Likewise.
14501 * tree-vect-loop-manip.c: Likewise.
14502 * tree-vect-loop.c: Likewise.
14503 * tree-vect-patterns.c: Likewise.
14504 * tree-vect-slp.c: Likewise.
14505 * tree-vect-stmts.c: Likewise.
14506 * tree-vectorizer.c: Likewise.
14507 * tree-vrp.c: Likewise.
14508 * tree.c: Likewise.
14509 * tsan.c: Likewise.
14510 * ubsan.c: Likewise.
14511 * valtrack.c: Likewise.
14512 * value-prof.c: Likewise.
14513 * var-tracking.c: Likewise.
14514 * varasm.c: Likewise.
14515 * varpool.c: Likewise.
14516 * vmsdbgout.c: Likewise.
14517 * vtable-verify.c: Likewise.
14518 * web.c: Likewise.
14519 * wide-int-print.cc: Likewise.
14520 * wide-int-print.h: Likewise.
14521 * wide-int.cc: Likewise.
14522 * xcoffout.c: Likewise.
14523 * config/aarch64/aarch64-builtins.c: Likewise.
14524 * config/aarch64/aarch64.c: Likewise.
14525 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
14526 * config/alpha/alpha.c: Likewise.
14527 * config/arc/arc.c: Likewise.
14528 * config/arm/aarch-common.c: Likewise.
14529 * config/arm/arm-builtins.c: Likewise.
14530 * config/arm/arm-c.c: Likewise.
14531 * config/arm/arm.c: Likewise.
14532 * config/avr/avr-c.c: Likewise.
14533 * config/avr/avr-log.c: Likewise.
14534 * config/avr/avr.c: Likewise.
14535 * config/bfin/bfin.c: Likewise.
14536 * config/c6x/c6x.c: Likewise.
14537 * config/cr16/cr16.c: Likewise.
14538 * config/cris/cris.c: Likewise.
14539 * config/darwin-c.c: Likewise.
14540 * config/darwin.c: Likewise.
14541 * config/default-c.c: Likewise.
14542 * config/epiphany/epiphany.c: Likewise.
14543 * config/epiphany/mode-switch-use.c: Likewise.
14544 * config/epiphany/resolve-sw-modes.c: Likewise.
14545 * config/fr30/fr30.c: Likewise.
14546 * config/frv/frv.c: Likewise.
14547 * config/ft32/ft32.c: Likewise.
14548 * config/glibc-c.c: Likewise.
14549 * config/h8300/h8300.c: Likewise.
14550 * config/i386/i386-c.c: Likewise.
14551 * config/i386/i386.c: Likewise.
14552 * config/i386/msformat-c.c: Likewise.
14553 * config/i386/winnt-cxx.c: Likewise.
14554 * config/i386/winnt-stubs.c: Likewise.
14555 * config/i386/winnt.c: Likewise.
14556 * config/ia64/ia64-c.c: Likewise.
14557 * config/ia64/ia64.c: Likewise.
14558 * config/iq2000/iq2000.c: Likewise.
14559 * config/lm32/lm32.c: Likewise.
14560 * config/m32c/m32c-pragma.c: Likewise.
14561 * config/m32c/m32c.c: Likewise.
14562 * config/m32r/m32r.c: Likewise.
14563 * config/m68k/m68k.c: Likewise.
14564 * config/mcore/mcore.c: Likewise.
14565 * config/mep/mep-pragma.c: Likewise.
14566 * config/mep/mep.c: Likewise.
14567 * config/microblaze/microblaze-c.c: Likewise.
14568 * config/microblaze/microblaze.c: Likewise.
14569 * config/mips/mips.c: Likewise.
14570 * config/mmix/mmix.c: Likewise.
14571 * config/mn10300/mn10300.c: Likewise.
14572 * config/moxie/moxie.c: Likewise.
14573 * config/msp430/msp430-c.c: Likewise.
14574 * config/msp430/msp430.c: Likewise.
14575 * config/nds32/nds32-cost.c: Likewise.
14576 * config/nds32/nds32-fp-as-gp.c: Likewise.
14577 * config/nds32/nds32-intrinsic.c: Likewise.
14578 * config/nds32/nds32-isr.c: Likewise.
14579 * config/nds32/nds32-md-auxiliary.c: Likewise.
14580 * config/nds32/nds32-memory-manipulation.c: Likewise.
14581 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
14582 * config/nds32/nds32-predicates.c: Likewise.
14583 * config/nds32/nds32.c: Likewise.
14584 * config/nios2/nios2.c: Likewise.
14585 * config/nvptx/nvptx.c: Likewise.
14586 * config/pa/pa.c: Likewise.
14587 * config/pdp11/pdp11.c: Likewise.
14588 * config/rl78/rl78-c.c: Likewise.
14589 * config/rl78/rl78.c: Likewise.
14590 * config/rs6000/rs6000-c.c: Likewise.
14591 * config/rs6000/rs6000.c: Likewise.
14592 * config/rx/rx.c: Likewise.
14593 * config/s390/s390-c.c: Likewise.
14594 * config/s390/s390.c: Likewise.
14595 * config/sh/sh-c.c: Likewise.
14596 * config/sh/sh-mem.cc: Likewise.
14597 * config/sh/sh.c: Likewise.
14598 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
14599 * config/sh/sh_treg_combine.cc: Likewise.
14600 * config/sol2-c.c: Likewise.
14601 * config/sol2-cxx.c: Likewise.
14602 * config/sol2-stubs.c: Likewise.
14603 * config/sol2.c: Likewise.
14604 * config/sparc/sparc-c.c: Likewise.
14605 * config/sparc/sparc.c: Likewise.
14606 * config/spu/spu-c.c: Likewise.
14607 * config/spu/spu.c: Likewise.
14608 * config/stormy16/stormy16.c: Likewise.
14609 * config/tilegx/mul-tables.c: Likewise.
14610 * config/tilegx/tilegx-c.c: Likewise.
14611 * config/tilegx/tilegx.c: Likewise.
14612 * config/tilepro/mul-tables.c: Likewise.
14613 * config/tilepro/tilepro-c.c: Likewise.
14614 * config/tilepro/tilepro.c: Likewise.
14615 * config/v850/v850-c.c: Likewise.
14616 * config/v850/v850.c: Likewise.
14617 * config/vax/vax.c: Likewise.
14618 * config/visium/visium.c: Likewise.
14619 * config/vms/vms-c.c: Likewise.
14620 * config/vms/vms.c: Likewise.
14621 * config/vxworks.c: Likewise.
14622 * config/winnt-c.c: Likewise.
14623 * config/xtensa/xtensa.c: Likewise.
14624 * common/config/bfin/bfin-common.c: Likewise.
14625
14626 2015-06-04 Jan Hubicka <hubicka@ucw.cz>
14627
14628 * tree.h (tree_code_for_canonical_type_merging): New function.
14629 * tree.c (gimple_canonical_types_compatible_p): Use
14630 tree_code_for_canonical_type_merging..
14631
14632 2015-06-04 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
14633
14634 PR c++/66192
14635 PR target/66200
14636 * doc/tm.texi: Regenerate.
14637 * doc/tm.texi.in (TARGET_RELAXED_ORDERING): Delete.
14638 * target.def (TARGET_RELAXED_ORDERING): Likewise.
14639 * config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Likewise.
14640 * config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Likewise.
14641 * config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Likewise.
14642 * config/sparc/linux.h (SPARC_RELAXED_ORDERING): Likewise.
14643 * config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
14644 * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Likewise.
14645 * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Likewise.
14646
14647 2015-06-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14648
14649 * config/aarch64/aarch64.c (aarch64_override_options): Unconditionally
14650 register fma steering pass.
14651 * config/aarch64/cortex-a57-fma-steering.c (gate): Add gating on
14652 AARCH64_TUNE_FMA_STEERING.
14653
14654 2015-06-03 Jan Hubicka <hubicka@ucw.cz>
14655
14656 * tree.c (verify_type_variant): Verify that type and variant is
14657 compatible.
14658 (gimple_canonical_types_compatible_p): Look for main variants.
14659
14660 2015-06-03 Michael Meissner <meissner@linux.vnet.ibm.com>
14661
14662 * config.gcc (powerpc*-*-*): Add support for a new configure
14663 option --with-advance-toolchain=<xxx> which overrides using the
14664 default header files, libraries and dynamic linker.
14665
14666 * config/rs6000/linux64.h (SUBSUBTARGET_EXTRA_SPECS): Add new
14667 specs to support the configure --with-advance-toolchain=<xxx>
14668 option.
14669 (INCLUDE_EXTRA_SPEC): Likewise.
14670 (LINK_OS_EXTRA_SPEC32): Likewise.
14671 (LINK_OK_EXTRA_SPEC64): Likewise.
14672 (LINK_OS_NEW_DTAGS_SPEC): Likewise.
14673 (DYNAMIC_LINKER_PREFIX): Likewise.
14674 (CPP_OS_DEFAULT_SPEC): Use the new specs for providing advance
14675 toolchain support.
14676 (GLIBC_DYNAMIC_LINKER32): Likewise.
14677 (GLIBC_DYNAMIC_LINKER64): Likewise.
14678 (LINK_OS_LINUX_SPEC32): Likewise.
14679 (LINK_OS_LINUX_SPEC64): Likewise.
14680
14681 * doc/install.texi (--enable-advance-toolchain=<xx>): Document new
14682 configuration option.
14683
14684 2015-06-03 Uros Bizjak <ubizjak@gmail.com>
14685
14686 PR target/66275
14687 * config/i386/i386.c (ix86_function_arg_regno): Use ix86_cfun_abi
14688 to determine current function ABI.
14689 (ix86_function_value_regno_p): Ditto.
14690
14691 2015-06-03 Martin Liska <mliska@suse.cz>
14692
14693 * alloc-pool.h (struct pool_usage): Correct GNU coding style.
14694 * bitmap.h (struct bitmap_usage): Likewise.
14695 * ggc-common.c (struct ggc_usage): Likewise.
14696 * mem-stats.h (struct mem_location): Likewise.
14697 (struct mem_usage): Likewise.
14698 * vec.c (struct vec_usage): Likewise.
14699
14700 2015-06-03 Benigno B. Junior <bbj@gentoo.org>
14701
14702 * config/netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Turn -symbolic into
14703 -Bsymbolic.
14704
14705 2015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
14706
14707 * doc/plugins.texi (enum plugin_event): New event.
14708 * plugin.c (register_callback): Handle PLUGIN_START_PARSE_FUNCTION
14709 and PLUGIN_FINISH_FUNCTION.
14710 * plugin.def (PLUGIN_START_PARSE_FUNCTION): Add plugin event
14711 (PLUGIN_FINISH_PARSE_FUNCTION): Likewise.
14712
14713 2015-06-03 Richard Biener <rguenther@suse.de>
14714
14715 * tree-vect-data-refs.c (vect_analyze_group_access): Properly
14716 compute GROUP_GAP for the first element.
14717 * tree-vect-slp.c (vect_build_slp_tree_1): Remove restriction
14718 on in-group gaps.
14719
14720 2015-06-03 Nick Clifton <nickc@redhat.com>
14721
14722 * config/rl78/rl78-real.md: Add peepholes to avoid a register
14723 copy when calling a function.
14724 * config/rl78/rl78.c (need_to_save): Do not push the frame
14725 pointer in an interrupt handler prologue if it is never used.
14726
14727 2015-06-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14728
14729 * ifcvt (end_ifcvt_sequence): Fix typo in comment above.
14730
14731 2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
14732
14733 * ipa-chkp.c (chkp_maybe_create_clone): Create alias
14734 reference when cloning alias node.
14735
14736 2015-06-03 Martin Liska <mliska@suse.cz>
14737
14738 * alloc-pool.h (struct pool_usage): Correct space padding.
14739 * ggc-page.c (ggc_print_statistics): Align columns in a report.
14740 * mem-stats.h (struct mem_usage): Add argument to print_dash_line.
14741 * tree.c (dump_tree_statistics): Align columns in a report.
14742
14743 2015-06-03 Martin Liska <mliska@suse.cz>
14744
14745 * alloc-pool.c (allocate_pool_descriptor): Remove.
14746 (struct pool_output_info): Likewise.
14747 (print_alloc_pool_statistics): Likewise.
14748 (dump_alloc_pool_statistics): Likewise.
14749 * alloc-pool.h (struct pool_usage): New struct.
14750 (pool_allocator::initialize): Change usage of memory statistics
14751 to a new interface.
14752 (pool_allocator::release): Likewise.
14753 (pool_allocator::allocate): Likewise.
14754 (pool_allocator::remove): Likewise.
14755 * mem-stats-traits.h (enum mem_alloc_origin): Add new enum value
14756 for a pool allocator.
14757 * mem-stats.h (struct mem_location): Add new ctor.
14758 (struct mem_usage): Add counter for number of
14759 instances.
14760 (mem_alloc_description::register_descriptor): New overload of
14761 * mem-stats.h (mem_location::to_string): New function.
14762 * bitmap.h (struct bitmap_usage): Use this new function.
14763 * ggc-common.c (struct ggc_usage): Likewise.
14764 the function.
14765
14766 2015-06-03 Richard Sandiford <richard.sandiford@arm.com>
14767
14768 * defaults.h (SWITCHABLE_TARGET, TARGET_SUPPORTS_WIDE_INT): Move out
14769 of GCC_INSN_FLAGS_H block.
14770
14771 2015-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
14772
14773 * explow.c (plus_constant): Update check after force_const_mem call
14774 to see if the value returned is not a NULL_RTX.
14775
14776 2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
14777
14778 * ipa.c (symbol_table::remove_unreachable_nodes): Don't
14779 remove instumentation thunks calling reachable functions.
14780 * lto-cgraph.c (output_refs): Always output IPA_REF_CHKP.
14781 * lto/lto-partition.c (privatize_symbol_name_1): New.
14782 (privatize_symbol_name): Privatize both decl and orig_decl
14783 names for instrumented functions.
14784 * cgraph.c (cgraph_node::verify_node): Add transparent
14785 alias chain check for instrumented node.
14786
14787 2015-06-03 Marek Polacek <polacek@redhat.com>
14788
14789 PR c/64223
14790 PR c/29358
14791 * tree.c (attribute_value_equal): Handle attribute format.
14792 (cmp_attrib_identifiers): Factor out of lookup_ident_attribute.
14793
14794 2015-06-03 Richard Biener <rguenther@suse.de>
14795
14796 PR tree-optimization/63916
14797 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
14798 Forward-propagate non-invariant addresses by splicing their
14799 reference ops if the result isn't going to be used by PRE.
14800 (vn_reference_lookup_3): Remove pointless assert.
14801
14802 2015-06-03 Richard Biener <rguenther@suse.de>
14803
14804 PR tree-optimization/66375
14805 * tree-scalar-evolution.c (follow_ssa_edge_binary): First
14806 add to the evolution before following SSA edges.
14807
14808 2015-06-03 Bin Cheng <bin.cheng@arm.com>
14809
14810 * tree-ssa-loop-ivopts.c (dump_iv): New parameter.
14811 (dump_use, dump_cand, find_induction_variables): Pass new argument
14812 to dump_iv.
14813 (record_use): Preserve the ssa name information in IV.
14814
14815 2015-06-03 Richard Sandiford <richard.sandiford@arm.com>
14816
14817 * genpreds.c (mark_mode_tests): Mark all MATCH_CODEs as
14818 NO_MODE_TEST.
14819 (add_mode_tests): Don't add mode tests if the predicate only
14820 accepts scalar constant integers. Otherwise, allow the mode
14821 of "op" to be VOIDmode if the predicate does accept such integers.
14822
14823 2015-06-02 Jim Wilson <jim.wilson@linaro.org>
14824
14825 PR target/66258
14826 * config/aarch64/aarch64.c (aarch64_function_value_regno_p): Change
14827 !TARGET_GENERAL_REGS_ONLY to TARGET_FLOAT.
14828 (aarch64_secondary_reload): Likewise
14829 (aarch64_expand_builtin_va_start): Change TARGET_GENERAL_REGS_ONLY
14830 to !TARGET_FLOAT.
14831 (aarch64_gimplify_va_arg_expr, aarch64_setup_incoming_varargs):
14832 Likewise.
14833
14834 2015-06-03 Kugan Vivekanandarajah <kuganv@linaro.org>
14835 Zhenqiang Chen <zhenqiang.chen@linaro.org>
14836
14837 PR target/65768
14838 * cprop.c (try_replace_reg): Check cost of constants before propagating.
14839
14840 2015-06-02 Michael Meissner <meissner@linux.vnet.ibm.com>
14841
14842 * config/rs6000/rs6000-modes.def (IFmode): Define IFmode to
14843 provide access to the IBM extended double floating point mode if
14844 long double is IEEE 128-bit floating point.
14845 (KFmode): Define KFmode to provide access to IEEE 128-bit floating
14846 point if long double is the IBM extended double type.
14847
14848 * config/rs6000/rs6000.opt (-mfloat128-none): New switches to
14849 enable adding IEEE 128-bit floating point support.
14850 (-mfloat128-software): Likewise.
14851 (-mfloat128-sw): Likewise.
14852
14853 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Do not allow
14854 128-bit floating point types to occupy any register if
14855 -mlong-double-64. Do not allow use of IFmode/KFmode unless
14856 -mfloat128-software is enabled.
14857 (rs6000_debug_reg_global): Add IEEE 128-bit floating point debug
14858 support.
14859 (rs6000_option_override_internal): Add -mfloat128-* support.
14860 (rs6000_init_builtins): Setup __ibm128 and __float128 type modes.
14861
14862 * config/rs6000/rs6000.h (rs6000_builtin_type_index): Add ibm128
14863 and float128 type nodes.
14864 (ieee128_float_type_node): Likewise.
14865 (ibm128_float_type_node): Likewise.
14866
14867 2015-06-02 Szabolcs Nagy <szabolcs.nagy@arm.com>
14868
14869 PR target/66136
14870 * config/aarch64/geniterators.sh: Rewrite in awk.
14871
14872 2015-06-02 Martin Liska <mliska@suse.cz>
14873
14874 * alloc-pool.h (pool_allocator::pool_allocator): Set implicit
14875 values to avoid -Wmaybe-uninitialized errors.
14876
14877 2015-06-02 Richard Biener <rguenther@suse.de>
14878
14879 PR debug/65549
14880 * dwarf2out.c (lookup_context_die): New function.
14881 (resolve_addr): Avoid forcing a full DIE for the
14882 target of a DW_TAG_GNU_call_site during late compilation.
14883 Instead create a stub DIE without a type if we have a
14884 context DIE present.
14885
14886 2015-06-02 Uros Bizjak <ubizjak@gmail.com>
14887
14888 * df-scan.c (df_scan_start_dump): Add space between regno and regname.
14889
14890 2015-06-02 Bin Cheng <bin.cheng@arm.com>
14891
14892 PR tree-optimization/48052
14893 * cfgloop.h (struct control_iv): New.
14894 (struct loop): New field control_ivs.
14895 * tree-ssa-loop-niter.c : Include "stor-layout.h".
14896 (number_of_iterations_lt): Set no_overflow information.
14897 (number_of_iterations_exit): Init control iv in niter struct.
14898 (record_control_iv): New.
14899 (estimate_numbers_of_iterations_loop): Call record_control_iv.
14900 (loop_exits_before_overflow): New. Interface factored out of
14901 scev_probably_wraps_p.
14902 (scev_probably_wraps_p): Factor loop niter related code into
14903 loop_exits_before_overflow.
14904 (free_numbers_of_iterations_estimates_loop): Free control ivs.
14905 * tree-ssa-loop-niter.h (free_loop_control_ivs): New.
14906
14907 2015-06-02 Eric Botcazou <ebotcazou@adacore.com>
14908
14909 * gimplify.c (gimplify_modify_expr): Do not create a DECL_DEBUG_EXPR if
14910 the target doesn't belong to the current function.
14911
14912 2015-06-02 Marek Polacek <polacek@redhat.com>
14913
14914 PR middle-end/66345
14915 * gimple-fold.c (gimple_fold_builtin_snprintf): Return false if
14916 get_maxval_strlen does not produce an INTEGER_CST.
14917
14918 2015-06-02 Richard Sandiford <richard.sandiford@arm.com>
14919
14920 * config/arc/constraints.md: Use lower-case names in match_code.
14921 * config/mmix/constraints.md: Likewise.
14922
14923 2015-06-02 Richard Biener <rguenther@suse.de>
14924
14925 PR tree-optimization/65961
14926 * tree-vect-slp.c (vect_get_and_check_slp_defs): Remove bogus
14927 check and clarify dump message.
14928 (vect_build_slp_tree): If all children are built up from scalars
14929 build up the parent from scalars instead.
14930 * tree-vect-stmts.c (vect_is_simple_use): Cleanup.
14931
14932 2015-06-02 Jan Kratochvil <jan.kratochvil@redhat.com>
14933
14934 PR other/65366
14935 * gdbhooks.py: Use int(...) instead of long(...). Use print(...)
14936 instead of print ... .
14937
14938 2015-06-02 Alan Modra <amodra@gmail.com>
14939
14940 * config/rs6000/vsx.md (vsx_extract_v4sf): Revert accidental
14941 2014-08-11 change.
14942
14943 2015-06-02 Bin Cheng <bin.cheng@arm.com>
14944
14945 PR tree-optimization/52563
14946 PR tree-optimization/62173
14947 * tree-ssa-loop-ivopts.c (struct iv): New field. Reorder fields.
14948 (alloc_iv, set_iv): New parameter.
14949 (determine_biv_step): Delete.
14950 (find_bivs): Inline original determine_biv_step. Pass new
14951 argument to set_iv.
14952 (idx_find_step): Use no_overflow information for conversion.
14953 * tree-scalar-evolution.c (analyze_scalar_evolution_in_loop): Let
14954 resolve_mixers handle folded_casts.
14955 (instantiate_scev_name): Change bool parameter to bool pointer.
14956 (instantiate_scev_poly, instantiate_scev_binary): Ditto.
14957 (instantiate_array_ref, instantiate_scev_not): Ditto.
14958 (instantiate_scev_3, instantiate_scev_2): Ditto.
14959 (instantiate_scev_1, instantiate_scev_r): Ditto.
14960 (instantiate_scev_convert, ): Change parameter. Pass argument
14961 to chrec_convert_aggressive.
14962 (instantiate_scev): Change argument.
14963 (resolve_mixers): New parameter and set it.
14964 (scev_const_prop): New argument.
14965 * tree-scalar-evolution.h (resolve_mixers): New parameter.
14966 * tree-chrec.c (convert_affine_scev): Call chrec_convert instead
14967 of chrec_conert_1.
14968 (chrec_convert): New parameter. Move definition below.
14969 (chrec_convert_aggressive): New parameter and set it. Call
14970 convert_affine_scev.
14971 * tree-chrec.h (chrec_convert): New parameter.
14972 (chrec_convert_aggressive): Ditto.
14973
14974 2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
14975
14976 * gimplify.c (gimplify_modify_expr_rhs): Use simple test on the size.
14977 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Do not remove
14978 the LHS of a no-return call if its type has variable size.
14979 * tree-cfgcleanup.c (fixup_noreturn_call): Likewise.
14980 * tree-cfg.c (verify_gimple_call): Accept these no-return calls.
14981
14982 2015-06-01 Andreas Tobler <andreast@gcc.gnu.org>
14983
14984 * read-rtl.c: Adapt to use HAVE_DECL_ATOLL instead of HAVE_ATOLL.
14985 * config.in: Regenerate.
14986
14987 2015-06-01 Yuri Rumyantsev <ysrumyan@gmail.com>
14988
14989 * tree-vect-data-refs.c (vect_analyze_data_ref_access): Allow
14990 consecutive accesses within outer-loop with force_vectorize
14991 for references with zero step in inner-loop.
14992
14993 2015-06-01 Vidya Praveen <vidyapraveen@arm.com>
14994
14995 * Makefile.in: Pick up gcov-dump dependencies from gcc/ directory
14996 rather than from gcc/build directory.
14997
14998 2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
14999
15000 PR target/65697
15001 * config/aarch64/aarch64.c (aarch64_split_compare_and_swap): Check
15002 for __sync memory models, emit initial loads and final barriers as
15003 appropriate.
15004
15005 2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
15006
15007 PR target/65697
15008 * config/aarch64/aarch64.c (aarch64_emit_post_barrier):New.
15009 (aarch64_split_atomic_op): Check for __sync memory models, emit
15010 appropriate initial loads and final barriers.
15011
15012 2015-06-01 Vidya Praveen <vidyapraveen@arm.com>
15013
15014 * Makefile.in: Fix gcov dependencies that should
15015 not point to a build folder.
15016
15017 2015-06-01 Richard Biener <rguenther@suse.de>
15018
15019 Revert
15020 2015-05-29 Richard Biener <rguenther@suse.de>
15021
15022 PR tree-optimization/66314
15023 * tree-ssa-threadupdate.c (create_block_for_threading): Add
15024 parameter that says which loop the new block belongs to.
15025 (ssa_create_duplicates): Blocks duplicated for the threaded
15026 path belong to the loop of the thread destination.
15027
15028 2015-06-01 Martin Liska <mliska@suse.cz>
15029
15030 * sched-deps.c: Include pool-alloc.h before
15031 cselib.h header file is included.
15032
15033 2015-06-01 Richard Biener <rguenther@suse.de>
15034
15035 * tree-ssa-structalias.c (ipa_pta_execute): Handle address-taken
15036 functions.
15037
15038 2015-06-01 Martin Liska <mliska@suse.cz>
15039
15040 * alloc-pool.h: Add ATTRIBUTE_UNUSED for
15041 a function local variable.
15042
15043 2015-06-01 Martin Liska <mliska@suse.cz>
15044
15045 * alloc-pool.c (create_alloc_pool): Remove.
15046 (empty_alloc_pool): Likewise.
15047 (free_alloc_pool): Likewise.
15048 (free_alloc_pool_if_empty): Likewise.
15049 (pool_alloc): Likewise.
15050 (pool_free): Likewise.
15051 * alloc-pool.h: Remove old declarations.
15052
15053 2015-06-01 Martin Liska <mliska@suse.cz>
15054
15055 * ira-build.c (initiate_allocnos): Use new type-based pool allocator.
15056 (ira_create_object): Likewise.
15057 (ira_create_allocno): Likewise.
15058 (ira_create_live_range): Likewise.
15059 (copy_live_range): Likewise.
15060 (ira_finish_live_range): Likewise.
15061 (ira_free_allocno_costs): Likewise.
15062 (finish_allocno): Likewise.
15063 (finish_allocnos): Likewise.
15064 (initiate_prefs): Likewise.
15065 (ira_create_pref): Likewise.
15066 (finish_pref): Likewise.
15067 (finish_prefs): Likewise.
15068 (initiate_copies): Likewise.
15069 (ira_create_copy): Likewise.
15070 (finish_copy): Likewise.
15071 (finish_copies): Likewise.
15072 (finish_prefs): Likewise.
15073
15074 2015-06-01 Martin Liska <mliska@suse.cz>
15075
15076 * ipa-cp.c (ipcp_value::add_source): Use new type-based pool allocator.
15077 (allocate_and_init_ipcp_value): Likewise.
15078 (ipcp_lattice::add_value): Likewise.
15079 (merge_agg_lats_step): Likewise.
15080 (ipcp_driver): Likewise.
15081 * ipa-prop.c (ipa_free_all_structures_after_ipa_cp): Likewise.
15082 (ipa_free_all_structures_after_iinln): Likewise.
15083 * ipa-prop.h: Likewise.
15084
15085 2015-06-01 Martin Liska <mliska@suse.cz>
15086
15087 * ipa-inline-analysis.c (edge_set_predicate): Use new type-based
15088 pool allocator.
15089 (set_hint_predicate): Likewise.
15090 (inline_summary_alloc): Likewise.
15091 (reset_inline_edge_summary): Likewise.
15092 (reset_inline_summary): Likewise.
15093 (set_cond_stmt_execution_predicate): Likewise.
15094 (set_switch_stmt_execution_predicate): Likewise.
15095 (compute_bb_predicates): Likewise.
15096 (estimate_function_body_sizes): Likewise.
15097 (inline_free_summary): Likewise.
15098
15099 2015-06-01 Martin Liska <mliska@suse.cz>
15100
15101 * ipa-prop.c (ipa_set_jf_constant): Use new type-based pool allocator.
15102 (ipa_edge_duplication_hook): Likewise.
15103 (ipa_free_all_structures_after_ipa_cp): Likewise.
15104 (ipa_free_all_structures_after_iinln): Likewise.
15105
15106 2015-06-01 Martin Liska <mliska@suse.cz>
15107
15108 * ipa-profile.c (account_time_size): Use new type-based pool allocator.
15109 (ipa_profile_generate_summary): Likewise.
15110 (ipa_profile_read_summary): Likewise.
15111 (ipa_profile): Likewise.
15112
15113 2015-06-01 Martin Liska <mliska@suse.cz>
15114
15115 * tree-ssa-structalias.c (new_var_info): Use new type-based
15116 pool allocator.
15117 (new_constraint): Likewise.
15118 (init_alias_vars): Likewise.
15119 (delete_points_to_sets): Likewise.
15120
15121 2015-06-01 Martin Liska <mliska@suse.cz>
15122
15123 * tree-ssa-strlen.c (new_strinfo): Use new type-based pool allocator.
15124 (free_strinfo): Likewise.
15125 (pass_strlen::execute): Likewise.
15126
15127 2015-06-01 Martin Liska <mliska@suse.cz>
15128
15129 * tree-ssa-sccvn.c (vn_reference_insert): Use new type-based
15130 pool allocator.
15131 (vn_reference_insert_pieces): Likewise.
15132 (vn_phi_insert): Likewise.
15133 (visit_reference_op_call): Likewise.
15134 (copy_phi): Likewise.
15135 (copy_reference): Likewise.
15136 (process_scc): Likewise.
15137 (allocate_vn_table): Likewise.
15138 (free_vn_table): Likewise.
15139
15140 2015-06-01 Martin Liska <mliska@suse.cz>
15141
15142 * tree-ssa-reassoc.c (add_to_ops_vec): Use new type-based
15143 pool allocator.
15144 (add_repeat_to_ops_vec): Likewise.
15145 (get_ops): Likewise.
15146 (maybe_optimize_range_tests): Likewise.
15147 (init_reassoc): Likewise.
15148 (fini_reassoc): Likewise.
15149
15150 2015-06-01 Martin Liska <mliska@suse.cz>
15151
15152 * tree-ssa-pre.c (get_or_alloc_expr_for_name): Use new type-based
15153 pool allocator.
15154 (bitmap_set_new): Likewise.
15155 (get_or_alloc_expr_for_constant): Likewise.
15156 (get_or_alloc_expr_for): Likewise.
15157 (phi_translate_1): Likewise.
15158 (compute_avail): Likewise.
15159 (init_pre): Likewise.
15160 (fini_pre): Likewise.
15161
15162 2015-06-01 Martin Liska <mliska@suse.cz>
15163
15164 * sched-deps.c (create_dep_node): Use new type-based pool allocator.
15165 (delete_dep_node): Likewise.
15166 (create_deps_list): Likewise.
15167 (free_deps_list): Likewise.
15168 (sched_deps_init): Likewise.
15169 (sched_deps_finish): Likewise.
15170
15171 2015-06-01 Martin Liska <mliska@suse.cz>
15172
15173 * regcprop.c (free_debug_insn_changes): Use new type-based
15174 pool allocator.
15175 (replace_oldest_value_reg): Likewise.
15176 (pass_cprop_hardreg::execute): Likewise.
15177
15178 2015-06-01 Martin Liska <mliska@suse.cz>
15179
15180 * ira-build.c (initiate_cost_vectors): Use new type-based
15181 pool allocator.
15182 (ira_allocate_cost_vector): Likewise.
15183 (ira_free_cost_vector): Likewise.
15184 (finish_cost_vectors): Likewise.
15185
15186 2015-06-01 Martin Liska <mliska@suse.cz>
15187
15188 * sel-sched-ir.c (alloc_sched_pools): Use new type-based
15189 pool allocator.
15190 (free_sched_pools): Likewise.
15191 * sel-sched-ir.h (_list_alloc): Likewise.
15192 (_list_remove): Likewise.
15193
15194 2015-06-01 Martin Liska <mliska@suse.cz>
15195
15196 * stmt.c (add_case_node): Use new type-based pool allocator.
15197 (expand_case): Likewise.
15198 (expand_sjlj_dispatch_table): Likewise.
15199
15200 2015-06-01 Martin Liska <mliska@suse.cz>
15201
15202 * tree-ssa-math-opts.c (occ_new): Use new type-based pool allocator.
15203 (free_bb): Likewise.
15204 (pass_cse_reciprocals::execute): Likewise.
15205
15206 2015-06-01 Martin Liska <mliska@suse.cz>
15207
15208 * tree-sra.c (sra_initialize): Use new type-based pool allocator.
15209 (sra_deinitialize) Likewise.
15210 (create_access_1) Likewise.
15211 (build_accesses_from_assign) Likewise.
15212 (create_artificial_child_access) Likewise.
15213
15214 2015-06-01 Martin Liska <mliska@suse.cz>
15215
15216 * dse.c (get_group_info):Use new type-based pool allocator.
15217 (dse_step0) Likewise.
15218 (free_store_info) Likewise.
15219 (delete_dead_store_insn) Likewise.
15220 (free_read_records) Likewise.
15221 (record_store) Likewise.
15222 (replace_read) Likewise.
15223 (check_mem_read_rtx) Likewise.
15224 (scan_insn) Likewise.
15225 (dse_step1) Likewise.
15226 (dse_step7) Likewise.
15227
15228 2015-06-01 Martin Liska <mliska@suse.cz>
15229
15230 * df-scan.c (struct df_scan_problem_data):Use new type-based
15231 pool allocator.
15232 (df_scan_free_internal) Likewise.
15233 (df_scan_alloc) Likewise.
15234 (df_grow_reg_info) Likewise.
15235 (df_free_ref) Likewise.
15236 (df_insn_create_insn_record) Likewise.
15237 (df_mw_hardreg_chain_delete) Likewise.
15238 (df_insn_info_delete) Likewise.
15239 (df_free_collection_rec) Likewise.
15240 (df_mw_hardreg_chain_delete_eq_uses) Likewise.
15241 (df_sort_and_compress_mws) Likewise.
15242 (df_ref_create_structure) Likewise.
15243 (df_ref_record) Likewise.
15244
15245 2015-06-01 Martin Liska <mliska@suse.cz>
15246
15247 * df-problems.c (df_chain_create):Use new type-based pool allocator.
15248 (df_chain_unlink_1) Likewise.
15249 (df_chain_unlink) Likewise.
15250 (df_chain_remove_problem) Likewise.
15251 (df_chain_alloc) Likewise.
15252 (df_chain_free) Likewise.
15253 * df.h (struct dataflow) Likewise.
15254
15255 2015-06-01 Martin Liska <mliska@suse.cz>
15256
15257 * cselib.c (new_elt_list):Use new type-based pool allocator.
15258 (new_elt_loc_list) Likewise.
15259 (unchain_one_elt_list) Likewise.
15260 (unchain_one_elt_loc_list) Likewise.
15261 (unchain_one_value) Likewise.
15262 (new_cselib_val) Likewise.
15263 (cselib_init) Likewise.
15264 (cselib_finish) Likewise.
15265
15266 2015-06-01 Martin Liska <mliska@suse.cz>
15267
15268 * config/sh/sh.c (add_constant):Use new type-based pool allocator.
15269 (sh_reorg) Likewise.
15270
15271 2015-06-01 Martin Liska <mliska@suse.cz>
15272
15273 * cfg.c (initialize_original_copy_tables):Use new type-based
15274 pool allocator.
15275 (free_original_copy_tables) Likewise.
15276 (copy_original_table_clear) Likewise.
15277 (copy_original_table_set) Likewise.
15278
15279 2015-06-01 Martin Liska <mliska@suse.cz>
15280
15281 * asan.c (asan_mem_ref_get_alloc_pool):Use new type-based
15282 pool allocator.
15283 (asan_mem_ref_new) Likewise.
15284 (free_mem_ref_resources) Likewise.
15285
15286 2015-06-01 Martin Liska <mliska@suse.cz>
15287
15288 * var-tracking.c (variable_htab_free):Use new type-based
15289 pool allocator.
15290 (attrs_list_clear) Likewise.
15291 (attrs_list_insert) Likewise.
15292 (attrs_list_copy) Likewise.
15293 (shared_hash_unshare) Likewise.
15294 (shared_hash_destroy) Likewise.
15295 (unshare_variable) Likewise.
15296 (var_reg_delete_and_set) Likewise.
15297 (var_reg_delete) Likewise.
15298 (var_regno_delete) Likewise.
15299 (drop_overlapping_mem_locs) Likewise.
15300 (variable_union) Likewise.
15301 (insert_into_intersection) Likewise.
15302 (canonicalize_values_star) Likewise.
15303 (variable_merge_over_cur) Likewise.
15304 (dataflow_set_merge) Likewise.
15305 (remove_duplicate_values) Likewise.
15306 (variable_post_merge_new_vals) Likewise.
15307 (dataflow_set_preserve_mem_locs) Likewise.
15308 (dataflow_set_remove_mem_locs) Likewise.
15309 (variable_from_dropped) Likewise.
15310 (variable_was_changed) Likewise.
15311 (set_slot_part) Likewise.
15312 (clobber_slot_part) Likewise.
15313 (delete_slot_part) Likewise.
15314 (loc_exp_insert_dep) Likewise.
15315 (notify_dependents_of_changed_value) Likewise.
15316 (emit_notes_for_differences_1) Likewise.
15317 (vt_emit_notes) Likewise.
15318 (vt_initialize) Likewise.
15319 (vt_finalize) Likewise.
15320
15321 2015-06-01 Martin Liska <mliska@suse.cz>
15322
15323 * ira-color.c (init_update_cost_records):Use new type-based
15324 pool allocator.
15325 (get_update_cost_record) Likewise.
15326 (free_update_cost_record_list) Likewise.
15327 (finish_update_cost_records) Likewise.
15328 (initiate_cost_update) Likewise.
15329
15330 2015-06-01 Martin Liska <mliska@suse.cz>
15331
15332 * lra.c (init_insn_regs): Use new type-based pool allocator.
15333 (new_insn_reg) Likewise.
15334 (free_insn_reg) Likewise.
15335 (free_insn_regs) Likewise.
15336 (finish_insn_regs) Likewise.
15337 (init_insn_recog_data) Likewise.
15338 (init_reg_info) Likewise.
15339 (finish_reg_info) Likewise.
15340 (lra_free_copies) Likewise.
15341 (lra_create_copy) Likewise.
15342 (invalidate_insn_data_regno_info) Likewise.
15343
15344 2015-06-01 Martin Liska <mliska@suse.cz>
15345
15346 * lra-lives.c (free_live_range): Use new type-based pool allocator.
15347 (free_live_range_list) Likewise.
15348 (create_live_range) Likewise.
15349 (copy_live_range) Likewise.
15350 (lra_merge_live_ranges) Likewise.
15351 (remove_some_program_points_and_update_live_ranges) Likewise.
15352 (lra_live_ranges_init) Likewise.
15353 (lra_live_ranges_finish) Likewise.
15354
15355 2015-06-01 Martin Liska <mliska@suse.cz>
15356
15357 * et-forest.c (et_new_occ): Use new type-based pool allocator.
15358 (et_new_tree): Likewise.
15359 (et_free_tree): Likewise.
15360 (et_free_tree_force): Likewise.
15361 (et_free_pools): Likewise.
15362 (et_split): Likewise.
15363
15364 2015-06-01 Martin Liska <mliska@suse.cz>
15365
15366 * alloc-pool.c (struct alloc_pool_descriptor): Move definition
15367 to header file.
15368 * alloc-pool.h (pool_allocator::pool_allocator): New function.
15369 (pool_allocator::release): Likewise.
15370 (inline pool_allocator::release_if_empty): Likewise.
15371 (inline pool_allocator::~pool_allocator): Likewise.
15372 (pool_allocator::allocate): Likewise.
15373 (pool_allocator::remove): Likewise.
15374
15375 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
15376
15377 * sched-deps.c (sched_analyze_2): Replace fuseable with fusible
15378 in comment.
15379
15380 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
15381
15382 * gcc/config/arm/arm-protos.h (tune_params): Rename fuseable_ops
15383 to fusible_ops.
15384 * gcc/config/arm/arm.c (arm_print_tune_info): Likewise.
15385 (arm_macro_fusion_p): Likewise.
15386 (arm_macro_fusion_pair_p): Likewise.
15387
15388 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
15389
15390 * config/aarch64/aarch64-protos.h (tune_params): Rename
15391 fuseable_ops to fusible_ops.
15392 * config/aarch64/aarch64.c (generic_tunings): Rename
15393 fuseable_ops to fusible_ops.
15394 (cortexa53_tunings): Likewise.
15395 (cortexa57_tunings): Likewise.
15396 (thunderx_tunings): Likewise.
15397 (xgene1_tunings): Likewise.
15398 (aarch64_macro_fusion_p): Likewise.
15399 (aarch64_macro_fusion_pair_p): Likewise.
15400
15401 2015-06-01 Dominik Vogt <vogt@linux.vnet.ibm.com>
15402
15403 * config/s390/driver-native.c: New file.
15404 * config/s390/x-native: New file.
15405 * config.host: Add new files for s390.
15406 * config/s390/s390.h (DRIVER_SELF_SPECS): Add support for -mtune=native
15407 and -march=native
15408 * config.gcc: Likewise.
15409 * config/s390/s390.opt (march): Likewise; add PROCESSOR_NATIVE
15410 * config/s390/s390-opts.h (enum processor_type): Ditto.
15411 * config/s390/s390.c (s390_option_override): Catch unhandled
15412 PROCESSOR_NATIVE
15413
15414 2015-06-01 Ilya Enkovich <ilya.enkovich@intel.com>
15415
15416 PR target/65527
15417 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Add
15418 redirection for instrumented calls.
15419 * lto-wrapper.c (merge_and_complain): Merge -fcheck-pointer-bounds.
15420 (append_compiler_options): Append -fcheck-pointer-bounds.
15421 * tree-chkp.h (chkp_copy_call_skip_bounds): New.
15422 (chkp_redirect_edge): New.
15423 * tree-chkp.c (chkp_copy_call_skip_bounds): New.
15424 (chkp_redirect_edge): New.
15425
15426 2015-06-01 Richard Biener <rguenther@suse.de>
15427
15428 PR tree-optimization/66280
15429 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Fix pattern
15430 def-use walking.
15431
15432 2015-06-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15433
15434 * config/aarch64/aarch64.md
15435 (*<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Change type to
15436 logic_shift_imm.
15437
15438 2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
15439
15440 * config/i386/winnt.c (i386_pe_encode_section_info) <FUNCTION_DECL>:
15441 Remove obsolete kludge.
15442
15443 2015-06-01 Richard Biener <rguenther@suse.de>
15444
15445 * tree-ssa-reassoc.c (get_rank): Simplify.
15446
15447 2015-05-31 H.J. Lu <hongjiu.lu@intel.com>
15448
15449 * configure.ac (NO_PIE_CFLAGS): Check CXXFLAGS instead of CFLAGS.
15450 * configure: Regenerated.
15451
15452 2015-05-31 Mikhail Maltsev <maltsevm@gmail.com>
15453
15454 * config/cris/cris.h (CRIS_ARCH_CPP_DEFAULT): Fix C++11 compatibility
15455 issue (add space between string literal and macro).
15456 * config/i386/mingw32.h (REAL_LIBGCC_SPEC): Likewise.
15457
15458 2015-05-30 Andreas Schwab <schwab@linux-m68k.org>
15459
15460 * config/m68k/m68k.h (ASM_PCREL_SPEC): Pass --pcrel also for
15461 implict or explicit -fPIE or -fpie.
15462
15463 2015-05-30 Mike Frysinger <vapier@gentoo.org>
15464
15465 * gcc/config/alpha/elf.h (ASM_SPEC): Add %{mcpu=*:-m%*}.
15466
15467 2015-05-28 DJ Delorie <dj@redhat.com>
15468
15469 * expmed.c (extract_bit_field_1): Avoid clobbering a
15470 yet-to-be-used base/index register.
15471
15472 2015-05-30 Jan Hubicka <hubicka@ucw.cz>
15473
15474 * alias.c (alias_set_entry_d): Add is_pointer and has_pointer.
15475 (alias_stats): Add num_universal.
15476 (alias_set_subset_of): Special case pointers; be ready for NULL
15477 children.
15478 (alias_sets_conflict_p): Special case pointers; be ready for NULL
15479 children.
15480 (init_alias_set_entry): Break out from ...
15481 (record_alias_subset): ... here; propagate new fields;
15482 allocate children only when really needed.
15483 (get_alias_set): Do less generous pointer globbing.
15484 (dump_alias_stats_in_alias_c): Update statistics.
15485
15486 2015-05-30 Alan Modra <amodra@gmail.com>
15487
15488 * config/rs6000/rs6000.c (split_stack_arg_pointer_used_p): Scan
15489 correct block for use of r12.
15490 (rs6000_expand_split_stack_prologue): Error on r29 asm global reg.
15491
15492 2015-05-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
15493
15494 PR target/66215
15495 * config/s390/s390.c (s390_reorg): Fix placement of post-label NOPs
15496 with -mhotpatch=.
15497
15498 2015-05-29 Jakub Jelinek <jakub@redhat.com>
15499
15500 PR tree-optimization/66142
15501 * tree-if-conv.c (if_convertible_phi_p): Don't give up on
15502 virtual phis that feed themselves.
15503
15504 2015-05-29 Richard Biener <rguenther@suse.de>
15505
15506 PR tree-optimization/66314
15507 * tree-ssa-threadupdate.c (create_block_for_threading): Add
15508 parameter that says which loop the new block belongs to.
15509 (ssa_create_duplicates): Blocks duplicated for the threaded
15510 path belong to the loop of the thread destination.
15511
15512 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
15513
15514 * config/arm/neon-testgen.ml (emit_epilogue): Remove manual call
15515 to cleanup-saved-temps.
15516 * doc/sourcebuild.texi (Clean up generated test files): Expand
15517 introduction.
15518 (dg-keep-saved-temps): Document new proc.
15519 (cleanup-ipa-dump, cleanup-rtl-dump, cleanup-tree-dump,
15520 cleanup-saved-temps): Remove.
15521
15522 2015-05-28 Andreas Tobler <andreast@gcc.gnu.org>
15523
15524 * configure.ac: Move the atoll check from AC_CHECK_FUNCS to
15525 gcc_AC_CHECK_DECLS.
15526 * configure: Regenerate.
15527
15528 2015-05-28 Mike Frysinger <vapier@gentoo.org>
15529
15530 * config/nios2/linux.h (CPP_SPEC): Define.
15531
15532 2015-05-28 Mike Frysinger <vapier@gentoo.org>
15533
15534 * config/microblaze/linux.h (CPP_SPEC): Define.
15535
15536 2015-05-28 Mike Frysinger <vapier@gentoo.org>
15537
15538 * config/pa/pa-linux.h (CPP_SPEC): Change so -D_REENTRANT is used when
15539 -pthread is specified.
15540
15541 2015-05-28 Richard Biener <rguenther@suse.de>
15542
15543 * tree-vect-loop.c (vect_fixup_reduc_chain): New function.
15544 (vect_fixup_scalar_cycles_with_patterns): Likewise.
15545 (vect_analyze_loop_2): Call vect_fixup_scalar_cycles_with_patterns
15546 after pattern recog.
15547 (vect_create_epilog_for_reduction): Properly handle reductions
15548 with patterns.
15549 (vectorizable_reduction): Likewise.
15550 * tree-vect-slp.c (vect_analyze_slp_instance): Properly mark
15551 reduction chains.
15552 (vect_get_constant_vectors): Create the correct number of
15553 initial values for reductions.
15554 (vect_schedule_slp_instance): Handle reduction chains that are
15555 type changing properly.
15556 * tree-vect-stmts.c (vect_analyze_stmt): Adjust.
15557
15558 2015-05-28 Richard Biener <rguenther@suse.de>
15559
15560 PR tree-optimization/66142
15561 * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle non-GIMPLE
15562 values better in memcpy destination handling. Handle non-aliasing
15563 we discover here.
15564
15565 2015-05-28 Lawrence Velázquez <vq@larryv.me>
15566
15567 PR target/63810
15568 * config/darwin-c.c (version_components): New global enum.
15569 (parse_version, version_as_legacy_macro)
15570 (version_as_modern_macro, macosx_version_as_macro): New functions.
15571 (version_as_macro): Remove.
15572 (darwin_cpp_builtins): Use new function.
15573
15574 2015-05-28 H.J. Lu <hongjiu.lu@intel.com>
15575
15576 * builtins.c (expand_builtin_acc_on_device): Mark parameters
15577 with ATTRIBUTE_UNUSED.
15578
15579 2015-05-28 Julian Brown <julian@codesourcery.com>
15580
15581 PR libgomp/65742
15582
15583 * builtins.c (expand_builtin_acc_on_device): Don't use open-coded
15584 sequence for !ACCEL_COMPILER.
15585
15586 2015-05-28 Nick Clifton <nickc@redhat.com>
15587
15588 * config/rx/rx.c (push_regs): New function. Extracts code from...
15589 (rx_expand_prologue): ... here. Use push_regs to push even small
15590 spans of registers.
15591 (pop_regs): New function.
15592 (rx_expand_epilogue): Use pop_regs to pop even small spans of
15593 registers.
15594
15595 2015-05-28 Richard Biener <rguenther@suse.de>
15596
15597 * tree-vectorizer.h (struct _slp_instance): Remove body_cost_vec
15598 member.
15599 (SLP_INSTANCE_BODY_COST_VEC): Remove.
15600 (vect_update_slp_costs_according_to_vf): Likewise.
15601 (vect_slp_analyze_operations): Update prototype.
15602 * tree-vect-loop.c (vect_analyze_loop_2): Remove call to
15603 vect_update_slp_costs_according_to_vf, adjust.
15604 * tree-vect-slp.c (vect_free_slp_instance): Adjust.
15605 (vect_analyze_slp_cost_1): Likewise.
15606 (vect_analyze_slp_cost): Likewise. Properly deal with
15607 widening reduction ops. Commit body costs.
15608 (vect_analyze_slp_instance): Adjust. Do not analyze SLP
15609 cost for loops from here.
15610 (vect_slp_analyze_operations): But do it from here when
15611 the vectorization factor is known and stmts are analyzed.
15612 (vect_bb_vectorization_profitable_p): Simplify.
15613 (vect_slp_analyze_bb_1): Do not compute SLP cost here.
15614 (vect_update_slp_costs_according_to_vf): Remove.
15615
15616 2015-05-27 Magnus Granberg <zorry@gentoo.org>
15617 H.J. Lu <hongjiu.lu@intel.com>
15618
15619 * Makefile.in (COMPILER): Add @NO_PIE_CFLAGS@.
15620 (BUILD_CFLAGS): Likewise.
15621 (BUILD_CXXFLAGS): Likewise.
15622 (LINKER): Add @NO_PIE_FLAG@.
15623 (BUILD_LDFLAGS): Likewise.
15624 (libgcc.mvars): Set NO_PIE_CFLAGS to -fno-PIE for
15625 --enable-default-pie.
15626 * common.opt (fPIE): Initialize to -1.
15627 (fpie): Likewise.
15628 (no-pie): New option.
15629 (pie): Replace "Negative(shared)" with "Negative(no-pie)".
15630 * configure.ac: Add --enable-default-pie.
15631 (NO_PIE_CFLAGS): New. Check if -fno-PIE works. AC_SUBST.
15632 (NO_PIE_FLAG): New. Check if -no-pie works. AC_SUBST.
15633 * defaults.h (DEFAULT_FLAG_PIE): New. Default PIE to -fPIE.
15634 * gcc.c (NO_PIE_SPEC): New.
15635 (PIE_SPEC): Likewise.
15636 (NO_FPIE1_SPEC): Likewise.
15637 (FPIE1_SPEC): Likewise.
15638 (NO_FPIE2_SPEC): Likewise.
15639 (FPIE2_SPEC): Likewise.
15640 (NO_FPIE2_SPEC): Likewise.
15641 (FPIE_SPEC): Likewise.
15642 (NO_FPIE_SPEC): Likewise.
15643 (NO_FPIC1_SPEC): Likewise.
15644 (FPIC1_SPEC): Likewise.
15645 (NO_FPIC2_SPEC): Likewise.
15646 (FPIC2_SPEC): Likewise.
15647 (NO_FPIC2_SPEC): Likewise.
15648 (FPIC_SPEC): Likewise.
15649 (NO_FPIC_SPEC): Likewise.
15650 (NO_FPIE1_AND_FPIC1_SPEC): Likewise.
15651 (FPIE1_OR_FPIC1_SPEC): Likewise.
15652 (NO_FPIE2_AND_FPIC2_SPEC): Likewise.
15653 (FPIE2_OR_FPIC2_SPEC): Likewise.
15654 (NO_FPIE_AND_FPIC_SPEC): Likewise.
15655 (FPIE_OR_FPIC_SPEC): Likewise.
15656 (LD_PIE_SPEC): Likewise.
15657 (LINK_PIE_SPEC): Handle -no-pie. Use PIE_SPEC and LD_PIE_SPEC.
15658 * opts.c (finish_options): Update opts->x_flag_pie if it is -1.
15659 * config/darwin.h (PIE_SPEC): Renamed to ...
15660 (DARWIN_PIE_SPEC): This.
15661 (LINK_SPEC): Replace PIE_SPEC with DARWIN_PIE_SPEC.
15662 * config/darwin9.h (PIE_SPEC): Renamed to ...
15663 (DARWIN_PIE_SPEC): This.
15664 * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Use
15665 PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
15666 * config/openbsd.h (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and
15667 FPIE2_OR_FPIC2_SPEC.
15668 * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
15669 * config/m68k/openbsd.h (ASM_SPEC): Likewise.
15670 * gcc/config/sol2.h (ASM_PIC_SPEC): Likewise.
15671 * config/arm/freebsd.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
15672 * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
15673 * config/arm/semi.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
15674 * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
15675 * config/m32r/m32r.h (ASM_SPEC): Likewise.
15676 * config/m68k/uclinux.h (DRIVER_SELF_SPECS): Likewise.
15677 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
15678 * config/rs6000/sysv4.h (ASM_SPEC): Likewise.
15679 * config/sparc/freebsd.h (ASM_SPEC): Likewise.
15680 * config/sparc/linux.h (ASM_SPEC): Likewise.
15681 * config/sparc/linux64.h (ASM_SPEC): Likewise.
15682 * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
15683 * config/sparc/openbsd64.h (ASM_SPEC): Likewise.
15684 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
15685 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
15686 * config/sparc/sparc.h (ASM_SPEC): Likewise.
15687 * config/sparc/sysv4.h (ASM_SPEC): Likewise.
15688 * config/sparc/vxworks.h (ASM_SPEC): Likewise.
15689 * config/c6x/elf-common.h (ASM_SPEC): Use NO_FPIC2_SPEC,
15690 FPIC2_SPEC, FPIC1_SPEC and FPIC2_SPEC.
15691 * config/c6x/uclinux-elf.h (LINK_SPEC): Use FPIE_SPEC.
15692 * config/frv/frv.h (DRIVER_SELF_SPECS): Use FPIC_SPEC,
15693 NO_FPIC_SPEC and NO_FPIE1_AND_FPIC1_SPEC.
15694 (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and FPIE2_OR_FPIC2_SPEC.
15695 * config/m68k/m68k.h (ASM_PCREL_SPEC): Use FPIC_SPEC and NO_FPIC_SPEC.
15696 * config/mips/gnu-user.h (NO_SHARED_SPECS): Use NO_FPIE_AND_FPIC_SPEC.
15697 * config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Use FPIC_SPEC.
15698 * config/rs6000/freebsd64.h (ASM_SPEC32): Likewise.
15699 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
15700 * config/vax/linux.h (ASM_SPEC): Likewise.
15701 * doc/install.texi: Document --enable-default-pie.
15702 * doc/invoke.texi: Document -no-pie.
15703 * config.in: Regenerated.
15704 * configure: Likewise.
15705
15706 2015-05-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
15707
15708 PR rtl-optimization/66168
15709 * loop-invariant.c (move_invariant_reg): Pass dest rather than reg to
15710 can_move_invariant_reg.
15711
15712 2015-05-27 John David Anglin <danglin@gcc.gnu.org>
15713
15714 PR target/66148
15715 * config/pa/pa.c (pa_emit_move_sequence): Correct placement of
15716 REG_EQUAL note when doing insert.
15717
15718 * config/pa/pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC
15719 instead of "%d" for 'o' operand.
15720
15721 2015-05-27 Nathan Sidwell <nathan@acm.org>
15722
15723 PR c++/66270
15724 * tree.c (build_pointer_type_for_mode): Canonical type does not
15725 inherit can_alias_all.
15726 (build_reference_type_for_mode): Likewise.
15727
15728 2015-05-27 Eric Botcazou <ebotcazou@adacore.com>
15729
15730 * expr.h (array_at_struct_end_p): Move to...
15731 (array_ref_element_size): Likewise.
15732 (component_ref_field_offset): Likewise.
15733 * tree.h (array_ref_element_size): ...here.
15734 (array_at_struct_end_p): Likewise.
15735 (component_ref_field_offset): Likewise.
15736 * expr.c (array_ref_element_size): Move to...
15737 (array_ref_low_bound): Likewise.
15738 (array_at_struct_end_p): Likewise.
15739 (array_ref_up_bound): Likewise.
15740 (component_ref_field_offset): Likewise.
15741 * tree.c (array_ref_element_size): ...here.
15742 (array_ref_low_bound): Likewise.
15743 (array_ref_up_bound): Likewise.
15744 (array_at_struct_end_p): Likewise.
15745 (component_ref_field_offset): Likewise.
15746
15747 2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
15748 Szabolcs Nagy <szabolcs.nagy@arm.com>
15749
15750 * config/aarch64/aarch64-linux.h (MUSL_DYNAMIC_LINKER): Define.
15751
15752 2015-05-27 Jason Merrill <jason@redhat.com>
15753
15754 PR bootstrap/66304
15755 * configure.ac: Use ACX_PROG_CXX_WARNING_OPTS,
15756 ACX_PROG_CXX_WARNING_ALMOST_PEDANTIC, and
15757 ACX_PROG_CXX_WARNINGS_ARE_ERRORS.
15758
15759 2015-05-22 Aditya Kumar <hiraditya@msn.com>
15760
15761 * auto-profile.c (afdo_calculate_branch_prob): Break once has_sample
15762 is true.
15763
15764 * statistics.c (statistics_fini_pass): Print pass name.
15765
15766 2015-05-27 Richard Biener <rguenther@suse.de>
15767
15768 PR tree-optimization/66272
15769 Revert parts of
15770 2014-08-15 Richard Biener <rguenther@suse.de>
15771
15772 PR tree-optimization/62031
15773 * tree-data-ref.c (dr_analyze_indices): Do not set
15774 DR_UNCONSTRAINED_BASE.
15775 (dr_may_alias_p): All indirect accesses have to go the
15776 formerly DR_UNCONSTRAINED_BASE path.
15777 * tree-data-ref.h (struct indices): Remove
15778 unconstrained_base member.
15779 (DR_UNCONSTRAINED_BASE): Remove.
15780
15781 2015-05-27 Aldy Hernandez <aldyh@redhat.com>
15782
15783 * dwarf2out.c: Remove block_map.
15784 (gen_call_site_die): Replace block_map use with BLOCK_DIE.
15785 (gen_lexical_block_die): Same.
15786 (dwarf2out_function_decl): Remove block_map use.
15787 (dwarf2out_c_finalize): Same.
15788 * tree-core.h (struct tree_block): Add die field.
15789 * tree.h (BLOCK_DIE): New.
15790
15791 2015-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15792
15793 PR target/65358
15794 * expr.c (memory_load_overlap): New function.
15795 (emit_push_insn): When pushing partial args to the stack would
15796 clobber the register part load the overlapping part into a pseudo
15797 and put it into the hard reg after pushing. Change return type
15798 to bool. Add bool argument.
15799 * expr.h (emit_push_insn): Change return type to bool.
15800 Add bool argument.
15801 * calls.c (expand_call): Cancel sibcall optimization when encountering
15802 partial argument on targets with ARGS_GROW_DOWNWARD and
15803 !STACK_GROWS_DOWNWARD.
15804 (emit_library_call_value_1): Update callsite of emit_push_insn.
15805 (store_one_arg): Likewise.
15806
15807 2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
15808
15809 * config/arm/linux-eabi.h (MUSL_DYNAMIC_LINKER): Define.
15810
15811 2015-05-27 Martin Liska <mliska@suse.cz>
15812
15813 * Makefile.in: Add additional dependencies related to memory report
15814 enhancement.
15815 * alloc-pool.c (allocate_pool_descriptor): Use new ctor.
15816 * bitmap.c (struct bitmap_descriptor_d): Remove.
15817 (struct loc): Likewise.
15818 (struct bitmap_desc_hasher): Likewise.
15819 (bitmap_desc_hasher::hash): Likewise.
15820 (bitmap_desc_hasher::equal): Likewise.
15821 (get_bitmap_descriptor): Likewise.
15822 (bitmap_register): User new memory descriptor API.
15823 (register_overhead): Likewise.
15824 (bitmap_find_bit): Register nsearches and search_iter statistics.
15825 (struct bitmap_output_info): Remove.
15826 (print_statistics): Likewise.
15827 (dump_bitmap_statistics): Use new memory descriptor.
15828 * bitmap.h (struct bitmap_usage): New class.
15829 * genmatch.c: Extend header file inclusion.
15830 * genpreds.c: Likewise.
15831 * ggc-common.c (struct ggc_usage): New class.
15832 (struct ggc_loc_desc_hasher): Remove.
15833 (ggc_loc_desc_hasher::hash): Likewise.
15834 (ggc_loc_desc_hasher::equal): Likewise.
15835 (struct ggc_ptr_hash_entry): Likewise.
15836 (struct ptr_hash_hasher): Likewise.
15837 (ptr_hash_hasher::hash): Likewise.
15838 (ptr_hash_hasher::equal): Likewise.
15839 (make_loc_descriptor): Likewise.
15840 (ggc_prune_ptr): Likewise.
15841 (dump_ggc_loc_statistics): Use new memory descriptor.
15842 (ggc_record_overhead): Likewise.
15843 (ggc_free_overhead): Likewise.
15844 (final_cmp_statistic): Remove.
15845 (cmp_statistic): Likewise.
15846 (ggc_add_statistics): Liekwise.
15847 (ggc_prune_overhead_list): Likewise.
15848 * hash-map-traits.h: New file.
15849 * hash-map.h (struct default_hashmap_traits): Move the traits to a
15850 separate header file.
15851 * hash-set.h: Pass memory statistics info to ctor.
15852 * hash-table.c (void dump_hash_table_loc_statistics): New function.
15853 * hash-table.h (hash_table::hash_table): Add new ctor arguments.
15854 (hash_table::~hash_table): Register memory release operation.
15855 (hash_table::alloc_entries): Handle memory allocation operation.
15856 (hash_table::expand): Likewise.
15857 * inchash.c (iterative_hash_hashval_t): Move implementation to header
15858 file.
15859 (iterative_hash_host_wide_int): Likewise.
15860 * inchash.h (class hash): Likewise.
15861 * mem-stats-traits.h: New file.
15862 * mem-stats.h: New file.
15863 (mem_location): Add new class.
15864 (mem_usage): Likewise.
15865 (mem_alloc_description): Likewise.
15866 * sese.c: Add new header file inclusision.
15867 * toplev.c (dump_memory_report): Add report for hash_table, hash_map
15868 and hash_set.
15869 * tree-sra.c: Add new header file inclusision.
15870 * vec.c (struct vec_descriptor): Remove.
15871 (hash_descriptor): Likewise.
15872 (struct vec_usage): Likewise.
15873 (struct ptr_hash_entry): Likewise.
15874 (hash_ptr): Likewise.
15875 (eq_ptr): Likewise.
15876 (vec_prefix::register_overhead): Use new memory descriptor API.
15877 (vec_prefix::release_overhead): Likewise.
15878 (add_statistics): Remove.
15879 (dump_vec_loc_statistics): Use new memory descriptor API.
15880 * vec.h (struct vec_prefix): Likewise.
15881 (va_heap::reserve): Likewise.
15882 (va_heap::release): Likewise.
15883 * emit-rtl.c (gen_raw_REG): Fix passing MEM_STAT.
15884
15885 2015-05-27 Richard Biener <rguenther@suse.de>
15886
15887 * tree-vect-stmts.c (vectorizable_load): Initialize slp_perm
15888 earlier and remove ??? comment.
15889 (vect_analyze_stmt): If we are analyzing a pure SLP stmt
15890 and got called from loop analysis bail out. Always pass the SLP
15891 node to the vectorizable_* functions.
15892 * tree-vect-loop.c (vect_analyze_loop_operations): Remove
15893 the premature SLP check here.
15894 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Dump hybrid
15895 detected SLP stmts.
15896 (vect_detect_hybrid_slp_1): Likewise.
15897
15898 2015-05-26 Jeff Law <law@redhat.com>
15899
15900 * combine.c (find_split_point): Verify that the shift count is a
15901 constant when choosing (plus (ashift ...)) as a split point.
15902
15903 * tree-ssa-threadupdate.c: Replace 8 space sequences with tabs.
15904 No functional changes.
15905
15906 2015-05-26 Jan Hubicka <hubicka@ucw.cz>
15907
15908 * ipa-polymorphic-call.c
15909 (ipa_polymorphic_call_context::get_dynamic_type): Short circuit the
15910 case when call target is already known.
15911
15912 2015-05-26 Oleg Endo <olegendo@gcc.gnu.org>
15913
15914 PR target/65979
15915 * config/sh/sh.md (tstsi_t peephole2): Use gen_rtx_SET and
15916 take into account the case that operands[1] and operands[2]
15917 are the same register.
15918
15919 2015-05-26 Michael Matz <matz@suse.de>
15920
15921 PR middle-end/66251
15922
15923 * tree-vect-stmts.c (vect_model_store_cost): Handled strided group
15924 stores.
15925 (vect_create_vectorized_demotion_stmts): Always set
15926 STMT_VINFO_VEC_STMT, also with SLP.
15927 (vectorizable_store): Handle strided group stores.
15928
15929 2015-05-26 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
15930
15931 PR target/66049
15932 * config/aarch64/aarch64.md
15933 (*adds_shift_imm_<mode>): New pattern.
15934 (*subs_shift_imm_<mode>): Likewise.
15935 (*adds_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
15936 (*subs_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
15937 (*add_uxt<mode>_shift2): Likewise.
15938 (*add_uxtsi_shift2_uxtw): Likewise.
15939 (*sub_uxt<mode>_shift2): Likewise.
15940 (*sub_uxtsi_shift2_uxtw): Likewise.
15941
15942 2015-05-26 David Edelsohn <dje.gcc@gmail.com>
15943
15944 * config/rs6000/constraints.md (Y, U): Use match_test.
15945
15946 2015-05-26 Christian Bruel <christian.bruel@st.com>
15947
15948 PR target/52144
15949 * config/arm/arm.c (arm_option_check_internal)
15950 (arm_option_params_internal): Check opts->target_flags to set macros.
15951 (TREE_TARGET_ARM, TREE_TARGET_THUMB)
15952 (TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Replace with...
15953 (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
15954 (builtin_define): Replaced with def_or_undef_macro.
15955 * config/arm/arm.h (TREE_TARGET_ARM, TREE_TARGET_THUMB)
15956 TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Redefine with...
15957 (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
15958 (TARGET_32BIT_P, TARGET_ARM_QBIT_P, TARGET_ARM_SAT_P, TARGET_IDIV_P)
15959 (TARGET_HAVE_LDREX_P, TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P)
15960 (TARGET_ARM_FEATURE_LDREX_P)
15961 (TARGET_DSP_MULTIPLY_P, TARGET_INT_SIMD_P): New macros.
15962 * config/arm/arm-c.c (def_or_undef_macro): New function.
15963 (arm_cpu_cpp_builtins): Use def_or_undef_macro for macros definition.
15964
15965 2015-05-26 Christian Bruel <christian.bruel@st.com>
15966
15967 * c-common.h (builtin_define_with_int_value)
15968 (builtin_define_type_sizeof): Declare.
15969 * c-cppbuiltin.c (builtin_define_with_int_value)
15970 (builtin_define_type_sizeof): Externalize.
15971 (builtin_define_std): Cleanup declaration.
15972 * config/arm/arm-protos.h (arm_cpu_cpp_builtins): Declare.
15973 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Move macro defines into...
15974 * config/arm/arm-c.c (arm_cpu_cpp_builtins): New function.
15975 (builtin_define, builtin_assert): New macros.
15976
15977 2015-05-26 Richard Biener <rguenther@suse.de>
15978
15979 PR tree-optimization/66142
15980 * tree-ssa-sccvn.c (vn_reference_lookup_3): Manually compare
15981 MEM_REFs for the same base address.
15982
15983 2015-05-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
15984
15985 PR ipa/66181
15986 * tree.c (verify_type_variant): Do not check TYPE_NO_FORCE_BLK.
15987
15988 2015-05-26 Jason Merrill <jason@redhat.com>
15989
15990 * configure.ac: Set CXXFLAGS for ISL test.
15991 * configure: Regenerate.
15992
15993 * configure.ac: Use C++ for all tests. Use AC_CHECK_DECLS for
15994 strstr and basename.
15995 * configure: Regenerate.
15996
15997 2015-05-26 Richard Biener <rguenther@suse.de>
15998
15999 * fold-const.c (fold_binary_loc): Move X % -Y -> X % Y and
16000 X % C -> X & (C - 1) for C being a power-of two to ...
16001 * match.pd: ... patterns.
16002
16003 2015-05-26 Marc Glisse <marc.glisse@inria.fr>
16004
16005 * match.pd (swapped_tcc_comparison): New operator list.
16006 (-A CMP -B): New simplification.
16007 * fold-const.c (fold_comparison): Remove corresponding code.
16008
16009 2015-05-26 Richard Sandiford <richard.sandiford@arm.com>
16010
16011 * caller-save.c (init_caller_save): Base temporary register numbers
16012 on LAST_VIRTUAL_REGISTER + 1 rather than FIRST_PSEUDO_REGISTER.
16013 * cfgloopanal.c (init_set_costs): Likewise.
16014 * dojump.c (prefer_and_bit_test): Likewise.
16015 * expr.c (init_expr_target): Likewise.
16016 * ira.c (setup_prohibited_mode_move_regs): Likewise.
16017 * lower-subreg.c (init_lower_subreg): Likewise.
16018 * postreload.c (reload_cse_regs_1): Likewise.
16019
16020 2015-05-26 Richard Sandiford <richard.sandiford@arm.com>
16021
16022 * gensupport.h (compute_test_codes): Declare.
16023 * gensupport.c (compute_predicate_codes): Rename to...
16024 (compute_test_codes): ...this. Generalize error message.
16025 (process_define_predicate): Update accordingly.
16026 * genpreds.c (compute_maybe_allows): Delete.
16027 (add_constraint): Use compute_test_codes to determine whether
16028 something can accept a SUBREG, REG or MEM.
16029
16030 2015-05-26 Torvald Riegel <triegel@redhat.com>
16031
16032 * doc/extend.texi (__atomic Builtins): Use 'memory order' instead of
16033 'memory model' to align with C++11; fix description of memory orders;
16034 fix a few typos.
16035
16036 2015-05-26 Richard Biener <rguenther@suse.de>
16037
16038 * tree-vect-loop.c (vect_update_vf_for_slp): Split out from ...
16039 (vect_analyze_loop_operations): ... here. Remove slp parameter,
16040 detect whether we apply SLP. Remove call to
16041 vect_update_slp_costs_according_to_vf.
16042 (vect_analyze_loop_2): Call vect_update_vf_for_slp and
16043 vect_update_slp_costs_according_to_vf from here. Dispatch
16044 to vect_slp_analyze_operations to analyze SLP stmts.
16045 * tree-vect-slp.c (vect_slp_analyze_node_operations): Drop
16046 unused bb_vec_info parameter, adjust assert.
16047 (vect_slp_analyze_operations): Pass in the slp instance tree
16048 instead of bb_vec_info.
16049 (vect_slp_analyze_bb_1): Adjust call to vect_slp_analyze_operations.
16050 * tree-vectorizer.h (vect_slp_analyze_operations): Declare.
16051
16052 2015-05-25 Alexander Monakov <amonakov@ispras.ru>
16053
16054 * config/i386/i386.h (enum reg_class): Move CLOBBERED_REGS prior to
16055 Q_REGS. Expand comment.
16056 (REG_CLASS_NAMES): Ditto.
16057 (REG_CLASS_CONTENTS): Ditto.
16058
16059 2015-05-25 Uros Bizjak <ubizjak@gmail.com>
16060
16061 PR target/66274
16062 * config/i386/i386.c (print_reg): Only print "r" for TARGET_64BIT
16063 when LEGACY_INT_REGNO_P is processed.
16064
16065 2015-05-25 Alexander Monakov <amonakov@ispras.ru>
16066
16067 * config/i386/i386.c (ix86_function_ok_for_sibcall): Check flag_plt.
16068
16069 2015-05-25 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
16070
16071 * config/avr/avr.c (avr_out_load_psi_reg_no_disp_tiny): Restore base
16072 register if not marked dead/unused, before return.
16073
16074 2015-05-24 Jan Hubicka <hubicka@ucw.cz>
16075
16076 PR lto/66180
16077 * ipa-devirt.c (type_with_linkage): Check that TYPE_STUB_DECL
16078 is set; check for assembler name at LTO time.
16079 (type_in_anonymous_namespace): Remove hacks, check that all
16080 anonymous types are called "<anon>"
16081 (odr_type_p): Simplify; add check for "<anon>"
16082 (odr_subtypes_equivalent): Add odr_type_p check.
16083 * tree.c (need_assembler_name_p): Even anonymous namespace needs
16084 assembler name.
16085
16086 2015-05-24 Jan Hubicka <hubicka@ucw.cz>
16087
16088 * ipa-utils.h (method_class_type): Remove.
16089 * cgraphunit.c (walk_polymorphic_call_targets): Use
16090 TYPE_METHOD_BASETYPE.
16091 * ipa-devirt.c (type_in_anonymous_namespace_p): Check that it is called
16092 on main variants only.
16093 (method_class_type): Remove.
16094 (update_type_inheritance_graph): Use TYPE_METHOD_BASETYPE.
16095 (build_type_inheritance_graph): Likewise.
16096 * ipa-icf.c (sem_function::equals_wpa): Likewise.
16097 * pa-polymorphic-call.c (decl_maybe_in_construction_p,
16098 check_stmt_for_type_change): Use TYPE_METHOD_BASETYPE.
16099
16100 2015-05-24 Jan Hubicka <hubicka@ucw.cz>
16101
16102 * tree.c (prototype_p, virtual_method_call_p, obj_type_ref_class,
16103 is_typedef_decl, typedef_variant_p): Constify.
16104 * tree.h (prototype_p, virtual_method_call_p, obj_type_ref_class,
16105 is_typedef_decl, typedef_variant_p): Constify.
16106
16107 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
16108
16109 * defaults.h (gen_tablejump): New function.
16110 (HAVE_tablejump): Add default value.
16111 * expr.c: Adjust.
16112 * stmt.c: Likewise.
16113
16114 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
16115
16116 * defaults.h (gen_store_multiple): New function.
16117 (HAVE_store_multiple): Add default value.
16118 * expr.c (move_block_from_reg): Adjust.
16119
16120 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
16121
16122 * defaults.h (gen_load_multiple): New function.
16123 (HAVE_load_multiple): Add default value.
16124 * expr.c (move_block_to_reg): Adjust.
16125
16126 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
16127
16128 * defaults.h (gen_mem_signal_fence): New function.
16129 (HAVE_mem_signal_fence): Add default value.
16130 * optabs.c: Adjust.
16131
16132 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
16133
16134 * defaults.h (gen_memory_barrier): New function.
16135 (HAVE_memory_barrier): Add default value.
16136 * optabs.c: Adjust.
16137
16138 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
16139
16140 * defaults.h (gen_mem_thread_fence): New function.
16141 (HAVE_mem_thread_fence): Add default definition.
16142 * optabs.c: Adjust.
16143
16144 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
16145
16146 * combine.c (find_split_point): Check the value of HAVE_lo_sum
16147 instead of if it is defined.
16148 (combine_simplify_rtx): Likewise.
16149 * lra-constraints.c (process_address_1): Likewise.
16150 * config/darwin.c: Adjust.
16151 * genconfig.c (main): Always define HAVE_lo_sum.
16152
16153 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
16154
16155 * genmatch.c (parser::parse_operation): Reject expanding
16156 operator-list inside 'for'.
16157
16158 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
16159
16160 * genmatch.c (parser::parse_for): Reject iterator if used as
16161 operator-list.
16162
16163 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
16164
16165 * genmatch.c (parser::parse_operator_list): Check for CPP_CLOSE_PAREN
16166 after end of id-list.
16167
16168 2015-05-22 Jan Hubicka <hubicka@ucw.cz>
16169
16170 * tree.c (gimple_canonical_types_compatible_p): Sanity check that
16171 we do not try to compute canonical type for type that does not need
16172 alias set.
16173 (verify_type): Drop FIXME for METHOD_TYPE, update FIXME for
16174 FUNCITON_TYPE.
16175 * tree.h (type_with_alias_set_p): New.
16176
16177 2015-05-22 Jan Hubicka <hubicka@ucw.cz>
16178
16179 * tree.c (gimple_canonical_types_compatible_p): Do not compare
16180 function attributes.
16181 (verify_type): Remove METHOD_TYPE FIXME; update FUNCTION_TYPE.
16182
16183 2015-05-22 Jim Wilson <jim.wilson@linaro.org>
16184
16185 * Makefile.in (check_gcc_parallelize): Delete.
16186 (lang_checks_parallelized): Update comment.
16187
16188 2015-05-22 Mikhail Maltsev <maltsevm@gmail.com>
16189
16190 PR rtl-optimization/66237
16191 * bb-reorder.c (fix_crossing_conditional_branches): Fix wrong
16192 location of an "as_a" cast.
16193
16194 2015-05-22 Jeff Law <law@redhat.com>
16195
16196 * config/pa/pa.md (non-canonical shift-add insns): Remove.
16197 (peepholes with non-canonical RTL sources): Remove.
16198 (peepholes for indexed stores of FP regs in integer modes): Match and
16199 generate canonical RTL.
16200
16201 2015-05-22 Marc Glisse <marc.glisse@inria.fr>
16202
16203 PR tree-optimization/63387
16204 * match.pd ((X /[ex] A) * A -> X): Remove unnecessary condition.
16205 ((x ord x) & (y ord y) -> (x ord y),
16206 (x ord x) & (x ord y) -> (x ord y)): New simplifications.
16207 * fold-const.c (tree_unary_nonnegative_warnv_p) <ABS_EXPR>: Handle
16208 vectors like scalars.
16209
16210 2015-05-22 Marc Glisse <marc.glisse@inria.fr>
16211
16212 * convert.c (convert_to_integer, convert_to_vector): Include the
16213 types in the error message.
16214
16215 2015-05-22 Marc Glisse <marc.glisse@inria.fr>
16216
16217 * match.pd ((x | y) & ~x -> y & ~x, (x & y) | ~x -> y | ~x): New
16218 simplifications.
16219
16220 2015-05-22 Jeff Law <law@redhat.com>
16221
16222 * config/pa/pa.md (integer_indexed_store splitters): Use
16223 mem_shadd_operand. Use ASHIFT rather than MULT in the resulting
16224 insns -- adjusting the constant 2nd operand accordingly.
16225
16226 * combine.c (try_combine): Canonicalize (plus (mult X pow2) Y) into
16227 (plus (ashift X log2) Y) if it is a split point.
16228
16229 * config/pa/pa.c (mem_shadd_or_shadd_rtx_p): New function factoredx
16230 out of hppa_legitimize_address to handle both forms of a multiply
16231 by 2, 4 or 8.
16232 (hppa_legitimize_address): Use mem_shadd_or_shadd_rtx_p.
16233 Always generate the ASHIFT variant as the result is not directly
16234 used in a MEM. Update comments and refactor slightly to improve
16235 readability.
16236
16237 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16238
16239 PR target/65491
16240 * config/aarch64/aarch64.c (aarch64_short_vector_p): Move above
16241 aarch64_composite_type_p. Remove check for aarch64_composite_type_p.
16242 (aarch64_composite_type_p): Return false if given type and mode are
16243 for a short vector.
16244
16245 2015-05-22 Richard Biener <rguenther@suse.de>
16246
16247 * tree-vectorizer.h (struct _slp_oprnd_info): Add second_pattern
16248 member.
16249 * tree-vect-loop.c (vect_analyze_loop_operations): Look at
16250 patterns when determining whether SLP is pure.
16251 (vect_is_slp_reduction): Remove check for pattern stmts.
16252 (vect_is_simple_reduction_1): Remove dead code.
16253 * tree-vect-slp.c (vect_create_oprnd_info): Initialize second_pattern.
16254 (vect_get_and_check_slp_defs): Pass in the stmt number.
16255 Allow the first def in a reduction to be not a pattern stmt when
16256 the rest of the stmts def are patterns.
16257 (vect_build_slp_tree_1): Allow tcc_expression codes like
16258 SAD_EXPR and DOT_PROD_EXPR.
16259 (vect_build_slp_tree): Adjust.
16260 (vect_analyze_slp): Refactor and move BB vect error message ...
16261 (vect_slp_analyze_bb_1): ... here.
16262
16263 2015-05-22 Aldy Hernandez <aldyh@redhat.com>
16264
16265 * tree-switch-conversion.c (build_one_array): Set DECL_IGNORED_P
16266 for CSWTCH temporary.
16267
16268 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16269
16270 * config/arm/arm.c (arm_new_rtx_costs): Handle UNSPEC_VOLATILE.
16271 (arm_unspec_cost): Allow UNSPEC_VOLATILE. Do not recurse inside
16272 unknown unspecs.
16273
16274 2015-05-22 Richard Biener <rguenther@suse.de>
16275
16276 PR tree-optimization/66251
16277 * tree-vect-stmts.c (vectorizable_conversion): Properly
16278 set STMT_VINFO_VEC_STMT even for the SLP case.
16279
16280 2015-05-22 Marek Polacek <polacek@redhat.com>
16281
16282 * doc/extend.texi: Use @pxref instead of @xref.
16283
16284 2015-05-22 hiraditya <hiraditya@msn.com>
16285
16286 * gimple.h (gimple_expr_type): Refactor to make it concise. Remove
16287 redundant if.
16288
16289 2015-05-22 Richard Biener <rguenther@suse.de>
16290
16291 PR tree-optimization/65701
16292 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
16293 Move peeling cost models into one place. Peel for alignment
16294 for single loads only if an aligned load is cheaper than
16295 an unaligned load.
16296
16297 2015-05-22 Marek Polacek <polacek@redhat.com>
16298
16299 PR c/47043
16300 * doc/extend.texi (Enumerator Attributes): New section.
16301 Document syntax of enumerator attributes.
16302
16303 2015-05-22 Richard Biener <rguenther@suse.de>
16304
16305 * tree-vect-loop.c (get_reduction_op): New function.
16306 (vect_model_reduction_cost): Use it, add reduc_index parameter.
16307 Make ready for BB reductions.
16308 (vect_create_epilog_for_reduction): Use get_reduction_op.
16309 (vectorizable_reduction): Init reduc_index to a valid value.
16310 Adjust vect_model_reduction_cost call.
16311 * tree-vect-slp.c (vect_get_constant_vectors): Use the proper
16312 operand for reduction defaults. Add SAD_EXPR support.
16313 Assert we have a neutral op for SLP reductions.
16314 * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): When
16315 walking pattern stmt ops only recurse to SSA names.
16316
16317 2015-05-22 Richard Biener <rguenther@suse.de>
16318
16319 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Replace
16320 assert with guard, remove check on detected reduction.
16321 (vect_recog_sad_pattern): Likewise.
16322 (vect_recog_widen_sum_pattern): Likewise.
16323
16324 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16325
16326 * config/aarch64/arm_neon.h (vaeseq_u8): Add __extension__ and
16327 __always_inline__ attribute.
16328 (vaesdq_u8): Likewise.
16329 (vaesmcq_u8): Likewise.
16330 (vaesimcq_u8): Likewise.
16331 (vsha1cq_u32): Likewise.
16332 (vsha1mq_u32): Likewise.
16333 (vsha1pq_u32): Likewise.
16334 (vsha1h_u32): Likewise.
16335 (vsha1su0q_u32): Likewise.
16336 (vsha1su1q_u32): Likewise.
16337 (vsha256hq_u32): Likewise.
16338 (vsha256h2q_u32): Likewise.
16339 (vsha256su0q_u32): Likewise.
16340 (vsha256su1q_u32): Likewise.
16341 (vmull_p64): Likewise.
16342 (vmull_high_p64): Likewise.
16343
16344 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
16345
16346 * final.c (final_scan_insn): Don't check HAVE_peephole with the
16347 preprocessor.
16348 * output.h: Likewise.
16349 * genconfig.c (main): Alwways define HAVE_peephole.
16350 * genpeep.c: Don't emit checks of HAVE_peephole.
16351
16352 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
16353
16354 * combine.c, expmed.c, expr.c, optabs.c optabs.h, toplev.c: DOn't
16355 check HAVE_conditional_move with the preprocessor.
16356
16357 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
16358
16359 * genconfig.c (main): Always define HAVE_conditional_move.
16360 * combine.c, expmed.c, expr.c, ifcvt.c, optabs.c, optabs.h,
16361 toplev.c, tree-ssa-phiopt.c: Don't check if HAVE_conditional_move
16362 is defined.
16363
16364 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
16365
16366 * combine.c, df-problems.c, df-scan.c, emit-rtl.c, reginfo.c,
16367 reload.c, rtlanal.c: Remove comparison of ARG_FRAME_POINTER_REGNUM
16368 and FRAME_POINTER_REGNUM with the preprocessor.
16369
16370 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
16371
16372 * defaults.h: Add default for STACK_PUSH_CODE.
16373 * expr.c: Don't redefine STACK_PUSH_CODE.
16374 * recog.c: Likewise.
16375
16376 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
16377
16378 * builtins.c, dwarf2cfi.c, explow.c, expr.c, recog.c,
16379 sched-deps.c: Use if instead of preprocessor checks with
16380 STACK_GROWS_DOWNWARD.
16381
16382 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
16383
16384 * *.c: Check the value of STACK_GROWS_DOWNWARD rather than if it
16385 is defined.
16386 * config/**/*.h: Define STACK_GROWS_DOWNWARD to an integer.
16387 * defaults.h: Provide default for STACK_GROWS_DOWNWARD.
16388 * doc/tm.texi.in: Update references to STACK_GROWS_DOWNWARD.
16389 * doc/tm.texi: Regenerate.
16390
16391 2015-05-21 H.J. Lu <hongjiu.lu@intel.com>
16392
16393 PR target/66232
16394 * config/i386/constraints.md (Bg): New constraint for GOT memory
16395 operand.
16396 * config/i386/i386.md (*call_got_x32): New pattern.
16397 (*call_value_got_x32): Likewise.
16398 * config/i386/predicates.md (GOT_memory_operand): New predicate.
16399
16400 2015-05-21 Jakub Jelinek <jakub@redhat.com>
16401
16402 PR tree-optimization/66233
16403 * match.pd (ocvt (icvt@1 @0)): Don't handle vector types.
16404 Simplify.
16405
16406 2015-05-21 Jeff Law <law@redhat.com>
16407
16408 * config/pa/pa.md (add-with-constant splitter): Use ASHIFT rather
16409 than MULT for shadd sequences.
16410
16411 2015-05-08 Jan Hubicka <hubicka@ucw.cz>
16412
16413 * alias.c (alias_stats): New static var.
16414 (alias_sets_conflict_p, alias_sets_must_conflict_p): Update stats.
16415 (dump_alias_stats_in_alias_c): New function.
16416 * alias.h (dump_alias_stats_in_alias_c): Declare.
16417 * tree-ssa-alias.c (dump_alias_stats): Call it.
16418
16419 2015-05-08 Michael Matz <matz@suse.de>
16420
16421 * tree-vectorizer.h (struct _stmt_vec_info): Rename stride_load_p
16422 to strided_p.
16423 (STMT_VINFO_STRIDE_LOAD_P): Rename to ...
16424 (STMT_VINFO_STRIDED_P): ... this.
16425 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust.
16426 (vect_verify_datarefs_alignment): Likewise.
16427 (vect_enhance_data_refs_alignment): Likewise.
16428 (vect_analyze_data_ref_access): Likewise.
16429 (vect_analyze_data_refs): Accept strided stores.
16430 * tree-vect-stmts.c (vect_model_store_cost): Count strided stores.
16431 (vect_model_load_cost): Adjust for macro rename.
16432 (vectorizable_mask_load_store): Likewise.
16433 (vectorizable_load): Likewise.
16434 (vectorizable_store): Open code strided stores.
16435
16436 2015-05-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16437
16438 * doc/sourcebuild.texi (7.2.3.9 Other hardware attributes):
16439 Document sqrt_insn.
16440
16441 2015-05-21 Richard Biener <rguenther@suse.de>
16442
16443 PR c++/66211
16444 * match.pd: Guard pattern optimzing (int)(float)int
16445 conversions to apply only on GIMPLE.
16446
16447 2015-05-21 Jeff Law <law@redhat.com>
16448
16449 * combine.c (find_split_point): Handle ASHIFT like MULT to encourage
16450 multiply-accumulate/shift-add insn generation.
16451
16452 2015-05-21 Oleg Endo <olegendo@gcc.gnu.org>
16453
16454 PR target/54236
16455 * config/sh/sh.md (*round_int_even): Reject pattern if operands[0] and
16456 operands[1] are the same.
16457
16458 2015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com>
16459
16460 PR middle-end/66221
16461 * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Use
16462 build_distinct_type_copy to copy bounds.
16463
16464 2015-05-21 Thomas Schwinge <thomas@codesourcery.com>
16465
16466 * genrecog.c (MAX_DEPTH, MIN_NUM_STATEMENTS, MAX_NUM_STATEMENTS):
16467 Change to unsigned int.
16468
16469 2015-05-20 Jeff Law <law@redhat.com>
16470
16471 * config/pa/pa.c (pa_print_operand): New 'o' output modifier.
16472 (pa_mem_shadd_constant_p): Renamed from pa_shadd_constant_p.
16473 (pa_shadd_constant_p): Allow constants for shadd insns rather
16474 than valid scaling constants for memory addresses.
16475 * config/pa/pa-protos.h (pa_mem_shadd_constant_p): Add prototype.
16476 * config/pa/predicates.md (mem_shadd_operand): New predicate.
16477 * config/pa/pa.md (shift-add insns using MULT): Use mem_shadd_operand.
16478 (shift-add insns using ASHIFT): New patterns.
16479
16480 2015-05-20 Mikhail Maltsev <maltsevm@gmail.com>
16481
16482 * bb-reorder.c (set_edge_can_fallthru_flag): Use rtx_jump_insn where
16483 feasible.
16484 (fix_up_fall_thru_edges): Likewise.
16485 (fix_crossing_conditional_branches): Likewise. Promote jump targets
16486 from to rtx_insn to rtx_code_label where feasible.
16487 * bt-load.c (move_btr_def): Remove as-a cast of the value returned by
16488 gen_move_insn (returned type changed to rtx_insn).
16489 * builtins.c (expand_errno_check): Fix arguments of
16490 do_compare_rtx_and_jump (now expects rtx_code_label).
16491 (expand_builtin_acc_on_device): Likewise.
16492 * cfgcleanup.c (try_simplify_condjump): Add cast when calling
16493 invert_jump (now exprects rtx_jump_insn).
16494 * cfgexpand.c (label_rtx_for_bb): Promote return type to rtx_code_label.
16495 (construct_init_block): Use rtx_code_label.
16496 * cfgrtl.c (block_label): Promote return type to rtx_code_label.
16497 (try_redirect_by_replacing_jump): Use cast to rtx_jump_insn when
16498 calling redirect_jump.
16499 (patch_jump_insn): Likewise.
16500 (redirect_branch_edge): Likewise.
16501 (force_nonfallthru_and_redirect): Likewise.
16502 (fixup_reorder_chain): Explicitly use rtx_jump_insn instead of rtx_insn
16503 when suitable.
16504 (rtl_lv_add_condition_to_bb): Update call of do_compare_rtx_and_jump.
16505 * cfgrtl.h: Promote return type of block_label to rtx_code_label.
16506 * config/bfin/bfin.c (hwloop_optimize): Fix call of emit_label_before.
16507 * config/i386/i386.c (ix86_emit_cmove): Explicitly use rtx_code_label
16508 to store the value retured by gen_label_rtx.
16509 * config/mips/mips.c (mips16_split_long_branches): Promote rtx_insn to
16510 rtx_jump_insn.
16511 * config/sh/sh.c (gen_far_branch): Likewise. Fix call of invert_jump.
16512 (split_branches): Fix calls of redirect_jump.
16513 * dojump.c (jumpifnot): Promote argument type from rtx to
16514 rtx_code_label.
16515 (jumpifnot_1): Likewise.
16516 (jumpif): Likewise.
16517 (jumpif_1): Likewise.
16518 (do_jump_1): Likewise.
16519 (do_jump): Likewise. Use rtx_code_label when feasible.
16520 (do_jump_by_parts_greater_rtx): Likewise.
16521 (do_jump_by_parts_zero_rtx): Likewise.
16522 (do_jump_by_parts_equality_rtx): Likewise.
16523 (do_compare_rtx_and_jump): Likewise.
16524 * dojump.h: Update function prototypes.
16525 * dse.c (emit_inc_dec_insn_before): Remove case (gen_move_insn now
16526 returns rtx_insn).
16527 * emit-rtl.c (emit_jump_insn_before_noloc): Promote return type to
16528 rtx_jump_insn.
16529 (emit_label_before): Likewise.
16530 (emit_jump_insn_after_noloc): Likewise.
16531 (emit_jump_insn_after_setloc): Likewise.
16532 (emit_jump_insn_after): Likewise
16533 (emit_jump_insn_before_setloc): Likewise.
16534 (emit_jump_insn_before): Likewise.
16535 (emit_label_before): Promote return type to rtx_code_label.
16536 (emit_label): Likewise.
16537 * except.c (sjlj_emit_dispatch_table): Use jump_target_rtx.
16538 * explow.c (emit_stack_save): Use gen_move_insn_uncast instead of
16539 gen_move_insn.
16540 (emit_stack_restore): Likewise.
16541 * expmed.c (emit_store_flag_force): Fix calls of do_compare_rtx_and_jump.
16542 (do_cmp_and_jump): Likewise.
16543 * expr.c (expand_expr_real_2): Likewise. Promote some local variables
16544 from rtx to rtx_code_label.
16545 (gen_move_insn_uncast): New function.
16546 * expr.h: Update return type of gen_move_insn (promote to rtx_insn).
16547 * function.c (convert_jumps_to_returns): Fix call of redirect_jump.
16548 * gcse.c (pre_insert_copy_insn): Use rtx_insn instead of rtx.
16549 * ifcvt.c (dead_or_predicable): Use rtx_jump_insn when calling
16550 invert_jump_1 and redirect_jump_1.
16551 * internal-fn.c (expand_arith_overflow_result_store): Fix call of
16552 do_compare_rtx_and_jump.
16553 (expand_addsub_overflow): Likewise.
16554 (expand_neg_overflow): Likewise.
16555 (expand_mul_overflow): Likewise.
16556 * ira.c (split_live_ranges_for_shrink_wrap): Use rtx_insn for
16557 return value of gen_move_insn.
16558 * jump.c (redirect_jump): Promote argument from rtx to rtx_jump_insn.
16559 * loop-doloop.c (add_test): Use rtx_code_label.
16560 (doloop_modify): Likewise.
16561 (doloop_optimize): Likewise.
16562 * loop-unroll.c (compare_and_jump_seq): Promote rtx to rtx_code_label.
16563 * lra-constraints.c (emit_spill_move): Remove cast of value returned
16564 by gen_move_insn.
16565 (inherit_reload_reg): Add cast when calling dump_insn_slim.
16566 (split_reg): Likewise.
16567 * modulo-sched.c (schedule_reg_moves): Remove cast of value returned by
16568 gen_move_insn.
16569 * optabs.c (expand_binop_directly): Remove casts of values returned by
16570 maybe_gen_insn.
16571 (expand_unop_direct): Likewise.
16572 (expand_abs): Likewise.
16573 (maybe_emit_unop_insn): Likewise.
16574 (maybe_gen_insn): Promote return type to rtx_insn.
16575 * optabs.h: Update prototype of maybe_gen_insn.
16576 * postreload-gcse.c (eliminate_partially_redundant_load): Remove
16577 redundant cast.
16578 * recog.c (struct peep2_insn_data): Promote type of insn field to
16579 rtx_insn.
16580 (peep2_reinit_state): Use NULL instead of NULL_RTX.
16581 (peep2_attempt): Remove casts of insn in peep2_insn_data.
16582 (peep2_fill_buffer): Promote argument from rtx to rtx_insn
16583 * recog.h (struct insn_gen_fn): Promote return types of function
16584 pointers and operator ().from rtx to rtx_insn.
16585 * reorg.c (fill_simple_delay_slots): Promote rtx_insn to rtx_jump_insn.
16586 (fill_eager_delay_slots): Likewise.
16587 (relax_delay_slots): Likewise.
16588 (make_return_insns): Likewise.
16589 (dbr_schedule): Likewise.
16590 (optimize_skips): Likewise.
16591 (reorg_redirect_jump): Likewise.
16592 (fill_slots_from_thread): Likewise.
16593 * reorg.h: Update prototypes.
16594 * resource.c (find_dead_or_set_registers): Use dyn_cast to
16595 rtx_jump_insn instead of check. Use it's jump_target method.
16596 * rtl.h (rtx_jump_insn::jump_label): Define new method.
16597 (rtx_jump_insn::jump_target): Define new method.
16598 (rtx_jump_insn::set_jump_target): Define new method.
16599 * rtlanal.c (tablejump_p): Promote type of one local variable.
16600 * sched-deps.c (sched_analyze_2): Promote rtx to rtx_insn_list.
16601 (sched_analyze_insn): Likewise.
16602 * sched-vis.c (print_insn_with_notes): Promote rtx to rtx_insn.
16603 (print_insn): Likewise.
16604 * stmt.c (label_rtx): Promote return type to rtx_insn.
16605 (force_label_rtx): Likewise.
16606 (jump_target_rtx): Define new function.
16607 (expand_label): Use it, get rid of one cast.
16608 (expand_naked_return): Promote rtx to rtx_code_label.
16609 (do_jump_if_equal): Fix do_compare_rtx_and_jump call.
16610 (expand_case): Use rtx_code_label instread of rtx where feasible.
16611 (expand_sjlj_dispatch_table): Likewise.
16612 (emit_case_nodes): Likewise.
16613 * stmt.h: Declare jump_target_rtx. Update prototypes. Fix comments.
16614 * store-motion.c (insert_store): Make use of new return type of
16615 gen_move_insn and remove a cast.
16616 (replace_store_insn): Likewise.
16617
16618 2015-05-20 Max Filippov <jcmvbkbc@gmail.com>
16619
16620 * config/xtensa/xtensa.c (init_alignment_context): Replace MULT
16621 by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT).
16622
16623 2015-05-20 Jeff Law <law@redhat.com>
16624
16625 * tree-ssa-threadupdate.c (mark_threaded_blocks): Properly
16626 dispose of the jump thread path when the jump threading
16627 opportunity is cancelled.
16628
16629 2015-05-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
16630
16631 * diagnostic.c (diagnostic_print_caret_line): Fix off-by-one error
16632 when printing the caret character.
16633
16634 2015-05-20 Marek Polacek <polacek@redhat.com>
16635
16636 * cfgexpand.c (expand_debug_expr): Use UNARY_CLASS_P.
16637
16638 2015-05-20 Marek Polacek <polacek@redhat.com>
16639
16640 * expr.c (expand_cond_expr_using_cmove): Use COMPARISON_CLASS_P.
16641 * gimple-expr.c (gimple_cond_get_ops_from_tree): Likewise.
16642 * gimple-fold.c (canonicalize_bool): Likewise.
16643 (same_bool_result_p): Likewise.
16644 * tree-if-conv.c (parse_predicate): Likewise.
16645
16646 2015-05-20 Marek Polacek <polacek@redhat.com>
16647
16648 * gimple-fold.c (fold_const_aggregate_ref_1): Use DECL_P.
16649 * gimplify.c (gimplify_modify_expr_rhs): Likewise.
16650
16651 2015-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16652
16653 * config/aarch64/aarch64.c (aarch64_class_max_nregs):
16654 Use UNITS_PER_VREG and UNITS_PER_WORD instead of their direct
16655 values.
16656
16657 2015-05-20 Robert Suchanek <robert.suchanek@imgtec.com>
16658
16659 * config/mips/mips.h (micromips_globals): Declare.
16660
16661 2015-05-20 David Malcolm <dmalcolm@redhat.com>
16662
16663 * timevar.def (TV_INITIALIZE_RTL): New.
16664 * toplev.c (initialize_rtl): Use an auto_timevar to account this
16665 function's time to TV_INITIALIZE_RTL.
16666
16667 2015-05-20 Ilya Enkovich <enkovich.gnu@gmail.com>
16668
16669 * tree-chkp.c (chkp_maybe_copy_and_register_bounds): Remove useless
16670 gimple_build_nop calls.
16671 (chkp_find_bounds_for_elem): Likewise.
16672 (chkp_get_zero_bounds): Likewise.
16673 (chkp_get_none_bounds): Likewise.
16674 (chkp_get_bounds_by_definition): Likewise.
16675 (chkp_generate_extern_var_bounds): Likewise.
16676 (chkp_get_bounds_for_decl_addr): Likewise.
16677 (chkp_get_bounds_for_string_cst): Likewise.
16678
16679 2015-05-20 Bin Cheng <bin.cheng@arm.com>
16680
16681 PR tree-optimization/65447
16682 * tree-ssa-loop-ivopts.c (struct iv_use): New fields.
16683 (dump_use, dump_uses): Support to dump sub use.
16684 (record_use): New parameters to support sub use. Remove call to
16685 dump_use.
16686 (record_sub_use, record_group_use): New functions.
16687 (compute_max_addr_offset, split_all_small_groups): New functions.
16688 (group_address_uses, rewrite_use_address): New functions.
16689 (strip_offset): New declaration.
16690 (find_interesting_uses_address): Call record_group_use.
16691 (add_candidate): New assertion.
16692 (infinite_cost_p): Move definition forward.
16693 (add_costs): Check INFTY cost and return immediately.
16694 (get_computation_cost_at): Clear setup cost and dependent bitmap
16695 for sub uses.
16696 (determine_use_iv_cost_address): Compute cost for sub uses.
16697 (rewrite_use_address_1): Rename from old rewrite_use_address.
16698 (free_loop_data): Free sub uses.
16699 (tree_ssa_iv_optimize_loop): Call group_address_uses.
16700
16701 2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org>
16702 Jim Wilson <jim.wilson@linaro.org>
16703
16704 * config/arm/aarch-common-protos.h (struct mem_cost_table): Added
16705 new fields loadv and storev.
16706 * config/aarch64/aarch64-cost-tables.h (thunderx_extra_costs):
16707 Initialize loadv and storev.
16708 * config/arm/aarch-cost-tables.h (generic_extra_costs): Likewise.
16709 (cortexa53_extra_costs): Likewise.
16710 (cortexa57_extra_costs): Likewise.
16711 (xgene1_extra_costs): Likewise.
16712 * config/aarch64/aarch64.c (aarch64_rtx_costs): Update vector
16713 rtx_costs.
16714
16715 2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org>
16716
16717 * config/arm/arm.c (cortexa9_extra_costs): Initialize loadv and
16718 storev.
16719 (cortexa8_extra_costs): Likewise.
16720 (cortexa5_extra_costs): Likewise.
16721 (cortexa7_extra_costs): Likewise.
16722 (cortexa12_extra_costs): Likewise.
16723 (cortexa15_extra_costs): Likewise.
16724 (v7m_extra_costs): Likewise.
16725
16726 2015-05-20 Jeff Law <law@redhat.com>
16727
16728 * tree-ssa-threadupdate.c (thread_single_edge): Use delete_jump_thread
16729 instead of open-coded version. Also delete the jump thread created
16730 within this function.
16731
16732 2015-05-20 Alan Modra <amodra@gmail.com>
16733
16734 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Return
16735 stack adjusting insn. Formatting.
16736 (rs6000_emit_prologue): Track stack adjusting insn, and use of
16737 r12. If possible, emit first -fsplit-stack arg pointer insn
16738 before stack adjust. Don't use r12 to save cr if split-stack.
16739
16740 2015-05-20 Alan Modra <amodra@gmail.com>
16741
16742 * common/config/rs6000/rs6000-common.c (TARGET_SUPPORTS_SPLIT_STACK):
16743 Define.
16744 (rs6000_supports_split_stack): New function.
16745 * gcc/config/rs6000/rs6000.c (machine_function): Add
16746 split_stack_arg_pointer.
16747 (TARGET_EXTRA_LIVE_ON_ENTRY, TARGET_INTERNAL_ARG_POINTER): Define.
16748 (setup_incoming_varargs): Use crtl->args.internal_arg_pointer
16749 rather than virtual_incoming_args_rtx.
16750 (rs6000_va_start): Likewise.
16751 (split_stack_arg_pointer_used_p): New function.
16752 (rs6000_emit_prologue): Set up arg pointer for -fsplit-stack.
16753 (morestack_ref): New var.
16754 (gen_add3_const, rs6000_expand_split_stack_prologue,
16755 rs6000_internal_arg_pointer, rs6000_live_on_entry,
16756 rs6000_split_stack_space_check): New functions.
16757 (rs6000_elf_file_end): Call file_end_indicate_split_stack.
16758 * gcc/config/rs6000/rs6000.md (UNSPEC_STACK_CHECK): Define.
16759 (UNSPECV_SPLIT_STACK_RETURN): Define.
16760 (split_stack_prologue, load_split_stack_limit,
16761 load_split_stack_limit_di, load_split_stack_limit_si,
16762 split_stack_return, split_stack_space_check): New expands and insns.
16763 * gcc/config/rs6000/rs6000-protos.h
16764 (rs6000_expand_split_stack_prologue): Declare.
16765 (rs6000_split_stack_space_check): Declare.
16766
16767 2015-05-20 Alan Modra <amodra@gmail.com>
16768
16769 * config/rs6000/rs6000.c (struct rs6000_stack): Correct comments.
16770 (direct_return): Test vrsave_size rather than vrsave_mask.
16771 (rs6000_emit_prologue): Likewise. Remove redundant altivec tests.
16772 (rs6000_emit_epilogue): Likewise.
16773
16774 2015-05-20 Alan Modra <amodra@gmail.com>
16775
16776 * config/rs6000/rs6000.c (rs6000_stack_info): Don't zero offsets
16777 when not saving registers.
16778 (debug_stack_info): Adjust to omit printing unused offsets,
16779 as before.
16780 (rs6000_emit_epilogue): Adjust use_backchain_to_restore_sp
16781 expression.
16782
16783 2015-05-19 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
16784
16785 PR c++/65835
16786 * config/i386/winnt.c (struct wrapped_symbol_hasher): Change
16787 value_type to const char *.
16788
16789 2015-05-19 Sandra Loosemore <sandra@codesourcery.com>
16790
16791 * config.gcc [powerpc*-*-linux*]: Allow --enable-targets=all
16792 to build a biarch toolchain again.
16793
16794 2015-05-19 Jan Hubicka <hubicka@ucw.cz>
16795
16796 * ipa-devirt.c (type_in_anonymous_namespace_p): Return true
16797 or implicit declarations.
16798 (odr_type_p): Check that TYPE_NAME is TYPE_DECL before looking
16799 into it.
16800 (get_odr_type): Check type has linkage before adding bases.
16801 (register_odr_type): Check that type has linkage before adding it.
16802 (type_known_to_have_no_deriavations_p): Rename to ..
16803 (type_known_to_have_no_derivations_p): This one.
16804 * ipa-utils.h (type_known_to_have_no_deriavations_p): Rename to ..
16805 (type_known_to_have_no_derivations_p): This one.
16806 * ipa-polymorphic-call.c
16807 (ipa_polymorphic_call_context::restrict_to_inner_type): Check that
16808 type has linkage.
16809
16810 2015-05-19 Eric Botcazou <ebotcazou@adacore.com>
16811
16812 * stor-layout.c (finalize_type_size): Use AGGREGATE_TYPE_P.
16813 (layout_type): Use RECORD_OR_UNION_TYPE_P.
16814
16815 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
16816
16817 * config/s390/s390.c (s390_vector_bool_type_p): New function.
16818 (s390_invalid_binary_op): New function.
16819 (TARGET_INVALID_BINARY_OP): Define macro.
16820
16821 2015-05-19 David Sherwood <david.sherwood@arm.com>
16822
16823 * loop-invariant.c (create_new_invariant): Don't calculate address cost
16824 if mode is not a scalar integer.
16825 (get_inv_cost): Increase computational cost for unused invariants.
16826
16827 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
16828
16829 * config.gcc: Add vecintrin.h to extra_headers. Add s390-c.o to
16830 c_target_objs and cxx_target_objs. Add t-s390 to tmake_file.
16831 * config/s390/s390-builtin-types.def: New file.
16832 * config/s390/s390-builtins.def: New file.
16833 * config/s390/s390-builtins.h: New file.
16834 * config/s390/s390-c.c: New file.
16835 * config/s390/s390-modes.def: Add modes CCVEQANY, CCVH,
16836 CCVHANY, CCVHU, CCVHUANY, CCVFHANY, CCVFHEANY.
16837 * config/s390/s390-protos.h (s390_expand_vec_compare_cc)
16838 (s390_cpu_cpp_builtins, s390_register_target_pragmas): Add
16839 prototypes.
16840 * config/s390/s390.c (s390-builtins.h, s390-builtins.def):
16841 Include.
16842 (flags_builtin, flags_overloaded_builtin_var, s390_builtin_types)
16843 (s390_builtin_fn_types, s390_builtin_decls, code_for_builtin): New
16844 variable definitions.
16845 (s390_const_operand_ok): New function.
16846 (s390_expand_builtin): Rewrite.
16847 (s390_init_builtins): New function.
16848 (s390_handle_vectorbool_attribute): New function.
16849 (s390_attribute_table): Add s390_vector_bool attribute.
16850 (s390_match_ccmode_set): Handle new cc modes CCVH, CCVHU.
16851 (s390_branch_condition_mask): Generate masks for new modes.
16852 (s390_expand_vec_compare_cc): New function.
16853 (s390_mangle_type): Add mangling for vector bool types.
16854 (enum s390_builtin): Remove.
16855 (s390_atomic_assign_expand_fenv): Rename constants for sfpc and
16856 efpc builtins.
16857 * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Call
16858 s390_cpu_cpp_builtins.
16859 (REGISTER_TARGET_PRAGMAS): New macro.
16860 * config/s390/s390.md: Define more UNSPEC_VEC_* constants.
16861 (insn_cmp mode attribute): Add new CC modes.
16862 (s390_sfpc, s390_efpc): Rename patterns to sfpc and efpc.
16863 (lcbb): New pattern definition.
16864 * config/s390/s390intrin.h: Include vecintrin.h.
16865 * config/s390/t-s390: New file.
16866 * config/s390/vecintrin.h: New file.
16867 * config/s390/vector.md: Include vx-builtins.md.
16868 * config/s390/vx-builtins.md: New file.S/390 zvector builtin
16869 support.
16870
16871 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
16872
16873 * config/s390/s390-modes.def: Add new modes CCVEQ, CCVFH, and
16874 CCVFHE.
16875 * config/s390/s390.c (s390_match_ccmode_set): Handle new modes.
16876 (s390_select_ccmode): Likewise.
16877 (s390_canonicalize_comparison): Swap operands if necessary.
16878 (s390_expand_vec_compare_scalar): Expand DFmode compare using
16879 single element vector instructions.
16880 (s390_emit_compare): Call s390_expand_vec_compare_scalar.
16881 (s390_branch_condition_mask): Generate CC masks for the new modes.
16882 * config/s390/s390.md (v0, vf, vd): New mode attributes.
16883 (VFCMP, asm_fcmp, insn_cmp): New mode iterator and attributes.
16884 (*vec_cmp<insn_cmp>df_cconly, *fixuns_truncdfdi2_z13)
16885 (*fix_trunc<BFP:mode><GPR:mode>2_bfp, *floatunsdidf2_z13)
16886 (*floatuns<GPR:mode><FP:mode>2, *extendsfdf2_z13)
16887 (*extend<DSF:mode><BFP:mode>2): New insn definition.
16888 (fix_trunc<BFP:mode><GPR:mode>2_bfp, loatuns<GPR:mode><FP:mode>2)
16889 (extend<DSF:mode><BFP:mode>2): Turn into expander.
16890 (floatdi<mode>2, truncdfsf2, add<mode>3, sub<mode>3, mul<mode>3)
16891 (div<mode>3, *neg<mode>2, *abs<mode>2, *negabs<mode>2)
16892 (sqrt<mode>2): Add vector instruction.
16893
16894 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
16895
16896 * config/s390/constraints.md (j00, jm1, jxx, jyy, v): New
16897 constraints.
16898 * config/s390/predicates.md (const0_operand, constm1_operand)
16899 (constable_operand): Accept vector operands.
16900 * config/s390/s390-modes.def: Add supported vector modes.
16901 * config/s390/s390-protos.h (s390_cannot_change_mode_class)
16902 (s390_function_arg_vector, s390_contiguous_bitmask_vector_p)
16903 (s390_bytemask_vector_p, s390_expand_vec_strlen)
16904 (s390_expand_vec_compare, s390_expand_vcond)
16905 (s390_expand_vec_init): Add prototypes.
16906 * config/s390/s390.c (VEC_ARG_NUM_REG): New macro.
16907 (s390_vector_mode_supported_p): New function.
16908 (s390_contiguous_bitmask_p): Mask out the irrelevant bits.
16909 (s390_contiguous_bitmask_vector_p): New function.
16910 (s390_bytemask_vector_p): New function.
16911 (s390_split_ok_p): Vector regs don't work either.
16912 (regclass_map): Add VEC_REGS.
16913 (s390_legitimate_constant_p): Handle vector constants.
16914 (s390_cannot_force_const_mem): Handle CONST_VECTOR.
16915 (legitimate_reload_vector_constant_p): New function.
16916 (s390_preferred_reload_class): Handle CONST_VECTOR.
16917 (s390_reload_symref_address): Likewise.
16918 (s390_secondary_reload): Vector memory instructions only support
16919 short displacements. Rename reload*_nonoffmem* to reload*_la*.
16920 (s390_emit_ccraw_jump): New function.
16921 (s390_expand_vec_strlen): New function.
16922 (s390_expand_vec_compare): New function.
16923 (s390_expand_vcond): New function.
16924 (s390_expand_vec_init): New function.
16925 (s390_dwarf_frame_reg_mode): New function.
16926 (print_operand): Handle addresses with 'O' and 'R' constraints.
16927 (NR_C_MODES, constant_modes): Add vector modes.
16928 (s390_output_pool_entry): Handle vector constants.
16929 (s390_hard_regno_mode_ok): Handle vector registers.
16930 (s390_class_max_nregs): Likewise.
16931 (s390_cannot_change_mode_class): New function.
16932 (s390_invalid_arg_for_unprototyped_fn): New function.
16933 (s390_function_arg_vector): New function.
16934 (s390_function_arg_float): Remove size variable.
16935 (s390_pass_by_reference): Handle vector arguments.
16936 (s390_function_arg_advance): Likewise.
16937 (s390_function_arg): Likewise.
16938 (s390_return_in_memory): Vector values are returned in a VR if
16939 possible.
16940 (s390_function_and_libcall_value): Handle vector arguments.
16941 (s390_gimplify_va_arg): Likewise.
16942 (s390_call_saved_register_used): Consider the arguments named.
16943 (s390_conditional_register_usage): Disable v16-v31 for non-vec
16944 targets.
16945 (s390_preferred_simd_mode): New function.
16946 (s390_support_vector_misalignment): New function.
16947 (s390_vector_alignment): New function.
16948 (TARGET_STRICT_ARGUMENT_NAMING, TARGET_DWARF_FRAME_REG_MODE)
16949 (TARGET_VECTOR_MODE_SUPPORTED_P)
16950 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN)
16951 (TARGET_VECTORIZE_PREFERRED_SIMD_MODE)
16952 (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT)
16953 (TARGET_VECTOR_ALIGNMENT): Define target macro.
16954 * config/s390/s390.h (FUNCTION_ARG_PADDING): Define macro.
16955 (FIRST_PSEUDO_REGISTER): Increase value.
16956 (VECTOR_NOFP_REGNO_P, VECTOR_REGNO_P, VECTOR_NOFP_REG_P)
16957 (VECTOR_REG_P): Define macros.
16958 (FIXED_REGISTERS, CALL_USED_REGISTERS)
16959 (CALL_REALLY_USED_REGISTERS, REG_ALLOC_ORDER)
16960 (HARD_REGNO_CALL_PART_CLOBBERED, REG_CLASS_NAMES)
16961 (FUNCTION_ARG_REGNO_P, FUNCTION_VALUE_REGNO_P, REGISTER_NAMES):
16962 Add vector registers.
16963 (CANNOT_CHANGE_MODE_CLASS): Call C function.
16964 (enum reg_class): Add VEC_REGS, ADDR_VEC_REGS, GENERAL_VEC_REGS.
16965 (SECONDARY_MEMORY_NEEDED): Allow SF<->SI mode moves without
16966 memory.
16967 (DBX_REGISTER_NUMBER, FIRST_VEC_ARG_REGNO, LAST_VEC_ARG_REGNO)
16968 (SHORT_DISP_IN_RANGE, VECTOR_STORE_FLAG_VALUE): Define macro.
16969 * config/s390/s390.md (UNSPEC_VEC_*): New constants.
16970 (VR*_REGNUM): New constants.
16971 (ALL): New mode iterator.
16972 (INTALL): Remove mode iterator.
16973 Include vector.md.
16974 (movti): Implement TImode moves for VRs.
16975 Disable TImode splitter for VR targets.
16976 Implement splitting TImode GPR<->VR moves.
16977 (reload*_tomem_z10, reload*_toreg_z10): Replace INTALL with ALL.
16978 (reload<mode>_nonoffmem_in, reload<mode>_nonoffmem_out): Rename to
16979 reload<mode>_la_in, reload<mode>_la_out.
16980 (*movdi_64, *movsi_zarch, *movhi, *movqi, *mov<mode>_64dfp)
16981 (*mov<mode>_64, *mov<mode>_31): Add vector instructions.
16982 (TD/TF mode splitter): Enable for GPRs only (formerly !FP).
16983 (mov<mode> SF SD): Prefer lder, lde for loading.
16984 Add lrl and strl instructions.
16985 Add vector instructions.
16986 (strlen<mode>): Rename old strlen<mode> to strlen_srst<mode>.
16987 Call s390_expand_vec_strlen on z13.
16988 (*cc_to_int): Change predicate to nonimmediate_operand.
16989 (addti3): Rename to *addti3. New expander.
16990 (subti3): Rename to *subti3. New expander.
16991 * config/s390/vector.md: New file.
16992
16993 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
16994
16995 * common/config/s390/s390-common.c (processor_flags_table): Add
16996 z13.
16997 * config.gcc: Add z13.
16998 * config/s390/s390-opts.h (enum processor_type): Add
16999 PROCESSOR_2964_Z13.
17000 * config/s390/s390.c (s390_adjust_priority): Check for
17001 PROCESSOR_2964_Z13.
17002 (s390_reorg): Likewise.
17003 (s390_sched_reorder): Likewise.
17004 (s390_sched_variable_issue): Likewise.
17005 (s390_loop_unroll_adjust): Likewise.
17006 (s390_option_override): Likewise. Default to -mvx when available.
17007 * config/s390/s390.h (enum processor_flags): Add PF_Z13 and PF_VX.
17008 (TARGET_CPU_Z13, TARGET_CPU_VX, TARGET_Z13, TARGET_VX)
17009 (TARGET_VX_ABI): Define macros.
17010 macros.
17011 (TARGET_DEFAULT): Add MASK_OPT_VX.
17012 * config/s390/s390.md ("cpu" attribute): Add z13.
17013 ("cpu_facility" attribute): Add vec.
17014 * config/s390/s390.opt (processor_type): Add z13.
17015 (mvx): New options.
17016 * doc/invoke.texi: Add z13 option for -march.
17017
17018 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
17019
17020 * config/s390/predicates.md (shift_count_or_setmem_operand): Add
17021 mode check to make sure that only scalar integer values are
17022 accepted.
17023
17024 2015-05-19 Jan Hubicka <hubicka@ucw.cz>
17025
17026 * tree.c (verify_type_variant): Fix #undef.
17027 (gimple_canonical_types_compatible_p): Move here from lto.c
17028 (verify_type): Verify TYPE_CANONICAL compatibility.
17029 * tree.h (gimple_canonical_types_compatible_p): Declare.
17030
17031 2015-05-19 Jakub Jelinek <jakub@redhat.com>
17032
17033 PR middle-end/66199
17034 * tree.h (OMP_TEAMS_COMBINED): Define.
17035 * gimplify.c (enum gimplify_omp_var_data): Add
17036 GOVD_LINEAR_LASTPRIVATE_NO_OUTER.
17037 (enum omp_region_type): Add ORT_COMBINED_TEAMS.
17038 (omp_notice_variable): Accept both ORT_TEAMS
17039 and ORT_COMBINED_TEAMS. Don't recurse if
17040 GOVD_LINEAR_LASTPRIVATE_NO_OUTER is set and either
17041 GOVD_LINEAR is set, or GOVD_LASTPRIVATE without
17042 GOVD_FIRSTPRIVATE.
17043 (omp_no_lastprivate): New function.
17044 (gimplify_scan_omp_clauses): For OMP_CLAUSE_LASTPRIVATE
17045 and OMP_CLAUSE_LINEAR, if omp_no_lastprivate, don't
17046 notice_outer and set appropriate bits, otherwise make
17047 sure default(none) combined constructs won't complain.
17048 (gimplify_adjust_omp_clauses): Remove OMP_CLAUSE_LINEAR
17049 outer special casing, for OMP_CLAUSE_LASTPRIVATE if
17050 omp_no_lastprivate either remove the clause or turn it
17051 into OMP_CLAUSE_PRIVATE.
17052 (gimplify_omp_for): Fix up handling of implicit
17053 lastprivate or linear iterators.
17054 (gimplify_omp_workshare): For OMP_TEAMS_COMBINED use
17055 ORT_COMBINED_TEAMS.
17056 * omp-low.c (lower_omp_for_lastprivate): For combined
17057 for simd use fd.loop.n2 from the for rather than simd.
17058
17059 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
17060
17061 * config/cris/cris.c (cris_expand_prologue): Use gen_raw_REG
17062 instead of gen_rtx_raw_REG.
17063 (cris_expand_epilogue): Likewise.
17064 * config/microblaze/microblaze.c (microblaze_classify_address):
17065 Likewise.
17066 * config/sparc/sparc.md: Likewise.
17067
17068 2015-05-19 Uros Bizjak <ubizjak@gmail.com>
17069
17070 * config/alpha/alpha.c (alpha_legitimize_reload_address)
17071 (alpha_preferred_reload_class, alpha_legitimate_constant_p): Use
17072 CONST_INT_P, CONST_SCALAR_INT_P and CONST_DOUBLE_P predicates.
17073 (alpha_split_reload_pair) <case CONST_INT, case CONST_WIDE_INT>:
17074 Use CASE_CONST_SCALAR_INT.
17075 (print_operand) <case 'M'>: Use mode_width_operand to check the
17076 value of the constant.
17077 * config/alpha/alpha.md (movti): Use CONST_SCALAR_INT_P predicate.
17078 * config/alpha/predicates.md (input_operand): Use general_operand
17079 instead of match_code as operand check.
17080 (symbolic_operand): Use match_code with subexpression digits.
17081 * config/alpha/constraints.md (Q): Ditto.
17082
17083 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
17084
17085 * optabs.c (expand_vec_perm): Don't re-use SEL as target operand.
17086
17087 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
17088
17089 * config/s390/s390.c (s390_secondary_reload): Fix check for
17090 load/store relative.
17091
17092 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
17093
17094 * recog.h: Increase MAX_RECOG_ALTERNATIVES. Change type of
17095 alternative_mask to uint64_t.
17096
17097 2015-05-19 Jakub Jelinek <jakub@redhat.com>
17098
17099 PR tree-optimization/66187
17100 * match.pd ((bit_and (plus/minus (convert @0) (convert @1)) mask)):
17101 Pass TYPE_SIGN to tree_int_cst_min_precision. If
17102 !TYPE_OVERFLOW_WRAPS, ensure @4 is non-negative.
17103
17104 2015-05-19 David Malcolm <dmalcolm@redhat.com>
17105
17106 * diagnostic.c (diagnostic_report_current_module): Strengthen
17107 local "new_map" from const line_map * to
17108 const line_map_ordinary *.
17109 * genmatch.c (error_cb): Likewise for local "map".
17110 (output_line_directive): Likewise for local "map".
17111 * input.c (expand_location_1): Likewise for local "map".
17112 Pass NULL rather than &map to
17113 linemap_unwind_to_first_non_reserved_loc, since the value is never
17114 read from there, and the value written back not read from here.
17115 (is_location_from_builtin_token): Strengthen local "map" from
17116 const line_map * to const line_map_ordinary *.
17117 (dump_location_info): Strengthen locals "map" from
17118 line_map *, one to const line_map_ordinary *, the other
17119 to const line_map_macro *.
17120 * tree-diagnostic.c (loc_map_pair): Strengthen field "map" from
17121 const line_map * to const line_map_macro *.
17122 (maybe_unwind_expanded_macro_loc): Add a call to
17123 linemap_check_macro when writing to the "map" field of the
17124 loc_map_pair.
17125 Introduce local const line_map_ordinary * "ord_map", using it in
17126 place of "map" in the part of the function where we know we have
17127 an ordinary map. Strengthen local "m" from const line_map * to
17128 const line_map_ordinary *.
17129
17130 2015-05-19 Nick Clifton <nickc@redhat.com>
17131
17132 PR target/66156
17133 * config/msp430/msp430.md (zero_extendhisi2): Add support for
17134 separate source and destination registers.
17135
17136 2015-05-19 Richard Biener <rguenther@suse.de>
17137
17138 PR tree-optimization/66165
17139 * tree-vect-slp.c (vect_supported_load_permutation_p): Add guard
17140 for no load permutation.
17141
17142 PR tree-optimization/66185
17143 * tree-vect-slp.c (vect_build_slp_tree): Properly roll back
17144 when building the SLP node from scalars.
17145
17146 2015-05-19 Eric Botcazou <ebotcazou@adacore.com>
17147 Tristan Gingold <gingold@adacore.com>
17148
17149 * insn-notes.def (UPDATE_SJLJ_CONTEXT): New note.
17150 * builtins.c (expand_builtin_update_setjmp_buf): Make global.
17151 (expand_stack_restore): Call record_new_stack_level.
17152 (expand_stack_save): Do not call do_pending_stack_adjust.
17153 * builtins.h (expand_builtin_update_setjmp_buf): Declare.
17154 * calls.c (expand_call): Call record_new_stack_level for alloca.
17155 * except.c (sjlj_mark_call_sites): Expand builtin_update_setjmp_buf
17156 wherever a NOTE_INSN_UPDATE_SJLJ_CONTEXT note is present.
17157 (update_sjlj_context): New global function.
17158 * except.h (update_sjlj_context): Declare.
17159 * explow.c (record_new_stack_level): New global function.
17160 (allocate_dynamic_stack_space): Call record_new_stack_level.
17161 * explow.h (record_new_stack_level): Declare.
17162 * final.c (final_scan_insn): Deal with NOTE_INSN_UPDATE_SJLJ_CONTEXT.
17163 * cfgrtl.c (duplicate_insn_chain): Likewise.
17164
17165 2015-05-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17166
17167 * calls.c: Always define STACK_GROWS_DOWNWARD as 0 or 1.
17168 (mem_overlaps_already_clobbered_arg_p): Rewrite ifdef
17169 STACK_GROWS_DOWNWARD as normal if.
17170 (expand_call): Likewise.
17171
17172 2015-05-19 Oleg Endo <olegendo@gcc.gnu.org>
17173
17174 PR target/54236
17175 * config/sh/sh.md (*round_int_even): New insn_and_split and
17176 accompanying new unnamed split.
17177
17178 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
17179
17180 * bitmap.c (bitmap_set_range): Handle count==1 specially.
17181 (bitmap_clear_range): Likewise.
17182 * cfgcleanup.c (mark_effect): Use bitmap_clear_range and
17183 bitmap_set_range unconditionally.
17184 * df-problems.c (df_simulate_one_insn_forwards): Likewise.
17185 * df-scan.c (df_mark_reg): Likewise.
17186 * haifa-sched.c (setup_ref_regs): Likewise.
17187 * sched-rgn.c (update_live_1): Likewise.
17188
17189 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
17190
17191 * regs.h (END_HARD_REGNO): Delete.
17192 (END_REGNO): Move to...
17193 * rtl.h: ...here.
17194 * bt-load.c (note_btr_set): Use END_REGNO instead of END_HARD_REGNO.
17195 * caller-save.c (mark_set_regs): Likewise.
17196 * combine.c (move_deaths, distribute_notes): Likewise.
17197 * cse.c (invalidate, invalidate_for_call): Likewise.
17198 * df-scan.c (df_ref_record): Likewise.
17199 * postreload-gcse.c (reg_changed_after_insn_p): Likewise.
17200 (record_last_reg_set_info): Likewise.
17201 * reg-stack.c (convert_regs_exit): Likewise.
17202 * reload.c (reg_overlap_mentioned_for_reload_p): Likewise.
17203 * resource.c (update_live_status): Likewise.
17204 * rtlanal.c (find_reg_fusage, find_regno_fusage): Likewise.
17205
17206 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
17207
17208 * rtl.h (reg_info): Add an nregs field.
17209 (REG_NREGS): Use it.
17210 (SET_REGNO_RAW): Delete.
17211 (set_regno_raw): New function.
17212 * regs.h (END_HARD_REGNO): Make equivalent to END_REGNO.
17213 (END_REGNO): Redefine in terms of REG_NREGS.
17214 * read-rtl.c (read_rtx_code): Call set_regno_raw instead of
17215 SET_REGNO_RAW.
17216 * emit-rtl.c (set_mode_and_regno): Likewise.
17217 * df-scan.c (df_ref_change_reg_with_loc): Use set_mode_and_regno
17218 instead of SET_REGNO_RAW.
17219
17220 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
17221
17222 * rtl.h (PUT_MODE_RAW): New macro.
17223 (PUT_REG_NOTE_KIND): Use it.
17224 (set_mode_and_regno): Declare.
17225 (gen_raw_REG): Change regno to "unsigned int".
17226 (gen_rtx_REG): Change "unsigned" to "unsigned int".
17227 (PUT_MODE): Forward to PUT_MODE_RAW for generators, otherwise
17228 use set_mode_and_regno to change the mode of registers.
17229 * gengenrtl.c (gendef): Use PUT_MODE_RAW.
17230 * emit-rtl.c (set_mode_and_regno): New function.
17231 (gen_raw_REG): Change regno to unsigned int. Use set_mode_and_regno.
17232 * caller-save.c (reg_save_code): Use set_mode_and_regno.
17233 * expr.c (init_expr_target): Likewise.
17234 * ira.c (setup_prohibited_mode_move_regs): Likewise.
17235 * postreload.c (reload_cse_simplify_operands): Likewise.
17236
17237 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
17238
17239 * caller-save.c (init_caller_save): Use word_mode and
17240 FIRST_PSEUDO_REGISTER when creating temporary rtxes.
17241 * expr.c (init_expr_target): Likewise.
17242 * ira.c (setup_prohibited_mode_move_regs): Likewise.
17243 * postreload.c (reload_cse_regs_1): Likewise.
17244
17245 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
17246
17247 * rtl.def (REG): Change format to "r".
17248 * rtl.h (rtunion): Remove rt_reg.
17249 (reg_info): New structure.
17250 (rtx_def): Add reg field to main union.
17251 (X0REGATTR): Delete.
17252 (REG_CHECK): New macro.
17253 (SET_REGNO_RAW, rhs_regno, REG_ATTRS): Use it.
17254 * rtl.c (rtx_format): Document "r".
17255 (rtx_code_size): Handle REG specially.
17256 * gengenrtl.c (special_format): Return true for formats
17257 that include 'r'.
17258 * gengtype.c (adjust_field_rtx_def): Handle 'r' fields.
17259 Deal with REG_ATTRS after the field loop.
17260 * emit-rtl.c (gen_raw_REG): Call rtx_alloc_stat directly.
17261 * expmed.c (init_expmed): Call gen_raw_REG instead of
17262 gen_rtx_raw_REG.
17263 * expr.c (init_expr_target): Likewise.
17264 * regcprop.c (maybe_mode_change): Likewise.
17265 * varasm.c (make_decl_rtl): Likewise.
17266 * final.c (leaf_renumber_regs_insn): Return early after
17267 handling REGs.
17268 * genemit.c (gen_exp): Handle 'r' fields.
17269 * genpeep.c (match_rtx): Likewise.
17270 * gensupport.c (subst_pattern_match): Likewise.
17271 (get_alternatives_number, collect_insn_data, alter_predicate_for_insn)
17272 (alter_constraints, subst_dup): Likewise.
17273 * read-rtl.c (read_rtx_code): Likewise.
17274 * print-rtl.c (print_rtx): Likewise.
17275 * genrecog.c (find_operand, find_matching_operand): Likewise.
17276 (validate_pattern, match_pattern_2): Likewise.
17277 (parameter::UINT, rtx_test::REGNO_FIELD): New enum values.
17278 (rtx_test::regno_field): New function.
17279 (operator ==, safe_to_hoist_p, transition_parameter_type)
17280 (parameter_type_string, print_parameter_value)
17281 (print_nonbool_test, print_test): Handle new enum values.
17282 * cselib.c (rtx_equal_for_cselib_1): Handle REG specially.
17283 * lra-constraints.c (operands_match_p): Likewise.
17284
17285 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
17286
17287 * df.h (df_ref_change_reg_with_loc): Remove old_regno parameter.
17288 Change type of new_regno to unsigned int.
17289 * df-scan.c (df_ref_change_reg_with_loc_1): Change type of
17290 new_regno to unsigned int.
17291 (df_ref_change_reg_with_loc): Remove old_regno parameter.
17292 Change type of new_regno to unsigned int. Use SET_REGNO_RAW.
17293 * rtl.h (SET_REGNO): Update call to df_ref_change_reg_with_loc.
17294 (SET_REGNO_RAW): Add space after ",".
17295
17296 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
17297
17298 * rtl.h (REG_NREGS): New macro
17299 * alias.c (record_set): Use it.
17300 * cfgcleanup.c (mark_effect): Likewise.
17301 * combine.c (likely_spilled_retval_1): Likewise.
17302 (likely_spilled_retval_p, can_change_dest_mode): Likewise.
17303 (move_deaths, distribute_notes): Likewise.
17304 * cselib.c (cselib_record_set): Likewise.
17305 * df-problems.c (df_simulate_one_insn_forwards): Likewise.
17306 * df-scan.c (df_mark_reg): Likewise.
17307 * dse.c (look_for_hardregs): Likewise.
17308 * dwarf2out.c (reg_loc_descriptor): Likewise.
17309 (multiple_reg_loc_descriptor): Likewise.
17310 * expr.c (write_complex_part, read_complex_part): Likewise.
17311 (emit_move_complex): Likewise.
17312 * haifa-sched.c (setup_ref_regs): Likewise.
17313 * ira-lives.c (mark_hard_reg_live): Likewise.
17314 * lra.c (lra_set_insn_recog_data): Likewise.
17315 * mode-switching.c (create_pre_exit): Likewise.
17316 * postreload.c (reload_combine_recognize_const_pattern): Likewise.
17317 (reload_combine_recognize_pattern): Likewise.
17318 (reload_combine_note_use, move2add_record_mode): Likewise.
17319 (reload_cse_move2add): Likewise.
17320 * reg-stack.c (subst_stack_regs_pat): Likewise.
17321 * regcprop.c (kill_value, copy_value): Likewise.
17322 (copyprop_hardreg_forward_1): Likewise.
17323 * regrename.c (verify_reg_in_set, scan_rtx_reg): Likewise.
17324 (build_def_use): Likewise.
17325 * sched-deps.c (mark_insn_reg_birth, mark_reg_death): Likewise.
17326 (deps_analyze_insn): Likewise.
17327 * sched-rgn.c (check_live_1, update_live_1): Likewise.
17328 * sel-sched.c (count_occurrences_equiv): Likewise.
17329 * valtrack.c (dead_debug_insert_temp): Likewise.
17330
17331 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
17332
17333 * cfgcleanup.c (mentions_nonequal_regs): Use END_REGNO.
17334 * dse.c (note_add_store): Likewise.
17335 * ira-lives.c (mark_hard_reg_dead): Likewise.
17336 * loop-invariant.c (mark_reg_store): Likewise.
17337 (mark_reg_death): Likewise.
17338 * postreload.c (reload_combine): Likewise.
17339 (reload_combine_note_store): Likewise.
17340 (reload_combine_note_use): Likewise.
17341 * recog.c (peep2_reg_dead_p): Likewise.
17342
17343 2015-05-19 Alan Modra <amodra@gmail.com>
17344
17345 * config/rs6000/predicates.md (gpc_reg_operand): Don't allow all
17346 hard registers numbered greater or equal to ARG_POINTER_REGNUM.
17347 (reg_or_neg_short_operand, fix_trunc_dest_operand): Delete
17348 unused predicates.
17349 * config/rs6000/altivec.md (save_vregs_*, restore_vregs_*):
17350 Use altivec_register_operand. Make insn predicate TARGET_ALTIVEC.
17351 * config/rs6000/rs6000.md (extzvdi_internal2): Use cc_reg_operand.
17352 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Expand comment.
17353
17354 2015-05-19 Sameera Deshpande <Sameera.Deshpande@imgtec.com>
17355
17356 * config/mips/mips.md (JOIN_MODE): New mode iterator.
17357 (join2_load_Store<JOIN_MODE:mode>): New pattern.
17358 (join2_loadhi): Likewise.
17359 (define_peehole2): Add peephole2 patterns to join 2 HI/SI/SF/DF-mode
17360 load-load and store-stores.
17361 * config/mips/mips.opt (mload-store-pairs): New option.
17362 (TARGET_LOAD_STORE_PAIRS): New macro.
17363 * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Likewise.
17364 * config/mips/mips-protos.h (mips_load_store_bonding_p): New prototype.
17365 * config/mips/mips.c (mips_load_store_bonding_p): New function.
17366
17367 2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
17368
17369 * bb-reorder.c (fix_up_fall_thru_edges): Use std::swap instead of
17370 explicit swaps.
17371 * dojump.c (do_compare_rtx_and_jump): Likewise.
17372 * expmed.c (emit_store_flag_1): Likewise.
17373 * fibonacci_heap.h (fibonacci_heap::union_with): Likewise.
17374 * final.c (sprint_ul): Use std::reverse for reversing a string.
17375 * fold-const.c (extract_muldiv_1): Use std::swap.
17376 * genmodes.c (emit_mode_int_n): Likewise.
17377 * ifcvt.c (dead_or_predicable): Likewise.
17378 * ira-build.c (ira_merge_live_ranges): Likewise.
17379 (swap_allocno_copy_ends_if_necessary): Likewise.
17380 * ira.c (ira_setup_alts): Likewise.
17381 * loop-iv.c (iv_analyze_expr): Likewise.
17382 (implies_p): Likewise.
17383 (canon_condition): Likewise.
17384 * lra-constraints.c (swap_operands): Likewise.
17385 * lra-lives.c (lra_merge_live_ranges): Likewise.
17386 * omega.c (swap): Remove.
17387 (bswap): Remove.
17388 (omega_unprotect_1): Use std::swap.
17389 (omega_solve_geq): Likewise.
17390 * optabs.c (expand_binop_directly): Likewise.
17391 (expand_binop): Likewise.
17392 (emit_conditional_move): Likewise.
17393 (emit_conditional_add): Likewise.
17394 * postreload.c (reload_cse_simplify_operands): Likewise.
17395 * reg-stack.c (emit_swap_insn): Likewise.
17396 (swap_to_top): Likewise.
17397 (compare_for_stack_reg): Likewise.
17398 (subst_asm_stack_regs): Likewise.
17399 * reload.c (find_reloads): Likewise.
17400 * reload1.c (gen_reload_chain_without_interm_reg_p): Likewise.
17401 * sel-sched.c (invoke_reorder_hooks): Likewise.
17402 (create_block_for_bookkeeping): Likewise.
17403 * tree-data-ref.c (lambda_matrix_row_exchange): Remove.
17404 (lambda_matrix_right_hermite): Use std::swap.
17405 * tree-ssa-coalesce.c (sort_coalesce_list): Likewise.
17406 * tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
17407 * tree-ssa-loop-ivopts.c (iv_ca_delta_reverse): Likewise.
17408 * tree-ssa-math-opts.c (is_widening_mult_p): Likewise.
17409 * tree-ssa-phiopt.c (hoist_adjacent_loads): Likewise.
17410 * tree-ssa-reassoc.c (linearize_expr_tree): Likewise.
17411 * tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise.
17412 * tree-vrp.c (compare_ranges): Likewise.
17413 * var-tracking.c (add_with_sets): Likewise.
17414 (vt_find_locations): Likewise.
17415
17416 2015-05-18 Andreas Tobler <andreast@gcc.gnu.org>
17417
17418 * config/freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build
17419 pie executables.
17420 (FBSD_ENDFILE_SPEC): Likewise.
17421 * config/i386/freebsd.h (STARTFILE_SPEC): Remove and use the one from
17422 config/freebsd-spec.h.
17423 (ENDFILE_SPEC): Likewise.
17424
17425 2015-05-18 Uros Bizjak <ubizjak@gmail.com>
17426 Richard Henderson <rth@redhat.com>
17427
17428 PR target/57032
17429 * config/alpha/constraints.md (Q): Rewrite as define_memory_constraint.
17430 Check for a memory location that is not a reference (using an AND)
17431 to an unaligned location here.
17432 * config/alpha/predicates.md (normal_memory_operand): Remove.
17433
17434 2015-05-18 Alex Velenko <Alex.Velenko@arm.com>
17435
17436 * config/arm/arm.md (andsi_not_shiftsi_si_scc): New pattern.
17437 (andsi_not_shiftsi_si_scc_no_reuse): New pattern.
17438
17439 2015-05-18 Robert Suchanek <robert.suchanek@imgtec.com>
17440
17441 * config/mips/mips.c (micromips_globals): New variable.
17442 (mips_set_compression_mode): Save and reinitialize target-dependent
17443 state for microMIPS.
17444
17445 2015-05-18 Martin Liska <mliska@suse.cz>
17446
17447 * dbgcnt.def: Add new counter.
17448 * ipa-icf.c (sem_item_optimizer::merge_classes): Use the counter.
17449
17450 2015-05-18 Martin Liska <mliska@suse.cz>
17451
17452 * dbgcnt.def: Sort counters.
17453 * opts.c (common_handle_option): Do not compile if
17454 -fdbg-cnt-list is enabled.
17455
17456 2015-05-18 Tom de Vries <tom@codesourcery.com>
17457
17458 * gimplify.c (gimplify_modify_expr): Remove do_deref handling.
17459 (gimplify_va_arg_expr): Remove do_deref handling. Remove adding of
17460 address operator to va_list operand.
17461 * tree-stdarg.c (expand_ifn_va_arg_1): Do deref of va_list operand
17462 unconditionally.
17463 * config/i386/i386.c (ix86_gimplify_va_arg): Remove deref on va_list
17464 operand.
17465 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Same.
17466 * config/s390/s390.c (s390_gimplify_va_arg): Same.
17467 * config/spu/spu.c (spu_gimplify_va_arg_expr): Same.
17468
17469 2015-05-18 Tom de Vries <tom@codesourcery.com>
17470
17471 * tree-ssa-tail-merge.c: Fix whitespace.
17472
17473 2015-05-17 Jim Wilson <jim.wilson@linaro.org>
17474
17475 * doc/invoke.texi (ARM Options, mtune): Add generic-armv7-a,
17476 cortex-a17, and cortex-a17.cortex-a7.
17477
17478 2015-05-17 Oleg Endo <olegendo@gcc.gnu.org>
17479
17480 PR target/54236
17481 * config/sh/sh.md (*addc_2r_t): Use ashift instead of mult.
17482
17483 2015-05-17 Uros Bizjak <ubizjak@gmail.com>
17484
17485 PR target/66174
17486 * config/i386/i386.c (expand_vec_perm_blend): Enable HImode and
17487 QImode inner modes for TARGET_AVX512BW. Force mask operand
17488 to a register for AVX512F modes.
17489
17490 2015-05-16 Jan Hubicka <hubicka@ucw.cz>
17491
17492 * toplev.c (emit_debug_global_declarations): Do not output debug info
17493 when doing slim LTO objects.
17494
17495 2015-05-16 Jan Hubicka <hubicka@ucw.cz>
17496
17497 * ipa-utils.h (warn_types_mismatch, odr_or_derived_type_p,
17498 odr_types_equivalent_p): Declare.
17499 (odr_type_p): Use gcc_checking_assert.
17500 (type_in_anonymous_namespace_p) Declare.
17501 (type_with_linkage_p): Declare.
17502 * common.opt (Wlto-type-mismatch): New warning.
17503 * ipa-devirt.c (compound_type_base): New function.
17504 (odr_or_derived_type_p): New function.
17505 (odr_types_equivalent_p): New function.
17506 (add_type_duplicate): Simplify.
17507 (type_with_linkage_p): Add hack to prevent false positives on C types
17508 (type_in_anonymous_namespace_p): Likewise.
17509 * tree.c (need_assembler_name_p): Use type_with_linkage.
17510 * tree.h (type_in_anonymous_namespace_p): Remove.
17511 * doc/invoke.texi (-Wlto-type-mismatch): Document
17512
17513 2015-05-16 Jan Hubicka <hubicka@ucw.cz>
17514
17515 * tree.c (verify_type_variant): Verify tree_base and type_common flags.
17516 (verify_type): Verify STRING_FLAG.
17517
17518 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
17519
17520 PR fortran/44054
17521 * tree-pretty-print.c (percent_K_format): Replace locus pointer
17522 with accessor function.
17523 * tree-diagnostic.c (diagnostic_report_current_function): Use
17524 diagnostic_location function.
17525 (maybe_unwind_expanded_macro_loc): Likewise.
17526 (virt_loc_aware_diagnostic_finalizer): Likewise.
17527 (default_tree_printer): Replace locus pointer with accessor function.
17528 * diagnostic.c (diagnostic_initialize): Initialize caret_chars array.
17529 (diagnostic_set_info_translated): Initialize second location.
17530 (diagnostic_build_prefix): Use CARET_LINE_MARGIN.
17531 (diagnostic_show_locus): Handle two locations. Call
17532 diagnostic_print_caret_line.
17533 (diagnostic_print_caret_line): New.
17534 (default_diagnostic_starter): Use diagnostic_location function.
17535 (diagnostic_report_diagnostic): Use diagnostic_location function.
17536 (verbatim): Do not set text.locus.
17537 * diagnostic.h (struct diagnostic_info): Remove location field.
17538 (struct diagnostic_context): Make caret_chars an array of two.
17539 (diagnostic_location): New inline.
17540 (diagnostic_expand_location): Handle two locations.
17541 (diagnostic_same_line): New inline.
17542 (diagnostic_print_caret_line): Declare.
17543 (CARET_LINE_MARGIN): New constant.
17544 * pretty-print.c (pp_printf): Do not set text.locus.
17545 (pp_verbatim): Do not set text.locus.
17546 * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): New constant.
17547 (struct text_info): Replace locus pointer with locations
17548 array. Add accessor functions.
17549
17550 2015-05-16 Kugan Vivekanandarajah <kuganv@linaro.org>
17551 Zhenqiang Chen <zhenqiang.chen@linaro.org>
17552
17553 PR target/65768
17554 * config/arm/arm.h (DONT_EARLY_SPLIT_CONSTANT): New macro.
17555 * config/arm/arm.md (subsi3, andsi3, iorsi3, xorsi3, movsi): Keep some
17556 large constants in register instead of splitting them.
17557
17558 2015-05-16 Uros Bizjak <ubizjak@gmail.com>
17559
17560 PR target/66140
17561 * config/alpha/alpha.c (get_aligned_mem): Also look for reload
17562 replacements in memory addresses.
17563 (get_unaligned_address): Ditto.
17564
17565 2015-05-16 James Bowman <james.bowman@ftdichip.com>
17566
17567 * config/ft32/*: New files for FT32 port.
17568 * doc/install.texi: Add FT32 information.
17569 * doc/invoke.texi: Add FT32 information.
17570 * doc/md.texi: Add FT32 information.
17571 * doc/contrib.texi: Self added.
17572
17573 2015-05-15 Marc Glisse <marc.glisse@inria.fr>
17574
17575 PR tree-optimization/64454
17576 * match.pd ((X % Y) % Y, (X % Y) < Y): New patterns.
17577 (-1 - A -> ~A): Remove unnecessary condition.
17578
17579 2015-05-15 Gregor Richards <gregor.richards@uwaterloo.ca>
17580
17581 * config/i386/linux.h (MUSL_DYNAMIC_LINKER): Define.
17582 * config/i386/linux64.h (MUSL_DYNAMIC_LINKER32): Define.
17583 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32): Define.
17584
17585 2015-05-15 Ilya Enkovich <ilya.enkovich@intel.com>
17586
17587 * ipa-chkp.h (chkp_wrap_function): New.
17588 * ipa-chkp.c (chkp_wrap_function): Remove 'static'.
17589 (chkp_wrap_function_name): New.
17590 (chkp_build_instrumented_fndecl): Use chkp_wrap_function_name
17591 to get wrapper name.
17592 * lto-cgraph.c: Include ipa-chkp.h.
17593 (input_cgraph_1): Avoid alias chain for wrappers.
17594
17595 2015-05-15 Ilya Enkovich <enkovich.gnu@gmail.com>
17596
17597 PR middle-end/66134
17598 * tree-chkp.c (chkp_get_orginal_bounds_for_abnormal_copy): New.
17599 (chkp_maybe_copy_and_register_bounds): Don't copy abnormal copy.
17600
17601 2015-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17602
17603 * config/aarch64/aarch64.h (AARCH64_TUNE_SLOWMUL): Delete.
17604 (AARCH64_FL_SLOWMUL): Delete.
17605 (AARCH64_FL_CRC): Redefine to 1<<3.
17606 (AARCH64_FL_USE_FMA_STEERING_PASS): Redefine to 1<<4.
17607
17608 2015-05-15 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
17609
17610 * config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Add appropriate
17611 casting.
17612
17613 2015-05-15 Uros Bizjak <ubizjak@gmail.com>
17614
17615 * config/alpha/alpha.md (extendqidi2): Use general_operand
17616 instead of some_operand for operand[1] predicate.
17617 (extendhidi2): Ditto.
17618 (cbranchdi4): Use general_operand instead of some_operand
17619 for operand[1] and operands[2] predicates.
17620 (cstoredi4): Ditto.
17621 * config/alpha/predicates.md (some_operand): Remove unused predicate.
17622 (some_ni_operand): Ditto.
17623
17624 2015-05-15 Uros Bizjak <ubizjak@gmail.com>
17625
17626 * config/alpha/alpha.c (alpha_extract_integer): Do not handle
17627 CONST_WIDE_INT and CONST_DOUBLE. Assert CONST_INT_P (x).
17628 (alpha_legitimate_constant_p) <case CONST_WIDE_INT>: Check high and
17629 low part of the constant using alpha_emit_set_const_1.
17630 (alpha_expand_mov): Do not handle CONST_WIDE_INT and CONST_DOUBLE.
17631
17632 2015-05-14 Rohit Arul Raj <rohitrulraj@freescale.com>
17633
17634 * varasm.c (output_constant_pool_1): Pass down alignment from
17635 constant pool entry's descriptor to output_constant_pool_2.
17636 (output_object_block): Add comment prior to call to
17637 output_constant_pool_1.
17638
17639 2015-05-14 Vladimir Makarov <vmakarov@redhat.com>
17640
17641 PR rtl-optimization/65862
17642 * target.def (ira_change_pseudo_allocno_class): New hook.
17643 * targhooks.c (default_ira_change_pseudo_allocno_class): Default
17644 value of the hook.
17645 * targhooks.h (default_ira_change_pseudo_allocno_class): New extern.
17646 * doc/tm.texi.in (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Add the
17647 hook.
17648 * ira-costs.c (find_costs_and_classes): Call the hook and change
17649 classes when it is necessary.
17650 * doc/tm.texi: Update.
17651
17652 2015-05-14 Alexander Monakov <amonakov@ispras.ru>
17653
17654 * config/i386/i386.md (sibcall_memory): Check that register with
17655 callee address is not also used as one of the arguments, instead
17656 of checking that it is not live after the sibcall.
17657 (sibcall_pop_memory): Ditto.
17658 (sibcall_value_memory): Ditto.
17659 (sibcall_value_pop_memory): Ditto.
17660
17661 2015-05-14 Marc Glisse <marc.glisse@inria.fr>
17662
17663 * generic-match-head.c (types_match): Handle non-types.
17664 * gimple-match-head.c (types_match): Likewise.
17665 * match.pd: Remove unnecessary TREE_TYPE for types_match.
17666
17667 2015-05-14 Wilco Dijkstra <wdijkstr@arm.com>
17668
17669 * config/aarch64/aarch64.md (absdi2): Optimize abs expansion.
17670 (csneg3<mode>_insn): Enable expansion of pattern.
17671
17672 2015-05-14 Nick Clifton <nickc@redhat.com>
17673
17674 * config/rl78/rl78.c (rl78_select_section): Select the correct
17675 default section based upon the category of the decl.
17676
17677 2015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
17678
17679 PR rtl-optimization/30967
17680 * config/rs6000/rs6000.c (rs6000_rtx_costs): Don't consider
17681 destination mode for the cost of scc patterns.
17682
17683 2015-05-13 Uros Bizjak <ubizjak@gmail.com>
17684
17685 * config/i386/i386.md (*mul<mode>3_1): Merge with *mulhi3_1
17686 using SWIM248 mode iterator.
17687 (*mulv<mode>4): Use x86_64_sext_operand for operand[2] constraint.
17688 (*mulvhi4): mark operand[1] as commutative. Use nonimmediate_operand
17689 for operand[2] constraint.
17690 (*mulv<mode>4_1): Merge with *mulvhi4_1 using SWI248 mode iterator.
17691
17692 2015-05-13 Jakub Jelinek <jakub@redhat.com>
17693
17694 PR middle-end/66133
17695 * omp-low.c (expand_omp_taskreg): For GIMPLE_OMP_TASK expansion,
17696 make sure it is never noreturn, even when the task body does not
17697 return.
17698 (lower_omp_taskreg): For GIMPLE_OMP_TASK, emit GIMPLE_OMP_CONTINUE
17699 right before GIMPLE_OMP_RETURN.
17700 (make_gimple_omp_edges): Accept GIMPLE_OMP_CONTINUE as ->cont
17701 for GIMPLE_OMP_TASK. For GIMPLE_OMP_RETURN corresponding to
17702 GIMPLE_OMP_TASK add an EDGE_ABNORMAL edge from entry to exit.
17703
17704 2015-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17705
17706 * params.def (PARAM_MAX_POW_SQRT_DEPTH): New param.
17707 * tree-ssa-math-opts.c: Include params.h
17708 (pow_synth_sqrt_info): New struct.
17709 (representable_as_half_series_p): New function.
17710 (get_fn_chain): Likewise.
17711 (print_nested_fn): Likewise.
17712 (dump_fractional_sqrt_sequence): Likewise.
17713 (dump_integer_part): Likewise.
17714 (expand_pow_as_sqrts): Likewise.
17715 (gimple_expand_builtin_pow): Use above to attempt to expand
17716 pow as series of square roots. Removed now unused variables.
17717
17718 2015-05-13 Uros Bizjak <ubizjak@gmail.com>
17719
17720 * config/alpha/alpha.c (alpha_emit_set_long_const): Remove c1 argument.
17721 (alpha_extract_integer): Redeclare as static HOST_WIDE_INT.
17722 Remove *p0 and *p1 arguments. Rewrite function.
17723 (alpha_legitimate_constant_p): Update call to alpha_extract_integer.
17724 (alpha_split_const_mov): Update calls to alpha_extract_integer and
17725 alpha_emit_set_long_const.
17726 (alpha_expand_epilogue): Update calls to alpha_emit_set_long_const.
17727 (alpha_output_mi_thunk_osf): Ditto.
17728 * config/alpha/alpha.md (movti): Do not check operands[1]
17729 for CONST_DOUBLE.
17730
17731 2015-05-13 Richard Biener <rguenther@suse.de>
17732
17733 PR tree-optimization/66129
17734 * tree-vect-slp.c (vect_build_slp_tree): Make sure all ops are
17735 commutative.
17736 (vect_schedule_slp_instance): Fix typo.
17737
17738 2015-05-13 David Malcolm <dmalcolm@redhat.com>
17739
17740 * common.opt (fdump-internal-locations): New option.
17741 * input.c: Include diagnostic-core.h.
17742 (get_end_location): New function.
17743 (write_digit): New function.
17744 (write_digit_row): New function.
17745 (dump_location_range): New function.
17746 (dump_labelled_location_range): New function.
17747 (dump_location_info): New function.
17748 * input.h (dump_location_info): New prototype.
17749 * toplev.c (compile_file): Handle flag_dump_locations.
17750
17751 2015-05-13 Eric Botcazou <ebotcazou@adacore.com>
17752
17753 * gimple-expr.h (is_gimple_constant): Reorder.
17754 * tree-ssa-propagate.c (before_dom_children): Use inline accessor.
17755
17756 2015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
17757
17758 * combine.c (simplify_set): When generating a CC set, if the
17759 source already is in the correct mode, do not wrap it in a
17760 compare. Simplify the rest of that code.
17761
17762 2015-05-13 Richard Biener <rguenther@suse.de>
17763
17764 PR tree-optimization/66123
17765 * tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found
17766 a taken edge.
17767
17768 2015-05-13 Richard Biener <rguenther@suse.de>
17769
17770 PR middle-end/66110
17771 * alias.c (alias_sets_conflict_p): Do not treat has_zero_child
17772 specially.
17773 * Makefile.in (dfp.o-warn): Add -Wno-strict-aliasing.
17774
17775 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
17776
17777 * doc/install.texi: Bump latest automake 1.11 version to 1.11.6.
17778 * aclocal.m4: Regenerated with automake-1.11.6.
17779
17780 2015-05-13 Tom de Vries <tom@codesourcery.com>
17781
17782 PR tree-optimization/66010
17783 * gimplify.h (gimplify_va_arg_internal): Remove declaration.
17784 * gimplify.c (gimplify_va_arg_internal): Remove and inline into ...
17785 * tree-stdarg.c (expand_ifn_va_arg_1): ... here. Choose between lval
17786 and rval based on do_deref.
17787
17788 2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
17789
17790 PR target/65103
17791 * config/i386/i386.c (ix86_rtx_costs): We want to propagate
17792 link time constants into adress expressions and therefore set
17793 their cost to 0.
17794
17795 2015-05-13 Jakub Jelinek <jakub@redhat.com>
17796
17797 PR target/66112
17798 * config/i386/i386.md (mulv<mode>4, umulv<mode>4, *umulv<mode>4):
17799 Use SWI248 iterator instead of SWI.
17800 (*mulv<mode>4_1): Use SWI48 instead of SWI. Simplify output template.
17801 Use eq_attr "alternative" "0" instead of match_test in
17802 length_immediate attribute computation.
17803 (*mulvhi4, *mulvhi4_1): New define_insns.
17804
17805 PR target/66112
17806 * internal-fn.c (get_min_precision): Use UNSIGNED instead of
17807 SIGNED to get precision of non-negative value.
17808
17809 2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
17810
17811 PR target/66048
17812 * function.c (diddle_return_value_1): Process bounds first.
17813 * config/i38/i386.c (ix86_function_value_regno_p): Add bnd1
17814 register.
17815
17816 2015-05-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
17817
17818 PR rtl-optimization/64616
17819 * loop-invariant.c (can_move_invariant_reg): New.
17820 (move_invariant_reg): Call above new function to decide whether
17821 instruction can just be moved, skipping creation of temporary
17822 register.
17823
17824 2015-05-12 Jan Hubicka <hubicka@ucw.cz>
17825
17826 PR target/pr66047.c
17827 * i386.c (ix86_function_sseregparm): Only return -1 if local function
17828 with implied regparm is called from -mno-sse function.
17829 (init_cumulative_args): Output error if ix86_function_sseregparm
17830 return -1 and SSE register would be needed.
17831 (function_arg_advance_32): Likewise.
17832 (function_arg_32): Likewise.
17833 * i386.h (ix86_args): Add decl field.
17834
17835 2015-05-12 Jan Hubicka <hubicka@ucw.cz>
17836
17837 PR ipa/65873
17838 * ipa-inline.c (can_inline_edge_p): Allow early inlining of always
17839 inlines across optimization boundary.
17840
17841 2015-05-12 Jason Merrill <jason@redhat.com>
17842
17843 * config/mmix/mmix.c, config/msp430/msp430.c: Add space between
17844 string literal and macro name.
17845
17846 2015-05-12 Steve Ellcey <sellcey@imgtec.com>
17847
17848 * config/mips/mips.c (mips_print_operand): Remove 'y' operand code.
17849 * config/mips/mips.md (<GPR:d>lsa): Rewrite with shift operator.
17850 * config/mips/predicates.md (const_immlsa_operand): Remove log call.
17851
17852 2015-05-12 David Malcolm <dmalcolm@redhat.com>
17853
17854 * doc/invoke.texi (Warning Options): Add -Wmisleading-indentation.
17855 (-Wmisleading-indentation): New option.
17856 * Makefile.in (C_COMMON_OBJS): Add c-family/c-indentation.o.
17857
17858 2015-05-12 Uros Bizjak <ubizjak@gmail.com>
17859
17860 * config/alpha/alpha.h (TARGET_SUPPORTS_WIDE_INT): New define.
17861 * config/alpha/alpha.c (alpha_rtx_costs): Handle CONST_WIDE_INT.
17862 (alpha_extract_integer): Ditto.
17863 (alpha_legitimate_constant_p): Ditto.
17864 (alpha_split_tmode_pair): Ditto.
17865 (alpha_preferred_reload_class): Add CONST_WIDE_INT.
17866 (alpha_expand_mov): Ditto.
17867 (print_operand): Remove handling of 'H' modifier.
17868 <case 'm'>: Remove CONST_DOUBLE handling.
17869 (summarize_insn): Handle CONST_WIDE_INT.
17870 * config/alpha/alpha.md (*andsi_internal): Remove H constraint.
17871 (anddi3): Ditto.
17872 (movti): Handle CONST_WIDE_INT.
17873 * config/alpha/constraints.md ('H'): Remove constraint definition.
17874 ('G'): Do not match MODE_FLOAT class.
17875 * config/alpha/predicates.md (const0_operand): Also match
17876 const_wide_int.
17877 (non_add_const_operand): Ditto.
17878 (non_zero_const_operand): Ditto.
17879 (some_operand): Ditto.
17880 (input_operand): Ditto. Handle CONST_WIDE_INT.
17881 (and_operand): Do not match const_double.
17882 * config/alpha/sync.md (fetchop_constr): Remove H constraint.
17883
17884 2015-05-12 Andrew MacLeod <amacleod@redhat.com>
17885
17886 PR target/65697
17887 * coretypes.h (MEMMODEL_SYNC, MEMMODEL_BASE_MASK): New macros.
17888 (enum memmodel): Add SYNC_{ACQUIRE,RELEASE,SEQ_CST}.
17889 * tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed,
17890 is_mm_consume,is_mm_acquire, is_mm_release, is_mm_acq_rel,
17891 is_mm_seq_cst, is_mm_sync): New accessor functions.
17892 * builtins.c (expand_builtin_sync_operation,
17893 expand_builtin_compare_and_swap): Use MEMMODEL_SYNC_SEQ_CST.
17894 (expand_builtin_sync_lock_release): Use MEMMODEL_SYNC_RELEASE.
17895 (get_memmodel, expand_builtin_atomic_compare_exchange,
17896 expand_builtin_atomic_load, expand_builtin_atomic_store,
17897 expand_builtin_atomic_clear): Use new accessor routines.
17898 (expand_builtin_sync_synchronize): Use MEMMODEL_SYNC_SEQ_CST.
17899 * optabs.c (expand_compare_and_swap_loop): Use MEMMODEL_SYNC_SEQ_CST.
17900 (maybe_emit_sync_lock_test_and_set): Use new accessors and
17901 MEMMODEL_SYNC_ACQUIRE.
17902 (expand_sync_lock_test_and_set): Use MEMMODEL_SYNC_ACQUIRE.
17903 (expand_mem_thread_fence, expand_mem_signal_fence, expand_atomic_load,
17904 expand_atomic_store): Use new accessors.
17905 * emit-rtl.c (need_atomic_barrier_p): Add additional enum cases.
17906 * tsan.c (instrument_builtin_call): Update check for memory model beyond
17907 final enum to use MEMMODEL_LAST.
17908 * c-family/c-common.c: Use new accessor for memmodel_base.
17909 * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): Use new
17910 accessors.
17911 * config/aarch64/atomics.md (atomic_load<mode>,atomic_store<mode>,
17912 arch64_load_exclusive<mode>, aarch64_store_exclusive<mode>,
17913 mem_thread_fence, *dmb): Likewise.
17914 * config/alpha/alpha.c (alpha_split_compare_and_swap,
17915 alpha_split_compare_and_swap_12): Likewise.
17916 * config/arm/arm.c (arm_expand_compare_and_swap,
17917 arm_split_compare_and_swap, arm_split_atomic_op): Likewise.
17918 * config/arm/sync.md (atomic_load<mode>, atomic_store<mode>,
17919 atomic_loaddi): Likewise.
17920 * config/i386/i386.c (ix86_destroy_cost_data, ix86_memmodel_check):
17921 Likewise.
17922 * config/i386/sync.md (mem_thread_fence, atomic_store<mode>): Likewise.
17923 * config/ia64/ia64.c (ia64_expand_atomic_op): Add new memmodel cases and
17924 use new accessors.
17925 * config/ia64/sync.md (mem_thread_fence, atomic_load<mode>,
17926 atomic_store<mode>, atomic_compare_and_swap<mode>,
17927 atomic_exchange<mode>): Use new accessors.
17928 * config/mips/mips.c (mips_process_sync_loop): Likewise.
17929 * config/pa/pa.md (atomic_loaddi, atomic_storedi): Likewise.
17930 * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier,
17931 rs6000_post_atomic_barrier): Add new cases.
17932 (rs6000_expand_atomic_compare_and_swap): Use new accessors.
17933 * config/rs6000/sync.md (mem_thread_fence): Add new cases.
17934 (atomic_load<mode>): Add new cases and use new accessors.
17935 (store_quadpti): Add new cases.
17936 * config/s390/s390.md (mem_thread_fence, atomic_store<mode>): Use new
17937 accessors.
17938 * config/sparc/sparc.c (sparc_emit_membar_for_model): Use new accessors.
17939 * doc/extend.texi: Update docs to indicate 16 bits are used for memory
17940 model, not 8.
17941
17942 2015-05-12 Jan Hubicka <hubicka@ucw.cz>
17943
17944 * ipa-devirt.c (type_with_linkage_p): New function.
17945 (type_in_anonymous_namespace_p): Move here from tree.c; assert that
17946 type has linkage.
17947 (odr_type_p): Move here from ipa-utils.h; use type_with_linkage_p.
17948 (can_be_name_hashed_p): Simplify.
17949 (hash_odr_name): Check that type has linkage before checking if it is
17950 anonymous.
17951 (types_same_for_odr): Likewise.
17952 (odr_name_hasher::equal): Likewise.
17953 (odr_subtypes_equivalent_p): Likewise.
17954 (warn_types_mismatch): Likewise.
17955 (get_odr_type): Likewise.
17956 (odr_types_equivalent_p): Fix checking of TYPE_MAIN_VARIANT.
17957 * ipa-utils.h (odr_type_p): Move offline.
17958 * tree.c (need_assembler_name_p): Fix handling of types
17959 without linkages.
17960 (type_in_anonymous_namespace_p): Move to ipa-devirt.c
17961
17962 2015-05-12 David Malcolm <dmalcolm@redhat.com>
17963
17964 * timevar.c (timevar_enable): Delete in favor of...
17965 (g_timer): New global.
17966 (struct timevar_def): Move to timevar.h inside class timer.
17967 (struct timevar_stack_def): Likewise.
17968 (timevars): Delete global in favor of field "m_timevars" within
17969 class timer in timevar.h
17970 (stack): Likewise, in favor of field "m_stack".
17971 (unused_stack_instances): Likewise, in favor of field
17972 "m_unused_stack_instances".
17973 (start_time): Likewise, in favor of field "m_start_time".
17974 (get_time): Eliminate check for timevar_enable.
17975 (timer::timer): New function, built from part of timevar_init.
17976 (timevar_init): Rewrite idempotency test from using
17977 "timevar_enable" bool to using dynamic allocation of "g_timer".
17978 Move rest of implementation into timer's constructor.
17979 (timevar_push_1): Rename to...
17980 (timer::push): ...this, adding "m_" prefixes to variables that
17981 are now fields of timer.
17982 (timevar_pop_1): Likewise, rename to...
17983 (timer::pop): ...this, and add "m_" prefixes.
17984 (timevar_start): Replace test for "timevar_enable" with one for
17985 "g_timer", and move bulk of implementation to...
17986 (timer::start): ...here, adding "m_" prefixes.
17987 (timevar_stop): Likewise, from here...
17988 (timer::stop): ...to here.
17989 (timevar_cond_start): Likewise, from here...
17990 (timer::cond_start): ...to here.
17991 (timevar_cond_stop): Likewise, from here...
17992 (timer::cond_stop): ...to here.
17993 (validate_phases): Rename to...
17994 (timer::validate_phases): ...this, and add "m_" prefixes. Make
17995 locals "total" and "tv" const.
17996 (timevar_print): Rename to...
17997 (timer::print): ...this, and add "m_" prefixes. Make locals
17998 "total" and "tv" const. Eliminate test for timevar_enable.
17999 * timevar.h (timevar_enable): Eliminate.
18000 (g_timer): New declaration.
18001 (timevar_push_1): Eliminate.
18002 (timevar_pop_1): Eliminate.
18003 (timevar_print): Eliminate.
18004 (class timer): New class.
18005 (timevar_push): Rewrite to use g_timer.
18006 (timevar_pop): Likewise.
18007 * toplev.c (toplev::~toplev): Likewise.
18008
18009 2015-05-12 Richard Earnshaw <rearnsha@arm.com>
18010
18011 * arm-protos.h (arm_sched_autopref): Delete.
18012 (tune_params): Re-organize, use enums for flag values.
18013 (FUSE_OPS): New macro.
18014 * arm.c (ARM_PREFETCH_NOT_BENEFICIAL): Update.
18015 (ARM_PREFETCH_BENEFICIAL): Likewise.
18016 (ARM_FUSE_NOTHING, ARM_FUSE_MOVW_MOVT): Delete.
18017 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
18018 (arm_xscale_tune, arm_9e_tune, arm_marvell_pj4_tune)
18019 (arm_v6t2_tune, arm_cortex_tune, arm_cortex_a8_tune)
18020 (arm_cortex_a7_tune, arm_cortex_a15_tune, arm_cortex_a53_tune)
18021 (arm_cortex_a57_tune, arm_xgene1_tune, arm_cortex_a5_tune)
18022 (arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune)
18023 (arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune): Use new
18024 format.
18025 (arm_option_override, thumb2_reorg, arm_print_tune_info)
18026 (aarch_macro_fusion_pair_p): Update uses of current_tune.
18027 * arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Likewise.
18028
18029 2015-05-12 Sandra Loosemore <sandra@codesourcery.com>
18030
18031 * config/nios2/nios2.md (trap, ctrapsi4): Use "trap" instead of
18032 "break".
18033
18034 2015-05-12 Chung-Lin Tang <cltang@codesourcery.com>
18035 Sandra Loosemore <sandra@codesourcery.com>
18036
18037 * config/nios2/nios2.h (enum reg_class): Add IJMP_REGS enum
18038 value.
18039 (REG_CLASS_NAMES): Add "IJMP_REGS".
18040 (REG_CLASS_CONTENTS): Add new entry for IJMP_REGS.
18041 * config/nios2/nios2.md (indirect_jump,*tablejump): Adjust to
18042 use new "c" register constraint.
18043 * config/nios2/constraint.md (c): New register constraint
18044 corresponding to IJMP_REGS.
18045
18046 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
18047
18048 * config/rs6000/rs6000.md (*rotlsi3_internal4, *rotlsi3_internal5,
18049 *rotlsi3_internal6, rlwinm, 5 unnamed define_insns, and 6
18050 define_splits): Delete, revamp, transmogrify into ...
18051 (*rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
18052 *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
18053 *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
18054 New.
18055
18056 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
18057
18058 * config/rs6000/rs6000.md (rs6000_adjust_atomic_subword): Use
18059 gen_ashlsi3 and gen_andsi3 instead of gen_rlwinm.
18060
18061 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
18062
18063 * config/rs6000/rs6000.md (extzv): FAIL for SImode.
18064 (extzvsi_internal, *extzvsi_internal1, *extzvsi_internal2,
18065 *rotlsi3_internal7le, *rotlsi3_internal7be, *rotlsi3_internal8le,
18066 *rotlsi3_internal8be, *rotlsi3_internal9le, *rotlsi3_internal9be,
18067 *rotlsi3_internal10le, *rotlsi3_internal10be, *rotlsi3_internal11le,
18068 *rotlsi3_internal11be, *rotlsi3_internal12le, *rotlsi3_internal12be,
18069 *lshiftrt_internal1le, *lshiftrt_internal1be, *lshiftrt_internal2le,
18070 *lshiftrt_internal2be, *lshiftrt_internal3le, *lshiftrt_internal3be,
18071 *lshiftrt_internal4le, *lshiftrt_internal4be, *lshiftrt_internal5le,
18072 *lshiftrt_internal5be, *lshiftrt_internal5le, *lshiftrt_internal5be,
18073 *rotldi3_internal7le, *rotldi3_internal7be, *rotldi3_internal8le,
18074 *rotldi3_internal8be, *rotldi3_internal9le, *rotldi3_internal9be,
18075 *rotldi3_internal10le, *rotldi3_internal10be, *rotldi3_internal11le,
18076 *rotldi3_internal11be, *rotldi3_internal12le, *rotldi3_internal12be,
18077 *rotldi3_internal13le, *rotldi3_internal13be, *rotldi3_internal14le,
18078 *rotldi3_internal14be, *rotldi3_internal15le, *rotldi3_internal15be,
18079 and 30 corresponding splitters): Delete.
18080
18081 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
18082
18083 * config/rs6000/rs6000.md (define_split for bswaphi): Don't use
18084 zero_extract.
18085
18086 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
18087
18088 * combine.c (recog_for_combine_1): New function, factored out
18089 from recog_for_combine.
18090 (change_zero_ext): New function.
18091 (recog_for_combine): If recog fails, try again with the pattern
18092 modified by change_zero_ext; if that still fails, restore the
18093 pattern.
18094
18095 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
18096
18097 * combine.c (get_undo_marker): New function.
18098 (undo_to_marker): New function, largely factored out from ...
18099 (undo_all): ... this. Adjust.
18100
18101 2015-05-12 Richard Biener <rguenther@suse.de>
18102
18103 PR tree-optimization/66101
18104 * tree-ssa-dce.c (remove_dead_stmt): Properly mark loops for
18105 fixup if we turn a loop exit edge to a fallthru edge.
18106
18107 2015-05-12 Richard Biener <rguenther@suse.de>
18108
18109 PR tree-optimization/37021
18110 * tree-vectorizer.h (struct _slp_tree): Add two_operators flag.
18111 (SLP_TREE_TWO_OPERATORS): New define.
18112 * tree-vect-slp.c (vect_create_new_slp_node): Initialize
18113 SLP_TREE_TWO_OPERATORS.
18114 (vect_build_slp_tree_1): Allow two mixing plus/minus in an
18115 SLP node.
18116 (vect_build_slp_tree): Adjust.
18117 (vect_analyze_slp_cost_1): Likewise.
18118 (vect_schedule_slp_instance): Vectorize mixing plus/minus by
18119 emitting two vector stmts and mixing the results.
18120
18121 2015-05-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
18122
18123 * call.c (print_z_candidates): Remove dead code.
18124
18125 2015-05-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
18126
18127 * config/s390/2827.md: Split zEC12_simple into zEC12_simple_int
18128 and zEC12_simple_fp.
18129 * config/s390/s390.c (s390_issue_rate): Set issue rate for zEC12
18130 to 1.
18131
18132 2015-05-12 Tom de Vries <tom@codesourcery.com>
18133
18134 PR tree-optimization/66010
18135 * gimplify.c (gimplify_modify_expr): Handle new do_deref argument of
18136 ifn_va_arg.
18137 * gimplify.h (gimplify_va_arg_internal): Remove loc parameter.
18138 (gimplify_va_arg_internal): Remove loc parameter. Assert no array-typed
18139 va_lists are passed, and remove corresponding handling.
18140 (gimplify_va_arg_expr): Only take address of ap if necessary. Add
18141 do_deref argument to ifn_va_arg.
18142 * tree-stdarg.c (expand_ifn_va_arg_1): Handle new do_deref argument of
18143 ifn_va_arg.
18144
18145 2015-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18146
18147 PR target/65955
18148 * config/arm/arm.md (movcond_addsi): Check that operands[2] is a
18149 REG before taking its REGNO.
18150
18151 2015-05-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
18152
18153 * combine.c i(set_nonzero_bits_and_sign_copies): Split code updating
18154 rsp->sign_bit_copies and rsp->nonzero_bits into ...
18155 (update_rsp_from_reg_equal): This. Also use REG_EQUAL note on src if
18156 present to get more accurate information about the number of sign bit
18157 copies and non zero bits.
18158
18159 2015-05-12 Richard Biener <rguenther@suse.de>
18160
18161 * tree-vect-slp.c (vect_build_slp_tree_1): For BB vectorization
18162 do not allow unrolling.
18163
18164 2015-05-11 Richard Henderson <rth@redhat.com>
18165
18166 * config/i386/i386-modes.def (CCP): New.
18167 * config/i386/i386.c (put_condition_code): Handle it.
18168 (ix86_match_ccmode, ix86_cc_modes_compatible): Likewise.
18169
18170 2015-05-11 Richard Henderson <rth@redhat.com>
18171
18172 * target.def (md_asm_clobbers): Replace with...
18173 (md_asm_adjust): this.
18174 * tm.texi.in (TARGET_MD_ASM_CLOBBERS): Remove.
18175 (TARGET_MD_ASM_ADJUST): New.
18176 * tm.texi: Rebuild.
18177 * hooks.c (hook_tree_tree_tree_tree_3rd_identity): Remove.
18178 * hooks.h (hook_tree_tree_tree_tree_3rd_identity): Remove.
18179 * system.h (TARGET_MD_ASM_CLOBBERS): Poison.
18180
18181 * cfgexpand.c (check_operand_nalternatives): Accept vector of
18182 constraints instead of lists of outputs and inputs.
18183 (expand_asm_stmt): Save and restore input_location around the
18184 body of the function. Move asm data into vectors instead of
18185 building tree lists. Generate cleanup sequences as needed,
18186 rather than waiting til the end. Use new md_asm_adjust hook.
18187
18188 * config/vxworks.c: Include vec.h before target.h.
18189 * gimple.c: Likewise.
18190 * incpath.c: Likewise.
18191 * mode-switching.c: Likewise.
18192
18193 * config/cris/cris.c (cris_md_asm_clobbers): Convert to...
18194 (cris_md_asm_adjust): this.
18195 (TARGET_MD_ASM_CLOBBERS): Remove.
18196 (TARGET_MD_ASM_ADJUST): New.
18197 * config/i386/i386.c (ix86_md_asm_clobbers): Convert to...
18198 (ix86_md_asm_adjust): this.
18199 (TARGET_MD_ASM_CLOBBERS): Remove.
18200 (TARGET_MD_ASM_ADJUST): New.
18201 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): Convert to...
18202 (mn10300_md_asm_adjust): this.
18203 (TARGET_MD_ASM_CLOBBERS): Remove.
18204 (TARGET_MD_ASM_ADJUST): New.
18205 * config/rs6000/rs6000.c (rs6000_md_asm_clobbers): Convert to...
18206 (rs6000_md_asm_adjust): this.
18207 (TARGET_MD_ASM_CLOBBERS): Remove.
18208 (TARGET_MD_ASM_ADJUST): New.
18209 * config/visium/visium.c (visium_md_asm_clobbers): Convert to...
18210 (visium_md_asm_adjust): this.
18211 (TARGET_MD_ASM_CLOBBERS): Remove.
18212 (TARGET_MD_ASM_ADJUST): New.
18213
18214 2015-05-11 Richard Henderson <rth@redhat.com>
18215
18216 * gimplify.c (gimplify_asm_expr): Set gimple_asm_volatile_p
18217 if noutputs is zero.
18218 * cfgexpand.c (expand_asm_stmt): Use gimple_asm_volatile_p unchanged.
18219
18220 * cfgexpand.c (expand_asm_operands): Merge into...
18221 (expand_asm_stmt): ... here.
18222
18223 * cfgexpand.c (expand_asm_operands): Don't call
18224 resolve_asm_operand_names.
18225 * stmt.c (resolve_asm_operand_names): Clarify block comment.
18226
18227 2015-05-11 Jan Hubicka <hubicka@ucw.cz>
18228
18229 * dwarf2out.c (gen_member_die): Sanity check that we access
18230 TYPE_MAIN_VARIANT for TYPE_METHODS.
18231 * function.c (use_register_for_decl): Look for TYPE_MAIN_VARIANT when
18232 checking TYPE_METHODS.
18233 * tree.c (free_lang_data_in_type): See TYPE_METHODS to error_mark_node
18234 if non-null.
18235 (build_distinct_type_copy): Clear TYPE_METHODS.
18236 (verify_type_variant): Verify that TYPE_METHODS is NULL for variants.
18237 (verify_type): Allow TYPE_METHODS to be error_mark_node.
18238 * tree.def: Update docs of TYPE_STUB_DECL and TYPE_METHODS.
18239
18240 2015-05-11 Eric Botcazou <ebotcazou@adacore.com>
18241
18242 * emit-rtl.c (emit_pattern_after_setloc): Add missing guard.
18243 (emit_pattern_before_setloc): Likewise.
18244
18245 2015-05-11 Richard Sandiford <richard.sandiford@arm.com>
18246
18247 * genrecog.c (match_pattern_1): Expect the pattern to be a SEQUENCE
18248 for define_peephole2s.
18249 (get_peephole2_pattern): New function.
18250 (main): Use it. Call validate_pattern.
18251
18252 2015-05-11 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
18253
18254 * config/avr/avr.c (avr_hard_regno_call_part_clobbered): Use
18255 LAST_CALLEE_SAVED_REG instead of hard-coded register number.
18256 (Last callee saved reg is different for AVR_TINY architecture)
18257
18258 2015-05-11 Uros Bizjak <ubizjak@gmail.com>
18259
18260 * config/i386/i386.c (ix86_loop_unroll_adjust): Use PATTERN (insn)
18261 when looking for memory references.
18262
18263 2015-05-11 Alexander Monakov <amonakov@ispras.ru>
18264
18265 PR target/65753
18266 * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow PIC sibcalls
18267 via function pointers.
18268
18269 2015-05-11 Alexander Monakov <amonakov@ispras.ru>
18270
18271 * calls.c (prepare_call_address): Transform PLT call to GOT lookup and
18272 indirect call by forcing address into a pseudo with -fno-plt.
18273 * common.opt (flag_plt): New option.
18274 * doc/invoke.texi (Code Generation Options): Add -fno-plt.
18275 ([-fno-plt]): Document.
18276
18277 2015-05-11 Markus Trippelsdorf <markus@trippelsdorf.de>
18278
18279 PR bootstrap/66105
18280 * config/rs6000/option-defaults.h: Add space between string literal
18281 and macro name.
18282
18283 2015-05-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
18284
18285 * gcc.target/arm/pr64616.c: Test dump rather than assembly to work
18286 accross ARM targets.
18287
18288 2015-05-11 Christian Bruel <christian.bruel@st.com>
18289
18290 * config/arm/arm-protos.h (thumb_code, thumb1_code): Remove.
18291 * config/arm/vxworks.h (thumb_code): Replace with TARGET_THUMB.
18292
18293 2015-05-11 Richard Sandiford <richard.sandiford@arm.com>
18294
18295 PR rtl-optimization/66076
18296 * rtlanal.c (generic_subrtx_iterator <T>::add_single_to_queue):
18297 Don't grow the heap array if it is already big enough from a
18298 previous iteration.
18299
18300 2015-05-11 Christian Bruel <christian.bruel@st.com>
18301
18302 * config/arm/arm-protos.h (arm_declare_function_name): Declare.
18303 (is_called_in_ARM_mode): Remove.
18304 * config/arm/arm.c (is_called_in_ARM_mode): Declare static bool.
18305 (arm_declare_function_name): Moved from from ARM_DECLARE_FUNCTION_NAME.
18306 * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Call
18307 arm_declare_function_name.
18308
18309 2015-05-11 Christian Bruel <christian.bruel@st.com>
18310
18311 * config/arm/arm.c (arm_option_override): Reoganized and split into :
18312 (arm_option_params_internal); New function.
18313 (arm_option_check_internal): New function.
18314 (arm_option_override_internal): New function.
18315 (thumb_code, thumb1_code): Remove.
18316 * config/arm/arm.h (TREE_TARGET_THUMB, TREE_TARGET_THUMB1): New macros.
18317 (TREE_TARGET_THUM2, TREE_TARGET_ARM): Likewise.
18318 (thumb_code, thumb1_code): Remove.
18319 * config/arm/arm.md (is_thumb, is_thumb1): Check TARGET flag.
18320
18321 2015-05-11 Uros Bizjak <ubizjak@gmail.com>
18322
18323 * config/alpha/alpha.c (alpha_emit_set_const_1)
18324 (alpha_emit_set_long_const, alpha_extract_integer)
18325 (alpha_legitimate_constant_p, alpha_split_const_mov)
18326 (alpha_expand_block_clear, alpha_expand_zap_mask, print_operand):
18327 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
18328 (alpha_emit_set_const_1): Change "(HOST_WIDE_INT) 1" to
18329 HOST_WIDE_INT_1U.
18330 * config/alpha/predicates.md (mode_mask_operand): Do not match
18331 const_double RTX.
18332 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
18333 * config/alpha/alpha.md (abstf, *abstf_internal, UNSPEC_ZAP splitter):
18334 Change "(HOST_WIDE_INT) 1" to HOST_WIDE_INT_1U.
18335 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
18336 (*negtf_internal): Use gen_int_mode instead of immed_double_const.
18337
18338 2015-05-11 Jakub Jelinek <jakub@redhat.com>
18339
18340 PR target/65780
18341 * config/s390/linux.h (TARGET_BINDS_LOCAL_P): Define to
18342 default_binds_local_p_2.
18343 * config/arm/linux-elf.h (TARGET_BINDS_LOCAL_P): Likewise.
18344 * config/aarch64/aarch64-linux.h (TARGET_BINDS_LOCAL_P): Likewise.
18345
18346 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
18347
18348 * tree.c (verify_type_variant): Check TYPE_VALUES_RAW and TYPE_PRECISION
18349
18350 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
18351
18352 Patch by Richard Biener
18353 * coverage.c (coverage_obj_init): Delay building of type variant
18354 until the type is finished.
18355
18356 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
18357
18358 * ipa-devirt.c (warn_types_mismatch): Do not ICE when warning about
18359 mismatch between C and C++ type; compoare correctly ARG_TYPES
18360 for non-prototypes and output correctly parameter index for METHOD_TYPE.
18361 (odr_types_equivalent_p): Fix wording of warning about attributes;
18362 it is OK to match prototype and non-prototype.
18363
18364 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
18365
18366 * tree.c (free_lang_data_in_type): Free TREE_PURPOSE of
18367 TYPE_ARG_TYPES list.
18368 (verify_type): Permit non-NULL TREE_PURPOSE in non-LTO builds.
18369 * tree.def (FUNCTION_TYPE): Document TREE_PURPOSE in TYPE_ARG_TYPES
18370
18371 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
18372
18373 * tree.c (verify_type): Verify TYPE_BINFO and TYPE_VALUES_RAW.
18374 * tree.h (is_lang_specific): Constify.
18375
18376 2015-05-09 Marc Glisse <marc.glisse@inria.fr>
18377
18378 PR tree-optimization/64454
18379 * tree-vrp.c (extract_range_from_binary_expr_1) <TRUNC_MOD_EXPR>:
18380 Rewrite.
18381
18382 2015-05-08 Jason Merrill <jason@redhat.com>
18383
18384 * bitmap.c, c/c-aux-info.c, cfg.c, cfghooks.c, cgraph.c,
18385 config/aarch64/aarch64.md config/alpha/vms.h, config/darwin.c,
18386 config/darwin.h, config/darwin9.h, config/elfos.h,
18387 config/i386/bsd.h, config/ia64/ia64.c, config/lm32/lm32.h,
18388 config/microblaze/microblaze.h, config/mips/mips.h,
18389 config/mmix/mmix.c, config/msp430/msp430.c, config/nios2/nios2.h,
18390 config/nvptx/nvptx.c, config/nvptx/nvptx.h, config/pa/pa.c,
18391 config/pa/pa.h, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
18392 config/rs6000/xcoff.h, config/rx/rx.h, config/s390/s390.h,
18393 config/sparc/sol2.h, config/sparc/sparc.h, config/visium/visium.h,
18394 cppbuiltin.c, defaults.h, doc/invoke.texi, dwarf2cfi.c,
18395 dwarf2out.c, final.c, gcc.c, gcov-dump.c, gcov.c, ipa-cp.c,
18396 ipa-inline.c, ipa-polymorphic-call.c, ipa-profile.c, ipa-prop.c,
18397 ira-color.c, ira.c, loop-doloop.c, loop-iv.c, mcf.c,
18398 modulo-sched.c, predict.c, profile.c, stor-layout.c, toplev.c,
18399 tree-ssa-reassoc.c, value-prof.c, wide-int-print.cc: Add space
18400 between string literal and macro name.
18401
18402 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18403
18404 * jump.c: Change argument types to rtx_insn *.
18405 * rtl.h: Adjust.
18406
18407 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18408
18409 * lra-constraints.c: Change argument type to rtx_insn *.
18410
18411 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18412
18413 * df-problems.c: Change argument type to rtx_insn *.
18414
18415 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18416
18417 * combine.c: Change argument type to rtx_insn *.
18418
18419 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18420
18421 * rtl.h: Adjust.
18422 * rtlanal.c: Change argument type to rtx_insn *.
18423
18424 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18425
18426 * sched-deps.c: Change argument types to rtx_insn *.
18427 * sched-int.h: Adjust.
18428
18429 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18430
18431 * dwarf2cfi.c: Change argument type to rtx_insn *.
18432
18433 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18434
18435 * ira.c (decrease_live_ranges_number): Changetype of local
18436 variable to rtx_insn *.
18437 * recog.c: Change argument types to rtx_insn *.
18438 * recog.h: Adjust.
18439
18440 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18441
18442 * reorg.c: Change argument types to rtx_insn *.
18443
18444 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18445
18446 * ira-color.c: Change argument types to rtx_insn *.
18447 * lra-eliminations.c: Likewise.
18448 * ira.h: Adjust.
18449
18450 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18451
18452 * gcse.c: Change argument types to rtx_insn *.
18453
18454 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18455
18456 * cse.c (cse_change_cc0_mode): Change argument type to rtx_insn *.
18457
18458 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18459
18460 * emit-rtl.c (emit_debug_insn_before): Change argument type to
18461 rtx_insn *.
18462 * rtl.h: Adjust.
18463
18464 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18465
18466 * emit-rtl.c (emit_note_before): Change argument type to rtx_insn *.
18467 * rtl.h: Adjust.
18468
18469 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18470
18471 * emit-rtl.c (emit_note_after): Change argument type to rtx_insn *.
18472 * rtl.h: Adjust.
18473
18474 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18475
18476 * emit-rtl.c (prev_cc0_setter): Change argument type to rtx_insn *.
18477 * rtl.h: Adjust.
18478
18479 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18480
18481 * rtlanal.c (noop_move_p): Change argument type to rtx_insn *.
18482 * rtl.h: Adjust.
18483
18484 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18485
18486 * rtlanal.c (add_shallow_copy_of_reg_note): Change argument type
18487 to rtx_insn *.
18488 * rtl.h: Adjust.
18489
18490 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18491
18492 * rtlanal.c (remove_reg_equal_equiv_notes): Change argument type
18493 to rtx_insn *.
18494 * rtl.h: Likewise.
18495
18496 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18497
18498 * except.c (can_nonlocal_goto): Change type of argument to
18499 rtx_insn *.
18500 * rtl.h: Adjust.
18501
18502 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18503
18504 * rtlanal.c (computed_jump_p): Cange argument type to rtx_insn *.
18505 * rtl.h: Adjust.
18506
18507 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18508
18509 * rtlanal.c (in_insn_list_p): Renamed from in_expr_list_p.
18510 * cfgrtl.c (can_delete_label_p): Adjust.
18511 * rtl.h: likewise.
18512
18513 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18514
18515 * reorg.c (stop_search_p): Change argument to rtx_insn *.
18516
18517 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18518
18519 * except.c (make_reg_eh_region_note): Change argument to
18520 rtx_insn *.
18521 (make_reg_eh_region_note_nothrow_nononlocal): Likewise.
18522 * except.h: Adjust.
18523
18524 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18525
18526 * mode-switching.c (commit_mode_sets): Change type of local
18527 variable from rtx to rtx_insn *.
18528
18529 2015-05-08 Jim Wilson <jim.wilson@linaro.org>
18530
18531 * doc/install.texi (--enable-languages): Add missing jit and lto info.
18532 Add ^ to grep command.
18533 * doc/match-and-simplify.texi (GIMPLE API): Add missing fourth tree
18534 arg to last gimple_simplify declaration. Add missing gimple_build
18535 declaration for built-in function case with four tree args.
18536
18537 2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
18538 Szabolcs Nagy <szabolcs.nagy@arm.com>
18539
18540 * config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Define.
18541 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Define.
18542 (GNU_USER_DYNAMIC_LINKERN32): Update.
18543
18544 2015-05-08 Richard Biener <rguenther@suse.de>
18545
18546 PR tree-optimization/66036
18547 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
18548 Handle strided group loads.
18549 (vect_verify_datarefs_alignment): Likewise.
18550 (vect_enhance_data_refs_alignment): Likewise.
18551 (vect_analyze_group_access): Likewise.
18552 (vect_analyze_data_ref_access): Likewise.
18553 (vect_analyze_data_ref_accesses): Likewise.
18554 * tree-vect-stmts.c (vect_model_load_cost): Likewise.
18555 (vectorizable_load): Likewise.
18556
18557 2015-05-08 Segher Boessenkool <segher@kernel.crashing.org>
18558
18559 * config/rs6000/rs6000.md: Require operand inequality in one
18560 of the peepholes.
18561
18562 2015-05-08 Richard Sandiford <richard.sandiford@arm.com>
18563 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
18564
18565 * config/i386/i386.md (<mode>_ldx, *<mode>_ldx): Remove mode
18566 from (set ...).
18567 * config/rx/rx.md (movdi, movdf): Likewise.
18568 Likewise for define_peephole2s.
18569
18570 2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
18571
18572 * config/aarch64/arm_neon.h (vceq_s64, vceq_u64, vceqz_s64, vceqz_u64,
18573 vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64, vcgtz_s64, vcle_s64,
18574 vcle_u64, vclez_s64, vclt_s64, vclt_u64, vcltz_s64, vtst_s64,
18575 vtst_u64): Rewrite using gcc vector extensions.
18576
18577 2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
18578
18579 * config/aarch64/aarch64-simd.md (aarch64_vcond_internal<mode><mode>,
18580 vcond<mode><mode>, vcondu<mode><mode>): Add DImode variant.
18581
18582 2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
18583
18584 * optabs.c (vector_compare_rtx): Handle RTL operands having VOIDmode.
18585
18586 2015-05-08 Szabolcs Nagy <szabolcs.nagy@arm.com>
18587
18588 * config/glibc-stdint.h (OPTION_MUSL): Define.
18589 (INT_FAST16_TYPE, INT_FAST32_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE):
18590 Change the definition based on OPTION_MUSL for 64 bit targets.
18591 * config/linux.h (OPTION_MUSL): Redefine.
18592 * config/alpha/linux.h (OPTION_MUSL): Redefine.
18593 * config/rs6000/linux.h (OPTION_MUSL): Redefine.
18594 * config/rs6000/linux64.h (OPTION_MUSL): Redefine.
18595
18596 2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
18597 Szabolcs Nagy <szabolcs.nagy@arm.com>
18598
18599 * config.gcc (LIBC_MUSL): New tm_defines macro.
18600 * config/linux.h (OPTION_MUSL): Define.
18601 (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER32,)
18602 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32,)
18603 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
18604 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
18605 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
18606 * config/linux.opt (mmusl): New option.
18607 * doc/invoke.texi (GNU/Linux Options): Document -mmusl.
18608 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
18609 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
18610 * configure: Regenerate.
18611
18612 2015-05-08 H.J. Lu <hongjiu.lu@intel.com>
18613 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
18614
18615 PR target/48904
18616 * config.gcc (x86_64-*-knetbsd*-gnu): Add i386/knetbsd-gnu64.h.
18617 * config/i386/knetbsd-gnu64.h: New file.
18618
18619 2015-05-08 Marek Polacek <polacek@redhat.com>
18620
18621 PR c/64918
18622 * doc/invoke.texi: Document -Woverride-init-side-effects.
18623
18624 2015-05-07 Marek Polacek <polacek@redhat.com>
18625
18626 PR c/65179
18627 * doc/invoke.texi: Document -Wshift-negative-value.
18628
18629 2015-05-06 Aditya Kumar <hiraditya@msn.com>
18630
18631 * gcov-tool.c (do_merge): Refactore to remove int ret.
18632 * ipa-icf.c (sem_item::hash_referenced_symbol_properties): Change
18633 !type == FUNC to type != FUNC.
18634 * reload.h (struct target_reload): Changee to type of
18635 x_spill_indirect_levels from bool to unsigned char.
18636
18637 2015-05-07 Richard Sandiford <richard.sandiford@arm.com>
18638
18639 * rtl.h (always_void_p): New function.
18640 * gengenrtl.c (always_void_p): Likewise.
18641 (genmacro): Don't add a mode parameter to gen_rtx_foo if rtxes
18642 with code foo are always VOIDmode.
18643 * genemit.c (gen_exp): Update gen_rtx_foo calls accordingly.
18644 * builtins.c, caller-save.c, calls.c, cfgexpand.c, combine.c,
18645 compare-elim.c, config/aarch64/aarch64.c,
18646 config/aarch64/aarch64.md, config/alpha/alpha.c,
18647 config/alpha/alpha.md, config/arc/arc.c, config/arc/arc.md,
18648 config/arm/arm-fixed.md, config/arm/arm.c, config/arm/arm.md,
18649 config/arm/ldrdstrd.md, config/arm/thumb2.md, config/arm/vfp.md,
18650 config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
18651 config/c6x/c6x.md, config/cr16/cr16.c, config/cris/cris.c,
18652 config/cris/cris.md, config/darwin.c, config/epiphany/epiphany.c,
18653 config/epiphany/epiphany.md, config/fr30/fr30.c, config/frv/frv.c,
18654 config/frv/frv.md, config/h8300/h8300.c, config/i386/i386.c,
18655 config/i386/i386.md, config/i386/sse.md, config/ia64/ia64.c,
18656 config/ia64/vect.md, config/iq2000/iq2000.c,
18657 config/iq2000/iq2000.md, config/lm32/lm32.c, config/lm32/lm32.md,
18658 config/m32c/m32c.c, config/m32r/m32r.c, config/m68k/m68k.c,
18659 config/m68k/m68k.md, config/mcore/mcore.c, config/mcore/mcore.md,
18660 config/mep/mep.c, config/microblaze/microblaze.c,
18661 config/mips/mips.c, config/mips/mips.md, config/mmix/mmix.c,
18662 config/mn10300/mn10300.c, config/msp430/msp430.c,
18663 config/nds32/nds32-memory-manipulation.c, config/nds32/nds32.c,
18664 config/nds32/nds32.md, config/nios2/nios2.c, config/nvptx/nvptx.c,
18665 config/pa/pa.c, config/pa/pa.md, config/rl78/rl78.c,
18666 config/rs6000/altivec.md, config/rs6000/rs6000.c,
18667 config/rs6000/rs6000.md, config/rs6000/vector.md,
18668 config/rs6000/vsx.md, config/rx/rx.c, config/rx/rx.md,
18669 config/s390/s390.c, config/s390/s390.md, config/sh/sh.c,
18670 config/sh/sh.md, config/sh/sh_treg_combine.cc,
18671 config/sparc/sparc.c, config/sparc/sparc.md, config/spu/spu.c,
18672 config/spu/spu.md, config/stormy16/stormy16.c,
18673 config/tilegx/tilegx.c, config/tilegx/tilegx.md,
18674 config/tilepro/tilepro.c, config/tilepro/tilepro.md,
18675 config/v850/v850.c, config/v850/v850.md, config/vax/vax.c,
18676 config/visium/visium.c, config/xtensa/xtensa.c, cprop.c, dse.c,
18677 expr.c, gcse.c, ifcvt.c, ira.c, jump.c, lower-subreg.c,
18678 lra-constraints.c, lra-eliminations.c, lra.c, postreload.c, ree.c,
18679 reg-stack.c, reload.c, reload1.c, reorg.c, sel-sched.c,
18680 var-tracking.c: Update calls accordingly.
18681
18682 2015-05-07 Segher Boessenkool <segher@kernel.crashing.org>
18683
18684 PR middle-end/192
18685 PR middle-end/54303
18686 * varasm.c (function_mergeable_rodata_prefix): New function.
18687 (mergeable_string_section): Use it.
18688 (mergeable_constant_section): Use it.
18689
18690 2015-05-07 Jeff Law <law@redhat.com>
18691
18692 PR target/39726
18693 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
18694 simplifier to narrow arithmetic.
18695 * generic-match-head.c: (types_match, single_use): New functions.
18696 * gimple-match-head.c: (types_match, single_use): New functions.
18697
18698 2015-05-07 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
18699
18700 * combine.c (make_compound_operation): Remove checks for PLUS/MINUS
18701 rtx type.
18702
18703 2015-05-07 Richard Biener <rguenther@suse.de>
18704
18705 PR tree-optimization/66002
18706 * passes.def: Schedule another pass_merge_phi after ifcombine, right
18707 before phiopt.
18708
18709 2015-05-07 Marek Polacek <polacek@redhat.com>
18710 Martin Uecker <uecker@eecs.berkeley.edu>
18711
18712 * doc/invoke.texi: Document -fsanitize=bounds-strict.
18713 * flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS_STRICT, or it
18714 into SANITIZE_NONDEFAULT.
18715 * opts.c (common_handle_option): Handle -fsanitize=bounds-strict.
18716
18717 2015-05-07 Uros Bizjak <ubizjak@gmail.com>
18718
18719 PR target/66015
18720 * config/alpha/alpha.c (alpha_override_options_after_change): New.
18721 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New.
18722 (alpha_override_options): Move align_loops, align_jumps and
18723 align_functions handling into alpha_override_options_after_change.
18724
18725 2015-05-06 Sandra Loosemore <sandra@codesourcery.com>
18726 Chris Jones <chrisj@nvidia.com>
18727 Joshua Conner <jconner@nvidia.com>
18728
18729 * config/arm/unknown-elf.h (STARTFILE_SPEC): Add conditional
18730 linking of crtfastmath.o.
18731 * config/arm/linux-eabi.h (STARTFILE_SPEC): Likewise.
18732
18733 2015-05-06 Segher Boessenkool <segher@kernel.crashing.org>
18734
18735 * config/rs6000/rs6000.md (cstore<mode>4_signed_imm): New expander.
18736 (cstore<mode>4_unsigned_imm): New expander.
18737 (cstore<mode>4): Remove empty constraint strings. Use the new
18738 expanders.
18739
18740 2015-05-06 Yvan Roux <yvan.roux@linaro.org>
18741
18742 PR target/64208
18743 * config/arm/iwmmxt.md ("*iwmmxt_arm_movdi"): Cleanup redundant
18744 alternatives.
18745
18746 2015-05-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
18747
18748 * config/aarch64/geniterators.sh: Use standard BRE in sed.
18749
18750 2015-05-06 Alan Modra <amodra@gmail.com>
18751
18752 PR target/66033
18753 * config/rs6000/rs6000.md (nop): Use an unspec pattern.
18754 (UNSPEC_NOP): Define.
18755 (reload_vsx_from_gpr<mode>): Add missing DONE.
18756 (reload_gpr_from_vsx<mode>): Likewise.
18757 * config/rs6000/vsx.md (vsx_mul_v2di): Likewise.
18758 (vsx_div_v2di, vsx_udiv_v2di): Likewise.
18759
18760 2015-05-06 Christian Bruel <christian.bruel@st.com>
18761
18762 PR target/66015
18763 * config/aarch64/aarch64.c (aarch64_override_options): Move align_loops,
18764 align_jumps, align_functions into aarch64_override_options_after_change.
18765
18766 2015-05-06 Richard Biener <rguenther@suse.de>
18767
18768 * tree-vect-slp.c (vect_supported_load_permutation_p): Use
18769 vect_transform_slp_perm_load to check if we support a permutation
18770 for basic-block vectorization.
18771
18772 2015-05-06 Nick Clifton <nickc@redhat.com>
18773
18774 * config/rl78/rl78.c (need_to_save): Save register 22 if it is
18775 used, even if it is not being used as a frame pointer.
18776
18777 2015-05-05 Jason Merrill <jason@redhat.com>
18778
18779 * dwarf2out.c (gen_member_die): Don't emit anything for an
18780 anonymous class constructor.
18781
18782 2015-05-05 David Malcolm <dmalcolm@redhat.com>
18783
18784 * auto-profile.c (afdo_find_equiv_class): Fix indentation so
18785 that it reflects the block structure.
18786 (afdo_propagate_edge): Likewise.
18787 (afdo_calculate_branch_prob): Likewise.
18788 (afdo_annotate_cfg): Likewise.
18789 * cfgcleanup.c (equal_different_set_p): Likewise.
18790 (try_crossjump_to_edge): Likewise.
18791 * cgraph.c (cgraph_node::verify_node): Likewise.
18792 * cgraphunit.c (expand_all_functions): Likewise.
18793 * config/i386/i386.c (ix86_expand_copysign): Likewise.
18794 (exact_dependency_1): Likewise.
18795 * dwarf2asm.c (dw2_output_indirect_constants): Likewise.
18796 * dwarf2out.c (tree_add_const_value_attribute_for_decl): Likewise.
18797 * gensupport.c (process_define_subst): Likewise.
18798 * lto-wrapper.c (merge_and_complain): Likewise.
18799 * tree-if-conv.c (if_convertible_bb_p): Likewise.
18800 * tree-ssa-loop-prefetch.c (find_or_create_group): Likewise.
18801 * tree-ssa-tail-merge.c (gsi_advance_fw_nondebug_nonlocal): Likewise.
18802 * tree-vect-data-refs.c (vect_grouped_load_supported): Likewise.
18803 * tree-vect-loop.c (vectorizable_reduction): Likewise.
18804 * tree-vect-slp.c (vect_transform_slp_perm_load): Likewise.
18805 * tree-vect-stmts.c (vectorizable_shift): Likewise.
18806 * tree-vrp.c (vrp_finalize): Likewise.
18807 * tree.c (variably_modified_type_p): Likewise.
18808
18809 2015-05-05 Jack Howarth <howarth.at.gcc@gmail.com>
18810
18811 * config.gcc: Use darwin9.h, darwin10.h and darwin12.h
18812 on darwin12 and later.
18813 * config/darwin12.h (LINK_GCC_C_SEQUENCE_SPEC): Add
18814 file to pass -rdynamic on darwin12 and later.
18815 * config/darwin.opt (rdynamic): Add.
18816
18817 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
18818
18819 * doc/extend.texi (C Extensions): Update menu for moved Variable
18820 Attributes and Type Attributes sections.
18821
18822 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
18823
18824 PR target/65990
18825 * config/i386/i386.c (ix86_parse_stringop_strategy_string): Error out
18826 if rep_8byte stringop strategy was specified for 32-bit target.
18827
18828 2015-05-05 Ilya Tocar <ilya.tocar@intel.com>
18829
18830 PR target/65915
18831 * config/i386/i386.md (vector convert to float spltiter): Check for
18832 xmm16+, when splitting scalar float conversion.
18833 * config/i386/sse.md (sse2_cvtsi2sd): Support EVEX version.
18834
18835 2015-05-05 Nick Clifton <nickc@redhat.com>
18836
18837 * config/msp430/msp430-opts.h (enum msp430_regions): New.
18838 * config/msp430/msp430.c (msp430_override_options): Complain if
18839 -mcode-region or -mdata-region is used on a non MSP430X.
18840 (msp430_section_attr): New function. Checks lower, upper and
18841 either attributes.
18842 (msp430_attribute_table): Add lower, upper and either.
18843 (gen_prefix): New function. Generates a prefix for a section
18844 name.
18845 (msp430_select_section): New function - handles the choice of
18846 section for an object. Takes into account memory region
18847 attributes and options.
18848 (msp430_function_section): Use gen_prefix.
18849 (TARGET_SECTION_TYPE_FLAGS): Define.
18850 (msp430_section_type_flags): New function.
18851 (TARGET_ASM_UNIQUE_SECTION): Define.
18852 (msp430_unique_section): New function.
18853 (msp430_output_aligned_decl_common): New function.
18854 (msp430_do_not_relax_short_jumps): New function.
18855 * config/msp430/msp430.h (USE_SELECT_SECTION_FOR_FUNCTIONS):
18856 Define.
18857 (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
18858 * config/msp430/msp430-protos.h
18859 (msp430_do_not_relax_short_jumps): New prototype.
18860 (msp430_output_aligned_decl_common): New prototype.
18861 * config/msp430/msp430.md (length): New attribute.
18862 (cbranchhi4_real): If msp430_do_not_relax_short_jumps is true
18863 then use a long code sequence for short jumps.
18864 * config/msp430/msp430.opt (mcode-region): New.
18865 (mdata-region): New.
18866 * doc/invoke.texi: Document new options.
18867 * doc/extend.texi: Document new attributes.
18868
18869 2015-05-05 Matthew Wahab <matthew.wahab@arm.com>
18870
18871 * gcc/config/aarch64-protos.h (struct cpu_branch_cost): New.
18872 (tune_params): Add field branch_costs.
18873 (aarch64_branch_cost): Declare.
18874 * gcc/config/aarch64.c (generic_branch_cost): New.
18875 (generic_tunings): Set field cpu_branch_cost to generic_branch_cost.
18876 (cortexa53_tunings): Likewise.
18877 (cortexa57_tunings): Likewise.
18878 (thunderx_tunings): Likewise.
18879 (xgene1_tunings): Likewise.
18880 (aarch64_branch_cost): Define.
18881 * gcc/config/aarch64/aarch64.h (BRANCH_COST): Redefine.
18882
18883 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
18884
18885 * config/i386/i386.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1
18886 and HOST_WIDE_INT_1U instead of (unsigned HOST_WIDE_INT) 1.
18887 * config/i386/i386.md: Ditto.
18888 * config/i386/winnt.c: Ditto.
18889
18890 2015-05-05 Matthew Wahab <matthew.wahab@arm.com>
18891
18892 * doc/extend.texi (__atomic Builtins): Move implementation details
18893 to the end of the description, rewrite opening paragraphs, state
18894 difference with __sync builtins, state C11/C++11 assumptions,
18895 weaken itemized descriptions, add explanation of memory model
18896 behaviour, expand description of compare-exchange, simplify text.
18897
18898 2015-05-05 Renlin Li <renlin.li@arm.com>
18899
18900 * config/aarch64/aarch64.md (add<mode>3): Use mov when allowed.
18901
18902 2015-05-05 Yvan Roux <yvan.roux@linaro.org>
18903
18904 * config/aarch64/aarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define.
18905 (LINK_SPEC): Include CA53_ERR_843419_SPEC.
18906 * config/aarch64/aarch64-linux.h (CA53_ERR_843419_SPEC): Define.
18907 (LINK_SPEC): Include CA53_ERR_843419_SPEC.
18908 * config/aarch64/aarch64.opt (mfix-cortex-a53-843419): New option.
18909 * configure: Regenerate.
18910 * configure.ac: Add --enable-fix-cortex-a53-843419 option.
18911 * doc/install.texi (aarch64*-*-*): Document new
18912 --enable-fix-cortex-a53-843419 option.
18913 * doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-843419
18914 and -mno-fix-cortex-a53-843419 options.
18915
18916 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
18917
18918 PR target/65871
18919 * config/i386/i386.md (*bmi_andn_<mode>_ccno): New pattern.
18920
18921 2015-05-04 Jan Hubicka <hubicka@ucw.cz>
18922
18923 * tree.c (verify_type): Check various uses of TYPE_MAXVAL;
18924 fix overactive TYPE_MIN_VALUE check and add FIXME for type
18925 compatibility problems.
18926
18927 2015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
18928
18929 * config/microblaze/microblaze.md (cbranchsi4): Added immediate
18930 constraints.
18931 (cbranchsi4_reg): New.
18932 * config/microblaze/microblaze.c
18933 (microblaze_expand_conditional_branch_reg): New.
18934 * config/microblaze/microblaze-protos.h
18935 (microblaze_expand_conditional_branch_reg): New prototype.
18936
18937 2015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
18938
18939 * config/microblaze/microblaze.md (peephole2): New.
18940
18941 2015-05-04 Jeff Law <law@redhat.com>
18942
18943 Revert:
18944 2015-05-04 Jeff Law <law@redhat.com>
18945
18946 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
18947 simplifier to narrow arithmetic.
18948 * generic-match-head.c: (types_match, single_use): New functions.
18949 * gimple-match-head.c: (types_match, single_use): New functions.
18950
18951 2015-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
18952
18953 PR target/65987
18954 * config/sh/sh.c (output_far_jump): Take into account crossing jumps.
18955 (split_branches): Likewise.
18956
18957 2015-05-04 Sandra Loosemore <sandra@codesourcery.com>
18958
18959 * common.opt (fdelete-null-pointer-checks): Init to -1.
18960 * config/nios2/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define to
18961 override flag_delete_null_pointer_checks default.
18962 * doc/invoke.texi (-fdelete-null-pointer-checks): Clarify
18963 behavior re address zero. Better document target-specific behavior.
18964 (-fisolate-errneous-paths-dereference): Mention relationship to
18965 -fdelete-null-pointer-checks.
18966
18967 2015-05-04 Jakub Jelinek <jakub@redhat.com>
18968
18969 PR tree-optimization/65984
18970 * ubsan.c: Include tree-cfg.h.
18971 (instrument_bool_enum_load): Use stmt_ends_bb_p instead of
18972 stmt_could_throw_p test, rename can_throw variable to ends_bb.
18973
18974 2015-05-04 Uros Bizjak <ubizjak@gmail.com>
18975
18976 * config/i386/i386.c: Change GET_CODE (...) == CONST_DOUBLE check
18977 to CONST_DOUBLE_P predicate.
18978 (standard_sse_constant_p): Return 0 for !TARGET_SSE.
18979 (ix86_legitimate_constant_p) <case CONST_WIDE_INT>: For 32bit targets,
18980 allow only operands that satisfy standard_sse_constant_p predicate.
18981 * config/i386/i386.md: Change GET_CODE (...) == CONST_DOUBLE check
18982 to CONST_DOUBLE_P predicate.
18983
18984 2015-05-04 Jeff Law <law@redhat.com>
18985
18986 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
18987 simplifier to narrow arithmetic.
18988 * generic-match-head.c: (types_match, single_use): New functions.
18989 * gimple-match-head.c: (types_match, single_use): New functions.
18990
18991 2015-05-04 Andreas Tobler <andreast@gcc.gnu.org>
18992
18993 * config/arm/arm.c: Restore bootstrap.
18994
18995 2015-05-04 Uros Bizjak <ubizjak@gmail.com>
18996
18997 * config/i386/i386.h (TARGET_SUPPORTS_WIDE_INT): New define.
18998 * config/i386/i386.c (ix86_legitimate_constant_p): Handle TImode
18999 as CONST_WIDE_INT, not CONST_DOUBLE.
19000 (ix86_cannot_force_const_mem): Handle CONST_WIDE_INT.
19001 (output_pic_addr_const): Do not handle VOIDmode CONST_DOUBLEs.
19002 (ix86_find_base_term): Do not check for CONST_DOUBLE.
19003 (ix86_print_operand): Do not handle non-FPmode CONST_DOUBLEs.
19004 (ix86_build_signbit_mask): Rewrite using wide ints.
19005 (ix86_split_to_parts) [HOST_BITS_PER_WIDE_INT < 64]: Remove.
19006 (ix86_rtx_costs): Handle CONST_WIDE_INT.
19007 (find_constant): Ditto.
19008 * config/i386/i386.md (bts, btr, btc peepholes): Rewrite
19009 using gen_int_mode.
19010 * config/i386/predicates.md (x86_64_immediate_operand)
19011 <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
19012 (x86_64_zext_immediate_operand): Remove CONST_DOUBLE handling.
19013 <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
19014 (const0_operand): Also match const_wide_int.
19015 (constm1_operand): Ditto.
19016 (const1_operand): Ditto.
19017
19018 2015-05-04 Richard Biener <rguenther@suse.de>
19019
19020 PR tree-optimization/65965
19021 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Split
19022 store groups at gaps.
19023
19024 2015-05-04 Richard Biener <rguenther@suse.de>
19025
19026 PR tree-optimization/65935
19027 * tree-vect-slp.c (vect_build_slp_tree): If we swapped operands
19028 then make sure to apply that swapping to the IL.
19029
19030 2015-05-04 Jakub Jelinek <jakub@redhat.com>
19031
19032 * Makefile.in (PATCHLEVEL_c): New variable.
19033 (DATESTAMP_s, REVISION_s): If PATCHLEVEL_c is not 0,
19034 expand the same way as if DEVPHASE_c was non-empty.
19035
19036 2015-05-04 Kai Tietz <ktietz@redhat.com>
19037
19038 PR target/65559
19039 * lto-wrapper.c (run_gcc): Open filename
19040 in binary-mode.
19041
19042 2015-05-03 Sandra Loosemore <sandra@codesourcery.com>
19043
19044 * doc/extend.texi (Variable Attributes, Type Attributes): Move
19045 sections up in file, to immediately after the Function Attributes
19046 section.
19047
19048 2015-05-02 Jan Hubicka <hubicka@ucw.cz>
19049
19050 * tree.c (verify_type): Check various uses of TYPE_MINVAL.
19051
19052 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
19053
19054 * tree-outof-ssa.c (emit_partition_copy): Return rtx_insn *.
19055 (insert_partition_copy_on_edge): Adjust.
19056 (insert_rtx_to_part_on_edge): Likewise.
19057 (insert_part_to_rtx_on_edge): Likewise.
19058
19059 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
19060
19061 * function.c (set_return_jump_label): Change type of argument to
19062 rtx_insn *.
19063 * function.h (set_return_jump_label): Adjust.
19064
19065 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
19066
19067 * reload.h (struct reg_equivs_t): Change type of init to
19068 rtx_insn *.
19069 * ira.c (fix_reg_equiv_init): Adjust.
19070 * reload1.c (eliminate_regs_1): Likewise.
19071 (init_eliminable_invariants): Likewise.
19072
19073 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
19074
19075 * cselib.c (fp_setter_insn): Take a rtx_insn *.
19076 * cselib.h (fp_setter_insn): Adjust.
19077
19078 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
19079
19080 * recog.c (struct validate_replace_src_data): Change type of
19081 insn field to rtx_insn *.
19082 (validate_replace_src_group): Change type of argument to rtx_insn *.
19083 * recog.h (validate_replace_src_group): Adjust.
19084
19085 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
19086
19087 * haifa-sched.c: Change the type of some variables to rtx_insn *.
19088 * sched-deps.c: Likewise.
19089 * sched-int.h: Likewise.
19090 * sched-rgn.c: Likewise.
19091 * sel-sched.c: Likewise.
19092
19093 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
19094
19095 to rtx_insn *.
19096 * config/i386/i386.c: Change the type of some arguments to
19097 rtx_insn *.
19098 * config/arm/arm.c: Likewise.
19099
19100 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
19101
19102 * lra-constraints.c: Change type of some arguments to rtx_insn *.
19103
19104 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
19105
19106 * regcprop.c (kill_autoinc_value): Change type of argument to
19107 rtx_insn *.
19108
19109 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
19110
19111 * genrecog.c (print_subroutine): Adjust.
19112 * recog.c (get_bool_attr_mask_uncached): Likewise.
19113 * recog.h (struct recog_data_d): Change the type of insn to
19114 rtx_insn *.
19115
19116 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
19117
19118 * dwarf2cfi.c (add_cfi_insn): Change type to rtx_insn *.
19119
19120 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
19121
19122 * df-problems.c (df_set_note): Change type of argument to
19123 rtx_insn *.
19124
19125 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
19126
19127 * builtins.c (expand_builtin_trap): Change type of local
19128 variable to rtx_insn *.
19129 (add_sched_insns_for_speculation): Likewise.
19130 (ix86_emit_save_regs): Likewise.
19131 (get_scratch_register_on_entry): Likewise.
19132 (ix86_emit_restore_reg_using_pop): Likewise.
19133 (ix86_emit_leave): Likewise.
19134 (ix86_emit_restore_regs_using_mov): Likewise.
19135 (ix86_expand_epilogue): Likewise.
19136 Likewise.
19137 (rl78_alloc_physical_registers_umul): Likewise.
19138 * cselib.c (discard_useless_locs): Likewise.
19139 (cselib_invalidate_regno): Likewise.
19140 (cselib_invalidate_mem): Likewise.
19141 * function.c (expand_function_start): Likewise.
19142 (emit_use_return_register_into_block): Likewise.
19143 * gcse.c: Likewise.
19144 * haifa-sched.c (ok_for_early_queue_removal): Likewise.
19145 * ifcvt.c (noce_get_alt_condition): Likewise.
19146 * loop-doloop.c (doloop_condition_get): Likewise.
19147 * lra-constraints.c (inherit_in_ebb): Likewise.
19148 * modulo-sched.c (sms_schedule_by_order): Likewise.
19149 * recog.c (next_insn_tests_no_inequality): Likewise.
19150 * reorg.c (emit_delay_sequence): Likewise.
19151 (update_reg_dead_notes): Likewise.
19152 (fix_reg_dead_note): Likewise.
19153 (fill_slots_from_thread): Likewise.
19154 (delete_computation): Likewise.
19155
19156 2015-05-01 Sandra Loosemore <sandra@codesourcery.com>
19157
19158 * doc/extend.texi (Variable Attributes): Add menu and proper
19159 @nodes to subsections. Move Microsoft Windows attributes to
19160 their own subsection.
19161 (Type Attributes): Reorganize introduction to remove duplicate
19162 list of attributes. Add menu and proper @nodes to subsections.
19163 Alphabetize the main table of common attributes.
19164
19165 2015-05-01 Rasmus Villemoes <rv@rasmusvillemoes.dk>
19166
19167 * match.pd: New simplification patterns.
19168 (x + (x & 1)) -> ((x + 1) & ~1)
19169 (x & ~(x & y)) -> ((x & ~y))
19170 (x | ~(x | y)) -> ((x | ~y))
19171
19172 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19173
19174 * target.def (attribute_table): Mention that struct attribute_spec
19175 is defined in tree-core.h rather than tree.h
19176 * doc/tm.texi: Regenerate.
19177
19178 2015-05-01 Richard Sandiford <richard.sandiford@arm.com>
19179
19180 * genrecog.c (test): Rename to rtx_test. Update rest of file
19181 accordingly.
19182
19183 2015-05-01 Andreas Schwab <schwab@linux-m68k.org>
19184
19185 PR translation/65959
19186 * params.h (DEFPARAM): Rename msgid to nocmsgid.
19187
19188 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
19189
19190 * gcc/config/aarch64/aarch64-protos.h (tune_params):
19191 Add min_div_recip_mul_sf and min_div_recip_mul_df fields.
19192 * gcc/config/aarch64/aarch64.c (aarch64_min_divisions_for_recip_mul):
19193 Return value depending on target.
19194 (generic_tunings): Initialize new target settings.
19195 (cortexa53_tunings): Likewise.
19196 (cortexa57_tunings): Likewise.
19197 (thunderx_tunings): Likewise.
19198 (xgene1_tunings): Likewise.
19199
19200 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
19201
19202 * gcc/config/arm/aarch-cost-tables.h (cortexa53_extra_costs):
19203 Make Cortex-A53 shift costs more accurate.
19204
19205 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19206
19207 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle FLOAT and
19208 UNSIGNED_FLOAT.
19209
19210 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
19211
19212 * gcc/config/aarch64/aarch64.c (aarch64_rtx_costs):
19213 Calculate cost of op0 and op1 in PLUS and MINUS cases.
19214
19215 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19216
19217 * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
19218 Add cost of op0 in the compare-with-fpzero case.
19219
19220 2015-04-30 David Malcolm <dmalcolm@redhat.com>
19221
19222 * builtins.c (fold_builtin_1): Remove spurious second
19223 semicolon.
19224 * cgraph.h (symtab_node::get_availability): Likewise.
19225 * opts.c (common_handle_option): Remove spurious second semicolon.
19226 * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
19227 * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise.
19228
19229 2015-04-30 Caroline Tice <cmtice@google.com>
19230
19231 PR gcov-profile/65929
19232 * config/elfos.h (ASM_DECLARE_COLD_FUNCTION_NAME): New macro definition.
19233 (ASM_DECLARE_COLD_FUNCTION_SIZE): New macro definition.
19234 * doc/tm.texi.in (ASM_DECLARE_COLD_FUNCTION_NAME): Document new macro.
19235 (ASM_DECLARE_COLD_FUNCTION_SIZE): Document new macro.
19236 * doc/tm.texi: Regenerate.
19237 * final.c (final_scan_insn): Use ASM_DECLARE_COLD_FUNCTION_NAME
19238 instead of ASM_DECLARE_FUNCTION_NAME for cold partition name.
19239 * varasm.c (assemble_end_function): Use ASM_DECLARE_COLD_FUNCTION_SIZE
19240 instead of ASM_DECLARE_FUNCTION_SIZE for cold partition size.
19241
19242 2015-04-30 Marek Polacek <polacek@redhat.com>
19243
19244 * varasm.c (handle_cache_entry): Fix logic.
19245
19246 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19247
19248 * config/aarch64/aarch64.md (*extr<mode>5_insn_alt): New pattern.
19249 (*extrsi5_insn_uxtw_alt): Likewise.
19250 * config/aarch64/aarch64.c (aarch64_extr_rtx_p): New function.
19251 (aarch64_rtx_costs, IOR case): Use above to properly cost extr
19252 operations.
19253
19254 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19255
19256 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle pattern for
19257 fabd in ABS case.
19258
19259 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19260
19261 * config/aarch64/aarch64.md
19262 (*eor_one_cmpl_<SHIFT:optab><mode>3_alt): New pattern.
19263 (*eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
19264 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle MVN-shift
19265 appropriately. Handle alternative EON form.
19266
19267 2015-04-30 Renlin Li <renlin.li@arm.com>
19268
19269 * config/aarch64/aarch64-simd.md (vec_shr): Defined as an unspec.
19270 * config/aarch64/iterators.md (unspec): Add UNSPEC_VEC_SHR.
19271
19272 2015-04-30 Jan Hubicka <hubicka@ucw.cz>
19273
19274 PR ipa/65873
19275 * ipa-inline.c (can_inline_edge_p): It is safe to inline across
19276 -fstrict-aliasing boundaries.
19277
19278 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19279
19280 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Handle MNEG
19281 and [SU]MNEGL patterns.
19282
19283 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19284
19285 * config/aarch64/aarch64.c (aarch64_shift_p): New function.
19286 (aarch64_rtx_mult_cost): Update comment to reflect that it also handles
19287 combined arithmetic-shift ops. Properly handle all shift and extend
19288 operations that can occur in combination with PLUS/MINUS.
19289 Rename maybe_fma to compound_p.
19290 (aarch64_rtx_costs): Use aarch64_shift_p when costing compound
19291 arithmetic and shift operations.
19292
19293 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19294
19295 * config/aarch64/aarch64.c (aarch64_rtx_costs): Use extend_arith
19296 rather than arith_shift cost when costing ADD/MINUS of an
19297 extended value.
19298
19299 2015-04-30 Jan Hubicka <hubicka@ucw.cz>
19300
19301 PR lto/65948
19302 * ipa-devirt.c (odr_types_equivalent_p): NULLPTR_TYPE is equivalent
19303 to itself.
19304
19305 2015-04-30 Richard Sandiford <richard.sandiford@arm.com>
19306
19307 * genrecog.c (simplify_tests): Check that CONST_INT and XWINT tests
19308 are for the same position.
19309
19310 2015-04-29 Aditya Kumar <hiraditya@hotmail.com>
19311
19312 * tree-vectorizer.c (set_uid_loop_bbs): New. Factored out of
19313 vectorize_loops.
19314 (vectorize_loops): Use it.
19315
19316 2015-04-29 Jan Hubicka <hubicka@ucw.cz>
19317
19318 * ipa-devirt.c (odr_subtypes_equivalent_p): Compare TYPE_NAME only
19319 for aggregate types.
19320 (register_odr_type): Be ready for MAIN_VARIANT of ODR type
19321 type to be non_ODR.
19322 * tree.c (need_assembler_name_p): Compute mangled name for
19323 non-fundamental types and integer types.
19324
19325 2015-04-29 Mikhail Maltsev <maltsevm@gmail.com>
19326
19327 * dojump.c (do_compare_rtx_and_jump): Use std::swap instead of
19328 manual swaps.
19329 * expr.c (expand_expr_real_2): Likewise.
19330
19331 2015-04-29 Jan Hubicka <hubicka@ucw.cz>
19332
19333 * tree.c (build_common_builtin_nodes): Do not build
19334 __builtin_alloca_with_align as equivalent of library alloca.
19335
19336 2015-04-29 Jan Hubicka <hubicka@ucw.cz>
19337
19338 * dwarf2out.c (gen_type_die_with_usage): Call verify_type.
19339 * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Do not produce
19340 bugus variants.
19341 * tree.c: Include print-tree.h and ipa-utils.h
19342 (free_lang_data_in_type): Clear TYPE_VFIELD leaked by C FE.
19343 (free_lang_data_in_cgraph): Call verify_type.
19344 (verify_type_variant): New function.
19345 (verify_type): New function.
19346 * tree.h (verify_type): Declare.
19347
19348 2015-04-29 Steve Ellcey <sellcey@imgtec.com>
19349
19350 * config/mips/mips-cpus.def: (mips4): Change default processor
19351 from PROCESSOR_R8000 to PROCESSOR_R10000.
19352
19353 2015-04-29 Petar Jovanovic <petar.jovanovic@rt-rk.com>
19354
19355 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use
19356 la/jalr instead of jal.
19357
19358 2015-04-29 Uros Bizjak <ubizjak@gmail.com>
19359
19360 PR target/65871
19361 * config/i386/i386.md (*bmi_bextr_<mode>_ccz): New pattern.
19362 (*bmi2_bzhi_<mode>3_1_ccz): Ditto.
19363 (setcc+movzbl peephole2): Check also clobbered reg.
19364 (setcc+andl peephole2): Ditto.
19365
19366 2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
19367
19368 PR libgomp/65099
19369 * config/nvptx/mkoffload.c (target_ilp32): New variable.
19370 (main): Set it depending on "-foffload-abi=[...]".
19371 (compile_native, main): Use it to pass "-m32" or "-m64" to the
19372 compiler.
19373
19374 2015-04-29 Alan Lawrence <alan.lawrence@arm.com>
19375
19376 PR target/65770
19377 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>,
19378 vec_store_lanesci_lane<mode>, vec_store_lanesxi_lane<mode>):
19379 Flip lane index back at assembly time for bigendian.
19380
19381 2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
19382
19383 * tree.h (OMP_STANDALONE_CLAUSES): New macro.
19384 * gimplify.c (gimplify_omp_workshare): Use it.
19385
19386 2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
19387
19388 * Makefile.in (build/genrecog.o): Depend on inchash.h.
19389 (build/genrecog$(build_exeext): Depend on build/hash-table.o and
19390 build/inchash.o
19391 * genrecog.c: Rewrite most of the code except for the third page.
19392
19393 2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
19394
19395 * inchash.h, inchash.c: Include bconfig.h for build objects.
19396 * Makefile.in (build/inchash.o): New rule.
19397
19398 2015-04-29 Yvan Roux <yvan.roux@linaro.org>
19399
19400 PR target/65924
19401 * config/arm/thumb2.md (*thumb2_addsi3_compare0_scratch): Fix operand
19402 number in type attribute expression.
19403
19404 2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
19405
19406 * loop-iv.c (canon_condition): Generalize to all types of integer
19407 constant.
19408
19409 2015-04-29 Bernhard Reuther-Fischer <aldot@gcc.gnu.org>
19410
19411 * gimple-walk.c: Prune duplicate or unneeded includes.
19412 (walk_gimple_asm): Only call parse_input_constraint or
19413 parse_output_constraint if their findings are used.
19414 Honour parse_input_constraint and parse_output_constraint
19415 result.
19416
19417 2015-04-29 Alan Lawrence <alan.lawrence@arm.com>
19418
19419 * config/arm/neon.md (vec_shl<mode>, vec_shr<mode>): Remove.
19420
19421 2015-04-29 Tom de Vries <tom@codesourcery.com>
19422
19423 PR tree-optimization/65893
19424 * passes.def (pass_all_optimizations): Move pass_stdarg to after
19425 pass_dce.
19426
19427 2015-04-29 Richard Biener <rguenther@suse.de>
19428
19429 * tree-vect-data-refs.c (vect_analyze_group_access): Properly
19430 compute GROUP_SIZE for basic-block SLP.
19431 * tree-vect-slp.c (vect_get_place_in_interleaving_chain): Properly
19432 take into account gaps.
19433 (vect_get_mask_element): Properly reject references to previous
19434 vectors.
19435 (vect_transform_slp_perm_load): Likewise.
19436
19437 2015-04-29 Christian Bruel <christian.bruel@st.com>
19438
19439 PR target/64835
19440 * config/i386/i386.c (ix86_default_align): New function.
19441 (ix86_override_options_after_change): Call ix86_default_align.
19442 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New hook.
19443 (ix86_override_options_after_change): New function.
19444
19445 2015-04-28 Jeff Law <law@redhat.com>
19446
19447 * tree-ssa-dom.c (record_equality); Fix comment typos.
19448
19449 2015-04-28 Tom de Vries <tom@codesourcery.com>
19450
19451 PR tree-optimization/65887
19452 * gimplify.c (gimplify_modify_expr): Remove ifn_va_arg ap fixup.
19453
19454 2015-04-28 Sandra Loosemore <sandra@codesourcery.com>
19455
19456 * doc/extend.texi (Declaring Attributes of Functions): Split into
19457 subsections by target. Alphabetize the table of common attributes.
19458 Rewrite some of the introductory text to reflect the new structure.
19459 Update some cross-references to point to the new subsections.
19460 (Attribute Syntax): Put paragraph about "__" naming here. Remove
19461 duplicate copies in the discussion of function, label, and type
19462 attributes.
19463
19464 2015-04-28 Dominique d'Humieres <dominiq@lps.ens.fr>
19465
19466 PR bootstrap/65910
19467 * varasm.c (assemble_end_function): Guard ASM_DECLARE_FUNCTION_SIZE.
19468
19469 2015-04-28 Jason Merrill <jason@redhat.com>
19470
19471 PR c++/65734
19472 * stor-layout.c (layout_type): Layout the TYPE_MAIN_VARIANT.
19473 (finalize_type_size): Respect TYPE_USER_ALIGN.
19474 (layout_type) [ARRAY_TYPE]: Likewise.
19475
19476 2015-04-28 Yvan Roux <yvan.roux@linaro.org>
19477
19478 * config/arm/arm.md (*arm_movt): Fix type attribute.
19479 (*cmpsi_shiftsi): Likewise.
19480 (*cmpsi_shiftsi_swp): Likewise.
19481 (*movsicc_insn): Likewise.
19482 (*cond_move): Likewise.
19483 (*if_plus_move): Likewise.
19484 (*if_move_plus): Likewise.
19485 (*if_arith_move): Likewise.
19486 (*if_move_arith): Likewise.
19487 (*if_shift_move): Likewise.
19488 (*if_move_shift): Likewise.
19489 (*arm_movtas_ze): Likewise.
19490 * config/arm/thumb2.md (*thumb2_movsicc_insn): Fix alternative
19491 redundancy and type attribute.
19492 (*thumb2_movsi_insn): Fix type attribute.
19493 (*thumb2_addsi_short): Likewise.
19494 (thumb2_addsi3_compare0): Likewise.
19495 (*thumb2_addsi3_compare0_scratch): Merge alternatives and fix
19496 attributes accordingly.
19497
19498 2015-04-28 Markus Trippelsdorf <markus@trippelsdorf.de>
19499
19500 PR other/65911
19501 * function.c (pad_to_arg_alignment): Add parentheses.
19502
19503 2015-04-28 Uros Bizjak <ubizjak@gmail.com>
19504
19505 * config/frv/frv.h (CRT_GET_RFIB_DATA): Move definition to
19506 libgcc/config/frv/elf-lib.h.
19507
19508 2015-04-28 Tom de Vries <tom@codesourcery.com>
19509
19510 * tree-call-cdce.c: Fix example in header comment.
19511
19512 2015-04-28 Richard Biener <rguenther@suse.de>
19513
19514 PR tree-optimization/62283
19515 * tree-vect-slp.c (vect_build_slp_tree): When the SLP build
19516 fails fatally and we are vectorizing a basic-block simply
19517 cause the child to be constructed piecewise.
19518 (vect_analyze_slp_cost_1): Adjust.
19519 (vect_detect_hybrid_slp_stmts): Likewise.
19520 (vect_bb_slp_scalar_cost): Likewise.
19521 (vect_get_constant_vectors): For piecewise constructed
19522 constants place them after the last def.
19523 (vect_get_slp_defs): Adjust.
19524 * tree-vect-stmts.c (vect_is_simple_use): Detect in-BB
19525 externals for basic-block vectorization.
19526
19527 2015-04-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
19528
19529 PR target/63503
19530 * config.gcc: Add cortex-a57-fma-steering.o to extra_objs for
19531 aarch64-*-*.
19532 * config/aarch64/t-aarch64: Add a rule for cortex-a57-fma-steering.o.
19533 * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Define.
19534 (AARCH64_TUNE_FMA_STEERING): Likewise.
19535 * config/aarch64/aarch64-cores.def: Set
19536 AARCH64_FL_USE_FMA_STEERING_PASS for cores with dynamic steering of
19537 FMUL/FMADD instructions.
19538 * config/aarch64/aarch64.c (aarch64_register_fma_steering): Declare.
19539 (aarch64_override_options): Include cortex-a57-fma-steering.h. Call
19540 aarch64_register_fma_steering () if AARCH64_TUNE_FMA_STEERING is true.
19541 * config/aarch64/cortex-a57-fma-steering.h: New file.
19542 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
19543
19544 2015-04-28 Richard Sandiford <richard.sandiford@arm.com>
19545
19546 * gensupport.c (std_preds): Add missing codes to address_operand entry.
19547
19548 2015-04-28 Richard Biener <rguenther@suse.de>
19549
19550 PR tree-optimization/65851
19551 * tree-ssa-ccp.c (set_lattice_value): Perform a meet when
19552 changing CONSTANT to CONSTANT non-copy. Get new_val by reference.
19553 (ccp_lattice_meet): Remove stray argument. Use operand_equal_p
19554 rather than simple_cst_equal as the latter doesn't handle COMPLEX_CST.
19555 (ccp_visit_phi_node): Adjust.
19556 (evaluate_stmt): For simplifications to SSA names return its
19557 lattice value if that isn't VARYING. Return immediately when
19558 simplified to a constant.
19559 (visit_assignment): Adjust.
19560 (ccp_visit_stmt): Likewise.
19561
19562 2015-04-28 Tom de Vries <tom@codesourcery.com>
19563
19564 PR tree-optimization/65818
19565 * tree-stdarg.c (expand_ifn_va_arg_1): Ensure that side-effects are
19566 evaluated.
19567
19568 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
19569
19570 * calls.c (save_fixed_argument_area): Don't check
19571 ARGS_GROW_DOWNWARD with the preprocessor.
19572 (restore_fixed_argument_area): Likewise.
19573 (mem_overlaps_already_clobbered_arg_p): Likewise.
19574 (check_sibcall_argument_overlap): Likewise.
19575 (expand_call): Likewise.
19576 (emit_library_call_value_1): Likewise.
19577 (store_one_arg): Likewise.
19578 * function.c (assign_parms): Likewise.
19579 (locate_and_pad_parm): Likewise.
19580 (pad_to_arg_alignment): Likewise.
19581 * targhooks.c (std_gimplify_va_arg_expr): Likewise.
19582
19583 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
19584
19585 * config/pa/pa.h (ARGS_GROW_DOWNWARD): Define to 1.
19586 * defaults.h (ARGS_GROW_DOWNWARD): Define it to 0 by default.
19587 * calls.c (save_fixed_argument_area): Don't chekc if
19588 ARGS_GROW_DOWNWARD is defined.
19589 (restore_fixed_argument_area): Likewise.
19590 (mem_overlaps_already_clobbered_arg_p): Likewise.
19591 (check_sibcall_argument_overlap): Likewise.
19592 (expand_call): Likewise.
19593 (emit_library_call_value_1): Likewise.
19594 (store_one_arg): Likewise.
19595 * function.c (assign_parms): Likewise.
19596 (locate_and_pad_parm): Likewise.
19597 (pad_to_arg_alignment): Likewise.
19598 * targhooks.c (std_gimplify_va_arg_expr): Likewise.
19599
19600 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
19601
19602 * defaults.h (gen_epilogue): New function.
19603 * alias.c (init_alias_analysis): don't check if HAVE_epilogue is
19604 defined.
19605 * cfgrtl.c (cfg_layout_finalize): Likewise.
19606 * df-scan.c: Likewise.
19607 * function.c (thread_prologue_and_epilogue_insns): Likewise.
19608 (reposition_prologue_and_epilogue_notes): Likewise.
19609 * reorg.c (find_end_label): Likewise.
19610 * toplev.c: Likewise.
19611
19612 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
19613
19614 * bb-reorder.c (HAVE_return): Don't check if its undefined.
19615 * defaults.h (gen_simple_return): New function.
19616 (gen_simple_return): Likewise.
19617 (HAVE_return): Add default definition to false.
19618 (HAVE_simple_return): Likewise.
19619 * cfgrtl.c (force_nonfallthru_and_redirect): Remove checks if
19620 HAVE_return and HAVE_simple_return are defined.
19621 * function.c (gen_return_pattern): Likewise.
19622 (convert_jumps_to_returns): Likewise.
19623 (thread_prologue_and_epilogue_insns): Likewise.
19624 * reorg.c (find_end_label): Likewise.
19625 (dbr_schedule): Likewise.
19626 * shrink-wrap.c: Likewise.
19627 * shrink-wrap.h: Likewise.
19628
19629 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
19630
19631 * defaults.h (EPILOGUE_USES): Add default definition of false.
19632 * df-scan.c (EPILOGUE_USES): Remove check if its undefined.
19633 * resource.c (init_resource_info): Likewise.
19634
19635 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
19636
19637 * defaults.h (PCC_BITFIELD_TYPE_MATTERS): Add default definition
19638 to false.
19639 * dwarf2out.c (field_byte_offset): REmove check if
19640 PCC_BITFIELD_TYPE_MATTERS is defined.
19641 * stor-layout.c (layout_decl): Likewise.
19642 (update_alignment_for_field): Likewise.
19643 (place_field): Likewise.
19644
19645 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
19646
19647 * defaults.h (HARD_REGNO_RENAME_OK): Add default definition to
19648 true.
19649 * regrename.c (check_new_reg_p): Remove check if
19650 HARD_REGNO_RENAME_OK is defined.
19651 * sel-sched.c (sel_hard_regno_rename_ok): Likewise.
19652
19653 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
19654
19655 * calls.c (prepare_call_address): Remove ifdef NO_FUNCTION_CSE.
19656 * cse.c (fold_rtx): Likewise.
19657 * config/alpha/alpha.h (NO_FUNCTION_CSE): Define to 1.
19658 * config/arc/arc.h (NO_FUNCTION_CSE): Likewise.
19659 * config/avr/avr.h (NO_FUNCTION_CSE): Likewise.
19660 * config/cr16/cr16.h (NO_FUNCTION_CSE): Likewise.
19661 * config/epiphany/epiphany.h (NO_FUNCTION_CSE): Likewise.
19662 * config/frv/frv.h (NO_FUNCTION_CSE): Likewise.
19663 * config/h8300/h8300.h (NO_FUNCTION_CSE): Likewise.
19664 * config/i386/i386.h (NO_FUNCTION_CSE): Likewise.
19665 * config/ia64/ia64.h (NO_FUNCTION_CSE): Likewise.
19666 * config/lm32/lm32.h (enum reg_class) (NO_FUNCTION_CSE):
19667 * Likewise.
19668 * config/m32r/m32r.h (NO_FUNCTION_CSE): Likewise.
19669 * config/mep/mep.h (NO_FUNCTION_CSE): Likewise.
19670 * config/mn10300/mn10300.h (NO_FUNCTION_CSE): Likewise.
19671 * config/nds32/nds32.h (NO_FUNCTION_CSE): Likewise.
19672 * config/nios2/nios2.h (NO_FUNCTION_CSE): Likewise.
19673 * config/pa/pa.h (NO_FUNCTION_CSE): Likewise.
19674 * config/rs6000/rs6000.h (NO_FUNCTION_CSE): Likewise.
19675 * config/s390/s390.h (NO_FUNCTION_CSE): Likewise.
19676 * config/sparc/sparc.h (NO_FUNCTION_CSE): Likewise.
19677 * config/spu/spu.h (NO_FUNCTION_CSE): Likewise.
19678 * config/stormy16/stormy16.h (NO_FUNCTION_CSE): Likewise.
19679 * config/v850/v850.h (NO_FUNCTION_CSE): Likewise.
19680 * defaults.h (NO_FUNCTION_CSE): Provide default definition to 0.
19681 * doc/tm.texi: Regenerate.
19682 * doc/tm.texi.in: Document NO_FUNCTION_CSE is always defined to
19683 either true or false.
19684
19685 2015-04-27 Jeff Law <law@redhat.com>
19686
19687 PR tree-optimization/65217
19688 * tree-ssa-dom.c (record_equality): Given two SSA_NAMEs, if just one
19689 of them has a single use, make sure it is the LHS of the implied
19690 copy.
19691
19692 2015-04-28 Alan Modra <amodra@gmail.com>
19693
19694 PR target/65810
19695 * config/rs6000/rs6000.c (POWERPC64_TOC_POINTER_ALIGNMENT): Define.
19696 (offsettable_ok_by_alignment): Use minimum of decl and toc
19697 pointer alignment. Replace dead code with assertion.
19698 (use_toc_relative_ref): Add mode arg. Return false in -mcmodel=medium
19699 case if size exceeds toc pointer alignment.
19700 (rs6000_legitimize_reload_address): Update use_toc_relative_ref call.
19701 (rs6000_emit_move): Likewise.
19702 * configure.ac: Add linker toc pointer alignment check.
19703 * configure: Regenerate.
19704 * config.in: Regenerate.
19705
19706 2015-04-27 Yoshinori Sato <ysato@users.sourceforge.jp>
19707
19708 * config.gcc: Add h8300-*-linux.
19709 * config/h8300/linux.h: New.
19710 * config/h8300/t-linux: New.
19711 * config/h8300/h8300.c (h8300_option_override): Normal mode
19712 is not supported for h8300-*-linux.
19713 (h8300_file_start): Target priority change.
19714 (get_shift_alg): Likewise.
19715 (h8300_shift_need_scratch_p): Likewise.
19716 * config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Likewise.
19717 * config/h8300/h8300.md (define_peephole2): Remove duplicate condition.
19718
19719 2015-04-27 Caroline Tice <cmtice@google.com>
19720
19721 * final.c (final_scan_insn): Output cold_function_name as function
19722 type.
19723 * varasm.c (cold_function_name): Make global.
19724 (assemble_start_function): Re-set cold_function_name.
19725 (assemble_end_function): Output cold partition size.
19726 * varasm.h (cold_function_name): Declare global.
19727
19728 2015-04-27 Ilya Tocar <ilya.tocar@intel.com>
19729
19730 * config/i386/i386.h (EXT_REX_SSE_REG_P): New.
19731 * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Use "v"
19732 constraint.
19733 (*movxi_internal_avx512f): Ditto.
19734 (define_split): Check for xmm16+, when splitting scalar float_extend.
19735 (*extendsfdf2_mixed): Use "v" constraint.
19736 (define_split): Check for xmm16+, when splitting scalar float_truncate.
19737 (*truncdfsf_fast_sse): Use "v" constraint.
19738 (fix_trunc<MODEF:mode><SWI48:mode>_sse): Ditto.
19739 (*float<SWI48:mode><MODEF:mode>2_sse): Ditto.
19740 (define_peephole2): Check for xmm16+, when converting scalar
19741 float_truncate.
19742 (define_peephole2): Check for xmm16+, when converting scalar
19743 float_extend.
19744 (*fop_<mode>_comm_mixed): Use "v" constraint.
19745 (*fop_<mode>_comm_sse): Ditto.
19746 (*fop_<mode>_1_mixed): Ditto.
19747 (*sqrt<mode>2_sse): Ditto.
19748 (*ieee_s<ieee_maxmin><mode>3): Ditto.
19749
19750 2015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19751
19752 * combine.c (simplify_if_then_else): Use std::swap instead
19753 of manually swapping.
19754 (known_cond): Likewise.
19755 (simplify_comparison): Likewise.
19756
19757 2015-04-27 Peter Bergner <bergner@vnet.ibm.com>
19758
19759 PR target/64579
19760 * config/rs6000/htm.md: Remove all define_expands.
19761 (UNSPECV_HTM_TABORTDC, UNSPECV_HTM_TABORTDCI, UNSPECV_HTM_TABORTWC,
19762 UNSPECV_HTM_TABORTWCI): Remove.
19763 (UNSPECV_HTM_TABORTXC, UNSPECV_HTM_TABORTXCI, UNSPECV_HTM_TTEST): New.
19764 (tabort_internal, tbegin_internal, tcheck_internal, tend_internal,
19765 trechkpt_internal, treclaim_internal, tsr_internal): Rename from this...
19766 (tabort, tbegin, tcheck, tend, trechkpt, treclaim, tsr): ...to this.
19767 (tabortdc_internal, tabortdci_internal, tabortwc_internal,
19768 tabortwci_internal): Remove define_insns.
19769 (tabort<wd>c, tabort<wd>ci): New define_insns.
19770 (tabort): Use gpc_reg_operand.
19771 (tcheck): Remove operand.
19772 (htm_mfspr_<mode>, htm_mtspr_<mode>): Use GPR mode macro.
19773 * config/rs6000/htmxlintrin.h (__TM_end): Use _HTM_TRANSACTIONAL as
19774 expected value.
19775 * config/rs6000/rs6000-builtin.def (BU_HTM_SPR0): Remove.
19776 (BU_HTM_SPR1): Rename to BU_HTM_V1. Remove use of RS6000_BTC_SPR.
19777 (tabort, tabortdc, tabortdci, tabortwc, tabortwci, tbegin,
19778 tcheck, tend, tendall, trechkpt, treclaim, tresume, tsuspend,
19779 tsr, ttest): Pass in the RS6000_BTC_CR attribute.
19780 (get_tfhar, set_tfhar, get_tfiar, set_tfiar, get_texasr, set_texasr,
19781 get_texasru, set_texasru): Pass in the RS6000_BTC_SPR attribute.
19782 (tcheck): Remove builtin argument.
19783 * config/rs6000/rs6000.c (rs6000_htm_spr_icode): Use TARGET_POWERPC64
19784 not TARGET_64BIT.
19785 (htm_expand_builtin): Fix usage of expandedp. Disallow usage of the
19786 tabortdc and tabortdci builtins when not in 64-bit mode.
19787 Modify code to handle the loss of the HTM define_expands.
19788 Emit code to copy the CR register to TARGET.
19789 (htm_init_builtins): Modify code to handle the loss of the HTM
19790 define_expands.
19791 * config/rs6000/rs6000.h (RS6000_BTC_32BIT): Delete.
19792 (RS6000_BTC_64BIT): Likewise.
19793 (RS6000_BTC_CR): New macro.
19794 * doc/extend.texi: Update documentation for htm builtins.
19795
19796 2015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19797
19798 * simplify-rtx.c (simplify_gen_binary): Use std::swap instead
19799 of manually swapping.
19800 (simplify_associative_operation): Likewise.
19801 (simplify_binary_operation): Likewise.
19802 (simplify_plus_minus): Likewise.
19803 (simplify_relational_operation): Likewise.
19804 (simplify_ternary_operation): Likewise.
19805
19806 2015-04-27 Richard Sandiford <richard.sandiford@arm.com>
19807
19808 * config/stormy16/predicates.md (xs_hi_general_operand): Delete.
19809 (xs_hi_nonmemory_operand): Remove error.
19810 * config/stormy16/stormy16.md (movhi, movhi_internal): Use
19811 general_operand rather than xs_hi_general_operand.
19812
19813 2015-04-27 Richard Biener <rguenther@suse.de>
19814
19815 * tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg.
19816 (record_equivalences_from_stmt): Valueize rhs.
19817 (record_equality): Canonicalize x and y order via
19818 tree_swap_operands_p. Do not swap operands for same loop depth.
19819
19820 2015-04-27 Georg-Johann Lay <avr@gjlay.de>
19821
19822 PR target/65296
19823 PR target/65895
19824 * config/avr/gen-avr-mmcu-specs.c (print_mcu): Close file.
19825 Add hint how to use own spec file.
19826
19827 2015-04-27 Jakub Jelinek <jakub@redhat.com>
19828
19829 PR tree-optimization/65875
19830 * tree-vrp.c (update_value_range): If in is_new case setting
19831 old_vr to VR_VARYING, also set new_vr to it. Remove
19832 old_vr->type == VR_VARYING test.
19833 (vrp_visit_phi_node): Return SSA_PROP_VARYING instead of
19834 SSA_PROP_INTERESTING if update_value_range returned true,
19835 but new range is VR_VARYING.
19836
19837 2015-04-27 Thomas Preud'homme <thomas.preudhomme@arm.com>
19838
19839 * combine.c (sign_extend_short_imm): New.
19840 (set_nonzero_bits_and_sign_copies): Use above new function for sign
19841 extension of src short immediate.
19842 (reg_nonzero_bits_for_combine): Likewise for tem.
19843
19844 2015-04-27 Eric Botcazou <ebotcazou@adacore.com>
19845
19846 * stor-layout.c (self_referential_component_ref_p): New predicate.
19847 (copy_self_referential_tree_r): Use it.
19848 (self_referential_size): Punt for simple operations directly involving
19849 self-referential component references.
19850 * tree-cfg.c (dump_function_to_file): Add missing final curly bracket.
19851
19852 2015-04-27 Eric Botcazou <ebotcazou@adacore.com>
19853
19854 * ipa-icf.c (icf_handled_component_p): Remove redundant tests.
19855
19856 2015-04-27 Richard Sandiford <richard.sandiford@arm.com>
19857
19858 * vec.h (vec): Make splice arguments const. Update definitions
19859 accordingly.
19860
19861 2015-04-27 Yvan Roux <yvan.roux@linaro.org>
19862
19863 * config/arm/arm.md (*arm_subsi3_insn): Fixed redundant
19864 alternatives.
19865
19866 2015-04-26 Tom de Vries <tom@codesourcery.com>
19867
19868 PR tree-optimization/65826
19869 * internal-fn.def: Mark VA_ARG with ECF_LEAF.
19870
19871 2015-04-24 Steve Ellcey <sellcey@imgtec.com>
19872
19873 * config/mips/mips.md: (*madd4<mode>) Remove accum_in attribute.
19874 (*madd3<mode>): Ditto.
19875 (*msub4<mode>): Ditto.
19876 (*msub3<mode>): Ditto.
19877 (*nmadd4<mode>): Ditto.
19878 (*nmadd3<mode>): Ditto.
19879 (*nmadd4<mode>_fastmath): Ditto.
19880 (*nmadd3<mode>_fastmath): Ditto.
19881 (*nmsub4<mode>): Ditto.
19882 (*nmsub3<mode>): Ditto.
19883 (*nmsub4<mode>_fastmath): Ditto.
19884 (*nmsub3<mode>_fastmath): Ditto.
19885
19886 2015-04-24 Jason Merrill <jason@redhat.com>
19887
19888 PR c++/50800
19889 * tree.c (build_reference_type_for_mode): Don't pass can_alias_all
19890 down when building TYPE_CANONICAL.
19891 (build_pointer_type_for_mode): Likewise.
19892
19893 2015-04-24 Chen Gang <gang.chen.5i5j@gmail.com>
19894
19895 * genrecog.c (validate_pattern): Check matching constraint refers
19896 to a lower numbered operand.
19897
19898 2015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
19899
19900 PR target/65849
19901 * config/rs6000/rs6000.opt (-mvsx-align-128): Make options that
19902 save to independent variables use the Save attribute. This will
19903 allow these options to be modified with the #pragma/attribute
19904 target support.
19905 (-mallow-movmisalign): Likewise.
19906 (-mallow-df-permute): Likewise.
19907 (-msched-groups): Likewise.
19908 (-malways-hint): Likewise.
19909 (-malign-branch-targets): Likewise.
19910 (-mvectorize-builtins): Likewise.
19911 (-msave-toc-indirect): Likewise.
19912
19913 * config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that
19914 can be set via the #pragma/attribute target support.
19915 (rs6000_opt_vars): Likewise.
19916 (rs6000_inner_target_options): If VSX was set, also set
19917 -mno-avoid-indexed-addresses.
19918
19919 2015-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19920
19921 * config/arm/iterators.md (shiftable_ops): Rename to...
19922 (SHIFTABLE_OPS): ... This. Update use in comments.
19923 (ior_xor): Rename to...
19924 (IOR_XOR): ... This.
19925 (vqh_ops): Rename to...
19926 (VQH_OPS): ... This.
19927 (vqhs_ops): Rename to...
19928 (VQHS_OPS): ... This.
19929 (rshifts): Rename to...
19930 (RSHIFTS): ... This.
19931 (returns): Rename to...
19932 (RETURNS): ... This.
19933 * config/arm/arm.md: Update uses of the above.
19934 * config/arm/neon.md: Likewise.
19935
19936 2014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19937
19938 * config.host (case ${host}): Add aarch64*-*-linux case.
19939 * config/aarch64/aarch64-cores.def: Add IMPLEMENTER_ID and PART_NUMBER
19940 fields to all the cores.
19941 * config/aarch64/aarch64-elf.h (DRIVER_SELF_SPECS):
19942 Add MCPU_MTUNE_NATIVE_SPECS.
19943 * config/aarch64/aarch64-option-extensions.def: Add FEATURE_STRING
19944 field to all extensions.
19945 * config/aarch64/aarch64-opts.h: Adjust definition of AARCH64_CORE.
19946 * config/aarch64/aarch64.c: Adjust definition of AARCH64_CORE.
19947 Adjust definition of AARCH64_OPT_EXTENSION.
19948 * config/aarch64/aarch64.h: Adjust definition of AARCH64_CORE.
19949 (MCPU_MTUNE_NATIVE_SPECS): Define.
19950 * config/aarch64/driver-aarch64.c: New file.
19951 * config/aarch64/x-arch64: New file.
19952 * doc/invoke.texi (AArch64 Options): Document native value for -mcpu,
19953 -mtune and -march.
19954
19955 2015-04-24 Uros Bizjak <ubizjak@gmail.com>
19956 Wei Mi <wmi@google.com>
19957
19958 * config/i386/i386-protos.h (ix86_operands_ok_for_move_multiple): New.
19959 * config/i386/i386.c (extract_base_offset_in_addr): New function.
19960 (ix86_operands_ok_for_move_multiple): Ditto.
19961 * config/i386/sse.md (movsd/movhpd to movupd peephole2): New pattern.
19962 (movlpd/movhpd to movupd peephole2): Ditto.
19963
19964 2015-04-24 Marek Polacek <polacek@redhat.com>
19965
19966 PR c/61534
19967 * input.h (from_macro_expansion_at): Define.
19968
19969 PR c/63357
19970 * doc/invoke.texi: Update description of -Wlogical-op.
19971
19972 2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
19973
19974 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix
19975 ternary operator in fprintf and harmonize spacing.
19976
19977 2015-04-24 Uros Bizjak <ubizjak@gmail.com>
19978
19979 * config/i386/sse.md (*vec_widen_smult_even_v8si<mask_name>):
19980 Mark operand1 commutative.
19981
19982 2015-04-24 Uros Bizjak <ubizjak@gmail.com>
19983
19984 * config/i386/sse.md (*vec_concatv2sf_sse4_1): Do not allow both
19985 input operands in memory.
19986 (*vec_concatv2si_sse4_1): Ditto.
19987 (*vec_concatv2df): Ditto, except for SSE3 and equal input operands.
19988 (vec_extract_lo_<mode><mask_name>): Change operand 1 predicate to
19989 register_operand.
19990 (vec_extract_hi_v32hi): Ditto.
19991 (vec_extract_hi_v64hi): Ditto.
19992 (<mask_codefor>avx512f_unpckhpd512<mask_name>): Ditto.
19993
19994 2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
19995 Steven Bosscher <steven@gcc.gnu.org>
19996
19997 PR rtl-optimization/34503
19998 * cprop.c (cprop_reg_p): New.
19999 (hash_scan_set): Use above function to check if register can be
20000 propagated.
20001 (find_avail_set): Return up to two sets, one whose source is a
20002 register and one whose source is a constant. Sets are returned in an
20003 array passed as parameter rather than as a return value.
20004 (cprop_insn): Use a do while loop rather than a goto. Try each of the
20005 sets returned by find_avail_set, starting with the one whose source is
20006 a constant. Use cprop_reg_p to check if register can be propagated.
20007 (do_local_cprop): Use cprop_reg_p to check if register can be
20008 propagated.
20009 (implicit_set_cond_p): Likewise.
20010
20011 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
20012
20013 * ipa-icf.c (sem_function::equals_wpa): Compare thunk info.
20014 (sem_function::equals): IGNORED_NODES parameter is now unused;
20015 update call of equals_private.
20016 (sem_function::equals_private): Do not call equals_wpa; skip
20017 gimple body matching if there is no body.
20018 (sem_function::init): Add logic to hash tthunk info.
20019 (sem_function::parse): Also parse thunks.
20020 * ipa-icf.h (equals_private): Update declaration.
20021
20022 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
20023
20024 * config/rs6000/altivec.md (*altivec_lvx_<mode>_internal): Remove
20025 asterisk from name so this can be generated directly.
20026 (*altivec_stvx_<mode>_internal): Likewise.
20027 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Add assert
20028 that this is never called during or after reload/lra.
20029 (rs6000_frame_related): Remove split_reg
20030 argument and logic that references it.
20031 (emit_frame_save): Remove last parameter from call to
20032 rs6000_frame_related.
20033 (rs6000_emit_prologue): Remove last parameter from eight calls to
20034 rs6000_frame_related. Force generation of stvx instruction for
20035 Altivec register saves. Remove split_reg handling, which is no
20036 longer needed.
20037 (rs6000_emit_epilogue): Force generation of lvx instruction for
20038 Altivec register restores.
20039
20040 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
20041
20042 * config/rs6000/rs6000.opt (mcrypto): Change option description to
20043 match category changes in ISA 2.07B.
20044
20045 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20046
20047 * config/arm/iterators.md (GTGE, GTUGEU, COMPARISONS): New code
20048 iterators.
20049 (cmp_op, cmp_type): New code attributes.
20050 (NEON_VCMP, NEON_VACMP): New int iterators.
20051 (cmp_op_unsp): New int attribute.
20052 * config/arm/neon.md (neon_vc<cmp_op><mode>): New define_expand.
20053 (neon_vceq<mode>): Delete.
20054 (neon_vc<cmp_op><mode>_insn): New pattern.
20055 (neon_vc<cmp_op_unsp><mode>_insn_unspec): Likewise.
20056 (neon_vcgeu<mode>): Delete.
20057 (neon_vcle<mode>): Likewise.
20058 (neon_vclt<mode>: Likewise.
20059 (neon_vcage<mode>): Likewise.
20060 (neon_vcagt<mode>): Likewise.
20061 (neon_vca<cmp_op><mode>): New define_expand.
20062 (neon_vca<cmp_op><mode>_insn): New pattern.
20063 (neon_vca<cmp_op_unsp><mode>_insn_unspec): Likewise.
20064
20065 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
20066
20067 * tree.h (attribute_value_equal): Declare.
20068 * tree.c (attribute_value_equal): Export.
20069
20070 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
20071
20072 * ipa-icf.c (sem_item::compare_attributes): New function.
20073 (sem_item::compare_referenced_symbol_properties): Compare variable
20074 attributes.
20075 (sem_item::hash_referenced_symbol_properties): Record DECL_ALIGN.
20076 (sem_function::param_used_p): New function.
20077 (sem_function::equals_wpa): Fix attribute comparsion; match
20078 parameter type codes; do not compare paremter flags when
20079 they are not used; compare edge flags; compare indirect calls.
20080 (sem_item::update_hash_by_addr_refs): Hash reference type.
20081 (sem_function::equals_private): Do not match DECL_ATTRIBUTES.
20082 (sem_variable::equals_wpa): Do not match DECL_ALIGN; match
20083 reference use type.
20084 (sem_item_optimizer::update_hash_by_addr_refs): Use param_used_p.
20085 * ipa-icf.h (compare_attributes, param_used_p): Declare.
20086
20087 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
20088
20089 * ipa-icf.c (symbol_compare_collection::symbol_compare_collection):
20090 cleanup.
20091 (sem_function::get_hash): Do not hash DECL_DISREGARD_INLINE_LIMITS,
20092 DECL_DECLARED_INLINE_P and DECL_IS_OPERATOR_NEW.
20093 (sem_item::compare_referenced_symbol_properties): New.
20094 (sem_item::hash_referenced_symbol_properties): New.
20095 (sem_item::compare_cgraph_references): Rename to ...
20096 (sem_item::compare_symbol_references): ... this one; use
20097 compare_referenced_symbol_properties.
20098 (sem_function::equals_wpa): Do not compare
20099 DECL_DISREGARD_INLINE_LIMITS, DECL_DECLARED_INLINE_P,
20100 DECL_IS_OPERATOR_NEW; compare pointer sizes.
20101 (sem_item::update_hash_by_addr_refs): Call
20102 hash_referenced_symbol_properties.
20103 (sem_item::update_hash_by_local_refs): Cleanup.
20104 (sem_function::merge): Do not mix up symbol properties.
20105 (sem_variable::equals_wpa): Use compare_symbol_references.
20106 * ipa-icf.h (sem_item::compare_referenced_symbol_properties): New.
20107 (sem_item::hash_referenced_symbol_properties): New.
20108 (sem_item::compare_symbol_references): New.
20109 (sem_item::compare_cgraph_references): Remove.
20110
20111 2015-04-23 Kwok Cheung Yeung <kcy@codesourcery.com>
20112
20113 PR target/26702
20114 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL):
20115 Emit size of local.
20116
20117 2015-04-23 Nick Clifton <nickc@redhat.com>
20118
20119 * config/rl78/rl78.c (rl78_preferred_reload_class): Add
20120 ATTRIBUTE_UNUSED to x parameter.
20121 * config/rl78/rl78-opts.h (enum rl78_mul_types): Remove unused MUL_RL78.
20122
20123 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
20124
20125 * config/rs6000/crypto.md (crypto_vpmsum<CR_char>): Change
20126 TARGET_CRYPTO to TARGET_P8_VECTOR>
20127 (crypto_vpermxor_<mode>): Likewise.
20128 * config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define.
20129 (BU_CRYPTO_3A): Likewise.
20130 (BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2.
20131 (BU_CRYPTO_OVERLOAD_3A): New #define.
20132 (VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A.
20133 (VPMSUMH): Likewise.
20134 (VPMSUMW): Likewise.
20135 (VPMSUMD): Likewise.
20136 (VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A.
20137 (VPERMXOR_V4SI): Likewise.
20138 (VPERMXOR_V8HI): Likewise.
20139 (VPERMXOR_V16QI): Likewise.
20140 (VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to
20141 BU_CRYPTO_OVERLOAD_2A.
20142 (VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to
20143 BU_CRYPTO_OVERLOAD_3A.
20144 * config/rs6000/rs6000.opt (mcrypto): Change description of
20145 option.
20146
20147 2015-04-23 Richard Biener <rguenther@suse.de>
20148
20149 * passes.def: Remove copy propagation passes run directly after CCP.
20150 * tree-ssa-ccp.c (get_value_for_expr): Fall back to a COPY for
20151 SSA names.
20152 (ccp_visit_phi_node): Rework to handle first executable edge
20153 specially.
20154
20155 2015-04-23 Matthew Wahab <matthew.wahab@arm.com>
20156
20157 * config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
20158 (ARM_LEGITIMIZE_RELOAD_ADDRESS): Remove.
20159 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Remove.
20160 * config/arm/arm.c (arm_legimitimize_reload_address): Remove.
20161 (thumb_legimitimize_reload_address): Remove.
20162 * config/arm/arm-protos.h (arm_legimitimize_reload_address):
20163 Remove.
20164 (thumb_legimitimize_reload_address): Remove.
20165
20166 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20167
20168 * conditions.h (CC_STATUS_INIT): Gate on #ifndef CC_STATUS_INIT.
20169
20170 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20171
20172 * config/arm/arm.md (load_multiple): Reject operand 2 greater than
20173 MAX_LDM_STM_OPS.
20174 (store_multiple): Likewise.
20175
20176 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20177
20178 * config/arm/arm-protos.h (struct tune_params): Add issue_rate field.
20179 * config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune,
20180 arm_strongarm_tune, arm_xscale_tune, arm_9e_tune, arm_v6t2_tune,
20181 arm_cortex_tune, arm_cortex_a8_tune, arm_cortex_a7_tune,
20182 arm_cortex_a15_tune, arm_cortex_a53_tune, arm_cortex_a57_tune,
20183 arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune,
20184 arm_fa726te_tune arm_cortex_a5_tune, arm_xgene1_tune):
20185 Specify issue_rate value.
20186 (arm_issue_rate): Look up issue rate from tuning structs. Remove
20187 large switch statement.
20188 (arm_marvell_pj4_tune): New struct.
20189 * config/arm/arm-cores.def (marvell-pj4): Use arm_marvell_pj4_tune
20190 struct.
20191
20192 2015-04-23 Richard Biener <rguenther@suse.de>
20193
20194 * tree-vect-slp.c (vect_find_first_load_in_slp_instance): Remove.
20195 (vect_find_last_store_in_slp_instance): Rename to ...
20196 (vect_find_last_scalar_stmt_in_slp): ... this and generalize.
20197 (vect_analyze_slp_cost_1): Use vector_load for constant defs
20198 and vec_construct for external defs when estimating prologue cost.
20199 (vect_analyze_slp_instance): Do not init SLP_INSTANCE_FIRST_LOAD_STMT.
20200 Compute costs here only when vectorizing loops.
20201 (vect_slp_analyze_bb_1): Compute SLP cost here, after vector types
20202 have been determined.
20203 (vect_schedule_slp_instance): Simplify vectorized code placement
20204 and prepare for in-BB external defs.
20205 * tree-vectorizer.h (struct _slp_instance): Remove first_load member.
20206 (SLP_INSTANCE_FIRST_LOAD_STMT): Remove.
20207 * tree-vect-stmts.c (vect_model_store_cost): Remove PURE_SLP_STMT
20208 guard.
20209 (vect_model_load_cost): Likewise.
20210 (vectorizable_store): Instead add it here.
20211 (vectorizable_load): Likewise.
20212 (vect_is_simple_use): Dump def type textually.
20213
20214 2015-04-23 Richard Biener <rguenther@suse.de>
20215
20216 * cfgexpand.c (expand_gimple_stmt_1): Use ops.code.
20217 * cfgloop.c (verify_loop_structure): Verify the root loop node.
20218 * except.c (duplicate_eh_regions): Call get_eh_region_from_lp_number_fn
20219 instead of get_eh_region_from_lp_number.
20220 * loop-init.c (fix_loop_structure): If we removed a loop, reset
20221 the SCEV cache.
20222
20223 2015-04-23 Anton Blanchard <anton@samba.org>
20224
20225 * config/rs6000/rs6000.c (rs6000_output_function_prologue): No
20226 need for -mprofile-kernel to save LR to stack.
20227
20228 2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
20229
20230 * config/rs6000/rs6000.c (rtx_is_swappable_p): Commentary
20231 adjustments.
20232 (insn_is_swappable_p): Return 1 for a convert from double to
20233 single precision when all of its uses are splats of BE element
20234 zero.
20235
20236 2015-04-23 Kugan Vivekanandarajah <kuganv@linaro.org>
20237
20238 * ira-costs.c (record_operand_costs): Fix typo (remove redundant code).
20239
20240 2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
20241
20242 PR target/65456
20243 * config/rs6000/rs6000.c (rs6000_option_override_internal): For
20244 VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and
20245 TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line
20246 option.
20247 (rs6000_builtin_mask_for_load): Return 0 for targets with
20248 efficient unaligned VSX accesses so that the vectorizer will use
20249 direct unaligned loads.
20250 (rs6000_builtin_support_vector_misalignment): Always return true
20251 for targets with efficient unaligned VSX accesses.
20252 (rs6000_builtin_vectorization_cost): Cost of unaligned loads and
20253 stores on targets with efficient unaligned VSX accesses is almost
20254 always the same as the cost of an aligned load or store, so model
20255 it that way.
20256 * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for
20257 unaligned vectors if we have efficient unaligned VSX accesses.
20258 * config/rs6000/rs6000.opt (mefficient-unaligned-vector): New
20259 undocumented option.
20260
20261 2015-04-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20262
20263 Revert:
20264 2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
20265
20266 * config.gcc (LIBC_MUSL): New tm_defines macro.
20267 * config/linux.h (OPTION_MUSL): Define.
20268 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
20269 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
20270 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
20271
20272 * config/linux.opt (mmusl): New option.
20273 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
20274 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
20275
20276 * configure: Regenerate.
20277
20278 2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
20279
20280 * config.gcc (LIBC_MUSL): New tm_defines macro.
20281 * config/linux.h (OPTION_MUSL): Define.
20282 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
20283 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
20284 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
20285
20286 * config/linux.opt (mmusl): New option.
20287 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
20288 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
20289
20290 * configure: Regenerate.
20291
20292 2015-04-22 Yury Gribov <y.gribov@samsung.com>
20293
20294 * doc/invoke.texi (-fsanitize-sections): Update description.
20295 * asan.c (set_sanitized_sections): Parse incoming arg.
20296 (section_sanitized_p): Support wildcards.
20297
20298 2015-04-22 Tom de Vries <tom@codesourcery.com>
20299
20300 PR tree-optimization/65823
20301 * gimplify.c (gimplify_modify_expr): Use operand_equal_p to test for
20302 equality between ap_copy and ap.
20303
20304 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
20305
20306 PR target/47098
20307 * config/openbsd-oldgas.h (OBSD_LIB_SPEC): Add.
20308
20309 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
20310
20311 PR target/47122
20312 * config.gcc (vax-*-openbsd*): Fix name of pthread spec header.
20313
20314 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
20315
20316 PR target/55144
20317 * config.gcc (bfin*-linux-uclibc*): Prepend tmake_file and
20318 remove already contained t-files.
20319
20320 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
20321
20322 * tree-tailcall.c (suitable_for_tail_opt_p, find_tail_calls):
20323 Remove unneeded forward declarations.
20324 (suitable_for_tail_call_opt_p): Commentary typo fix.
20325
20326 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
20327
20328 * varasm.c (emit_bss): Remove redundant guard.
20329
20330 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
20331
20332 * config/c6x/c6x.h (TARGET_CPU_CPP_BUILTINS): Add unk_isa.
20333
20334 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
20335
20336 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Add BFIN_CPU_UNKNOWN.
20337
20338 2015-04-22 Hale Wang <hale.wang@arm.com>
20339 Terry Guo <terry.guo@arm.com>
20340
20341 PR rtl-optimization/64818
20342 * combine.c (can_combine_p): Don't combine user-specified
20343 register if it is in an asm input.
20344
20345 2015-04-21 Jan Hubicka <hubicka@ucw.cz>
20346
20347 PR ipa/65076
20348 * passes.def (early_optimizations): Add pass_dse.
20349
20350 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20351
20352 * defaults.h (INSN_REFERENCES_ARE_DELAYED): New definition.
20353 * reorg.c (redundant_insn): Remove ifdef
20354 INSN_REFERENCES_ARE_DELAYED.
20355 * resource.c (mark_referenced_resources): Likewise.
20356
20357 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20358
20359 * defaults.h (INSN_SETS_ARE_DELAYED): New definition.
20360 * reorg.c (redundant_insn): Remove ifdef INSN_SETS_ARE_DELAYED.
20361 * resource.c (mark_set_resources): Likewise.
20362
20363 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20364
20365 * caller-save.c (insert_one_insn): Remove ifdef HAVE_cc0.
20366 * cfgcleanup.c (flow_find_cross_jump): Likewise.
20367 (flow_find_head_matching_sequence): Likewise.
20368 (try_head_merge_bb): Likewise.
20369 * combine.c (can_combine_p): Likewise.
20370 (try_combine): Likewise.
20371 (distribute_notes): Likewise.
20372 * df-problems.c (can_move_insns_across): Likewise.
20373 * final.c (final): Likewise.
20374 * gcse.c (insert_insn_end_basic_block): Likewise.
20375 * ira.c (find_moveable_pseudos): Likewise.
20376 * reorg.c (try_merge_delay_insns): Likewise.
20377 (fill_simple_delay_slots): Likewise.
20378 (fill_slots_from_thread): Likewise.
20379 * sched-deps.c (sched_analyze_2): Likewise.
20380
20381 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20382
20383 * df-scan.c (df_get_entry_block_def_set): Remove #ifdef
20384 PIC_OFFSET_TABLE_REGNUM.
20385
20386 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20387
20388 * alias.c (init_alias_target): Remove ifdef
20389 * HARD_FRAME_POINTER_IS_FRAME_POINTER.
20390 * df-scan.c (df_insn_refs_collect): Likewise.
20391 (df_get_regular_block_artificial_uses): Likewise.
20392 (df_get_eh_block_artificial_uses): Likewise.
20393 (df_get_entry_block_def_set): Likewise.
20394 (df_get_exit_block_use_set): Likewise.
20395 * emit-rtl.c (gen_rtx_REG): Likewise.
20396 * ira.c (ira_setup_eliminable_regset): Likewise.
20397 * reginfo.c (init_reg_sets_1): Likewise.
20398 * regrename.c (rename_chains): Likewise.
20399 * reload1.c (reload): Likewise.
20400 (eliminate_regs_in_insn): Likewise.
20401 * resource.c (mark_referenced_resources): Likewise.
20402 (init_resource_info): Likewise.
20403
20404 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20405
20406 * defaults.h (MASK_RETURN_ADDR): New definition.
20407 * except.c (expand_builtin_extract_return_addr): Remove ifdef
20408 MASK_RETURN_ADDR.
20409
20410 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20411
20412 * defaults.h (RETURN_ADDR_OFFSET): New definition.
20413 * except.c (expand_builtin_extract_return_addr): Remove ifdef
20414 RETURN_ADDR_OFFSET.
20415 (expand_builtin_frob_return_addr): Likewise.
20416
20417 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20418
20419 * cfgrtl.c (rtl_merge_blocks): Change #if HAVE_cc0 to if (HAVE_cc0)
20420 (try_redirect_by_replacing_jump): Likewise.
20421 (rtl_tidy_fallthru_edge): Likewise.
20422 * combine.c (insn_a_feeds_b): Likewise.
20423 (find_split_point): Likewise.
20424 (simplify_set): Likewise.
20425 * cprop.c (cprop_jump): Likewise.
20426 * cse.c (cse_extended_basic_block): Likewise.
20427 * df-problems.c (can_move_insns_across): Likewise.
20428 * function.c (emit_use_return_register_into_block): Likewise.
20429 * haifa-sched.c (sched_init): Likewise.
20430 * ira.c (find_moveable_pseudos): Likewise.
20431 * loop-invariant.c (find_invariant_insn): Likewise.
20432 * lra-constraints.c (curr_insn_transform): Likewise.
20433 * postreload.c (reload_combine_recognize_const_pattern):
20434 * Likewise.
20435 * reload.c (find_reloads): Likewise.
20436 * reorg.c (delete_scheduled_jump): Likewise.
20437 (steal_delay_list_from_target): Likewise.
20438 (steal_delay_list_from_fallthrough): Likewise.
20439 (redundant_insn): Likewise.
20440 (fill_simple_delay_slots): Likewise.
20441 (fill_slots_from_thread): Likewise.
20442 (delete_computation): Likewise.
20443 * sched-rgn.c (add_branch_dependences): Likewise.
20444
20445 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20446
20447 * genconfig.c (main): Always define HAVE_cc0.
20448 * caller-save.c (insert_one_insn): Change ifdef HAVE_cc0 to #if
20449 HAVE_cc0.
20450 * cfgcleanup.c (flow_find_cross_jump): Likewise.
20451 (flow_find_head_matching_sequence): Likewise.
20452 (try_head_merge_bb): Likewise.
20453 * cfgrtl.c (rtl_merge_blocks): Likewise.
20454 (try_redirect_by_replacing_jump): Likewise.
20455 (rtl_tidy_fallthru_edge): Likewise.
20456 * combine.c (do_SUBST_MODE): Likewise.
20457 (insn_a_feeds_b): Likewise.
20458 (combine_instructions): Likewise.
20459 (can_combine_p): Likewise.
20460 (try_combine): Likewise.
20461 (find_split_point): Likewise.
20462 (subst): Likewise.
20463 (simplify_set): Likewise.
20464 (distribute_notes): Likewise.
20465 * cprop.c (cprop_jump): Likewise.
20466 * cse.c (cse_extended_basic_block): Likewise.
20467 * df-problems.c (can_move_insns_across): Likewise.
20468 * final.c (final): Likewise.
20469 (final_scan_insn): Likewise.
20470 * function.c (emit_use_return_register_into_block): Likewise.
20471 * gcse.c (insert_insn_end_basic_block): Likewise.
20472 * haifa-sched.c (sched_init): Likewise.
20473 * ira.c (find_moveable_pseudos): Likewise.
20474 * loop-invariant.c (find_invariant_insn): Likewise.
20475 * lra-constraints.c (curr_insn_transform): Likewise.
20476 * optabs.c (prepare_cmp_insn): Likewise.
20477 * postreload.c (reload_combine_recognize_const_pattern):
20478 * Likewise.
20479 * reload.c (find_reloads): Likewise.
20480 (find_reloads_address_1): Likewise.
20481 * reorg.c (delete_scheduled_jump): Likewise.
20482 (steal_delay_list_from_target): Likewise.
20483 (steal_delay_list_from_fallthrough): Likewise.
20484 (try_merge_delay_insns): Likewise.
20485 (redundant_insn): Likewise.
20486 (fill_simple_delay_slots): Likewise.
20487 (fill_slots_from_thread): Likewise.
20488 (delete_computation): Likewise.
20489 (relax_delay_slots): Likewise.
20490 * sched-deps.c (sched_analyze_2): Likewise.
20491 * sched-rgn.c (add_branch_dependences): Likewise.
20492
20493 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20494
20495 * combine.c (find_single_use): Remove HAVE_cc0 ifdef for code
20496 that is trivially ded on non cc0 targets.
20497 (simplify_set): Likewise.
20498 (mark_used_regs_combine): Likewise.
20499 * cse.c (new_basic_block): Likewise.
20500 (fold_rtx): Likewise.
20501 (cse_insn): Likewise.
20502 (cse_extended_basic_block): Likewise.
20503 (set_live_p): Likewise.
20504 * rtlanal.c (canonicalize_condition): Likewise.
20505 * simplify-rtx.c (simplify_binary_operation_1): Likewise.
20506
20507 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20508
20509 * conditions.h: Define macros even if HAVE_cc0 is undefined.
20510 * emit-rtl.c: Define functions even if HAVE_cc0 is undefined.
20511 * final.c: Likewise.
20512 * jump.c: Likewise.
20513 * recog.c: Likewise.
20514 * recog.h: Declare functions even when HAVE_cc0 is undefined.
20515 * sched-deps.c (sched_analyze_2): Always compile case for cc0.
20516
20517 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20518
20519 * defaults.h: New definition of EH_RETURN_DATA_REGNO.
20520 * except.c: Remove definition of EH_RETURN_DATA_REGNO.
20521 * builtins.c (expand_builtin): Remove check if
20522 EH_RETURN_DATA_REGNO is defined.
20523 * df-scan.c (df_bb_refs_collect): Likewise.
20524 (df_get_exit_block_use_set): Likewise.
20525 * haifa-sched.c (initiate_bb_reg_pressure_info): Likewise.
20526 * ira-lives.c (process_bb_node_lives): Likewise.
20527 * lra-lives.c (process_bb_lives): Likewise.
20528
20529 2015-04-21 Uros Bizjak <ubizjak@gmail.com>
20530
20531 * config/i386/i386.md (ARGP_REG, FRAME_REG, BND2_REG, BND3_REG,
20532 FIRST_PSEUDO_REG): New.
20533 * config/i386/i386.h (STACK_POINTER_REGNUM): Define to SP_REG.
20534 (ARG_POINTER_REGNUM): Define to ARGP_REG.
20535 (FRAME_POINTER_REGNUM): Define to FRAME_REG.
20536 (HARD_FRAME_POINTER_REGNUM): Define to BP_REG.
20537 (FIRST_PSEUDO_REGISTER): Define to FIRST_PSEUDO_REG.
20538 (FIRST_INT_REG): New.
20539 (LAST_INT_REG): New.
20540 (FIRST_*_REG): Define using *_REG.
20541 (LAST_*_REG): Ditto.
20542 (QI_REGNO_P): Define using FIRST_QU_REG and LAST_QI_REG.
20543 (LEGACY_INT_REGNO_P): Define using FIRST_INT_REG and LAST_INT_REG.
20544 (FIRST_FLOAT_REG): Define to FIRST_STACK_REG.
20545
20546 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20547
20548 * expmed.c: (synth_mult): Only assume overlapping
20549 shift with previous steps in alg_sub_t_m2 case.
20550
20551 2015-04-21 Richard Biener <rguenther@suse.de>
20552
20553 PR tree-optimization/65650
20554 * tree-ssa-ccp.c (valid_lattice_transition): Allow lattice
20555 transitions involving copies.
20556 (set_lattice_value): Adjust for copy lattice state.
20557 (ccp_lattice_meet): Do not merge UNDEFINED and a copy to the copy
20558 if that doesn't dominate the merge point.
20559 (bit_value_unop): Adjust what we treat as varying mask.
20560 (bit_value_binop): Likewise.
20561 (bit_value_assume_aligned): Likewise.
20562 (evaluate_stmt): When we simplified to a SSA name record a copy
20563 instead of dropping to varying.
20564 (visit_assignment): Simplify.
20565
20566 * gimple-match.h (gimple_simplify): Add another callback.
20567 * gimple-fold.c (fold_stmt_1): Adjust caller.
20568 (gimple_fold_stmt_to_constant_1): Likewise - pass valueize
20569 for the 2nd callback.
20570 * gimple-match-head.c (gimple_simplify): Add a callback that is
20571 used to valueize the stmt operands and use it that way.
20572
20573 2015-04-21 Richard Biener <rguenther@suse.de>
20574
20575 PR tree-optimization/65788
20576 * tree-ssa-ccp.c (evaluate_stmt): Evaluate to UNDEFINED early.
20577
20578 2015-04-21 Richard Biener <rguenther@suse.de>
20579
20580 * config/i386/i386.c (ix86_builtin_vectorization_cost): Scale
20581 vec_construct cost by vec_stmt_cost.
20582
20583 2015-04-21 Richard Biener <rguenther@suse.de>
20584
20585 * cfghooks.h (create_basic_block): Replace with two overloads
20586 for RTL and GIMPLE.
20587 (split_block): Likewise.
20588 * cfghooks.c (split_block): Rename to ...
20589 (split_block_1): ... this.
20590 (split_block): Add two type-safe overloads for RTL and GIMPLE.
20591 (split_block_after_labels): Call split_block_1.
20592 (create_basic_block): Rename to ...
20593 (create_basic_block_1): ... this.
20594 (create_basic_block): Add two type-safe overloads for RTL and GIMPLE.
20595 (create_empty_bb): Call create_basic_block_1.
20596 * cfgrtl.c (fixup_fallthru_exit_predecessor): Use
20597 split_block_after_labels.
20598 * omp-low.c (expand_parallel_call): Likewise.
20599 (expand_omp_target): Likewise.
20600 (simd_clone_adjust): Likewise.
20601 * tree-chkp.c (chkp_get_entry_block): Likewise.
20602 * cgraphunit.c (init_lowered_empty_function): Use the GIMPLE
20603 create_basic_block overload.
20604 (cgraph_node::expand_thunk): Likewise.
20605 * tree-cfg.c (make_blocks): Likewise.
20606 (handle_abnormal_edges): Likewise.
20607 * tree-inline.c (copy_bb): Likewise.
20608
20609 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20610
20611 * config/aarch64/aarch64.md (*<NLOGICAL:optab>_one_cmplsidi3_ze):
20612 New pattern.
20613 (*xor_one_cmplsidi3_ze): Likewise.
20614
20615 2015-04-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
20616
20617 * df-core.c (df_finish_pass): Iterate over df->problems_by_index[] and
20618 use df_remove_problem rather than manually removing problems, leaving
20619 holes in df->problems_in_order[].
20620
20621 2015-04-21 Tom de Vries <tom@codesourcery.com>
20622
20623 PR tree-optimization/65802
20624 * internal-fn.def (VA_ARG): Add ECF_NOTROW to flags.
20625
20626 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20627
20628 * common/config/aarch64/aarch64-common.c (AARCH64_CPU_NAME_LENGTH):
20629 Increase to 128.
20630 (aarch64_rewrite_selected_cpu): Do not chop off extensions starting
20631 at '.'. Assert that there's enough space for everything.
20632
20633 2015-04-21 Uros Bizjak <ubizjak@gmail.com>
20634
20635 PR tree-optimization/64950
20636 Revert:
20637 2010-08-02 Uros Bizjak <ubizjak@gmail.com>
20638
20639 PR target/41089
20640 * config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset
20641 as volatile.
20642
20643 2015-04-20 Shiva Chen <shiva0217@gmail.com>
20644
20645 PR rtl-optimization/64916
20646 * cfgcleanup.c (values_equal_p): New function.
20647 (can_replace_by): Use it.
20648
20649 2015-04-20 Paolo Carlini <paolo.carlini@oracle.com>
20650
20651 PR c++/65801
20652 * doc/invoke.texi ([-Wnarrowing]): Update.
20653
20654 2015-04-20 Jeff Law <law@redhat.com>
20655
20656 PR tree-optimization/65658
20657 * tree-ssa-threadupdate.c (redirection_block_p): Remove
20658 redundant test for GIMPLE_ASSIGN in last change.
20659
20660 2015-04-20 Uros Bizjak <ubizjak@gmail.com>
20661
20662 * config/i386/i386.c (set_pic_reg_ever_live): Remove.
20663 (legitimize_pic_address): Do not call set_pic_reg_ever_live.
20664 (legitimize_tls_address): Ditto.
20665 (ix86_expand_move): Ditto.
20666 (ix86_expand_binary_operator): Remove reload_in_progress checks.
20667 (ix86_expand_unary_operator): Ditto.
20668 * config/i386/predicates.md (index_register_operand): Ditto.
20669
20670 2015-04-20 Selim Belbachir <selim.belbachir@fr.thalesgroup.com>
20671
20672 * reorg.c (try_merge_delay_insns): Improve correctness checking
20673 for targets with multiple delay slots.
20674
20675 2015-04-20 Jeff Law <law@redhat.com>
20676
20677 PR tree-optimization/65658
20678 * tree-ssa-threadupdate.c (redirection_block_p): Ignore clobber
20679 statements too.
20680
20681 2015-04-20 Alan Lawrence <alan.lawrence@arm.com>
20682
20683 * config/aarch64/aarch64.c (aarch64_simd_emit_pair_result_insn): Delete.
20684 * config/aarch64/aarch64-protos.h (aarch64_simd_emit_pair_result_insn):
20685 Delete.
20686
20687 2015-04-20 Jakub Jelinek <jakub@redhat.com>
20688
20689 PR debug/65807
20690 * dwarf2out.c (add_AT_wide): Clear attr.dw_attr_val.val_entry.
20691
20692 2015-04-20 Richard Biener <rguenther@suse.de>
20693
20694 * gimple-fold.h (gimple_build): Remove optional valueize arguments.
20695 * gimple-fold.c (gimple_build_valueize): New function.
20696 (gimple_build): Always use gimple_build_valueize as valueize hook.
20697
20698 2015-04-20 Alan Lawrence <alan.lawrence@arm.com>
20699
20700 PR target/64134
20701 * config/aarch64/aarch64.c (aarch64_expand_vector_init): Load constant
20702 and overwrite variable parts if <= 1/2 the elements are variable.
20703
20704 2015-04-19 Vladimir Makarov <vmakarov@redhat.com>
20705
20706 PR rtl-optimization/65805
20707 * lra-eliminations.c (lra_eliminate_regs_1): Add new assert.
20708 Don't use difference of offset and previous offset if
20709 update_sp_offset is non-zero.
20710 (eliminate_regs_in_insn): Ditto.
20711 * lra-spills.c (remove_pseudos): Exchange 4th and 6th args in
20712 lra_eliminate_regs_1 call.
20713 * lra-constraints.c (get_equiv_with_elimination): Ditto.
20714
20715 2015-04-18 Trevor Saunders <tsaunders@mozilla.com>
20716
20717 * hash-table.h: Remove version of hash_table that stored value_type *.
20718 * asan.c, attribs.c, bitmap.c, cfg.c, cgraph.h, config/arm/arm.c,
20719 config/i386/winnt.c, config/ia64/ia64.c, config/mips/mips.c,
20720 config/sol2.c, coverage.c, cselib.c, dse.c, dwarf2cfi.c,
20721 dwarf2out.c, except.c, gcse.c, genmatch.c, ggc-common.c,
20722 gimple-ssa-strength-reduction.c, gimplify.c, haifa-sched.c,
20723 hard-reg-set.h, hash-map.h, hash-set.h, ipa-devirt.c, ipa-icf.h,
20724 ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
20725 loop-iv.c, loop-unroll.c, lto-streamer.h, plugin.c, postreload-gcse.c,
20726 reginfo.c, statistics.c, store-motion.c, trans-mem.c, tree-cfg.c,
20727 tree-eh.c, tree-hasher.h, tree-into-ssa.c, tree-parloops.c,
20728 tree-sra.c, tree-ssa-coalesce.c, tree-ssa-dom.c, tree-ssa-live.c,
20729 tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c,
20730 tree-ssa-pre.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c,
20731 tree-ssa-structalias.c, tree-ssa-tail-merge.c,
20732 tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
20733 valtrack.h, var-tracking.c, vtable-verify.c, vtable-verify.h: Adjust.
20734
20735 2015-04-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
20736 Jakub Jelinek <jakub@redhat.com>
20737
20738 PR target/65787
20739 * config/rs6000/rs6000.c (rtx_is_swappable_p): Ensure that a
20740 subsequent SH_NONE operand does not overwrite an existing *special
20741 value.
20742 (adjust_extract): Handle case where a vec_extract operation is
20743 wrapped in a PARALLEL.
20744
20745 2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
20746
20747 PR target/65780
20748 * config/i386/i386.c (ix86_binds_local_p): Define only if
20749 TARGET_MACHO and TARGET_DLLIMPORT_DECL_ATTRIBUTES are false.
20750
20751 2015-04-17 Jeff Law <law@redhat.com>
20752
20753 PR tree-optimization/47679
20754 * Makefile.in (OBJS); Add tree-ssa-scopedtables.o.
20755 * tree-ssa-scopedtables.c: New file.
20756 * tree-ssa-scopedtables.h: New file.
20757 * tree-ssa-dom.c: Include tree-ssa-scopedtables.h.
20758 (const_and_copies): Change name/type.
20759 (record_const_or_copy): Move into tree-ssa-scopedtables.c
20760 (record_const_or_copy_1): Similarly.
20761 (restore_vars_to_original_value): Similarly.
20762 (pass_dominator::execute): Create and destroy const_and_copies table.
20763 (thread_across_edge): Update passing of const_and_copies.
20764 (record_temporary_equivalence): Use method calls rather than
20765 manipulating const_and_copies directly.
20766 (record_equality, cprop_into_successor_phis): Similarly.
20767 (dom_opt_dom_walker::before_dom_children): Similarly.
20768 (dom_opt_dom_walker::after_dom_children): Similarly.
20769 (eliminate_redundant_computations): Similarly.
20770 * tree-ssa-threadedge.c (remove_temporary_equivalences): Delete.
20771 (record_temporary_equivalence): Likewise.
20772 (invalidate_equivalences): Likewise.
20773 (record_temporary_equivalences_from_phis): Update due to type
20774 change of const_and_copies. Use method calls rather than
20775 manipulating the stack directly.
20776 (record_temporary_equivalences_from_stmts_at_dest): Likewise.
20777 (thread_through_normal_block, thread_across_edge): Likewise.
20778 (thread_across_edge): Likewise.
20779 * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
20780 * tree-vrp.c: Include tree-ssa-scopedtables.h. Change type
20781 of equiv_stack.
20782 (identify_jump_threads): Update due to type change of equiv_stack.
20783 (finalize_jump_threads): Delete the equiv_stack when complete.
20784
20785 2015-04-17 Uros Bizjak <ubizjak@gmail.com>
20786
20787 * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
20788 * config/i386/i386.c (ix86_legitimize_reload_address): Ditto.
20789 * config/i386/i386-protos.h (ix86_legitimize_reload_address): Ditto.
20790
20791 2015-04-17 Andreas Tobler <andreast@gcc.gnu.org>
20792
20793 PR target/65535
20794 * config.gcc: Exit with a comment when we do not have a major version
20795 number for the FreeBSD target.
20796
20797 2015-04-17 Jakub Jelinek <jakub@redhat.com>
20798
20799 PR target/65689
20800 * genpreds.c (struct constraint_data): Add maybe_allows_reg and
20801 maybe_allows_mem bitfields.
20802 (maybe_allows_none_start, maybe_allows_none_end,
20803 maybe_allows_reg_start, maybe_allows_reg_end, maybe_allows_mem_start,
20804 maybe_allows_mem_end): New variables.
20805 (compute_maybe_allows): New function.
20806 (add_constraint): Use it to initialize maybe_allows_reg and
20807 maybe_allows_mem fields.
20808 (choose_enum_order): Sort the non-is_register/is_const_int/is_memory/
20809 is_address constraints such that those that allow neither mem nor
20810 reg come first, then those that only allow reg but not mem, then
20811 those that only allow mem but not reg, then the rest.
20812 (write_allows_reg_mem_function): New function.
20813 (write_tm_preds_h): Call it.
20814 * stmt.c (parse_output_constraint, parse_input_constraint): Use
20815 the generated insn_extra_constraint_allows_reg_mem function
20816 instead of always setting *allows_reg = true; *allows_mem = true;
20817 for unknown extra constraints.
20818
20819 2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
20820
20821 PR target/65780
20822 * output.h (default_binds_local_p_3): New.
20823 * varasm.c (default_binds_local_p_3): Make it public. Take an
20824 argument to indicate if common symbol may be local. If common
20825 symbol may be local, treat non-external variable as defined
20826 locally.
20827 (default_binds_local_p_2): Pass !flag_pic to default_binds_local_p_3.
20828 (default_binds_local_p_1): Pass false to default_binds_local_p_3.
20829 * config/i386/i386.c (ix86_binds_local_p): New.
20830 (TARGET_BINDS_LOCAL_P): Replace default_binds_local_p_2 with
20831 ix86_binds_local_p.
20832
20833 2015-04-17 Jakub Jelinek <jakub@redhat.com>
20834
20835 PR debug/65771
20836 * dwarf2out.c (mem_loc_descriptor): For CONST, fallback to
20837 trying mem_loc_descriptor on XEXP (rtl, 0).
20838
20839 2015-04-17 Martin Liska <mliska@suse.cz>
20840
20841 * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
20842 Release symbol_compare_collection.
20843 * ipa-reference.c: Add TODO that a vector should be released.
20844
20845 2015-04-17 Sivanupandi Pitchumani <Pitchumani.Sivanupandi@atmel.com>
20846
20847 PR target/65296
20848 * config/avr/gen-avr-mmcu-specs.c (*avrlibc_startfile): Adjust
20849 to new AVR-LibC file layout (bug #44574).
20850 (*avrlibc_devicelib): Same.
20851 * config/avr/avr-mcus.def: Adjust comments.
20852 * config/avr/avr.opt (nodevicelib): Adjust help.
20853
20854 2015-04-17 Alan Lawrence <alan.lawrence@arm.com>
20855
20856 * config/aarch64/arm_neon.h (vdup_n_f32): Remove forward declaration.
20857
20858 2015-04-17 Patrick Palka <ppalka@gcc.gnu.org>
20859
20860 PR c++/64527
20861 * gimplify.c (gimplify_init_constructor): Always emit a
20862 side-effecting constructor.
20863
20864 2015-04-17 Tom de Vries <tom@codesourcery.com>
20865
20866 PR tree-optimization/64950
20867 * gimplify.c (gimplify_function_tree): Tentatively set PROP_gimple_lva
20868 in cfun->curr_properties.
20869 (gimplify_va_arg_expr): Clear PROP_gimple_lva in cfun->curr_properties
20870 if we generate an IFN_VA_ARG.
20871 * tree-inline.c (expand_call_inline): Reset PROP_gimple_lva in dest
20872 function if PROP_gimple_lva is not set in src function.
20873
20874 2015-04-17 Tom de Vries <tom@codesourcery.com>
20875 Michael Matz <matz@suse.de>
20876
20877 PR tree-optimization/64950
20878 * gimple-iterator.c (update_modified_stmts): Remove static.
20879 * gimple-iterator.h (update_modified_stmts): Declare.
20880 * gimplify.c (gimplify_modify_expr): Handle IFN_VA_ARG.
20881 (gimplify_va_arg_internal): New function.
20882 (gimplify_va_arg_expr): Use IFN_VA_ARG.
20883 * gimplify.h (gimplify_va_arg_internal): Declare.
20884 * internal-fn.c (expand_VA_ARG): New unreachable function.
20885 * internal-fn.def (VA_ARG): New DEF_INTERNAL_FN.
20886 * tree-stdarg.c (gimple_call_ifn_va_arg_p, expand_ifn_va_arg_1)
20887 (expand_ifn_va_arg): New function.
20888 (pass_data_stdarg): Add PROP_gimple_lva to properties_provided field.
20889 (pass_stdarg::execute): Call expand_ifn_va_arg.
20890 (pass_data_lower_vaarg): New pass_data.
20891 (pass_lower_vaarg): New gimple_opt_pass.
20892 (pass_lower_vaarg::gate, pass_lower_vaarg::execute)
20893 (make_pass_lower_vaarg): New function.
20894 * cfgexpand.c (pass_data_expand): Add PROP_gimple_lva to
20895 properties_required field.
20896 * passes.def (all_passes): Add pass_lower_vaarg.
20897 * tree-pass.h (PROP_gimple_lva): Add define.
20898 (make_pass_lower_vaarg): Declare.
20899
20900 2015-04-17 Tom de Vries <tom@codesourcery.com>
20901
20902 * fold-const.c (operand_equal_p): Handle INTERNAL_FNs.
20903 * calls.c (call_expr_flags): Same.
20904
20905 2015-04-17 Tom de Vries <tom@codesourcery.com>
20906
20907 * tree-stdarg.c (optimize_va_list_gpr_fpr_size): Factor out of ...
20908 (pass_stdarg::execute): ... here.
20909
20910 2015-04-17 Tom de Vries <tom@codesourcery.com>
20911 Michael Matz <matz@suse.de>
20912
20913 * tree-cfg.c (make_blocks_1): Factor out of ...
20914 (make_blocks): ... here.
20915 (make_edges_bb): Factor out of ...
20916 (make_edges): ... here.
20917 (gimple_find_sub_bbs): New function.
20918 * tree-cfg.h (gimple_find_sub_bbs): Declare.
20919
20920 2015-04-17 Tom de Vries <tom@codesourcery.com>
20921
20922 * tree.c (free_lang_data): Disable lang_hooks.gimplify_expr.
20923
20924 2015-04-17 Yury Gribov <y.gribov@samsung.com>
20925
20926 * asan.c (set_sanitized_sections): New function.
20927 (section_sanitized_p): Ditto.
20928 (asan_protect_global): Optionally sanitize user-defined
20929 sections.
20930 * asan.h (set_sanitized_sections): Declare new function.
20931 * common.opt (fsanitize-sections): New option.
20932 * doc/invoke.texi (-fsanitize-sections): Document new option.
20933 * opts-global.c (handle_common_deferred_options): Handle new
20934 option.
20935
20936 2015-04-17 Jakub Jelinek <jakub@redhat.com>
20937
20938 PR debug/65771
20939 * dwarf2out.c (loc_list_from_tree): Return NULL
20940 for DEBUG_EXPR_DECL.
20941
20942 2015-04-17 Christian Bruel <christian.bruel@st.com>
20943
20944 * ipa-inline.c (can_inline_edge_p): Allow inlining of functions with
20945 same attributes.
20946
20947 2015-04-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
20948
20949 * ira-color.c (setup_left_conflict_sizes_p): Do not process
20950 node itself when computing left conflict subnode size.
20951
20952 2015-04-16 Uros Bizjak <ubizjak@gmail.com>
20953
20954 * config/i386/predicates.md (register_mixssei387nonimm_operand): New.
20955 * config/i386/i386.md (*fop_<mode>_1_mixed): Merge with
20956 *fop_<mode>_1_sse using enabled attribute. Use
20957 register_mixssei387nonimm_operand operand 1 predicate. Change
20958 alternative 3 constraints from "x" to "v".
20959
20960 2015-04-16 Richard Biener <rguenther@suse.de>
20961
20962 PR tree-optimization/65774
20963 * tree-ssa-ccp.c (evaluate_stmt): Constrain types we invoke
20964 bit-value tracking on.
20965
20966 2015-04-16 Richard Biener <rguenther@suse.de>
20967
20968 PR tree-optimization/64277
20969 * tree-vrp.c (check_array_ref): Fix anti-range handling,
20970 simplify upper bound handling.
20971 (search_for_addr_array): Simplify.
20972 (check_array_bounds): Handle ADDR_EXPRs here.
20973 (check_all_array_refs): Simplify.
20974
20975 2015-04-16 Uros Bizjak <ubizjak@gmail.com>
20976
20977 * config/i386/i386.c (print_reg): Rewrite function.
20978
20979 2015-04-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
20980
20981 * config/s390/s390.h (IRA_HARD_REGNO_ADD_COST_MULTIPLIER):
20982 Invert the condition.
20983
20984 2015-04-16 Renlin Li <renlin.li@arm.com>
20985
20986 * simplify-rtx.c (simplify_unary_operation_1): Fix a typo. Enable two
20987 simplifications for UNSIGNED_FLOAT.
20988
20989 2015-04-16 Nick Clifton <nickc@redhat.com>
20990
20991 * config/rl78/rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and
20992 MUL_UNINIT.
20993 (enum rl78_cpu_type): New.
20994 * config/rl78/rl78-virt.md (attr valloc): Add divhi and divsi.
20995 (umulhi3_shift_virt): Remove m constraint from operand 1.
20996 (umulqihi3_virt): Likewise.
20997 * config/rl78/rl78.c (rl78_option_override): Add code to process
20998 -mcpu and -mmul options.
20999 (rl78_alloc_physical_registers): Add code to handle divhi and
21000 divsi valloc attributes.
21001 (set_origin): Likewise.
21002 * config/rl78/rl78.h (RL78_MUL_G14): Define.
21003 (TARGET_G10, TARGET_G13, TARGET_G14): Define.
21004 (TARGET_CPU_CPP_BUILTINS): Define __RL78_MUL_xxx__ and
21005 __RL78_Gxx__.
21006 (ASM_SPEC): Pass -mcpu on to assembler.
21007 * config/rl78/rl78.md (mulqi3): Add a clobber of AX.
21008 (mulqi3_rl78): Likewise.
21009 (mulhi3_g13): Likewise.
21010 (mulhi3): Generate the G13 or G14 versions of the insn directly.
21011 (mulsi3): Likewise.
21012 (mulhi3_g14): Add clobbers of AX and BC.
21013 (mulsi3_g14): Likewise.
21014 (mulsi3_g13): Likewise.
21015 (udivmodhi4, udivmodhi4_g14, udivmodsi4): New patterns.
21016 (udivmodsi4_g14, udivmodsi4_g13): New patterns.
21017 * config/rl78/rl78.opt (mmul): Initialise value to
21018 RL78_MUL_UNINIT.
21019 (mcpu): New option.
21020 (m13, m14, mrl78): New option aliases.
21021 * config/rl78/t-rl78 (MULTILIB_OPTIONS): Add mg13 and mg14.
21022 (MULTILIB_DIRNAMES): Add g13 and g14.
21023 * doc/invoke.texi: Document -mcpu and -mmul options.
21024
21025 2015-04-16 Richard Biener <rguenther@suse.de>
21026
21027 * tree-ssa-ccp.c (likely_value): See if we have operands that
21028 are marked as never simulate again and return CONSTANT in this
21029 case.
21030 * tree-ssa-propagate.c (simulate_stmt): Mark stmts that do
21031 not have any operands that will be simulated again as
21032 not being simulated again.
21033
21034 2015-04-15 Uros Bizjak <ubizjak@gmail.com>
21035
21036 * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed):
21037 Merge with *cmpi<FPCMP:unord><MODEF:mode>_sse using enabled attribute.
21038 (*extendsfdf2_mixed): Merge with *extendsfdf2_sse using enabled
21039 attribute.
21040 (*truncdfsf_fast_mixed): Merge with *truncdfsf_fast_sse using
21041 enabled attribute.
21042 (*float<SWI48:mode><MODEF:mode>2_mixed): Rename from
21043 *float<SWI48:mode><MODEF:mode>2_sse.
21044 (*absneg<mode>2_mixed): Merge with *absneg<mode>2_sse using
21045 enabled attribute.
21046 (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_sse using
21047 enabled attribute.
21048
21049 2015-04-15 Tom de Vries <tom@codesourcery.com>
21050
21051 PR other/65487
21052 * function.c (push_dummy_function): New function.
21053 (init_dummy_function_start): Use push_dummy_function.
21054 (pop_dummy_function): New function. Factored out of ...
21055 (expand_dummy_function_end): ... here.
21056 * function.h (push_dummy_function, pop_dummy_function): Declare.
21057 * passes.c (pass_manager::dump_passes): Use push_dummy_function and
21058 pop_dummy_function.
21059 * tree-chkp.c (chkp_gate): Handle cgraph_node::get (cfun->decl) == NULL.
21060
21061 2015-04-15 Jeff Law <law@redhat.com>
21062
21063 PR tree-optimization/47679
21064 * tree-ssa-dom.c (build_and_record_new_cond): Moved to avoid
21065 need for forward declaration in upcoming changes.
21066 (record_conditions, record_edge_info): Likewise.
21067
21068 PR rtl-optimization/42522
21069 * cse.c (fold_rtx): Try to simplify a ZERO_EXTRACT or
21070 SIGN_EXTRACT as a whole object rather than simplifying
21071 its operand.
21072
21073 2015-04-15 Jakub Jelinek <jakub@redhat.com>
21074
21075 PR ipa/65765
21076 * ipa-icf-gimple.c (func_checker::compare_bb): For GIMPLE_NOP
21077 and GIMPLE_PREDICT use break instead of return true. For
21078 GIMPLE_EH_DISPATCH, compare dispatch region.
21079
21080 2015-04-14 Matthew Wahab <matthew.wahab@arm.com>
21081
21082 * doc/extend.texi (__sync Builtins): Simplify some text. Update
21083 details about the implementation. Make clear preference for
21084 __atomic builtins. Reduce possibility of future change.
21085
21086 2015-04-15 Nick Clifton <nickc@redhat.com>
21087
21088 * config/rx/rx.opt (mallow-string-insns): New option.
21089 * config/rx/rx.c (RX_BUILTIN_RMPA): Disable the use of this
21090 builtin if string instructions are denied.
21091 * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Define
21092 __RX_ALLOW_STRING_INSNS__ or __RX_DISALLOW_STRING_INSNS__, as
21093 appropriate.
21094 (ASM_SPEC): Pass -mno-allow-string-insns on to the assembler.
21095 * config/rx/rx.md (movstr): Enable pattern only if string
21096 instructions are allowed.
21097 (rx_movstr, rx_strend, movmemsi, rx_movmem): Likewise.
21098 (cmpstrnsi, cmpstrsi, rx_cmpstrn, rmpa): Likewise.
21099 * config/rx/t-rx (MULTILIB_OPTIONS): Add mno-allow-string-insns.
21100 (MULTILIB_DIRNAMES): Add no-strings.
21101 * doc/invoke.texi: Document -mno-allow-string-insns.
21102
21103 2015-04-15 Alan Modra <amodra@gmail.com>
21104
21105 PR target/65408
21106 PR target/58744
21107 PR middle-end/36043
21108 * calls.c (load_register_parameters): Don't load past end of
21109 mem unless suitably aligned.
21110
21111 2015-04-15 Nick Clifton <nickc@redhat.com>
21112
21113 * config/rl78/rl78.c (rl78_expand_prologue): Mark large stack
21114 decrement instruction as being frame related.
21115 (rl78_print_operand_1): Handle 'p' modifier to add +0 to HL
21116 based addresses.
21117 If zero extending a function address enclose the operation in
21118 %code(...).
21119 (rl78_preferred_reload_class): New function.
21120 (TARGET_PREFERRED_RELOAD_CLASS): Define.
21121 * config/rl78/rl78.md: Remove useless constraints in expanders.
21122 (mulqi3_rl78): Remove + qualifier on input-only operand 1.
21123 (mulhi3_rl78): Likewise.
21124 (mulhi3_g13): Likewise.
21125 (mulsi3_rl78): Likewise.
21126 (es_addr): Move to before the multiply patterns.
21127
21128 2015-04-15 Alan Modra <amodra@gmail.com>
21129
21130 * function.h (struct emit_status): Delete x_first_insn, x_last_insn
21131 and sequence_stack. Add seq.
21132 (seq_stack): Delete.
21133 * function.c (prepare_function_start): Don't access x_last_insn.
21134 * emit-rtl.h (get_current_sequence, get_topmost_sequence): New.
21135 (get_insns, set_first_insn, get_last_insn, set_last_insn): Use them.
21136 * emit_rtl.c (start_sequence, push_topmost_sequence,
21137 pop_topmost_sequence, end_sequence, in_sequence_p, init_emit): Use
21138 sequence accessors.
21139 (get_last_insn_anywhere, add_insn_after_nobb, add_insn_before_nobb,
21140 remove_insn): Likewise. Simplify.
21141 * config/m32c/m32c.c (m32c_leaf_function_p): Use push_topmost_sequence
21142 and pop_topmost_sequence.
21143 (m32c_function_needs_enter): Use get_topmost_sequence. Ignore
21144 debug insns.
21145 * config/rs6000/rs6000.c (rs6000_call_aix): Use get_current_sequence.
21146
21147 2015-04-14 Yvan Roux <yvan.roux@linaro.org>
21148
21149 PR target/65729
21150 * lra-constraints.c (prohibited_class_reg_set_mode_p): Restore and fix
21151 the assertiion.
21152
21153 2015-04-14 Uros Bizjak <ubizjak@gmail.com>
21154
21155 * config/i386/i386.h (LEGACY_INT_REG_P): New define.
21156 (LEGACY_INT_REGNO_P): Ditto.
21157 (GENERAL_REGNO_P): Use LEGACY_INT_REGNO_P.
21158 (ANY_MASK_REG_P): Remove.
21159 (BND_REG_P): Rename from ANY_BND_REG_P.
21160 * config/i386/i386.c (print_reg): Use LEGACY_INT_REG_P to print
21161 legacy integer registers. Do not handle MMX_REG_P in a special way.
21162 Merge 64byte and 32byte SSE handling.
21163
21164 2015-04-14 Nick Clifton <nickc@redhat.com>
21165
21166 * expr.c (expand_assignment): Force an address offset computation
21167 into a register before changing its mode.
21168 (expand_expr_real_1): Likewise.
21169
21170 2015-04-14 Alan Lawrence <alan.lawrence@arm.com>
21171
21172 * config/aarch64/arm_neon.h (vst1_lane_f32, vst1_lane_f64,
21173 vst1_lane_p8, vst1_lane_p16, vst1_lane_s8, vst1_lane_s16,
21174 vst1_lane_s32, vst1_lane_s64, vst1_lane_u8, vst1_lane_u16,
21175 vst1_lane_u32, vst1_lane_u64, vst1q_lane_f32, vst1q_lane_f64,
21176 vst1q_lane_p8, vst1q_lane_p16, vst1q_lane_s8, vst1q_lane_s16,
21177 vst1q_lane_s32, vst1q_lane_s64, vst1q_lane_u8, vst1q_lane_u16,
21178 vst1q_lane_u32, vst1q_lane_u64): Reimplement with pointer dereference
21179 and __aarch64_vget_lane_any.
21180
21181 2015-04-14 Jakub Jelinek <jakub@redhat.com>
21182
21183 PR rtl-optimization/65761
21184 * cfgrtl.c (rtl_split_edge): For EDGE_CROSSING split, use
21185 get_last_bb_insn (after) instead of NEXT_INSN (BB_END (after)).
21186
21187 2015-04-14 Richard Biener <rguenther@suse.de>
21188
21189 * graphite-scop-detection.c: Do not include cp/cp-tree.h.
21190 (graphite_can_represent_scev): Use POINTER_TYPE_P.
21191
21192 2015-04-14 Richard Biener <rguenther@suse.de>
21193
21194 PR tree-optimization/65758
21195 * tree-ssa-ccp.c (get_value_from_alignment): Adjust mask test
21196 against -1.
21197 (ccp_lattice_meet): Likewise.
21198 (bit_value_unop): Likewise.
21199 (bit_value_binop): Likewise.
21200 (bit_value_assume_aligned): Likewise.
21201
21202 2015-04-14 Christian Bruel <christian.bruel@st.com>
21203
21204 * execute_dwarf2_frame (dw_frame_pointer_regnum): Reinitialize for each
21205 function.
21206
21207 2015-04-14 Marc Glisse <marc.glisse@inria.fr>
21208
21209 PR tree-optimization/63387
21210 * match.pd ((x unord x) | (y unord y) -> (x unord y),
21211 (x unord x) | (x unord y) -> (x unord y)): New simplifications.
21212
21213 2015-04-14 Uros Bizjak <ubizjak@gmail.com>
21214
21215 * config/i386/predicates.md (any_QIreg_operand): Rename from
21216 q_regs_operand. Do not process subregs.
21217 (QIreg_operand): Use QI_REGNO_P predicate.
21218 (ext_QIreg_operand): Ditto.
21219 (ext_register_operand): Ditto.
21220 * config/i386/i386.md (TEST splitters): Use QIreg_operand predicate.
21221 (AND splitters): Ditto.
21222 (AND with -65536 splitter): Add SWI48 mode for operand 0.
21223 (AND with -256 splitter): Use any_QIreg_operand predicate and
21224 SWI248 mode for operand 0.
21225 (AND with -65281 splitter): Use QIreg_operand predicate and SWI248
21226 mode for operand 0.
21227 (SETCC + MOVZBL peepholes): Update for renamed any_QIreg_operand.
21228
21229 2015-04-13 Gerald Pfeifer <gerald@pfeifer.com>
21230
21231 * doc/plugins.texi: Rewrite first introductory paragraph.
21232
21233 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
21234
21235 * tree-vrp.c (nonnull_arg_p): THIS pointers and references are non-zero.
21236 (gimple_stmt_nonzero_warnv_p): Reference return values are non-zero.
21237
21238 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
21239
21240 * ipa-profie.c (ipa_profile): Check number of parameters
21241 and possible polymorphic call targets before
21242 devirtualizing.
21243
21244 2015-04-13 Uros Bizjak <ubizjak@gmail.com>
21245
21246 * config/i386/i386.md (*bmi2_umul<mode><dwi>3_1): Merge from
21247 *bmi2_umulsidi3_1 and *bmi2_umulditi3_1 using DWIH mode iterator.
21248
21249 2015-04-13 Richard Biener <rguenther@suse.de>
21250
21251 PR tree-optimization/65204
21252 * tree-ssa-ccp.c (evaluate_stmt): Always evaluate address
21253 takens for bit-CCP.
21254
21255 2015-04-13 Richard Biener <rguenther@suse.de>
21256
21257 PR target/65660
21258 * config/i386/i386.c (bdver1_cost): Double cond_taken_branch_cost
21259 and cond_not_taken_branch_cost to 4 and 2.
21260 (bdver2_cost): Likewise.
21261 (bdver3_cost): Likewise.
21262 (bdver4_cost): Likewise.
21263
21264 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
21265
21266 * hash-table.h (hash_table constructor): Add mem stats.
21267 (alloc_entries): Likewise.
21268
21269 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
21270
21271 * ipa-cp.c (ipcp_driver): Relase prev_edge.
21272 * passes.c (execute_one_pass): Only add transform if pass has one.
21273
21274 2015-04-12 Joseph Myers <joseph@codesourcery.com>
21275
21276 * config/i386/i386.c (ix86_option_override_internal): Don't set
21277 -fprefetch-loop-arrays if optimizing for size.
21278
21279 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
21280 Gerald Pfeifer <gerald@pfeifer.com>
21281
21282 * doc/contrib.texi (Contributors): Add Martin Jambor and
21283 Michael Matz.
21284
21285 2015-04-12 Jakub Jelinek <jakub@redhat.com>
21286
21287 * BASE-VER: Set to 6.0.0.
21288
21289 PR tree-optimization/65747
21290 * ipa-icf-gimple.c (func_checker::compare_operand): Use compare_operand
21291 rather than compare_ssa_name for OBJ_TYPE_REF_OBJECT.
21292
21293 2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
21294
21295 * doc/invoke.texi (-Wmemset-transposed-args): Break a long
21296 sentence. Improve grammar.
21297
21298 2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
21299
21300 * doc/contrib.texi (Contributors): Add Maxim Kuvyrkov.
21301
21302 2015-04-11 Jan Hubicka <hubicka@ucw.cz>
21303
21304 PR ipa/65743
21305 * ipa-inline-transform.c (speculation_removed): Remove static var.
21306 (check_speculations): New function.
21307 (clone_inlined_nodes): Do not check spculations.
21308 (inline_call): Call check_speculations.
21309 * ipa-prop.c (ipa_make_edge_direct_to_target): Do not
21310 consider non-invariants.
21311
21312 2015-04-11 Jan Hubicka <hubicka@ucw.cz>
21313 Martin Liska <mliska@suse.cz>
21314
21315 PR ipa/65722
21316 * ipa-icf.c (sem_item::compare_cgraph_references): function and
21317 variable can not match.
21318 (sem_item::update_hash_by_addr_refs): Fix handling of virtual tables.
21319 (sem_variable::equals_wpa): Fix checking of DECL_FINAL_P patch.
21320
21321 2015-04-11 Jakub Jelinek <jakub@redhat.com>
21322
21323 PR tree-optimization/65735
21324 * tree-ssa-threadedge.c (fsm_find_control_statement_thread_paths):
21325 Remove visited_phis argument, add visited_bbs, avoid recursing into the
21326 same bb rather than just into the same phi node.
21327 (thread_through_normal_block): Adjust caller.
21328
21329 2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
21330
21331 * doc/contrib.texi (Contributors): Add Ira Rosen.
21332
21333 2015-04-11 Benno Schulenberg <bensberg@justemail.net>
21334
21335 * gcov.c (find_source): Fix miswording in error message.
21336 * config/i386/i386.c (ix86_handle_cconv_attribute): Likewise.
21337 (ix86_expand_sse_comi_round): Fix typo in error message.
21338
21339 2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
21340
21341 * doc/contrib.texi (Contributors): Add Laurynas Biveinis.
21342
21343 2015-04-10 Gerald Pfeifer <gerald@pfeifer.com>
21344
21345 * doc/contrib.texi (Contributors): Update Joe Buck's entry.
21346
21347 2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
21348
21349 PR target/65710
21350 * lra-assigns.c (spill_for): Update smallest_bad_spills_num.
21351 Print bad_spills_num and insn_pseudos_num.
21352
21353 2015-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21354
21355 PR target/65694
21356 * config/arm/arm.c (arm_canonicalize_comparison): Use ARM_SIGN_EXTEND
21357 when creating +1 values for SImode.
21358
21359 2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
21360
21361 PR target/65729
21362 * lra-constraints.c (prohibited_class_reg_set_mode_p): Comment the
21363 assert.
21364
21365 2015-04-10 Jakub Jelinek <jakub@redhat.com>
21366 Iain Sandoe <iain@codesourcery.com>
21367
21368 PR target/65351
21369 * configure: Regenerate.
21370
21371 2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
21372
21373 PR target/65671
21374 * config/i386/sse.md: Generate vextract32x4 if AVX-512DQ is disabled.
21375
21376 2015-04-09 Gerald Pfeifer <gerald@pfeifer.com>
21377
21378 * doc/contrib.texi (Contributors): Add John Marino.
21379
21380 2015-04-09 Jakub Jelinek <jakub@redhat.com>
21381
21382 PR tree-optimization/65709
21383 * ubsan.c (instrument_mem_ref): Use TREE_TYPE (base) instead of
21384 TREE_TYPE (TREE_TYPE (t)).
21385
21386 2015-04-09 Vladimir Makarov <vmakarov@redhat.com>
21387
21388 PR target/65710
21389 * lra-int.h (lra_bad_spill_regno_start): New.
21390 * lra.c (lra_bad_spill_regno_start): New.
21391 (lra): Set up lra_bad_spill_regno_start. Set up
21392 lra_constraint_new_regno_start unconditionally.
21393 * lra-assigns.c (spill_for): Use lra_bad_spill_regno_start for
21394 spill preferences.
21395
21396 2015-04-09 Marek Polacek <polacek@redhat.com>
21397 Jakub Jelinek <jakub@redhat.com>
21398
21399 PR middle-end/65554
21400 * gimple-fold.c (gimple_fold_builtin_memory_op): Update comment.
21401 (fold_ctor_reference): Use STRIP_USELESS_TYPE_CONVERSION instead
21402 of STRIP_NOPS.
21403
21404 2015-04-09 Segher Boessenkool <segher@kernel.crashing.org>
21405
21406 PR rtl-optimization/65693
21407 * combine.c (is_parallel_of_n_reg_sets): Move outside of
21408 #ifndef HAVE_cc0.
21409
21410 2015-04-09 Georg-Johann Lay <avr@gjlay.de>
21411
21412 PR target/65296
21413 * config/avr/driver-avr.c (avr_devicespecs_file): Don't specify a
21414 device specs file if "device-specs%s" didn't resolve to a path.
21415
21416 2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
21417
21418 PR target/65676
21419 * config/i386/i386.c (fixup_modeless_constant): New.
21420 (ix86_expand_args_builtin): Fixup modeless constant operand.
21421 (ix86_expand_round_builtin): Ditto.
21422 (ix86_expand_special_args_builtin): Ditto.
21423 (ix86_expand_builtin): Ditto.
21424
21425 2015-04-09 Jakub Jelinek <jakub@redhat.com>
21426
21427 PR target/65693
21428 * config/i386/i386.md (*udivmod<mode>4_pow2): Allow
21429 any pow2 integer in between 2 and 0x80000000U inclusive.
21430
21431 2015-04-08 Segher Boessenkool <segher@kernel.crashing.org>
21432
21433 PR rtl-optimization/65693
21434 * combine.c (is_parallel_of_n_reg_sets): Change first argument
21435 from an rtx_insn * to an rtx.
21436 (try_combine): Adjust both callers. Use it once more.
21437
21438 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
21439
21440 * tree-chkp.c (chkp_find_const_bounds_var): Remove.
21441 (chkp_make_static_const_bounds): Search existing
21442 symbol by assembler name. Use make_decl_one_only.
21443 (chkp_get_zero_bounds_var): Remove node search which
21444 is now performed in chkp_make_static_const_bounds.
21445 (chkp_get_none_bounds_var): Likewise.
21446
21447 2015-04-08 Michael Witten <mfwitten@gmail.com>
21448
21449 * doc/extend.texi (Attribute Syntax): Add a trailing semicolon
21450 to an example.
21451
21452 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
21453
21454 * tree.h (CONVERT_EXPR_P): Commentary typo fix.
21455
21456 2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
21457
21458 * doc/extend.texi (__sync Builtins): Fix grammar.
21459
21460 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
21461
21462 * doc/cfg.texi (GIMPLE statement iterators): Fix typo.
21463
21464 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
21465
21466 * varasm.c (emit_local): Move definition of align.
21467
21468 2015-04-08 Julian Brown <julian@codesourcery.com>
21469
21470 * config/nvptx/mkoffload.c (process): Support variable mapping.
21471
21472 2015-03-27 Trevor Saunders <tbsaunde@tbsaunde.org>
21473
21474 * config/alpha/alpha.c (alpha_use_linkage): Change type of slot to
21475 alpha_links **.
21476 (alpha_write_one_linkage): Correct typo.
21477
21478 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
21479
21480 * ipa-comdats.c (propagate_comdat_group): Walk through thunks.
21481
21482 2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
21483
21484 * doc/install.texi (bootstrap-lto-noplugin): Rewrite.
21485
21486 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
21487
21488 * tree-chkp.h (chkp_insert_retbnd_call): New.
21489 * tree-chkp.c (chkp_insert_retbnd_call): New.
21490 * ipa-split.c (insert_bndret_call_after): Remove.
21491 (split_function): Use chkp_insert_retbnd_call.
21492 * cgraphunit.c (cgraph_node::expand_thunk): Build returned
21493 bounds for instrumented functions.
21494
21495 2015-04-07 Jan Hubicka <hubicka@ucw.cz>
21496
21497 PR ipa/65540
21498 * calls.c (initialize_argument_information): When producing tail
21499 call also turn SSA_NAMES passed by references to original PARM_DECLs
21500
21501 2015-04-07 Vladimir Makarov <vmakarov@redhat.com>
21502
21503 PR target/65648
21504 * lra-remat.c (do_remat): Process input and non-input insn
21505 registers separately.
21506
21507 2015-04-07 Jakub Jelinek <jakub@redhat.com>
21508
21509 PR debug/65678
21510 * valtrack.c (debug_lowpart_subreg): New function.
21511 (dead_debug_insert_temp): Use it.
21512
21513 PR middle-end/65680
21514 * expr.c (get_inner_reference): Handle bit_offset that doesn't fit
21515 into signed HOST_WIDE_INT the same as negative bit_offset.
21516
21517 2015-04-07 Ilya Enkovich <ilya.enkovich@intel.com>
21518
21519 * ipa-comdats.c (ipa_comdats): Visit all thunks
21520 to set proper comdat group.
21521
21522 2015-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21523
21524 PR target/65489
21525 * config/arm/arm.c (arm_legitimate_constant_p_1): Remove restriction
21526 on constants for NEON VSTRUCT modes.
21527
21528 2015-04-07 Jakub Jelinek <jakub@redhat.com>
21529 Iain Sandoe <iain@codesourcery.com>
21530
21531 PR target/65351
21532 * configure: Regenerate.
21533
21534 2015-04-06 Michael Meissner <meissner@linux.vnet.ibm.com>
21535
21536 PR target/65614
21537 * config/rs6000/rs6000.c (struct processor_costs): Add cost field
21538 for SF->DF conversions to make FLOAT_EXTEND more expensive, so
21539 that LFD is used to load double constants instead of LFS. Add
21540 defaults for all costs structures. Add comments for missing
21541 initialization fields.
21542 (size32_cost): Likewise.
21543 (size64_cost): Likewise.
21544 (rs64a_cost): Likewise.
21545 (mpccore_cost): Likewise.
21546 (ppc403_cost): Likewise.
21547 (ppc405_cost): Likewise.
21548 (ppc440_cost): Likewise.
21549 (ppc476_cost): Likewise.
21550 (ppc601_cost): Likewise.
21551 (ppc603_cost): Likewise.
21552 (ppc604_cost): Likewise.
21553 (ppc604e_cost): Likewise.
21554 (ppc620_cost): Likewise.
21555 (ppc630_cost): Likewise.
21556 (ppccell_cost): Likewise.
21557 (ppc750_cost): Likewise.
21558 (ppc7450_cost): Likewise.
21559 (ppc8540_cost): Likewise.
21560 (ppce300c2c3_cost): Likewise.
21561 (ppce500mc_cost): Likewise.
21562 (ppce500mc64_cost): Likewise.
21563 (ppce5500_cost): Likewise.
21564 (ppce6500_cost): Likewise.
21565 (titan_cost): Likewise.
21566 (power4_cost): Likewise.
21567 (power6_cost): Likewise.
21568 (power7_cost): Likewise.
21569 (power8_cost): Likewise.
21570 (ppca2_cost): Likewise.
21571 (rs6000_rtx_costs): Make FLOAT_EXTEND use SFDF_convert field.
21572
21573 * config/rs6000/rs6000.md (extendsfdf2_fpr): Generate XSCPSGNDP
21574 instead of XXLOR to copy SFmode to clear out dirty bits created
21575 when SFmode denormals are generated.
21576 (mov<mode>_hardfloat, FMOVE32 case): Likewise.
21577 (truncdfsf2_fpr): Add support for ISA 2.07 XSRSP instruction.
21578
21579 2015-04-06 Evandro Menezes <e.menezes@samsung.com>
21580
21581 * doc/invoke.texi (AARCH64/mtune): Add exynos-m1 as an option.
21582 * config/aarch64/aarch64-cores.def (exynos-m1): New core.
21583 * config/aarch64/aarch64-tune.md: Regenerate.
21584
21585 2015-04-06 Evandro Menezes <e.menezes@samsung.com>
21586
21587 * doc/invoke.texi (ARM/mtune): Add "exynos-m1" as an option.
21588 * config/arm/arm.c (arm_issue_rate): Specify "3" for "exynosm1".
21589 * config/arm/arm-cores.def (exynos-m1): New core.
21590 * config/arm/arm-tune.md: Regenerate.
21591 * config/arm/arm-tables.opt: Add entry for "exynos-m1".
21592 * config/arm/bpabi.h: Likewise.
21593
21594 2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
21595
21596 * ipa-cp (set_single_call_flag): Remove too
21597 restrictive assert.
21598
21599 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
21600
21601 * config/i386/intelmic-mkoffload.c (generate_host_descr_file): Call
21602 GOMP_offload_unregister from the destructor.
21603
21604 2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
21605
21606 * ipa-chkp.c (chkp_maybe_create_clone): Reset cdtor
21607 flags for instrumentation thunk.
21608 (chkp_produce_thunks): Likewise.
21609
21610 2015-04-05 Martin Liska <mliska@suse.cz>
21611
21612 PR ipa/65665
21613 * ipa-icf.c (sem_function::equals_wpa): Verify that IPA CP
21614 has computed data structure.
21615 (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
21616
21617 2015-04-04 Jan Hubicka <hubicka@ucw.cz>
21618
21619 * invoke.texi (inline-unit-growth): Increase growth to 20%
21620 * params.def (PARAM_INLINE_UNIT_GROWTH): Likewise.
21621
21622 2015-04-04 Vladimir Makarov <vmakarov@redhat.com>
21623
21624 PR target/65647
21625 * lra-int.h (LRA_MAX_REMATERIALIZATION_PASSES): New. Add its
21626 value checking.
21627 (lra_rematerialization_iter): New.
21628 * lra.c (lra): Initialize lra_rematerialization_iter.
21629 Stop updating lra_constraint_new_regno_start after switching of
21630 inheritance and rematerialization.
21631 * lra-remat.c (lra_rematerialization_iter): New.
21632 (lra_remat): Add printing pass iteration. Do rematerialization
21633 only first LRA_MAX_REMATERIALIZATION_PASSES iterations.
21634
21635 2015-04-04 Richard Biener <rguenther@suse.de>
21636
21637 PR tree-optimization/64909
21638 PR tree-optimization/65660
21639 * tree-vectorizer.h (vect_get_known_peeling_cost): Adjust
21640 to take a cost vector for scalar iteration cost.
21641 (vect_get_single_scalar_iteration_cost): Likewise.
21642 * tree-vect-loop.c (vect_get_single_scalar_iteration_cost):
21643 Compute the scalar iteration cost into a cost vector.
21644 (vect_get_known_peeling_cost): Use the scalar cost vector to
21645 account for the cost of the peeled iterations.
21646 (vect_estimate_min_profitable_iters): Likewise.
21647 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
21648 Likewise.
21649
21650 2015-04-04 Alan Modra <amodra@gmail.com>
21651
21652 PR target/65576
21653 PR target/65240
21654 * config/rs6000/predicates.md (zero_reg_mem_operand): Exclude
21655 0.0 constant unless TARGET_VSX.
21656 * config/rs6000/rs6000.md (extenddftf2_internal): Remove last
21657 alternative.
21658
21659 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
21660
21661 PR ipa/65654
21662 * ipa-inline-transform.c (inline_call): Skip sanity check to work
21663 around the ICE
21664
21665 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
21666
21667 PR ipa/65655
21668 * ipa-inline-analysis.c (edge_set_predicate): Do not redirect
21669 speculative indirect edges to avoid ordering issue.
21670
21671 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
21672
21673 PR ipa/65076
21674 * ipa-inline.c (edge_badness): Add combined size to the denominator.
21675
21676 2015-04-03 Jakub Jelinek <jakub@redhat.com>
21677
21678 * omp-low.c (scan_omp_parallel, scan_omp_task, scan_omp_target): Set
21679 TYPE_ARTIFICIAL on the .omp_data* types.
21680
21681 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
21682
21683 * cgraphunit.c (cgraph_node::expand_thunk): Don't expand
21684 instrumentation thunks.
21685
21686 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
21687
21688 * config/i386/i386.c (ix86_expand_call): Avoid nested
21689 PARALLEL in returned call value.
21690
21691 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
21692
21693 * lto-cgraph.c (input_cgraph_1): Always link instrumented
21694 assembler name with original one.
21695
21696 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
21697
21698 * config/i386/i386.c (ix86_register_priority): Use AX_REG.
21699
21700 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
21701
21702 Revert parts of r216820.
21703 * config/i386/i386.md (movqi_internal): Correct type calculation
21704 for alternatives 3 and 5.
21705
21706 2015-04-02 Jakub Jelinek <jakub@redhat.com>
21707
21708 PR preprocessor/61977
21709 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't
21710 predefine __vector/__bool/__pixel macros nor context sensitive
21711 macros for CLK_ASM.
21712 * config/spu/spu-c.c (spu_cpu_cpp_builtins): Similarly.
21713
21714 2015-04-02 John David Anglin <danglin@gcc.gnu.org>
21715
21716 * config/pa/pa.c (pa_output_move_double): Directly handle register
21717 indexed memory operand. Simplify handling of scaled register indexed
21718 memory operands.
21719
21720 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
21721
21722 PR driver/65444
21723 * config/i386/linux-common.h (MPX_SPEC): New.
21724 (CHKP_SPEC): Add MPX_SPEC.
21725 * doc/invoke.texi (-fcheck-pointer-boudns): Document
21726 possible issues with '-z bndplt' support in linker.
21727
21728 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
21729
21730 * config/i386/sync.md (UNSPEC_FILD_ATOMIC, UNSPEC_FIST_ATOMIC): New.
21731 (loaddi_via_fpu): Use UNSPEC_FILD_ATOMIC.
21732 (storedi_via_fpu): Use UNSPEC_FIST_ATOMIC.
21733 * reg-stack.c (get_true_reg): Change UNSPEC_LDA to UNSPEC_FILD_ATOMIC.
21734 (subst_stack_regs_pat): Change UNSPEC_STA to UNSPEC_FIST_ATOMIC.
21735
21736 2015-04-01 Uros Bizjak <ubizjak@gmail.com>
21737
21738 * config/i386/sync.md (UNSPEC_MOVA): Remove.
21739 (atomic_load<mode>): Change operand 0 predicate to
21740 nonimmediate_operand and fix up the destination when needed.
21741 Use UNSPEC_LDA.
21742 (atomic_loaddi_fpu): Use UNSPEC_LDA.
21743 (atomic_store<mode>): Change operand 1 predicate to
21744 nonimmendate_operand and move the source to register when needed.
21745 Use UNSPEC_STA.
21746 (atomic_store<mode>_1): Use UNSPEC_STA.
21747 (atomic_storedi_fpu): Change operand 1 to nonimmediate_operand.
21748 Fix moves from memory operand. Use UNSPEC_STA.
21749
21750 2015-04-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
21751
21752 * expmed.c (strict_volatile_bitfield_p): Check that the access will
21753 not cross a MODESIZE boundary.
21754 (store_bit_field, extract_bit_field): Added assertions in the
21755 strict volatile bitfields code path.
21756
21757 2015-04-01 Max Ostapenko <m.ostapenko@partner.samsung.com>
21758
21759 PR target/65624
21760 * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin):
21761 Increase args array size by one to avoid buffer overflow.
21762
21763 2015-03-31 Jan Hubicka <hubicka@ucw.cz>
21764
21765 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
21766 split_part.
21767 * ipa-inline.c (edge_badness): Add wrapper penalty.
21768 (sum_callers): Move up.
21769 (inline_small_functions): Set single_caller.
21770 * ipa-inline.h (inline_summary): Add single_caller.
21771 * ipa-split.c (split_function): Set split_part.
21772 (cgraph_node::create_clone): Do not shadow decl; copy split_part.
21773 * cgraph.h (cgraph_node): Add split_part.
21774
21775 2015-03-31 Uros Bizjak <ubizjak@gmail.com>
21776
21777 PR target/58945
21778 * config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
21779 Do not split operands 0 and operands 2 to halfmode.
21780 (atomic_compare_and_swap<mode>): Update for
21781 atomic_compare_and_swap<dwi>_doubleword changes.
21782
21783 2015-03-31 Jan Hubicka <hubicka@ucw.cz>
21784
21785 * tree.c (need_assembler_name_p): Artificial types have no ODR names.
21786 * ipa-devirt.c (warn_odr): Do not try to apply ODR cache when
21787 no caching is done.
21788
21789 2015-03-31 Martin Liska <mliska@suse.cz>
21790
21791 PR ipa/65557
21792 * ipa-icf.c (sem_function::equals_wpa): Check if IPA CP
21793 has already filled up function summary.
21794 (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
21795
21796 2015-03-31 Richard Biener <rguenther@suse.de>
21797
21798 * tree-sra.c (create_access_replacement): Drop under-/over-alignment
21799 of types.
21800
21801 2015-03-31 Dominik Vogt <vogt@linux.vnet.ibm.com>
21802
21803 * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching
21804 nested functions.
21805 (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw.
21806 (s390_asm_output_function_label): Adapt to new signature of
21807 s390_function_num_hotpatch_hw
21808 Optimise the code generating assembler output.
21809 Add comments to assembler file.
21810
21811 2015-03-31 Richard Biener <rguenther@suse.de>
21812
21813 PR middle-end/65626
21814 * tree-cfgcleanup.c (fixup_noreturn_call): Only split the block
21815 of the noreturn call so it is last and cleanup_control_flow_bb
21816 can do the CFG part.
21817
21818 2015-03-31 Ilya Enkovich <ilya.enkovich@intel.com>
21819
21820 PR target/65531
21821 * ipa-chkp.c (chkp_maybe_create_clone): Don't set
21822 same_comdat_group for external symbols.
21823 * symtab.c (symtab_node::verify_symtab_nodes): Avoid
21824 infinite same_comdat_group traversal loop.
21825
21826 2015-03-31 Jakub Jelinek <jakub@redhat.com>
21827
21828 PR plugins/61176
21829 * Makefile.in (install-plugin): Add all gcc/*.{h,def} files
21830 automatically to $headers.
21831
21832 2015-03-30 Jakub Jelinek <jakub@redhat.com>
21833
21834 PR ipa/65610
21835 * ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare.
21836 * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New
21837 function.
21838 (decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store):
21839 Use it.
21840 * ipa-prop.c (param_type_may_change_p): Likewise.
21841 * tree-ssa-live.c: Include ipa-utils.h and its dependencies.
21842 (remove_unused_scope_block_p): Add in_ctor_dtor_block
21843 argument. Before inlining, preserve
21844 inlined_polymorphic_ctor_dtor_block_p blocks and the outermost block
21845 with FUNCTION_DECL BLOCK_ABSTRACT_ORIGIN inside of them. Adjust
21846 recursive calls.
21847 (remove_unused_locals): Adjust remove_unused_scope_block_p caller.
21848
21849 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
21850
21851 PR ipa/65076
21852 * ipa-inline.c (edge_badness): Base denominator on callee's
21853 grwoth squared.
21854
21855 2015-03-27 Martin Jambor <mjambor@suse.cz>
21856
21857 PR ipa/65478
21858 * params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New.
21859 (PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise.
21860 * ipa-prop.h (ipa_node_params): New flags node_within_scc and
21861 node_calling_single_call.
21862 * ipa-cp.c (count_callers): New function.
21863 (set_single_call_flag): Likewise.
21864 (initialize_node_lattices): Count callers and set single_flag_call if
21865 necessary.
21866 (incorporate_penalties): New function.
21867 (good_cloning_opportunity_p): Use it, dump new flags.
21868 (propagate_constants_topo): Set node_within_scc flag if appropriate.
21869 * doc/invoke.texi (ipa-cp-recursion-penalty,
21870 ipa-cp-single-call-pentalty): Document.
21871
21872 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
21873
21874 PR ipa/65588
21875 * symtab.c (symtab_node::get_partitioning_class): Register vars
21876 are duplicated.
21877 * varpool.c (symbol_table::output_variables) Do not assemble unefined
21878 decls for non-symbols.
21879
21880 2015-03-27 H.J. Lu <hongjiu.lu@intel.com>
21881
21882 PR target/65248
21883 * output.h (default_binds_local_p_2): New.
21884 * varasm.c (default_binds_local_p_2): Renamed to ...
21885 (default_binds_local_p_3): This. Don't return true on protected
21886 data symbol if protected data may be external.
21887 (default_binds_local_p): Use default_binds_local_p_3.
21888 (default_binds_local_p_1): Likewise.
21889 (default_binds_local_p_2): New.
21890 * config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to
21891 default_binds_local_p_2 if TARGET_MACHO is undefined.
21892
21893 2015-03-27 Jakub Jelinek <jakub@redhat.com>
21894
21895 PR target/65593
21896 * config/i386/i386.c (legitimize_pic_address): If base
21897 is SYMBOL_REF or LABEL_REF using %rip addressing, force
21898 it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register.
21899
21900 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
21901
21902 PR target/65531
21903 * symtab.c (symtab_node::verify_symtab_nodes): Fix verification of
21904 comdat groups.
21905
21906 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
21907
21908 PR ipa/65600
21909 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case
21910 of optimized out indirect call.
21911 (redirect_to_unreachable): Always build symbol table node for
21912 BUILT_IN_UNREACHABLE
21913
21914 2015-03-27 Vladimir Makarov <vmakarov@redhat.com>
21915
21916 PR target/65407
21917 * ira-costs.c (record_reg_classes): Process all constraint string
21918 containing 0-9.
21919
21920 2015-03-27 Bernd Schmidt <bernds@codesourcery.com>
21921
21922 * config/c6x/c6x.md (movmisalign<mode>): Use MEM_P, not
21923 memory_operand.
21924
21925 PR target/65052
21926 * config/c6x/constraints.md (S3): New constraint.
21927 * config/c6x/c6x.md (real_jump): Use it.
21928
21929 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
21930
21931 PR middle-end/65595
21932 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Only
21933 do redirection if the call is not optimized out.
21934
21935 2015-03-27 Ilya Enkovich <ilya.enkovich@intel.com>
21936
21937 PR target/65495
21938 * c-family/c.opt (fcheck-pointer-bounds): List supported languages.
21939 (fchkp-check-incomplete-type): Add LTO.
21940 (fchkp-zero-input-bounds-for-main): Likewise.
21941 (fchkp-first-field-has-own-bounds): Likewise.
21942 (fchkp-narrow-bounds): Likewise.
21943 (fchkp-narrow-to-innermost-array): Likewise.
21944 (fchkp-use-static-bounds): Likewise.
21945 (fchkp-use-static-const-bounds): Likewise.
21946 (fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
21947
21948 2015-03-27 Marek Polacek <polacek@redhat.com>
21949
21950 * gimple-iterator.h (gsi_prev_nondebug): Fix typo.
21951
21952 2015-03-27 Marek Polacek <polacek@redhat.com>
21953
21954 PR sanitizer/65583
21955 * ubsan.c (ubsan_create_edge): New function.
21956 (instrument_bool_enum_load): Call it.
21957 (instrument_nonnull_arg): Likewise.
21958 (instrument_nonnull_return): Likewise.
21959 (instrument_object_size): Likewise.
21960
21961 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
21962
21963 * lto-streamer.h (class lto_location_cache): Turn loc_cache into
21964 auto_vec.
21965
21966 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
21967
21968 PR lto/65536
21969 * lto-streamer.h (class lto_location_cache): New.
21970 (struct data_in): Add location_cache.
21971 (lto_input_location): Update prototype.
21972 (stream_input_location_now): New.
21973 * streamer-hooks.h (struct streamer_hooks): Make input_location to take
21974 pointer to location.
21975 (stream_input_location): Update.
21976 * ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h
21977 (warn_odr): Apply location cache before warning.
21978 (lto_input_location): Update prototype.
21979 * gimple-streamer-in.c (input_phi, input_gimple_stmt):
21980 Use stream_input_location_now.
21981 * lto-streamer-in.c (lto_location_cache::current_cache): New static
21982 variable.
21983 (lto_location_cache::cmp_loc): New function.
21984 (lto_location_cache::apply_location_cache): New function.
21985 (lto_location_cache::accept_location_cache): New function.
21986 (lto_location_cache::revert_location_cache): New function.
21987 (lto_location_cache::input_location): New function.
21988 (lto_input_location): Do location caching.
21989 (stream_input_location_now): New function.
21990 (input_eh_region, input_struct_function_base): Use
21991 stream_input_location_now.
21992 (lto_data_in_create): use new.
21993 (lto_data_in_delete): Use delete.
21994 * tree-streamer-in.c (unpack_ts_block_value_fields,
21995 unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields,
21996 lto_input_ts_exp_tree_pointers): Update for cached location api.
21997
21998 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
21999
22000 PR ipa/65076
22001 * passes.def: Add pass_nothrow.
22002 * ipa-pure-const.c: (pass_data_nothrow): New.
22003 (pass_nothrow): New.
22004 (pass_nothrow::execute): New.
22005 (make_pass_nothrow): New.
22006 * tree-pass.h (make_pass_nothrow): Declare.
22007
22008 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
22009
22010 * ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for
22011 edge to change by speculation resolution or redirection.
22012 (edge_set_predicate): Likewise.
22013 (inline_summary_t::duplicate): Likewise.
22014 (remap_edge_summaries): Likewise.
22015
22016 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
22017
22018 * ipa-inline.c (check_maybe_up, check_maybe_down, check_match):
22019 New macros.
22020 (can_inline_edge_p): Relax option matching for always inline functions.
22021
22022 2015-03-26 Uros Bizjak <ubizjak@gmail.com>
22023
22024 PR target/65561
22025 * config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm):
22026 Check operand 4 and operand 0 for equality.
22027 (avx512f_vextract<shuffletype>32x4_1_maskm):
22028 Check operand 6 and operand 0 for equality.
22029 (vec_extract_lo_<mode>_maskm): Check operand 2 and operand 0
22030 for equality.
22031 (vec_extract_hi_<mode>_maskm): Ditto.
22032
22033 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
22034
22035 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring
22036 dead calls back to live.
22037 (cgraph_edge::verify_count_and_frequency): Move cgraph/cfg frequency
22038 cross check to ...
22039 (cgraph_node::verify_node): ... here; verify only callee edges,
22040 not caller.
22041 * cif-code.def (CILK_SPAWN): New code.
22042
22043 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
22044
22045 * ipa-inline-analysis.c (redirect_to_unreachable): New function.
22046 (edge_set_predicate): Use it to mark unreachable edges.
22047 (inline_summary_t::duplicate): Remove unnecesary code.
22048 (remap_edge_summaries): Likewise.
22049 (dump_inline_summary): Report contains_cilk_spawn.
22050 (compute_inline_parameters): Compute contains_cilk_spawn.
22051 (inline_read_section, inline_write_summary): Stream
22052 contains_cilk_spawn.
22053 * ipa-inline.c (can_inline_edge_p): Do not touch
22054 DECL_STRUCT_FUNCTION that may not be available;
22055 use CIF_CILK_SPAWN for cilk; fix optimization attribute checks;
22056 remove check for callee_fun->can_throw_non_call_exceptions and
22057 replace it by optimization attribute check; check for flag_exceptions.
22058 * ipa-inline-transform.c (inline_call): Maintain
22059 DECL_FUNCTION_PERSONALITY
22060 * ipa-inline.h (inline_summary): Add contains_cilk_spawn.
22061
22062 2015-03-26 Jakub Jelinek <jakub@redhat.com>
22063
22064 PR tree-optimization/65551
22065 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use
22066 TYPE_PRECISION only for INTEGRAL_TYPE_P types.
22067
22068 2015-03-26 Richard Biener <rguenther@suse.de>
22069
22070 PR middle-end/65555
22071 * tree-cfg.c (verify_gimple_call): Do not require a call to
22072 have no LHS if it wasn't recognized as control altering yet.
22073
22074 2015-03-26 Jakub Jelinek <jakub@redhat.com>
22075
22076 PR tree-optimization/64715
22077 * passes.def: Add another instance of pass_object_sizes before ccp1.
22078 * tree-object-size.c (pass_object_sizes::execute): In
22079 first_pass_instance, only handle __bos (, 1) and __bos (, 3)
22080 calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the
22081 __bos result and the computed constant. Remove redundant
22082 checks, obsoleted by gimple_call_builtin_p test.
22083
22084 * var-tracking.c (variable_tracking_main_1): Don't track
22085 variables for targetm.no_register_allocation targets.
22086
22087 2015-03-26 Oleg Endo <olegendo@gcc.gnu.org>
22088
22089 * config/sh/t-linux (DEFAULT_ENDIAN, MULTILIB_EXCEPTIONS): Remove.
22090 * config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian.
22091
22092 2015-03-25 Michael Meissner <meissner@linux.vnet.ibm.com>
22093
22094 PR target/65569
22095 * config/rs6000/rs6000.md (extenddftf2_fprs): On VSX systems use
22096 XXLXOR to create 0.0. On pre-VSX systems make sure the constant
22097 0.0 is correctly setup.
22098 (extenddftf2_internal): Likewise.
22099
22100 2015-03-25 Sebastian Pop <s.pop@samsung.com>
22101
22102 PR tree-optimization/65177
22103 * tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread.
22104 (bb_in_bbs): New.
22105 (duplicate_seme_region): Renamed duplicate_thread_path. Redirect all
22106 edges not adjacent on the path to the original code.
22107
22108 2015-03-25 Uros Bizjak <ubizjak@gmail.com>
22109
22110 PR bootstrap/65537
22111 * doc/install.texi (Building a native compiler): Document new
22112 bootstrap-lto-noplugin configuration. Mention that bootstrap-lto
22113 configuration assumes that the host supports the linker plugin.
22114
22115 2015-03-25 Ilya Enkovich <ilya.enkovich@intel.com>
22116
22117 PR target/65508
22118 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Set static
22119 chain for generated call.
22120
22121 2015-03-25 Richard Biener <rguenther@suse.de>
22122
22123 * passes.c (pass_manager::execute_early_local_passes): Guard
22124 execution of pass_chkp_instrumentation_passes with
22125 flag_check_pointer_bounds.
22126 (pass_chkp_instrumentation_passes::gate): Likewise.
22127
22128 2015-03-25 Martin Liska <mliska@suse.cz>
22129
22130 PR tree-optimization/65538
22131 * symbol-summary.h (function_summary::~function_summary):
22132 Relese memory for allocated summaries.
22133 (function_summary::release): New function.
22134
22135 2015-03-25 Jakub Jelinek <jakub@redhat.com>
22136
22137 PR lto/65515
22138 * lto-streamer-out.c (DFS::worklist): New struct.
22139 (DFS::worklist_vec): New data member.
22140 (DFS::next_dfs_num): Remove.
22141 (DFS::DFS): Rewritten using worklist instead of recursion,
22142 using most of code from DFS::DFS_write_tree.
22143 (DFS::DFS_write_tree_body): Remove SINGLE_P argument, don't
22144 pass it to DFS_write_tree calls.
22145 (DFS::DFS_write_tree): Remove SINGLE_P argument, after
22146 quick initial checks push it into worklist_vec and return.
22147
22148 2015-03-25 Richard Biener <rguenther@suse.de>
22149
22150 PR middle-end/65519
22151 * genmatch.c (expr::gen_transform): Re-write to avoid
22152 using gimple_build.
22153
22154 2015-03-25 Bin Cheng <bin.cheng@arm.com>
22155
22156 * doc/sourcebuild.texi (arm_tune_string_ops_prefer_neon): New.
22157
22158 2015-03-25 Bin Cheng <bin.cheng@arm.com>
22159
22160 * config/arm/arm.opt (print_tune_info): New option.
22161 * config/arm/arm.c (arm_print_tune_info): New function.
22162 (arm_file_start): Call arm_print_tune_info.
22163 * config/arm/arm-protos.h (struct tune_params): Add comment.
22164 * doc/invoke.texi (@item -mprint-tune-info): New item.
22165 (-mtune): mention it in ARM Option Summary.
22166
22167 2015-03-25 DJ Delorie <dj@redhat.com>
22168
22169 * config/rl78/rl78.c (rl78_print_operand_1): Move 'p' test to
22170 correct clause.
22171
22172 2015-03-24 Jan Hubicka <hubicka@ucw.cz>
22173 Martin Liska <mliska@suse.cz>
22174
22175 * ipa-icf-gimple.h (return_with_result): Add missing colon to dump.
22176 * ipa-icf.c (sem_function::get_hash): Hash new declaration properties.
22177 (sem_item::add_type): New function.
22178 (sem_function::hash_stmt): Add TREE_TYPE of gimple_op.
22179 (sem_function::compare_polymorphic_p): Do not consider indirect calls.
22180 (sem_item_optimizer::update_hash_by_addr_refs): Add ODR type to hash.
22181 (sem_function::equals_wpa): Fix typo.
22182 * ipa-icf.h (sem_item::add_type): New function.
22183 (symbol_compare_hashmap_traits): Replace hashing of pointer with symbol
22184 order.
22185
22186 2015-03-24 Jakub Jelinek <jakub@redhat.com>
22187
22188 PR tree-optimization/65533
22189 * tree-vect-slp.c (vect_build_slp_tree): Before re-trying
22190 with swapped operands, call vect_free_slp_tree on
22191 SLP_TREE_CHILDREN of child and truncate the SLP_TREE_CHILDREN
22192 vector.
22193
22194 2015-03-24 Richard Biener <rguenther@suse.de>
22195
22196 PR middle-end/65517
22197 * tree-cfg.c (remove_edge_and_dominated_blocks): Mark loops
22198 for fixup if necessary.
22199
22200 2015-03-23 Sandra Loosemore <sandra@codesourcery.com>
22201
22202 * doc/extend.texi (Function Attributes): Add @cindex entries
22203 for all attributes and regularize their format. Delete text
22204 about long-obsolete 68HC11 and 68HC12 targets. Move misplaced
22205 information about "eightbit_data", "tiny_data", and "model"
22206 variable attributes to the Variable Attributes section. Fix
22207 some obvious typos and copy-editing issues.
22208 (Variable Attributes, Type Attributes): Likewise add/fix
22209 @cindex entries for all attributes.
22210
22211 2015-03-23 Jakub Jelinek <jakub@redhat.com>
22212
22213 PR target/65523
22214 * tree-chkp.c (chkp_build_returned_bound): Ignore
22215 ERF_RETURNS_ARG calls if they have fewer than needed arguments.
22216
22217 2015-03-23 Oleg Endo <olegendo@gcc.gnu.org>
22218
22219 PR target/65505
22220 * config/sh/predicates.md (simple_mem_operand,
22221 displacement_mem_operand): Add test for reg.
22222 (short_displacement_mem_operand): Test for displacement_mem_operand
22223 before invoking sh_disp_addr_displacement.
22224 * config/sh/constraints.md (Sdd, Sra): Simplify.
22225 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1):
22226 Remove redundant displacement_mem_operand tests.
22227
22228 2015-03-23 Georg-Johann Lay <avr@gjlay.de>
22229
22230 PR target/65296
22231 * config/avr/driver-avr.c (avr_devicespecs_file): Allow to specify
22232 the same -mmcu=MCU more than once.
22233
22234 2015-03-23 Jakub Jelinek <jakub@redhat.com>
22235
22236 PR bootstrap/65522
22237 * ipa-devirt.c: Remove duplicate demangle.h include.
22238
22239 PR target/65504
22240 * config/i386/i386.c (ix86_copy_addr_to_reg): Set REG_POINTER
22241 on the pseudo.
22242 (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Set
22243 REG_POINTER on *destptr after adjusting it for prologue size.
22244
22245 PR ipa/65521
22246 * ipa-icf.c (sem_item::update_hash_by_addr_refs): Hash
22247 ultimate_alias_target ()->order ints instead of
22248 ultimate_alias_target () pointers.
22249
22250 2015-03-23 Richard Biener <rguenther@suse.de>
22251
22252 PR tree-optimization/65518
22253 * tree-vect-stmts.c (vectorizable_load): Reject single-element
22254 interleaving cases we generate absymal code for.
22255
22256 2015-03-23 Richard Biener <rguenther@suse.de>
22257
22258 PR tree-optimization/65494
22259 * tree-vect-slp.c (vect_build_slp_tree): Do not (re-)allocate
22260 matches here.
22261 (vect_analyze_slp_instance): But do that here, always and once.
22262
22263 2015-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
22264
22265 * expmed.c (synth_mult): Fix comment about multiplying by T-1 and
22266 adding T or multiplying by T+1 and subracting T.
22267
22268 2015-03-22 Jeff Law <law@redhat.com>
22269
22270 PR rtl-optimization/64317
22271 * Makefile.in (OBJS): Add gcse-common.c
22272 * gcse.c: Include gcse-common.h
22273 (struct modify_pair_s): Move structure definition to gcse-common.h
22274 (compute_transp): Move function to gcse-common.c.
22275 (canon_list_insert): Similarly.
22276 (record_last_mem_set_info): Break out some code and put it into
22277 gcse-common.c. Call into the new common code.
22278 (compute_local_properties): Pass additional arguments to compute_transp.
22279 * postreload-gcse.c: Include gcse-common.h and df.h
22280 (modify_mem_list_set, blocks_with_calls): New variables.
22281 (modify_mem_list, canon_modify_mem_list, transp): Likewise.
22282 (get_bb_avail_insn): Pass in the expression index too.
22283 (alloc_mem): Allocate memory for the new bitmaps and lists.
22284 (free_mem): Free memory for the new bitmaps and lists.
22285 (insert_expr_in_table): Record a bitmap index for each entry we
22286 add to the table.
22287 (record_last_mem_set_info): Call into common code in gcse-common.c.
22288 (get_bb_avail_insn): If no available insn was found in the requested
22289 BB. If BB has a single predecessor, see if the expression is
22290 transparent in BB and available in that single predecessor.
22291 (compute_expr_transp): New wrapper for compute_transp.
22292 (eliminate_partially_redundant_load): Pass expression's bitmap_index
22293 to get_bb_avail_insn. Compute next_pred_bb_end a bit later.
22294 (gcse_after_reload_main): If there are elements in the hash table,
22295 then compute transparency for all the elements in the hash table.
22296 * gcse-common.h: New file.
22297 * gcse-common.c: New file.
22298
22299 2015-03-22 Sandra Loosemore <sandra@codesourcery.com>
22300
22301 * doc/cpp.texi (Search Path): Hyphenate "command-line" when used
22302 as an adjective.
22303 (System Headers): Likewise.
22304 (Ifdef): Likewise.
22305 (Traditional macros): Likewise.
22306 (Invocation): Likewise.
22307 (Option Index): Likewise.
22308 * doc/cppopts.texi (-M): Likewise.
22309 (-finput-charset): Likewise.
22310 (--help): Likewise.
22311 * doc.invoke.texi (AVR Options): Likewise.
22312 (V850 Options): Likewise.
22313
22314 2015-03-22 Jan Hubicka <hubicka@ucw.cz>
22315
22316 PR ipa/65475
22317 * ipa-devirt.c: Include demangle.h
22318 (odr_type_d): Add field rtti_broken.
22319 (odr_subtypes_equivalent_p): Do not require name to match.
22320 (compare_virtual_tables): Fix typo; if type already has ODR violation,
22321 bypass the tests; be ready for function referneces in vtables that are
22322 not DECL_VIRTUAL; make warnings to be OPT_Wodr.
22323 (warn_odr): Give up for nameless types.
22324 (warn_types_mismatch): Report mismatch in mangled names;
22325 report mismatch in anonymous namespaces; look into component types to
22326 give useful error; report when mismatch is dragged in from other ODR
22327 type.
22328 (odr_types_equivalent_p): Match types for being polymorphic; avoid
22329 duplicated diagnostics.
22330 (add_type_duplicate): Reorder checks so more informative ones come
22331 first; fix typo; do not output "the extra base is defined here" when
22332 we did not warn.
22333 (BINFO_N_BASE_BINFOS): Relax sanity check.
22334
22335 2015-03-22 Martin Liska <mliska@suse.cz>
22336 Jakub Jelinek <jakub@redhat.com>
22337
22338 * config/i386/i386.c (def_builtin): Set deferred_isa_values for
22339 masks that can potentially include a builtin.
22340 (ix86_add_new_builtins): Introduce fast filter for isa values
22341 that cannot trigger builtin inclusion.
22342
22343 2015-03-22 Martin Liska <mliska@suse.cz>
22344
22345 * ipa-icf.c (sem_item::update_hash_by_addr_refs): New function.
22346 (sem_item::update_hash_by_local_refs): Likewise.
22347 (sem_variable::get_hash): Empty line is fixed.
22348 (sem_item_optimizer::execute): Include adding of hash references.
22349 (sem_item_optimizer::update_hash_by_addr_refs): New function.
22350 (sem_item_optimizer::build_hash_based_classes): Use local hash.
22351 * ipa-icf.h (sem_item::update_hash_by_addr_refs): New function.
22352 (sem_item::update_hash_by_local_refs): Likewise.
22353
22354 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
22355
22356 PR ipa/65502
22357 * ipa-comdats.c (enqueue_references): Walk through thunks.
22358 (ipa_comdats): Likewise.
22359 (set_comdat_group_1): New function.
22360
22361 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
22362
22363 PR ipa/65475
22364 * ipa-devirt.c (add_type_duplicate): Prevail polymorphic type over
22365 non-polymorphic
22366
22367 2015-03-22 Dave Korn <dave.korn.cygwin@gmail.com>
22368 Gerald Pfeifer <gerald@pfeifer.com>
22369
22370 * doc/contrib.texi (Contributors): Update entry for Danny Smith.
22371
22372 2015-03-21 Chung-Lin Tang <cltang@codesourcery.com>
22373 Sandra Loosemore <sandra@codesourcery.com>
22374
22375 * config/nios2/nios2-protos.h (nios2_adjust_call_address): Adjust
22376 function parameter declaration.
22377 * config/nios2/nios2.md (call,call_value,sibcall,sibcall_value):
22378 Update arguments to nios2_adjust_call_address().
22379 (sibcall_internal): Rename from *sibcall.
22380 (sibcall_value_internal): Rename from *sibcall_value.
22381 * config/nios2/nios2.c (nios2_emit_add_constant): New function.
22382 (nios2_large_got_address): Add target temp reg parameter.
22383 (nios2_got_address): Adjust call to nios2_large_got_address, add
22384 force_reg around it.
22385 (nios2_load_pic_address): Add target temp reg parameter, replace call
22386 to nios2_got_address with corresponding code.
22387 (nios2_legitimize_constant_address): Update call to
22388 nios2_load_pic_address.
22389 (nios2_adjust_call_address): Add temp reg parameter, update PIC case
22390 to use temp reg for PIC loading purposes.
22391 (nios2_asm_output_mi_thunk): Implement TARGET_ASM_OUTPUT_MI_THUNK.
22392 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
22393 (TARGET_ASM_OUTPUT_MI_THUNK): Likewise.
22394
22395 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
22396
22397 * doc/invoke.texi (-fno-diagnostics-show-caret): Fix
22398 usage of "the @option{...}".
22399 (-Wopenmp-simd): Likewise.
22400 (-fsanitize-recover): Likewise.
22401 (-fsanitize-undefined-trap-on-error): Likewise.
22402 (-flto): Likewise.
22403 (tracer-dynamic-coverage-feedback): Likewise.
22404 (reorder-block-duplicate-feedback): Likewise.
22405 (loop-unroll-jam-size): Likewise.
22406 (-B): Likewise.
22407 (-I-): Likewise.
22408 (-mabs=legacy): Likewise.
22409 (-mupper-regs-df): Likewise.
22410 (-mupper-regs-sf): Likewise.
22411 (-mpointers-to-nested-functions): Likewise.
22412
22413 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
22414
22415 * doc/extend.texi (Cilk Plus Builtins): Add markup.
22416
22417 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
22418
22419 * doc/invoke.texi (-fcheck-pointer-bounds): Copy-edit, add
22420 additional index entries and cross-references.
22421 (-fchkp-check-incomplete-type): Likewise.
22422 (-fchkp-first-field-has-own-bounds): Likewise.
22423 (-fchkp-narrow-to-innermost-array): Likewise.
22424 (-fchkp-use-fast-string-functions): Likewise.
22425 (-fchkp-use-nochk-string-functions): Likewise.
22426 (-fchkp-use-static-const-bounds): Likewise.
22427 (-fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
22428 (-fchkp-instrument-marked-only): Likewise.
22429 (-fchkp-use-wrappers): Likewise.
22430 (-static-libmpx): Likewise.
22431 (-static-libmpxwrappers): Likewise.
22432 * doc/extend.texi (bnd_legacy): Likewise.
22433 (bnd_instrument): Likewise.
22434 (bnd_variable_size): Likewise.
22435 (Pointer Bounds Checker builtins): Likewise.
22436
22437 2015-03-21 Tom de Vries <tom@codesourcery.com>
22438
22439 PR tree-optimization/65458
22440 * cgraph.c (cgraph_node::dump): Handle parallelized_function field.
22441 * cgraph.h (cgraph_node): Add parallelized_function field.
22442 * lto-cgraph.c (lto_output_node): Write parallelized_function field.
22443 (input_overwrite_node): Read parallelized_function field.
22444 * omp-low.c (expand_omp_taskreg, finalize_task_copyfn): Set
22445 parallelized_function on cgraph_node for child_fn.
22446 * tree-parloops.c: Add include of plugin-api.h, ipa-ref.h and cgraph.h.
22447 Remove include of gt-tree-parloops.h.
22448 (parallelized_functions): Remove static variable.
22449 (parallelized_function_p): Rewrite using parallelized_function field of
22450 cgraph_node.
22451 (create_loop_fn): Remove adding to parallelized_functions.
22452 * Makefile.in (GTFILES): Remove tree-parloops.c
22453
22454 2015-03-20 Vladimir Makarov <vmakarov@redhat.com>
22455
22456 PR rtl-optimization/64366
22457 * lra.c (lra_update_insn_regno_info): Consider regs in
22458 CALL_INSN_FUNCTION_USAGE memory.
22459
22460 2015-03-20 Richard Biener <rguenther@suse.de>
22461
22462 PR middle-end/64715
22463 * tree-chrec.c (chrec_fold_poly_cst): Use useless_type_conversion_p
22464 for type comparison and gcc_checking_assert.
22465 (chrec_fold_plus_poly_poly): Likewise.
22466 (chrec_fold_multiply_poly_poly): Likewise.
22467 (chrec_convert_1): Likewise.
22468 * gimplify.c (gimplify_expr): Remove premature folding of
22469 &X + CST to &MEM[&X, CST].
22470
22471 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
22472
22473 * ipa-inline.c (can_inline_edge_p): Short circuit if inline_failed
22474 already is final.
22475 (ipa_inline): Recompute inline_failed codes.
22476 * cif-code.def (FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
22477 USES_COMDAT_LOCAL, ATTRIBUTE_MISMATCH, UNREACHABLE): Declare as
22478 CIF_FINAL_ERROR.
22479
22480 2015-03-20 Uros Bizjak <ubizjak@gmail.com>
22481
22482 PR rtl-optimization/60851
22483 * recog.c (constrain_operands): Accept a pseudo register before reload
22484 for LRA enabled targets.
22485
22486 2015-03-19 Michael Meissner <meissner@linux.vnet.ibm.com>
22487
22488 PR target/65240
22489 * config/rs6000/predicates.md (easy_fp_constant): Remove special
22490 -ffast-math handling that kept non-0 constants live in the RTL
22491 until reload. Remove logic testing the number of instructions it
22492 took to create a constant in a GPR that was never used, due to a
22493 test for soft-float earlier.
22494 (memory_fp_constant): Delete, no longer used.
22495
22496 * config/rs6000/rs6000.md (mov<MODE>_hardfloat): Remove
22497 alternatives for loading non-0 constants into GPRs for hard
22498 floating point that is no longer needed due to changes in
22499 easy_fp_constant. Add support for loading 0.0 into GPRs.
22500 (mov<mode>_hardfloat32): Likewise.
22501 (mov<mode>_hardfloat64): Likewise.
22502 (mov<mode>_64bit_dm): Likewise.
22503 (movtd_64bit_nodm): Likewise.
22504 (pre-reload move FP constant define_split): Delete define_split,
22505 since it is no longer used.
22506 (extenddftf2_internal): Remove GHF constraints that are not valid
22507 for extenddftf2.
22508
22509 2015-03-19 Vladimir Makarov <vmakarov@redhat.com>
22510
22511 PR rtl-optimization/63491
22512 * lra-constraints.c (check_and_process_move): Use src instead of
22513 sreg. Remove some dead code.
22514
22515 2015-03-19 Jan Hubicka <hubicka@ucw.cz>
22516
22517 PR ipa/65380
22518 * ipa-icf.c (sem_function::merge): Do not merge DECL_EXTERNAL symbols.
22519 (sem_variable::merge): Likewise.
22520
22521 2015-03-19 Martin Liska <mliska@suse.cz>
22522
22523 PR ipa/65465
22524 * cgraphunit.c (cgraph_node::create_wrapper): Correctly reset
22525 all fields of cgraph_thunk_info.
22526
22527 2015-03-19 Ilya Enkovich <ilya.enkovich@intel.com>
22528
22529 * ipa-chkp.c (chkp_maybe_create_clone): Don't try to
22530 clone instrumented thunks.
22531
22532 2015-03-19 Richard Biener <rguenther@suse.de>
22533
22534 Revert
22535 2015-03-10 Richard Biener <rguenther@suse.de>
22536
22537 PR middle-end/63155
22538 * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
22539 * tree-ssa-coalesce.c: Include timevar.h.
22540 (attempt_coalesce): Handle graph being NULL.
22541 (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
22542 Split out abnormal coalescing to ...
22543 (perform_abnormal_coalescing): ... this function.
22544 (coalesce_ssa_name): Perform abnormal coalescing without computing
22545 live/conflict.
22546 (verify_ssa_coalescing_worker): New function.
22547 (verify_ssa_coalescing): Likewise.
22548
22549 2015-03-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
22550 Jakub Jelinek <jakub@redhat.com>
22551
22552 PR sanitizer/65400
22553 * tsan.c (instrument_gimple): Clear tail call flag on
22554 calls.
22555
22556 2015-03-19 Jakub Jelinek <jakub@redhat.com>
22557
22558 PR sanitizer/65400
22559 * ipa-split.c (find_return_bb): Allow TSAN_FUNC_EXIT internal
22560 call in the return bb.
22561 (find_split_points): Add RETURN_BB argument, don't call
22562 find_return_bb.
22563 (split_function): Likewise. Add ADD_TSAN_FUNC_EXIT argument,
22564 if true append TSAN_FUNC_EXIT internal call after the call to
22565 the split off function.
22566 (execute_split_functions): Call find_return_bb here.
22567 Don't optimize if TSAN_FUNC_EXIT is found in unexpected places.
22568 Adjust find_split_points and split_function calls.
22569
22570 2015-03-18 DJ Delorie <dj@redhat.com>
22571
22572 * config/rl78/rl78-virt.md (andqi3_virt): Allow far operands.
22573 (iorqi3_virt): Likewise.
22574
22575 2015-03-18 Tom de Vries <tom@codesourcery.com>
22576
22577 * tree-parloops.c (parallelize_loops): Make static.
22578 * tree-parloops.h (parallelize_loops): Remove extern declaration.
22579
22580 2015-03-18 Andrew Stubbs <ams@codesourcery.com>
22581
22582 PR middle-end/64491
22583 Revert:
22584 2014-11-20 Andrew Stubbs <ams@codesourcery.com>
22585
22586 * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop
22587 condition would be removed due to undefined behaviour.
22588
22589 2015-03-18 Martin Liska <mliska@suse.cz>
22590
22591 PR ipa/65432
22592 * cgraph.c (cgraph_node::get_create): Remove unnecessary
22593 xstrdup_for_dump wrapper.
22594 * ipa-icf.c (sem_item::dump): Use symtab_node::name instead of
22595 sem_item::name.
22596 (sem_function::equals): Wrap symtab_node::name and symtab_node::asm_name
22597 with xstrdup_for_dump.
22598 (sem_variable::equals): Likewise.
22599 (sem_item_optimizer::read_section): Use symtab_node::name instead of
22600 sem_item::name.
22601 (sem_item_optimizer::parse_funcs_and_vars): Likewise.
22602 (sem_item_optimizer::merge_classes): Wrap symtab_node::name and
22603 symtab_node::asm_name with xstrdup_for_dump.
22604 (congruence_class::dump): Use symtab_node::name instead of
22605 sem_item::name.
22606 * ipa-icf.h (symtab_node::name): Remove.
22607 (symtab_node::asm_name): Likewise.
22608
22609 2015-03-18 Jakub Jelinek <jakub@redhat.com>
22610
22611 PR tree-optimization/65450
22612 * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info): New
22613 function.
22614 (vect_create_addr_base_for_vector_ref, vect_create_data_ref_ptr): Use
22615 it instead of duplicate_ssa_name_ptr_info.
22616
22617 PR target/65222
22618 * doc/invoke.texi: Add knl as x86 -march=/-mtune= CPU type.
22619
22620 2015-03-18 Richard Biener <rguenther@suse.de>
22621
22622 * tree-data-ref.h (struct access_matrix): Remove.
22623 (AM_LOOP_NEST, AM_NB_INDUCTION_VARS, AM_PARAMETERS, AM_MATRIX,
22624 AM_NB_PARAMETERS, AM_CONST_COLUMN_INDEX, AM_NB_COLUMNS,
22625 AM_GET_SUBSCRIPT_ACCESS_VECTOR, AM_GET_ACCESS_MATRIX_ELEMENT): Likewise.
22626 (am_vector_index_for_loop): Likewise.
22627 (struct data_reference): Remove access_matrix member.
22628 (DR_ACCESS_MATRIX): Remove.
22629 (lambda_vector_new): Add comment.
22630 (lambda_matrix_new): Use XOBNEWVEC.
22631
22632 2015-03-18 Richard Biener <rguenther@suse.de>
22633
22634 * tree-ssa-loop-ch.c (pass_data_ch): Remove TODO_cleanup_cfg.
22635 (pass_ch::execute): Cleanup the CFG only if we did sth.
22636 * tree-vect-generic.c (pass_data_lower_vector): Remove TODO_cleanup_cfg.
22637
22638 2015-03-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
22639
22640 * expmed.c (synth_mult): Use std::swap instead of manually
22641 swapping algorithms.
22642
22643 2015-03-18 Jakub Jelinek <jakub@redhat.com>
22644
22645 PR target/65078
22646 * config/i386/sse.md (movsi/movdi -> vec_extract_*_0 splitter): New.
22647
22648 2015-03-16 Georg-Johann Lay <avr@gjlay.de>
22649
22650 PR target/65296
22651 * config/avr/avr.opt (-nodevicelib): New option.
22652 * doc/invoke.texi (AVR Options): Document it.
22653 * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC) [avr1]: Don't link
22654 libgcc.a, libc.a, libm.a.
22655 * config/avr/specs.h: Same.
22656 * config/avr/gen-avr-mmcu-specs.c (print_mcu): Don't print specs
22657 which don't (directly) depend on the device. Print more help.
22658 (*avrlibc_devicelib) [-nodevicelib]: Don't link libdev.a.
22659 (*cpp): Don't define __AVR_DEV_LIB_NAME__.
22660 * config/avr/driver-avr.c: Remove -nodevicelib from option list in
22661 case of an error.
22662 (avr_devicespecs_file): Use suffix "%s" instead of absolute path
22663 for specs file name.
22664 * config/avr/avr-arch.h (avr_mcu_t) [.library_name]: Remove.
22665 * config/avr/avr-mcus.def: Adjust initializers and comments.
22666
22667 2015-03-16 Jan Hubicka <hubicka@ucw.cz>
22668
22669 * tree-sra.c (ipa_sra_preliminary_function_checks): Use
22670 DECL_ONE_ONLY to check if decl is one only.
22671 * ipa-split.c (consider_split): Limit splitt of one only functions.
22672
22673 2015-03-16 Jakub Jelinek <jakub@redhat.com>
22674
22675 PR tree-optimization/65427
22676 * tree-vect-generic.c (do_cond, expand_vector_scalar_condition): New
22677 functions.
22678 (expand_vector_operations_1): Handle BLKmode vector COND_EXPR.
22679
22680 2015-03-16 Marek Polacek <polacek@redhat.com>
22681
22682 * cgraph.h (add_new_static_var): Remove declaration.
22683 * varpool.c (add_new_static_var): Remove function.
22684
22685 2015-03-16 Jakub Jelinek <jakub@redhat.com>
22686
22687 * omp-low.c (expand_omp_target): Use auto_vec<tree, 11>
22688 instead of vec<tree> * with vec_alloc and release for args.
22689 Adjust all users.
22690
22691 PR middle-end/65431
22692 * omp-low.c (delete_omp_context): Only splay_tree_delete
22693 reduction_map in GIMPLE_OMP_TARGET is_gimple_omp_offloaded
22694 is_gimple_omp_oacc contexts. Don't look at ctx->outer.
22695
22696 2015-03-16 Max Ostapenko <m.ostapenko@partner.samsung.com>
22697
22698 PR sanitizer/64820
22699 * cfgexpand.c (align_base): New function.
22700 (alloc_stack_frame_space): Call it.
22701 (expand_stack_vars): Align prev_frame to be sure
22702 data->asan_vec elements aligned properly.
22703
22704 2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
22705
22706 PR middle-end/65409
22707 * expr.c (store_field): Do not do a direct block copy if the source is
22708 a PARALLEL with BLKmode.
22709
22710 2015-03-16 Tom de Vries <tom@codesourcery.com>
22711
22712 PR middle-end/65414
22713 Revert:
22714 2015-03-12 Tom de Vries <tom@codesourcery.com>
22715
22716 PR rtl-optimization/64895
22717 * lra-lives.c (check_pseudos_live_through_calls): Use
22718 actual_call_used_reg_set instead of call_used_reg_set, if available.
22719
22720 2015-03-16 Alan Modra <amodra@gmail.com>
22721
22722 PR target/63150
22723 * config/rs6000/rs6000.md (bswapdi2): Remove one scratch reg.
22724 Modify Z->r bswapdi splitter to use dest in place of scratch.
22725 In r->Z and Z->r bswapdi splitter rename word_high, word_low
22726 to word1, word2 and rearrange logic to suit.
22727 (bswapdi2_64bit): Remove early clobber on Z->r alternative.
22728 (bswapdi2_ldbrx): Likewise. Remove '??' on r->r.
22729 (bswapdi2_32bit): Remove early clobber on Z->r alternative.
22730 Add one '?' on r->r. Modify Z->r splitter to avoid need for
22731 early clobber.
22732
22733 2015-03-14 Jakub Jelinek <jakub@redhat.com>
22734
22735 PR tree-optimization/65369
22736 * tree-vect-stmts.c (vectorizable_load) <case dr_explicit_realign>:
22737 Set bump to vs * TYPE_SIZE_UNIT (elem_type) - 1 instead of
22738 (vs - 1) * TYPE_SIZE_UNIT (elem_type).
22739
22740 PR tree-optimization/65418
22741 * tree-ssa-reassoc.c (extract_bit_test_mask): If there
22742 are casts in the first PLUS_EXPR operand, ensure tbias and
22743 *totallowp are in the inner type.
22744
22745 PR rtl-optimization/65401
22746 * combine.c (rtx_equal_for_field_assignment_p): Add widen_x
22747 argument. If true, adjust_address_nv of x with big-endian
22748 correction for the mode widening to GET_MODE (y).
22749 (make_field_assignment): Don't do MEM mode widening here.
22750 Use MEM_P instead of GET_CODE == MEM.
22751
22752 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
22753
22754 * varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for
22755 the external decls.
22756
22757 2015-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
22758
22759 PR target/64600
22760 * config/arm/arm.c (arm_gen_constant, AND case): Use
22761 ARM_SIGN_EXTEND when constructing AND mask.
22762
22763 2015-03-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
22764
22765 * graph.c (print_graph_cfg): Make function names visible and append
22766 parenthesis to it. Also make groups of basic blocks belonging to the
22767 same function visible.
22768
22769 2015-03-12 Richard Biener <rguenther@suse.de>
22770
22771 PR middle-end/44563
22772 * tree-inline.c (gimple_expand_calls_inline): Walk BB backwards
22773 to avoid quadratic behavior with inline expansion splitting blocks.
22774 * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not merge block
22775 with the successor if the predecessor will be merged with it.
22776 * tree-cfg.c (gimple_can_merge_blocks_p): We can't merge the
22777 entry block with its successor.
22778
22779 2015-03-13 Richard Biener <rguenther@suse.de>
22780
22781 PR middle-end/44563
22782 * tree-cfgcleanup.c (split_bb_on_noreturn_calls): Remove.
22783 (cleanup_tree_cfg_1): Do not call it.
22784 (execute_cleanup_cfg_post_optimizing): Fixup the CFG here.
22785 (fixup_noreturn_call): Mark the stmt as control altering.
22786 * tree-cfg.c (execute_fixup_cfg): Do not dump the function
22787 here.
22788 (pass_data_fixup_cfg): Produce a dump file.
22789 * tree-ssa-dom.c: Include tree-cfgcleanup.h.
22790 (need_noreturn_fixup): New global.
22791 (pass_dominator::execute): Fixup queued noreturn calls.
22792 (optimize_stmt): Queue calls that became noreturn for fixup.
22793 * tree-ssa-forwprop.c (pass_forwprop::execute): Likewise.
22794 * tree-ssa-pre.c: Include tree-cfgcleanup.h.
22795 (el_to_fixup): New global.
22796 (eliminate_dom_walker::before_dom_childre): Queue calls that
22797 became noreturn for fixup.
22798 (eliminate): Fixup queued noreturn calls.
22799 * tree-ssa-propagate.c: Include tree-cfgcleanup.h.
22800 (substitute_and_fold_dom_walker): New member stmts_to_fixup.
22801 (substitute_and_fold_dom_walker::before_dom_children): Queue
22802 alls that became noreturn for fixup.
22803 (substitute_and_fold): Fixup queued noreturn calls.
22804
22805 2015-03-12 Jan Hubicka <hubicka@ucw.cz>
22806
22807 * ipa-icf.c (sem_function::equals_wpa): Match CXX_CONSTRUCTOR_P
22808 and CXX_DESTURCTOR_P. For consutrctors match ODR type of class they
22809 are building; for methods check ODR type of class they belong to if
22810 they may lead to a polymorphic call.
22811 (sem_function::compare_polymorphic_p): Be bit smarter about testing
22812 when function may lead to a polymorphic call.
22813 (sem_function::compare_type_list): Remove.
22814 (sem_variable::equals): Update use of compatible_types_p.
22815 (sem_variable::parse_tree_refs): Remove.
22816 (sem_item_optimizer::filter_removed_items): Do not filter out CXX
22817 cdtor.
22818 * ipa-icf-gimple.c (func_checker::compare_decl): Do polymorphic
22819 matching here.
22820 (func_checker::compatible_polymorphic_types_p): Break out from ...
22821 (unc_checker::compatible_types_p): ... here.
22822 * ipa-icf-gimple.h (func_checker::compatible_polymorphic_types_p):
22823 Declare.
22824 (unc_checker::compatible_types_p): Update.
22825 * ipa-icf.h (compare_type_list, parse_tree_refs, compare_sections):
22826 Remove.
22827
22828 2015-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
22829
22830 PR rtl-optimization/65235
22831 * simplify-rtx.c (simplify_binary_operation_1, VEC_SELECT case):
22832 When first element of vec_concat is const_int, calculate its size
22833 using second element.
22834
22835 2015-03-12 Richard Biener <rguenther@suse.de>
22836
22837 PR middle-end/65270
22838 * fold-const.c (operand_equal_p): Fix ordering of resetting
22839 OEP_ADDRESS_OF and checking for it in the [TARGET_]MEM_REF case.
22840
22841 2015-03-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
22842
22843 * config/s390/s390.c (s390_reorg): Move code to output nops after label
22844 to s390_reorg ().
22845 (s390_asm_output_function_label): Likewise.
22846 * config/s390/s390.c (s390_asm_output_function_label):
22847 Fix function label alignment with -mhtopatch.
22848 * config/s390/s390.md ("unspecv"): New values UNSPECV_NOP_2_BYTE,
22849 UNSPECV_NOP_4_BYTE and UNSPECV_NOP_6_BYTE
22850 ("nop_2_byte"): New define_insn.
22851 ("nop_4_byte"): Likewise.
22852 ("nop_6_byte"): Likewise.
22853 * doc/extend.texi (hotpatch): hotpatch attribute doc fixes.
22854 * doc/invoke.texi (-mhotpatch): -mhotpatch doc fixes.
22855
22856 2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
22857
22858 PR target/65103
22859 * config/i386/i386.c (ix86_address_cost): Fix cost of a PIC
22860 register.
22861
22862 2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
22863
22864 PR target/65044
22865 * toplev.c (process_options): Restrict Pointer Bounds Checker
22866 usage with Address Sanitizer.
22867
22868 2015-03-12 Richard Biener <rguenther@suse.de>
22869
22870 * tree-cfg.c (gimple_split_block): Remove loop finding stmt
22871 to split on.
22872 * omp-low.c (expand_omp_taskreg): Split block before removing
22873 the stmt.
22874 (expand_omp_target): Likewise.
22875 * ubsan.c (ubsan_expand_null_ifn): Adjust stmt if we replaced it.
22876 * tree-parloops.c (create_call_for_reduction_1): Pass a proper
22877 stmt to split_block.
22878
22879 2015-03-12 Tom de Vries <tom@codesourcery.com>
22880
22881 PR rtl-optimization/64895
22882 * lra-lives.c (check_pseudos_live_through_calls): Use
22883 actual_call_used_reg_set instead of call_used_reg_set, if available.
22884
22885 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
22886
22887 * cgraph.c (cgraph_node::release_body): Free function_in_decl_state.
22888 (cgraph_node::remove): Likewise.
22889 (cgraph_node::get_untransformed_body): Likewise.
22890 * varpool.c (varpool_node::remove): Likewise.
22891 (varpool_node::get_constructor): Add sanity check.
22892
22893 2015-03-11 Sandra Loosemore <sandra@codesourcery.com>
22894
22895 * doc/invoke.texi (-fgnu89-inline): Remove discussion about
22896 old GCC versions.
22897 (-fabi-compat-version): Likewise.
22898 (-ffriend-injection): Likewise.
22899 (-Wdeclaration-after-statement): Likewise.
22900 (-fomit-frame-pointer): Likewise.
22901 (-ftree-coalesce-inlined-vars): Likewise.
22902 (-fvisibility=): Likewise.
22903 * doc/extend.texi (Typeof): Likewise.
22904 (Zero Length): Likewise.
22905 (Escaped Newlines): Likewise.
22906 (Compound Literals): Likewise.
22907 (Function Attributes): Likewise.
22908 (Label Attributes): Likewise.
22909 (Type Attributes): Likewise.
22910 (Function Names): Likewise.
22911 (Other Builtins): Likewise.
22912 (Function Specific Option Pragmas): Likewise.
22913 (C++ Interface): Likewise.
22914
22915 2015-03-11 Thomas Schwinge <thomas@codesourcery.com>
22916
22917 * config/nvptx/nvptx.h (LIBSTDCXX): Define to "gcc".
22918
22919 2015-03-11 Marek Polacek <polacek@redhat.com>
22920
22921 PR tree-optimization/65388
22922 * tree-ssa-tail-merge.c (same_succ_def::equal): Fix typo in comparison.
22923
22924 2015-03-10 Georg-Johann Lay <avr@gjlay.de>
22925
22926 PR target/65296
22927 * configure.ac [avr]: Check as for options -mrmw, --mlink-relax.
22928 * configure: Regenerate.
22929 * config.in: Regenerate.
22930 * doc/invoke.texi (AVR Options) [-mrmw]: Document it.
22931 [-mn-flash]: Document it.
22932 [__AVR_ARCH__]: Document avrtiny.
22933
22934 * config/avr/gen-avr-mmcu-specs.c (config.h): Include it.
22935 (*asm_relax): Only define spec if HAVE_AS_AVR_MLINK_RELAX_OPTION.
22936 (*asm_rmw): Only define spec if HAVE_AS_AVR_MRMW_OPTION.
22937
22938 2015-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
22939
22940 * doc/invoke.texi: Add missing cpu values (z196, zEC12).
22941
22942 2015-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
22943
22944 PR target/65242
22945 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Do not
22946 allow reloads of PLUS in floating point/VSX registers.
22947
22948 2015-03-11 Junmo Park <junmoz.park@samsung.com>
22949
22950 * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Add
22951 crypto_sha256_fast.
22952 (cortex_a57_crypto_complex): Add crypto_sha256_slow.
22953
22954 2015-03-11 Richard Biener <rguenther@suse.de>
22955
22956 PR tree-optimization/65310
22957 * tree-sra.c (build_ref_for_offset): Also preserve larger
22958 alignment.
22959
22960 2015-03-11 Marat Zakirov <m.zakirov@samsung.com>
22961
22962 * asan.c (instrument_derefs): Disable instrumentation on asan-globals=0.
22963
22964 2015-03-10 Jakub Jelinek <jakub@redhat.com>
22965
22966 PR target/65368
22967 * config/i386/i386.md (bmi2_bzhi_<mode>3): Removed define_insn,
22968 new define_expand.
22969 (*bmi2_bzhi_<mode>3, *bmi2_bzhi_<mode>3_1): New define_insns.
22970
22971 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
22972
22973 * ipa-icf.c (sem_function::equals_wpa): Move here some checks from ...
22974 (sem_function::equals_wpa): ... here.
22975
22976 2015-03-10 Marek Polacek <polacek@redhat.com>
22977 Jakub Jelinek <jakub@redhat.com>
22978
22979 PR sanitizer/65367
22980 * ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG
22981 when only removing the statement. Handle expanding UBSAN_OBJECT_SIZE
22982 separately.
22983
22984 2015-03-10 Jakub Jelinek <jakub@redhat.com>
22985
22986 PR target/65286
22987 * config/rs6000/t-linux: For powerpc64* target set
22988 MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME.
22989
22990 2015-03-10 Richard Biener <rguenther@suse.de>
22991
22992 PR middle-end/44563
22993 * tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit
22994 for redirect_all_calls.
22995
22996 2015-03-10 Marek Polacek <polacek@redhat.com>
22997
22998 * gdbinit.in (pcfun): Define and document.
22999
23000 2015-03-10 Ilya Verbin <ilya.verbin@intel.com>
23001
23002 * config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead
23003 of libgomp-plugin.h.
23004 (find_target_compiler): Support a case when the path to gcc is
23005 specified in the PATH env var, so COLLECT_GCC doesn't contain a path.
23006 (generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from
23007 intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from
23008 libgomp-plugin.h.
23009 (main): Use GCC_INSTALL_NAME as target_driver_name.
23010 * config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME
23011 define.
23012 (mkoffload.o): Remove obsolete include path and defines.
23013 (mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER).
23014
23015 2015-03-10 Richard Biener <rguenther@suse.de>
23016
23017 PR middle-end/63155
23018 * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
23019 * tree-ssa-coalesce.c: Include timevar.h.
23020 (attempt_coalesce): Handle graph being NULL.
23021 (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
23022 Split out abnormal coalescing to ...
23023 (perform_abnormal_coalescing): ... this function.
23024 (coalesce_ssa_name): Perform abnormal coalescing without computing
23025 live/conflict.
23026 (verify_ssa_coalescing_worker): New function.
23027 (verify_ssa_coalescing): Likewise.
23028
23029 2015-03-10 Georg-Johann Lay <avr@gjlay.de>
23030
23031 PR target/65296
23032 * config.gcc (extra_options) [avr]: Remove.
23033 (extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o.
23034 (tm_file) [avr]: Add avr/specs.h after avr/avr.h.
23035 (tm_defines) [avr-*-rtems*]: Add WITH_RTEMS.
23036
23037 * config/avr/avr.opt (config/avr/avr-arch.h): Remove include.
23038 (-mmcu=): Add Var and MissingArgError properties.
23039 (-march=): Remove.
23040 * config/avr/genmultilib.awk: Use -mmcu= instead of -march=.
23041 * config/avr/t-multilib: Regenerate.
23042 * config/avr/specs.h: New file.
23043 * config/avr/driver-avr.c: New file.
23044 * config/avr/genopt.sh: Remove file.
23045 * config/avr/avr-tables.opt: Remove file.
23046 * config/avr/predicates.md (avr_current_arch): Rename to avr_arch.
23047 * config/avr/avr-c.c: Same.
23048 * avr-arch.h: Same.
23049 (avr_current_device): Remove proto.
23050 * config/avr/avr.h (avr_current_arch): Rename to avr_arch.
23051 (AVR_HAVE_8BIT_SP): Don't depend on avr_current_device.
23052 (EXTRA_SPEC_FUNCTIONS): Define.
23053 (avr_devicespecs_file): New specs function proto.
23054 (DRIVER_SELF_SPECS): Use device-specs-file spec function.
23055 * config/avr/avr.c (avr_current_arch): Rename to avr_arch.
23056 (avr_current_device): Remove definition and usage.
23057 (avr_set_core_architecture): New static function.
23058 (avr_option_override): Use it.
23059 * config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them.
23060 (mcu_name): New static array.
23061 (comparator, avr_archs_str, avr_mcus_str): New static functions.
23062 (avr_inform_devices, avr_inform_core_architectures): New functions.
23063 * config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include.
23064 (avrlibc.h) [WITH_AVRLIBC]: Include.
23065 (../rtems.h, rtems.h) [WITH_RTEMS]: Include.
23066 (print_mcu): Rewrite from scratch.
23067 * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC):
23068 Forward to avr-specific specs defined in device-specs file.
23069 * config/avr/t-avr (driver-avr.o): New rule.
23070 (avr-devices.o): Depend on avr-arch.h.
23071 (avr-mcus): No more depend on avr-tables.opt.
23072 (avr-tables.opt): Remove rule.
23073 (install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM.
23074
23075 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
23076
23077 * c-family/c.opt (fchkp-use-wrappers): New.
23078 * ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New.
23079 (chkp_wrap_function): New.
23080 (chkp_build_instrumented_fndecl): Support wrapped
23081 functions.
23082 * doc/invoke.texi (-fcheck-pointer-bounds): New.
23083 (-fchkp-check-incomplete-type): New.
23084 (-fchkp-first-field-has-own-bounds): New.
23085 (-fchkp-narrow-bounds): New.
23086 (-fchkp-narrow-to-innermost-array): New.
23087 (-fchkp-optimize): New.
23088 (-fchkp-use-fast-string-functions): New.
23089 (-fchkp-use-nochk-string-functions): New.
23090 (-fchkp-use-static-bounds): New.
23091 (-fchkp-use-static-const-bounds): New.
23092 (-fchkp-treat-zero-dynamic-size-as-infinite): New.
23093 (-fchkp-check-read): New.
23094 (-fchkp-check-write): New.
23095 (-fchkp-store-bounds): New.
23096 (-fchkp-instrument-calls): New.
23097 (-fchkp-instrument-marked-only): New.
23098 (-fchkp-use-wrappers): New.
23099 (-static-libmpx): New.
23100 (-static-libmpxwrappers): New.
23101
23102 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
23103
23104 * config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New.
23105 (CHKP_SPEC): Add wrappers library.
23106 * c-family/c.opt (static-libmpxwrappers): New.
23107
23108 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
23109
23110 * config/i386/linux-common.h (LIBMPX_LIBS): New.
23111 (LIBMPX_SPEC): New.
23112 (CHKP_SPEC): New.
23113 * gcc.c (CHKP_SPEC): New.
23114 (LINK_COMMAND_SPEC): Add CHKP_SPEC.
23115 * c-family/c.opt (static-libmpx): New.
23116
23117 2015-03-10 Richard Biener <rguenther@suse.de>
23118
23119 PR middle-end/44563
23120 * cgraph.h (struct cgraph_edge_hasher): Add hash overload
23121 for compare_type.
23122 * cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer.
23123 (cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash.
23124 (cgraph_add_edge_to_call_site_hash): Likewise.
23125 (cgraph_node::get_edge): Likewise.
23126 (cgraph_edge::set_call_stmt): Likewise.
23127 (cgraph_edge::remove_caller): Likewise.
23128
23129 2015-03-10 Chung-Ju Wu <jasonwucj@gmail.com>
23130
23131 * config/nds32/nds32.h (callee_saved_regs_size): Rename to ...
23132 (callee_saved_gpr_regs_size): ... this.
23133 (callee_saved_regs_first_regno): Rename to ...
23134 (callee_saved_first_gpr_regno): ... this.
23135 (callee_saved_regs_last_regno) Rename to ...
23136 (callee_saved_last_gpr_regno): ... this.
23137 * config/nds32/nds32.c (nds32_compute_stack_frame): Adjust renamed
23138 variables.
23139 (nds32_initial_elimination_offset): Likewise.
23140 (nds32_expand_prologue): Likewise.
23141 (nds32_expand_epilogue): Likewise.
23142 (nds32_expand_prologue_v3push): Likewise.
23143 (nds32_expand_epilogue_v3pop): Likewise.
23144 * config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push):
23145 Adjust renamed variables.
23146 (nds32_output_stack_pop): Likewise.
23147
23148 2015-03-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
23149
23150 * dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B
23151 code in comment.
23152
23153 2015-03-10 Jakub Jelinek <jakub@redhat.com>
23154
23155 PR rtl-optimization/65321
23156 * cfgexpand.c (expand_debug_expr): Ensure shift amount isn't wider
23157 than shift mode.
23158 * var-tracking.c (use_narrower_mode): Likewise.
23159
23160 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
23161
23162 PR tree-optimization/65355
23163 * varasm.c (notice_global_symbol): Do not produce RTL.
23164 * symtab.c (symtab_node::can_increase_alignment_p): Check for section
23165 anchor.
23166 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not
23167 check for section anchors.
23168
23169 2015-03-10 Alan Modra <amodra@gmail.com>
23170
23171 PR target/65286
23172 * config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux
23173 to be single-arch by default. Set cpu_is_64bit for powerpc64
23174 given --with-cpu=native.
23175 * config/rs6000/t-fprules: Do not set default MULTILIB vars.
23176 * config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64
23177 and powerpc64le.
23178 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
23179 rs6000_isa_flags rather than TARGET_64BIT.
23180
23181 2015-03-09 Yoshinori Sato <ysato@users.sourceforge.jp>
23182 Kaz Kojima <kkojima@gcc.gnu.org>
23183
23184 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases.
23185
23186 2015-03-09 Jakub Jelinek <jakub@redhat.com>
23187
23188 PR lto/65361
23189 * ipa-devirt.c (add_type_duplicate): Don't use DECL_CONTEXT
23190 on a TREE_BINFO, instead use BINFO_TYPE.
23191
23192 2015-03-09 Richard Biener <rguenther@suse.de>
23193
23194 PR middle-end/65270
23195 * tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF.
23196 * fold-const.c (operand_equal_p): When recursing for ADDR_EXPRs
23197 operand set OEP_ADDRESS_OF. Clear it when recursing to non-bases
23198 of that. When comparing dereferences compare alignment.
23199 When comparing MEM_REFs or TARGET_MEM_REFs compare dependence info.
23200
23201 2015-03-08 Jan Hubicka <hubicka@ucw.cz>
23202
23203 * ipa-inline-analysis.c (check_callers): Check
23204 node->can_remove_if_no_direct_calls_and_refs_p.
23205 (growth_likely_positive): Reorganize to call
23206 can_remove_if_no_direct_calls_p later.
23207 * cgraph.h (will_be_removed_from_program_if_no_direct_calls_p,
23208 will_be_removed_from_program_if_no_direct_calls_p): Add
23209 will_inline parameter.
23210 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p,
23211 cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
23212 Handle inliner case correctly.
23213
23214 2015-03-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
23215
23216 PR tree-optimization/63743
23217 * cfgexpand.c (reorder_operands): Also reorder if only second operand
23218 had its definition forwarded by TER.
23219
23220 2015-03-08 Jan Hubicka <hubicka@ucw.cz>
23221
23222 PR lto/65316
23223 * ipa-utils.h (types_odr_comparable): Add strict argument.
23224 * ipa-devirt.c: Fix whitespace;
23225 (odr_hasher): Remove.
23226 (odr_name_hasher, odr_vtable_hasher): New hashers.
23227 (can_be_name_hashed_p): New predicate.
23228 (hash_type_name): remove.
23229 (hash_odr_name): New.
23230 (odr_name_hasher::hash): new.
23231 (can_be_vtable_hashed_p): New.
23232 (hash_odr_vtable): New.
23233 (odr_vtable_hasher::hash): New.
23234 (types_same_for_odr): Add strict parameter.
23235 (types_odr_comparable): Likewise.
23236 (odr_name_hasher::equal): New.
23237 (odr_vtable_hasher::equal): New.
23238 (odr_name_hasher::remove): New.
23239 (odr_hash_type): Change to hash_table<odr_name_hasher>.
23240 (odr_vtable_hash_type): New.
23241 (odr_vtable_hash): New.
23242 (odr_subtypes_equivalent_p): Do strict comparsion.
23243 (add_type_duplicate): Merge type names; cleanup; avoid type
23244 duplicates.
23245 (register_odr_type): Initialize vtable hash.
23246 (build_type_inheritance_graph): Likewise
23247 (get_odr_type): Reorg to use two hashes.
23248 (dump_possible_polymorphic_call_targets): Move sanity check after debug
23249 output.
23250 (ipa_devirt): Dump type_inheritance_graph.
23251 (types_same_for_odr): Add strict mode.
23252
23253 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
23254
23255 PR ipa/65334
23256 * cgraph.h (symtab_node): Add definition_alignment,
23257 can_increase_alignment_p and increase_alignment.
23258 * symtab.c (symtab_node::can_increase_alignment_p,
23259 increase_alignment_1, symtab_node::increase_alignment,
23260 symtab_node::definition_alignment): New.
23261 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Use
23262 can_increase_alignment_p.
23263 * tree-vectorizer.c (increase_alignment): Use increase_alignment.
23264 * tree-vect-stmts.c (ensure_base_align): Likewise.
23265 * varasm.c (function_section_1): Use definition_alignment.
23266 (assemble_start_function): Likewise.
23267 (emit_local): likewise.
23268 (build_constant_desc): Likewsie.
23269 (output_constant_def_contents): Likewise.
23270 (place_block_symbol): Likewise.
23271 (output_object_block): Likewise.
23272
23273 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
23274
23275 PR ipa/65316
23276 * tree.c (free_lang_data_in_type): Be sure to keep BINFO_VTABLE
23277 when outputting debug.
23278
23279 2015-03-07 Marek Polacek <polacek@redhat.com>
23280 Martin Uecker <uecker@eecs.berkeley.edu>
23281
23282 PR sanitizer/65280
23283 * doc/invoke.texi: Update description of -fsanitize=bounds.
23284
23285 2015-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com>
23286
23287 * tree-ssa-phiopt.c (neg_replacement): Remove.
23288 (tree_ssa_phiopt_worker): Remove negate optimization.
23289
23290 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
23291
23292 PR ipa/65302
23293 * value-prof.c (gimple_ic): Pure dead eh edges when needed.
23294
23295 2015-03-06 Richard Biener <rguenther@suse.de>
23296
23297 PR middle-end/64928
23298 * tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack
23299 and liveout_obstack members.
23300 (calculate_live_on_exit): Remove.
23301 (calculate_live_ranges): Change declaration.
23302 * tree-ssa-live.c (liveness_bitmap_obstack): Remove global var.
23303 (new_tree_live_info): Adjust.
23304 (calculate_live_ranges): Delete livein when not wanted.
23305 (calculate_live_ranges): Do not initialize liveness_bitmap_obstack.
23306 Deal with partly deleted live info.
23307 (loe_visit_block): Remove temporary bitmap by using
23308 bitmap_ior_and_compl_into.
23309 (live_worklist): Adjust accordingly.
23310 (calculate_live_on_exit): Make static.
23311 * tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges
23312 we do not need livein.
23313
23314 2015-03-06 Jonathan Wakely <jwakely@redhat.com>
23315
23316 * real.c (real_from_string): Fix typo in assertion.
23317
23318 2015-03-06 Alex Velenko <alex.velenko@arm.com>
23319
23320 * ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of
23321 the patch.
23322
23323 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
23324
23325 * ipa-icf.c (sem_variable::equals_wpa): Check FINAL flags.
23326
23327 2015-03-05 Vladimir Makarov <vmakarov@redhat.com>
23328
23329 PR target/64342
23330 * lra-assigns.c (find_hard_regno_for): Rename to
23331 find_hard_regno_for_1. Add a new parameter.
23332 (find_hard_regno_for): New function using find_hard_regno_for_1.
23333
23334 2015-03-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
23335
23336 PR rtl-optimization/65067
23337 * expmed.c (store_bit_field, extract_bit_field): Reworked the
23338 strict volatile bitfield handling.
23339
23340 2015-03-05 Martin Liska <mliska@suse.cz>
23341
23342 PR ipa/65318
23343 * ipa-icf.c (sem_variable::equals): Compare variables types.
23344
23345 2015-03-05 Richard Henderson <rth@redhat.com>
23346
23347 PR target/65121
23348 * config/arm/arm.c (arm_function_in_section_p): Fix predicate to
23349 correctly check weak symbol binding.
23350
23351 2015-03-05 Steve Ellcey <sellcey@imgtec.com>
23352
23353 PR middle-end/65315
23354 * cfgexpand.c (expand_stack_vars): Update large_align to maximum
23355 needed alignment.
23356
23357 2015-03-05 Martin Liska <mliska@suse.cz>
23358
23359 * ipa-inline.c (inline_small_functions): Set default value to
23360 prevent warning during bootstrap.
23361 * tree.h: Add pragma guard that ignores false positives during
23362 bootstrap.
23363
23364 2015-03-05 Richard Biener <rguenther@suse.de>
23365
23366 PR tree-optimization/65310
23367 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
23368 Properly preserve alignment of the base of the access.
23369
23370 2015-03-05 Richard Biener <rguenther@suse.de>
23371
23372 PR ipa/65270
23373 * ipa-icf-gimple.c (func_checker::compare_memory_operand):
23374 Compare dependence info.
23375
23376 2015-03-05 Richard Biener <rguenther@suse.de>
23377
23378 PR middle-end/65233
23379 * ipa-polymorphic-call.c: Include tree-ssa-operands.h and
23380 tree-into-ssa.h.
23381 (walk_ssa_copies): Revert last chage. Instead do not walk
23382 SSA names registered for SSA update.
23383
23384 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
23385
23386 PR ipa/65270
23387 * ipa-icf.c (sem_item::compare_cgraph_references): Compare
23388 vtable references for their containing type.
23389 (sem_function::equals_wpa): Compare TYPE_RESTRICT
23390 and type attributes.
23391
23392 2015-03-04 Eric Botcazou <ebotcazou@adacore.com>
23393
23394 * fold-const.c (round_up_loc): Cast divisor to signed on all paths
23395 before negating it.
23396 * stor-layout.c (finalize_record_size): Revert latest change.
23397
23398 2015-03-04 Andreas Tobler <andreast@gcc.gnu.org>
23399
23400 * config/rs6000/t-freebsd64: Remove 32-bit soft-float multilibs.
23401
23402 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
23403
23404 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite
23405 for correct comdat handling.
23406 (cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
23407 Likewise.
23408 * cgraph.h (call_for_symbol_and_aliases): Fix formating.
23409 (used_from_object_file_p_worker): Remove.
23410 (cgraph_node::only_called_directly_or_alised): Add
23411 used_from_object_file_p.
23412 * ipa-inline-analysis.c (growth_likely_positive): Optimie.
23413 * ipa-inline-transform.c (can_remove_node_now_p_1): Use
23414 can_remove_if_no_direct_calls_and_refs_p.
23415
23416 2015-03-04 Nick Clifton <nickc@redhat.com>
23417
23418 * config/rl78/rl78.h (enum reg_class): Remove real registers from
23419 General register class.
23420 * config/rl78/rl78-real.md: Replace general register constraints
23421 with real+virtual register constraints.
23422
23423 2015-03-04 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
23424
23425 * config/s390/s390.c (s390_expand_builtin): Exlude non-htm builtins
23426 from checking for -mhtm option.
23427
23428 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
23429
23430 * tree-sra.c (convert_callers): Use call_for_symbol_and_aliases.
23431 (struct ipa_sra_check_caller_data): Add has_thunk field.
23432 (ipa_sra_check_caller): Check for thunk.
23433 (ipa_sra_preliminary_function_checks): Give up on function with
23434 thunks.
23435 (ipa_early_sra): Use call_for_symbol_and_aliases.
23436
23437 2015-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
23438
23439 PR target/65249
23440 * config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when
23441 called for __stack_chk_guard symbol.
23442
23443 2015-03-03 DJ Delorie <dj@redhat.com>
23444
23445 * config/rl78/rl78-real.md (*addqi_real): Allow SADDR types for
23446 inc/dec.
23447 (*addhi3_real): Likewise.
23448 * config/rl78/rl78-virt.md (*inc<mode>3_virt): Additional
23449 pattern to match incrementing memory.
23450 * config/rl78/predicates.md (rl78_1_2_operand): New.
23451 * config/rl78/rl78.c (rl78_force_nonfar_3): Allow far mem-mem if
23452 it's the same and only mem.
23453 (rl78_alloc_physical_registers_op2): If there's effectively only
23454 one MEM, transcode it into HL.
23455 (rl78_far_p): Reject addresses that aren't legitimate.
23456
23457 2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
23458
23459 * fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before
23460 negating it.
23461
23462 * tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message.
23463
23464 2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
23465
23466 Implement call0 ABI for xtensa
23467 * config/xtensa/constraints.md ("a" constraint): Include stack
23468 pointer in case of call0 ABI.
23469 ("q" constraint): Make empty in case of call0 ABI.
23470 ("D" constraint): Include stack pointer in case of call0 ABI.
23471 * config/xtensa/xtensa-protos.h (xtensa_set_return_address,
23472 xtensa_expand_epilogue, xtensa_regno_to_class): Add new function
23473 prototypes.
23474 * config/xtensa/xtensa.c (xtensa_callee_save_size): New
23475 variable.
23476 (xtensa_regno_to_class): Make it a local variable in the
23477 function xtensa_regno_to_class.
23478 (xtensa_function_epilogue, TARGET_ASM_FUNCTION_EPILOGUE): Remove
23479 macro, function prototype and implementation.
23480 (reg_nonleaf_alloc_order): Make it a local variable in the
23481 function order_regs_for_local_alloc.
23482 (xtensa_conditional_register_usage): New function.
23483 (TARGET_CONDITIONAL_REGISTER_USAGE): Define macro.
23484 (xtensa_valid_move): Allow direct moves to stack pointer
23485 register in call0 ABI.
23486 (xtensa_setup_frame_addresses): Only spill register windows in
23487 windowed ABI.
23488 (xtensa_emit_call): Emit call(x)8 or call(x)0 in windowed and
23489 call0 ABI respectively.
23490 (xtensa_function_arg_1): Only mark a7 register for copying in
23491 windowed ABI.
23492 (xtensa_call_save_reg): New function.
23493 (compute_frame_size): Add space for callee saved register
23494 storage to the frame size in call0 ABI.
23495 (xtensa_expand_prologue): Generate code to set up stack frame
23496 and save callee-saved registers in call0 ABI.
23497 (xtensa_expand_epilogue): New function.
23498 (xtensa_set_return_address): New function.
23499 (xtensa_return_addr): Calculate return address in call0 ABI.
23500 (xtensa_builtin_saveregs): Only mark a7 register for copying and
23501 emit copying code in windowed ABI.
23502 (order_regs_for_local_alloc): Add preferred register allocation
23503 order for non-leaf function in call0 ABI.
23504 (xtensa_static_chain): Add atatic chain passing for call0 ABI.
23505 (xtensa_asm_trampoline_template): Add trampoline generation for
23506 call0 ABI.
23507 (xtensa_trampoline_init): Add trampoline initialization for
23508 call0 ABI.
23509 (xtensa_conditional_register_usage, xtensa_regno_to_class): New
23510 functions.
23511 * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI): New macro.
23512 (TARGET_CPU_CPP_BUILTINS): Add built-in define for call0 ABI.
23513 (CALL_USED_REGISTERS): Modify to encode both windowed and call0
23514 ABI call-used registers.
23515 (HARD_FRAME_POINTER_REGNUM): Add frame pointer for call0 ABI.
23516 (INCOMING_REGNO, OUTGOING_REGNO): Use argument unchanged in
23517 call0 ABI.
23518 (REG_CLASS_CONTENTS): Include all registers into the preferred
23519 reload registers set, adjust the set in the
23520 xtensa_conditional_register_usage.
23521 (xtensa_regno_to_class): Drop variable declaration.
23522 (REGNO_REG_CLASS): Redefine to use xtensa_regno_to_class
23523 function.
23524 (WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI
23525 respectively.
23526 (FUNCTION_PROFILER): Add _mcount call for call0 ABI.
23527 (TRAMPOLINE_SIZE): Define trampoline size for call0 ABI.
23528 (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 in call0 ABI.
23529 (ASM_OUTPUT_POOL_PROLOGUE): Always generate literal pool
23530 location in call0 ABI.
23531 (EH_RETURN_STACKADJ_RTX): New definition, use a10 for passing
23532 stack adjustment size when handling exception.
23533 (CRT_CALL_STATIC_FUNCTION): Add definition for call0 ABI.
23534 * config/xtensa/xtensa.md (A9_REG, UNSPECV_BLOCKAGE): New
23535 definitions.
23536 ("return" pattern): Generate ret.n/ret in call0 ABI.
23537 ("epilogue" pattern): Expand epilogue.
23538 ("nonlocal_goto" pattern): Use default in call0 ABI.
23539 ("eh_return" pattern): Move implementation to eh_set_a0_windowed,
23540 emit eh_set_a0_* depending on ABI.
23541 ("eh_set_a0_windowed" pattern): Former eh_return pattern.
23542 ("eh_set_a0_call0", "blockage"): New patterns.
23543
23544 2015-03-03 Martin Liska <mliska@suse.cz>
23545
23546 PR ipa/65287
23547 * ipa-icf.c (sem_variable::parse): Skip all alias variables.
23548
23549 2015-03-03 Michael Meissner <meissner@linux.vnet.ibm.com>
23550
23551 PR 65138/target
23552 * config/rs6000/rs6000-tables.opt: Regenerate table.
23553
23554 2015-03-03 Renlin Li <renlin.li@arm.com>
23555
23556 * doc/md.texi (@item ^): Change ? into ^.
23557
23558 2015-03-03 H.J. Lu <hongjiu.lu@intel.com>
23559
23560 * doc/tm.texi: Regenerated.
23561
23562 2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
23563
23564 * builtins.c (expand_builtin_return_addr): Add
23565 RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove
23566 surrounding #ifdef.
23567 * config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change
23568 definition to 1.
23569 * config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME):
23570 Likewise.
23571 * defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if
23572 undefined.
23573 * doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update
23574 paragraph.
23575
23576 2015-03-03 Martin Jambor <mjambor@suse.cz>
23577 Eric Botcazou <ebotcazou@adacore.com>
23578
23579 * tree-sra.c (ipa_sra_check_caller_data): New type.
23580 (has_caller_p): Removed.
23581 (ipa_sra_check_caller): New function.
23582 (ipa_sra_preliminary_function_checks): Use it.
23583
23584 2015-03-03 Martin Liska <mliska@suse.cz>
23585
23586 * ipa-icf.c (sem_item_optimizer::merge_classes): Use bit or
23587 instead of if branch.
23588
23589 2015-03-03 Martin Liska <mliska@suse.cz>
23590
23591 PR ipa/65282
23592 * ipa-icf.c (sem_variable::equals): Fix wrong condition.
23593
23594 2015-03-23 Jeff Law <law@redhat.com>
23595
23596 PR tree-optimization/65241
23597 * tree-ssa-dom.c (lookup_avail_expr): Only modify the avail_expr
23598 hash table if INSERT is true.
23599
23600 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
23601
23602 PR target/65296
23603 * config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove.
23604
23605 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
23606
23607 PR target/64331
23608 * config/avr/avr.c (context.h, tree-pass.h): Include them.
23609 (avr_pass_data_recompute_notes): New static variable.
23610 (avr_pass_recompute_notes): New class.
23611 (avr_register_passes): New static function.
23612 (avr_option_override): Call it.
23613
23614 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
23615
23616 Fix various problems with specs file generation.
23617
23618 PR target/65296
23619 * config.gcc (extra_gcc_objs) [avr]: Remove.
23620 * config/avr/driver-avr.c: Remove file.
23621 * config/avr/t-avr (driver-avr.o): Remove rule.
23622 (gen-avr-mmcu-specs): Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and
23623 INCLUDES to build. Depend on TM_H.
23624 * config/avr/gen-avr-mmcu-specs.c: Tidy up code. Fix various
23625 build warnings. Fix non-matching types and non-existing %-codes.
23626 (tm.h): Include.
23627 (*lib) [!WITH_AVRLIBC]: Don't link libdev.a.
23628 (*libgcc) [WITH_AVRLIBC]: Add "-lm".
23629 * config/avr/avrlibc.h (LIBGCC_SPEC): Remove definition.
23630 * config/avr/avr.h (DRIVER_SELF_SPECS): Fix handling of -march=.
23631 (CPP_SPEC, CC1PLUS_SPEC, ASM_SPEC, LINK_SPEC, LIB_SPEC)
23632 (LIBGCC_SPEC): Remove definitions.
23633
23634 2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
23635
23636 * config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG
23637 to create a register in testing mode.
23638
23639 2015-03-03 Martin Liska <mliska@suse.cz>
23640 Jan Hubicka <hubicka@ucw.cz>
23641
23642 PR ipa/65263
23643 * cgraph.c (cgraph_node::has_thunk_p): New function.
23644 * cgraph.h (cgraph_node::has_thunk_p: Likewise.
23645 * ipa-icf.c (redirect_all_callers): Do not redirect thunks.
23646 (sem_function::merge): Assert is changed.
23647
23648 2015-03-03 Martin Liska <mliska@suse.cz>
23649 Martin Jambor <mjambor@suse.cz>
23650
23651 PR ipa/65087
23652 * ipa-icf.c (sem_item_optimizer::execute): Change function
23653 return value to boolean.
23654 (sem_item_optimizer::merge_classes): Likewise.
23655 (ipa_icf_driver): Return TODO_remove_functions in case there's
23656 a merge operation processed.
23657 * ipa-icf.h: Change function return value to boolean.
23658
23659 2015-03-02 Michael Meissner <meissner@linux.vnet.ibm.com>
23660
23661 PR 65138/target
23662 * config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic
23663 processor type for 64-bit little endian PowerPC.
23664
23665 * config/rs6000/rs6000.c (rs6000_option_override_internal): If
23666 -mdebug=reg, print TARGET_DEFAULT. Fix logic to use
23667 TARGET_DEFAULT if there is no default cpu. Fix -mdebug=reg
23668 printing built-in mask so it does not pass NULL pointers.
23669
23670 * doc/invoke.texi (IBM RS/6000 and PowerPC options): Document
23671 -mcpu=powerpc64le.
23672
23673 2015-03-02 Steve Ellcey <sellcey@imgtec.com>
23674
23675 PR target/58158
23676 * config/mips/mips.md (mov<mode>cc): Change ISA_HAS_SEL check to
23677 !ISA_HAS_FP_CONDMOVE.
23678
23679 2015-03-02 Aldy Hernandez <aldyh@redhat.com>
23680
23681 * config/i386/i386.md (*udivmod<mode>4_pow2): Remove
23682 reload_completed.
23683
23684 2015-03-02 Ulrich Drepper <drepper@gmail.com>
23685
23686 * doc/invoke.texi (Options for Code Generation Conventions):
23687 Fix URL of DSO paper.
23688
23689 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
23690
23691 PR ipa/65130
23692 * ipa-inline.c (check_callers): Looks for recursion.
23693 (inline_to_all_callers): Give up on uninlinable or recursive edges.
23694 * ipa-inline-analysis.c (inline_summary_t::duplicate): Do not update
23695 summary of inline clones.
23696 (do_estimate_growth_1): Fix recursion check.
23697
23698 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
23699
23700 PR ipa/64988
23701 * ipa-inline-transform.c (clone_inlined_nodes): Do not dissolve
23702 comdat groups.
23703
23704 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
23705 Aldy Hernandez <aldyh@redhat.com>
23706
23707 PR lto/65276
23708 * ipa-devirt.c (add_type_duplicate): Remove odr_violated assert
23709 when checking TYPE_BINFO.
23710
23711 2015-03-02 Richard Biener <rguenther@suse.de>
23712
23713 PR ipa/65270
23714 * ipa-icf-gimple.c: Include builtins.h.
23715 (func_checker::compare_memory_operand): Compare base alignment.
23716
23717 2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
23718
23719 PR target/65184
23720 * gcc/config/i386/i386.c (ix86_pass_by_reference) Bounds
23721 are never passed by reference.
23722
23723 2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
23724
23725 PR target/65183
23726 * tree-chkp.c (chkp_check_lower): Don't check against
23727 zero bounds for already instrumented functions.
23728 (chkp_check_upper): Likewise.
23729 (chkp_fini): Clean pass local data to avoid wrong reusage.
23730
23731 2015-02-28 Martin Liska <mliska@suse.cz>
23732 Jan Hubicka <hubicka@ucw.cz>
23733
23734 * ipa-icf.c (sem_variable::equals): Improve debug output;
23735 get variable constructor.
23736 (sem_variable::parse): Do not filter out too early; give up on
23737 volatile and register vars.
23738 (sem_item_optimizer::filter_removed_items): Filter out nonreadonly
23739 variables.
23740 * ipa-icf.h (sem_variable::init): Do not set ctor.
23741 (sem_variable::ctor): Remove.
23742
23743 2015-03-01 Aldy Hernandez <aldyh@redhat.com>
23744
23745 PR middle-end/65233
23746 * ipa-polymorphic-call.c (walk_ssa_copies): Handle empty PHIs.
23747
23748 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
23749
23750 * ipa-icf.c: Include stor-layout.h
23751 (sem_function::compare_cgraph_references): Rename to ...
23752 (sem_item::compare_cgraph_references): ... this one.
23753 (sem_variable::equals_wpa): New function
23754 (sem_variable::equals): Do not check stuff already verified by
23755 equals_wpa.
23756 (sem_variable::equals): Reorg based on varasm.c:compare_constant.
23757 * ipa-icf.h (sem_item): Add compare_cgraph_references.
23758 (sem_function): Remove compare_cgraph_references.
23759 (sem_variable): Turns equals_wpa into non-inline.
23760
23761 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
23762
23763 * ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT.
23764 (sem_item::add_expr): New function.
23765 (sem_function::hash_stmt): Handle operands of most statements.
23766 (sem_variable::get_hash): Hash the actual constructor.
23767 * ipa-icf.h (sem_item): Add add_expr.
23768 (sem_function): Update prototype of hash_stmt
23769
23770 2015-02-28 Martin Liska <mliska@suse.cz>
23771 Jan Hubicka <hubicka@ucw.cz>
23772
23773 PR ipa/65245
23774 * ipa-icf-gimple.c (func_checker::compare_function_decl):
23775 Remove.
23776 (func_checker::compare_variable_decl): Skip symtab vars.
23777 (func_checker::compare_cst_or_decl): Update.
23778 * ipa-icf.c (sem_function::parse): Do not consider aliases.
23779 (sem_function::compare_cgraph_references): Add ADDRESS parameter;
23780 use correct symtab predicates.
23781 (sem_function::equals_wpa): Update uses of compare_cgraph_references.
23782 (sem_variable::parse): Update comment.
23783 (sem_item_optimizer::build_graph): Consider ultimate aliases
23784 for references.
23785
23786 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
23787
23788 * ipa-icf-gimple.c (func_checker::compare_operand): Fix handling
23789 of OBJ_TYPE_REF.
23790
23791 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
23792
23793 * ipa-icf.c (sem_function::merge): Fix handling of COMDAT.
23794 (sem_variable::merge) Likewise.
23795
23796 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
23797
23798 * ipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline
23799 target; also match flag_ipa_devirt.
23800
23801 2015-03-01 Martin Liska <mliska@suse.cz>
23802 Jan Hubicka <hubicka@ucw.cz>
23803
23804 * ipa-icf-gimple.c (func_checker::compare_variable_decl):
23805 Validate variable alignment.
23806 * ipa-icf.c (sem_function::equals_private): Be more precise
23807 about non-common function attributes.
23808 (sem_variable::equals): Likewise.
23809
23810 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
23811
23812 PR ipa/65237
23813 * ipa-icf.c (sem_function::merge): Do not attempt to produce alias
23814 across COMDAT group boundary.
23815
23816 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
23817
23818 PR ipa/65232
23819 * ipa-icf.c (clear_decl_rtl): New function.
23820 (sem_function::merge): Clear RTL before forming alias.
23821 (sem_variable::merge): Clear RTL before forming alias.
23822
23823 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
23824
23825 PR ipa/65236
23826 * cgraphunit.c (cgraph_node::expand_thunk): Enable return slot opt.
23827
23828 2015-02-28 Xingxing Pan <xxingpan@marvell.com>
23829
23830 * config/aarch64/aarch64.md: (mov<mode>_aarch64): Change type
23831 to neon_to_gp<q>.
23832
23833 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
23834
23835 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix
23836 a typo in the description.
23837
23838 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
23839
23840 PR target/64317
23841 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
23842 * params.h (LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
23843 * lra-constraints.c: Include "params.h".
23844 (EBB_PROBABILITY_CUTOFF): Use
23845 LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF.
23846 (lra_inheritance): Use '<' instead of '<=' for
23847 EBB_PROBABILITY_CUTOFF.
23848 * doc/invoke.texi (lra-inheritance-ebb-probability-cutoff):
23849 Document change.
23850
23851 2015-02-27 Martin Liska <mliska@suse.cz>
23852
23853 * ipa-icf.h (struct symbol_compare_hashmap_traits): Add missing
23854 vector length condition.
23855
23856 2015-02-27 Sandra Loosemore <sandra@codesourcery.com>
23857
23858 * doc/extend.texi (x86 transactional memory intrinsics):
23859 Reorganize discussion of _xbegin. Clarify that the return
23860 value is a bit mask. Expand example and move to end of section.
23861
23862 2015-02-26 Jakub Jelinek <jakub@redhat.com>
23863 Aldy Hernandez <aldyh@redhat.com>
23864
23865 PR rtl-optimization/65220
23866 * config/i386/i386.md (*udivmod<mode>4_pow2): New.
23867
23868 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
23869
23870 PR target/65032
23871 * lra-remat.c (update_scratch_ops): New.
23872 (do_remat): Call it.
23873 * lra.c (lra_register_new_scratch_op): New. Take code from ...
23874 (remove_scratches): ... here.
23875 * lra-int.h (lra_register_new_scratch_op): New prototype.
23876
23877 2015-02-27 Marek Polacek <polacek@redhat.com>
23878
23879 PR c/65040
23880 * doc/invoke.texi: Update to reflect that -Wformat=2 doesn't enable
23881 -Wformat-signedness anymore.
23882
23883 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
23884
23885 * config/s390/s390.c: (s390_atomic_assign_expand_fenv): New
23886 function.
23887 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define macro.
23888
23889 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
23890
23891 * config/s390/s390.c (enum s390_builtin):
23892 Add S390_BUILTIN_S390_SFPC and S390_BUILTIN_S390_EFPC.
23893 (code_for_builtin): Add CODE_FOR_s390_sfpc and CODE_FOR_s390_efpc.
23894 (s390_init_builtins): Generate new builtin functions.
23895 * config/s390/s390.md (UNSPECV_SFPC, UNSPECV_EFPC): New constants.
23896 (s390_sfpc, s390_efpc): New pattern definitions.
23897
23898 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
23899
23900 * config/s390/s390.c: (enum s390_builtin, s390_expand_builtin):
23901 Rename S390_BUILTIN_max to S390_BUILTIN_MAX.
23902 (s390_builtin_decls): New array.
23903 (s390_init_builtins): Put builtin decls into s390_builtin_decls.
23904 (s390_builtin_decl): New function.
23905 (TARGET_BUILTIN_DECL): Define macro.
23906
23907 2015-02-27 Richard Biener <rguenther@suse.de>
23908
23909 PR middle-end/63175
23910 * builtins.c (get_object_alignment_2): Make sure to re-apply
23911 the ANDed mask after recursing to its operand gets us a new
23912 misalignment bit position.
23913
23914 2015-02-26 Jan Hubicka <hubicka@ucw.cz>
23915 Martin Liska <mliska@suse.cz>
23916
23917 PR bootstrap/65150
23918 * ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton):
23919 Use address_matters_p.
23920 (redirect_all_callers, set_addressable): New functions.
23921 (sem_function::merge): Reorganize and fix merging issues.
23922 (sem_variable::merge): Likewise.
23923 (sem_variable::compare_sections): Remove.
23924 * common.opt (fmerge-all-constants, fmerge-constants): Remove
23925 Optimization flag.
23926 * symtab.c (symtab_node::resolve_alias): When alias has aliases,
23927 redirect them.
23928 (symtab_node::make_decl_local): Set ADDRESSABLE bit when
23929 decl is used.
23930 (address_matters_1): New function.
23931 (symtab_node::address_matters_p): New function.
23932 * cgraph.c (cgraph_edge::verify_corresponds_to_fndecl): Fix
23933 check for merged flag.
23934 * cgraph.h (address_matters_p): Declare.
23935 (symtab_node::address_taken_from_non_vtable_p): Remove.
23936 (symtab_node::address_can_be_compared_p): New method.
23937 (ipa_ref::address_matters_p): Move here from ipa-ref.c; simplify.
23938 * ipa-visibility.c (symtab_node::address_taken_from_non_vtable_p):
23939 Remove.
23940 (comdat_can_be_unshared_p_1) Use address_matters_p.
23941 (update_vtable_references): Fix formating.
23942 * ipa-ref.c (ipa_ref::address_matters_p): Move inline.
23943 * cgraphunit.c (cgraph_node::create_wrapper): Drop UNINLINABLE flag.
23944 * cgraphclones.c: Preserve merged and icf_merged flags.
23945
23946 2015-02-26 Sandra Loosemore <sandra@codesourcery.com>
23947
23948 * doc/extend.texi (Function Attributes): Fix spelling and typos.
23949 (Label Attributes): Likewise.
23950 (Cilk Plus Builtins): Likewise.
23951 (ARC SIMD Built-in Functions): Likewise.
23952 (ARM C Language Extensions (ACLE)): Likewise.
23953 (PowerPC Built-in Functions): Likewise.
23954 (PowerPC Hardware Transactional Memory Built-in Functions):
23955 Likewise.
23956
23957 2015-02-26 Jakub Jelinek <jakub@redhat.com>
23958
23959 PR tree-optimization/65216
23960 * tree-ssa-reassoc.c (rewrite_expr_tree): Force creation of
23961 new stmt and new SSA_NAME for lhs whenever the arguments have
23962 changed and weren't just swapped. Fix comment typo.
23963
23964 PR tree-optimization/65215
23965 * tree-ssa-math-opts.c (find_bswap_or_nop_load): Return false
23966 for PDP endian targets.
23967 (perform_symbolic_merge, find_bswap_or_nop_1, find_bswap_or_nop):
23968 Fix up formatting issues.
23969 (bswap_replace): Likewise. For BYTES_BIG_ENDIAN, if the final access
23970 size is smaller than the original, adjust MEM_REF offset by the
23971 difference of sizes. Use is_gimple_mem_ref_addr instead of
23972 is_gimple_min_invariant test to avoid adding address temporaries.
23973
23974 2015-02-26 Martin Liska <mliska@suse.cz>
23975 Jan Hubicka <hubicka@ucw.cz>
23976
23977 PR ipa/64693
23978 * ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New.
23979 (sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function.
23980 (sem_item_optimizer::process_cong_reduction): Include division by
23981 sensitive references.
23982 * ipa-icf.h (struct symbol_compare_hashmap_traits): New class.
23983 * ipa-ref.c (ipa_ref::address_matters_p): New function.
23984 * ipa-ref.h (ipa_ref::address_matters_p): Likewise.
23985
23986 2015-02-26 Georg-Johann Lay <avr@gjlay.de>
23987
23988 PR target/65192
23989 * config/avr/avr-protos.h (tiny_valid_direct_memory_access_range):
23990 Remove.
23991 * config/avr/avr.c: Same.
23992 (avr_legitimate_address_p) <AVR_TINY, CONSTANT_ADDRESS_P>:
23993 Refuse any constant address not in 0..0xbf.
23994 * config/avr/avr.md (*mov<mode>, *movsf): Remove
23995 tiny_valid_direct_memory_access_range from insn conditions.
23996 (mov<mode>): Don't special-case expansion of avrtiny addresses.
23997
23998 2015-02-26 Oleg Endo <olegendo@gcc.gnu.org>
23999
24000 PR target/61142
24001 * config/sh/sh.c (sh_check_add_incdec_notes): New function.
24002 * config/sh/sh-protos.h (sh_check_add_incdec_notes): Declare it.
24003 * config/sh/predicates.md (const_logical_operand): New predicate.
24004 * config/sh/sh.md: Add new peephole2 patterns.
24005
24006 2015-02-26 Marek Polacek <polacek@redhat.com>
24007
24008 PR ipa/65008
24009 * ipa-inline.c (early_inliner): Recompute inline parameters.
24010
24011 2015-02-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
24012
24013 PR target/65171
24014 * config/rs6000/rs6000.c (rs6000_analyze_swaps): Ensure
24015 instructions with TImode operands are included in the analysis.
24016
24017 2015-02-26 Sebastian Pop <s.pop@samsung.com>
24018
24019 * tree-ssa-threadupdate.c (dump_jump_thread_path): Print all edges
24020 of an EDGE_FSM_THREAD.
24021
24022 2015-02-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
24023
24024 * config/rs6000/htm.md (tcheck): Fix assembly encoding.
24025
24026 2015-02-25 Aldy Hernandez <aldyh@redhat.com>
24027
24028 PR debug/46102
24029 * dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups.
24030
24031 2015-02-26 Sebastian Pop <s.pop@samsung.com>
24032
24033 PR tree-optimization/65048
24034 * tree-ssa-threadupdate.c (valid_jump_thread_path): New.
24035 (thread_through_all_blocks): Call valid_jump_thread_path.
24036 Remove invalid FSM jump-thread paths.
24037
24038 2015-02-26 Jakub Jelinek <jakub@redhat.com>
24039
24040 * passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
24041 (ipa_write_optimization_summaries): Likewise.
24042 * tree-streamer.h: Include data-streamer.h.
24043 (streamer_mode_table): Declare extern variable.
24044 (bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions.
24045 * lto-streamer-out.c (lto_output_init_mode_table,
24046 lto_write_mode_table): New functions.
24047 (produce_asm_for_decls): Call lto_write_mode_table when streaming
24048 offloading LTO.
24049 * lto-section-in.c (lto_section_name): Add "mode_table" entry.
24050 (lto_create_simple_input_block): Add mode_table argument to the
24051 lto_input_block constructors.
24052 * ipa-prop.c (ipa_prop_read_section, read_replacements_section):
24053 Likewise.
24054 * data-streamer-in.c (string_for_index): Likewise.
24055 * ipa-inline-analysis.c (inline_read_section): Likewise.
24056 * ipa-icf.c (sem_item_optimizer::read_section): Likewise.
24057 * lto-cgraph.c (input_cgraph_opt_section): Likewise.
24058 * lto-streamer-in.c (lto_read_body_or_constructor,
24059 lto_input_toplevel_asms): Likewise.
24060 (lto_input_mode_table): New function.
24061 * tree-streamer-out.c (pack_ts_fixed_cst_value_fields,
24062 pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields):
24063 Use bp_pack_machine_mode.
24064 * real.h (struct real_format): Add name field.
24065 * lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table.
24066 (class lto_input_block): Add mode_table member.
24067 (lto_input_block::lto_input_block): Add mode_table_ argument,
24068 initialize mode_table.
24069 (struct lto_file_decl_data): Add mode_table field.
24070 (lto_input_mode_table, lto_output_init_mode_table): New prototypes.
24071 * tree-streamer-in.c (unpack_ts_fixed_cst_value_fields,
24072 unpack_ts_decl_common_value_fields,
24073 unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode.
24074 * tree-streamer.c (streamer_mode_table): New variable.
24075 * real.c (ieee_single_format, mips_single_format,
24076 motorola_single_format, spu_single_format, ieee_double_format,
24077 mips_double_format, motorola_double_format,
24078 ieee_extended_motorola_format, ieee_extended_intel_96_format,
24079 ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
24080 ibm_extended_format, mips_extended_format, ieee_quad_format,
24081 mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
24082 decimal_single_format, decimal_double_format, decimal_quad_format,
24083 ieee_half_format, arm_half_format, real_internal_format): Add name
24084 field.
24085 * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
24086
24087 2015-02-26 Yuri Rumyantsev <ysrumyan@gmail.com>
24088
24089 PR target/65161
24090 * config/i386/i386.c (ix86_sched_reorder): Skip instruction
24091 reordering for selective scheduling.
24092
24093 2015-02-26 Terry Guo <terry.guo@arm.com>
24094
24095 * config/arm/arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE.
24096 * config/arm/arm-protos.h (FL_NO_VOLATILE_CE): New flag.
24097 (arm_arch_no_volatile_ce): Declare new global variable.
24098 * config/arm/arm.c (arm_arch_no_volatile_ce): New global variable.
24099 (arm_option_override): Assign value to arm_arch_no_volatile_ce.
24100 * config/arm/arm.h (arm_arch_no_volatile_ce): Declare it.
24101 (TARGET_NO_VOLATILE_CE): New macro.
24102 * config/arm/arm.md (arm_comparison_operator): Disabled if not allow
24103 volatile memory access in IT block
24104
24105 2015-02-25 Kai Tietz <ktietz@redhat.com>
24106
24107 PR tree-optimization/61917
24108 * tree-vect-loop.c (vectorizable_reduction): Handle obvious case
24109 that reduc_def_stmt is null.
24110
24111 2015-02-25 Martin Liska <mliska@suse.cz>
24112
24113 * ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare
24114 hard register variables.
24115
24116 2015-02-25 Kai Tietz <ktietz@redhat.com>
24117
24118 PR target/64212
24119 * symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0.
24120 (symtab::noninterposable_alias): Likewise.
24121
24122 2015-02-25 Ilya Enkovich <ilya.enkovich@intel.com>
24123
24124 PR target/65167
24125 * gcc/config/i386/i386.c (ix86_function_arg_regno_p): Support
24126 bounds registers.
24127 (avoid_func_arg_motion): Add dependencies for BNDSTX insns.
24128
24129 2015-02-25 Alan Lawrence <alan.lawrence@arm.com>
24130
24131 PR target/64997
24132 * config/aarch64/aarch64.md (*xor_one_cmpl<mode>3): Use FP_REGNUM_P
24133 as split condition; force split via '#' in output pattern.
24134
24135 2015-02-25 Richard Biener <rguenther@suse.de>
24136 Kai Tietz <ktietz@redhat.com>
24137
24138 PR tree-optimization/61917
24139 * tree-vect-loop.c (vectorizable_reduction): Allow
24140 vect_internal_def without reduction to exit graceful.
24141
24142 2015-02-25 Georg-Johann Lay <avr@gjlay.de>
24143
24144 PR target/65196
24145 * config/avr/avr.c (avr_adjust_insn_length): Call recog_memoized
24146 only with NONDEBUG_INSN_P.
24147
24148 2015-02-25 Georg-Johann Lay <avr@gjlay.de>
24149
24150 Use variadic macros with avr-log.c.
24151
24152 * config/avr/avr-protos.h (avr_vdump): New prototype.
24153 (avr_log_set_caller_e, avr_log_set_caller_f): Remove protos.
24154 (avr_edump, avr_fdump, avr_dump): (Re)define to use avr_vdump.
24155 * config/avr/avr-log.c: Adjust comments.
24156 (avr_vdump): New function.
24157 (avr_vadump): Pass caller as 2nd argument instead of format string.
24158 (avr_log_caller, avr_log_fdump_e, avr_log_fdump_f)
24159 (avr_log_set_caller_e, avr_log_set_caller_f): Remove.
24160
24161 2015-02-25 Jakub Jelinek <jakub@redhat.com>
24162
24163 PR lto/64374
24164 * target.def (target_option_stream_in): New target hook.
24165 * tree-streamer-in.c (streamer_read_tree_bitfields): Invoke
24166 targetm.target_option.post_stream_in if non-NULL.
24167 * doc/tm.texi.in: Add @hook TARGET_OPTION_POST_STREAM_IN.
24168 * doc/tm.texi: Updated.
24169 * config/i386/i386.c (ix86_function_specific_post_stream_in): New
24170 function.
24171 (TARGET_OPTION_POST_STREAM_IN): Redefine.
24172
24173 2015-02-24 Jeff Law <law@redhat.com>
24174
24175 PR target/65117
24176 * config/xtensa/xtensa.md (zero_cost_loop_start): Reverse numbering
24177 of operand 0 and operand 2.
24178 (zero_cost_loop_end, loop_end): Similarly.
24179
24180 2015-02-24 Aldy Hernandez <aldyh@redhat.com>
24181
24182 * gimple.h (gimple_build_assign): Rename CXX_MEM_STAT_DECL to
24183 CXX_MEM_STAT_INFO.
24184
24185 2015-02-24 DJ Delorie <dj@redhat.com>
24186
24187 * config/rl78/rl78-protos.h (rl78_split_movsi): Accept a mode as well.
24188 * config/rl78/rl78-expand.md (movsf): New, same as movsi.
24189 * config/rl78/rl78.c (rl78_split_movsi): Accept a mode, use it
24190 instead of hardcoding SImode.
24191
24192 2015-02-24 Bernd Schmidt <bernds@codesourcery.com>
24193
24194 * omp-low.c (create_omp_child_function): Tag entrypoint
24195 functions with a special attribute.
24196
24197 2015-02-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
24198
24199 PR target/65058
24200 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Drop unused variable.
24201
24202 2015-02-24 Vladimir Makarov <vmakarov@redhat.com>
24203
24204 PR rtl-optimization/65123
24205 * lra-remat.c (operand_to_remat): Check hard regs in insn
24206 definition too.
24207
24208 2015-02-24 Nick Clifton <nickc@redhat.com>
24209
24210 * config/v850/v850.h (ASM_SPEC): Pass -msoft-float/-mhard-float on
24211 to the assembler.
24212
24213 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
24214
24215 PR libgomp/64625
24216 * omp-builtins.def (BUILT_IN_GOACC_DATA_START): Specify as
24217 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, not
24218 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR.
24219 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Specify as
24220 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, not
24221 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR.
24222 (BUILT_IN_GOACC_PARALLEL): Specify as
24223 BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, not
24224 BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR.
24225 * builtin-types.def
24226 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
24227 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
24228 Remove function types.
24229 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
24230 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
24231 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
24232 New function types.
24233
24234 2015-02-24 Georg-Johann Lay <avr@gjlay.de>
24235
24236 * config/avr/stdfix.h [__WITH_AVRLIBC__]: Include <stdfix-avrlibc.h>.
24237
24238 2015-02-24 Jakub Jelinek <jakub@redhat.com>
24239
24240 PR tree-optimization/65170
24241 * wide-int.cc (wi::mul_internal): For the umul_ppmm optimization,
24242 if val[1] < 0, clear also val[2] and return 3.
24243
24244 2015-02-24 Alan Modra <amodra@gmail.com>
24245
24246 PR target/65172
24247 * config/rs6000/rs6000.c (get_memref_parts): Only return true
24248 when *base is a reg. Handle nested plus addresses. Simplify
24249 pre_modify test.
24250
24251 2015-02-22 Max Filippov <jcmvbkbc@gmail.com>
24252
24253 * config/xtensa/xtensa.h (CONSTANT_ALIGNMENT, DATA_ALIGNMENT):
24254 use natural alignment when optimizing for size.
24255
24256 2015-02-23 Kaz Kojima <kkojima@gcc.gnu.org>
24257
24258 PR target/65153
24259 * config/sh/sh.md (movsicc_true+3): Remove peephole.
24260 * config/sh/sh-protos.h (replace_n_hard_rtx): Don't declare.
24261 * config/sh/sh.c (replace_n_hard_rtx): Remove.
24262
24263 2015-02-23 Richard Sandiford <richard.sandiford@arm.com>
24264
24265 PR fortran/63427
24266 * wide-int.cc (wi::from_mpz): Cope with unwrapped values that are
24267 too big for a wide_int. Implement missing wrapping operation.
24268
24269 2015-02-23 Oleg Endo <olegendo@gcc.gnu.org>
24270
24271 PR target/65163
24272 * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536
24273 instead of const_int 4294901760.
24274
24275 2015-02-23 Georg-Johann Lay <avr@gjlay.de>
24276
24277 * config/avr/t-avr: Fix typo in comment.
24278
24279 2015-02-21 Richard Sandiford <richard.sandiford@arm.com>
24280
24281 * doc/rtl.texi (fma): Clarify documentation.
24282
24283 2015-02-20 Aldy Hernandez <aldyh@redhat.com>
24284
24285 PR debug/58123
24286 * gimplify.c (gimplify_expr): Prefer location of TRY_FINALLY_EXPR
24287 over input_location.
24288
24289 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
24290
24291 * tree-streamer-in.c (unpack_ts_decl_common_value_fields,
24292 unpack_ts_type_common_value_fields): If ACCEL_COMPILER,
24293 restrict alignments to absolute_biggest_alignment.
24294 * config/i386/i386.c (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT):
24295 Define.
24296 * doc/tm.texi.in (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): Add.
24297 * doc/tm.texi: Regenerate.
24298 * target.def (absolute_biggest_alignment): New DEFHOOKPOD.
24299
24300 2015-02-20 Vladimir Makarov <vmakarov@redhat.com>
24301
24302 PR target/64172
24303 * ira-color.c (color_pass): Prevent splitting multi-register pseudos.
24304
24305 2015-02-20 Richard Biener <rguenther@suse.de>
24306
24307 PR tree-optimization/65136
24308 * tree-ssa-propagate.c: Include cfgloop.h.
24309 (replace_phi_args_in): Avoid replacing loop latch edge PHI
24310 arguments with constants.
24311
24312 2015-02-20 Jakub Jelinek <jakub@redhat.com>
24313 Martin Liska <mliska@suse.cz>
24314
24315 PR target/63892
24316 * ipa-icf.c (sem_function::merge): If DECL_COMDAT_GROUP (alias->decl),
24317 don't try to create_thunk if stdarg_p. If
24318 !sem_item::target_supports_symbol_aliases_p (), similarly, and try to
24319 redirect_callers if possible.
24320 (sem_item_optimizer::execute): Call unregister_hooks here...
24321 (ipa_icf_driver): ... instead of here.
24322
24323 2015-02-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
24324
24325 * config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_<mode>3):
24326 Mark operand 0 as earlyclobber in 2nd alternative.
24327 (1st define_split below *aarch64_lshr_sisd_or_int_<mode>3):
24328 Write negated shift amount into QI lowpart operand 0 and use it
24329 in the shift step.
24330 (2nd define_split below *aarch64_lshr_sisd_or_int_<mode>3): Likewise.
24331
24332 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
24333
24334 * cgraph.h (clone_function_name_1): Declare.
24335 * cgraphclones.c (clone_function_name_1): New function.
24336 (clone_function_name): Use it.
24337 * lto-partition.c: Include "stringpool.h".
24338 (must_not_rename, maybe_rewrite_identifier)
24339 (validize_symbol_for_target): New static functions.
24340 (privatize_symbol_name): Use must_not_rename.
24341 (promote_symbol): Call validize_symbol_for_target.
24342 (lto_promote_cross_file_statics): Likewise.
24343 (lto_promote_statics_nonwpa): Likewise.
24344
24345 2015-02-20 Georg-Johann Lay <avr@gjlay.de>
24346
24347 PR target/64452
24348 * config/avr/avr.md (pushhi_insn): New insn.
24349 (push<mode>1): Push virtual regs in one chunk using pushhi1_insn.
24350
24351 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
24352 Jakub Jelinek <jakub@redhat.com>
24353
24354 * tree-streamer.c (preload_common_nodes): Don't preload
24355 TI_VA_LIST* for offloading.
24356 * tree-stdarg.c (pass_stdarg::gate): Disable for ACCEL_COMPILER
24357 in_lto_p.
24358
24359 2015-02-19 John David Anglin <danlgin@gcc.gnu.org>
24360
24361 * config/pa/pa.c (pa_emit_move_sequence): Always force
24362 (const (plus (symbol) (const_int))) to const mem. Put REG_EQUAL
24363 note on insn.
24364
24365 * config/pa/pa.c (pa_reloc_rw_mask): New function.
24366 (TARGET_ASM_RELOC_RW_MASK): Define.
24367 (pa_cannot_force_const_mem): Revert previous change.
24368
24369 2015-02-19 Martin Jambor <mjmabor@suse.cz>
24370 Jan Hubicka <hubicka@ucw.cz>
24371
24372 PR ipa/65028
24373 * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation
24374 across jump functions.
24375
24376 2015-02-19 Uros Bizjak <ubizjak@gmail.com>
24377
24378 * config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols.
24379
24380 2015-02-19 Sandra Loosemore <sandra@codesourcery.com>
24381
24382 * doc/extend.texi (x86 transactional memory intrinsics): Copy-edit.
24383
24384 2015-02-19 Richard Henderson <rth@redhat.com>
24385
24386 PR middle-end/65074
24387 * varasm.c (default_binds_local_p_2): Don't test node->definition;
24388 test DECL_EXTERNAL independent of symtab_node.
24389
24390 2015-02-19 Jakub Jelinek <jakub@redhat.com>
24391
24392 PR lto/65012
24393 * varpool.c (varpool_node::get_constructor): Return early
24394 if this->lto_file_data is NULL.
24395
24396 2015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
24397
24398 * haifa-sched.c (enum rfs_decision, rfs_str): Remove RFS_DEBUG.
24399 (rank_for_schedule_debug): Update.
24400 (ready_sort): Make static. Move sorting logic to ...
24401 (ready_sort_debug, ready_sort_real): New static functions.
24402 (schedule_block): Sort both debug insns and real insns in preparation
24403 for ready list trimming. Improve debug output.
24404 * sched-int.h (ready_sort): Remove global declaration.
24405
24406 2015-02-18 Trevor Saunders <tsaunders@mozilla.com>
24407
24408 * ipa-icf.c (sem_function::equals_private): Adjust.
24409 (sem_function::bb_dict_test): Take a vec<int> * instead of
24410 auto_vec<int>.
24411 * ipa-icf.h (bb_dict_test): Likewise.
24412
24413 2015-02-18 Jakub Jelinek <jakub@redhat.com>
24414
24415 PR gcov-profile/64634
24416 * tree-eh.c (frob_into_branch_around): Fix up typos
24417 in function comment.
24418 (lower_catch): Put eh_seq resulting from EH lowering of
24419 the cleanup sequence after the cleanup rather than before it.
24420
24421 2015-02-18 Tom de Vries <tom@codesourcery.com>
24422
24423 * common.opt (fstdarg-opt): New option.
24424 * tree-stdarg.c (pass_stdarg::gate): Use flag_stdarg_opt.
24425 * doc/invoke.texi (@item Optimization Options): Add -fstdarg-opt.
24426 (@item -fstdarg-opt): New item.
24427
24428 2015-02-18 H.J. Lu <hongjiu.lu@intel.com>
24429
24430 PR target/65064
24431 * config/ia64/predicates.md (sdata_symbolic_operand): Return false
24432 for common symbols.
24433
24434 2015-02-18 Jakub Jelinek <jakub@redhat.com>
24435
24436 * config/i386/t-intelmic (mkoffload.o): Remove dependency on
24437 insn-modes.h.
24438 (ALL_HOST_OBJS): Add mkoffload.o.
24439 * config/nvptx/t-nvptx (ALL_HOST_OBJS): Likewise.
24440
24441 2015-02-18 Jan Hubicka <hubicka@ucw.cz>
24442
24443 * ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating.
24444 (compare_virtual_tables): Be smarter about skipping typeinfos;
24445 do sane output on virtual table table mismatch.
24446 (warn_odr): Be ready for forward declarations of enums;
24447 output sane info on base mismatch and virtual table mismatch.
24448 (add_type_duplicate): Fix code choosing prevailing type; do not ICE
24449 when only one type is polymorphic.
24450 (get_odr_type): Fix hashtable corruption.
24451 (dump_odr_type): Dump mangled names.
24452
24453 2015-02-18 Richard Biener <rguenther@suse.de>
24454
24455 PR tree-optimization/65063
24456 * tree-predcom.c (determine_unroll_factor): Return 1 if we
24457 have replaced looparound PHIs.
24458
24459 2015-02-18 Martin Liska <mliska@suse.cz>
24460
24461 * lto-streamer.c (lto_streamer_init): Encapsulate
24462 streamer_check_handled_ts_structures with checking macro.
24463
24464 2015-02-18 Jakub Jelinek <jakub@redhat.com>
24465
24466 PR ipa/65087
24467 * cgraphclones.c (cgraph_node::create_virtual_clone): Only copy
24468 section if !implicit_section.
24469 (cgraph_node::create_version_clone_with_body): Likewise.
24470 * trans-mem.c (ipa_tm_create_version): Likewise.
24471
24472 2015-02-18 Richard Biener <rguenther@suse.de>
24473
24474 PR tree-optimization/62217
24475 * tree-ssa-dom.c (cprop_operand): Avoid propagating copies
24476 into BIVs.
24477
24478 2015-02-18 Marek Polacek <polacek@redhat.com>
24479
24480 PR sanitizer/65081
24481 * ubsan.c (OBJSZ_MAX_OFFSET): Define.
24482 (ubsan_expand_objsize_ifn): Don't emit run-time check if the offset
24483 is in range [-16K, -1]. Don't issue run-time error if
24484 (ptr > ptr + offset).
24485
24486 2015-02-18 Thomas Schwinge <thomas@codesourcery.com>
24487
24488 * doc/install.texi (nvptx-*-none): New section.
24489 * doc/invoke.texi (Nvidia PTX Options): Likewise.
24490 * config/nvptx/nvptx.opt: Update.
24491
24492 * config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs)
24493 (access_check): New functions, copied from
24494 config/i386/intelmic-mkoffload.c.
24495 (main): For non-installed testing, look in all COMPILER_PATHs for
24496 GCC_INSTALL_NAME.
24497
24498 * config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro.
24499
24500 2015-02-18 Andrew Pinski <apinski@cavium.com>
24501 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
24502
24503 * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately):
24504 Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.
24505
24506 2015-02-17 Jan Hubicka <hubicka@ucw.cz>
24507
24508 * ipa-visibility.c (function_and_variable_visibility): Only
24509 check locality if node is not already local.
24510 * ipa-inline.c (want_inline_function_to_all_callers_p): Use
24511 call_for_symbol_and_aliases instead of
24512 call_for_symbol_thunks_and_aliases.
24513 (ipa_inline): Likewise.
24514 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
24515 first walk aliases.
24516 * ipa.c (symbol_table::remove_unreachable_nodes): Use
24517 call_for_symbol_and_aliases.
24518 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
24519 (ipa_propagate_frequency_1): Use it; use opt_for_fn
24520 (ipa_propagate_frequency): Update.
24521 (ipa_profile): Add opt_for_fn gueards.
24522
24523 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
24524
24525 * config/sh/sh.opt (mcbranch-force-delay-slot): New option.
24526 * doc/invoke.texi (SH options): Document it.
24527 * config/sh/sh.c (sh_insn_length_adjustment): Check
24528 TARGET_CBRANCH_FORCE_DELAY_SLOT instead of sh_cpu_attr == CPU_SH2E.
24529
24530 2015-02-17 H.J. Lu <hongjiu.lu@intel.com>
24531
24532 * common.opt (fipa-cp-alignment): New.
24533 * ipa-cp.c (ipcp_store_alignment_results): Check
24534 flag_ipa_cp_alignment.
24535 * opts.c (default_options_table): Enable -fipa-cp-alignment for
24536 -O2.
24537 (enable_fdo_optimizations): Set x_flag_ipa_cp_alignment.
24538 * doc/invoke.texi: Document -fipa-cp-alignment.
24539
24540 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
24541
24542 PR target/64793
24543 * config/sh/sh.md (cbranch define_delay): Set annulled true branch insn
24544 to nil. Adjust comments.
24545
24546 2015-02-17 Jan Hubicka <hubicka@ucw.cz>
24547
24548 * ipa-visibility.c (function_and_variable_visibility): Only
24549 check locality if node is not already local.
24550 * ipa-inline.c (want_inline_function_to_all_callers_p): Use
24551 call_for_symbol_and_aliases instead of
24552 call_for_symbol_thunks_and_aliases.
24553 (ipa_inline): Likewise.
24554 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
24555 first walk aliases.
24556 * ipa.c (symbol_table::remove_unreachable_nodes): Use
24557 call_for_symbol_and_aliases.
24558 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
24559 (ipa_propagate_frequency_1): Use it; use opt_for_fn
24560 (ipa_propagate_frequency): Update.
24561 (ipa_profile): Add opt_for_fn guards.
24562
24563 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
24564
24565 * config/nvptx/mkoffload.c (parse_file): Fix logic error in
24566 skipping of "strange" tokens.
24567
24568 2015-02-17 Jeff Law <law@redhat.com>
24569
24570 * tree-vrp.c (identify_jump_threads): Use last_stmt. Remove
24571 obsolete comment.
24572
24573 2015-02-17 James Greenhalgh <james.greenhalgh@arm.com>
24574
24575 * haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P
24576 as forcing a HARD_DEP between instructions, thereby
24577 disallowing rewriting to break dependencies.
24578
24579 2015-02-16 Jan Hubicka <hubicka@ucw.cz>
24580
24581 * symtab.c (symtab_node::verify_base): Verify body_removed->!definiton
24582 * lto-cgraph.c (lto_output_varpool_node): Do not keep definition of
24583 variables in boundary that have no inlitalizer encoded and are
24584 not aliases.
24585 * varasm.c (default_binds_local_p_2): External definitions do not
24586 count as definitions here.
24587
24588 2015-02-16 Jeff Law <law@redhat.com>
24589
24590 PR tree-optimization/64823
24591 * tree-vrp.c (identify_jump_threads): Handle blocks with no real
24592 statements.
24593 * tree-ssa-threadedge.c (potentially_threadable_block): Allow
24594 threading through blocks with PHIs, but no statements.
24595 (thread_through_normal_block): Distinguish between blocks where
24596 we did not process all the statements and blocks with no statements.
24597
24598 2015-02-16 Jakub Jelinek <jakub@redhat.com>
24599 James Greenhalgh <james.greenhalgh@arm.com>
24600
24601 PR ipa/64963
24602 * cgraphclones.c (cgraph_node::create_virtual_clone): Copy
24603 section if not linkonce. Fix up formatting.
24604 (cgraph_node::create_version_clone_with_body): Copy section.
24605 * trans-mem.c (ipa_tm_create_version): Likewise.
24606
24607 2015-02-16 Richard Biener <rguenther@suse.de>
24608
24609 PR tree-optimization/65077
24610 * tree-ssa-structalias.c (get_constraint_for_1): Handle
24611 IMAGPART_EXPR, REALPART_EXPR and BIT_FIELD_REF.
24612 (find_func_aliases): Allow float values to carry pointers again.
24613
24614 2015-02-16 James Greenhalgh <james.greenhalgh@arm.com>
24615
24616 * doc/install.texi (Specific): Reorder targets list to put
24617 aarch64 in alphabetical order. Add a link to aarch64*-*-*
24618 from the top menu.
24619
24620 2015-02-16 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
24621 David Edelsohn <dje.gcc@gmail.com>
24622
24623 PR target/65058
24624 * config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage
24625 mapping class to external variable or function reference.
24626 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage
24627 mapping class.
24628
24629 2015-02-16 David Eelsohn <dje.gcc@gmail.com>
24630
24631 PR target/53348
24632 * config/rs6000/rs6000.c (rs6000_declare_alias): Only use
24633 ASM_WEAKEN_DECL if defined.
24634
24635 2015-02-16 Richard Biener <rguenther@suse.de>
24636
24637 PR lto/65015
24638 * varasm.c (default_file_start): For LTO produced units
24639 emit <artificial> as file directive.
24640
24641 2015-02-16 Richard Biener <rguenther@suse.de>
24642
24643 PR tree-optimization/63593
24644 * tree-predcom.c (execute_pred_commoning_chain): Delay removing
24645 stmts and releasing SSA names until...
24646 (execute_pred_commoning): ... after processing all chains.
24647
24648 2015-02-16 Jan Hubicka <hubicka@ucw.cz>
24649
24650 PR ipa/65059
24651 * ipa-comdats.c (ipa_comdats): Do not categorize thunks to
24652 external functions.
24653
24654 2015-02-15 Sandra Loosemore <sandra@codesourcery.com>
24655
24656 * doc/bugreport.texi: Adjust section titles throughout the file
24657 to use "Title Case".
24658 * doc/extend.texi: Likewise.
24659 * doc/gcov.texi: Likewise.
24660 * doc/implement-c.texi: Likewise.
24661 * doc/implement-cxx.texi: Likewise.
24662 * doc/invoke.texi: Likewise.
24663 * doc/objc.texi: Likewise.
24664 * doc/standards.texi: Likewise.
24665 * doc/trouble.texi: Likewise.
24666
24667 2015-02-15 Jan Hubicka <hubicka@ucw.cz>
24668
24669 * cgraph.h (symtab_node::has_aliases_p): Simplify.
24670 (symtab_node::call_for_symbol_and_aliases): Use has_aliases_p
24671 * tree.c (lookup_binfo_at_offset): Make static.
24672 (get_binfo_at_offset): Do not shadow offset; add explanatory
24673 comment.
24674
24675 2015-02-15 John David Anglin <danglin@gcc.gnu.org>
24676
24677 * config/pa/pa.c (pa_secondary_reload): Request a secondary reload
24678 for all floading point loads and stores except those using a register
24679 index address.
24680 * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand
24681 to a register.
24682
24683 2015-02-14 Jan Hubicka <hubicka@ucw.cz>
24684
24685 * ipa-inline-analysis.c (growth_data): Add uninlinable field.
24686 (do_estimate_growth_1): Record if any uninlinable edge was seen.
24687 (estimate_growth): Handle uninlinable edges correctly.
24688 (check_callers): New.
24689 (growth_likely_positive): Handle aliases correctly.
24690
24691 2015-02-14 Jan Hubicka <hubicka@ucw.cz>
24692
24693 * ipa-chkp.c: Use iterate_direct_aliases.
24694 * symtab.c (resolution_used_from_other_file_p): Move inline.
24695 (symtab_node::create_reference): Fix formating.
24696 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
24697 (symtab_node::iterate_reference): Move inline.
24698 (symtab_node::iterate_referring): Move inline.
24699 (symtab_node::iterate_direct_aliases): Move inline.
24700 (symtab_node::used_from_object_file_p_worker): Inline into ...
24701 (symtab_node::used_from_object_file_p): ... this one; move inline.
24702 (symtab_node::call_for_symbol_and_aliases): Move inline;
24703 use iterate_direct_aliases.
24704 (symtab_node::call_for_symbol_and_aliases_1): New method.
24705 (cgraph_node::call_for_symbol_and_aliases): Move inline;
24706 use iterate_direct_aliases.
24707 (cgraph_node::call_for_symbol_and_aliases_1): New method.
24708 (varpool_node::call_for_node_and_aliases): Rename to ...
24709 (varpool_node::call_for_symbol_and_aliases): ... this one; Move inline;
24710 use iterate_direct_aliases.
24711 (varpool_node::call_for_symbol_and_aliases_1): New method.
24712 * ipa.c (ipa_single_use): Use iterate_direct_aliases.
24713 (ipa_discover_readonly_nonaddressable_var): Update.
24714 * ipa-devirt.c: Fix formating.
24715 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p):
24716 Move inline.
24717 (cgraph_node::call_for_symbol_and_aliases): Move inline.
24718 (cgraph_node::call_for_symbol_and_aliases_1): New function..
24719 * cgraph.h (used_from_object_file_p_worker): Remove.
24720 (resolution_used_from_other_file_p): Move inline.
24721 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
24722 (symtab_node::iterate_reference): Move inline.
24723 (symtab_node::iterate_referring): Move inline.
24724 (symtab_node::iterate_direct_aliases): Move inline.
24725 (symtab_node::used_from_object_file_p_worker): Inline into ...
24726 (symtab_node::used_from_object_file_p): Move inline.
24727 * tree-emutls.c (ipa_lower_emutls): Update.
24728 * varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method.
24729 (varpool_node::call_for_node_and_aliases): Remove.
24730
24731 2015-02-14 Jakub Jelinek <jakub@redhat.com>
24732
24733 PR tree-optimization/62209
24734 * tree-ssa-reassoc.c (update_range_test): If stmt is a PHI and
24735 op == range->exp, insert seq and gimplified code after labels
24736 instead of after the phi.
24737
24738 2015-02-13 Jeff Law <law@redhat.com>
24739
24740 PR bootstrap/65060
24741 Revert my change for tree-optimization/64823.
24742
24743 2015-02-13 Jakub Jelinek <jakub@redhat.com>
24744
24745 PR tree-optimization/65053
24746 * tree-ssa-phiopt.c (value_replacement): When moving assign before
24747 cond, either reset VR on lhs or set it to phi result VR.
24748
24749 2015-02-13 Jeff Law <law@redhat.com>
24750
24751 PR tree-optimization/64823
24752 * tree-vrp.c (identify_jump_threads): Handle blocks with no statements.
24753 * tree-ssa-threadedge.c (potentially_threadable_block): Allow
24754 threading through blocks with PHIs, but no statements.
24755 (thread_through_normal_block): Distinguish between blocks where
24756 we did not process all the statements and blocks with no statements.
24757
24758 PR rtl-optimization/47477
24759 * match.pd (convert (plus/minus (convert @0) (convert @1): New
24760 simplifier to narrow arithmetic.
24761
24762 2015-02-13 Jan Hubicka <hubicka@ucw.cz>
24763
24764 PR ipa/65028
24765 * ipa-prop.c (update_indirect_edges_after_inlining): Do not drop
24766 polymorphic call info when type is not known to be preserved.
24767
24768 2015-02-13 Maritn Jambor <mjambor@suse.cz>
24769
24770 PR ipa/65028
24771 * ipa-inline-transform.c (mark_all_inlined_calls_cdtor): New function.
24772 (inline_call): Use it.
24773
24774 2015-02-13 Thomas Schwinge <thomas@codesourcery.com>
24775
24776 * config/nvptx/offload.h (ACCEL_COMPILER_acc_device): Define to
24777 GOMP_DEVICE_NVIDIA_PTX.
24778
24779 2015-02-13 Jakub Jelinek <jakub@redhat.com>
24780
24781 PR ipa/65034
24782 * stmt.c (emit_case_nodes): Use void_type_node instead of
24783 NULL_TREE as LABEL_DECL type.
24784
24785 2015-02-13 John David Anglin <danglin@gcc.gnu.org>
24786
24787 * config/pa/constraints.md: Change "Q" and "T" constraints to memory
24788 constraints.
24789 * config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant
24790 symbolic references to data to be forced to constant memory on the
24791 SOM target.
24792
24793 2015-02-13 Ilya Enkovich <ilya.enkovich@intel.com>
24794
24795 PR tree-optimization/65002
24796 * tree-cfg.c (pass_data_fixup_cfg): Don't update
24797 SSA on start.
24798 * tree-sra.c (some_callers_have_no_vuse_p): New.
24799 (ipa_early_sra): Reject functions whose callers
24800 assume function is read only.
24801
24802 2015-02-13 Richard Biener <rguenther@suse.de>
24803
24804 PR lto/65015
24805 * dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name
24806 for LTO produced CUs.
24807
24808 2015-02-13 Bin Cheng <bin.cheng@arm.com>
24809
24810 PR tree-optimization/64705
24811 * tree-ssa-loop-niter.h (expand_simple_operations): New parameter.
24812 * tree-ssa-loop-niter.c (expand_simple_operations): New parameter.
24813 * tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New.
24814 (find_bivs, find_givs_in_stmt_scev): Pass new argument to
24815 expand_simple_operations.
24816
24817 2015-02-13 H.J. Lu <hongjiu.lu@intel.com>
24818 Richard Henderson <rth@redhat.com>
24819
24820 PR rtl/32219
24821 * cgraphunit.c (cgraph_node::finalize_function): Set definition
24822 before notice_global_symbol.
24823 (varpool_node::finalize_decl): Likewise.
24824 * varasm.c (default_binds_local_p_2): Rename from
24825 default_binds_local_p_1, add weak_dominate argument. Use direct
24826 returns instead of assigning to local variable. Unify varpool and
24827 cgraph paths via symtab_node. Reject undef weak variables before
24828 testing visibility. Reorder tests for simplicity.
24829 (default_binds_local_p): Use default_binds_local_p_2.
24830 (default_binds_local_p_1): Likewise.
24831 (decl_binds_to_current_def_p): Unify varpool and cgraph paths
24832 via symtab_node.
24833 (default_elf_asm_output_external): Emit visibility when specified.
24834
24835 2015-02-13 Alan Modra <amodra@gmail.com>
24836
24837 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in
24838 code setting up r11 for out-of-line fp restore.
24839
24840 2015-02-13 Eric Botcazou <ebotcazou@adacore.com>
24841
24842 * config/visium/visium.opt (msv-mode): Add RejectNegative and Report.
24843 (muser-mode): Likewise.
24844
24845 2015-02-13 Alan Modra <amodra@gmail.com>
24846
24847 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry
24848 or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.
24849
24850 2015-02-12 David Howells <dhowells@redhat.com>
24851
24852 * tree-sra.c (dump_dereferences_table): Avoid -Wformat-security
24853 warning.
24854 * tree-ssa-uninit.c (dump_predicates): Likewise.
24855 * opts.c (print_filtered_help): Likewise.
24856
24857 2015-02-12 Jakub Jelinek <jakub@redhat.com>
24858
24859 * dwarf2out.c (output_die): Use "%s", name instead of name to
24860 avoid -Wformat-security warning.
24861
24862 * dwarf2asm.c (dw2_asm_output_vms_delta): Only define
24863 if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
24864 * dwarf2out.c (output_die): Use dw2_asm_output_vms_delta
24865 only if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
24866
24867 2015-02-12 Jason Merrill <jason@redhat.com>
24868
24869 * common.opt (-flifetime-dse): New.
24870
24871 2015-02-12 Jakub Jelinek <jakub@redhat.com>
24872
24873 PR sanitizer/65019
24874 * ubsan.c (ubsan_expand_objsize_ifn): Always return true.
24875
24876 PR tree-optimization/65014
24877 * fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR,
24878 use original second operand of arg0 or arg1 instead of
24879 that adjusted by STRIP_NOPS.
24880
24881 2015-02-11 Jeff Law <law@redhat.com>
24882
24883 PR target/63347
24884 * haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn
24885 that needs to be queued, just queue it for a single cycle.
24886
24887 2015-02-11 Jan Hubicka <hubicka@ucw.cz>
24888
24889 * ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing
24890 bodies of thunks; comment on why.
24891 * symtab.c (symtab_node::get_partitioning_class): Aliases of extern
24892 symbols are extern.
24893
24894 2015-02-11 Richard Henderson <rth@redhat.com>
24895
24896 PR sanitize/65000
24897 * tree-eh.c (mark_reachable_handlers): Mark source and destination
24898 regions of __builtin_eh_copy_values.
24899
24900 2015-02-11 Jakub Jelinek <jakub@redhat.com>
24901
24902 PR middle-end/65003
24903 * varasm.c (place_block_symbol): Assert that DECL_RTL of the
24904 ultimate alias is MEM with SYMBOL_REF satisfying
24905 SYMBOL_REF_HAS_BLOCK_INFO_P as its operand. Don't pass the MEM
24906 to place_block_symbol, but instead pass the SYMBOL_REF operand of it.
24907
24908 2015-02-11 Thomas Schwinge <thomas@codesourcery.com>
24909
24910 * config/nvptx/mkoffload.c: Include "diagnostic.h" instead of
24911 "diagnostic-core.h".
24912 (main): Initialize progname, and call diagnostic_initialize.
24913
24914 * config/nvptx/mkoffload.c (process): Refer to __OFFLOAD_TABLE__
24915 instead of __OPENMP_TARGET__.
24916
24917 * config/nvptx/mkoffload.c: Include "gomp-constants.h".
24918 (process): Use its GOMP_DEVICE_NVIDIA_PTX instead of (wrongly)
24919 hard-coding PTX_ID.
24920
24921 2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
24922
24923 * doc/sourcebuild.texi (pie_enabled): Document.
24924
24925 2015-02-11 Martin Liska <mliska@suse.cz>
24926
24927 PR ipa/64813
24928 * cgraphunit.c (cgraph_node::expand_thunk): Do not create
24929 a return value for call to a function that is noreturn.
24930
24931 2015-02-11 Richard Biener <rguenther@suse.de>
24932
24933 PR lto/65015
24934 * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list
24935 and -fresolution.
24936
24937 2015-02-11 Andrew Pinski <apinski@cavium.com>
24938
24939 PR target/64893
24940 * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
24941 Change the first argument type to size_type_node and add another
24942 size_type_node.
24943 (aarch64_simd_expand_builtin): Handle the new argument to
24944 AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather
24945 print an out when the first two arguments are not
24946 nonzero integer constants.
24947 * config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK):
24948 Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi.
24949
24950 2015-02-11 Jakub Jelinek <jakub@redhat.com>
24951
24952 PR target/61925
24953 * config/i386/i386.c (ix86_reset_to_default_globals): Removed.
24954 (ix86_reset_previous_fndecl): Restore it here, unconditionally.
24955 (ix86_set_current_function): Rewritten.
24956 (ix86_add_new_builtins): Temporarily clear current_target_pragma
24957 when creating builtin fndecls.
24958
24959 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
24960
24961 PR ipa/65005
24962 * ipa-visibility.c (cgraph_node::non_local_p): Turn into static
24963 function.
24964 * symtab.c (symtab_node::verify_base): Remove check that non-definitions
24965 have no comdat group.
24966 * lto-cgraph.c (lto_output_node): Always output thunk and alias info.
24967 (lto_output_varpool_node): Always output alias info.
24968 (output_refs): Output refs of boundary aliases, too.
24969 (compute_ltrans_boundary): Add alias and thunk target into boundaries.
24970 (output_symtab): Output call eges in thunks in boundary.
24971 (get_alias_symbol): Remove.
24972 (input_node, input_varpool_node): Do not special case weakrefs.
24973 * ipa.c (symbol_table::remove_unreachable_nodes): Do not remove
24974 alias and thunks targets in the boundary; do not take removed symbols
24975 from their comdat groups.
24976 * cgraph.c (cgraph_node::local_info): Look through aliases and thunks.
24977 (cgraph_node::global_info): Remove.
24978 (cgraph_node::rtl_info): Look through aliases and thunks.
24979 * cgrpah.h (global_info): Remove.
24980 (non_local_p): Remove.
24981
24982 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
24983 Sandra Loosemore <sandra@codesourcery.com>
24984
24985 * doc/invoke.texi (x86 Options [-masm=dialect]): Add cross-references
24986 to inline asm. List dialects in proper order.
24987
24988 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
24989 Sandra Loosemore <sandra@codesourcery.com>
24990
24991 * doc/extend.texi (Loop-Specific Pragmas): Fix grammar error.
24992
24993 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
24994
24995 * doc/extend.texi (Symbol-Renaming Pragmas): Restore (slightly
24996 modified) reference to Solaris.
24997
24998 2015-02-10 Sandra Loosemore <sandra@codesourcery.com>
24999
25000 * doc/extend.texi (Extended Asm): Fix typos.
25001
25002 2015-02-10 Jakub Jelinek <jakub@redhat.com>
25003
25004 PR sanitizer/65004
25005 * ubsan.c (ubsan_expand_vptr_ifn): Always return true.
25006
25007 2015-02-10 Oleg Endo <olegendo@gcc.gnu.org>
25008
25009 PR target/64661
25010 * config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
25011 TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
25012 TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses.
25013 * config/sh/constraints.md (Ara, Add): New constraints.
25014 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New
25015 predicates.
25016 (atomic_compare_and_swap<mode>, atomic_exchange<mode>): Use
25017 atomic_mem_operand_0. Don't use force_reg on the memory address.
25018 (atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and
25019 Sra constraint. Convert to insn_and_split. Add workaround for
25020 PR 64974.
25021 (atomic_compare_and_swap<mode>_hard): Copy to
25022 atomic_compare_and_swap<mode>_hard_1. Convert to insn_and_split.
25023 Use atomic_mem_operand_0 predicate.
25024 (atomic_compare_and_swap<mode>_soft_gusa,
25025 atomic_exchange<mode>_soft_gusa): Use atomic_mem_operand_0 predicate and
25026 AraAdd constraints.
25027 (atomic_compare_and_swap<mode>_soft_tcb,
25028 atomic_compare_and_swap<mode>_soft_imask,
25029 atomic_exchange<mode>_soft_tcb, atomic_exchange<mode>_soft_imask): Use
25030 atomic_mem_operand_0 predicate and SraSdd constraints.
25031 (atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra
25032 constraint.
25033 (atomic_exchange<mode>_hard): Copy to atomic_exchange<mode>_hard_1.
25034 Convert to insn_and_split. Use atomic_mem_operand_0 predicate.
25035 (atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>,
25036 atomic_<fetchop_name>_fetch<mode>): Use atomic_mem_operand_1. Don't use
25037 force_reg on the memory address.
25038 (atomic_fetch_<fetchop_name>si_hard, atomic_fetch_notsi_hard,
25039 atomic_fetch_nandsi_hard, atomic_<fetchop_name>_fetchsi_hard,
25040 atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use
25041 atomic_mem_operand_1 predicate and Sra constraint.
25042 (atomic_fetch_<fetchop_name><mode>_hard): Copy to
25043 atomic_fetch_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
25044 Use atomic_mem_operand_1 predicate.
25045 (atomic_<fetchop_name><mode>_hard): Copy to
25046 atomic_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
25047 Use atomic_mem_operand_1 predicate.
25048 (atomic_fetch_nand<mode>_hard): Copy to atomic_fetch_nand<mode>_hard_1.
25049 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
25050 (atomic_nand<mode>_hard): Copy to atomic_nand<mode>_hard_1. Convert to
25051 insn_and_split. Use atomic_mem_operand_1 predicate.
25052 (atomic_<fetchop_name>_fetch<mode>_hard): Copy to
25053 atomic_<fetchop_name>_fetch<mode>_hard_1. Convert to insn_and_split.
25054 Use atomic_mem_operand_1 predicate.
25055 (atomic_nand_fetch<mode>_hard): Copy to atomic_nand_fetch<mode>_hard_1.
25056 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
25057 (atomic_fetch_not<mode>_hard, atomic_not_fetch<mode>_hard): Replace mems
25058 in generated insn with original mem operand before emitting the insn.
25059 (atomic_fetch_<fetchop_name><mode>_soft_gusa,
25060 atomic_fetch_not<mode>_soft_gusa, atomic_fetch_nand<mode>_soft_gusa,
25061 atomic_<fetchop_name>_fetch<mode>_soft_gusa,
25062 atomic_not_fetch<mode>_soft_gusa, atomic_nand_fetch<mode>_soft_gusa):
25063 Use atomic_mem_operand_1 predicate and AraAdd constraints.
25064 (atomic_fetch_<fetchop_name><mode>_soft_tcb,
25065 atomic_<fetchop_name><mode>_soft_tcb, atomic_fetch_not<mode>_soft_tcb,
25066 atomic_not<mode>_soft_tcb, atomic_fetch_<fetchop_name><mode>_soft_imask,
25067 atomic_fetch_not<mode>_soft_imask, atomic_fetch_nand<mode>_soft_tcb,
25068 atomic_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask,
25069 atomic_<fetchop_name>_fetch<mode>_soft_tcb,
25070 atomic_not_fetch<mode>_soft_tcb,
25071 atomic_<fetchop_name>_fetch<mode>_soft_imask,
25072 atomic_not_fetch<mode>_soft_imask, atomic_nand_fetch<mode>,
25073 atomic_nand_fetch<mode>_soft_tcb, atomic_nand_fetch<mode>_soft_imask):
25074 Use atomic_mem_operand_1 predicate and SraSdd constraints.
25075
25076 2015-02-10 Uros Bizjak <ubizjak@gmail.com>
25077
25078 * config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2
25079 and 3 earlyclobber operands.
25080
25081 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
25082
25083 * common.opt (fstack-reuse): Mark as optimization.
25084
25085 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
25086
25087 PR ipa/64982
25088 * cgraphunit.c (cgraph_node::expand_thunk): Look for stdarg thunks.
25089
25090 2015-02-10 Trevor Saunders <tsaunders@mozilla.com>
25091
25092 PR tree-optimization/64326
25093 * cfghooks.c (make_forwarder_block): Cap frequency of created block.
25094
25095 2015-02-10 Rainer Emrich <rainer@emrich-ebersheim.de>
25096
25097 PR gcov-profile/61889
25098 * gcov-tool.c: Remove wrong #if !defined(_WIN32)
25099
25100 2015-02-10 Richard Biener <rguenther@suse.de>
25101
25102 PR tree-optimization/64995
25103 * tree-ssa-sccvn.c (set_ssa_val_to): Assert that the
25104 value we use is final.
25105 (visit_reference_op_store): Always valueize op.
25106 (visit_use): Properly valueize vuses.
25107
25108 2015-02-10 Richard Biener <rguenther@suse.de>
25109
25110 PR tree-optimization/64909
25111 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly
25112 pass a scalar-stmt count estimate to the cost model.
25113 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
25114
25115 2015-02-10 Alexander Monakov <amonakov@ispras.ru>
25116
25117 * doc/invoke.texi (-fvar-tracking-assignments): Clarify that VTA is
25118 enabled by default together with var-tracking.
25119
25120 2015-02-10 Nick Clifton <nickc@redhat.com>
25121
25122 * config/rl78/rl78.c: Remove DIV attribute code accidentally
25123 included in previous rl78 commit.
25124
25125 2015-02-10 Richard Biener <rguenther@suse.de>
25126
25127 * tree-streamer.h (streamer_read_tree_bitfields): Adjust.
25128 * tree-streamer-in.c (streamer_read_tree_bitfields): Do not
25129 return the bitpack.
25130
25131 2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
25132
25133 PR gcov-profile/61889
25134 * config.in: regenerate.
25135 * configure.in: Likewise.
25136 * configure.ac: Check for ftw.h.
25137 * gcov-tool.c: Check for ftw.h before using nftw.
25138
25139 2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
25140
25141 PR lto/64076
25142 * ipa-visibility.c (update_visibility_by_resolution_info): Only
25143 assert when not in lto mode.
25144
25145 2015-02-09 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
25146
25147 * ira-color.c (setup_left_conflict_sizes_p): Simplify
25148 initialization/assignment of conflict_size.
25149
25150 2015-02-09 Jan Hubicka <hubicka@ucw.cz>
25151
25152 PR ipa/64978
25153 * ipa-cp.c (gather_caller_stats): Skip thunks.
25154 (propagate_constants_topo): Skip aliases.
25155
25156 2015-02-09 Kaz Kojima <kkojima@gcc.gnu.org>
25157
25158 PR target/64761
25159 * config/sh/sh.c (sh_option_override): Don't change
25160 -freorder-blocks-and-partition to -freorder-blocks even when
25161 unwinding is enabled.
25162 (sh_can_follow_jump): Return false if the followee jump is
25163 a crossing jump when -freorder-blocks-and-partition is specified.
25164 * config/sh/sh.md (*jump_compact_crossing): New insn.
25165
25166 2015-02-09 Joern Rennecke <joern.rennecke@embecosm.com>
25167 Kaz Kojima <kkojima@gcc.gnu.org>
25168
25169 PR target/64761
25170 * config/sh/sh-protos.h (sh_can_redirect_branch): Don't declare.
25171 * config/sh/sh.c (TARGET_CAN_FOLLOW_JUMP): Redefine.
25172 (sh_can_redirect_branch): Rename to ...
25173 (sh_can_follow_jump): ... this. Constify argument types.
25174 * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): Don't define.
25175 * doc/tm.texi.in (MD_CAN_REDIRECT_BRANCH): Remove documentation.
25176 * reorg.c (steal_delay_list_from_target): Use targetm.can_follow_jump.
25177 * doc/tm.texi: Regenerate.
25178
25179 2015-02-09 Jakub Jelinek <jakub@redhat.com>
25180
25181 PR sanitizer/64981
25182 * builtins.c (expand_builtin): Call targetm.expand_builtin
25183 for BUILT_IN_MD builtins regardless of asan_intercepted_p.
25184
25185 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
25186
25187 PR ipa/61548
25188 * tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS.
25189
25190 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
25191
25192 PR ipa/63566
25193 * ipa-icf.c (set_local): New function.
25194 (sem_function::merge): Use it.
25195
25196 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
25197
25198 * ipa-devirt.c (odr_types_equivalent_p): Fix formating.
25199 (add_type_duplicate): Fix comparison of BINFOs.
25200
25201 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
25202
25203 * ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE
25204 on getting VOID pointer.
25205
25206 2015-02-09 Jakub Jelinek <jakub@redhat.com>
25207
25208 PR target/64979
25209 * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for
25210 va_list escapes.
25211
25212 2015-02-09 Richard Biener <rguenther@suse.de>
25213
25214 * genmatch.c (replace_id): Copy expr_type.
25215
25216 2015-02-09 Richard Biener <rguenther@suse.de>
25217
25218 * tree-streamer.h (streamer_pack_tree_bitfields): Remove.
25219 (streamer_write_tree_bitfields): Declare.
25220 * tree-streamer-in.c (unpack_ts_base_value_fields): Inline,
25221 properly unpack padding.
25222 (unpack_value_fields): Inline ...
25223 (streamer_read_tree_bitfields): ... here.
25224 * tree-streamer-out.c (pack_ts_base_value_fields): Inline
25225 and properly add padding bits.
25226 (streamer_pack_tree_bitfields): Fold into ...
25227 (streamer_write_tree_bitfields): ... this new function,
25228 exposing the bitpack object.
25229 * lto-streamer-out.c (lto_write_tree_1): Call
25230 streamer_write_tree_bitfields.
25231
25232 2015-02-09 Richard Biener <rguenther@suse.de>
25233
25234 PR tree-optimization/54000
25235 * tree-ssa-looo-ivopts.c: Include tree-vectorizer.h.
25236 (struct ivopts_data): Add loop_loc member.
25237 (tree_ssa_iv_optimize_loop): Dump loop location.
25238 (create_new_ivs): Likewise, also dump number of IVs generated.
25239
25240 2015-02-09 Martin Liska <mliska@suse.cz>
25241
25242 * ipa-icf.c (sem_item_optimizer::register_hooks): Register hooks
25243 just if not yet registered.
25244 (ipa_icf_generate_summary): Register callgraph hooks.
25245
25246 2015-02-08 Andrew Pinski <apinski@cavium.com>
25247
25248 * config/aarch64/aarch64.c (gty_dummy): Delete.
25249
25250 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
25251
25252 PR ipa/63566
25253 * ipa-visibility.c (cgraph_node::non_local_p): Accept aliases.
25254 (cgraph_node::local_p): Remove thunk related FIXME.
25255
25256 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
25257
25258 PR ipa/63566
25259 * i386.c (ix86_function_regparm): Look through aliases to see if callee
25260 is local and optimized.
25261 (ix86_function_sseregparm): Likewise; also use target's SSE math
25262 settings; error out instead of silently generating wrong code
25263 on mismatches.
25264 (init_cumulative_args): Look through aliases.
25265
25266 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
25267
25268 PR ipa/63566
25269 * ipa-split.c (execute_split_functions): Split if function has aliases.
25270
25271 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
25272
25273 PR ipa/63566
25274 * cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is
25275 aliases before trying to expand it.
25276 (cgraph_node::expand_thunk): Fix formating.
25277
25278 2015-02-07 Sandra Loosemore <sandra@codesourcery.com>
25279
25280 * doc/extend.texi (Function Attributes [naked]): Copy-edit.
25281 (Using Assembly Language with C): Expand introduction.
25282 (Basic Asm): Copy-edit. Add more information about uses of
25283 basic asm.
25284 (Extended Asm): Copy-edit. Document new escape syntax and
25285 %l[label] syntax.
25286 (Global Reg Vars): Copy-edit.
25287 (Local Reg Vars): Likewise.
25288
25289 2015-02-06 David Edelsohn <dje.gcc@gmail.com>
25290
25291 PR debug/2714
25292 PR bootstrap/64256
25293 * xcoffout.h (DBX_CONTIN_LENGTH): Define as 16384.
25294 (DBX_CONTIN_CHAR): Define.
25295
25296 2015-02-06 Sebastian Pop <s.pop@samsung.com>
25297 Brian Rzycki <b.rzycki@samsung.com>
25298
25299 PR tree-optimization/64878
25300 * tree-ssa-threadedge.c: Include tree-ssa-loop.h.
25301 (fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi.
25302 Stop recursion at loop phi nodes after having visited a loop phi node.
25303
25304 2015-02-06 Jakub Jelinek <jakub@redhat.com>
25305
25306 * toplev.c (process_options): Change flag_ipa_ra before creating
25307 optimization_{default,current}_node.
25308
25309 PR ipa/64896
25310 * cgraphunit.c (cgraph_node::expand_thunk): If
25311 restype is not is_gimple_reg_type nor the thunk_fndecl
25312 returns aggregate_value_p, set restmp to a temporary variable
25313 instead of resdecl.
25314
25315 2015-02-06 Vladimir Makarov <vmakarov@redhat.com>
25316
25317 * lra.c (lra_emit_add): Fix a typo in using disp instead of base.
25318
25319 2015-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
25320
25321 PR target/64205
25322 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
25323 add a general secondary reload handler for SDmode, unless we have
25324 both read/write support for SDmode.
25325
25326 2015-02-06 Jakub Jelinek <jakub@redhat.com>
25327
25328 PR middle-end/64937
25329 * dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags):
25330 Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT
25331 or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't
25332 1 before, push it to abstract_vec.
25333 (dwarf2out_abstract_function): Adjust caller. Don't call
25334 set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or
25335 DECL_ABSTRACT_P flags for all abstract_vec elts.
25336
25337 2015-02-06 Renlin Li <renlin.li@arm.com>
25338
25339 * tree-ssa-forwprop.c (execute): Keep location info while rewrite
25340 complex gimple.
25341 * tree-ssa.c (execute_update_addresses_taken): Likewise.
25342
25343 2015-02-06 Jeff Law <law@redhat.com>
25344
25345 PR target/64889
25346 * config/h8300/h8300.c (push): New argument "in_prologue".
25347 Pass "in_prologue" along to "F".
25348 (h8300_push_pop): Corresponding changes.
25349 (h8300_expand_prologue): Likewise.
25350 (h8300_swap_into_er6): Likewise. Do not set RTX_FRAME_RELATED_P.
25351
25352 2015-02-06 Jakub Jelinek <jakub@redhat.com>
25353
25354 PR rtl-optimization/64957
25355 PR debug/64817
25356 * simplify-rtx.c (simplify_binary_operation_1): Use ~cval for
25357 IOR rather than for AND.
25358
25359 2015-02-06 Eric Botcazou <ebotcazou@adacore.com>
25360
25361 PR target/62631
25362 * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs
25363 of shift-add and (add + shift) operations. Rename local variable.
25364
25365 2015-02-05 Jeff Law <law@redhat.com>
25366
25367 PR target/17306
25368 * config/h8300/constraints.md (U): Correctly dectect
25369 "eightbit_data" memory addresses.
25370 * config/h8300/h8300.c (eightbit_constant_address_p): Also
25371 handle (const (plus (symbol_ref (x)))) where x is declared
25372 as an 8-bit data memory address.
25373 * config/h8300/h8300.md (call, call_value): Correctly detect
25374 "funcvec" functions.
25375
25376 PR target/43264
25377 * config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by
25378 24 to 28 bits for the H8/300.
25379
25380 2015-02-06 Alan Modra <amodra@gmail.com>
25381
25382 PR target/64876
25383 * config/rs6000/rs6000.c (chain_already_loaded): New function.
25384 (rs6000_call_aix): Use it.
25385
25386 2015-02-05 Jan Hubicka <hubicka@ucw.cz>
25387
25388 * ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds
25389 check.
25390
25391 2015-02-05 Joern Rennecke <joern.rennecke@embecosm.com>
25392
25393 * config/h8300/constraints.md ("U" constraint): Use strict
25394 variant of REG_OK_FOR_BASE_P after reload has started.
25395
25396 2015-02-04 Mantas Mikaitis <mantas.mikaitis@arm.com>
25397
25398 * config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition,
25399 define to zero if !TARGET_NEON.
25400 (TARGET_ARM_FP): Added !TARGET_SOFT_FLOAT into conditional definition.
25401
25402 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
25403 Trevor Saunders <tsaunders@mozilla.com>
25404
25405 PR ipa/61548
25406 * tree-emultls.c (new_emutls_decl): Resolve alias after creating it.
25407
25408 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
25409
25410 PR ipa/61548
25411 * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue
25412 when removing varpool nodes.
25413
25414 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
25415
25416 PR ipa/61548
25417 * varpool.c (varpool_node::remove): Fix order of variables.
25418
25419 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
25420
25421 PR ipa/64686
25422 * ipa-inline.c (inline_small_functions): Fix ordering issue between
25423 speculation resolution and key updates.
25424
25425 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
25426
25427 * ipa-prop.c (update_indirect_edges_after_inlining): By more careful
25428 about not letting any speculative edges unupdated.
25429
25430 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
25431
25432 PR gcov/64123
25433 * gcov-io.c (gcov_var): Export.
25434
25435 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
25436
25437 PR middle-end/64922
25438 * ipa-prop.c (update_indirect_edges_after_inlining): Correctly update
25439 edges that become speculative.
25440
25441 2015-02-04 Jakub Jelinek <jakub@redhat.com>
25442
25443 * dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03
25444 or DW_LANG_Fortran08.
25445 (lower_bound_default): Return 1 for DW_LANG_Fortran03 or
25446 DW_LANG_Fortran08.
25447 (gen_compile_unit_die): Handle "GNU Fortran2003" and
25448 "GNU Fortran2008" language strings.
25449 * dbxout.c (get_lang_number): Use lang_GNU_Fortran.
25450 * langhooks.h (lang_GNU_Fortran): New prototype.
25451 * langhooks.c (lang_GNU_Fortran): New function.
25452 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
25453 lang_GNU_Fortran.
25454
25455 2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
25456
25457 * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error.
25458 (RTX_OK_FOR_OLO10_P): Likewise.
25459
25460 2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
25461
25462 * tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset.
25463
25464 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
25465
25466 PR middle-end/64922
25467 * gimple.c: Include gimple-ssa.h.
25468 (maybe_remove_unused_call_args): New function.
25469 * gimple.h (maybe_remove_unused_call_args): Declare.
25470 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it.
25471 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
25472 * gimple-fold.c (gimple_fold_call): Likewise.
25473
25474 2015-02-04 H.J. Lu <hongjiu.lu@intel.com>
25475
25476 PR rtl-optimization/64905
25477 * lra-eliminations.c (setup_can_eliminate): Clear hard frame
25478 pointer alignment if it isn't needed.
25479
25480 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
25481
25482 * config/aarch64/aarch64-cores.def: Add cortex-a72 and
25483 cortex-a72.cortex-a53.
25484 * config/aarch64/aarch64-tune.md: Regenerate.
25485 * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72".
25486
25487 2015-02-04 Nick Clifton <nickc@redhat.com>
25488
25489 * config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs
25490 inside a MEM.
25491
25492 2015-02-04 Jakub Jelinek <jakub@redhat.com>
25493
25494 * builtins.def (DEF_BUILTIN_CHKP): Define if not defined.
25495 (DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine.
25496 (DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead
25497 of DEF_BUILTIN.
25498 (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT,
25499 BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use
25500 DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN.
25501 (BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK,
25502 BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK,
25503 BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use
25504 DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN.
25505 * tree-core.h (enum built_in_function): In between
25506 BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values
25507 for builtins that use DEF_BUILTIN_CHKP macro.
25508
25509 2015-02-04 Alexandre Oliva <aoliva@redhat.com>
25510
25511 PR debug/64817
25512 * cfgexpand.c (expand_debug_expr): Compute unsignedp from
25513 operands for tcc_comparison exprs. Fix typos.
25514
25515 PR debug/64817
25516 * simplify-rtx.c (simplify_binary_operation_1): Simplify one
25517 of two XORs that have an intervening AND or IOR.
25518
25519 PR debug/64817
25520 * simplify-rtx.c (simplify_binary_operation_1): Rewrite
25521 simplification of XOR of AND to not allocate new rtx before
25522 committing to a simplification.
25523
25524 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
25525
25526 * config/aarch64/aarch64-ldpstp.md: Use std::swap instead of
25527 manual swaps in all peepholes.
25528
25529 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
25530
25531 * config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead
25532 of manual swapping implementation.
25533 (aarch64_expand_vec_perm_const_1): Likewise.
25534
25535 2015-02-04 James Greenhalgh <james.greenhalgh@arm.com>
25536
25537 * config/aarch64/aarch64.c (NAMED_PARAM): Delete it.
25538 (generic_addrcost_table): Remove NAMED_PARAM.
25539 (cortexa57_addrcost_table): Likewise.
25540 (xgene1_addrcost_table): Likewise.
25541 (generic_regmove_table): Likewise.
25542 (cortexa53_regmove_table): Likewise.
25543 (xgene1_regmove_table): Likewise.
25544 (generic_vector_table): Likewise.
25545 (cortexa57_vector_table): Likewise.
25546 (xgene1_vector_table): Likewise.
25547 (generic_tunings): Likewise.
25548 (cortexa53_tunings): Likewise.
25549 (cortexa57_tunings): Likewise.
25550 (xgene1_tunings): Likewise.
25551
25552 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
25553
25554 * config/arm/arm-cores.def: Add cortex-a72 and
25555 cortex-a72.cortex-a53.
25556 * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise.
25557 * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
25558 * config/arm/arm-tune.md: Regenerate.
25559 * config/arm/arm-tables.opt: Add entries for "cortex-a72" and
25560 "cortex-a72.cortex-a53".
25561 * doc/invoke.texi (ARM Options/-mtune): Likewise.
25562
25563 2015-02-04 Nick Clifton <nickc@redhat.com>
25564
25565 PR target/64408
25566 * config/fr30/predicates.md (di_operand): Add SUBREG to the list
25567 of accepted codes.
25568 (nonimmediate_di_operand): Likewise.
25569
25570 * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more
25571 prefixes of known F5 using MSP430 MCUs.
25572
25573 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
25574
25575 * config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF.
25576 * config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf
25577 instead of __builtin_sqrt.
25578
25579 2015-02-04 Ilya Enkovich <ilya.enkovich@intel.com>
25580
25581 * varasm.c (do_assemble_alias): Follow transparent alias
25582 chain for target.
25583 (default_assemble_visibility): Follow transparent alias
25584 chain for decl name.
25585
25586 2015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
25587
25588 PR middle-end/62103
25589 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION
25590 to compute size of referenced value in the constant case.
25591
25592 2015-02-03 Jakub Jelinek <jakub@redhat.com>
25593
25594 PR rtl-optimization/64756
25595 * cse.c (invalidate_dest): New function.
25596 (cse_insn): Use it. If dest != SET_DEST (sets[i].rtl) and
25597 HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record,
25598 invalidate and do not record it.
25599
25600 2015-02-03 Oleg Endo <olegendo@gcc.gnu.org>
25601
25602 PR target/64660
25603 * config/sh/sync.md (atomic_<fetchop_name><mode>_hard,
25604 atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb,
25605 atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard,
25606 atomic_nand<mode>_soft_tcb): New insns.
25607 (atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split.
25608 Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused.
25609 (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split.
25610 Split into atomic_not_fetchsi_hard if operands[0] is unused.
25611 (atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split.
25612 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
25613 (atomic_fetch_not<mode>_hard): Convert to insn_and_split. Split into
25614 atomic_not<mode>_hard if operands[0] is unused.
25615 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to
25616 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa
25617 if operands[0] is unused.
25618 (atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split. Split
25619 into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused.
25620 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split.
25621 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
25622 unused.
25623 (atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split. Split
25624 into atomic_not<mode>_soft_tcb if operands[0] is unused.
25625 (atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to
25626 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_imask
25627 if operands[0] is unused.
25628 (atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split. Split
25629 into atomic_not_fetch<mode>_soft_imask is operands[0] is unused.
25630 (atomic_fetch_nandsi_hard): Convert to insn_and_split. Split into
25631 atomic_nand_fetchsi_hard if operands[0] is unused.
25632 (atomic_fetch_nand<mode>_hard): Convert to insn_and_split. Split into
25633 atomic_nand<mode>_hard if operands[0] is unused.
25634 (atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split. Split
25635 into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused.
25636 (atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split. Split
25637 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
25638 (atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split. Split
25639 into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused.
25640 (atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split.
25641 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
25642 (atomic_not_fetch<mode>_hard): Convert to insn_and_split. Split into
25643 atomic_not<mode>_hard if operands[0] is unused.
25644 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split.
25645 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
25646 unused.
25647 (atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
25648 into atomic_not<mode>_soft_tcb if operands[0] is unused.
25649 (atomic_nand_fetch<mode>_hard): Convert to insn_and_split. Split into
25650 atomic_nand<mode>_hard if operands[0] is unused.
25651 (atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
25652 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
25653
25654 2015-02-03 David Malcolm <dmalcolm@redhat.com>
25655
25656 PR jit/64810
25657 * Makefile.in (GCC_OBJS): Add gcc-main.o.
25658 * gcc-main.c: New file, containing "main" taken from gcc.c.
25659 * gcc.c (do_self_spec): Free decoded_options.
25660 (class driver): Move declaration to gcc.h.
25661 (main): Move declaration and implementation to new file
25662 gcc-main.c.
25663 (driver_get_configure_time_options): New function.
25664 * gcc.h (class driver): Move this declaration here, from
25665 gcc.c.
25666 (driver_get_configure_time_options): New declaration.
25667
25668 2015-02-03 Jan Hubicka <hubicka@ucw.cz>
25669
25670 * ipa-inline-analysis.c (simple_edge_hints): Fix check for
25671 cross-module inlining.
25672 * cgraph.h (cgraph_node): Add flag merged.
25673 * ipa-icf.c (sem_function::merge): Maintain it.
25674
25675 2015-02-03 Richard Sandiford <richard.sandiford@arm.com>
25676
25677 * config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P
25678 instead of OBJECT_P.
25679
25680 2015-02-03 Eric Botcazou <ebotcazou@adacore.com>
25681
25682 PR target/62631
25683 * config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS.
25684 (TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL.
25685 * config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on
25686 int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set.
25687
25688 2015-02-03 Jakub Jelinek <jakub@redhat.com>
25689
25690 PR other/63504
25691 * combine.c (reg_n_sets_max): New variable.
25692 (can_change_dest_mode, reg_nonzero_bits_for_combine,
25693 reg_num_sign_bit_copies_for_combine, get_last_value_validate,
25694 get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max.
25695 (try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max.
25696 (rest_of_handle_combine): Initialize reg_n_sets_max.
25697
25698 2015-02-02 Jan Hubicka <hubicka@ucw.cz>
25699
25700 * ipa-inline.c (early_inliner): Skip inlining only in always_inlined;
25701 if some always_inline was inlined, apply changes before inlining
25702 heuristically.
25703
25704 2015-02-02 David Malcolm <dmalcolm@redhat.com>
25705
25706 PR jit/64810
25707 * config/arm/arm.c (arm_option_override): Set
25708 arm_selected_arch/cpu/tune to NULL on entry.
25709
25710 2015-02-02 Tejas Belagod <tejas.belagod@arm.com>
25711 Andrew Pinski <pinskia@gcc.gnu.org>
25712 Jakub Jelinek <jakub@gcc.gnu.org>
25713
25714 PR target/64231
25715 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large
25716 integer typing for small model. Use IN_RANGE.
25717
25718 2015-02-02 Richard Biener <rguenther@suse.de>
25719
25720 * tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs.
25721 * tree-vrp.c (vrp_valueize_1): Likewise.
25722
25723 2015-02-02 Alan Modra <amodra@gmail.com>
25724
25725 * config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather
25726 than mem for toc_restore.
25727 * config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define.
25728 (call_indirect_aix, call_value_indirect_aix): Adjust to suit.
25729 (call_indirect_elfv2, call_value_indirect_elfv2): Likewise.
25730
25731 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
25732
25733 PR target/64047
25734 * config/rs6000/rs6000.c (rs6000_set_current_function): Handle
25735 explicit default options.
25736
25737 2015-02-01 Jan Hubicka <hubicka@ucw.cz>
25738
25739 PR ipa/64872
25740 * ipa-utils.c (ipa_merge_profiles): Add release argument.
25741 * ipa-icf.c (sem_function::merge): Do not release body when merging.
25742 * ipa-utils.h (ipa_merge_profiles): Update prototype.
25743
25744 2015-02-01 Jakub Jelinek <jakub@redhat.com>
25745
25746 PR debug/64817
25747 * cfgexpand.c (deep_ter_debug_map): New variable.
25748 (avoid_deep_ter_for_debug): New function.
25749 (expand_debug_expr): If TERed SSA_NAME is in
25750 deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL
25751 instead of trying to expand SSA_NAME's def stmt.
25752 (expand_debug_locations): When expanding debug bind
25753 of a DEBUG_EXPR_DECL to corresponding SSA_NAME,
25754 temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's
25755 value.
25756 (pass_expand::execute): Call avoid_deep_ter_for_debug on
25757 all debug bind stmts. Delete deep_ter_debug_map after
25758 expand_debug_location if non-NULL and clear it.
25759
25760 2015-02-01 Oleg Endo <olegendo@gcc.gnu.org>
25761
25762 PR target/64851
25763 * config/sh/sync.md (atomic_fetch_notsi_hard,
25764 atomic_fetch_not<mode>_hard, atomic_fetch_not<mode>_soft_gusa,
25765 atomic_fetch_not<mode>_soft_tcb, atomic_fetch_not<mode>_soft_imask,
25766 atomic_not_fetchsi_hard, atomic_not_fetch<mode>_hard,
25767 atomic_not_fetch<mode>_soft_gusa, atomic_not_fetch<mode>_soft_tcb,
25768 atomic_not_fetch<mode>_soft_imask): New insns.
25769
25770 2015-02-01 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
25771
25772 * haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro.
25773 (rank_for_schedule_debug): Split from ...
25774 (rank_for_schedule): ... this.
25775 (ready_sort): Sort DEBUG_INSNs separately from normal INSNs.
25776 * sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order.
25777
25778 2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
25779
25780 * doc/md.texi (Machine Constraints): Alphabetize table by target.
25781 * doc/extend.texi (x86 Variable Attributes): Move section to
25782 correct alphabetization after renaming.
25783 (x86 Type Attributes): Likewise.
25784 (Target Builtins): Re-alphabetize menu.
25785 (x86 Built-in Functions): Move section to correct alphabetization
25786 after renaming.
25787 (x86 transactional memory intrinsics): Likewise.
25788 * doc/invoke.texi (Option Summary): Re-alphabetize x86 Options
25789 and x86 Windows Options in table and menu.
25790 (x86 Options): Move section to correct alphabetization after
25791 renaming.
25792 (x86 Windows Options): Likewise.
25793
25794 2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
25795
25796 * doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the
25797 preferred names of the architecture and its 32- and 64-bit
25798 variants.
25799 * doc/invoke.texi: Likewise.
25800 * doc/md.texi: Likewise.
25801
25802 2015-01-31 Uros Bizjak <ubizjak@gmail.com>
25803
25804 PR target/64882
25805 * config/i386/predicates.md (address_no_seg_operand): Reject
25806 non-CONST_INT_P operands in invalid mode.
25807
25808 2015-01-31 Uros Bizjak <ubizjak@gmail.com>
25809
25810 * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of
25811 address_operand 0. Rename from *prefetch_prefetchwt1_<mode>.
25812 * config/i386/predicates.md (address_no_seg_operand): Call
25813 address_operand with VOIDmode.
25814 (vsib_address_operand): Ditto.
25815 (address_mpx_no_base_operand): Ditto.
25816 (address_mpx_no_index_operand): Ditto.
25817
25818 2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
25819
25820 PR target/64688
25821 * lra-constraints.c (original_subreg_reg_mode): New.
25822 (simplify_operand_subreg): Try to simplify subreg of const. Use
25823 original_subreg_reg_mode for it.
25824 (swap_operands): Update original_subreg_reg_mode.
25825 (curr_insn_transform): Set up original_subreg_reg_mode.
25826
25827 2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
25828
25829 PR target/64617
25830 * lra-constraints.c (prohibited_class_reg_set_mode_p): New
25831 function.
25832 (process_alt_operands): Use it.
25833 (curr_insn_transform): Check the optional reload pseudo class is
25834 ok for the mode.
25835
25836 2015-01-30 Joseph Myers <joseph@codesourcery.com>
25837
25838 * diagnostic.c (fatal_error (const char *, ...)): Remove function.
25839 * diagnostic-core.h (fatal_error (const char *, ...)): Remove
25840 prototype.
25841 * toplev.h (init_asm_output): Update comment on use of
25842 UNKNOWN_LOCATION with fatal_error.
25843 * cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
25844 config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
25845 config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
25846 config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
25847 config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
25848 config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
25849 config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
25850 ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
25851 lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
25852 lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
25853 tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
25854 fatal_error changed to pass input_location as first argument.
25855
25856 2015-01-30 Martin Liska <mliska@suse.cz>
25857
25858 * tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006
25859 in #pragma GCC diagnostic guards.
25860
25861 2015-01-30 Richard Biener <rguenther@suse.de>
25862
25863 PR tree-optimization/64829
25864 * tree-vect-patterns.c (vect_handle_widen_op_by_const): Do
25865 not add a widening conversion pattern but hand off extra
25866 widenings to callers.
25867 (vect_recog_widen_mult_pattern): Handle extra widening produced
25868 by vect_handle_widen_op_by_const.
25869 (vect_recog_widen_shift_pattern): Likewise.
25870 (vect_pattern_recog_1): Remove excess vertical space in dumping.
25871 * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
25872 (vect_init_vector_1): Likewise.
25873 (vect_get_vec_def_for_operand): Likewise.
25874 (vect_finish_stmt_generation): Likewise.
25875 (vectorizable_load): Likewise.
25876 (vect_analyze_stmt): Likewise.
25877 (vect_is_simple_use): Likewise.
25878
25879 2015-01-29 Jeff Law <law@redhat.com>
25880
25881 * combine.c (try_combine): Fix typo in comment.
25882
25883 2015-01-29 Segher Boessenkool <segher@kernel.crashing.org>
25884
25885 PR target/64580
25886 * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order.
25887 (rs6000_stack_info): Add assert.
25888 (rs6000_output_savres_externs): New function, split off from...
25889 (rs6000_output_function_prologue): ... here. Do not call it for
25890 thunks.
25891
25892 2015-01-29 Jeff Law <law@redhat.com>
25893
25894 PR target/15184
25895 * combine.c (try_combine): If I0 is a memory load and I3 a store
25896 to a related address, increase the "goodness" of doing a 4-insn
25897 combination with I0-I3.
25898 (make_field_assignment): Handle SUBREGs in the ior+and case.
25899
25900 2015-01-29 Yuri Rumyantsev <ysrumyan@gmail.com>
25901
25902 PR tree-optimization/64746
25903 * tree-if-conv.c (mask_exists): New function.
25904 (predicate_mem_writes): Save created mask with given size for further
25905 use.
25906 (stmt_is_root_of_bool_pattern): Remove argument VAR and store to it.
25907 (ifcvt_repair_bool_pattern): Collect all statements that are root
25908 of bool pattern and use iterative algorithm to remove multiple uses
25909 of predicates, display number of required iterations.
25910
25911 2015-01-29 Richard Biener <rguenther@suse.de>
25912
25913 PR tree-optimization/64853
25914 * tree-vrp.c (vrp_valueize_1): Do not return anything if the
25915 stmt will get simulated again.
25916 * tree-ssa-ccp.c (valueize_op_1): Likewise.
25917
25918 2015-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
25919
25920 * config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of
25921 return_in_pc. Remove redundant assignments.
25922 (thumb2_emit_ldrd_pop): Simplify definition of return_in_pc.
25923 (arm_expand_epilogue): Don't compare boolean with true in if condition.
25924
25925 2015-01-29 Uros Bizjak <ubizjak@gmail.com>
25926
25927 * config/i386/i386.c (ix86_mode_after): Make static.
25928
25929 2015-01-29 Richard Biener <rguenther@suse.de>
25930
25931 PR tree-optimization/64844
25932 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Always
25933 dump cost model analysis.
25934 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
25935 Do not register adjusted load/store costs here.
25936
25937 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
25938 Uros Bizjak <ubizjak@gmail.com>
25939
25940 * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New.
25941 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by
25942 using x86_use_pseudo_pic_reg.
25943 * config/i386/i386.c (ix86_conditional_register_usage): Remove
25944 support for fixed PIC register.
25945 (ix86_use_pseudo_pic_reg): Not static any more.
25946
25947 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
25948
25949 PR middle-end/64805
25950 * ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference
25951 to avoid error in cgraph node verification.
25952
25953 2015-01-29 Marek Polacek <polacek@redhat.com>
25954
25955 * doc/standards.texi: Reflect that the default for C is gnu11.
25956
25957 2015-01-29 Kaz Kojima <kkojima@gcc.gnu.org>
25958
25959 PR target/64761
25960 * reorg.c (switch_text_sections_between_p): New function.
25961 (relax_delay_slots): Call it when testing if the jump insn
25962 is removable. Use targetm.can_follow_jump when testing if
25963 the conditional branch can follow an unconditional jump.
25964
25965 2015-01-27 Caroline Tice <cmtice@google.com>
25966
25967 Committing VTV Cywin/Ming patch for Patrick Wollgast
25968 * config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o,
25969 if -fvtable-verify=preinit/std is used.
25970 * config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise.
25971 * config/i386/mingw32.h (STARTFILE_SPEC): Likewise.
25972 * config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o,
25973 if -fvtable-verify=preinit/std is used.
25974 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
25975 * config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi,
25976 if -fvtable-verify=preinit/std is used.
25977 * config/i386/mingw-w64.h (LIB_SPEC): Likewise.
25978 * config/i386/mingw32.h (LIB_SPEC): Likewise.
25979 * varasm.c (assemble_variable): Add code to properly set the comdat
25980 section and name for the .vtable_map_vars section in case the
25981 target is PE or COFF.
25982
25983 2015-01-29 Jan Hubicka <hubicka@ucw.cz>
25984
25985 PR ipa/64801
25986 * cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter;
25987 make sane BB profile.
25988 (cgraph_node::expand_thunk): Make sane BB profile.
25989 (cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p.
25990 * cgraph.h (init_lowered_empty_function): Update prototype.
25991 * config/i386/i386.c (make_resolver_func): Update call.
25992 * predict.c (gate): Disable branch prediction pass if
25993 profile is already there.
25994
25995 2015-01-29 Jan Hubicka <hubicka@ucw.cz>
25996
25997 * optc-save-gen.awk: flag_fp_contract_mode is no longer speical.
25998 * opth-gen.awk: Likewise.
25999 * common.opt: Mark flag_fp_contract_mode as Optimization.
26000
26001 2015-01-29 Bernd Edlinger <bernd.edlinger@hotmail.de>
26002
26003 * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16.
26004 * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16.
26005
26006 2015-01-28 Oleg Endo <olegendo@gcc.gnu.org>
26007
26008 PR target/64659
26009 * config/sh/predicates.md (atomic_arith_operand,
26010 atomic_logical_operand): Remove.
26011 * config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove.
26012 (atomic_arith_operand_0): New predicate.
26013 (atomic_compare_and_swap<mode>): Use arith_reg_dest for output values.
26014 Use atomic_arith_operand_0 for input values.
26015 (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
26016 atomic_compare_and_swap<mode>_soft_gusa,
26017 atomic_compare_and_swap<mode>_soft_tcb,
26018 atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and
26019 arith_reg_operand instead of register_operand.
26020 (atomic_exchange<mode>): Use arith_reg_dest for output value. Use
26021 atomic_arith_operand_0 for newval input.
26022 (atomic_exchangesi_hard, atomic_exchange<mode>_hard,
26023 atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb,
26024 atomic_exchange<mode>_soft_imask): Use arith_reg_dest and
26025 arith_reg_operand instead of register_operand.
26026 (atomic_arith_operand_1, atomic_logical_operand_1): New predicates.
26027 fetchop_predicate_1, fetchop_constraint_1_llcs,
26028 fetchop_constraint_1_gusa, fetchop_constraint_1_tcb,
26029 fetchop_constraint_1_imask): New code iterator attributes.
26030 (atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of
26031 register_operand. Use fetchop_predicate_1.
26032 (atomic_fetch_<fetchop_name>si_hard,
26033 atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of
26034 register_operand. Use fetchop_predicate_1, fetchop_constraint_1_llcs.
26035 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest
26036 and arith_reg_operand instead of register_operand. Use
26037 fetchop_predicate_1, fetchop_constraint_1_gusa.
26038 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest
26039 and arith_reg_operand instead of register_operand. Use
26040 fetchop_predicate_1, fetchop_constraint_1_tcb. Adjust asm sequence
26041 to allow R0 usage.
26042 (atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest
26043 and arith_reg_operand instead of register_operand. Use
26044 fetchop_predicate_1, fetchop_constraint_1_imask. Adjust asm sequence
26045 to allow R0 usage.
26046 (atomic_fetch_nand<mode>): Use arith_reg_dest instead of
26047 register_operand. Use atomic_logical_operand_1.
26048 (atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
26049 atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and
26050 arith_reg_operand instead of register_operand.
26051 (atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask):
26052 Use arith_reg_dest and arith_reg_operand instead of register_operand.
26053 Use logical_operand and rK08. Adjust asm sequence to allow R0 usage.
26054 (atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of
26055 register_operand. Use fetchop_predicate_1.
26056 (atomic_<fetchop_name>_fetchsi_hard,
26057 atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and
26058 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
26059 fetchop_constraint_1_llcs.
26060 (atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and
26061 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
26062 fetchop_constraint_1_gusa.
26063 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and
26064 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
26065 fetchop_constraint_1_tcb. Adjust asm sequence to allow R0 usage.
26066 (atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and
26067 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
26068 fetchop_constraint_1_imask. Adjust asm sequence to allow R0 usage.
26069 (atomic_nand_fetch<mode>): Use arith_reg_dest instead of
26070 register_operand. Use atomic_logical_operand_1.
26071 (atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
26072 atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and
26073 arith_reg_operand instead of register_operand.
26074 (atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and
26075 arith_reg_operand instead of register_operand. Use logical_operand
26076 and K08. Adjust asm sequence to allow R0 usage.
26077 (atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and
26078 arith_reg_operand instead of register_operand. Use logical_operand
26079 and K08.
26080
26081 2015-01-28 Jakub Jelinek <jakub@redhat.com>
26082
26083 PR other/63504
26084 * dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor):
26085 Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>.
26086 (attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum
26087 only get_full_len HOST_WIDE_INTs from get_val () array rather than
26088 all bits in *val_wide.
26089
26090 2015-01-28 Jan Hubicka <hubicka@ucw.cz>
26091
26092 * varpool.c (tls_model_names): Fix names.
26093 (varpool_node::dump): Dump tls- prefix for tls models.
26094
26095 2015-01-28 Thomas Schwinge <thomas@codesourcery.com>
26096 Bernd Schmidt <bernds@codesourcery.com>
26097 Nathan Sidwell <nathan@codesourcery.com>
26098
26099 * config/nvptx/mkoffload.c: New file.
26100 * config/nvptx/t-nvptx: Add build rules for it.
26101 * config.gcc <nvptx-*> [$enable_as_accelerator = yes]
26102 (extra_programs): Add mkoffload.
26103 * config/nvptx/nvptx.c (nvptx_record_offload_symbol): New
26104 function.
26105 (TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it.
26106
26107 2015-01-28 Yuri Rumyantsev <ysrumyan@gmail.com>
26108
26109 PR middle-end/64809
26110 * cfgexpand.c (reorder_operands): Skip debug gimples.
26111
26112 2015-01-28 Ilya Enkovich <ilya.enkovich@intel.com>
26113
26114 PR tree-optimization/64277
26115 * tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base
26116 range info when possible to refine estimation.
26117
26118 2015-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
26119
26120 PR tree-optimization/64718
26121 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type
26122 be a 16bit unsigned integer when n->range is 16.
26123 (bswap_replace): Convert src to that type if necessary for all bswap
26124 sizes. Fix rotation right notation in nearby comment. Use bswap_type
26125 set in pass_optimize_bswap::execute ().
26126
26127 2015-01-28 James Greenhalgh <james.greenhalgh@arm.com>
26128
26129 * config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New.
26130 * config/aarch64/aarch64-simd-builtins.def (abs): Split by
26131 integer and floating point variants.
26132 * config/aarch64/iterators.md (unspec): Add UNSPEC_ABS.
26133
26134 2015-01-28 Robert Suchanek <robert.suchanek@imgtec.com>
26135
26136 * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators
26137 for all vector modes.
26138
26139 2015-01-28 Jakub Jelinek <jakub@redhat.com>
26140
26141 PR bootstrap/64612
26142 * doc/sourcebuild.texi (comdat_group): Document.
26143
26144 2015-01-28 Terry Guo <terry.guo@arm.com>
26145
26146 * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
26147
26148 2015-01-27 David Malcolm <dmalcolm@redhat.com>
26149
26150 * toplev.c (print_version): Add param "show_global_state", and
26151 only print GGC and plugin information if it is true.
26152 (init_asm_output): Pass in "true" for the new param when calling
26153 print_version.
26154 (process_options): Likewise.
26155 (toplev::main): Likewise.
26156 * toplev.h (print_version): Add new param to decl.
26157
26158 2015-01-27 Jan Hubicka <hubicka@ucw.cz>
26159
26160 PR ipa/60871
26161 PR ipa/64139
26162 * tree.c (lookup_binfo_at_offset): New function.
26163 (get_binfo_at_offset): Use it.
26164
26165 2015-01-27 Jan Hubicka <hubicka@ucw.cz>
26166
26167 PR ipa/64282
26168 * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
26169 on vtable being vtable.
26170
26171 2015-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
26172
26173 * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
26174 * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
26175 -mhotpatch= option.
26176 * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
26177 -mno-hotpatch options. Change syntax of -mhotpatch= option.
26178 * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
26179 Renamed.
26180 (s390_hotpatch_trampoline_halfwords_max): Renamed.
26181 (s390_hotpatch_hw_max): New name.
26182 (s390_hotpatch_trampoline_halfwords): Renamed.
26183 (s390_hotpatch_hw_before_label): New name.
26184 (get_hotpatch_attribute): Removed.
26185 (s390_hotpatch_hw_after_label): New name.
26186 (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
26187 attribute.
26188 (s390_attribute_table): Ditto.
26189 (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
26190 (s390_function_num_hotpatch_hw): New name.
26191 Remove special handling of inline functions and hotpatching.
26192 Return number of nops before and after the function label.
26193 (s390_can_inline_p): Removed.
26194 (s390_asm_output_function_label): Emit a configurable number of nops
26195 after the function label.
26196 (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
26197 (TARGET_CAN_INLINE_P) Removed.
26198 (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.
26199
26200 2015-01-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
26201 Jiong Wang <jiong.wang@arm.com>
26202
26203 * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead
26204 of scratch reg.
26205 (cb<optab><mode>1): Likewise.
26206 * config/aarch64/iterators.md (bcond): New define_code_attr.
26207
26208 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
26209
26210 * config/s390/s390.c (s390_memory_move_cost): Increase costs for
26211 memory accesses.
26212
26213 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
26214
26215 * config/s390/s390.c (s390_register_move_cost): Increase costs for
26216 FPR->GPR moves.
26217
26218 2015-01-27 Richard Biener <rguenther@suse.de>
26219
26220 * tree-vrp.c (update_value_range): Intersect the range with
26221 old recorded SSA name range information.
26222
26223 2015-01-27 Nick Clifton <nickc@redhat.com>
26224
26225 * config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the
26226 BC, DE and HL registers directly, not via AX.
26227 When decrementing the stack pointer by a large amount, transfer SP
26228 into AX and perform the subtraction there.
26229 (rl78_expand_epilogue): Perform the inverse of the above
26230 enhancements.
26231
26232 2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
26233
26234 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove.
26235
26236 2015-01-27 Jakub Jelinek <jakub@redhat.com>
26237 Yury Gribov <y.gribov@samsung.com>
26238
26239 PR ubsan/64741
26240 * ubsan.c (ubsan_source_location): Refactor code.
26241 (ubsan_type_descriptor): Update type size. Refactor code.
26242
26243 2015-01-27 Richard Biener <rguenther@suse.de>
26244
26245 PR tree-optimization/56273
26246 PR tree-optimization/59124
26247 PR tree-optimization/64277
26248 * tree-vrp.c (vrp_finalize): Emit array-bound warnings only
26249 from the first VRP pass.
26250
26251 2015-01-27 Jakub Jelinek <jakub@redhat.com>
26252
26253 PR ipa/64776
26254 * cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting,
26255 handle the first argument in the same loop as all the other arguments.
26256
26257 PR rtl-optimization/61058
26258 * jump.c (cleanup_barriers): Update basic block boundaries
26259 if BLOCK_FOR_INSN is non-NULL on PREV.
26260
26261 2015-01-27 Ilya Enkovich <ilya.enkovich@intel.com>
26262
26263 * tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of
26264 bounds narrowing, already instrumented calls and calls to
26265 not instrumentable functions.
26266
26267 2015-01-27 Jakub Jelinek <jakub@redhat.com>
26268
26269 PR tree-optimization/64807
26270 * wide-int.cc (wi::divmod_internal): Clear
26271 b_dividend[dividend_blocks_needed].
26272
26273 2015-01-26 DJ Delorie <dj@redhat.com>
26274
26275 * config/rl78/rl78.c (move_elim_pass): Don't optimize away
26276 volatile memory references.
26277
26278 2015-01-26 Oleg Endo <olegendo@gcc.gnu.org>
26279
26280 PR target/49263
26281 * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before
26282 remove_insn.
26283 * config/sh/sh.md (tstsi_t): Don't try to optimize constant with right
26284 shifts if it already fits into K08.
26285
26286 2015-01-26 Jakub Jelinek <jakub@redhat.com>
26287
26288 PR ipa/64730
26289 * ipa-inline.c (inline_small_functions): Print "unknown" even
26290 if edge->call_stmt is non-NULL, but has builtins or unknown
26291 location.
26292
26293 PR middle-end/64421
26294 * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts
26295 with asterisk, skip the first character.
26296
26297 2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
26298
26299 PR target/64806
26300 * config/i386/i386 (feature_priority): Revert the last P_POPCNT
26301 order change.
26302
26303 2015-01-26 Uros Bizjak <ubizjak@gmail.com>
26304
26305 PR target/64795
26306 * config/i386/i386.md (*movdi_internal): Also check operand 0
26307 to determine TYPE_LEA operand.
26308 (*movsi_internal): Ditto.
26309
26310 2015-01-26 Jakub Jelinek <jakub@redhat.com>
26311
26312 * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
26313 OPTION_MASK_QUAD_MEMORY_ATOMIC.
26314
26315 2015-01-26 Renlin Li <renlin.li@arm.com>
26316
26317 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct
26318 the comment.
26319 * config/aarch64/aarch64.md (tlsle_small_<mode>): Add left shift 12-bit
26320 for higher part.
26321
26322 2015-01-26 Richard Biener <rguenther@suse.de>
26323
26324 PR middle-end/64764
26325 * tree-ssa-uninit.c (is_pred_expr_subset_of): Handle
26326 combining two BIT_AND_EXPR predicates.
26327
26328 2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
26329
26330 PR bootstrap/64754
26331 * tree-ssa-structalias.c (new_var_info): Initialize ruid.
26332
26333 2015-01-26 Terry Guo <terry.guo@arm.com>
26334
26335 * config/arm/arm.c (arm_file_start): Update the assignment of
26336 Tag_ABI_HardFP_use.
26337
26338 2015-01-25 James Greenhalgh <james.greenhalgh@arm.com>
26339
26340 * config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57
26341 pipeline model.
26342 config/arm/arm.md: Include the new Cortex-A57 model.
26343 (generic_sched): Don't use generic_sched when tuning for
26344 Cortex-A57.
26345
26346 2015-01-25 Allan Sandfeld Jensen <sandfeld@kde.org>
26347 Uros Bizjak <ubizjak@gmail.com>
26348
26349 * config/i386/i386.c (get_builtin_code_for_version): Add
26350 support for BMI and BMI2 multiversion functions.
26351
26352 2015-01-25 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
26353
26354 * emit-rtl.h (store_bit_field): Move prototype to expmed.h.
26355 (extract_bit_field): Likewise.
26356 (extract_low_bits): Likewise.
26357 (expand_mult): Likewise.
26358 (expand_mult_highpart_adjust): Likewise.
26359
26360 2015-01-24 H.J. Lu <hongjiu.lu@intel.com>
26361
26362 * config/i386/driver-i386.c (host_detect_local_cpu): Check new
26363 Silvermont, Haswell, Broadwell and Knights Landing model numbers.
26364 * config/i386/i386.c (processor_model): Add
26365 M_INTEL_COREI7_BROADWELL.
26366 (arch_names_table): Add "broadwell".
26367
26368 2015-01-24 Oleg Endo <olegendo@gcc.gnu.org>
26369
26370 PR target/49263
26371 PR target/53987
26372 PR target/64345
26373 PR target/59533
26374 PR target/52933
26375 PR target/54236
26376 PR target/51244
26377 * config/sh/sh-protos.h
26378 (sh_extending_set_of_reg::can_use_as_unextended_reg,
26379 sh_extending_set_of_reg::use_as_unextended_reg,
26380 sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn,
26381 sh_is_movrt_insn, sh_insn_operands_modified_between_p,
26382 sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr,
26383 sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions.
26384 (sh_treg_insns): New class.
26385 * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook.
26386 (scope_counter): New class.
26387 (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest,
26388 sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn,
26389 sh_extending_set_of_reg::can_use_as_unextended_reg,
26390 sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr,
26391 sh_in_recog_treg_set_expr, sh_try_split_insn_simple,
26392 sh_split_treg_set_expr): New functions.
26393 (addsubcosts): Handle treg_set_expr.
26394 (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT.
26395 (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND.
26396 (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases.
26397 (sh_insn_operands_modified_between_p): Make non-static.
26398 * config/sh/predicates.md (zero_extend_movu_operand): Allow
26399 simple_mem_operand in addition to displacement_mem_operand.
26400 (zero_extend_operand): Don't allow zero_extend_movu_operand.
26401 (treg_set_expr, treg_set_expr_not_const01,
26402 arith_reg_or_treg_set_expr): New predicates.
26403 * config/sh/sh.md (tstsi_t): Use arith_reg_operand and
26404 arith_or_int_operand instead of logical_operand. Convert to
26405 insn_and_split. Try to optimize constant operand in splitter.
26406 (tsthi_t, tstqi_t): Fold into *tst<mode>_t. Convert to insn_and_split.
26407 (*tstqi_t_zero): Delete.
26408 (*tst<mode>_t_subregs): Add !sh_in_recog_treg_set_expr split condition.
26409 (tstsi_t_and_not): Delete.
26410 (tst<mode>_t_zero_extract_eq): Rename to *tst<mode>_t_zero_extract.
26411 Convert to insn_and_split.
26412 (unnamed split, tstsi_t_zero_extract_xor,
26413 tstsi_t_zero_extract_subreg_xor_little,
26414 tstsi_t_zero_extract_subreg_xor_big): Delete.
26415 (*tstsi_t_shift_mask): New insn_and_split.
26416 (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try
26417 to recombine with surrounding insns when splitting.
26418 (*negtstsi): Add !sh_in_recog_treg_set_expr condition.
26419 (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ...
26420 (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4,
26421 *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns.
26422 (*cbranch_div0s: Delete.
26423 (*addc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
26424 Try to recombine with surrounding insns when splitting. Add operand
26425 order variants.
26426 (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01.
26427 (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb,
26428 *addc_r_r_msb, *addc_2r_msb): Delete.
26429 (*addc_2r_lsb): Rename to *addc_2r_t. Use treg_set_expr. Add operand
26430 order variant.
26431 (*addc_negreg_t): New insn_and_split.
26432 (*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
26433 Try to recombine with surrounding insns when splitting.
26434 Add operand order variants.
26435 (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New
26436 insn_and_split patterns.
26437 (*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with
26438 surrounding insns when splitting.
26439 (unnamed rotcr split): Use arith_reg_or_treg_set_expr.
26440 (*rotcl): Likewise. Add zero_extract variant.
26441 (*ashrsi2_31): New insn_and_split.
26442 (*negc): Convert to insn_and_split. Use treg_set_expr.
26443 (*zero_extend<mode>si2_disp_mem): Update comment.
26444 (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split
26445 condition.
26446 (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr. Try to recombine
26447 with surrounding insns when splitting.
26448 (any_treg_expr_to_reg): New insn_and_split.
26449 (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2,
26450 *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5,
26451 *neg_zero_extract_6, *zero_extract_0, *zero_extract_1,
26452 *zero_extract_2): New single bit zero extract patterns.
26453 (bld_reg, *bld_regqi): Fold into bld<mode>_reg.
26454 (*get_thread_pointersi, store_gbr, *mov<mode>_gbr_load,
26455 *mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load,
26456 *movdi_gbr_load): Use arith_reg_dest instead of register_operand for
26457 set destination.
26458 (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of
26459 register_operand for set source.
26460
26461 2015-01-23 Jan Hubicka <hubicka@ucw.cz>
26462
26463 * i386.opt (prefetch_sse): New targetsave.
26464 * i386.c (ix86_function_specific_save): Save prefetch_sse.
26465 (ix86_function_specific_restore): Restore prefetch_sse and initialize
26466 ix86_cost/ix86_tune_cost.
26467
26468 2015-01-23 David Malcolm <dmalcolm@redhat.com>
26469
26470 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
26471 Support the JIT by using 0 as the language type.
26472
26473 2015-01-23 Vladimir Makarov <vmakarov@redhat.com>
26474
26475 PR target/64317
26476 * lra-lives.c (make_hard_regno_born): Add parameter. Don't make
26477 REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo.
26478 (mark_regno_live, process_bb_lives): Pass new parameter value to
26479 make_hard_regno_born.
26480
26481 2015-01-23 Jakub Jelinek <jakub@redhat.com>
26482
26483 PR rtl-optimization/63637
26484 PR rtl-optimization/60663
26485 * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
26486 if elt->cost is MAX_COST for ASM_OPERANDS.
26487 (find_sets_in_insn): Fix up comment typo.
26488 (cse_insn): Don't set src_volatile for all non-volatile
26489 ASM_OPERANDS in PARALLELs, but just those with multiple outputs
26490 or with "memory" clobber. Set elt->cost to MAX_COST
26491 for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST
26492 if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
26493
26494 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
26495
26496 * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
26497 alternative 1.
26498
26499 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
26500
26501 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to
26502 libgcc/config/i386/elf-lib.h.
26503
26504 2015-01-23 Jakub Jelinek <jakub@redhat.com>
26505
26506 PR driver/64737
26507 * gcc.c (print_configuration): Don't print a blank line at the end
26508 here...
26509 (run_attempt): ... but here unstead.
26510
26511 PR middle-end/64734
26512 * omp-low.c (scan_sharing_clauses): Don't ignore
26513 OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses
26514 on target data/update constructs.
26515
26516 2015-01-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
26517
26518 PR target/50928
26519 * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here.
26520 (DEBUG_RELOAD): Removed define.
26521 (m32c_limit_reload_class): Enable traces with if DEBUG0.
26522 (m32c_function_arg): Added a type cast.
26523 (m32c_legitimize_reload_address): Push A_REGS reload with PSImode.
26524 * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments.
26525 * config/m32c/bitops.md (andqi3_16): Likewise.
26526 * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise.
26527 (push_a01_l): Likewise.
26528
26529 2015-01-23 David Malcolm <dmalcolm@redhat.com>
26530
26531 PR jit/64721
26532 * main.c (main): Construct toplev instances with init_signals=true.
26533 * toplev.c (general_init): Add param "init_signals", and use it to
26534 conditionalize the calls to signal and host_hooks.extra_signals.
26535 (toplev::toplev): Add param "init_signals".
26536 (toplev::main): When invoking general_init, pass m_init_signals
26537 to control whether signal-handlers are installed.
26538 * toplev.h (toplev::toplev): Add param "init_signals".
26539 (toplev::m_init_signals): New field.
26540
26541 2015-01-23 David Malcolm <dmalcolm@redhat.com>
26542
26543 PR jit/64722
26544 * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to
26545 NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the
26546 latter may be affected by the former (e.g. on i686).
26547
26548 2015-01-23 Martin Liska <mliska@suse.cz>
26549
26550 * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow
26551 false positive during profiledbootstrap.
26552
26553 2015-01-23 Tom de Vries <tom@codesourcery.com>
26554
26555 PR libgomp/64672
26556 * lto-opts.c (lto_write_options): Output non-explicit conservative
26557 -fno-openacc.
26558 * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc.
26559 (append_compiler_options): Pass -fopenacc through.
26560
26561 2015-01-23 Tom de Vries <tom@codesourcery.com>
26562
26563 PR libgomp/64707
26564 * lto-opts.c (lto_write_options): Output non-explicit conservative
26565 -fno-openmp.
26566 * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp.
26567 (append_compiler_options): Pass -fopenmp through.
26568
26569 2015-01-23 Jakub Jelinek <jakub@redhat.com>
26570
26571 PR debug/64511
26572 * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
26573 GTY markup.
26574
26575 * diagnostic-core.h (internal_error_no_backtrace): New prototype.
26576 * diagnostic.def (DK_ICE_NOBT): New kind.
26577 * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT
26578 like DK_ICE, but never print backtrace.
26579 (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE.
26580 (internal_error_no_backtrace): New function.
26581 * gcc.c (execute): Use internal_error_no_backtrace instead of
26582 internal_error.
26583
26584 2015-01-22 Jeff Law <law@redhat.com>
26585
26586 PR target/52076
26587 * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to
26588 improve code density for small immediate to memory case.
26589 (insv): Better handle bitfield assignments when the field is
26590 being set to all ones.
26591 * config/m68k/predicates.md (reg_or_pow2_m1_operand): New
26592 operand predicate.
26593
26594 2015-01-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
26595 Jakub Jelinek <jakub@redhat.com>
26596
26597 PR middle-end/64729
26598 * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit
26599 for !TARGET_LIBC_PROVIDES_SSP version and
26600 -fstack-protector-{all,strong,explicit} otherwise.
26601 * config/freebsd.h (LINK_SSP_SPEC): Handle
26602 -fstack-protector-{strong,explicit}.
26603
26604 2015-01-22 Jan Hubicka <hubicka@ucw.cz>
26605 H.J. Lu <hongjiu.lu@intel.com>
26606
26607 PR ipa/64694
26608 * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of
26609 heap.
26610
26611 2015-01-22 Wei Mi <wmi@google.com>
26612
26613 PR rtl-optimization/64557
26614 * dse.c (record_store): Call get_addr for mem_addr.
26615 (check_mem_read_rtx): Likewise.
26616
26617 2015-01-22 Eric Botcazou <ebotcazou@adacore.com>
26618
26619 * fold-const.c (const_binop): Add early return for non-tcc_binary.
26620
26621 2015-01-22 Chen Gang <gang.chen.5i5j@gmail.com>
26622
26623 * toplev.c (init_local_tick): Process the failure when read
26624 fails for random_seed.
26625
26626 * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for
26627 'pretty_name' to avoid memory overflow.
26628
26629 2015-01-22 Richard Biener <rguenther@suse.de>
26630
26631 PR middle-end/64728
26632 * tree-ssa-coalesce.c (coalesce_partitions): Do not perform
26633 abnormal coalescing on undefined SSA names.
26634
26635 2015-22-01 Uros Bizjak <ubizjak@gmail.com>
26636
26637 PR target/64688
26638 PR target/64477
26639 * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints
26640 for alternative 3.
26641 (*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1.
26642
26643 2015-01-22 Trevor Saunders <tsaunders@mozilla.com>
26644
26645 PR middle-end/63325
26646 * fold-const.c (fold_checksum_tree): Don't include value of
26647 expr->decl_with_vis.symtab_node in the checksum.
26648
26649 2015-01-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
26650
26651 * config/s390/s390.md (atomic code attribute): Fix typo "ior" -> "or".
26652
26653 2015-01-22 Max Ostapenko <m.ostapenko@partner.samsung.com>
26654
26655 PR driver/64690
26656 * gcc.c (insert_comments): New function.
26657 (try_generate_repro): Call it.
26658 (append_text): Removed.
26659
26660 2015-01-22 Richard Biener <rguenther@suse.de>
26661
26662 * ipa-inline.c (can_inline_edge_p): Disable inlining of edges
26663 with IL incompatible options. Properly honor user optimize
26664 attributes.
26665
26666 2015-01-21 Segher Boessenkool <segher@kernel.crashing.org>
26667
26668 PR rtl-optimization/64682
26669 * combine.c (distribute_notes): When moving a death note for
26670 a register that is set in the new I2, make sure to put it
26671 before that new I2.
26672
26673 2015-01-21 David Edelsohn <dje.gcc@gmail.com>
26674
26675 * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags
26676 not TARGET_DEFAULT.
26677
26678 2015-01-21 Jakub Jelinek <jakub@redhat.com>
26679
26680 PR debug/64511
26681 * simplify-rtx.c (simplify_relational_operation_1): Don't try to
26682 optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0))
26683 into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)).
26684
26685 PR sanitizer/64706
26686 * doc/invoke.texi (-fsanitize=vptr): Document.
26687
26688 PR rtl-optimization/62078
26689 * dse.c: Include cfgcleanup.h.
26690 (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed
26691 anything call purge_all_dead_edges and cleanup_cfg at the end
26692 of the pass.
26693
26694 2015-01-21 Jan Hubicka <hubicka@ucw.cz>
26695
26696 * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect
26697 edges.
26698
26699 2015-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
26700
26701 * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread
26702 decl attribute.
26703
26704 2015-01-21 David Sherwood <david.sherwood@arm.com>
26705 Tejas Belagod <Tejas.Belagod@arm.com>
26706
26707 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed.
26708 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed.
26709 * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class):
26710 Removed.
26711
26712 2015-01-21 David Sherwood <david.sherwood@arm.com>
26713 Tejas Belagod <Tejas.Belagod@arm.com>
26714
26715 * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist)
26716 (aarch64_reverse_mask): New decls.
26717 * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum.
26718 (insn_count): New mode_attr.
26719 * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci)
26720 (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci)
26721 (vec_load_lanesxi): Made ABI compliant for Big Endian targets.
26722 (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3)
26723 (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3)
26724 (aarch64_simd_st4): New patterns.
26725 * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist)
26726 (aarch64_reverse_mask): New functions.
26727
26728 2015-01-21 Richard Sandiford <richard.sandiford@arm.com>
26729
26730 * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy):
26731 Declare.
26732 * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra
26733 addressing modes for BE.
26734 (aarch64_print_operand): Add 'R' specifier.
26735 (aarch64_simd_disambiguate_copy): Delete.
26736 (aarch64_simd_emit_reg_reg_move): New function.
26737 * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move
26738 in define_splits for structural moves.
26739 (mov<mode>): Use less restrictive predicates.
26740 (*aarch64_mov<mode>): Simplify and only allow for LE.
26741 (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New.
26742
26743 2015-01-21 Alan Hayward <alan.hayward@arm.com>
26744
26745 * rtlanal.c (subreg_get_info): Exit early for simple and common cases.
26746
26747 2015-01-21 Richard Henderson <rth@redhat.com>
26748
26749 PR target/64669
26750 * ccmp.c (used_in_cond_stmt_p): Remove.
26751 (expand_ccmp_expr): Don't use it.
26752
26753 2015-01-21 Nick Clifton <nickc@redhat.com>
26754
26755 * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside
26756 PARALLELs.
26757
26758 2015-01-21 Richard Biener <rguenther@suse.de>
26759
26760 PR middle-end/64313
26761 * tree-core.h (builtin_info, builtin_info_type): Turn from
26762 an object with two arrays into an array of an object with
26763 decl and two flags, implicit_p and declared_p.
26764 * tree.h (builtin_decl_explicit, builtin_decl_implicit,
26765 set_builtin_decl, set_builtin_decl_implicit_p,
26766 builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust.
26767 (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions.
26768 * builtins.c (builtin_info): Adjust.
26769 * gimplify.c (gimplify_addr_expr): References to builtins
26770 that have been declared by the user makes them eligible for
26771 use by the compiler. Call set_builtin_decl_implicit_p on them.
26772
26773 2015-01-20 Jeff Law <law@redhat.com>
26774
26775 PR target/59946
26776 * config/m68k/m68k.md (Comparison expanders and patterns): Do not
26777 allow pc-relative addresses in operand predicates or constraints.
26778
26779 2015-01-21 Bin Cheng <bin.cheng@arm.com>
26780
26781 * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer
26782 neon on aarch32 processors for stringops.
26783
26784 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
26785
26786 PR ipa/63576
26787 * ipa-utils.c (ipa_merge_profiles): Merge speculative edges.
26788
26789 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
26790
26791 PR lto/45375
26792 * ipa-inline.c: Include lto-streamer.h
26793 (report_inline_failed_reason): Output source file differences and
26794 flags on optimization/target node mismatch.
26795 (can_inline_edge_p): Consider caller to be the outer inline function;
26796 be less restrictive about matching opimize and optimize_size attributes.
26797 (inline_account_function_p): Break out from ...
26798 (inline_small_functions): ... here.
26799 * ipa-inline-transform.c (clone_inlined_nodes): Use
26800 inline_account_function_p.
26801 (inline_call): Use optimize attribution; use inline_account_function_p.
26802 (inline_transform): Use opt_for_fn.
26803 * ipa-inline.h (inline_account_function_p): Declare.
26804
26805 2015-01-20 Jakub Jelinek <jakub@redhat.com>
26806
26807 PR debug/64663
26808 * dwarf2out.c (decl_piece_node): Don't put bitsize into
26809 mode if bitsize <= 0.
26810 (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
26811 dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
26812 sizes and positions.
26813
26814 2015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
26815
26816 * config/nios2/nios2.c (nios2_asm_file_end): Implement
26817 TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
26818 needed.
26819 (TARGET_ASM_FILE_END): Define.
26820
26821 2015-01-20 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
26822
26823 * config/arm/arm-protos.h (enum arm_sched_autopref): New constants.
26824 (struct tune_params): Use the enum.
26825 * arm.c (arm_*_tune): Update.
26826 (arm_option_override): Update.
26827
26828 2015-01-20 Richard Biener <rguenther@suse.de>
26829
26830 PR ipa/64684
26831 * ipa-reference.c (add_static_var): Inline ...
26832 (analyze_function): ... here after splitting out from ...
26833 (is_proper_for_analysis): ... this.
26834
26835 2015-01-20 Matthew Wahab <matthew.wahab@arm.com>
26836
26837 PR target/64149
26838 * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle.
26839 * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag,
26840 replace the conditional with it's true branch.
26841 * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true.
26842 (arm_lra_p): Remove.
26843
26844 2015-01-20 Eric Botcazou <ebotcazou@adacore.com>
26845
26846 * config/visium/visium.h (LIB_SPEC): Adjust in default case.
26847
26848 2015-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
26849
26850 * config/tilegx/mul-tables.c: Move symtab.h include after
26851 coretypes.h include.
26852 * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h,
26853 vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h,
26854 flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h,
26855 wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h,
26856 explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
26857
26858 2015-01-20 Igor Zamyatin <igor.zamyatin@intel.com>
26859
26860 PR bootstrap/64676
26861 Revert:
26862 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
26863
26864 PR rtl-optimization/64081
26865 * loop-iv.c (def_pred_latch_p): New function.
26866 (latch_dominating_def): Allow specific cases with non-single
26867 definitions.
26868 (iv_get_reaching_def): Likewise.
26869 (check_complex_exit_p): New function.
26870 (check_simple_exit): Use check_complex_exit_p to allow certain cases
26871 with exits not executing on any iteration.
26872
26873 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
26874
26875 PR lto/45375
26876 * i386.c (ix86_option_override_internal): Use ix86_tune_cost
26877 to set branch cost.
26878
26879 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
26880
26881 PR lto/45375
26882 * i386.c (gate): Check flag_expensive_optimizations and
26883 optimize_size.
26884 (ix86_option_override_internal): Drop optimize_size condition
26885 on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
26886 MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
26887 MASK_PREFER_AVX128.
26888 (ix86_avx256_split_vector_move_misalign,
26889 ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
26890 * sse.md (all uses of TARGET_PREFER_AVX128): Add
26891 optimize_insn_for_speed_p check.
26892
26893 2015-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
26894
26895 * config/mips/mips.h (FP_ASM_SPEC): New define.
26896 (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
26897 instead.
26898
26899 2015-01-19 Oleg Endo <olegendo@gcc.gnu.org>
26900
26901 PR target/53988
26902 * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
26903 nullptr for insn when reaching the first insn.
26904 * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
26905 (sh_insn_operands_modified_between_p): Add nullptr check.
26906 (sh_find_extending_set_of_reg): Fix log message. Don't accept
26907 sign extending mem load if the insn contains any UNSPEC or
26908 UNSPEC_VOLATILE.
26909
26910 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
26911
26912 * params.def (inline-unit-growth): Drop to 15%.
26913 * invoke.texi (inline-unit-growth): Document change.
26914
26915 2015-01-19 Martin Liska <mliska@suse.cz>
26916
26917 PR ipa/64668
26918 * ipa-icf-gimple.c (func_checker::compare_operand): Call proper
26919 function for second argument of OBJ_TYPE_REF.
26920
26921 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
26922
26923 PR ipa/64218
26924 * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
26925 whether function is an alias.
26926
26927 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
26928
26929 * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless
26930 cases.
26931
26932 2015-01-19 Vladimir Makarov <vmakarov@redhat.com>
26933
26934 PR rtl-optimization/64671
26935 * lra-remat.c (operand_to_remat): Don't consider jump and call
26936 insns.
26937
26938 2015-01-19 David Edelsohn <dje.gcc@gmail.com>
26939
26940 PR target/59828
26941 * config/rs6000/default64.h: Include rs6000-cpus.def.
26942 (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
26943 (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
26944 * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
26945 and POWER8.
26946 * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
26947 POWER8.
26948 * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
26949 pseudo-op to specify assembler dialect.
26950
26951 2015-01-19 Martin Liska <mliska@suse.cz>
26952
26953 PR ipa/64664
26954 * ipa-icf.c (sem_item_optimizer::filter_removed_items):
26955 Handle safe potentially removed nodes during filtering.
26956
26957 2015-01-19 Martin Liska <mliska@suse.cz>
26958
26959 * doc/extend.texi (no_icf): Add new attribute description.
26960 * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
26961 where the pass attempts to merge a function with no_icf attribute.
26962
26963 2015-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
26964
26965 PR target/64532
26966 * doc/md.texi (ARM Options): Document register constraints.
26967
26968 2015-01-19 Jiong Wang <jiong.wang@arm.com>
26969 Andrew Pinski <apinski@cavium.com>
26970
26971 PR target/64304
26972 * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
26973 (ashl<mode>3): Don't expand if operands[2] is not constant.
26974
26975 2015-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
26976
26977 PR target/64448
26978 * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
26979 Match xor-and-xor RTL pattern.
26980
26981 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
26982
26983 PR rtl-optimization/64081
26984 * loop-iv.c (def_pred_latch_p): New function.
26985 (latch_dominating_def): Allow specific cases with non-single
26986 definitions.
26987 (iv_get_reaching_def): Likewise.
26988 (check_complex_exit_p): New function.
26989 (check_simple_exit): Use check_complex_exit_p to allow certain cases
26990 with exits not executing on any iteration.
26991
26992 2015-01-19 Jakub Jelinek <jakub@redhat.com>
26993
26994 * common.opt (fgraphite): Fix a typo.
26995
26996 2015-01-19 Felix Yang <felix.yang@huawei.com>
26997
26998 * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New
26999 pattern.
27000 * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp,
27001 uminp, smax_nanp, smin_nanp): New builtins.
27002 * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32,
27003 vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32,
27004 vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64,
27005 vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64,
27006 vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8,
27007 vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8,
27008 vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64,
27009 vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64,
27010 vpminnms_f32): Rewrite using builtin functions.
27011
27012 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
27013
27014 PR libgomp/64625
27015 * omp-low.c (offload_symbol_decl): Remove variable.
27016 (get_offload_symbol_decl): Remove function.
27017 (expand_omp_target): For BUILT_IN_GOMP_TARGET,
27018 BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
27019 instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
27020 BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
27021 BUILT_IN_GOACC_UPDATE don't pass it at all.
27022
27023 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
27024
27025 * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
27026 callers.
27027
27028 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
27029
27030 * ipa-chkp.c (chkp_produce_thunks): Add early param
27031 to split thunks production into two passes. Keep
27032 'always_inline' function bodies after the first pass.
27033 (pass_data_ipa_chkp_early_produce_thunks): New.
27034 (pass_ipa_chkp_early_produce_thunks): New.
27035 (pass_ipa_chkp_produce_thunks::execute): Adjust to new
27036 chkp_produce_thunks signature.
27037 (make_pass_ipa_chkp_early_produce_thunks): New.
27038 * passes.def (pass_ipa_chkp_early_produce_thunks): New.
27039 (pass_ipa_chkp_produce_thunks): Move after local optimizations.
27040 * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.
27041
27042 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
27043
27044 * cgraph.c (cgraph_node::dump): Dump profile flags.
27045
27046 2015-01-18 Oleg Endo <olegendo@gcc.gnu.org>
27047
27048 PR target/64652
27049 * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address
27050 reg appear first in the parallel.
27051
27052 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
27053
27054 * ipa-reference.c (set_reference_optimization_summary,
27055 ipa_reference_get_not_written_global): Do nothing if ipa-reference is
27056 disabled.
27057 (ignore_module_statics): New static var.
27058 (propagate_bits): If ipa-reference is disabled, do not look into local
27059 properties.
27060 (analyze_function): Disable analysis when ipa_reference is disabled.
27061 (generate_summary): Do not dump when reference is disabled;
27062 collect vars accessed from functions with ipa-reference disabled.
27063 (get_read_write_all_from_node): When ipa-reference is disabled, use the
27064 node flags.
27065 (gate): Enable for LTO.
27066 (ignore_edge_p): New function.
27067 (propagate): Skip functions w/o ipa-reference analysis.
27068 * optc-save-gen.awk: Handle optimize_debug correctly.
27069 * opth-gen.awk: Likewise.
27070 * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse,
27071 fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region,
27072 fira-share-save-slots, fira-share-spill-slots,
27073 fmodulo-sched-allow-regmoves, fpartial-inlining,
27074 sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow,
27075 ftracer, ftree-parallelize-loops, fassociative-math,
27076 freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as
27077 Optimization
27078 (fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
27079 ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
27080 Optimization.
27081 * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
27082 Fix for IPA.
27083
27084 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
27085
27086 PR ipa/64378
27087 * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
27088 flag correctly.
27089 * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
27090
27091 2015-01-18 Sandra Loosemore <sandra@codesourcery.com>
27092
27093 * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
27094 Remove duplicate option listings.
27095
27096 2015-01-18 Felix Yang <felix.yang@huawei.com>
27097
27098 * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
27099 (autofdo_source_profile::get_callsite_total_count,
27100 function_instance::get_function_instance_by_decl,
27101 string_table::get_index, string_table::get_index_by_decl,
27102 afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
27103 Fix comment typos. Reformatting and minor code rearrangement.
27104
27105 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
27106
27107 * config/rs6000/rs6000.md (probe_stack): Delete.
27108 (probe_stack_address): New.
27109
27110 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
27111
27112 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
27113 to test for 32-bit ABIs, not !TARGET_POWERPC64.
27114
27115 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
27116
27117 * config/rs6000/rs6000.c (rs6000_parallel_return): New function.
27118 (rs6000_function_value): Use it. Handle SCmode and TCmode as well,
27119 for TARGET_32BIT && TARGET_POWERPC64. Fix another BITS_PER_WORD
27120 snafu.
27121 (rs6000_libcall_value): Use the new function.
27122
27123 2015-01-17 Sandra Loosemore <sandra@codesourcery.com>
27124
27125 * doc/invoke.texi ([-ftracer]): Remove duplicate option listing.
27126
27127 2015-01-17 Eric Botcazou <ebotcazou@adacore.com>
27128
27129 * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
27130 implement a more precise life analysis for it during backward scan.
27131
27132 2015-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
27133
27134 * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
27135
27136 2015-01-17 Bernd Schmidt <bernds@codesourcery.com>
27137
27138 PR rtl-optimization/52773
27139 * calls.c (emit_library_call_value): When pushing arguments use
27140 stack_pointer_rtx rather than virtual_outgoing_args_rtx in
27141 CALL_INSN_FUNCTION_USAGE. Only emit one of use of the magic
27142 stack pointer reference into CALL_INSN_FUNCTION_USAGE.
27143
27144 2015-01-17 Jeff Law <law@redhat.com>
27145
27146 PR rtl-optimization/32790
27147 * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
27148 not ZERO_EXTEND in SET_DESTs.
27149
27150 2015-01-17 Alan Modra <amodra@gmail.com>
27151
27152 * cprop.c (do_local_cprop): Revert last change.
27153
27154 2015-01-16 DJ Delorie <dj@redhat.com>
27155 Nick Clifton <nickc@redhat.com>
27156
27157 * config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
27158 (addhi3_real): Likewise. Fix [HL+0] syntax.
27159 (subqi3_real): Likewise.
27160 (subhi3_real): Likewise.
27161 (cbranchqi4_real): Likewise. Allow saddr,#imm.
27162 (cbranchhi4_real): Likewise.
27163 (cbranchhi4_real_inverted): Likewise.
27164 (cbranchsi4_real_lt): Likewise.
27165 (cbranchsi4_real_ge): Likewise.
27166 (cbranchsi4_real_ge): Likewise.
27167 * config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
27168 (sub<mode>3_virt): Likewise.
27169 (cbranchqi4_virt): Likewise.
27170 (cbranchhi4_virt): Likewise.
27171 * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
27172 always use '[reg+imm]' even when imm is zero.
27173 * config/rl78/predicates.md (rl78_volatile_memory_operand): New.
27174 (rl78_general_operand): New.
27175 (rl78_nonimmediate_operand): New.
27176 (rl78_nonfar_operand): Use them.
27177 (rl78_nonfar_nonimm_operand): Likewise.
27178 (rl78_stack_based_mem): Fix.
27179 * config/rl78/constraints.md (Ibqi): New.
27180 (IBqi): New.
27181 (Wsa): New.
27182 (Wsf): New.
27183 (Cs1): Fix.
27184 * config/rl78/rl78-expand.md (andqi3): Accept volatiles.
27185 (iorqi3): Likewise.
27186 (xorqi3): Likewise.
27187 * config/rl78/rl78-protos.h (rl78_sfr_p): New.
27188
27189 * config/rl78/constrains (Qs8): New constraint.
27190 * config/rl78/rl78.c (rl78_flags_already_set): New function.
27191 * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
27192 * config/rl78/rl78-real.md (update_Z): New attribute.
27193 Update patterns to set it.
27194 (cbranchqi4_real): Call rl78_flags_already_set() to determine if a
27195 shorter compare and branch sequence can be used.
27196 (cbranchhi4_real): Likewise.
27197 (cbranchhi4_real_inverted): Likewise.
27198
27199 * config/rl78/predicates.md (uword_operand): Allow symbol_refs.
27200 * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
27201 address space.
27202 * config/rl78/rl78.c (rl78_get_name_encoding): New.
27203 (rl78_option_override): Allow -mes0 only if C.
27204 (characterize_address): Support subregs of symbol_refs.
27205 (rl78_addr_space_address_mode): Move. Add __near.
27206 (rl78_far_p): Likewise.
27207 (rl78_addr_space_pointer_mode): Likewise.
27208 (rl78_as_legitimate_address): Likewise.
27209 (rl78_addr_space_subset_p): Likewise.
27210 (rl78_addr_space_convert): Likewise.
27211 (rl78_print_operand_1): Support 16-bit addressing of 32-bit
27212 symbols with -mes0.
27213 (transcode_memory_rtx): Don't copy ES if -mes0. Allow symbol[BC]
27214 addressing.
27215 (rl78_alloc_physical_registers_op1): Change logic to prefer
27216 symbol[BC] addressing.
27217 (frodata_section): New.
27218 (rl78_asm_init_sections): Initialize it.
27219 (rl78_select_section): Put __far readonly symbols in .frodata.
27220 (rl78_make_type_far): New.
27221 (rl78_insert_attributes): Force all readonly symbols to be
27222 __far when -mes0.
27223 (rl78_asm_out_integer): New.
27224 * config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
27225 * config/rl78/rl78.opt (-mes0): New.
27226
27227 * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
27228 (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
27229 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
27230 * config/rl78/rl78-protos.h (rl78_output_labelref): New.
27231 (rl78_saddr_p): New.
27232 (rl78_output_aligned_common): New.
27233 * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
27234 (rl78_handle_saddr_attribute): New.
27235 (rl78_handle_naked_attribute): New.
27236 (rl78_attribute_table): Add saddr.
27237 (rl78_print_operand_1): Don't print '!' on saddr operands.
27238 (rl78_print_operand_1): Strip encodings.
27239 (rl78_sfr_p): New.
27240 (rl78_strip_name_encoding): New.
27241 (rl78_attrlist_to_encoding): New.
27242 (rl78_encode_section_info): New.
27243 (rl78_asm_init_sections): New.
27244 (rl78_select_section): New.
27245 (rl78_output_labelref): New.
27246 (rl78_output_aligned_common): New.
27247 (rl78_asm_out_integer): New.
27248 (rl78_asm_ctor_dtor): New.
27249 (rl78_asm_constructor): New.
27250 (rl78_asm_destructor): New.
27251
27252 * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
27253 * config/rl78/rl78.c (rl78_expand_epilogue): Update.
27254 (transcode_memory_rtx): Update.
27255 (rl78_expand_epilogue): Use A_REG instead of 0.
27256
27257 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
27258
27259 * config/arm/arm-protos.h (struct tune_params): New field
27260 sched_autopref_queue_depth.
27261 * config/arm/arm.c (sched-int.h): Include header.
27262 (arm_first_cycle_multipass_dfa_lookahead_guard,)
27263 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
27264 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
27265 (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
27266 (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
27267 (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
27268 (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
27269 (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
27270 Specify sched_autopref_queue_depth value. Enabled for A15 and A57.
27271 * config/arm/t-arm (arm.o): Update.
27272 * haifa-sched.c (update_insn_after_change): Update.
27273 (rank_for_schedule): Use auto-prefetcher model, if requested.
27274 (autopref_multipass_init): New static function.
27275 (autopref_rank_for_schedule): New rank_for_schedule heuristic.
27276 (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
27277 variable for debug dumps.
27278 (autopref_multipass_dfa_lookahead_guard_1): New static helper function.
27279 (autopref_multipass_dfa_lookahead_guard): New global function that
27280 implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
27281 (init_h_i_d): Update.
27282 * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
27283 * sched-int.h (enum autopref_multipass_data_status): New const enum.
27284 (autopref_multipass_data_): Structure for auto-prefetcher data.
27285 (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
27286 (struct _haifa_insn_data:autopref_multipass_data): New field.
27287 (INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
27288 (autopref_multipass_dfa_lookahead_guard): Declare.
27289
27290 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
27291
27292 * rtlanal.c (get_base_term): Handle SCRATCH.
27293
27294 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
27295
27296 * config/aarch64/aarch64.c
27297 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
27298 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
27299 * config/arm/arm.c
27300 (arm_first_cycle_multipass_dfa_lookahead): Implement hook.
27301 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
27302
27303 2015-01-17 Alan Modra <amodra@gmail.com>
27304
27305 * cprop.c (do_local_cprop): Disallow replacement of fixed
27306 hard registers.
27307
27308 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
27309
27310 PR target/62066
27311 * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before
27312 early return 0.
27313
27314 2015-01-16 Bernd Edlinger <bernd.edlinger@hotmail.de>
27315
27316 * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
27317 * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update.
27318
27319 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
27320
27321 * config/arm/arm.md: Move comment about splitting Thumb1 patterns to...
27322 * config/arm/thumb1.md: ... Here.
27323
27324 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
27325
27326 * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
27327 TImode for TARGET_32BIT.
27328
27329 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
27330
27331 * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
27332 TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
27333 as ...
27334 (rs6000_abi_word_mode): New function.
27335
27336 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
27337
27338 * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD
27339 instead of UNITS_PER_WORD to describe the size of stack slots.
27340
27341 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
27342
27343 * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
27344 as rs6000_promote_function_mode. Move comment to there.
27345 (rs6000_promote_function_mode): New function.
27346
27347 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
27348
27349 * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32
27350 -mpowerpc64 is active.
27351
27352 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
27353
27354 PR middle-end/64353
27355 * tree-cfg.c (pass_data_fixup_cfg): Update SSA for
27356 virtuals on start.
27357
27358 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
27359
27360 * config/arm/cortex-a57.md: Remove duplicate of file accidentally
27361 introduced in revision 219724.
27362
27363 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
27364 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
27365
27366 PR target/64263
27367 * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the
27368 destination is not a GP reg.
27369 (*movdi_aarch64): Likewise.
27370
27371 2015-01-16 David Edelsohn <dje.gcc@gmail.com>
27372
27373 PR target/64623
27374 * config/rs6000/default64.h: Revert ISA change.
27375
27376 2015-01-16 Richard Biener <rguenther@suse.de>
27377
27378 PR middle-end/64614
27379 * tree-ssa-uninit.c: Include tree-cfg.h.
27380 (MAX_SWITCH_CASES): New define.
27381 (convert_control_dep_chain_into_preds): Handle switch statements.
27382 (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
27383 (normalize_one_pred_1): Do not split bit-manipulations.
27384 Record (x & CST).
27385
27386 2015-01-16 Richard Biener <rguenther@suse.de>
27387
27388 PR tree-optimization/64568
27389 * tree-ssa-forwprop.c (pass_forwprop::execute): Guard
27390 complex load rewriting for TARGET_MEM_REFs.
27391
27392 2015-01-16 Uros Bizjak <ubizjak@gmail.com>
27393
27394 * builtins.c (expand_builtin_acc_on_device): Check target for NULL.
27395
27396 2015-01-16 Matthew Wahab <matthew.wahab@arm.com>
27397
27398 PR target/64149
27399 * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
27400 variable.
27401 * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true.
27402 (aarch64_lra_p): Remove.
27403
27404 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
27405
27406 PR target/64363
27407 * ipa-chkp.h (chkp_instrumentable_p): New.
27408 * ipa-chkp.c: Include tree-inline.h.
27409 (chkp_instrumentable_p): New.
27410 (chkp_maybe_create_clone): Use chkp_instrumentable_p.
27411 Fix processing of not instrumentable functions.
27412 (chkp_versioning): Use chkp_instrumentable_p. Warn about
27413 not instrumentable functions.
27414 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
27415 chkp_instrumentable_p.
27416 * tree-inline.h (copy_forbidden): New.
27417 * tree-inline.c (copy_forbidden): Not static anymore.
27418
27419 2015-01-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
27420
27421 * optc-save-gen.awk (cl_target_option_print_diff): Mark indent,
27422 ptr1, ptr2 unused.
27423
27424 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
27425
27426 * lra-constraints.c (curr_insn_transform): Change a reload pseudo of
27427 type OP_OUT to OP_INOUT.
27428
27429 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
27430
27431 * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
27432 (high x) y) to y if x and y have the same base.
27433
27434 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
27435
27436 * config/arm/cortex-a57.md: New.
27437 * config/aarch64/aarch64.md: Include it.
27438 * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.
27439 * config/aarch64/aarch64-tune.md: Regenerate.
27440
27441 2015-01-16 Zhenqiang Chen <zhenqiang.chen@arm.com>
27442
27443 PR target/64015
27444 * ccmp.c (expand_ccmp_next): New function.
27445 (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence
27446 and compare insn sequence.
27447 * config/aarch64/aarch64.c (aarch64_code_to_ccmode,
27448 aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions.
27449 (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO.
27450 * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>.
27451 (*ccmp_ior): Changed to ccmp_ior<mode>.
27452 (cmp<mode>): New pattern.
27453 * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update
27454 parameters.
27455 * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters.
27456
27457 2015-01-16 Ilya Tocar <ilya.tocar@intel.com>
27458
27459 * config/i386/avx2intrin.h (_mm256_bslli_epi128,
27460 _mm256_bsrli_epi128): New.
27461 * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
27462
27463 2015-01-15 Jiong Wang <jiong.wang@arm.com>
27464
27465 * expmed.c (store_bit_field_using_insv): Improve warning message.
27466 Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.
27467
27468 2015-01-15 Jiong Wang <jiong.wang@arm.com>
27469
27470 PR rtl-optimization/64011
27471 * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
27472 there is partial overflow.
27473
27474 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
27475
27476 * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change
27477 prototype.
27478 (nds32_expand_epilogue_v3pop): Likewise.
27479 * config/nds32/nds32.md (sibcall): Define this for sibling call
27480 optimization.
27481 (sibcall_register): Likewise.
27482 (sibcall_immediate): Likewise.
27483 (sibcall_value): Likewise.
27484 (sibcall_value_register): Likewise.
27485 (sibcall_value_immediate): Likewise.
27486 (sibcall_epilogue): Likewise.
27487 (epilogue): Pass false to indicate this is not a sibcall epilogue.
27488 * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case.
27489 (nds32_expand_epilogue_v3pop): Likewise.
27490
27491 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
27492
27493 * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New.
27494 * config/nds32/nds32.md (unspec_volatile_func_return): Remove.
27495 (return_internal): New.
27496 (return): Define this named pattern.
27497 (simple_return): Define this named pattern.
27498 * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal
27499 pattern instead of unspec_volatile_func_return.
27500 (nds32_expand_epilogue_v3pop): Likewise.
27501 (nds32_can_use_return_insn): New function.
27502
27503 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
27504
27505 * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New.
27506 * config/nds32/nds32.md (pop25return): New.
27507 * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit
27508 pop25return pattern.
27509
27510 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
27511
27512 * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp,
27513 -mforbid-fp-as-gp, and -mex9 options.
27514
27515 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
27516
27517 * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and
27518 remove -mgp-direct option.
27519
27520 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
27521
27522 * doc/invoke.texi (--param early-inlining-insns): Update default value.
27523 * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.
27524
27525 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
27526
27527 * ipa-inline.c (inline_small_functions): Work around hints
27528 cache issue.
27529
27530 2015-01-15 Sandra Loosemore <sandra@codesourcery.com>
27531
27532 PR target/59710
27533 * doc/invoke.texi (Option Summary): Document new Nios II
27534 -mgpopt= syntax.
27535 (Nios II Options): Likewise.
27536 * config/nios2/nios2.opt: Add -mgpopt= option support.
27537 Modify existing -mgpopt and -mno-gpopt options to be aliases.
27538 * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New.
27539 * config/nios2/nios2.c (nios2_option_override): Adjust
27540 -mgpopt defaulting.
27541 (nios2_in_small_data_p): Return true for explicit small data
27542 sections even with -G0.
27543 (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt=
27544 option choices.
27545
27546 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
27547
27548 PR ipa/64612
27549 * ipa-inline-transform.c (can_remove_node_now_p): Fix handling
27550 of comdat locals.
27551 (inline_call): Fix removal of aliases.
27552
27553 2015-01-15 Jakub Jelinek <jakub@redhat.com>
27554
27555 * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR,
27556 include SANITIZE_VPTR in SANITIZE_UNDEFINED.
27557 * opts.c (common_handle_option): Add -fsanitize=vptr.
27558 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS,
27559 BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New.
27560 * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER,
27561 UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE.
27562 (ubsan_expand_vptr_ifn): New prototype.
27563 * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE,
27564 expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL,
27565 expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK,
27566 expand_LOOP_VECTORIZED): Make argument nameless, remove
27567 ATTRIBUTE_UNUSED.
27568 (expand_UBSAN_VPTR): New function.
27569 * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W
27570 in fn spec.
27571 (UBSAN_VPTR): New internal function.
27572 * sanopt.c (tree_map_traits): Renamed to ...
27573 (sanopt_tree_map_traits): ... this.
27574 (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes.
27575 (sanopt_ctx): Adjust asan_check_map type for tree_map_traits
27576 to sanopt_tree_map_traits renaming. Add vptr_check_map field.
27577 (maybe_optimize_ubsan_vptr_ifn): New function.
27578 (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR.
27579 (pass_sanopt::execute): Likewise. Call sanopt_optimize even for
27580 -fsanitize=vptr.
27581 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain
27582 internal calls like pure functions for aliasing, even when they
27583 have other side-effects that prevent making them ECF_PURE.
27584 * ubsan.c (ubsan_vptr_type_cache_decl): New variable.
27585 (ubsan_expand_vptr_ifn): New function.
27586
27587 2015-01-15 Vladimir Makarov <vmakarov@redhat.com>
27588
27589 PR rtl-optimization/64110
27590 * stmt.c (parse_output_constraint): Process '^' and '$'.
27591 (parse_input_constraint): Ditto.
27592 * lra-constraints.c (process_alt_operands): Process the new
27593 constraints.
27594 * ira-costs.c (record_reg_classes): Process the new constraint
27595 '^'.
27596 * genoutput.c (indep_constraints): Add '^' and '$'.
27597 * config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'.
27598 * doc/md.texi: Add description of the new constraints.
27599
27600 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
27601 Bernd Schmidt <bernds@codesourcery.com>
27602 Cesar Philippidis <cesar@codesourcery.com>
27603 James Norris <jnorris@codesourcery.com>
27604 Tom de Vries <tom@codesourcery.com>
27605 Ilmir Usmanov <i.usmanov@samsung.com>
27606 Dmitry Bocharnikov <dmitry.b@samsung.com>
27607 Evgeny Gavrin <e.gavrin@samsung.com>
27608 Jakub Jelinek <jakub@redhat.com>
27609
27610 * builtin-types.def (BT_FN_VOID_INT_INT_VAR)
27611 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
27612 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
27613 New function types.
27614 * builtins.c: Include "gomp-constants.h".
27615 (expand_builtin_acc_on_device): New function.
27616 (expand_builtin, is_inexpensive_builtin): Handle
27617 BUILT_IN_ACC_ON_DEVICE.
27618 * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER):
27619 New macros.
27620 * cgraph.c (cgraph_node::create): Consider flag_openacc next to
27621 flag_openmp.
27622 * config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h.
27623 <*-intelmic-* | *-intelmicemul-*> (tm_file): Add
27624 i386/intelmic-offload.h.
27625 * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link
27626 to libgomp and its dependencies.
27627 * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise.
27628 * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
27629 * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
27630 * config/ia64/hpux.h (LIB_SPEC): Likewise.
27631 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
27632 * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
27633 * doc/generic.texi: Update for OpenACC changes.
27634 * doc/gimple.texi: Likewise.
27635 * doc/invoke.texi: Likewise.
27636 * doc/sourcebuild.texi: Likewise.
27637 * gimple-pretty-print.c (dump_gimple_omp_for): Handle
27638 GF_OMP_FOR_KIND_OACC_LOOP.
27639 (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS,
27640 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA,
27641 GF_OMP_TARGET_KIND_OACC_UPDATE,
27642 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
27643 Dump more data.
27644 * gimple.c: Update comments for OpenACC changes.
27645 * gimple.def: Likewise.
27646 * gimple.h: Likewise.
27647 (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP,
27648 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
27649 GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE,
27650 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
27651 (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the
27652 appropriate place.
27653 (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions.
27654 * gimplify.c: Include "gomp-constants.h".
27655 Update comments for OpenACC changes.
27656 (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA,
27657 OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA,
27658 OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
27659 (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
27660 OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
27661 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
27662 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
27663 OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
27664 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
27665 OMP_CLAUSE_SEQ.
27666 (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use
27667 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
27668 OMP_CLAUSE_SET_MAP_KIND.
27669 (gimplify_oacc_cache): New function.
27670 (gimplify_omp_for): Handle OACC_LOOP.
27671 (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL,
27672 OACC_DATA.
27673 (gimplify_omp_target_update): Handle OACC_ENTER_DATA,
27674 OACC_EXIT_DATA, OACC_UPDATE.
27675 (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA,
27676 OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA,
27677 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE.
27678 (gimplify_body): Consider flag_openacc next to flag_openmp.
27679 * lto-streamer-out.c: Include "gomp-constants.h".
27680 * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE)
27681 (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END)
27682 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL)
27683 (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT)
27684 (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS)
27685 (BUILT_IN_ACC_ON_DEVICE): New builtins.
27686 * omp-low.c: Include "gomp-constants.h".
27687 Update comments for OpenACC changes.
27688 (struct omp_context): Add reduction_map, gwv_below, gwv_this
27689 members.
27690 (extract_omp_for_data, use_pointer_for_field, install_var_field)
27691 (new_omp_context, delete_omp_context, scan_sharing_clauses)
27692 (create_omp_child_function, scan_omp_for, scan_omp_target)
27693 (check_omp_nesting_restrictions, lower_reduction_clauses)
27694 (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges):
27695 Update for OpenACC changes.
27696 (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS:
27697 OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH,
27698 OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG,
27699 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
27700 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT,
27701 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of
27702 OMP_CLAUSE_MAP_*.
27703 (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
27704 Handle GF_OMP_FOR_KIND_OACC_LOOP.
27705 (expand_omp_target, lower_omp_target): Handle
27706 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
27707 GF_OMP_TARGET_KIND_OACC_UPDATE,
27708 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA,
27709 GF_OMP_TARGET_KIND_OACC_DATA.
27710 (pass_expand_omp::execute, execute_lower_omp)
27711 (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to
27712 flag_openmp.
27713 (offload_symbol_decl): New variable.
27714 (oacc_get_reduction_array_id, oacc_max_threads)
27715 (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction)
27716 (maybe_lookup_oacc_reduction, enclosing_target_ctx)
27717 (oacc_loop_or_target_p, oacc_lower_reduction_var_helper)
27718 (oacc_gimple_assign, oacc_initialize_reduction_data)
27719 (oacc_finalize_reduction_data, oacc_process_reduction_data): New
27720 functions.
27721 (is_targetreg_ctx): Remove function.
27722 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_,
27723 OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE,
27724 OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
27725 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
27726 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS,
27727 OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH.
27728 * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly.
27729 * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR)
27730 (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR)
27731 (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR)
27732 (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR)
27733 (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros.
27734 * tree-core.h: Update comments for OpenACC changes.
27735 (enum omp_clause_map_kind): Remove.
27736 (struct tree_omp_clause): Change type of map_kind member from enum
27737 omp_clause_map_kind to unsigned char.
27738 * tree-inline.c: Update comments for OpenACC changes.
27739 * tree-nested.c: Likewise. Include "gomp-constants.h".
27740 (convert_nonlocal_reference_stmt, convert_local_reference_stmt)
27741 (convert_tramp_reference_stmt, convert_gimple_call): Update for
27742 OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
27743 OMP_CLAUSE_SET_MAP_KIND.
27744 * tree-pretty-print.c: Include "gomp-constants.h".
27745 (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT,
27746 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG,
27747 OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ,
27748 OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR,
27749 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
27750 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_*
27751 instead of OMP_CLAUSE_MAP_*.
27752 (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS,
27753 OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE,
27754 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
27755 * tree-streamer-in.c: Include "gomp-constants.h".
27756 (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of
27757 OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
27758 * tree-streamer-out.c: Include "gomp-constants.h".
27759 (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of
27760 OMP_CLAUSE_MAP_*.
27761 * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA)
27762 (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE)
27763 (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes.
27764 * tree.c (omp_clause_num_ops): Update accordingly.
27765 * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE):
27766 Likewise.
27767 (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY)
27768 (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES)
27769 (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES)
27770 (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES)
27771 (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES)
27772 (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros.
27773 * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind.
27774 (OMP_CLAUSE_SET_MAP_KIND): New macro.
27775 * varpool.c (varpool_node::get_create): Consider flag_openacc next
27776 to flag_openmp.
27777 * config/i386/intelmic-offload.h: New file.
27778 * config/nvptx/offload.h: Likewise.
27779
27780 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
27781
27782 * explow.h: Remove duplicate contents.
27783 * dojump.h: Likewise.
27784
27785 2015-01-15 Richard Earnshaw <rearnsha@arm.com>
27786
27787 * arm.c (arm_xgene_tune): Add default initializer for instruction
27788 fusion.
27789
27790 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
27791
27792 PR ipa/64068
27793 PR ipa/64559
27794 * ipa.c (symbol_table::remove_unreachable_nodes):
27795 Do not put abstract origins into boundary.
27796
27797 2015-01-15 Evgeny Stupachenko <evstupac@gmail.com>
27798
27799 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage.
27800 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto.
27801
27802 2015-01-15 Steve Ellcey <sellcey@mips.com>
27803
27804 * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h,
27805 cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h,
27806 builtins.def, and chkp-builtins.def.
27807
27808 2015-01-15 David Edelsohn <dje.gcc@gmail.com>
27809
27810 * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use
27811 ISA 2.7 (POWER8).
27812
27813 2015-01-15 Richard Biener <rguenther@suse.de>
27814
27815 PR tree-optimization/61743
27816 * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range
27817 information on PHIs for some simple cases.
27818
27819 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
27820
27821 * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list.
27822 Include xgene1.md.
27823 * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1.
27824 * config/arm/arm-cores.def (xgene1): New entry.
27825 * config/arm/arm-tables.opt: Regenerate.
27826 * config/arm/arm-tune.md: Regenerate.
27827 * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1.
27828
27829 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
27830
27831 * tree-if-conv.c: Include hash-map.h.
27832 (aggressive_if_conv): New variable.
27833 (fold_build_cond_expr): Add simplification of non-zero condition.
27834 (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge
27835 destination block is not always executed.
27836 (if_convertible_phi_p): Fix commentary, allow phi nodes have more
27837 than two predecessors if AGGRESSIVE_IF_CONV is true.
27838 (if_convertible_stmt_p): Fix commentary.
27839 (all_preds_critical_p): New function.
27840 (has_pred_critical_p): New function.
27841 (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true
27842 BB can have more than two predecessors and all incoming edges can be
27843 critical.
27844 (predicate_bbs): Skip predication for loop exit block, use build2_loc
27845 to compute predicate for true edge.
27846 (find_phi_replacement_condition): Delete this function.
27847 (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED.
27848 Allow interchange PHI arguments if EXTENDED is false.
27849 Change check that block containing reduction statement candidate
27850 is predecessor of phi-block since phi may have more than two arguments.
27851 (phi_args_hash_traits): New helper structure.
27852 (struct phi_args_hash_traits): New type.
27853 (phi_args_hash_traits::hash): New function.
27854 (phi_args_hash_traits::equal_keys): New function.
27855 (gen_phi_arg_condition): New function.
27856 (predicate_scalar_phi): Add handling of phi nodes with more than two
27857 arguments, delete COND and TRUE_BB arguments, insert body of
27858 find_phi_replacement_condition to predicate ordinary phi nodes.
27859 (predicate_all_scalar_phis): Skip blocks with the only predecessor,
27860 delete call of find_phi_replacement_condition and invoke
27861 predicate_scalar_phi with two arguments.
27862 (insert_gimplified_predicates): Add assert that non-predicated block
27863 don't have statements to insert.
27864 (ifcvt_split_critical_edges): New function.
27865 (ifcvt_split_def_stmt): Likewise.
27866 (ifcvt_walk_pattern_tree): Likewise.
27867 (stmt_is_root_of_bool_pattern): Likewise.
27868 (ifcvt_repair_bool_pattern): Likewise.
27869 (ifcvt_local_dce): Likewise.
27870 (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which
27871 is copy of inner or outer loop force_vectorize field, invoke
27872 ifcvt_split_critical_edges, ifcvt_local_dce and
27873 ifcvt_repair_bool_pattern for aggressive if-conversion.
27874
27875 2015-01-15 Philipp Tomsich <ptomsich@theobroma-systems.com>
27876
27877 * config/aarch64/aarch64.md: Include xgene1.md.
27878 * config/aarch64/xgene1.md: New file.
27879
27880 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
27881
27882 * config/aarch64/aarch64-cores.def (xgene1): Update/add the
27883 xgene1 (APM XGene-1) core definition.
27884 * gcc/config/aarch64/aarch64.c: Add cost tables for APM XGene-1
27885 * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1
27886 * doc/invoke.texi: Document -mcpu=xgene1.
27887
27888 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
27889
27890 * dojump.h: New header file.
27891 * explow.h: Likewise.
27892 * expr.h: Remove includes.
27893 Move expmed.c prototypes to expmed.h.
27894 Move dojump.c prototypes to dojump.h.
27895 Move alias.c prototypes to alias.h.
27896 Move explow.c prototypes to explow.h.
27897 Move calls.c prototypes to calls.h.
27898 Move emit-rtl.c prototypes to emit-rtl.h.
27899 Move varasm.c prototypes to varasm.h.
27900 Move stmt.c prototypes to stmt.h.
27901 (saved_pending_stack_adjust): Move to dojump.h.
27902 (adjust_address): Move to explow.h.
27903 (adjust_address_nv): Move to emit-rtl.h.
27904 (adjust_bitfield_address): Likewise.
27905 (adjust_bitfield_address_size): Likewise.
27906 (adjust_bitfield_address_nv): Likewise.
27907 (adjust_automodify_address_nv): Likewise.
27908 * explow.c (expr_size): Move to expr.c.
27909 (int_expr_size): Likewise.
27910 (tree_expr_size): Likewise.
27911 Include calls.h dojump.h emit-rtl.h explow.h expmed.h
27912 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
27913 * genemit.c (main): Generate includes statistics.h, real.h,
27914 fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
27915 stmt.h.
27916 * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h,
27917 function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h,
27918 explow.h, emit-rtl.h, stmt.h.
27919 * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
27920 fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
27921 * genemit.c (open_base_files): Generate includes flags.h, statistics.h,
27922 real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h,
27923 emit-rtl.h, varasm.h, stmt.h.
27924 * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h,
27925 hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h,
27926 function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h,
27927 fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h,
27928 expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
27929 * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
27930 double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
27931 function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
27932 insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
27933 tm.h tree.h varasm.h vec.h wide-int.h.
27934 * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
27935 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
27936 hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
27937 real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
27938 * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h
27939 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h
27940 insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
27941 * loop-iv.c: Likewise.
27942 * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h
27943 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h
27944 statistics.h stmt.h tree.h varasm.h wide-int.h.
27945 * lra-constraints.c: Likewise.
27946 * lra-eliminations.c: Likewise.
27947 * lra-lives.c: Likewise.
27948 * lra-remat.c: Likewise.
27949 * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
27950 explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
27951 statistics.h stmt.h tree.h varasm.h wide-int.h.
27952 * hw-doloop.c: Likewise.
27953 * ira-color.c: Likewise.
27954 * ira-emit.c: Likewise.
27955 * loop-doloop.c: Likewise.
27956 * loop-invariant.c: Likewise.
27957 * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
27958 explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
27959 statistics.h stmt.h tree.h varasm.h wide-int.h.
27960 * caller-save.c: Include alias.h calls.h dojump.h double-int.h
27961 emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h
27962 statistics.h stmt.h tree.h varasm.h wide-int.h.
27963 * combine-stack-adj.c: Likewise.
27964 * cse.c: Likewise.
27965 * ddg.c: Likewise.
27966 * ifcvt.c: Likewise.
27967 * ira-costs.c: Likewise.
27968 * jump.c: Likewise.
27969 * lra-coalesce.c: Likewise.
27970 * lra-spills.c: Likewise.
27971 * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
27972 explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
27973 stmt.h varasm.h wide-int.h.
27974 * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
27975 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
27976 varasm.h.
27977 * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
27978 double-int.h explow.h expmed.h fixed-value.h flags.h real.h
27979 statistics.h stmt.h varasm.h wide-int.h.
27980 * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
27981 expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
27982 varasm.h wide-int.h.
27983 * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
27984 expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
27985 * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
27986 emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
27987 statistics.h stmt.h.
27988 * config/tilepro/tilepro.c: Likewise.
27989 * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
27990 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
27991 * config/pdp11/pdp11.c: Likewise.
27992 * config/xtensa/xtensa.c: Likewise.
27993 * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
27994 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
27995 varasm.h.
27996 * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
27997 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
27998 insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
27999 * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
28000 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
28001 insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
28002 * rtl-chkp.c: Likewise.
28003 * tree-chkp-opt.c: Likewise.
28004 * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h
28005 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
28006 hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h.
28007 * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
28008 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
28009 statistics.h stmt.h.
28010 * tree-vect-data-refs.c: Likewise.
28011 * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
28012 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
28013 rtl.h statistics.h stmt.h varasm.h.
28014 * internal-fn.c: Likewise.
28015 * ipa-icf-gimple.c: Likewise.
28016 * lto-section-out.c: Likewise.
28017 * tree-data-ref.c: Likewise.
28018 * tree-nested.c: Likewise.
28019 * tree-outof-ssa.c: Likewise.
28020 * tree-predcom.c: Likewise.
28021 * tree-pretty-print.c: Likewise.
28022 * tree-scalar-evolution.c: Likewise.
28023 * tree-ssa-strlen.c: Likewise.
28024 * tree-vect-loop.c: Likewise.
28025 * tree-vect-patterns.c: Likewise.
28026 * tree-vect-slp.c: Likewise.
28027 * tree-vect-stmts.c: Likewise.
28028 * tsan.c: Likewise.
28029 * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
28030 fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
28031 stmt.h.
28032 * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
28033 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
28034 statistics.h stmt.h varasm.h.
28035 * loop-unroll.c: Likewise.
28036 * ubsan.c: Likewise.
28037 * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
28038 expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
28039 stmt.h varasm.h.
28040 * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
28041 fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
28042 * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
28043 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
28044 statistics.h stmt.h.
28045 * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
28046 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
28047 statistics.h stmt.h varasm.h.
28048 * gimple-match-head.c: Likewise.
28049 * lto-cgraph.c: Likewise.
28050 * lto-section-in.c: Likewise.
28051 * lto-streamer-in.c: Likewise.
28052 * lto-streamer-out.c: Likewise.
28053 * tree-affine.c: Likewise.
28054 * tree-cfg.c: Likewise.
28055 * tree-cfgcleanup.c: Likewise.
28056 * tree-if-conv.c: Likewise.
28057 * tree-into-ssa.c: Likewise.
28058 * tree-ssa-alias.c: Likewise.
28059 * tree-ssa-copyrename.c: Likewise.
28060 * tree-ssa-dse.c: Likewise.
28061 * tree-ssa-forwprop.c: Likewise.
28062 * tree-ssa-live.c: Likewise.
28063 * tree-ssa-math-opts.c: Likewise.
28064 * tree-ssa-pre.c: Likewise.
28065 * tree-ssa-sccvn.c: Likewise.
28066 * tree-tailcall.c: Likewise.
28067 * tree-vect-generic.c: Likewise.
28068 * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
28069 fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
28070 * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
28071 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
28072 * varasm.c: Likewise.
28073 * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
28074 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
28075 varasm.h.
28076 * init-regs.c: Likewise.
28077 * ira.c: Likewise.
28078 * omp-low.c: Likewise.
28079 * stack-ptr-mod.c: Likewise.
28080 * tree-ssa-reassoc.c: Likewise.
28081 * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
28082 fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
28083 varasm.h.
28084 * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
28085 fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
28086 * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
28087 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
28088 * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
28089 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
28090 * tree-ssa-phiopt.c: Likewise.
28091 * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
28092 fixed-value.h hashtab.h real.h statistics.h stmt.h.
28093 * config/fr30/fr30.c: Likewise.
28094 * config/frv/frv.c: Likewise.
28095 * expr.c: Likewise.
28096 * final.c: Likewise.
28097 * optabs.c: Likewise.
28098 * passes.c: Likewise.
28099 * simplify-rtx.c: Likewise.
28100 * stmt.c: Likewise.
28101 * toplev.c: Likewise.
28102 * var-tracking.c: Likewise.
28103 * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
28104 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
28105 * lower-subreg.c: Likewise.
28106 * postreload-gcse.c: Likewise.
28107 * ree.c: Likewise.
28108 * reginfo.c: Likewise.
28109 * store-motion.c: Likewise.
28110 * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
28111 fixed-value.h hashtab.h real.h stmt.h varasm.h.
28112 * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
28113 fixed-value.h hashtab.h statistics.h stmt.h.
28114 * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
28115 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
28116 * except.c: Likewise.
28117 * explow.c: Likewise.
28118 * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
28119 fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
28120 varasm.h.
28121 * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
28122 fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
28123 * tree-ssa-structalias.c: Likewise.
28124 * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
28125 fixed-value.h insn-config.h real.h statistics.h.
28126 * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
28127 fixed-value.h insn-config.h real.h statistics.h stmt.h.
28128 * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
28129 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
28130 * cfgbuild.c: Likewise.
28131 * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
28132 fixed-value.h real.h rtl.h statistics.h stmt.h.
28133 * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
28134 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
28135 * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
28136 fixed-value.h real.h statistics.h stmt.h.
28137 * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
28138 fixed-value.h real.h statistics.h stmt.h varasm.h.
28139 * cprop.c: Likewise.
28140 * modulo-sched.c: Likewise.
28141 * postreload.c: Likewise.
28142 * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
28143 flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
28144 statistics.h stmt.h varasm.h.
28145 * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
28146 explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
28147 rtl.h statistics.h stmt.h varasm.h.
28148 * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
28149 fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
28150 varasm.h.
28151 * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
28152 function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
28153 varasm.h.
28154 * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
28155 fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
28156 varasm.h.
28157 * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
28158 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
28159 * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
28160 function.h real.h statistics.h stmt.h varasm.h.
28161 * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
28162 insn-config.h real.h statistics.h stmt.h.
28163 * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
28164 statistics.h stmt.h.
28165 * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
28166 fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
28167 statistics.h stmt.h varasm.h.
28168 * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h
28169 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
28170 * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
28171 flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
28172 * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
28173 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
28174 statistics.h stmt.h varasm.h.
28175 * ipa-polymorphic-call.c: Likewise.
28176 * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h
28177 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
28178 statistics.h stmt.h.
28179 * config/c6x/c6x.c: Likewise.
28180 * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h
28181 explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
28182 statistics.h stmt.h varasm.h.
28183 * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h
28184 fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h
28185 stmt.h varasm.h.
28186 * ipa-split.c: Likewise.
28187 * tree-eh.c: Likewise.
28188 * tree-ssa-dce.c: Likewise.
28189 * tree-ssa-loop-niter.c: Likewise.
28190 * tree-vrp.c: Likewise.
28191 * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
28192 expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
28193 stmt.h.
28194 * config/nds32/nds32-fp-as-gp.c: Likewise.
28195 * config/nds32/nds32-intrinsic.c: Likewise.
28196 * config/nds32/nds32-isr.c: Likewise.
28197 * config/nds32/nds32-md-auxiliary.c: Likewise.
28198 * config/nds32/nds32-memory-manipulation.c: Likewise.
28199 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
28200 * config/nds32/nds32-predicates.c: Likewise.
28201 * config/nds32/nds32.c: Likewise.
28202 * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
28203 fixed-value.h hashtab.h real.h statistics.h.
28204 * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
28205 fixed-value.h hashtab.h real.h statistics.h stmt.h.
28206 * config/arm/arm.c: Likewise.
28207 * config/avr/avr.c: Likewise.
28208 * config/bfin/bfin.c: Likewise.
28209 * config/h8300/h8300.c: Likewise.
28210 * config/i386/i386.c: Likewise.
28211 * config/ia64/ia64.c: Likewise.
28212 * config/iq2000/iq2000.c: Likewise.
28213 * config/m32c/m32c.c: Likewise.
28214 * config/m32r/m32r.c: Likewise.
28215 * config/m68k/m68k.c: Likewise.
28216 * config/mcore/mcore.c: Likewise.
28217 * config/mep/mep.c: Likewise.
28218 * config/mips/mips.c: Likewise.
28219 * config/mn10300/mn10300.c: Likewise.
28220 * config/moxie/moxie.c: Likewise.
28221 * config/pa/pa.c: Likewise.
28222 * config/rl78/rl78.c: Likewise.
28223 * config/rx/rx.c: Likewise.
28224 * config/s390/s390.c: Likewise.
28225 * config/sh/sh.c: Likewise.
28226 * config/sparc/sparc.c: Likewise.
28227 * config/spu/spu.c: Likewise.
28228 * config/stormy16/stormy16.c: Likewise.
28229 * config/v850/v850.c: Likewise.
28230 * config/vax/vax.c: Likewise.
28231 * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
28232 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
28233 * config/msp430/msp430.c: Likewise.
28234 * predict.c: Likewise.
28235 * value-prof.c: Likewise.
28236 * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
28237 expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
28238 * config/microblaze/microblaze.c: Likewise.
28239 * config/nios2/nios2.c: Likewise.
28240 * config/rs6000/rs6000.c: Likewise.
28241 * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
28242 insn-config.h real.h rtl.h statistics.h stmt.h.
28243 * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
28244 insn-config.h real.h statistics.h stmt.h.
28245 * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
28246 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
28247 * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
28248 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
28249 * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h
28250 fixed-value.h real.h statistics.h stmt.h.
28251 * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
28252 fixed-value.h statistics.h stmt.h.
28253 * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
28254 stmt.h.
28255
28256 2015-01-15 Jakub Jelinek <jakub@redhat.com>
28257
28258 * gengtype.c (create_user_defined_type): Workaround
28259 -Wmaybe-uninitialized false positives.
28260 * cse.c (fold_rtx): Likewise.
28261 * loop-invariant.c (gain_for_invariant): Likewise.
28262
28263 2015-01-15 Eric Botcazou <ebotcazou@adacore.com>
28264
28265 * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
28266 set the memory attributes in all cases but clear MEM_EXPR if need be.
28267
28268 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
28269
28270 PR tree-optimization/64434
28271 * cfgexpand.c (reorder_operands): New function.
28272 (expand_gimple_basic_block): Insert call of reorder_operands if
28273 optimized is true.
28274
28275 2015-01-15 Matthew Fortune <matthew.fortune@imgtec.com>
28276
28277 * config/mips/micromips.md (*swp): Remove explicit parallel.
28278 (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise.
28279 * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise.
28280 (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise.
28281 (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise.
28282 (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise.
28283 (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise.
28284 (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise.
28285 (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise.
28286 (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise.
28287 (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise.
28288 (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise.
28289 (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise.
28290 (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise.
28291 (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise.
28292 (mips_wrdsp): Likewise.
28293 * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit
28294 parallel.
28295 (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise.
28296 (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise.
28297 (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise.
28298 (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise.
28299 (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise.
28300 (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise.
28301 * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel.
28302 (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise.
28303 (ssmaddsqdq4, ssmsubsqdq4): Likewise.
28304
28305 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
28306
28307 * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA.
28308 (mips_print_operand): Support 'y' to print exact log2 in decimal
28309 of a const_int.
28310 * config/mips/mips.h (ISA_HAS_LSA): New define.
28311 (ISA_HAS_DLSA): Likewise.
28312 * config/mips/mips.md (<GPR:d>lsa): New define_insn.
28313 * config/mips/predicates.md (const_immlsa_operand): New predicate.
28314
28315 2015-01-15 Martin Liska <mliska@suse.cz>
28316
28317 PR target/64377
28318 * optc-save-gen.awk: Add support for array types.
28319
28320 2015-01-15 Richard Biener <rguenther@suse.de>
28321
28322 PR middle-end/64365
28323 * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
28324 for MEM_REF access functions with the same base can never partially
28325 overlap.
28326
28327 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
28328
28329 * common.opt: New option -fstack-protector-explicit.
28330 * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
28331 (stack_protect_decl_phase): Handle stack_protect attribute for
28332 explicit stack protection requests.
28333 (expand_used_vars): Similarly.
28334 * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
28335 * doc/extend.texi: Add documentation for "stack_protect" attribute.
28336 * doc/invoke.texi: Add documentation for -fstack-protector-explicit.
28337
28338 2015-01-14 Oleg Endo <olegendo@gcc.gnu.org>
28339
28340 PR target/53988
28341 * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
28342 reg-reg copies.
28343 (sh_extending_set_of_reg): New struct.
28344 (sh_find_extending_set_of_reg, sh_split_tst_subregs,
28345 sh_remove_reg_dead_or_unused_notes): New Declarations.
28346 * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
28347 sh_find_extending_set_of_reg, sh_split_tst_subregs,
28348 sh_extending_set_of_reg::use_as_extended_reg): New functions.
28349 * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
28350 convert to insn_and_split and use new function sh_split_tst_subregs.
28351
28352 2015-01-14 Sandra Loosemore <sandra@codesourcery.com>
28353
28354 * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
28355 option.
28356 (Optimization Options): Move -fuse-ld documentation to...
28357 (Link Options): ...here.
28358
28359 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
28360
28361 * config/mips/constraints.md (ZC): Add support for R6 LL/SC
28362 offsets.
28363 (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
28364 * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
28365 (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
28366 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
28367 instead of ZR for the memory operand of LL/SC.
28368 (compare_and_swap_12, sync_add<mode>): Likewise.
28369 (sync_<optab>_12, sync_old_<optab>_12): Likewise.
28370 (sync_new_<optab>_12, sync_nand_12): Likewise.
28371 (sync_old_nand_12, sync_new_nand_12): Likewise.
28372 (sync_sub<mode>, sync_old_add<mode>): Likewise.
28373 (sync_old_sub<mode>, sync_new_add<mode>): Likewise.
28374 (sync_new_sub<mode>, sync_<optab><mode>): Likewise.
28375 (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
28376 (sync_nand<mode>, sync_old_nand<mode>): Likewise.
28377 (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
28378 (test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
28379 (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
28380 * doc/md.texi (ZC): Update description.
28381
28382 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
28383
28384 * builtins.c (expand_builtin_atomic_exchange): Remove error when
28385 memory model is CONSUME.
28386 (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
28387 expand_builtin_atomic_store): Change invalid memory model errors to
28388 warnings.
28389 (expand_builtin_atomic_clear): Change invalid model errors to warnings
28390 and issue warning for CONSUME.
28391
28392 2015-01-14 Aldy Hernandez <aldyh@redhat.com>
28393
28394 * lto-cgraph: Update function comments for
28395 lto_symtab_encoder_encode_*.
28396
28397 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
28398
28399 * Makefile.in (site.exp): Do not set ENABLE_LTO.
28400
28401 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
28402
28403 * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
28404 * lto-cgraph.c (select_what_to_stream): Remove argument, use
28405 lto_stream_offload_p instead.
28406 * lto-streamer.h (select_what_to_stream): Remove argument.
28407 * passes.c (ipa_write_summaries): Likewise.
28408 * tree-pass.h (ipa_write_summaries): Likewise.
28409
28410 2015-01-14 Richard Biener <rguenther@suse.de>
28411
28412 PR tree-optimization/59354
28413 * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
28414 groups larger than the slp group size as having gaps.
28415
28416 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
28417
28418 PR middle-end/59448
28419 * builtins.c (get_memmodel): Promote consume to acquire always.
28420
28421 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
28422
28423 PR target/64386
28424 * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
28425 V32HImode.
28426
28427 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
28428
28429 PR target/64393
28430 * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
28431 Enable AVX512BW.
28432 (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
28433 * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
28434 AVX512VBMI, as it implies AVX512BW.
28435
28436 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
28437
28438 PR target/64387
28439 * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
28440 (vec_unpacks_hi_v16sf): Ditto.
28441
28442 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28443
28444 * config/aarch64/arm_neon.h: Error out if AdvancedSIMD
28445 is not available.
28446
28447 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28448
28449 * doc/invoke.texi (mapcs): Mention deprecation.
28450 (mapcs-frame): Likewise.
28451
28452 2015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
28453
28454 PR target/64453
28455 * config/arm/arm.c (callee_saved_reg_p): Define.
28456 (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
28457 register is callee saved instead of !call_used_regs[reg].
28458 (thumb1_compute_save_reg_mask): Likewise.
28459
28460 2015-01-14 Hale Wang <hale.wang@arm.com>
28461
28462 * config/arm/arm.c: Tune the max_cond_insns/branch_cost for
28463 Cortex-M7.
28464
28465 2015-01-14 Richard Biener <rguenther@suse.de>
28466
28467 PR lto/64415
28468 * tree-inline.c (insert_debug_decl_map): Check destination
28469 function MAY_HAVE_DEBUG_STMTS.
28470 (insert_init_debug_bind): Likewise.
28471 (insert_init_stmt): Remove redundant check.
28472 (remap_gimple_stmt): Drop debug stmts if the destination
28473 function has var-tracking assignments disabled.
28474
28475 2015-01-14 Martin Liska <mliska@suse.cz>
28476
28477 * ipa-icf-gimple.c (func_checker::compare_operand): Add support for
28478 IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.
28479
28480 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28481
28482 PR target/64460
28483 * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
28484 (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.
28485
28486 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
28487
28488 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
28489 level from an ARCH; do not inject the default.
28490 (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
28491 MIPS_ISA_LEVEL_SPEC.
28492 (MIPS_ISA_NAN2008_SPEC): Update comment.
28493 (BASE_DRIVER_SELF_SPECS): Likewise.
28494 * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
28495 MIPS_DEFAULT_ISA_LEVEL_SPEC.
28496 * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
28497 * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
28498 * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.
28499
28500 2015-01-14 Richard Biener <rguenther@suse.de>
28501
28502 PR tree-optimization/64493
28503 PR tree-optimization/64495
28504 * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
28505 assign the proper vectorized PHI to the inner loop exit PHIs.
28506
28507 2015-01-14 Joey Ye <joey.ye@arm.com>
28508
28509 * config/arm/arm.c (arm_compute_save_reg_mask):
28510 Do not save lr in case of tail call.
28511 * config/arm/thumb2.md (*thumb2_pop_single): New pattern.
28512
28513 2015-01-14 Martin Uecker <uecker@eecs.berkeley.edu>
28514
28515 * tree-vrp.c (check_array_ref): Emit more warnings
28516 for warn_array_bounds >= 2.
28517 * common.opt: New option -Warray-bounds=.
28518 * doc/invoke.texi: Document -Warray-bounds=.
28519
28520 2015-01-14 Chung-Ju Wu <jasonwucj@gmail.com>
28521
28522 * config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
28523 (mforbid-fp-as-gp): Remove.
28524 (mex9): Remove.
28525 * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
28526 (nds32_symbol_load_store_p): Remove.
28527 (nds32_fp_as_gp_check_available): Clean up implementation.
28528 * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
28529 cases.
28530 * config/nds32/nds32.c (nds32_asm_file_start): No need to consider
28531 fp-as-gp and ex9 cases.
28532
28533 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
28534
28535 * tree-profile.c (init_ic_make_global_vars): Drop workaround
28536 for bintuils bug 14342.
28537 (init_ic_make_global_vars): Likewise.
28538 (gimple_init_edge_profiler): Likewise.
28539 (gimple_gen_ic_func_profiler): Likewise.
28540
28541 2015-01-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
28542
28543 * ipa-inline.c (inline_small_functions): Swap the operands in
28544 enum.
28545
28546 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
28547
28548 PR ipa/64481
28549 * ipa-inline-analysis.c (node_growth_cache): Remove.
28550 (initialize_growth_caches): Do not initialize it.
28551 (free_growth_caches): Do not free it.
28552 (do_estimate_growth): Rename to ...
28553 (estimate_growth): ... this one; drop growth cache code.
28554 (growth_likely_positive): Always go the heuristics way.
28555 * ipa-inline.c (can_inline_edge_p): Walk through aliases.
28556 (reset_edge_caches): Do not reset node growth.
28557 (heap_edge_removal_hook): Do not maintain cache.
28558 (inline_small_functions): Likewise; strenghten sanity check.
28559 (ipa_inline): Do not maintain caches.
28560 * ipa-inline.h (node_growth_cache): Remove.
28561 (do_estimate_growth): Remove to ...
28562 (estimate_growth): this one; remove inline version.
28563 (reset_node_growth_cache): Remove.
28564
28565 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
28566
28567 PR ipa/64565
28568 * ipa-inline.c (inline_small_functions): Update callee keys after
28569 resolving speculation
28570 (inline_small_functions): Always check monotonicity of the queue.
28571
28572 2015-01-13 Marek Polacek <polacek@redhat.com>
28573
28574 PR middle-end/64391
28575 * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
28576
28577 2015-01-13 Jakub Jelinek <jakub@redhat.com>
28578
28579 PR rtl-optimization/64286
28580 * ree.c (combine_reaching_defs): Move part of comment earlier,
28581 remove !SCALAR_INT_MODE_P check.
28582 (add_removable_extension): Don't add vector mode
28583 extensions if all uses of the source register aren't the same
28584 vector extensions.
28585
28586 2015-01-13 Renlin Li <renlin.li@arm.com>
28587
28588 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
28589 (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
28590
28591 2015-01-13 Martin Liska <mliska@suse.cz>
28592
28593 * ipa-icf.c (sem_function::equals_private): Call new functions
28594 cl_target_option_print_diff and cl_optimization_print_diff.
28595 * optc-save-gen.awk (cl_target_option_print_diff): New function.
28596 (cl_optimization_print_diff): Likewise.
28597 * opth-gen.awk: Likewise.
28598
28599 2015-01-13 Richard Sandiford <richard.sandiford@arm.com>
28600
28601 * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
28602 (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
28603 (*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
28604 (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
28605 (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
28606 (*sub_uxtsi_multp2_uxtw): Add stack pointer sources.
28607
28608 2015-01-13 Andrew Pinski <apinski@cavium.com>
28609
28610 * config/aarch64/aarch64.c (fusion_load_store): Check dest mode
28611 instead of src mode.
28612
28613 2015-01-13 Richard Biener <rguenther@suse.de>
28614
28615 PR lto/64373
28616 * lto-streamer-out.c (tree_is_indexable): Guard for NULL
28617 DECL_CONTEXT.
28618
28619 2015-01-13 Andrew Pinski <apinski@cavium.com>
28620
28621 * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
28622 volatile mems.
28623 (aarch64_operands_adjust_ok_for_ldpstp): Likewise.
28624
28625 2015-01-13 Jakub Jelinek <jakub@redhat.com>
28626
28627 PR middle-end/63974
28628 * cfgexpand.c (expand_computed_goto): Don't call
28629 convert_memory_address here.
28630
28631 2015-01-13 Richard Biener <rguenther@suse.de>
28632
28633 PR tree-optimization/64406
28634 * tree-loop-distibution.c (pass_loop_distribution::execute):
28635 Reset the SCEV hashtable if we distributed anything.
28636
28637 2015-01-13 Richard Biener <rguenther@suse.de>
28638
28639 PR tree-optimization/64404
28640 * tree-vect-stmts.c (vectorizable_load): Reject conflicting
28641 SLP types for CSEd loads.
28642
28643 2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
28644
28645 PR tree-optimization/64436
28646 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
28647 merge of two symbolic numbers for a bitwise OR to ...
28648 (perform_symbolic_merge): This. Also fix computation of the range and
28649 end of the symbolic number corresponding to the result of a bitwise OR.
28650
28651 2015-01-13 Richard Biener <rguenther@suse.de>
28652
28653 PR tree-optimization/64568
28654 * tree-ssa-forwprop.c (pass_forwprop::execute): Properly
28655 release defs of removed stmts, avoid splitting TARGET_MEM_REFs.
28656
28657 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
28658
28659 * config/nds32/nds32.c (nds32_legitimate_address_p): Consider
28660 TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.
28661
28662 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
28663
28664 * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
28665 target-specific symbol_ref flag.
28666 (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
28667 resides in rodata section.
28668 * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
28669 (nds32_encode_section_info): New function.
28670
28671 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
28672
28673 * config/nds32/nds32.md (call): Use pseudo instruction bal which
28674 clobbers TA_REGNUM if large code model is specified.
28675 (call_register): Likewise.
28676 (call_immediate): Likewise.
28677 (call_value): Likewise.
28678 (call_value_register): Likewise.
28679 (call_value_immediate): Likewise.
28680
28681 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
28682
28683 * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
28684 (TARGET_CMODEL_MEDIUM): New macro.
28685 (TARGET_CMODEL_LARGE): New macro.
28686 * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
28687 code model setting in assembly code.
28688
28689 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
28690
28691 * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
28692 Remove MASK_GP_DIRECT flag.
28693 * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
28694 one of the multilib default options.
28695 * config/nds32/nds32.opt (mgp-direct): Remove.
28696 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
28697 -mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian.
28698
28699 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
28700
28701 * config/nds32/nds32.opt (mcmodel): Add new option.
28702 * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
28703 to describe code model.
28704
28705 2015-01-13 Oleg Endo <olegendo@gcc.gnu.org>
28706
28707 PR target/64479
28708 * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
28709
28710 2015-01-12 Kaz Kojima <kkojima@gcc.gnu.org>
28711
28712 * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function.
28713 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
28714 (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables.
28715 (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and
28716 __builtin_sh_set_fpscr.
28717
28718 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
28719
28720 * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
28721 after a funtion name just to indicate it is a function.
28722 ([-fsanitize-undefined-trap-on-error]): Likewise.
28723 ([-fdbg-cnt=]): Likewise.
28724 ([-mmemcpy]): Likewise.
28725 ([-mflush-func]): Likewise.
28726 ([-msynci]): Likewise.
28727
28728 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
28729
28730 * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
28731 example.
28732
28733 2015-01-12 Jakub Jelinek <jakub@redhat.com>
28734
28735 PR tree-optimization/64563
28736 * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
28737 instead of != VR_VARYING.
28738
28739 PR target/64513
28740 * config/i386/i386.c (ix86_expand_prologue): Add
28741 REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
28742
28743 PR tree-optimization/64454
28744 * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
28745 op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
28746 for signed or [0, op1 - 1] for unsigned modulo.
28747 (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
28748 even if op1 does not satisfy integer_pow2p.
28749
28750 PR other/64370
28751 * sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
28752
28753 2015-01-12 Jeff Law <law@redhat.com>
28754
28755 PR target/64461
28756 * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
28757 (trunchiqi2, truncsihi2): Similarly.
28758
28759 * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
28760 rather than calling F.
28761
28762 2015-01-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
28763
28764 * tsan.c (instrument_expr): Use force_gimple_operand.
28765 Use may_be_nonaddressable_p instead of is_gimple_addressable.
28766
28767 2015-01-12 Richard Biener <rguenther@suse.de>
28768
28769 PR tree-optimization/64530
28770 * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
28771 back dr1.
28772
28773 2015-01-12 Richard Biener <rguenther@suse.de>
28774
28775 PR middle-end/64357
28776 * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
28777 latches properly.
28778
28779 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28780
28781 * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
28782 Cortex-A17 tuning parameters.
28783 * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.
28784
28785 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28786
28787 * config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
28788 * config/arm/arm.c (arm_macro_fusion_p): New function.
28789 (arm_macro_fusion_pair_p): Likewise.
28790 (TARGET_SCHED_MACRO_FUSION_P): Define.
28791 (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
28792 (ARM_FUSE_NOTHING): Likewise.
28793 (ARM_FUSE_MOVW_MOVT): Likewise.
28794 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
28795 arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
28796 arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
28797 arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
28798 arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
28799 arm_cortex_a5_tune): Specify fuseable_ops value.
28800
28801 2015-01-12 H.J. Lu <hongjiu.lu@intel.com>
28802
28803 PR bootstrap/64561
28804 * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
28805 test for PIE with copy reloc.
28806 * configure: Regenerated.
28807
28808 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28809
28810 * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
28811 in gen_rtx_REG.
28812 (arm_tls_descseq_addr): Likewise.
28813 (arm_gen_movmemqi): Likewise.
28814 (arm_expand_epilogue_apcs_frame): Likewise.
28815 (arm_expand_epilogue): Likewise.
28816 (arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1
28817 in gen_rtx_REG.
28818
28819 2015-01-12 Martin Liska <mliska@suse.cz>
28820
28821 PR ipa/64550
28822 * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
28823 volatility for correct operands.
28824
28825 2015-01-12 Martin Liska <mliska@suse.cz>
28826
28827 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as
28828 indication that a function is not leaf.
28829 (sem_function::compare_polymorphic_p): Likewise.
28830
28831 2015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
28832
28833 * config/visium/visium.c: Add includes hashtab.h, hash-set.h,
28834 machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
28835 fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
28836 fold-const.h, tree-check.h.
28837
28838 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
28839
28840 PR ipa/63967
28841 PR ipa/64425
28842 * ipa-inline.c (compute_uninlined_call_time,
28843 compute_inlined_call_time): Use counts for extra precision when
28844 needed possible.
28845 (big_speedup_p): Fix formating.
28846 (RELATIVE_TIME_BENEFIT_RANGE): Remove.
28847 (relative_time_benefit): Remove.
28848 (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
28849 merge guessed and read profile paths.
28850 (inline_small_functions): Count only !optimize_size functions into
28851 initial size; be more lax about sanity check when profile is used;
28852 be sure to update inlined function profile when profile is read.
28853
28854 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
28855
28856 PR ipa/63470
28857 * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
28858 cost when edge becomes direct.
28859 * ipa-prop.c (make_edge_direct): Do not adjust when speculation
28860 is resolved or when introducing new speculation.
28861
28862 2015-01-12 Chen Gang <gang.chen.5i5j@gmail.com>
28863
28864 PR ipa/64551
28865 PR ipa/64552
28866 * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
28867 '||' to fix typo issue.
28868
28869 * gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
28870 accept and return NULL.
28871
28872 2015-01-12 Martin Liska <mliska@suse.cz>
28873
28874 * cgraph.c (cgraph_edge::remove_callee): Move function to header
28875 file for being inlined.
28876 (cgraph_set_edge_callee): Delete.
28877 (cgraph_edge::redirect_callee): Move function to header file
28878 for being inlined.
28879 (cgraph_edge::make_direct): Use new function.
28880 (cgraph_edge::dump_edge_flags): New function created from
28881 static dump_edge_flags function.
28882 (cgraph_node::dump): Use new function.
28883 (cgraph_edge::verify_count_and_frequency): New function created
28884 from verify_edge_count_and_frequency.
28885 (cgraph_edge::verify_corresponds_to_fndecl): New function created
28886 from verify_edge_corresponds_to_fndecl.
28887 (verify_edge_corresponds_to_fndecl): Delete.
28888 (cgraph_node::verify_node): Use new function.
28889 * cgraph.h (cgraph_edge::set_callee): New function.
28890 (cgraph_edge::dump_edge_flags): Likewise.
28891 (cgraph_edge::verify_corresponds_to_fndecl): Likewise.
28892
28893 2015-01-11 Jan Hubicka <hubicka@ucw.cz>
28894
28895 * ipa-utils.c (estimate_function_body_sizes): Do not
28896 free node params when called late with early=true.
28897
28898 2015-01-11 James Greenhalgh <james.greenhalgh@arm.com>
28899
28900 * doc/md.texi (Instruction Patterns): Rewrite text for
28901 clarity.
28902 (Example): Likewise.
28903
28904 2015-01-10 Sandra Loosemore <sandra@codesourcery.com>
28905
28906 * doc/invoke.texi (Option Summary): Break long lines.
28907 [(-fdiagnostics-color)]: Put long literal in @smallexample
28908 instead of inline.
28909 [(-fsanitize-recover)]: Likewise.
28910 [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
28911 [(-ffast-math)]: Likewise.
28912 [(--param max-inline-insns-recursive)]: Likewise.
28913 [(--param max-inline-recursive-depth)]: Likewise.
28914 [(-mno-text-section-literals)]: Likewise.
28915
28916 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
28917
28918 * doc/install.texi: Update for libgomp being renamed from "GNU
28919 OpenMP Runtime Library" to "GNU Offloading and Multi Processing
28920 Runtime Library".
28921 * doc/sourcebuild.texi: Likewise.
28922
28923 2015-01-10 Anthony Green <green@moxielogic.com>
28924
28925 * config/moxie/moxie.c (moxie_option_override): Fix forcing of
28926 mul.x availability for moxiebox configuration.
28927
28928 2015-01-09 Anthony Green <green@moxielogic.com>
28929
28930 * config/moxie/moxie.md: Tabify assembly output.
28931
28932 2015-01-09 Anthony Green <green@moxielogic.com>
28933
28934 * config/moxie/moxie.md (CC_REG): Correct register definition.
28935
28936 2015-01-09 Sandra Loosemore <sandra@codesourcery.com>
28937
28938 * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
28939 ([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location
28940 of log files.
28941
28942 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
28943
28944 * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
28945
28946 2015-01-09 Bernd Schmidt <bernds@codesourcery.com>
28947 Jakub Jelinek <jakub@redhat.com>
28948
28949 PR middle-end/64412
28950 * lto-streamer.h (lto_stream_offload_p): New declaration.
28951 * lto-streamer.c (lto_stream_offload_p): New variable.
28952 * cgraphunit.c (ipa_passes): Set lto_stream_offload_p
28953 at the same time as section_name_prefix.
28954 * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
28955 if lto_stream_offload_p.
28956 * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
28957 stream TREE_TARGET_OPTION if lto_stream_offload_p.
28958 (write_ts_function_decl_tree_pointers): Don't
28959 stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
28960 * tree-streamer-in.c (unpack_value_fields): Don't stream
28961 TREE_TARGET_OPTION in if ACCEL_COMPILER.
28962 (lto_input_ts_function_decl_tree_pointers): Don't stream
28963 DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
28964 * lto-opts.c (lto_write_options): Use lto_stream_offload_p
28965 instead of section_name_prefix string comparisons.
28966
28967 2015-01-09 Jakub Jelinek <jakub@redhat.com>
28968
28969 PR rtl-optimization/64536
28970 * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
28971 tablejumps.
28972
28973 2015-01-09 Michael Collison <michael.collison@linaro.org>
28974
28975 PR tree-optimization/64322
28976 * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive
28977 range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic.
28978
28979 2015-01-09 Tom de Vries <tom@codesourcery.com>
28980
28981 PR rtl-optimization/64539
28982 * regcprop.c (kill_clobbered_values): Factor out of ...
28983 (copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values
28984 instead of note_stores with kill_clobbered_value.
28985
28986 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
28987
28988 * ginclude/unwind-arm-common.h: Revert previous commit.
28989
28990 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
28991
28992 * config.gcc (arm*-*-freebsd*): New configuration.
28993 * config/arm/freebsd.h: New file.
28994 * config.host: Add extra components for arm*-*-freebsd*.
28995 * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
28996 * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
28997
28998 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
28999
29000 * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
29001 for -mcpu=e6500.
29002 * config/rs6000/t-rtems: Add e6500 multilibs.
29003
29004 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
29005
29006 * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
29007 MPC8540.
29008
29009 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
29010
29011 * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
29012 MULTILIB_EXCEPTIONS.
29013
29014 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
29015
29016 * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
29017 MULTILIB_EXCEPTIONS.
29018
29019 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
29020
29021 * config/arm/t-rtems-eabi: Rename to...
29022 * config/arm/t-rtems: ...this.
29023 * config/arm/rtems-eabi.h: Rename to...
29024 * config/arm/rtems.h: ...this.
29025 * config.gcc (arm*-*-rtems*): Reflect changes above.
29026
29027 2015-01-09 Richard Biener <rguenther@suse.de>
29028
29029 PR tree-optimization/64410
29030 * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
29031 on the LHS.
29032 (execute_update_addresses_taken): Deal with that.
29033 * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
29034 loads/stores for complex variables.
29035
29036 2015-01-09 Martin Liska <mliska@suse.cz>
29037
29038 * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
29039 name comparison.
29040 (func_checker::compare_memory_operand): New function.
29041 (func_checker::compare_operand): Split case to newly
29042 added functions.
29043 (func_checker::compare_cst_or_decl): New function.
29044 (func_checker::compare_gimple_call): Identify
29045 memory operands.
29046 (func_checker::compare_gimple_assign): Likewise.
29047 * ipa-icf-gimple.h: New function.
29048
29049 2015-01-09 Martin Liska <mliska@suse.cz>
29050
29051 PR ipa/64503
29052 * sreal.c (sreal::dump): Change unsigned format to signed for
29053 m_exp value.
29054 (sreal::to_double): Replace exp2 with scalbln.
29055
29056 2015-01-09 Martin Liska <mliska@suse.cz>
29057
29058 * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
29059 * ipa-icf.c (sem_function::equals_private): Add support for target and
29060 (sem_item_optimizer::merge_classes): Remove redundant function
29061 optimization flags comparison.
29062 * tree.h (target_opts_for_fn): New function.
29063
29064 2015-01-09 Tom de Vries <tom@codesourcery.com>
29065
29066 * omp-low.c (expand_omp_for_static_chunk): Fix assert.
29067
29068 2015-01-09 Kito Cheng <kito@0xlab.org>
29069
29070 PR rtl-optimization/64348
29071 * lra-constraints.c (split_reg): Fix caller-save store/restore
29072 instruction generation.
29073
29074 2015-01-08 John David Anglin <danglin@gcc.gnu.org>
29075
29076 PR gcov-profile/61790
29077 * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
29078 long long. Fallback to int64_t if host doesn't have long long and
29079 use strtol if int64_t is long. Otherwise, use sscanf for conversion.
29080
29081 2015-01-08 Jakub Jelinek <jakub@redhat.com>
29082
29083 PR tree-optimization/63989
29084 * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
29085 from 1000 to 10000.
29086 * tree-ssa-strlen.c (get_strinfo): Moved earlier.
29087 (get_stridx): If we don't have a record for certain SSA_NAME,
29088 but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
29089 constant offset, call get_stridx_plus_constant.
29090 (get_stridx_plus_constant): New function.
29091 (zero_length_string): Don't use get_stridx here.
29092
29093 PR target/55023
29094 PR middle-end/64388
29095 * dse.c (struct insn_info): Mention frame_read set also
29096 before reload for tail calls on some targets.
29097 (scan_insn): Revert 2014-12-22 change. Set frame_read
29098 also before reload for tail calls if
29099 HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read
29100 instead of add_non_frame_wild_read for non-const/memset
29101 tail calls after reload.
29102
29103 2015-01-08 Jason Merrill <jason@redhat.com>
29104
29105 * ubsan.c (do_ubsan_in_current_function): New.
29106 (pass_ubsan::gate): Use it.
29107 * ubsan.h: Declare it.
29108 * convert.c (convert_to_integer): Use it.
29109
29110 2015-01-08 Jakub Jelinek <jakub@redhat.com>
29111
29112 PR target/64338
29113 * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
29114 compare_code when it is unconditionally overwritten afterwards.
29115 Use ix86_reverse_condition instead of reverse_condition. Don't
29116 change code if *reverse_condition* returned UNKNOWN and don't
29117 swap ct/cf and negate diff in that case.
29118
29119 2015-01-08 Mike Stump <mikestump@comcast.net>
29120
29121 * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
29122 (pass_tsan_O0::gate): Likewise.
29123 * extend.texi (Function Attributes): Add no_sanitize_thread
29124 documentation.
29125
29126 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
29127
29128 * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
29129 for registering builtins.
29130 * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
29131 add -fopenmp to the argv_obstack used when invoking
29132 compile_for_target.
29133
29134 * config/i386/intelmic-mkoffload.c (compile_for_target): Always
29135 add "-m32" or "-m64" to argv_obstack.
29136 (generate_host_descr_file): Likewise, when invoking host_compiler.
29137 (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
29138 ld.
29139
29140 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
29141
29142 * config/sh/sh-mem.cc: Use constant as second operand when emitting
29143 tstsi_t insns.
29144
29145 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
29146
29147 PR target/55212
29148 * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
29149 constant load if constant operand fits into I08.
29150
29151 2015-01-08 Jakub Jelinek <jakub@redhat.com>
29152
29153 PR sanitizer/64336
29154 * tree.c (build2_stat): Fix up initialization of TREE_READONLY
29155 and TREE_THIS_VOLATILE for MEM_REFs.
29156 (build5_stat): Fix up initialization of TREE_READONLY and
29157 TREE_THIS_VOLATILE for TARGET_MEM_REFs.
29158
29159 2015-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
29160
29161 PR target/64533
29162 * config/sh/sh.md (*addsi3_compact): Use u constraint instead
29163 of r for the second alternative of the destination operand.
29164
29165 2015-01-07 Segher Boessenkool <segher@kernel.crashing.org>
29166
29167 PR target/36557
29168 * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
29169
29170 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
29171
29172 * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
29173 keywords.
29174 ([-fivar-visibility], [-fvisibility]): Likewise.
29175
29176 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
29177
29178 * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
29179 the file where @code, @command, etc is more appropriate.
29180
29181 2015-01-06 Sandra Loosemore <sandra@codesourcery.com>
29182
29183 * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
29184 of -mrecip= documentation.
29185
29186 2015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com>
29187
29188 PR target/64505
29189 * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
29190 correct reload handler if -m32 -mpowerpc64 is used.
29191
29192 2015-01-06 Tom de Vries <tom@codesourcery.com>
29193
29194 * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
29195
29196 2015-01-08 Christian Bruel <christian.bruel@st.com>
29197
29198 PR target/64507
29199 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
29200
29201 2015-01-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
29202
29203 PR tree-optimization/63259
29204 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
29205 if optab exists for 16bit byteswap.
29206
29207 2015-01-06 Jakub Jelinek <jakub@redhat.com>
29208
29209 * opts.c (common_handle_option): Add support for
29210 -fno-sanitize=all and -f{,no-}sanitize-recover=all.
29211 * doc/invoke.texi: Document -fno-sanitize=all,
29212 -f{,no-}sanitize-recover=all. Document that
29213 -fsanitize=float-cast-overflow is not enabled
29214 by -fsanitize=undefined. Fix up documentation
29215 of -f{,no-}sanitize-recover.
29216
29217 2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
29218
29219 * config.gcc: Add Visium support.
29220 * configure.ac: Likewise.
29221 * configure: Regenerate.
29222 * doc/extend.texi (interrupt attribute): Add Visium.
29223 * doc/invoke.texi: Document Visium options.
29224 * doc/install.texi: Document Visium target.
29225 * doc/md.texi: Document Visium constraints.
29226 * common/config/visium: New directory.
29227 * config/visium: Likewise.
29228
29229 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
29230
29231 * simplify-rtx.c (simplify_binary_operation_1): Handle more cases
29232 for the "(and X (ior (not X) Y) -> (and X Y)" transform.
29233
29234 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
29235
29236 * combine.c (combine_validate_cost): Do not count the cost of a
29237 split I2 twice. Do not display it twice in the dump, either.
29238
29239 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
29240
29241 Revert parts of r219199.
29242 * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
29243 <inttypes.h>.
29244 ([-Wtraditional]): Restore markup on <limits.h>.
29245
29246 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
29247
29248 PR c++/31397
29249 * doc/invoke.texi: Document -Wsuggest-override.
29250
29251 2015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com>
29252
29253 PR rtl-optimization/64287
29254 * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
29255 (process_options): Disable flag_ipa_ra if profiling.
29256
29257 2015-01-05 Eric Botcazou <ebotcazou@adacore.com>
29258
29259 * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
29260
29261 2015-01-05 Max Filippov <jcmvbkbc@gmail.com>
29262
29263 * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
29264 hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
29265 put under #if TARGET_LOOPS guard.
29266
29267 2015-01-05 Uros Bizjak <ubizjak@gmail.com>
29268
29269 * config/i386/i386.c (output_387_binary_op): Use std::swap.
29270
29271 2015-01-05 Oleg Endo <olegendo@gcc.gnu.org>
29272
29273 * rtlanal.c (refers_to_regno_p): Change return value from int to bool.
29274 * rtl.h (refers_to_regno_p): Add overload.
29275 * cse.c: Use it.
29276 * bt-load.c: Likewise.
29277 * combine.c: Likewise.
29278 * df-scan.c: Likewise.
29279 * sched-deps.c: Likewise.
29280 * config/s390/s390.c: Likewise.
29281 * config/m32r/m32r.c: Likewise.
29282 * config/rs6000/spe.md: Likewise.
29283 * config/rs6000/rs6000.c: Likewise.
29284 * config/pa/pa.c: Likewise.
29285 * config/stormy16/stormy16.c: Likewise.
29286 * config/cris/cris.c: Likewise.
29287 * config/arc/arc.md: Likewise.
29288 * config/arc/arc.c: Likewise.
29289 * config/sh/sh.md: Likewise.
29290 * config/sh/sh.c: Likewise.
29291 * config/frv/frv.c: Likewise.
29292
29293 2015-01-05 Jakub Jelinek <jakub@redhat.com>
29294
29295 PR sanitizer/64265
29296 * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
29297 call as cleanup of the whole body.
29298 * internal-fn.def (TSAN_FUNC_EXIT): New internal call.
29299 * tsan.c (replace_func_exit): New function.
29300 (instrument_func_exit): Moved earlier.
29301 (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
29302 Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
29303 been found.
29304 (tsan_pass): Don't call instrument_func_exit.
29305 * internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
29306 * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
29307 inlining.
29308
29309 PR sanitizer/64344
29310 * ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
29311 * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
29312 it to libubsan handler instead of EXPR. Fold comparisons earlier,
29313 if the result is integer_zerop, return NULL_TREE.
29314 * convert.c (convert_to_integer): Pass expr as ARG.
29315
29316 PR tree-optimization/64465
29317 * tree-inline.c (redirect_all_calls): During inlining
29318 clean up EH stmts and EH edges if redirect_call_stmt_to_callee
29319 changed the stmt to a non-throwing call.
29320
29321 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
29322
29323 * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
29324 etc markup throughout the file.
29325
29326 2015-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
29327
29328 Enable experimental TSAN support for Ada.
29329 * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
29330
29331 2015-01-05 Jakub Jelinek <jakub@redhat.com>
29332
29333 PR tree-optimization/64494
29334 * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
29335 clear SSA_NAME_ANTI_RANGE_P flag.
29336
29337 2015-01-05 Marek Polacek <polacek@redhat.com>
29338
29339 * doc/extend.texi (Arrays of Length Zero): Add missing comma.
29340
29341 2015-01-05 Jakub Jelinek <jakub@redhat.com>
29342
29343 Update copyright years.
29344
29345 * gcc.c (process_command): Update copyright notice dates.
29346 * gcov-dump.c: Ditto.
29347 * gcov.c: Ditto.
29348 * doc/cpp.texi: Bump @copying's copyright year.
29349 * doc/cppinternals.texi: Ditto.
29350 * doc/gcc.texi: Ditto.
29351 * doc/gccint.texi: Ditto.
29352 * doc/gcov.texi: Ditto.
29353 * doc/install.texi: Ditto.
29354 * doc/invoke.texi: Ditto.
29355
29356 * auto-profile.c, auto-profile.h: Fix up Copyright line.
29357
29358 2015-01-04 Sandra Loosemore <sandra@codesourcery.com>
29359
29360 * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
29361 verb tense, etc.
29362 ([-fvtable-verify], [-fvtv-debug]): Likewise.
29363 ([-Wabi]): Likewise.
29364 ([-fmessage-length]): Likewise.
29365 ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
29366 ([-Wno-discarded-qualifiers]): Likewise.
29367 ([-Wnodiscarded-array-qualifiers]): Likewise.
29368 ([-Wno-virtual-move-assign]): Likewise.
29369 ([-fsanitize=address], [-fsanitize=thread]): Likewise.
29370 ([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
29371 ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
29372 ([-fsanitize-undefined-trap-on-error]): Likewise.
29373 ([-floop-interchange]): Likewise.
29374 ([-ftree-coalesce-inlined-vars]): Likewise.
29375 ([-fvect-cost-model]): Likewise.
29376 ([-flto]): Likewise.
29377 ([--param]): Likewise.
29378 (Spec Files): Likewise.
29379 ([-mstrict-align]): Likewise.
29380 ([-mfix-cortex-a53-835769]): Likewise.
29381 ([-march], [-mtune]): Likewise.
29382 ([-mpic-register]): Likewise.
29383 ([-munaligned-access]): Likewise.
29384 ([-msp8]): Likewise.
29385 (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
29386 (AVR Built-in Macros): Likewise.
29387 ([-mpreferred-stack-boundary]): Likewise.
29388 ([-mtune-crtl]): Likewise.
29389 ([-mashf]): Likewise.
29390 ([-mmcu=]): Likewise.
29391 ([-minrt]): Likewise.
29392 ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
29393 ([-mupper-regs]): Likewise.
29394 ([-matomic-model]): Likewise.
29395 ([-mdiv]): Likewise.
29396 ([-mzdcbranch]): Likewise.
29397 ([-mdisable-callt]): Likewise.
29398 ([-msoft-float]): Likewise.
29399 ([-m8byte-align]): Likewise.
29400 ([-fstack-reuse]): Likewise.
29401
29402 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
29403
29404 * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
29405 Fix markup, light copy-editing.
29406 ([-fauto-profile]): Rewrite to fix formatting and content
29407 problems.
29408
29409 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
29410
29411 * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
29412 Copy-edit description.
29413 ([-fisolate-erroneous-paths-attribute]): Likewise.
29414 * common.opt (fisolate-erroneous-paths-dereference):
29415 Copy-edit description.
29416 (fisolate-erroneous-paths-attribute): Likewise.
29417
29418 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
29419
29420 * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
29421 tidy grammar.
29422
29423 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
29424
29425 * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
29426 ([-fvtv-debug]): Likewise.
29427 ([-Wc++-compat]): Likewise.
29428 ([-Wc++11-compat]): Likewise.
29429 ([-Wc++14-compat]): Likewise.
29430 ([-Wno-sized-deallocation]): Likewise.
29431 ([-femit-class-debug-always]): Likewise.
29432 ([-femit-struct-debug-detailed]): Likewise.
29433 ([-fno-keep-inline-dllexport]): Likewise.
29434 ([-fira-algorithm]): Likewise.
29435 ([-fira-region]): Likewise.
29436 ([-flra-remat]): Likewise.
29437 ([-fipa-ra]): Likewise.
29438 ([-fhoist-adjacent-loads]): Likewise.
29439 ([-fisolate-erroneous-paths-dereference]): Likewise.
29440 ([-fisolate-erroneous-paths-attribute]): Likewise.
29441 ([-ftree-switch-conversion]): Likewise.
29442 ([-ftree-tail-merge]): Likewise.
29443 ([-ftree-loop-if-convert]): Likewise.
29444 ([-ftree-loop-if-convert-stores]): Likewise.
29445 ([-ftree-loop-distribution]): Likewise.
29446 ([-ftree-loop-distribute-patterns]): Likewise.
29447 ([-flto-compression-level]): Likewise.
29448 ([-flto-report]): Likewise.
29449 ([-flto-report-wpa]): Likewise.
29450 ([-fuse-linker-plugin]): Likewise.
29451 ([-mfix-cortex-a53-835769]): Likewise.
29452 ([-mno-fix-cortex-a53-835769]): Likewise.
29453 ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
29454 explicit listing; add a note to the discussion indicating they
29455 exist. Reorder table to group similar options. Add missing
29456 @opindex entries. Add @need commands throughout the table to
29457 allow it to be split across multiple pages.
29458 ([-m8bit-idiv]): Fix @opindex.
29459 ([-mavx256-split-unaligned-load]): Likewise.
29460 ([-mavx256-split-unaligned-store]): Likewise.
29461 ([-mstack-protector-guard]): Likewise.
29462 ([-mcpu=]): Likewise.
29463 ([-mcpu]): Likewise.
29464 ([-mpointer-size=]): Likewise.
29465
29466 2015-01-03 John David Anglin <danglin@gcc.gnu.org>
29467
29468 * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
29469 instead of `m' constraint. Likewise for unnamed movb comparison
29470 patterns using reg_before_reload_operand predicate.
29471 * config/pa/predicates.md (reg_before_reload_operand): Tighten
29472 predicate to reject register index and LO_SUM DLT memory forms
29473 after reload.
29474
29475 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
29476
29477 * doc/invoke.texi (Option Summary): Fix spelling of
29478 -fdevirtualize-at-ltrans.
29479 ([-fdevirtualize]): Fix markup.
29480 ([-fdevirtualize-speculatively]): Fix typo.
29481 ([-fdevirtualize-at-ltrans]): Likewise. Make description less
29482 implementor-speaky.
29483 * common.opt (fdevirtualize-at-ltrans): Likewise.
29484 * ipa-devirt.c: Fix typos in comments throughout the file.
29485 (ipa_devirt): Fix typos in format strings for dump output.
29486
29487 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
29488
29489 * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
29490 discussion of defaults, light copy-editing.
29491
29492 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
29493
29494 * tsan.c (instrument_expr): corrected previous checkin.
29495
29496 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
29497
29498 Instrument bit field and unaligned accesses for TSAN.
29499 * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
29500 (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
29501 * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
29502 Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
29503 unaligned memory regions.
29504
29505 2015-01-01 Anthony Green <green@moxielogic.com>
29506
29507 * config/moxie/predicates.md (moxie_general_movsrc_operand):
29508 Restrict move source register offsets to 16 bits.
29509 \f
29510 Copyright (C) 2015 Free Software Foundation, Inc.
29511
29512 Copying and distribution of this file, with or without modification,
29513 are permitted in any medium without royalty provided the copyright
29514 notice and this notice are preserved.