32c31559f7addc225354e3209effa8fd1b20b71d
[gcc.git] / gcc / ChangeLog
1 2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
2
3 PR target/57845
4 * config/sparc/sparc.c (sparc_function_value_1): In 32-bit mode, do
5 not promote the mode for aggregate types.
6
7 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
8
9 * omp-low.h (replace_oacc_fn_attrib, build_oacc_routine_dims): Declare.
10 * omp-low.c (build_oacc_routine_dims): New.
11
12 2015-11-09 Michael Meissner <meissner@linux.vnet.ibm.com>
13
14 * config/rs6000/constraints.md (wF constraint): New constraints
15 for power9/toc fusion.
16 (wG constraint): Likewise.
17
18 * config/rs6000/predicates.md (u6bit_cint_operand): New
19 predicate, recognize 0..63.
20 (upper16_cint_operand): New predicate for power9 and toc fusion.
21 (fpr_reg_operand): Likewise.
22 (toc_fusion_or_p9_reg_operand): Likewise.
23 (toc_fusion_mem_raw): Likewise.
24 (toc_fusion_mem_wrapped): Likewise.
25 (fusion_gpr_addis): If power9 fusion, allow fusion for a larger
26 address range.
27 (fusion_gpr_mem_combo): Delete, use fusion_addis_mem_combo_load
28 instead.
29 (fusion_addis_mem_combo_load): Add support for power9 fusion of
30 floating point loads, floating point stores, and gpr stores.
31 (fusion_addis_mem_combo_store): Likewise.
32 (fusion_offsettable_mem_operand): Likewise.
33
34 * config/rs6000/rs6000-protos.h (emit_fusion_addis): Add
35 declarations.
36 (emit_fusion_load_store): Likewise.
37 (fusion_p9_p): Likewise.
38 (expand_fusion_p9_load): Likewise.
39 (expand_fusion_p9_store): Likewise.
40 (emit_fusion_p9_load): Likewise.
41 (emit_fusion_p9_store): Likewise.
42 (fusion_wrap_memory_address): Likewise.
43
44 * config/rs6000/rs6000.c (struct rs6000_reg_addr): Add new
45 elements for power9 fusion.
46 (rs6000_debug_print_mode): Rework debug information to print more
47 information about fusion.
48 (rs6000_init_hard_regno_mode_ok): Setup for power9 fusion
49 support.
50 (rs6000_legitimate_address_p): Recognize toc fusion as a valid
51 offsettable memory address.
52 (rs6000_rtx_costs): Update costs for new ISA 3.0 instructions.
53 (emit_fusion_gpr_load): Move most of the code from
54 emit_fusion_gpr_load into emit_fusion-addis that handles both
55 power8 and power9 fusion.
56 (emit_fusion_addis): Likewise.
57 (emit_fusion_load_store): Likewise.
58 (fusion_wrap_memory_address): Add support for TOC fusion.
59 (fusion_split_address): Likewise.
60 (fusion_p9_p): Add support for power9 fusion.
61 (expand_fusion_p9_load): Likewise.
62 (expand_fusion_p9_store): Likewise.
63 (emit_fusion_p9_load): Likewise.
64 (emit_fusion_p9_store): Likewise.
65
66 * config/rs6000/rs6000.h (TARGET_EXTSWSLI): Macros for support for
67 new instructions in ISA 3.0.
68 (TARGET_CTZ): Likewise.
69 (TARGET_TOC_FUSION_INT): Macros for power9 fusion support.
70 (TARGET_TOC_FUSION_FP): Likewise.
71
72 * config/rs6000/rs6000.md (UNSPEC_FUSION_P9): New power9/toc
73 fusion unspecs.
74 (UNSPEC_FUSION_ADDIS): Likewise.
75 (QHSI mode iterator): New iterator for power9 fusion.
76 (GPR_FUSION): Likewise.
77 (FPR_FUSION): Likewise.
78 (mod<mode>3): Add support for ISA 3.0
79 modulus instructions.
80 (umod<mode>3): Likewise.
81 (divmod peephole): Likewise.
82 (udivmod peephole): Likewise.
83 (ctz<mode>2): Add support for ISA 3.0 count trailing zeros scalar
84 instructions.
85 (ctz<mode>2_h): Likewise.
86 (ashdi3_extswsli): Add support for ISA 3.0 EXTSWSLI instruction.
87 (ashdi3_extswsli_dot): Likewise.
88 (ashdi3_extswsli_dot2): Likewise.
89 (power9 fusion splitter): New power9/toc fusion support.
90 (toc_fusionload_<mode>): Likewise.
91 (toc_fusionload_di): Likewise.
92 (fusion_gpr_load_<mode>): Update predicate function.
93 (power9 fusion peephole2s): New power9/toc fusion support.
94 (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
95 (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_store): Likewise.
96 (fusion_fpr_<P:mode>_<FPR_FUSION:mode>_load): Likewise.
97 (fusion_fpr_<P:mode>_<FPR_FUSION:mode>_store): Likewise.
98 (fusion_p9_<mode>_constant): Likewise.
99
100 2015-11-09 Steve Ellcey <sellcey@imgtec.com>
101
102 * optabs.c (prepare_libcall_arg): New function.
103 (expand_fixed_convert): Add call to prepare_libcall_arg.
104
105 2015-11-09 Nikolai Bozhenov <n.bozhenov@samsung.com>
106
107 * sched-int.h (dump_rgn_dependencies_dot): Declare
108 * sched-rgn.c (dump_rgn_dependencies_dot): New function
109 * print-rtl.h (print_insn): Add prototype
110
111 * haifa-sched.c (setup_sched_dump): Don't redirect output to stderr.
112 * common.opt (-fsched-verbose): Set default value to 1.
113 * invoke.texi (-fsched-verbose): Update the option's description.
114
115 2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
116
117 * config/visium/visium.h (PRINT_OPERAND): Delete.
118 (PRINT_OPERAND_PUNCT_VALID_P): Likewise.
119 (PRINT_OPERAND_ADDRESS): Likewise.
120 * config/visium/visium.c (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define
121 to...
122 (visium_print_operand_punct_valid_p): ...this. New function.
123 (TARGET_PRINT_OPERAND): Define to...
124 (print_operand): Rename to...
125 (visium_print_operand): ...this.
126 (TARGET_PRINT_OPERAND_ADDRESS): Define to...
127 (visium_output_address): Rename to...
128 (visium_print_operand_address): ...this.
129 (print_operand_address): Delete.
130
131 2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
132
133 PR middle-end/68259
134 * tree.h (reverse_storage_order_for_component_p) <COMPONENT_REF>:
135 Check that the type of the first operand is an aggregate type.
136
137 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
138
139 * omp-low.c: Fix some OpenACC comment typos.
140 (lower_reduction_clauses): Remove BUILT_IN_GOACC_GET_THREAD_NUM call.
141 * omp-builtins.def (BUILT_IN_GOACC_GET_THREAD_NUM,
142 BUILT_IN_GOACC_GET_NUM_THREADS): Delete.
143
144 2015-11-09 Uros Bizjak <ubizjak@gmail.com>
145
146 * config/i386/i386.md (*strmovqi_1): Fix insn enable condition.
147
148 2015-11-09 Jeff Law <law@redhat.com>
149
150 * tree-ssanames.c (verify_ssaname_freelists): Simplify check for
151 being in gimple/ssa form. Remove redundant check for SSA_NAME.
152 Fix comment typo.
153
154 2015-11-09 Michael Meissner <meissner@linux.vnet.ibm.com>
155
156 * config/rs6000/rs6000.opt (-mpower9-fusion): Add new switches for
157 ISA 3.0 (power9).
158 (-mpower9-vector): Likewise.
159 (-mpower9-dform): Likewise.
160 (-mpower9-minmax): Likewise.
161 (-mtoc-fusion): Likewise.
162 (-mmodulo): Likewise.
163 (-mfloat128-hardware): Likewise.
164
165 * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add option
166 mask for ISA 3.0 (power9).
167 (POWERPC_MASKS): Add new ISA 3.0 switches.
168 (power9 cpu): Add power9 cpu.
169
170 * config/rs6000/rs6000.h (ASM_CPU_POWER9_SPEC): Add support for
171 power9.
172 (ASM_CPU_SPEC): Likewise.
173 (EXTRA_SPECS): Likewise.
174
175 * config/rs6000/rs6000-opts.h (enum processor_type): Add
176 PROCESSOR_POWER9.
177
178 * config/rs6000/rs6000.c (power9_cost): Initial cost setup for
179 power9.
180 (rs6000_debug_reg_global): Add support for power9 fusion.
181 (rs6000_setup_reg_addr_masks): Cache mode size.
182 (rs6000_option_override_internal): Until real power9 tuning is
183 added, use -mtune=power8 for -mcpu=power9.
184 (rs6000_setup_reg_addr_masks): Do not allow pre-increment,
185 pre-decrement, or pre-modify on SFmode/DFmode if we allow the use
186 of Altivec registers.
187 (rs6000_option_override_internal): Add support for ISA 3.0
188 switches.
189 (rs6000_loop_align): Add support for power9 cpu.
190 (rs6000_file_start): Likewise.
191 (rs6000_adjust_cost): Likewise.
192 (rs6000_issue_rate): Likewise.
193 (insn_must_be_first_in_group): Likewise.
194 (insn_must_be_last_in_group): Likewise.
195 (force_new_group): Likewise.
196 (rs6000_register_move_cost): Likewise.
197 (rs6000_opt_masks): Likewise.
198
199 * config/rs6000/rs6000.md (cpu attribute): Add power9.
200 * config/rs6000/rs6000-tables.opt: Regenerate.
201
202 * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
203 _ARCH_PWR9 if power9 support is available.
204
205 * config/rs6000/aix61.h (ASM_CPU_SPEC): Add power9.
206 * config/rs6000/aix53.h (ASM_CPU_SPEC): Likewise.
207
208 * configure.ac: Determine if the assembler supports the ISA 3.0
209 instructions.
210 * config.in (HAVE_AS_POWER9): Likewise.
211 * configure: Regenerate.
212
213 * doc/invoke.texi (RS/6000 and PowerPC Options): Document ISA 3.0
214 switches.
215
216 2015-11-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
217
218 * config/aarch64/aarch64.c (aarch64_simd_valid_immediate):
219 Remove integer CONST_DOUBLE handling. It should never occur.
220
221 2015-11-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
222
223 PR target/68129
224 * config/aarch64/aarch64.h (TARGET_SUPPORTS_WIDE_INT): Define to 1.
225 * config/aarch64/aarch64.c (aarch64_print_operand, CONST_DOUBLE):
226 Delete VOIDmode case. Assert that mode is not VOIDmode.
227 * config/aarch64/predicates.md (const0_operand): Remove const_double
228 match.
229
230 2015-11-09 Martin Liska <mliska@suse.cz>
231
232 * ipa-inline-analysis.c (estimate_function_body_sizes): Call
233 body_info release function.
234 * ipa-prop.c (ipa_release_body_info): New function.
235 (ipa_analyze_node): Call the function.
236 (ipa_node_params::~ipa_node_params): Release known_csts.
237 * ipa-prop.h (ipa_release_body_info): Declare.
238
239 2015-11-09 Martin Liska <mliska@suse.cz>
240
241 * gcc.c (record_temp_file): Release name string.
242 * ifcvt.c (noce_convert_multiple_sets): Use auto_vec instead
243 of vec.
244 * lra-lives.c (free_live_range_list): Utilize
245 lra_live_range_pool for allocation and deallocation.
246 (create_live_range): Likewise.
247 (copy_live_range): Likewise.
248 (lra_merge_live_ranges): Likewise.
249 (remove_some_program_points_and_update_live_ranges): Likewise.
250 (lra_create_live_ranges_1): Release point_freq_vec that can
251 be not freed from previous iteration of the function.
252 * tree-eh.c (lower_try_finally_switch): Use auto_vec instead of
253 vec.
254 * tree-sra.c (sra_deinitialize): Release all vectors in
255 base_access_vec.
256 * tree-ssa-dom.c (free_dom_edge_info): Make the function extern.
257 * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges):
258 Release edge_info for a removed edge.
259 (thread_through_all_blocks): Free region vector.
260 * tree-ssa.h (free_dom_edge_info): Declare function extern.
261
262 2015-11-09 Ilya Enkovich <enkovich.gnu@gmail.com>
263
264 * optabs.c (expand_vec_cond_expr): Always get sign from type.
265 * tree.c (wide_int_to_tree): Support negative values for boolean.
266 (build_nonstandard_boolean_type): Use signed type for booleans.
267
268 2015-11-09 Richard Biener <rguenther@suse.de>
269
270 PR tree-optimization/68248
271 * tree-vect-generic.c (expand_vector_operations_1): Handle
272 scalar rhs2.
273
274 2015-11-09 Richard Biener <rguenther@suse.de>
275
276 PR tree-optimization/56118
277 * tree-vectorizer.h (vect_find_last_scalar_stmt_in_slp): Declare.
278 * tree-vect-slp.c (vect_find_last_scalar_stmt_in_slp): Export.
279 * tree-vect-data-refs.c (vect_slp_analyze_node_dependences): New
280 function.
281 (vect_slp_analyze_data_ref_dependences): Instead of computing
282 all dependences of the region DRs just analyze the code motions
283 SLP vectorization will perform. Remove SLP instances that
284 cannot have their store/load motions applied.
285 (vect_analyze_data_refs): Allow DRs without a vectype
286 in BB vectorization.
287
288 2015-11-09 Julian Brown <julian@codesourcery.com>
289
290 * final.c (output_asm_insn): Pass VOIDmode to output_address.
291 (output_address): Add MODE argument. Pass to print_operand_address
292 hook.
293 * targhooks.c (default_print_operand_address): Add MODE argument.
294 * targhooks.h (default_print_operand_address): Update prototype.
295 * output.h (output_address): Update prototype.
296 * target.def (print_operand_address): Add MODE argument.
297 * config/vax/vax.c (print_operand_address): Pass VOIDmode to
298 output_address.
299 (print_operand): Pass access mode to output_address.
300 * config/mcore/mcore.c (mcore_print_operand_address): Add MODE
301 argument.
302 (mcore_print_operand): Update calls to mcore_print_operand_address.
303 * config/fr30/fr30.c (fr30_print_operand): Pass VOIDmode to
304 output_address.
305 * config/lm32/lm32.c (lm32_print_operand): Pass mode in calls to
306 output_address.
307 * config/tilegx/tilegx.c (output_memory_reference_mode): Remove
308 global.
309 (tilegx_print_operand): Don't set above global. Update calls to
310 output_address.
311 (tilegx_print_operand_address): Add MODE argument. Use instead of
312 output_memory_reference_mode global.
313 * config/frv/frv.c (frv_print_operand_address): Add MODE argument.
314 (frv_print_operand): Pass mode to frv_print_operand_address calls.
315 * config/mn10300/mn10300.c (mn10300_print_operand): Pass mode to
316 output_address.
317 * config/cris/cris.c (cris_print_operand_address): Add MODE
318 argument.
319 (cris_print_operand): Pass mode to output_address calls.
320 * config/spu/spu.c (print_operand): Pass mode to output_address
321 calls.
322 * config/aarch64/aarch64.h (aarch64_print_operand)
323 (aarch64_print_operand_address): Remove prototypes.
324 * config/aarch64/aarch64.c (aarch64_memory_reference_mode): Delete
325 global.
326 (aarch64_print_operand): Make static. Update calls to
327 output_address.
328 (aarch64_print_operand_address): Add MODE argument. Use instead of
329 aarch64_memory_reference_mode global.
330 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define target
331 hooks.
332 * config/aarch64/aarch64.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
333 Delete macro definitions.
334 * config/pa/pa.c (pa_print_operand): Pass mode in output_address
335 calls.
336 * config/xtensa/xtensa.c (print_operand): Pass mode in
337 output_address calls.
338 * config/h8300/h8300.c (h8300_print_operand_address): Add MODE
339 argument.
340 (h83000_print_operand): Update calls to h8300_print_operand_address
341 and output_address.
342 * config/ia64/ia64.c (ia64_print_operand_address): Add MODE
343 argument.
344 * config/tilepro/tilepro.c (output_memory_reference_mode): Delete
345 global.
346 (tilepro_print_operand): Pass mode to output_address.
347 (tilepro_print_operand_address): Add MODE argument. Use instead of
348 output_memory_reference_mode.
349 * config/nvptx/nvptx.c (output_decl_chunk, nvptx_assemble_integer)
350 (nvptx_output_call_insn, nvptx_print_address_operand): Pass VOIDmode
351 to output_address calls.
352 (nvptx_print_operand_address): Add MODE argument.
353 * config/alpha/alpha.c (print_operand): Pass mode argument in
354 output_address calls.
355 * config/m68k/m68k.c (print_operand): Pass mode argument in
356 output_address call.
357 * config/avr/avr.c (avr_print_operand_address): Add MODE argument.
358 (avr_print_operand): Update calls to avr_print_operand_address.
359 * config/sparc/sparc.c (sparc_print_operand_address): Add MODE
360 argument. Update calls to output_address.
361 (sparc_print_operand): Pass mode to output_address.
362 * config/iq2000/iq2000.c (iq2000_print_operand_address): Add MODE
363 argument.
364 (iq2000_print_operand): Pass mode in output_address calls.
365 * config/stormy16/stormy16.c (xstormy16_print_operand_address): Add
366 MODE argument.
367 (xstormy16_print_operand): Pass mode to
368 xstormy16_print_operand_address calls.
369 * config/mips/mips.c (mips_print_operand): Update calls to
370 output_address.
371 (mips_print_operand_address): Add MODE argument.
372 * config/epiphany/epiphany.c (epiphany_print_operand): Update calls
373 to output_address.
374 (epiphany_print_operand_address): Add MODE argument. Add FIXME note.
375 * config/pdp11/pdp11.c (pdp11_asm_print_operand): Update call to
376 output_address.
377 * config/rx/rx.c (rx_print_operand_address): Add MODE argument.
378 (rx_print_operand): Update calls to output_address,
379 rx_print_operand_address.
380 * config/nds32/nds32.c (nds32_print_operand): Update calls to
381 output_address.
382 (nds32_print_operand_address): Add MODE argument.
383 * config/rs6000/rs6000.c (print_operand): Pass mem mode to
384 output_address calls.
385 * config/c6x/c6x.c (print_address_offset): Pass mem mode to
386 output_address call.
387 (c6x_print_address_operand): Update calls to output_address.
388 (c6x_print_operand_address): Pass mode to above.
389 * config/v850/v850.c (v850_print_operand_address): Add MODE
390 argument.
391 (v850_print_operand): Pass mode to v850_print_operand_address,
392 output_address.
393 * config/mmix/mmix.c (mmix_print_operand_address): Add MODE
394 argument.
395 (mmix_print_operand): Pass mode in output_address calls.
396 * config/sh/sh.c (sh_print_operand_address): Add MODE argument.
397 (sh_print_operand): Pass mem mode to output_address,
398 sh_print_operand_address.
399 * config/cr16/cr16.c (cr16_print_operand_address): Add MODE
400 argument.
401 (cr16_print_operand): Pass mode to output_address,
402 cr16_print_operand_address.
403 * config/bfin/bfin.c (print_address_operand): Pass VOIDmode to
404 output_address.
405 * config/microblaze/microblaze.c (print_operand): Pass mode to
406 output_address.
407 * config/nios2/nios2.c (nios2_print_operand): Pass VOIDmode to
408 output_address.
409 (nios2_print_operand_address): Add MODE argument. Update call to
410 nios2_print_operand_address.
411 * config/s390/s390.c (print_operand): Pass mode to output_address.
412 * config/m32c/m32c.c (m32c_print_operand_address): Add MODE
413 argument.
414 * config/arc/arc.c (arc_print_operand): Pass VOIDmode to
415 output_address.
416 * config/arm/arm.c (arm_print_operand_address): Add MODE argument.
417 Use instead of output_memory_reference_mode.
418 (output_memory_reference_mode): Delete global.
419 (arm_print_operand): Pass mem mode to output_address.
420 * config/m32r/m32r.c (m32r_print_operand_address): Add MODE
421 argument.
422 (m32r_print_operand): Pass mode to output_address.
423 * config/msp430/msp430.c (msp430_print_operand_addr): Add MODE
424 argument.
425 (msp430_print_operand): Pass mode to msp430_print_operand_addr.
426 * config/i386/i386.c (ix86_print_operand): Pass mode to
427 output_address calls.
428 (ix86_print_operand_address): Add MODE argument.
429
430 2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
431
432 PR middle-end/68251
433 * tree-core.h (REF_REVERSE_STORAGE_ORDER): Move around.
434 * tree.h (REF_REVERSE_STORAGE_ORDER): Change to default_def_flag.
435 * tree-streamer-in.c (unpack_ts_base_value_fields): Adjust.
436 * tree-streamer-out.c (pack_ts_base_value_fields): Likewise.
437
438 2015-11-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
439
440 PR rtl-optimization/67749
441 * ifcvt.c (noce_try_cmove_arith): Do not emit move in IF-ELSE
442 case before emitting the two blocks. Instead modify the register
443 in the corresponding final insn of the basic block.
444
445 2015-11-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
446
447 * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Allow for differences in
448 assembler syntax.
449 Support Solaris ld.
450 Define HAVE_INITFINI_ARRAY_SUPPORT as 0/1.
451
452 * config/sol2.h (SUPPORTS_INIT_PRIORITY): Define to
453 HAVE_INITFINI_ARRAY_SUPPORT.
454 * config/initfini-array.h: Check HAVE_INITFINI_ARRAY_SUPPORT
455 value.
456
457 * configure.ac (gcc_cv_as_sparc_nobits): Remove.
458 * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section):
459 Don't check HAVE_AS_SPARC_NOBITS.
460 Heed SECTION_NOTYPE.
461
462 * configure: Regenerate.
463 * config.in: Regenerate.
464
465 2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
466
467 PR middle-end/68253
468 * fold-const.c (fold_truth_andor_1): Initialize new variables to 0.
469
470 2015-11-09 Richard Henderson <rth@redhat.com>
471
472 * config/i386/i386-c.c (ix86_target_macros): Define __SEG_FS,
473 __SEG_GS, __SEG_TLS.
474 (ix86_register_pragmas): Register address spaces __seg_fs,
475 __seg_gs, __seg_tls.
476 * config/i386/i386-protos.h (enum ix86_address_seg): Remove.
477 (ADDR_SPACE_SEG_FS, ADDR_SPACE_SEG_GS, ADDR_SPACE_SEG_TLS): New.
478 (struct ix86_address): Use addr_space_t instead of ix86_address_seg.
479 * config/i386/i386.c (ix86_decompose_address): Likewise.
480 (ix86_legitimate_address_p): Likewise.
481 (memory_address_length): Likewise. Check mem address space too.
482 (ix86_print_operand): Use ix86_print_operand_address_as.
483 (ix86_print_operand_address_as): Rename from
484 ix86_print_operand_address, add new addr_space_t parameter.
485 Validate that either the parameter or the ix86_address segment
486 is default address space. Handle ADDR_SPACE_SEG_TLS.
487 (ix86_print_operand_address): New.
488 (ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): New.
489 (ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): New.
490 (ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): New.
491 (ix86_addr_space_zero_address_valid): New.
492 (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): New.
493 * config/i386/i386.h (DEFAULT_TLS_SEG_REG): Use addr_space_t constants.
494 * config/i386/rdos.h (DEFAULT_TLS_SEG_REG): Likewise.
495 * config/i386/predicates.md (address_no_seg_operand): Likewise.
496 (vsib_address_operand): Likewise.
497 (address_mpx_no_base_operand): Likewise.
498 (address_mpx_no_index_operand): Likewise.
499 * doc/extend.texi (x86 Named Address Spaces): New section.
500
501 * config/i386/i386.c (ix86_check_no_addr_space): New.
502 (decide_alg): Add have_as parameter.
503 (alg_usable_p): Likewise; disable rep algorithms if set.
504 (ix86_expand_set_or_movmem): Notice if either MEM has a
505 non-default address space.
506 (ix86_expand_strlen): Likewise.
507 * config/i386/i386.md (strmov, strset): Likewise.
508 (*strmovdi_rex_1): Use ix86_check_no_addr_space.
509 (*strmovsi_1, *strmovqi_1, *rep_movdi_rex64, *rep_movsi, *rep_movqi,
510 *strsetdi_rex_1, *strsetsi_1, *strsethi_1, *strsetqi_1,
511 *rep_stosdi_rex64, *rep_stossi, *rep_stosqi, *cmpstrnqi_nz_1,
512 *cmpstrnqi_1, *strlenqi_1): Likewise.
513
514 * config/i386/i386.md (*movabs<mode>_1): Print the full memory rtx.
515 (*movabs<mode>_2): Likewise.
516
517 * dwarf2out.c (modified_type_die): Pass the address space number
518 through TARGET_ADDR_SPACE_DEBUG to produce the dwarf address class.
519 * target.def (TARGET_ADDR_SPACE_DEBUG): New.
520 * targhooks.c (default_addr_space_debug): New.
521 * targhooks.h (default_addr_space_debug): Declare.
522 * doc/tm.texi.in (TARGET_ADDR_SPACE_DEBUG): Mark it.
523 * doc/tm.texi: Rebuild.
524
525 * gimple.c (check_loadstore): Return false when 0 is a valid address.
526 * fold-const.c (const_unop) [ADDR_SPACE_CONVERT_EXPR]: Do not fold
527 null when 0 is valid in the source address space.
528 * target.def (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): New.
529 * targhooks.c (default_addr_space_zero_address_valid): New.
530 * targhooks.h (default_addr_space_zero_address_valid): Declare.
531 * doc/tm.texi.in (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): Mark it.
532 * doc/tm.texi: Rebuild.
533
534 * cselib.c (add_mem_for_addr): Compare address spaces when
535 matching memories.
536 (cselib_lookup_mem): Likewise.
537 * fold-const.c (operand_equal_p): Check address spaces of
538 pointer types before checking integer constants.
539
540 PR tree-opt/66768
541 * tree-ssa-address.c (create_mem_ref_raw): Use a pointer of
542 the correct type for the base.
543
544 2015-11-09 Jeff Law <law@redhat.com>
545
546 * tree-into-ssa.c (names_to_release): No longer static.
547 * tree-into-ssa.h (names_to_release): Declare.
548 * tree-ssanames.c (verify_ssaname_freelists): New debug function.
549 (release_free_names_and_compact_live_names): New function extracted
550 from pass_release_ssa_names::execute.
551 (pass_release_ssa_names::execute): Use it.
552
553 2015-11-09 Alan Modra <amodra@gmail.com>
554
555 * gensupport.c (add_mnemonic_string): Make len param a size_t.
556 (gen_mnemonic_setattr): Make "size" var a size_t. Use
557 obstack_blank_fast to shrink obstack. Cast obstack_next_free
558 return value.
559
560 2015-11-09 Segher Boessenkool <segher@kernel.crashing.org>
561
562 PR rtl-optimization/68182
563 * bb-reorder.c (reorder_basic_blocks_simple): Treat a conditional
564 branch with only one successor just like unconditional branches.
565
566 2015-11-08 Jeff Law <law@redhat.com>
567
568 * tree-ssa-threadupdate.c (register_jump_thraed): Assert that a
569 non-FSM path has no edges marked with EDGE_DFS_BACK.
570 (ssa_redirect_edges): No longer call mark_loop_for_removal.
571 (thread_single_edge, def_split_header_continue_p): Remove.
572 (bb_ends_with_multiway_branch): Likewise.
573 (thread_through_loop_header): Remove cases of threading from
574 latch through the header. Simplify knowing we won't thread
575 the latch.
576 (thread_through_all_blocks): Simplify knowing that only the FSM
577 threader needs to handle backedges.
578
579 2015-11-08 Eric Botcazou <ebotcazou@adacore.com>
580
581 * doc/extend.texi (type attributes): Document scalar_storage_order.
582 (Structure-Packing Pragmas): Rename into...
583 (Structure-Layout Pragmas): ...this. Document scalar_storage_order.
584 * doc/invoke.texi (C Dialect Options): Document -fsso-struct
585 (Warnings): Document -Wno-scalar-storage-order.
586 * flag-types.h (enum scalar_storage_order_kind): New enumeration.
587 * calls.c (store_unaligned_arguments_into_pseudos): Adjust calls to
588 extract_bit_field and store_bit_field.
589 (initialize_argument_information): Adjust call to store_expr.
590 (load_register_parameters): Adjust call to extract_bit_field.
591 * expmed.c (check_reverse_storage_order_support): New function.
592 (check_reverse_float_storage_order_support): Likewise.
593 (flip_storage_order): Likewise.
594 (store_bit_field_1): Add REVERSE parameter. Flip the storage order
595 of the value if it is true. Pass REVERSE to recursive call after
596 adjusting the target offset.
597 Do not use extraction or movstrict instruction if REVERSE is true.
598 Pass REVERSE to store_fixed_bit_field.
599 (store_bit_field): Add REVERSE parameter and pass to it to above.
600 (store_fixed_bit_field): Add REVERSE parameter and pass to it to
601 store_split_bit_field and store_fixed_bit_field_1.
602 (store_fixed_bit_field_1): Add REVERSE parameter. Flip the storage
603 order of the value if it is true and adjust the target offset.
604 (store_split_bit_field): Add REVERSE parameter and pass it to
605 store_fixed_bit_field. Adjust the target offset if it is true.
606 (extract_bit_field_1): Add REVERSE parameter. Flip the storage order
607 of the value if it is true. Pass REVERSE to recursive call after
608 adjusting the target offset.
609 Do not use extraction or subreg instruction if REVERSE is true.
610 Pass REVERSE to extract_fixed_bit_field.
611 (extract_bit_field): Add REVERSE parameter and pass to it to above.
612 (extract_fixed_bit_field): Add REVERSE parameter and pass to it to
613 extract_split_bit_field and extract_fixed_bit_field_1.
614 (extract_fixed_bit_field_1): Add REVERSE parameter. Flip the storage
615 order of the value if it is true and adjust the target offset.
616 (extract_split_bit_field): Add REVERSE parameter and pass it to
617 extract_fixed_bit_field. Adjust the target offset if it is true.
618 * expmed.h (flip_storage_order): Declare.
619 (store_bit_field): Adjust prototype.
620 (extract_bit_field): Likewise.
621 * expr.c (emit_group_load_1): Adjust calls to extract_bit_field.
622 (emit_group_store): Adjust call to store_bit_field.
623 (copy_blkmode_from_reg): Likewise.
624 (copy_blkmode_to_reg): Likewise.
625 (write_complex_part): Likewise.
626 (read_complex_part): Likewise.
627 (optimize_bitfield_assignment_op): Add REVERSE parameter. Assert
628 that it isn't true if the target is a register.
629 <PLUS_EXPR>: If it is, do not optimize unless bitsize is equal to 1,
630 and flip the storage order of the value.
631 <BIT_IOR_EXPR>: Flip the storage order of the value.
632 (get_bit_range): Adjust call to get_inner_reference.
633 (expand_assignment): Adjust calls to get_inner_reference, store_expr,
634 optimize_bitfield_assignment_op and store_field. Handle MEM_EXPRs
635 with reverse storage order.
636 (store_expr_with_bounds): Add REVERSE parameter and pass it to
637 recursive calls and call to store_bit_field. Force the value into a
638 register if it is true and then flip the storage order of the value.
639 (store_expr): Add REVERSE parameter and pass it to above.
640 (categorize_ctor_elements_1): Adjust call to
641 initializer_constant_valid_p.
642 (store_constructor_field): Add REVERSE parameter and pass it to
643 recursive calls and call to store_field.
644 (store_constructor): Add REVERSE parameter and pass it to calls to
645 store_constructor_field and store_expr. Set it to true for an
646 aggregate type with TYPE_REVERSE_STORAGE_ORDER.
647 (store_field): Add REVERSE parameter and pass it to recursive calls
648 and calls to store_expr and store_bit_field. Temporarily flip the
649 storage order of the value with record type and integral mode and
650 adjust the shift if it is true.
651 (get_inner_reference): Add PREVERSEP parameter and set it to true
652 upon encoutering a reference with reverse storage order.
653 (expand_expr_addr_expr_1): Adjust call to get_inner_reference.
654 (expand_constructor): Adjust call to store_constructor.
655 (expand_expr_real_2) <CASE_CONVERT>: Pass TYPE_REVERSE_STORAGE_ORDER
656 of the union type to store_expr in the MEM case and assert that it
657 isn't set in the REG case. Adjust call to store_field.
658 (expand_expr_real_1) <MEM_REF>: Handle reverse storage order.
659 <normal_inner_ref>: Add REVERSEP variable and adjust calls to
660 get_inner_reference and extract_bit_field. Temporarily flip the
661 storage order of the value with record type and integral mode and
662 adjust the shift if it is true. Flip the storage order of the value
663 at the end if it is true.
664 <VIEW_CONVERT_EXPR>: Add REVERSEP variable and adjust call to
665 get_inner_reference. Do not fetch an inner reference if it is true.
666 * expr.h (store_expr_with_bounds): Ajust prototype.
667 (store_expr): Likewise.
668 * fold-const.c (make_bit_field_ref): Add REVERSEP parameter and set
669 REF_REVERSE_STORAGE_ORDER on the reference according to it.
670 (optimize_bit_field_compare): Deal with reverse storage order.
671 Adjust calls to get_inner_reference and make_bit_field_ref.
672 (decode_field_reference): Add PREVERSEP parameter and adjust call to
673 get_inner_reference.
674 (fold_truth_andor_1): Deal with reverse storage order. Adjust calls
675 to decode_field_reference and make_bit_field_ref.
676 (fold_unary_loc) <CASE_CONVERT>: Adjust call to get_inner_reference.
677 <VIEW_CONVERT_EXPR>: Propagate the REF_REVERSE_STORAGE_ORDER flag.
678 (fold_comparison): Adjust call to get_inner_reference.
679 (split_address_to_core_and_offset): Adjust call to
680 get_inner_reference.
681 * gimple-expr.c (useless_type_conversion_p): Return false for array
682 types with different TYPE_REVERSE_STORAGE_ORDER flag.
683 * gimplify.c (gimplify_expr) <MEM_REF>: Propagate the
684 REF_REVERSE_STORAGE_ORDER flag.
685 * lto-streamer-out.c (hash_tree): Deal with
686 TYPE_REVERSE_STORAGE_ORDER.
687 * output.h (assemble_real): Adjust prototype.
688 * print-tree.c (print_node): Convey TYPE_REVERSE_STORAGE_ORDER.
689 * stor-layout.c (finish_record_layout): Propagate the
690 TYPE_REVERSE_STORAGE_ORDER flag to the variants.
691 * tree-core.h (TYPE_REVERSE_STORAGE_ORDER): Document.
692 (TYPE_SATURATING): Adjust.
693 (REF_REVERSE_STORAGE_ORDER): Document.
694 * tree-dfa.c (get_ref_base_and_extent): Add PREVERSE parameter and
695 set it to true upon encoutering a reference with reverse storage
696 order.
697 * tree-dfa.h (get_ref_base_and_extent): Adjust prototype.
698 * tree-inline.c (remap_gimple_op_r): Propagate the
699 REF_REVERSE_STORAGE_ORDER flag.
700 (copy_tree_body_r): Likewise.
701 * tree-outof-ssa.c (insert_value_copy_on_edge): Adjust call to
702 store_expr.
703 * tree-streamer-in.c (unpack_ts_base_value_fields): Deal with
704 TYPE_REVERSE_STORAGE_ORDER and REF_REVERSE_STORAGE_ORDER.
705 * tree-streamer-out.c (pack_ts_base_value_fields): Likewise.
706 * tree.c (stabilize_reference) <BIT_FIELD_REF>: Propagate the
707 REF_REVERSE_STORAGE_ORDER flag.
708 (verify_type_variant): Deal with TYPE_REVERSE_STORAGE_ORDER.
709 (gimple_canonical_types_compatible_p): Likewise.
710 * tree.h (TYPE_REVERSE_STORAGE_ORDER): New flag.
711 (TYPE_SATURATING): Adjust.
712 (REF_REVERSE_STORAGE_ORDER): New flag.
713 (reverse_storage_order_for_component_p): New inline predicate.
714 (storage_order_barrier_p): Likewise.
715 (get_inner_reference): Adjust prototype.
716 * varasm.c: Include expmed.h.
717 (assemble_variable_contents): Adjust call to output_constant.
718 (assemble_real): Add REVERSE parameter. Flip the storage
719 order of the value if REVERSE is true.
720 (compare_constant) <CONSTRUCTOR>: Compare TYPE_REVERSE_STORAGE_ORDER.
721 (assemble_constant_contents): Adjust call to output_constant.
722 (output_constant_pool_2): Adjust call to assemble_real.
723 (initializer_constant_valid_p_1) <CONSTRUCTOR>: Deal with
724 TYPE_REVERSE_STORAGE_ORDER.
725 (initializer_constant_valid_p): Add REVERSE parameter.
726 (output_constant): Add REVERSE parameter.
727 <INTEGER_TYPE>: Flip the storage order of the value if REVERSE is true.
728 <REAL_TYPE>: Adjust call to assemble_real.
729 <COMPLEX_TYPE>: Pass it to recursive calls.
730 <ARRAY_TYPE>: Likewise. Adjust call to output_constructor.
731 <RECORD_TYPE>: Likewise. Adjust call to output_constructor.
732 (struct oc_local_state): Add REVERSE field.
733 (output_constructor_array_range): Adjust calls to output_constant.
734 (output_constructor_regular_field): Likewise.
735 (output_constructor_bitfield): Adjust call to output_constructor.
736 Flip the storage order of the value if REVERSE is true.
737 (output_constructor): Add REVERSE parameter. Set it to true for an
738 aggregate type with TYPE_REVERSE_STORAGE_ORDER. Adjust call to
739 output_constructor_bitfield.
740 * varasm.h (initializer_constant_valid_p): Default REVERSE to false.
741 * asan.c (instrument_derefs): Adjust call to get_inner_reference.
742 * builtins.c (get_object_alignment_2): Likewise.
743 * cfgexpand.c (expand_debug_expr): Adjust call to get_inner_reference
744 and get_ref_base_and_extent.
745 * dbxout.c (dbxout_expand_expr): Likewise.
746 * dwarf2out.c (add_var_loc_to_decl): Likewise.
747 (loc_list_for_address_of_addr_expr_of_indirect_ref): Likewise.
748 (loc_list_from_tree): Likewise.
749 (fortran_common): Likewise.
750 * gimple-fold.c (gimple_fold_builtin_memory_op): Adjust calls to
751 get_ref_base_and_extent.
752 (get_base_constructor): Likewise.
753 (fold_const_aggregate_ref_1): Likewise.
754 * gimple-laddress.c (pass_laddress::execute): Adjust call to
755 get_inner_reference.
756 * gimple-ssa-strength-reduction.c (slsr_process_ref): Adjust call to
757 get_inner_reference and bail out on reverse storage order.
758 * ifcvt.c (noce_emit_move_insn): Adjust calls to store_bit_field.
759 * ipa-cp.c (ipa_get_jf_ancestor_result): Adjust call to
760 build_ref_for_offset.
761 * ipa-polymorphic-call.c (set_by_invariant): Adjust call to
762 get_ref_base_and_extent.
763 (ipa_polymorphic_call_context): Likewise.
764 (extr_type_from_vtbl_ptr_store): Likewise.
765 (check_stmt_for_type_change): Likewise.
766 (get_dynamic_type): Likewise.
767 * ipa-prop.c (ipa_load_from_parm_agg_1): Adjust call to
768 get_ref_base_and_extent.
769 (compute_complex_assign_jump_func): Likewise.
770 (get_ancestor_addr_info): Likewise.
771 (compute_known_type_jump_func): Likewise.
772 (determine_known_aggregate_parts): Likewise.
773 (ipa_get_adjustment_candidate): Likewise.
774 (ipa_modify_call_arguments): Set REF_REVERSE_STORAGE_ORDER on
775 MEM_REF.
776 * ipa-prop.h (ipa_parm_adjustment): Add REVERSE field.
777 (build_ref_for_offset): Adjust prototype.
778 * simplify-rtx.c (delegitimize_mem_from_attrs): Adjust call to
779 get_inner_reference.
780 * tree-affine.c (tree_to_aff_combination): Adjust call to
781 get_inner_reference.
782 (get_inner_reference_aff): Likewise.
783 * tree-data-ref.c (split_constant_offset_1): Likewise.
784 (dr_analyze_innermost): Likewise. Bail out if reverse storage order.
785 * tree-scalar-evolution.c (interpret_rhs_expr): Adjust call to
786 get_inner_reference.
787 * tree-sra.c (struct access): Add REVERSE and move WRITE around.
788 (dump_access): Print new fields.
789 (create_access): Adjust call to get_ref_base_and_extent and set the
790 REVERSE flag according to the result.
791 (completely_scalarize_record): Set the REVERSE flag.
792 (scalarize_elem): Add REVERSE parameter.
793 (build_access_from_expr_1): Preserve storage order barriers.
794 (build_accesses_from_assign): Likewise.
795 (build_ref_for_offset): Add REVERSE parameter and set the
796 REF_REVERSE_STORAGE_ORDER flag accordingly.
797 (build_ref_for_model): Adjust call to build_ref_for_offset and clear
798 the REF_REVERSE_STORAGE_ORDER flag if there are components.
799 (analyze_access_subtree): Likewise.
800 (create_artificial_child_access): Set the REVERSE flag.
801 (get_access_for_expr): Adjust call to get_ref_base_and_extent.
802 (turn_representatives_into_adjustments): Propagate REVERSE flag.
803 (ipa_sra_check_caller): Adjust call to get_inner_reference.
804 * tree-ssa-alias.c (ao_ref_base): Adjust call to
805 get_ref_base_and_extent.
806 (aliasing_component_refs_p): Likewise.
807 (stmt_kills_ref_p_1): Likewise.
808 * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise.
809 * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p) <MEM_REF>: New.
810 Return true if reverse storage order.
811 <BIT_FIELD_REF>: Likewise.
812 <COMPONENT_REF>: Likewise.
813 <ARRAY_REF>: Likewise.
814 <ARRAY_RANGE_REF>: Likewise.
815 (split_address_cost): Likewise. Bail out if reverse storage order.
816 * tree-ssa-math-opts.c (find_bswap_or_nop_load): Adjust call to
817 get_inner_reference. Bail out if reverse storage order.
818 (bswap_replace): Adjust call to get_inner_reference.
819 * tree-ssa-pre.c (create_component_ref_by_pieces_1) <MEM_REF>: Set
820 the REF_REVERSE_STORAGE_ORDER flag.
821 <BIT_FIELD_REF>: Likewise.
822 * tree-ssa-sccvn.c (vn_reference_eq): Return false on storage order
823 barriers.
824 (copy_reference_ops_from_ref) <MEM_REF>: Set REVERSE field according
825 to the REF_REVERSE_STORAGE_ORDER flag.
826 <BIT_FIELD_REF>: Likewise.
827 <VIEW_CONVERT_EXPR>: Set it for storage order barriers.
828 (contains_storage_order_barrier_p): New predicate.
829 (vn_reference_lookup_3): Adjust calls to get_ref_base_and_extent.
830 Punt on storage order barriers if necessary.
831 * tree-ssa-sccvn.h (struct vn_reference_op_struct): Add REVERSE.
832 * tree-ssa-structalias.c (get_constraint_for_component_ref): Adjust
833 call to get_ref_base_and_extent.
834 (do_structure_copy): Likewise.
835 * tree-vect-data-refs.c (vect_check_gather): Adjust call to
836 get_inner_reference.
837 (vect_analyze_data_refs): Likewise. Bail out if reverse storage
838 order.
839 * tsan.c (instrument_expr): Adjust call to get_inner_reference.
840 * ubsan.c (instrument_bool_enum_load): Likewise.
841 (instrument_object_size): Likewise.
842 * var-tracking.c (track_expr_p): Adjust call to
843 get_ref_base_and_extent
844 * config/mips/mips.c (r10k_safe_mem_expr_p): Adjust call to
845 get_inner_reference.
846 * config/s390/s390.c (s390_expand_atomic): Adjust call to
847 store_bit_field.
848 * config/tilegx/tilegx.c (tilegx_expand_unaligned_load): Adjust call to
849 extract_bit_field.
850 * config/tilepro/tilepro.c (tilepro_expand_unaligned_load): Likewise.
851
852 2015-11-07 Eric Botcazou <ebotcazou@adacore.com>
853
854 * config/sparc/sparc.opt (mfix-at697f): Add final period.
855
856 2015-11-07 Segher Boessenkool <segher@kernel.crashing.org>
857
858 PR rtl-optimization/67864
859 * common/config/i386/i386-common.c (ix86_option_optimization_table)
860 <OPT_freorder_blocks_algorithm_>: Use REORDER_BLOCKS_ALGORITHM_STC
861 at -Os and up.
862
863 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
864
865 * trans-mem.c (is_tm_pure_call): Use gimple_call_flags for
866 internal functions.
867
868 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
869
870 * builtins.def: #undef DEF_BUILTIN and DEF_BUILTIN_CHKP
871 * builtins.c, genmatch.c, tree-core.h: Don't undef them here.
872
873 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
874
875 * internal-fn.def: #undef DEF_INTERNAL_FN at the end.
876 * internal-fn.c: Don't undef it here.
877 * tree-core.h: Likewise.
878
879 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
880
881 * builtins.c (fold_builtin_nan): Delete.
882 (fold_builtin_memcmp): Remove case where both arguments are constant.
883 (fold_builtin_strcmp, fold_builtin_strncmp): Likewise.
884 (fold_builtin_strspn, fold_builtin_strcspn): Likewise.
885 (fold_builtin_1): Remove BUILT_IN_NAN* handling.
886 * fold-const-call.c: Include fold-const.h.
887 (host_size_t_cst_p): New function.
888 (build_cmp_result, fold_const_builtin_nan): Likewise.
889 (fold_const_call_1): New function, split out from...
890 (fold_const_call): ...here (for all three interfaces). Handle
891 constant nan, nans, strlen, strcmp, strncmp, strspn and strcspn.
892
893 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
894
895 * builtins.c (fold_builtin_bitop, fold_builtin_bswap): Delete.
896 (fold_builtin_1): Don't call them.
897 * fold-const-call.c: Include tm.h.
898 (fold_const_call_ss): New variant for integer-to-integer folds.
899 (fold_const_call): Call it.
900
901 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
902
903 * builtins.c (fold_builtin_classify): Move constant cases to...
904 * fold-const-call.c (fold_const_call_ss): ...here.
905
906 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
907
908 * builtins.h (c_getstr): Move to...
909 * fold-const.h (c_getstr): ...here.
910 * builtins.c (c_getstr): Move to...
911 * fold-const.c (c_getstr): ...here.
912
913 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
914
915 * builtins.def (BUILTIN_RINT, BUILTIN_RINTF, BUILTIN_RINTL): Use
916 ATTR_MATHFN_FPROUNDING rather than ATTR_MATHFN_FPROUNDING_ERRNO.
917
918 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
919
920 * tree-call-cdce.c (shrink_wrap_one_built_in_call): Try to update
921 the dominance info; free it if we can't.
922 (pass_call_cdce::execute): Don't free the dominance info here.
923
924 2015-11-06 Jeff Law <law@redhat.com>
925
926 * tree-ssa-threadedge.c (dummy_simplify): Remove.
927 (thread_around_empty_blocks): Remove backedge_seen_p argument.
928 If we thread to a backedge, then return false. Update recursive
929 call to eliminate backedge_seen_p argument.
930 (thread_through_normal_block): Remove backedge_seen_p argument.
931 Remove backedge_seen_p argument from calls to
932 thread_around_empty_blocks. Remove checks on backedge_seen_p.
933 If we thread to a backedge, then return 0.
934 (thread_across_edge): Remove bookkeeping for backedge_seen. Don't
935 pass it to thread_through_normal_block or thread_through_empty_blocks.
936 For joiner handling, if we see a backedge, do not try normal
937 threading.
938
939 2015-11-06 Abderrazek Zaafrani <a.zaafrani@samsung.com>
940
941 * graphite-optimize-isl.c (optimize_isl): Call isl_union_map_is_equal.
942 * graphite-poly.c (new_scop): Initialize original_schedule.
943 (free_scop): Free original_schedule.
944 * graphite-poly.h (struct scop): Add field original_schedule.
945 * graphite-sese-to-poly.c (build_scop_original_schedule): New.
946 (build_poly_scop): Call build_scop_original_schedule.
947
948 2015-11-06 Abderrazek Zaafrani <a.zaafrani@samsung.com>
949
950 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove.
951 (build_pbb_minimal_scattering_polyhedrons): New.
952 (build_scop_scattering): Remove.
953 (build_scop_minimal_scattering): New.
954 (build_scop_scattering): Call build_pbb_minimal_scattering_polyhedrons.
955 (build_poly_scop): Call build_scop_minimal_scattering.
956
957 2015-11-06 Jeff Law <law@redhat.com>
958
959 * cfg-flags.def (IGNORE): New edge flag.
960 * tree-vrp.c (identify_jump_threads): Mark and clear edges
961 scheduled for removal with EDGE_IGNORE around call into
962 jump threader. Do no thread across edges with EDGE_IGNORE,
963 but do allow threading across those with EDGE_DFS_BACK.
964
965 2015-11-06 David Wohlferd <dw@LimeGreenSocks.com>
966
967 * doc/md.texi (multi-alternative constraints): Don't document
968 alternatives inherently tied to reload for the user documentation.
969
970 2015-11-06 Michael Collison <michael.collison@linaro.org
971 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
972
973 Revert:
974 2015-08-01 Michael Collison <michael.collison@linaro.org
975 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
976
977 * config/arm/arm.md (*arm_smin_cmp): New pattern.
978 (*arm_umin_cmp): Likewise.
979
980 2015-11-06 Jakub Jelinek <jakub@redhat.com>
981
982 * gimplify.c (gimplify_omp_ordered): Fix up diagnostics
983 wording.
984 * omp-low.c (check_omp_nesting_restrictions): Update for the
985 various new OpenMP 4.5 nesting restrictions, clarified
986 nesting glossary, closely nested region relationship clarified
987 to mean explicit or implicit parallel regions (target/teams),
988 use %</%> or %qs where appropriate.
989
990 2015-11-06 Aditya Kumar <aditya.k7@samsung.com>
991 Sebastian Pop <s.pop@samsung.com>
992
993 * graphite-scop-detection.c (loop_is_valid_scop): Call
994 optimize_loop_nest_for_speed_p.
995
996 2015-11-06 Aditya Kumar <aditya.k7@samsung.com>
997 Sebastian Pop <s.pop@samsung.com>
998
999 * graphite-optimize-isl.c (optimize_isl): Call
1000 isl_options_set_schedule_maximize_band_depth.
1001
1002 2015-11-06 Aditya Kumar <aditya.k7@samsung.com>
1003 Sebastian Pop <s.pop@samsung.com>
1004
1005 * graphite-scop-detection.c (scop_detection::merge_sese): Entry
1006 and exit edges should not be a part of irreducible loop.
1007 (scop_detection::can_represent_loop_1): Loops should not be
1008 irreducible.
1009 (scop_detection::harmful_stmt_in_region): All the basic block
1010 should belong to reducible loops.
1011
1012 2015-11-06 Christophe Lyon <christophe.lyon@linaro.org>
1013
1014 * config/aarch64/aarch64-simd-builtins.def: Update builtins
1015 tables: add tbl3v16qi, qtbl[34]*, tbx4v16qi, qtbx[34]*.
1016 * config/aarch64/aarch64-simd.md (aarch64_tbl3v8qi): Rename to...
1017 (aarch64_tbl3<mode>) ... this, which supports v16qi too.
1018 (aarch64_tbx4v8qi): Rename to...
1019 aarch64_tbx4<mode>): ... this.
1020 (aarch64_qtbl3<mode>): New pattern.
1021 (aarch64_qtbx3<mode>): New pattern.
1022 (aarch64_qtbl4<mode>): New pattern.
1023 (aarch64_qtbx4<mode>): New pattern.
1024 * config/aarch64/arm_neon.h (vqtbl2_s8, vqtbl2_u8, vqtbl2_p8)
1025 (vqtbl2q_s8, vqtbl2q_u8, vqtbl2q_p8, vqtbl3_s8, vqtbl3_u8)
1026 (vqtbl3_p8, vqtbl3q_s8, vqtbl3q_u8, vqtbl3q_p8, vqtbl4_s8)
1027 (vqtbl4_u8, vqtbl4_p8, vqtbl4q_s8, vqtbl4q_u8, vqtbl4q_p8)
1028 (vqtbx2_s8, vqtbx2_u8, vqtbx2_p8, vqtbx2q_s8, vqtbx2q_u8)
1029 (vqtbx2q_p8, vqtbx3_s8, vqtbx3_u8, vqtbx3_p8, vqtbx3q_s8)
1030 (vqtbx3q_u8, vqtbx3q_p8, vqtbx4_s8, vqtbx4_u8, vqtbx4_p8)
1031 (vqtbx4q_s8, vqtbx4q_u8, vqtbx4q_p8): Rewrite using builtin
1032 functions.
1033
1034 2015-11-06 Mike Stump <mikestump@comcast.net>
1035
1036 PR debug/66728
1037 * dwarf2out.c (get_full_len): Return a value based upon the actual
1038 precision needed for the value.
1039 (add_const_value_attribute): Use a maximal wide-int for
1040 CONST_WIDE_INTs, not VOIDmode.
1041 (output_die): Don't ever output NULL with printf.
1042
1043 * rtl.h (get_precision of rtx_mode_t): Ensure we never process
1044 BLKmode nor VOIDmode values.
1045
1046 2015-11-06 David Malcolm <dmalcolm@redhat.com>
1047
1048 * diagnostic-color.c (color_dict): Eliminate "caret"; add "range1"
1049 and "range2".
1050 (parse_gcc_colors): Update comment to describe default GCC_COLORS.
1051 * diagnostic-core.h (warning_at_rich_loc): New declaration.
1052 (error_at_rich_loc): New declaration.
1053 (permerror_at_rich_loc): New declaration.
1054 (inform_at_rich_loc): New declaration.
1055 * diagnostic-show-locus.c (adjust_line): Delete.
1056 (struct point_state): New struct.
1057 (class colorizer): New class.
1058 (class layout_point): New class.
1059 (class layout_range): New class.
1060 (struct line_bounds): New.
1061 (class layout): New class.
1062 (colorizer::colorizer): New ctor.
1063 (colorizer::~colorizer): New dtor.
1064 (layout::layout): New ctor.
1065 (layout::print_source_line): New method.
1066 (layout::print_annotation_line): New method.
1067 (layout::get_state_at_point): New method.
1068 (layout::get_x_bound_for_row): New method.
1069 (diagnostic_show_locus): Reimplement in terms of class layout.
1070 (diagnostic_print_caret_line): Delete.
1071 * diagnostic.c (diagnostic_initialize): Replace
1072 MAX_LOCATIONS_PER_MESSAGE with rich_location::MAX_RANGES.
1073 (diagnostic_set_info_translated): Convert param from location_t
1074 to rich_location *. Eliminate calls to set_location on the
1075 message in favor of storing the rich_location ptr there.
1076 (diagnostic_set_info): Convert param from location_t to
1077 rich_location *.
1078 (diagnostic_build_prefix): Break out array into...
1079 (diagnostic_kind_color): New variable.
1080 (diagnostic_get_color_for_kind): New function.
1081 (diagnostic_report_diagnostic): Colorize the option_text
1082 using the color for the severity.
1083 (diagnostic_append_note): Update for change in signature of
1084 diagnostic_set_info.
1085 (diagnostic_append_note_at_rich_loc): New function.
1086 (emit_diagnostic): Update for change in signature of
1087 diagnostic_set_info.
1088 (inform): Likewise.
1089 (inform_at_rich_loc): New function.
1090 (inform_n): Update for change in signature of diagnostic_set_info.
1091 (warning): Likewise.
1092 (warning_at): Likewise.
1093 (warning_at_rich_loc): New function.
1094 (warning_n): Update for change in signature of diagnostic_set_info.
1095 (pedwarn): Likewise.
1096 (permerror): Likewise.
1097 (permerror_at_rich_loc): New function.
1098 (error): Update for change in signature of diagnostic_set_info.
1099 (error_n): Likewise.
1100 (error_at): Likewise.
1101 (error_at_rich_loc): New function.
1102 (sorry): Update for change in signature of diagnostic_set_info.
1103 (fatal_error): Likewise.
1104 (internal_error): Likewise.
1105 (internal_error_no_backtrace): Likewise.
1106 (source_range::debug): New function.
1107 * diagnostic.h (struct diagnostic_info): Eliminate field
1108 "override_column". Add field "richloc".
1109 (struct diagnostic_context): Add field "colorize_source_p".
1110 (diagnostic_override_column): Delete.
1111 (diagnostic_set_info): Convert param from location_t to
1112 rich_location *.
1113 (diagnostic_set_info_translated): Likewise.
1114 (diagnostic_append_note_at_rich_loc): New function.
1115 (diagnostic_num_locations): New function.
1116 (diagnostic_expand_location): Get the location from the
1117 rich_location.
1118 (diagnostic_print_caret_line): Delete.
1119 (diagnostic_get_color_for_kind): New declaration.
1120 * genmatch.c (linemap_client_expand_location_to_spelling_point): New.
1121 (error_cb): Update for change in signature of "error" callback.
1122 (fatal_at): Likewise.
1123 (warning_at): Likewise.
1124 * input.c (linemap_client_expand_location_to_spelling_point): New.
1125 * pretty-print.c (text_info::set_range): New method.
1126 (text_info::get_location): New method.
1127 * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): Eliminate this macro.
1128 (struct text_info): Eliminate "locations" array in favor of
1129 "m_richloc", a rich_location *.
1130 (textinfo::set_location): Add a "caret_p" param, and reimplement
1131 in terms of a call to set_range.
1132 (textinfo::get_location): Eliminate inline implementation in favor of
1133 an out-of-line reimplementation.
1134 (textinfo::set_range): New method.
1135 * rtl-error.c (diagnostic_for_asm): Update for change in signature
1136 of diagnostic_set_info.
1137 * tree-diagnostic.c (default_tree_printer): Update for new
1138 "caret_p" param for textinfo::set_location.
1139 * tree-pretty-print.c (percent_K_format): Likewise.
1140
1141 2015-11-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1142
1143 Properly apply.
1144 2015-11-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1145 * config/aarch64/aarch64.c
1146 (aarch64_can_use_per_function_literal_pools_p): New.
1147 (aarch64_use_blocks_for_constant_p): Adjust declaration
1148 and use aarch64_can_use_function_literal_pools_p.
1149 (aarch64_select_rtx_section): Update.
1150
1151 2015-11-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1152
1153 * config/arm/arm-ldmstm.ml: Rewrite to generate unified asm templates.
1154 * config/arm/arm.c (arm_asm_trampoline_template): Make unified asm safe.
1155 (arm_output_multireg_pop): Likewise.
1156 (output_move_double): Likewise.
1157 (output_move_quad): Likewise.
1158 (output_return_instruction): Likewise.
1159 (arm_print_operand): Remove support for %( and %. print modifiers.
1160 (arm_output_shift): Make unified asm.
1161 (arm_declare_function_name): Likewise.
1162 * config/arm/arm.h (TARGET_UNIFIED_ASM): Delete.
1163 (ASM_APP_OFF): Adjust.
1164 (ASM_OUTPUT_REG_PUSH): Undo special casing for TARGET_ARM.
1165 (ASM_OUTPUT_REG_POP): Likewise.
1166 * config/arm/arm.md: Adjust uses of %., %(, %)
1167 * config/arm/sync.md: Likewise.
1168 * config/arm/thumb2.md: Likewise.
1169 * config/arm/ldmstm.md: Regenerate.
1170 * config/arm/arm.opt (masm-unified-syntax): Do not special case Thumb.
1171 * doc/invoke.texi (masm-unified-syntax): Update documentation.
1172
1173 2015-11-06 David Malcolm <dmalcolm@redhat.com>
1174
1175 * input.c (dump_line_table_statistics): Dump stats on adhoc table.
1176
1177 2015-11-07 Jan Hubicka <hubicka@ucw.cz>
1178
1179 * tree-core.h (size_type_kind): Remove OEP_CONSTANT_ADDRESS_OF and
1180 add OEP_MATCH_SIDE_EFFECTS.
1181 * fold-const.c (operand_equal_p): Update documentation; handle
1182 OEP_MATCH_SIDE_EFFECTS.
1183 * tree-ssa-tail-merge.c (gimple_operand_equal_value_p): Use
1184 OEP_MATCH_SIDE_EFFECTS.
1185
1186 2015-11-06 Benedikt Huber <benedikt.huber@theobroma-systems.com>
1187 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
1188
1189 * config/aarch64/aarch64-builtins.c: Builtins for rsqrt and rsqrtf.
1190 * config/aarch64/aarch64-protos.h: Declare.
1191 * config/aarch64/aarch64-simd.md: Matching expressions for frsqrte and
1192 frsqrts.
1193 * config/aarch64/aarch64-tuning-flags.def: Added recip_sqrt.
1194 * config/aarch64/aarch64.c: New functions. Emit rsqrt estimation
1195 code when applicable.
1196 * config/aarch64/aarch64.md: Added enum entries.
1197 * config/aarch64/aarch64.opt: Added option -mlow-precision-recip-sqrt.
1198 * testsuite/gcc.target/aarch64/rsqrt_asm_check_common.h: Common
1199 macros for assembly checks.
1200 * testsuite/gcc.target/aarch64/rsqrt_asm_check_negative_1.c: Make sure
1201 frsqrts and frsqrte are not emitted.
1202 * testsuite/gcc.target/aarch64/rsqrt_asm_check_1.c: Make sure
1203 frsqrts and frsqrte are emitted.
1204 * testsuite/gcc.target/aarch64/rsqrt_1.c: Functional tests for rsqrt.
1205
1206 2015-11-07 Jan Hubicka <hubicka@ucw.cz>
1207
1208 PR ipa/68057
1209 PR ipa/68220
1210 * ipa-polymorphic-call.c
1211 (ipa_polymorphic_call_context::restrict_to_inner_type): Fix ordering
1212 issue when offset is out of range.
1213 (contains_type_p): Fix out of range check, clear dynamic flag.
1214
1215 2015-11-06 Arnout Vandecappelle <arnout@mind.be>
1216
1217 * config.gcc (e6500): Fix cpu_is_64bit typo.
1218
1219 2015-11-06 Alan Lawrence <alan.lawrence@arm.com>
1220
1221 * tree-sra.c (completely_scalarize): Properly handle negative array
1222 indices using offset_int.
1223
1224 2015-11-06 Richard Biener <rguenther@suse.de>
1225
1226 * alloc-pool.h (object_allocator::allocate): Default-initialize
1227 object.
1228
1229 2015-11-06 Richard Biener <rguenther@suse.de>
1230
1231 * tree-ssa-sccvn.c (class sccvn_dom_walker): Add destructor.
1232 * lra.c (init_reg_info): Truncate copy_vec instead of
1233 re-allocating a new one and leaking the old.
1234 * ipa-inline-analysis.c (estimate_function_body_sizes): Free
1235 bb_infos vec.
1236 * sched-deps.c (sched_deps_finish): Free the dn/dl pools.
1237 * postreload-gcse.c (free_mem): Free modify_mem_list and
1238 canon_modify_mem_list.
1239
1240 2015-11-06 Ilya Enkovich <enkovich.gnu@gmail.com>
1241
1242 PR tree-optimization/68145
1243 * tree-vect-stmts.c (vectorizable_operation): Fix
1244 determination for booleans.
1245
1246 2015-11-06 Tom de Vries <tom@codesourcery.com>
1247
1248 * tree-cfg.c (gimple_split_block_before_cond_jump): Split before
1249 cond_jump, instead of split after last nondebug insn before cond_jump.
1250 * tree-parloops.c (transform_to_exit_first_loop_alt): Verify ssa before
1251 returning.
1252
1253 2015-11-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1254
1255 PR target/68088
1256 * config/arm/aarch-common.c (aarch_accumulator_forwarding): Strip
1257 subregs from accumulator and make sure it's a register.
1258
1259 2015-11-06 Simon Dardis <simon.dardis@imgtec.com>
1260
1261 * config/mips/loongson.md (vec_loongson_extract_lo_<mode>): New, extract
1262 low part to scalar.
1263 (reduc_uplus_<mode>): Remove.
1264 (reduc_plus_scal_<mode>): Rename from reduc_splus_<mode>, Use vec
1265 loongson_extract_lo_<mode>.
1266 (reduc_smax_scal_<mode>, reduc_smin_scal_<mode>): Rename from
1267 reduc_smax_<mode>, reduc_smax_<mode>, use vec
1268 loongson_extract_lo_<mode>.
1269 (reduc_umax_scal_<mode>, reduc_umin_scal_<mode>): Rename.
1270
1271 2015-11-06 Richard Biener <rguenther@suse.de>
1272
1273 * tree-vectorizer.h (struct _bb_vec_info): Add region_begin/end
1274 members.
1275 (vect_stmt_in_region_p): Declare.
1276 * tree-vect-slp.c (new_bb_vec_info): Work on a region.
1277 (destroy_bb_vec_info): Likewise.
1278 (vect_bb_slp_scalar_cost): Use vect_stmt_in_region_p.
1279 (vect_get_and_check_slp_defs): Likewise.
1280 (vect_slp_analyze_bb_1): Refactor to make it work on sub-BBs.
1281 (vect_slp_bb): Likewise.
1282 * tree-vect-patterns.c (vect_same_loop_or_bb_p): Implement
1283 in terms of vect_stmt_in_region_p.
1284 (vect_pattern_recog): Iterate over the BB region.
1285 * tree-vect-stmts.c (vect_is_simple_use): Use vect_stmt_in_region_p.
1286 * tree-vectorizer.c (vect_stmt_in_region_p): New function.
1287 (pass_slp_vectorize::execute): Initialize all stmt UIDs to -1.
1288 * config/i386/i386.c: Include gimple-iterator.h.
1289 * config/aarch64/aarch64.c: Likewise.
1290
1291 2015-11-06 Alexandre Oliva <aoliva@redhat.com>
1292
1293 PR rtl-optimization/67753
1294 PR rtl-optimization/64164
1295 * function.c (assign_parm_setup_block): Avoid allocating a
1296 stack slot if we don't have an ABI-reserved one. Emit the
1297 copy to target_reg in the conversion seq if the copy from
1298 entry_parm is in it too. Don't use the conversion seq to copy
1299 a PARALLEL to a REG or a CONCAT.
1300
1301 2015-11-06 Richard Biener <rguenther@suse.de>
1302
1303 * tree-hash-traits.h (tree_operand_hash): Provide equal, not
1304 equal_keys.
1305
1306 2015-11-05 Cesar Philippidis <cesar@codesourcery.com>
1307 Thomas Schwinge <thomas@codesourcery.com>
1308 James Norris <jnorris@codesourcery.com>
1309
1310
1311 * gimplify.c (gimplify_scan_omp_clauses): Add support for
1312 OMP_CLAUSE_TILE. Update handling of OMP_CLAUSE_INDEPENDENT.
1313 (gimplify_adjust_omp_clauses): Likewise.
1314 * omp-low.c (scan_sharing_clauses): Add support for OMP_CLAUSE_TILE.
1315 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_TILE.
1316 * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_TILE.
1317 * tree.c (omp_clause_num_ops): Add an entry for OMP_CLAUSE_TILE.
1318 (omp_clause_code_name): Likewise.
1319 (walk_tree_1): Handle OMP_CLAUSE_TILE.
1320 * tree.h (OMP_TILE_LIST): New macro.
1321
1322 2015-11-05 Martin Sebor <msebor@redhat.com>
1323
1324 PR c++/67942
1325 * doc/invoke.texi (-Wplacement-new): Document new option.
1326
1327 2015-11-05 Alan Lawrence <alan.lawrence@arm.com>
1328
1329 PR tree-optimization/65963
1330 * tree-scalar-evolution.c (interpret_rhs_expr): Try to handle
1331 LSHIFT_EXPRs as equivalent unsigned MULT_EXPRs.
1332
1333 2015-11-05 James Greenhalgh <james.greenhalgh@arm.com>
1334
1335 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): New.
1336 (noce_convert_multiple_sets): Likewise.
1337 (noce_process_if_block): Call them.
1338
1339 2015-11-05 Nathan Sidwell <nathan@codesourcery.com>
1340
1341 * gimple-fold.c: Include omp-low.h.
1342 (fold_internal_goacc_dim): New.
1343 (gimple_fold_call): Call it.
1344
1345 2015-11-05 Jakub Jelinek <jakub@redhat.com>
1346 Ilya Verbin <ilya.verbin@intel.com>
1347
1348 * builtin-types.def
1349 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR): Remove.
1350 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): New.
1351 * cgraph.h (enum cgraph_simd_clone_arg_type): Add
1352 SIMD_CLONE_ARG_TYPE_LINEAR_REF_VARIABLE_STEP,
1353 SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_VARIABLE_STEP and
1354 SIMD_CLONE_ARG_TYPE_LINEAR_VAL_VARIABLE_STEP.
1355 (struct cgraph_simd_clone_arg): Adjust comment.
1356 * omp-builtins.def (BUILT_IN_GOMP_TARGET): Rename GOMP_target_41
1357 to GOMP_target_ext. Add num_teams and thread_limit arguments.
1358 (BUILT_IN_GOMP_TARGET_DATA): Rename GOMP_target_data_41
1359 to GOMP_target_data_ext.
1360 (BUILT_IN_GOMP_TARGET_UPDATE): Rename GOMP_target_update_41
1361 to GOMP_target_update_ext.
1362 (BUILT_IN_GOMP_LOOP_NONMONOTONIC_DYNAMIC_START,
1363 BUILT_IN_GOMP_LOOP_NONMONOTONIC_GUIDED_START,
1364 BUILT_IN_GOMP_LOOP_NONMONOTONIC_DYNAMIC_NEXT,
1365 BUILT_IN_GOMP_LOOP_NONMONOTONIC_GUIDED_NEXT,
1366 BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_START,
1367 BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_START,
1368 BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_NEXT,
1369 BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_NEXT,
1370 BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_DYNAMIC,
1371 BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_GUIDED): New built-ins.
1372 * tree-core.h (enum omp_clause_schedule_kind): Add
1373 OMP_CLAUSE_SCHEDULE_MASK, OMP_CLAUSE_SCHEDULE_MONOTONIC,
1374 OMP_CLAUSE_SCHEDULE_NONMONOTONIC and change
1375 OMP_CLAUSE_SCHEDULE_LAST value.
1376 * tree.def (OMP_SIMD, CILK_SIMD, CILK_FOR, OMP_DISTRIBUTE,
1377 OMP_TASKLOOP, OACC_LOOP): Add OMP_FOR_ORIG_DECLS argument.
1378 * tree.h (OMP_FOR_ORIG_DECLS): Use OMP_LOOP_CHECK instead of
1379 OMP_FOR_CHECK. Remove comment.
1380 * tree-pretty-print.c (dump_omp_clause): Handle
1381 GOMP_MAP_FIRSTPRIVATE_REFERENCE and GOMP_MAP_ALWAYS_POINTER.
1382 Simplify. Print schedule clause modifiers.
1383 * tree-vect-stmts.c (vectorizable_simd_clone_call): Add
1384 SIMD_CLONE_ARG_TYPE_LINEAR_{REF,VAL,UVAL}_VARIABLE_STEP
1385 cases.
1386 * gimplify.c (enum gimplify_omp_var_data): Add GOVD_MAP_ALWAYS_TO.
1387 (omp_default_clause): Tweak for
1388 private/firstprivate/is_device_ptr variables on target
1389 construct and use_device_ptr on target data.
1390 (omp_check_private): Likewise.
1391 (omp_notice_variable): For references check whether what it refers
1392 to has mappable type, rather than the reference itself.
1393 (omp_is_private): Diagnose linear iteration variables on non-simd
1394 constructs.
1395 (omp_no_lastprivate): Return true only for Fortran.
1396 (gimplify_scan_omp_clauses): Or in GOVD_MAP_ALWAYS_TO for
1397 GOMP_MAP_ALWAYS_TO or GOMP_MAP_ALWAYS_TOFROM kinds.
1398 Add support for GOMP_MAP_FIRSTPRIVATE_REFERENCE and
1399 GOMP_MAP_ALWAYS_POINTER, remove old handling of structure element
1400 based array sections. Use GOMP_MAP_ALWAYS_P. Fix up handling of
1401 lastprivate and linear when combined with distribute. Gimplify
1402 variable low-bound for array reduction. Look through
1403 POINTER_PLUS_EXPR when looking for ADDR_EXPR for array section
1404 reductions.
1405 (gimplify_adjust_omp_clauses_1): For implicit references to
1406 variables with reference type and when not ref to scalar or
1407 ref to pointer, map what they refer to using tofrom and
1408 use GOMP_MAP_FIRSTPRIVATE_REFERENCE for the reference.
1409 (gimplify_adjust_omp_clauses): Remove GOMP_MAP_ALWAYS_POINTER
1410 from target exit data. Handle GOMP_MAP_FIRSTPRIVATE_REFERENCE.
1411 Drop OMP_CLAUSE_MAP_PRIVATE support. Use GOMP_MAP_ALWAYS_P.
1412 Diagnose the same var on both firstprivate and lastprivate on
1413 distribute construct.
1414 (gimplify_omp_for): Fix up handling of predetermined
1415 lastprivate or linear iter vars when combined with distribute.
1416 (find_omp_teams, computable_teams_clause, optimize_target_teams): New
1417 functions.
1418 (gimplify_omp_workshare): Call optimize_target_teams.
1419 * omp-low.c (struct omp_region): Add sched_modifiers field.
1420 (struct omp_for_data): Likewise.
1421 (omp_any_child_fn_dumped): New variable.
1422 (extract_omp_for_data): Fill in sched_modifiers, and mask out
1423 OMP_CLAUSE_SCHEDULE_KIND bits outside of OMP_CLAUSE_SCHEDULE_MASK
1424 from sched_kind.
1425 (determine_parallel_type): Use only OMP_CLAUSE_SCHEDULE_MASK
1426 bits of OMP_CLAUSE_SCHED_KIND.
1427 (scan_sharing_clauses): Handle GOMP_MAP_FIRSTPRIVATE_REFERENCE,
1428 drop OMP_CLAUSE_MAP_PRIVATE support. Look through POINTER_PLUS_EXPR
1429 for array section reductions.
1430 (add_taskreg_looptemp_clauses): Add one extra _looptemp_ clause even
1431 for distribute parallel for, if there are lastprivate clauses on the
1432 for.
1433 (lower_rec_input_clauses): Handle non-zero low-bound on array
1434 section reductions.
1435 (lower_reduction_clauses): Likewise.
1436 (lower_send_clauses): Look through POINTER_PLUS_EXPR
1437 for array section reductions.
1438 (expand_parallel_call): Use nonmonotonic entrypoints for
1439 nonmonotonic: dynamic/guided.
1440 (expand_omp_taskreg): Call assign_assembler_name_if_neeeded on
1441 child_fn if current_function_decl has assembler name set, but child_fn
1442 does not. Dump the header and IL of the child function when not in SSA
1443 form.
1444 (expand_omp_target): Likewise. Pass num_teams and thread_limit
1445 arguments to BUILT_IN_GOMP_TARGET.
1446 (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
1447 Initialize the extra _looptemp_ clause to fd->loop.n2.
1448 (expand_omp_for): Use nonmonotonic entrypoints for
1449 nonmonotonic: dynamic/guided. Initialize region->sched_modifiers.
1450 (expand_omp): Clear omp_any_child_fn_dumped. Dump function header
1451 again if we have dumped any child functions.
1452 (lower_omp_for_lastprivate): Determine the right count variable
1453 for distribute simd, or distribute parallel for{, simd}.
1454 (lower_omp_target): Handle GOMP_MAP_FIRSTPRIVATE_REFERENCE
1455 and GOMP_MAP_ALWAYS_POINTER. Drop OMP_CLAUSE_MAP_PRIVATE
1456 support.
1457 (simd_clone_clauses_extract): Handle variable step
1458 for references and arguments passed by reference.
1459 (simd_clone_mangle): Mangle ref/uval/val variable steps.
1460 (simd_clone_adjust_argument_types): Handle
1461 SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_VARIABLE_STEP like
1462 SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP and
1463 SIMD_CLONE_ARG_TYPE_LINEAR_VAL_VARIABLE_STEP like
1464 SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP.
1465 (simd_clone_linear_addend): New function.
1466 (simd_clone_adjust): Handle variable step like similarly
1467 to constant step, use simd_clone_linear_addend to determine
1468 the actual step at runtime.
1469
1470 2015-11-05 Nathan Sidwell <nathan@codesourcery.com>
1471
1472 * target.def (goacc.dim_limit): New hook.
1473 * targhooks.h (default_goacc_dim_limit): Declare.
1474 * doc/tm.texi.in (TARGET_GOACC_DIM_LIMIT): Add.
1475 * doc/tm.texi: Rebuilt.
1476 * omp-low.h (get_oacc_fn_dim_size, get_oacc_ifn_dim_arg): Declare.
1477 * omp-low.c (get_oacc_fn_dim_size, get_oacc_ifn_dim_arg): New.
1478 (default_goacc_dim_limit): New.
1479 * config/nvptx/nvptx.c (PTX_VECTOR_LENGTH, PTX_WORKER_LENGTH): New.
1480 (nvptx_goacc_dim_limit) New.
1481 (TARGET_GOACC_DIM_LIMIT): Override.
1482 * tree-vrp.c: Include omp-low.h, target.h.
1483 (extract_range_basic): Add handling for IFN_GOACC_DIM_SIZE &
1484 IFN_GOACC_DIM_POS.
1485
1486 2015-11-05 Ilya Enkovich <enkovich.gnu@gmail.com>
1487
1488 * tree-vect-generic.c (do_compare): Use -1 for true
1489 result instead of 1.
1490
1491 2015-11-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1492
1493 * config/aarch64/aarch64.c
1494 (aarch64_can_use_per_function_literal_pools_p): New.
1495 (aarch64_use_blocks_for_constant_p): Adjust declaration
1496 and use aarch64_can_use_function_literal_pools_p.
1497 (aarch64_select_rtx_section): Update.
1498
1499 2015-11-05 Ilya Enkovich <enkovich.gnu@gmail.com>
1500
1501 * targhooks.c (default_get_mask_mode): Use BLKmode in
1502 case target doesn't support required vector mode.
1503 * stor-layout.c (layout_type); Check for BLKmode.
1504
1505 2015-11-04 Aditya Kumar <aditya.k7@samsung.com>
1506 Sebastian Pop <s.pop@samsung.com>
1507
1508 * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
1509 Remove use of parameter_rename_map.
1510 (copy_def): Remove.
1511 (copy_internal_parameters): Remove.
1512 (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
1513 * sese.c (new_sese_info): Do not initialize parameter_rename_map.
1514 (free_sese_info): Do not free parameter_rename_map.
1515 (set_rename): Do not use parameter_rename_map.
1516 (rename_uses): Update call to set_rename.
1517 (graphite_copy_stmts_from_block): Do not use parameter_rename_map.
1518 * sese.h (parameter_rename_map_t): Remove.
1519 (struct sese_info_t): Remove field parameter_rename_map.
1520
1521 2015-11-04 Aditya Kumar <aditya.k7@samsung.com>
1522 Sebastian Pop <s.pop@samsung.com>
1523
1524 * graphite-isl-ast-to-gimple.c: Include tree-cfg.h.
1525 (translate_isl_ast_node_user): Add more dumps: call print_loops_bb.
1526 * graphite-scop-detection.c (dot_all_scops_1): Moved out of
1527 anonymous namespace.
1528 * graphite-sese-to-poly.c (ssa_name_version_typesize): Remove.
1529 (isl_id_for_pbb): Use a buffer of size 10.
1530 (isl_id_for_ssa_name): Same.
1531 * sese.c (set_rename): Add more dumps.
1532
1533 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
1534
1535 * omp-low.c (struct omp_context): Remove reduction_map field.
1536 (lookup_oacc_reduction, maybe_lookup_oacc_reduction): Delete.
1537 (new_omp_context, delete_omp_context, scan_omp_target): Remove
1538 reduction_map handling.
1539 (lower_omp_target): Remove obsolete openacc reduction handling.
1540
1541 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
1542
1543 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Add checking.
1544
1545 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
1546 Cesar Philippidis <cesar@codesourcery.com>
1547
1548 * config/nvptx/nvptx.c: Include gimple headers.
1549 (worker_red_size, worker_red_align, worker_red_name,
1550 worker_red_sym): New.
1551 (nvptx_option_override): Initialize worker reduction buffer.
1552 (nvptx_file_end): Write out worker reduction buffer var.
1553 (nvptx_expand_shuffle, nvptx_expand_worker_addr,
1554 nvptx_expand_cmp_swap): New builtin expanders.
1555 (enum nvptx_builtins): New.
1556 (nvptx_builtin_decls): New.
1557 (nvptx_builtin_decl, nvptx_init_builtins, nvptx_expand_builtin): New
1558 (PTX_VECTOR_LENGTH, PTX_WORKER_LENGTH): New.
1559 (nvptx_get_worker_red_addr, nvptx_generate_vector_shuffle,
1560 nvptx_lockless_update): New helpers.
1561 (nvptx_goacc_reduction_setup, nvptx_goacc_reduction_init,
1562 nvptx_goacc_reduction_fini, nvptx_goacc_reduction_teaddown): New.
1563 (nvptx_goacc_reduction): New.
1564 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN,
1565 TARGET_BUILTIN_DECL): Override.
1566 (TARGET_GOACC_REDUCTION): Override.
1567
1568 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
1569 Cesar Philippidis <cesar@codesourcery.com>
1570
1571 * internal-fn.def (GOACC_REDUCTION): New.
1572 * internal-fn.h (enum ifn_goacc_reduction_kind): New.
1573 * internal-fn.c (expand_GOACC_REDUCTION): New.
1574 * target.def (goacc.reduction): New OpenACC hook.
1575 * targhooks.h (default_goacc_reduction): Declare.
1576 * doc/tm.texi.in: Add TARGET_GOACC_REDUCTION.
1577 * doc/tm.texi: Rebuilt.
1578 * omp-low.c (oacc_get_reduction_array_id, oacc_max_threads,
1579 scan_sharing_clauses): Remove oacc reduction handling here.
1580 (lower_rec_input_clauses): Don't handle OpenACC reductions here.
1581 (oacc_lower_reduction_var_helper): Delete.
1582 (lower_oacc_reductions): New.
1583 (lower_reduction_clauses): Don't handle OpenACC reductions here.
1584 (lower_oacc_head_tail): Call lower_oacc_reductions.
1585 (oacc_gimple_assign, oacc_init_reduction_array,
1586 oacc_initialize_reduction_data, oacc_finalize_reduction_data,
1587 oacc_process_reduction_data): Delete.
1588 (lower_omp_target): Remove old OpenACC reduction handling. Insert
1589 dummy OpenACC gang reduction for reductions at outer level.
1590 (oacc_loop_xform_head_tail): Transform IFN_GOACC_REDUCTION.
1591 (default_goacc_reduction): New.
1592 (execute_oacc_device_lower): Handle IFN_GOACC_REDUCTION.
1593
1594 2015-11-04 Martin Liska <mliska@suse.cz>
1595
1596 * cgraphunit.c (cgraph_node::expand_thunk): Call
1597 allocate_struct_function before init_function_start.
1598 (cgraph_node::expand): Use push_cfun and pop_cfun.
1599 * config/i386/i386.c (ix86_code_end): Call
1600 allocate_struct_function before init_function_start.
1601 * config/rs6000/rs6000.c (rs6000_code_end): Likewise.
1602 * function.c (init_function_start): Move preamble to all
1603 callers.
1604 * passes.c (do_per_function_toporder): Use push_cfun and pop_cfun.
1605 (execute_one_pass): Handle newly added TODO_discard_function.
1606 (execute_pass_list_1): Terminate if cfun equals to NULL.
1607 (execute_pass_list): Do not push and pop cfun, expect that
1608 cfun is set.
1609 * tree-pass.h (TODO_discard_function): Define.
1610
1611 2015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
1612
1613 * cfganal.c (inverted_post_order_compute): Remove conditional
1614 compilation, use flag_checking.
1615 * config.in: Regenerate.
1616 * configure: Regenerate.
1617 * configure.ac: Remove ENABLE_CHECKING.
1618 * genconditions.c: Do not #undef ENABLE_CHECKING.
1619 * sese.h (bb_in_region): Comment out broken check.
1620 * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa_1): Remove
1621 conditional compilation, use flag_checking.
1622
1623 2015-11-04 Tom de Vries <tom@codesourcery.com>
1624
1625 PR tree-optimization/67742
1626 * tree-ssa-structalias.c (struct fieldoff): Add restrict_pointed_type
1627 field.
1628 (push_fields_onto_fieldstack): Handle restrict_pointed_type field.
1629 (create_variable_info_for_1): Add and handle handle_param parameter.
1630 Add restrict handling.
1631 (create_variable_info_for): Call create_variable_info_for_1 with extra
1632 arg.
1633 (make_param_constraints): Drop restrict_name parameter. Ignore
1634 vi->only_restrict_pointers.
1635 (intra_create_variable_infos): Call create_variable_info_for_1 with
1636 extra arg. Remove restrict handling. Call make_param_constraints with
1637 one fewer arg.
1638
1639 2015-11-04 Tom de Vries <tom@codesourcery.com>
1640
1641 * tree-ssa-structalias.c (create_variable_info_for_1): Use decl_type
1642 variable.
1643
1644 2015-11-03 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1645
1646 * config/arm/coff.h: Remove.
1647
1648 2015-11-03 Eric Botcazou <ebotcazou@adacore.com>
1649
1650 * gimple-expr.c (useless_type_conversion_p): Reinstate type canonical
1651 check for aggregate types and beef up comment for mode check.
1652
1653 2015-11-03 Richard Biener <rguenther@suse.de>
1654
1655 * tree-vect-data-refs.c (vect_analyze_data_refs): Do not collect
1656 data references here.
1657 * tree-vect-loop.c: Include cgraph.h.
1658 (vect_analyze_loop_2): Collect data references here.
1659 * tree-vect-slp.c (find_bb_location): Inline ...
1660 (vect_slp_bb): ... here. Renamed from vect_slp_analyze_bb.
1661 Factor in vect_slp_transform_bb.
1662 (vect_slp_transform_bb): Removed.
1663 (vect_slp_analyze_bb_1): Collect data references here.
1664 * tree-vectorizer.c (pass_slp_vectorize::execute): Call
1665 vect_slp_bb.
1666 * tree-vectorizer.h (vect_slp_bb): Declare.
1667 (vect_slp_analyze_bb): Remove.
1668 (vect_slp_transform_bb): Remove.
1669 (find_bb_location): Remove.
1670 (vect_analyze_data_refs): Remove stmt count reference parameter.
1671
1672 2015-11-03 Evgeny Stupachenko <evstupac@gmail.com>
1673
1674 * multiple_target.c (create_dispatcher_calls): Add target check
1675 on ifunc.
1676 (create_target_clone): Change assembler name for versioned declarations.
1677
1678 2015-11-03 Thomas Schwinge <thomas@codesourcery.com>
1679 Chung-Lin Tang <cltang@codesourcery.com>
1680
1681 * builtins.def (DEF_GOMP_BUILTIN): Enable for flag_openacc.
1682 * omp-low.c (check_omp_nesting_restrictions): Allow
1683 GIMPLE_OMP_ATOMIC_LOAD, GIMPLE_OMP_ATOMIC_STORE inside OpenACC
1684 contexts.
1685
1686 2015-11-03 Bilyan Borisov <bilyan.borisov@arm.com>
1687
1688 * config/aarch64/aarch64-simd-builtins.def (fmulx): New.
1689 * config/aarch64/aarch64-simd.md (aarch64_fmulx<mode>): New.
1690 * config/aarch64/arm_neon.h (vmulx_f32): Rewrite to call fmulx
1691 builtin.
1692 (vmulxq_f32): Likewise.
1693 (vmulx_f64): New.
1694 (vmulxq_f64): Rewrite to call fmulx builtin.
1695 (vmulxs_f32): Likewise.
1696 (vmulxd_f64): Likewise.
1697 (vmulx_lane_f32): Remove.
1698 * config/aarch64/iterators.md (UNSPEC): Add fmulx.
1699
1700 2015-11-03 Alan Lawrence <alan.lawrence@arm.com>
1701
1702 * config/aarch64/aarch64.md (*movhf_aarch64): Use
1703 aarch64_reg_or_fp_zero for second operand.
1704
1705 2015-11-03 Alexandre Oliva <aoliva@redhat.com>
1706
1707 * gimple-expr.c: Include hash-set.h and rtl.h.
1708 (mark_addressable_queue): New var.
1709 (mark_addressable): Factor actual marking into...
1710 (mark_addressable_1): ... this. Queue it up during expand.
1711 (mark_addressable_2): New.
1712 (flush_mark_addressable_queue): New.
1713 * gimple-expr.h (flush_mark_addressable_queue): Declare.
1714 * cfgexpand.c: Include gimple-expr.h.
1715 (pass_expand::execute): Flush mark_addressable queue.
1716
1717 2015-11-02 Alexandre Oliva <aoliva@redhat.com>
1718
1719 * tree-ssa-ifcombine.c (tree_ssa_ifcombine_bb_1): Factor out
1720 bb_no_side_effects_p tests...
1721 (tree_ssa_ifcombine_bb): ... here.
1722
1723 PR tree-optimization/68083
1724 * tree-ssa-ifcombine.c: Include tree-ssa.h.
1725 (bb_no_side_effects_p): Test for undefined uses too.
1726 * tree-ssa.c (gimple_uses_undefined_value_p): New.
1727 * tree-ssa.h (gimple_uses_undefined_value_p): Declare.
1728
1729 2015-11-02 Jeff Law <law@redhat.com>
1730
1731 * tree-ssa-threadupdate.c (valid_jump_thread_path): Also detect
1732 cases where the loop latch edge is in the middle of an FSM path.
1733
1734 2015-11-03 Tom de Vries <tom@codesourcery.com>
1735
1736 * tree-ssa-structalias.c (make_restrict_var_constraints): Rename to ...
1737 (make_param_constraints): ... this. Add and handle restrict_name
1738 parameter. Handle is_full_var case.
1739 (intra_create_variable_infos): Use make_param_constraints.
1740
1741 2015-11-03 Tom de Vries <tom@codesourcery.com>
1742
1743 * tree-ssa-structalias.c (make_restrict_var_constraints): Replace
1744 make_copy_constraint call with make_constraint_from call.
1745
1746 2015-11-02 Andreas Tobler <andreast@gcc.gnu.org>
1747
1748 * config/rs6000/freebsd64.h (ASM_SPEC32): Adust spec to handle
1749 PIE executables.
1750
1751 2015-11-02 Richard Sandiford <richard.sandiford@arm.com>
1752
1753 * builtins.h (fold_fma): Move to fold-const-call.h.
1754 * builtins.c: Include fold-const-call.h.
1755 (mathfn_built_in_2): New function, split out from...
1756 (mathfn_built_in_1): ...here.
1757 (do_real_to_int_conversion, fold_const_builtin_pow)
1758 (fold_const_builtin_logb, fold_const_builtin_significand)
1759 (fold_const_builtin_load_exponent, do_mpfr_arg1, do_mpfr_arg2)
1760 (do_mpfr_arg3, do_mpfr_sincos, do_mpfr_bessel_n, do_mpc_arg1): Delete.
1761 (fold_builtin_sincos): Use fold_const_call to handle constants.
1762 (fold_builtin_1, fold_builtin_2, fold_builtin_3): Add explicit
1763 checks for ERROR_MARK. Use fold_const_call to handle constant
1764 folds for math functions.
1765 (fold_fma): Move to fold-const-call.c.
1766 * fold-const.c: Include fold-const-call.h.
1767 * Makefile.in (OBJS): Add fold-const-call.o.
1768 (PLUGIN_HEADERS): Add fold-const-call.h.
1769 * realmpfr.h (real_from_mpfr): Allow the format to be specified
1770 directly.
1771 * realmpfr.c (real_from_mpfr): Likewise.
1772 * fold-const-call.h, fold-const-call.c: New files.
1773
1774 2015-11-02 Julian Brown <julian@codesourcery.com>
1775
1776 * config/arm/neon-testgen.ml (emit_epilogue): Remove extraneous
1777 brackets and semicolon.
1778
1779 2015-11-02 Alan Lawrence <alan.lawrence@arm.com>
1780
1781 Revert:
1782 2015-10-27 Alan Lawrence <alan.lawrence@arm.com>
1783
1784 PR tree-optimization/65963
1785 * tree-scalar-evolution.c (interpret_rhs_expr): Handle some
1786 LSHIFT_EXPRs as equivalent MULT_EXPRs.
1787
1788 2015-11-02 Thomas Schwinge <thomas@codesourcery.com>
1789
1790 PR middle-end/68166
1791 * fold-const.c: Include "md5.h".
1792
1793 2015-11-01 Jeff Law <law@redhat.com>
1794
1795 * vmsdbgout.c: Revert unused header file reduction patch.
1796
1797 * config/mcore/mcore.c: Include regs.h.
1798
1799 2015-10-31 Segher Boessenkool <segher@kernel.crashing.org>
1800
1801 * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Rewrite.
1802
1803 2015-10-31 Segher Boessenkool <segher@kernel.crashing.org>
1804
1805 * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Use the
1806 same condition for testing whether RS6000_PIC_OFFSET_TABLE_REGNUM is
1807 live as for using it elsewhere, for TARGET_MINIMAL_TOC.
1808
1809 2015-10-31 Markus Trippelsdorf <markus@trippelsdorf.de>
1810
1811 * ggc-common.c: Restore needed header for checking=release.
1812
1813 2015-10-31 Tom de Vries <tom@codesourcery.com>
1814
1815 * fold-const.c (fold_unary_loc): Tune POINTER_PLUS_EXPR folding.
1816
1817 2015-10-31 Tom de Vries <tom@codesourcery.com>
1818
1819 * tree-ssa-structalias.c (intra_create_variable_infos): Don't expect
1820 existing varinfo for arguments.
1821
1822 2015-10-31 Tom de Vries <tom@codesourcery.com>
1823
1824 * tree-ssa-structalias.c (ipa_pta_execute): Add extra arg to call to
1825 create_function_info_for. Dump constraints generated during
1826 create_function_info_for. Move intra_create_variable_infos call and
1827 function-return-values-escape bit to ...
1828 (create_function_info_for): ... here, and merge
1829 intra_create_variable_infos call with argument loop. Add and handle
1830 nonlocal_p parameter.
1831
1832 2015-10-31 Tom de Vries <tom@codesourcery.com>
1833
1834 * tree-ssa-structalias.c (create_function_info_for): Make sure prev_vi
1835 updating is alap, and seperated from preceding code. Make sure
1836 insert_vi_for_tree is seperated from surrounding code.
1837
1838 2015-10-31 Tom de Vries <tom@codesourcery.com>
1839
1840 * tree-ssa-structalias.c (ipa_pta_execute): Use make_copy_constraint.
1841
1842 2015-10-30 Jeff Law <law@redhat.com>
1843 Nathan Sidwell <nathan@acm.org>
1844
1845 * config/nvptx/nvptx.h (HARD_REGNO_NREGS): Avoid warning on unused
1846 args.
1847 (MOVE_MAX): Set to 8.
1848
1849 2015-10-30 Cesar Philippidis <cesar@codesourcery.com>
1850
1851 * cgraph.c: Include context.h for offloading.
1852 * varpool.c: Include context.h and omp-low.h.
1853
1854 2015-10-30 Anatoly Sokolov <aesok@post.ru>
1855
1856 * rtl.h (contains_symbol_ref_p): Declare.
1857 (SYMBOL_REF_P): Define.
1858 * rtlanal.c (contains_symbol_ref_p: New function.
1859 * lra-constraints.c (contains_symbol_ref_p): Remove.
1860 * var-tracking.c (contains_symbol_ref): Remove.
1861 (track_expr_p): Use contains_symbol_ref_p instead of
1862 contains_symbol_ref.
1863
1864 2015-10-30 Alan Lawrence <alan.lawrence@arm.com>
1865
1866 * gimple-fold.c (fold_array_ctor_reference): Move searching code to:
1867 * fold-const.c (get_array_ctor_element_at_index): New.
1868 (fold): Remove binary-search through CONSTRUCTOR, call previous.
1869
1870 * fold-const.h (get_array_ctor_element_at_index): New.
1871
1872 2015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
1873
1874 * Makefile.in (OBJS): Add multiple_target.o.
1875 * attrib.c (make_attribute): Moved from config/i386/i386.c
1876 * config/i386/i386.c (make_attribute): Deleted.
1877 * multiple_target.c (create_dispatcher_calls): New.
1878 (get_attr_len): Ditto.
1879 (get_attr_str): Ditto.
1880 (separate_attrs): Ditto.
1881 (is_valid_asm_symbol): Ditto.
1882 (create_new_asm_name): Ditto.
1883 (create_target_clone): Ditto.
1884 (expand_target_clones): Ditto.
1885 (ipa_target_clone): Ditto.
1886 (ipa_dispatcher_calls): Ditto.
1887 * passes.def (pass_target_clone): Two new ipa passes.
1888 * tree-pass.h (make_pass_target_clone): Ditto.
1889 * doc/extend.texi (target_clones): New attribute description.
1890
1891 2015-10-30 Vladimir Makarov <vmakarov@redhat.com>
1892
1893 PR rtl-optimization/68106
1894 * lra-remat.c (input_regno_present_p): Process hard regs
1895 explicitly present in machine description insns.
1896 (call_used_input_regno_present_p): Ditto.
1897 (calculate_gen_cands): Ditto.
1898 (do_remat): Ditto.
1899
1900 2015-10-30 Jim Wilson <jim.wilson@linaro.org>
1901
1902 * config/arm/neon-testgen.ml: Fix comment typo.
1903
1904 2015-10-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1905
1906 * rtlanal.c (reg_set_p): Expand function comment.
1907
1908 2015-10-30 Andrew MacLeod <amacleod@redhat.com>
1909
1910 * alias.c: Remove unused headers.
1911 * asan.c: Likewise.
1912 * attribs.c: Likewise.
1913 * auto-inc-dec.c: Likewise.
1914 * auto-profile.c: Likewise.
1915 * bb-reorder.c: Likewise.
1916 * bitmap.c: Likewise.
1917 * bt-load.c: Likewise.
1918 * builtins.c: Likewise.
1919 * caller-save.c: Likewise.
1920 * calls.c: Likewise.
1921 * ccmp.c: Likewise.
1922 * cfg.c: Likewise.
1923 * cfganal.c: Likewise.
1924 * cfgbuild.c: Likewise.
1925 * cfgcleanup.c: Likewise.
1926 * cfgexpand.c: Likewise.
1927 * cfghooks.c: Likewise.
1928 * cfgloop.c: Likewise.
1929 * cfgloopanal.c: Likewise.
1930 * cfgloopmanip.c: Likewise.
1931 * cfgrtl.c: Likewise.
1932 * cgraph.c: Likewise.
1933 * cgraphbuild.c: Likewise.
1934 * cgraphclones.c: Likewise.
1935 * cgraphunit.c: Likewise.
1936 * cilk-common.c: Likewise.
1937 * combine-stack-adj.c: Likewise.
1938 * combine.c: Likewise.
1939 * compare-elim.c: Likewise.
1940 * convert.c: Likewise.
1941 * coverage.c: Likewise.
1942 * cppbuiltin.c: Likewise.
1943 * cprop.c: Likewise.
1944 * cse.c: Likewise.
1945 * cselib.c: Likewise.
1946 * data-streamer-in.c: Likewise.
1947 * data-streamer-out.c: Likewise.
1948 * data-streamer.c: Likewise.
1949 * dbxout.c: Likewise.
1950 * dce.c: Likewise.
1951 * ddg.c: Likewise.
1952 * debug.c: Likewise.
1953 * df-core.c: Likewise.
1954 * df-problems.c: Likewise.
1955 * df-scan.c: Likewise.
1956 * dfp.c: Likewise.
1957 * dojump.c: Likewise.
1958 * dominance.c: Likewise.
1959 * domwalk.c: Likewise.
1960 * double-int.c: Likewise.
1961 * dse.c: Likewise.
1962 * dumpfile.c: Likewise.
1963 * dwarf2asm.c: Likewise.
1964 * dwarf2cfi.c: Likewise.
1965 * dwarf2out.c: Likewise.
1966 * emit-rtl.c: Likewise.
1967 * except.c: Likewise.
1968 * explow.c: Likewise.
1969 * expmed.c: Likewise.
1970 * expr.c: Likewise.
1971 * final.c: Likewise.
1972 * fixed-value.c: Likewise.
1973 * fold-const.c: Likewise.
1974 * function.c: Likewise.
1975 * fwprop.c: Likewise.
1976 * gcse.c: Likewise.
1977 * generic-match-head.c: Likewise.
1978 * ggc-common.c: Likewise.
1979 * gimple-builder.c: Likewise.
1980 * gimple-expr.c: Likewise.
1981 * gimple-fold.c: Likewise.
1982 * gimple-iterator.c: Likewise.
1983 * gimple-low.c: Likewise.
1984 * gimple-match-head.c: Likewise.
1985 * gimple-pretty-print.c: Likewise.
1986 * gimple-ssa-isolate-paths.c: Likewise.
1987 * gimple-ssa-strength-reduction.c: Likewise.
1988 * gimple-streamer-in.c: Likewise.
1989 * gimple-streamer-out.c: Likewise.
1990 * gimple-walk.c: Likewise.
1991 * gimple.c: Likewise.
1992 * gimplify-me.c: Likewise.
1993 * gimplify.c: Likewise.
1994 * godump.c: Likewise.
1995 * graph.c: Likewise.
1996 * graphds.c: Likewise.
1997 * haifa-sched.c: Likewise.
1998 * hw-doloop.c: Likewise.
1999 * ifcvt.c: Likewise.
2000 * init-regs.c: Likewise.
2001 * internal-fn.c: Likewise.
2002 * ipa-chkp.c: Likewise.
2003 * ipa-comdats.c: Likewise.
2004 * ipa-cp.c: Likewise.
2005 * ipa-devirt.c: Likewise.
2006 * ipa-icf-gimple.c: Likewise.
2007 * ipa-icf.c: Likewise.
2008 * ipa-inline-analysis.c: Likewise.
2009 * ipa-inline-transform.c: Likewise.
2010 * ipa-inline.c: Likewise.
2011 * ipa-polymorphic-call.c: Likewise.
2012 * ipa-profile.c: Likewise.
2013 * ipa-prop.c: Likewise.
2014 * ipa-pure-const.c: Likewise.
2015 * ipa-ref.c: Likewise.
2016 * ipa-reference.c: Likewise.
2017 * ipa-split.c: Likewise.
2018 * ipa-utils.c: Likewise.
2019 * ipa-visibility.c: Likewise.
2020 * ipa.c: Likewise.
2021 * ira-build.c: Likewise.
2022 * ira-color.c: Likewise.
2023 * ira-conflicts.c: Likewise.
2024 * ira-costs.c: Likewise.
2025 * ira-emit.c: Likewise.
2026 * ira-lives.c: Likewise.
2027 * ira.c: Likewise.
2028 * jump.c: Likewise.
2029 * langhooks.c: Likewise.
2030 * lcm.c: Likewise.
2031 * lists.c: Likewise.
2032 * loop-doloop.c: Likewise.
2033 * loop-init.c: Likewise.
2034 * loop-invariant.c: Likewise.
2035 * loop-iv.c: Likewise.
2036 * loop-unroll.c: Likewise.
2037 * lower-subreg.c: Likewise.
2038 * lra-assigns.c: Likewise.
2039 * lra-coalesce.c: Likewise.
2040 * lra-constraints.c: Likewise.
2041 * lra-eliminations.c: Likewise.
2042 * lra-lives.c: Likewise.
2043 * lra-remat.c: Likewise.
2044 * lra-spills.c: Likewise.
2045 * lra.c: Likewise.
2046 * lto-cgraph.c: Likewise.
2047 * lto-compress.c: Likewise.
2048 * lto-opts.c: Likewise.
2049 * lto-section-in.c: Likewise.
2050 * lto-section-out.c: Likewise.
2051 * lto-streamer-in.c: Likewise.
2052 * lto-streamer-out.c: Likewise.
2053 * lto-streamer.c: Likewise.
2054 * mcf.c: Likewise.
2055 * mode-switching.c: Likewise.
2056 * modulo-sched.c: Likewise.
2057 * optabs.c: Likewise.
2058 * opts-global.c: Likewise.
2059 * passes.c: Likewise.
2060 * plugin.c: Likewise.
2061 * postreload-gcse.c: Likewise.
2062 * postreload.c: Likewise.
2063 * predict.c: Likewise.
2064 * print-tree.c: Likewise.
2065 * profile.c: Likewise.
2066 * real.c: Likewise.
2067 * realmpfr.c: Likewise.
2068 * recog.c: Likewise.
2069 * ree.c: Likewise.
2070 * reg-stack.c: Likewise.
2071 * regcprop.c: Likewise.
2072 * reginfo.c: Likewise.
2073 * regrename.c: Likewise.
2074 * regstat.c: Likewise.
2075 * reload.c: Likewise.
2076 * reload1.c: Likewise.
2077 * reorg.c: Likewise.
2078 * resource.c: Likewise.
2079 * rtl-chkp.c: Likewise.
2080 * rtl-error.c: Likewise.
2081 * rtlanal.c: Likewise.
2082 * rtlhooks.c: Likewise.
2083 * sanopt.c: Likewise.
2084 * sched-deps.c: Likewise.
2085 * sched-ebb.c: Likewise.
2086 * sched-rgn.c: Likewise.
2087 * sdbout.c: Likewise.
2088 * sel-sched-dump.c: Likewise.
2089 * sel-sched-ir.c: Likewise.
2090 * sel-sched.c: Likewise.
2091 * sese.c: Likewise.
2092 * shrink-wrap.c: Likewise.
2093 * simplify-rtx.c: Likewise.
2094 * stack-ptr-mod.c: Likewise.
2095 * statistics.c: Likewise.
2096 * stmt.c: Likewise.
2097 * stor-layout.c: Likewise.
2098 * store-motion.c: Likewise.
2099 * stringpool.c: Likewise.
2100 * symtab.c: Likewise.
2101 * target-globals.c: Likewise.
2102 * targhooks.c: Likewise.
2103 * toplev.c: Likewise.
2104 * tracer.c: Likewise.
2105 * trans-mem.c: Likewise.
2106 * tree-affine.c: Likewise.
2107 * tree-call-cdce.c: Likewise.
2108 * tree-cfg.c: Likewise.
2109 * tree-cfgcleanup.c: Likewise.
2110 * tree-chkp-opt.c: Likewise.
2111 * tree-chkp.c: Likewise.
2112 * tree-chrec.c: Likewise.
2113 * tree-complex.c: Likewise.
2114 * tree-data-ref.c: Likewise.
2115 * tree-dfa.c: Likewise.
2116 * tree-diagnostic.c: Likewise.
2117 * tree-dump.c: Likewise.
2118 * tree-eh.c: Likewise.
2119 * tree-emutls.c: Likewise.
2120 * tree-if-conv.c: Likewise.
2121 * tree-inline.c: Likewise.
2122 * tree-into-ssa.c: Likewise.
2123 * tree-iterator.c: Likewise.
2124 * tree-loop-distribution.c: Likewise.
2125 * tree-nested.c: Likewise.
2126 * tree-nrv.c: Likewise.
2127 * tree-object-size.c: Likewise.
2128 * tree-outof-ssa.c: Likewise.
2129 * tree-parloops.c: Likewise.
2130 * tree-phinodes.c: Likewise.
2131 * tree-predcom.c: Likewise.
2132 * tree-pretty-print.c: Likewise.
2133 * tree-profile.c: Likewise.
2134 * tree-scalar-evolution.c: Likewise.
2135 * tree-sra.c: Likewise.
2136 * tree-ssa-address.c: Likewise.
2137 * tree-ssa-alias.c: Likewise.
2138 * tree-ssa-ccp.c: Likewise.
2139 * tree-ssa-coalesce.c: Likewise.
2140 * tree-ssa-copy.c: Likewise.
2141 * tree-ssa-dce.c: Likewise.
2142 * tree-ssa-dse.c: Likewise.
2143 * tree-ssa-forwprop.c: Likewise.
2144 * tree-ssa-ifcombine.c: Likewise.
2145 * tree-ssa-live.c: Likewise.
2146 * tree-ssa-loop-ch.c: Likewise.
2147 * tree-ssa-loop-im.c: Likewise.
2148 * tree-ssa-loop-ivcanon.c: Likewise.
2149 * tree-ssa-loop-ivopts.c: Likewise.
2150 * tree-ssa-loop-manip.c: Likewise.
2151 * tree-ssa-loop-niter.c: Likewise.
2152 * tree-ssa-loop-prefetch.c: Likewise.
2153 * tree-ssa-loop-unswitch.c: Likewise.
2154 * tree-ssa-loop.c: Likewise.
2155 * tree-ssa-math-opts.c: Likewise.
2156 * tree-ssa-operands.c: Likewise.
2157 * tree-ssa-phiopt.c: Likewise.
2158 * tree-ssa-phiprop.c: Likewise.
2159 * tree-ssa-pre.c: Likewise.
2160 * tree-ssa-propagate.c: Likewise.
2161 * tree-ssa-reassoc.c: Likewise.
2162 * tree-ssa-scopedtables.c: Likewise.
2163 * tree-ssa-sink.c: Likewise.
2164 * tree-ssa-strlen.c: Likewise.
2165 * tree-ssa-structalias.c: Likewise.
2166 * tree-ssa-tail-merge.c: Likewise.
2167 * tree-ssa-ter.c: Likewise.
2168 * tree-ssa-threadupdate.c: Likewise.
2169 * tree-ssa-uncprop.c: Likewise.
2170 * tree-ssa-uninit.c: Likewise.
2171 * tree-ssa.c: Likewise.
2172 * tree-ssanames.c: Likewise.
2173 * tree-stdarg.c: Likewise.
2174 * tree-streamer-in.c: Likewise.
2175 * tree-streamer-out.c: Likewise.
2176 * tree-streamer.c: Likewise.
2177 * tree-switch-conversion.c: Likewise.
2178 * tree-tailcall.c: Likewise.
2179 * tree-vect-data-refs.c: Likewise.
2180 * tree-vect-generic.c: Likewise.
2181 * tree-vect-loop-manip.c: Likewise.
2182 * tree-vect-loop.c: Likewise.
2183 * tree-vect-patterns.c: Likewise.
2184 * tree-vect-slp.c: Likewise.
2185 * tree-vect-stmts.c: Likewise.
2186 * tree-vectorizer.c: Likewise.
2187 * tree-vrp.c: Likewise.
2188 * tree.c: Likewise.
2189 * tsan.c: Likewise.
2190 * ubsan.c: Likewise.
2191 * value-prof.c: Likewise.
2192 * var-tracking.c: Likewise.
2193 * varasm.c: Likewise.
2194 * varpool.c: Likewise.
2195 * vmsdbgout.c: Likewise.
2196 * vtable-verify.c: Likewise.
2197 * web.c: Likewise.
2198 * wide-int-print.cc: Likewise.
2199 * wide-int.cc: Likewise.
2200 * xcoffout.c: Likewise.
2201
2202 2015-10-30 James Greenhalgh <james.greenhalgh@arm.com>
2203
2204 * doc/invoke.texi (fdump-rtl-@var{pass}): Clarify relationship
2205 between pass numbering and execution order.
2206
2207 2015-10-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2208
2209 * config/arm/arm.c (cortex_a9_sched_adjust_cost): Use reg_set_p to
2210 check for dependencies.
2211
2212 2015-10-30 Richard Sandiford <richard.sandiford@arm.com>
2213
2214 * tree-ssa-math-opts.c (pass_cse_sincos::execute): Don't free
2215 CDI_DOMINATORS.
2216
2217 2015-10-30 Richard Sandiford <richard.sandiford@arm.com>
2218
2219 * real.h (format_helper): New.
2220 (real_convert, exact_real_truncate, real_from_string3, real_to_target)
2221 (real_from_target, real_nan, real_2expN, real_value_truncate)
2222 (significand_size, real_from_string2, exact_real_inverse)
2223 (exact_real_inverse, real_powi, real_trunc, real_floor, real_ceil)
2224 (real_round, real_isinteger, real_from_integer): Replace
2225 machine_mode arguments with format_helper arguments.
2226 * real.c (exact_real_inverse, real_from_string2, real_from_string3)
2227 (real_from_integer, real_nan, real_2expN, real_convert)
2228 (real_value_truncate, exact_real_truncate, real_to_target)
2229 (real_from_target, significand_size, real_powi, real_trunc)
2230 (real_floor, real_ceil, real_round, real_isinteger): Replace
2231 machine_mode arguments with format_helper arguments.
2232 (real_to_target_fmt, real_from_target_fmt): Delete.
2233 * dfp.h (decimal_real_convert): Replace mode argument with real_format.
2234 * dfp.c (decimal_to_binary, decimal_real_convert): Replace mode
2235 argument with real_format.
2236 * builtins.c (do_real_to_int_conversion): Update type of fn argument.
2237
2238 2015-10-30 Richard Sandiford <richard.sandiford@arm.com>
2239
2240 * fixed-value.c (check_real_for_fixed_mode, fixed_from_string)
2241 (fixed_to_decimal, fixed_convert_from_real)
2242 (real_convert_from_fixed): Fix mode arguments to real_2expN.
2243
2244 2015-10-30 Richard Sandiford <richard.sandiford@arm.com>
2245
2246 * real.h (REAL_MODE_FORMAT): Abort if the mode isn't a
2247 SCALAR_FLOAT_MODE_P.
2248
2249 2015-10-30 Alan Lawrence <alan.lawrence@arm.com>
2250
2251 * tree-sra.c (scalarizable_type_p): Comment variable-length arrays.
2252 (completely_scalarize): Comment zero-length arrays.
2253 (get_access_replacement): Correct comment re. precondition.
2254
2255 2015-10-30 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
2256
2257 * config/i386/i386.c (get_builtin_code_for_version): Set priority
2258 for PROCESSOR_ZNVER1.
2259 (enum processor_model): Add M_AMDFAM17H_znver1.
2260 (struct arch_names_table): Likewise.
2261 * doc/extend.texi: ADD znver1.
2262
2263 2015-10-30 Richard Biener <rguenther@suse.de>
2264
2265 * gimple-fold.c (fold_gimple_assign): Do not dispatch to
2266 fold () on single RHSs. Allow CONSTRUCTORS with trailing
2267 zeros to be folded to VECTOR_CSTs.
2268 * tree.c (build_vector_from_ctor): Handle VECTOR_CST elements.
2269 * fold-const.c (fold): Use build_vector_from_ctor.
2270
2271 2015-10-30 Evandro Menezes <e.menezes@samsung.com>
2272
2273 * config/aarch64/aarch64.md (*movhf_aarch64): Change the type of
2274 "mov %0.h[0], %1.h[0] to "neon_move".
2275 (*movtf_aarch64): Change the type of "fmov %s0, wzr" to "f_mcr".
2276 (*cmov<mode>_insn): Change the types of "mov %<w>0, {-1,1}" to
2277 "mov_imm".
2278 (*cmovsi_insn_uxtw): Likewise.
2279
2280 2015-10-30 Tom de Vries <tom@codesourcery.com>
2281
2282 * tree-ssa-structalias.c (ipa_pta_execute): Declare variable from as
2283 unsigned, and initialize, and use initial value instead of hardcoded
2284 constant. Add generic constraints dumping section. Don't dump global
2285 initializers constraints dumping section if empty. Don't update
2286 variable from if unused.
2287
2288 2015-10-29 Mikhail Maltsev <maltsevm@gmail.com>
2289
2290 * config/alpha/alpha.c (alpha_function_arg): Use gcc_checking_assert,
2291 flag_checking and/or CHECKING_P to eliminate conditional compilation
2292 on ENABLE_CHECKING.
2293 * config/arm/arm.c (arm_unwind_emit_sequence): Likewise.
2294 * config/bfin/bfin.c (hwloop_optimize): Likewise.
2295 * config/i386/i386.c (ix86_print_operand_address): Likewise.
2296 (output_387_binary_op): Likewise.
2297 * config/ia64/ia64.c (ia64_sched_init, bundling): Likewise.
2298 * config/m68k/m68k.c (m68k_sched_md_init_global): Likewise.
2299 * config/rs6000/rs6000.c (htm_expand_builtin, rs6000_emit_prologue):
2300 Likewise.
2301 * config/rs6000/rs6000.h: Likewise.
2302 * config/visium/visium.c (visium_setup_incoming_varargs): Likewise.
2303
2304 2015-10-29 Kaz Kojima <kkojima@gcc.gnu.org>
2305
2306 * config/sh/sh.opt (mfdpic): Add missing period.
2307
2308 2015-08-29 Anatoly Sokolov <aesok@post.ru>
2309
2310 * config/mcore/mcore.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
2311 BASE_REGISTER_RTX_P, INDEX_REGISTER_RTX_P,
2312 GO_IF_LEGITIMATE_ADDRESS): Remove macros.
2313 * config/mcore/mcore.c (mcore_reg_ok_for_base_p,
2314 mcore_base_register_rtx_p, mcore_legitimate_index_p,
2315 mcore_legitimate_address_p): New functions.
2316 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
2317
2318 2015-10-29 Jeff Law <law@redhat.com>
2319
2320 * tree-ssa-scopedtables.h (const_and_copies): Remove invalidate
2321 method.
2322 * tree-ssa-scopedtables.h (const_and_copies::invalidate): Remove.
2323 * tree-ssa-threadedge.c
2324 (record_temporary_equivalences_from_stmts_at_dest): Remove
2325 backedge_seen argument and associated code which invalidated
2326 equivalences based on the value of that argument.
2327 (thread_through_normal_block): Corresponding changes.
2328
2329 2015-10-29 Segher Boessenkool <segher@kernel.crashing.org>
2330
2331 * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Move this
2332 function earlier in the file.
2333 (first_reg_to_save): Use rs6000_reg_live_or_pic_offset_p instead of
2334 df_regs_ever_live_p.
2335
2336 2015-10-29 Segher Boessenkool <segher@kernel.crashing.org>
2337
2338 * lra-constraints.c (process_address_1): Handle (mem:BLK (scratch))
2339 by ignoring it.
2340
2341 2015-10-29 Richard Henderson <rth@redhat.com>
2342
2343 PR target/68124
2344 PR rtl-opt/67609
2345 * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
2346 sse check to the exact conditions of PR 67609.
2347
2348 2015-10-29 Michael Meissner <meissner@linux.vnet.ibm.com>
2349
2350 * config/rs6000/rs6000.c (rs6000_init_libfuncs): Split libfunc
2351 setup into 3 functions: init_float128_ibm, init_float128_ieee, and
2352 rs6000_init_libfuncs. If -mfloat128, add IFmode functions for all
2353 of the traditional names that TFmode uses for handling IEEE
2354 extended double. If -mfloat128, add KFmode functions for all of
2355 the emulation functions. If -mabi=ieeelongdouble and -mfloat128,
2356 make TFmode use the same emulation functions as KFmode.
2357 (init_float128_ibm): Likewise.
2358 (init_float128_ieee): Likewise.
2359 (rs6000_generate_compare): For IEEE 128-bit floating point
2360 comparisons, call the unordered comparison function instead of the
2361 ordered comparison function.
2362 (rs6000_expand_float128_convert): Deal with operands that are
2363 memory operands. Restructure the code to use a switch statement on
2364 the mode. Add support for TFmode defaulting to either IBM extended
2365 double or IEEE 128-bit floating point. If the underlying types are
2366 the same, use a move instead of a conversion function.
2367 (TARGET_C_MODE_FOR_SUFFIX): Define 'q' and 'Q' as the suffix to
2368 use for IEEE 128-bit floating point constants with -mfloat128.
2369 (rs6000_c_mode_for_suffix): Likewise.
2370 (TARGET_INVALID_BINARY_OP): Do not allow inter-mixing of IEEE
2371 128-bit floating point with IBM extended double floating point.
2372 (rs6000_invalid_binary_op): Likewise.
2373 (rs6000_gen_le_vsx_permute): On little endian systems generate a
2374 ROTATE insn instead of VEC_SELECT for IEEE 128-bit floating point
2375 types that can go in vector registers.
2376 (chain_contains_only_swaps): Properly swap IEEE 128-bit floating
2377 point types that can go in vector registers on little endian
2378 PowerPC systems.
2379 (mark_swaps_for_removal): Likewise.
2380 (rs6000_analyze_swaps): Likewise.
2381 (rs6000_mangle_type): Use U10__float128 for IEEE 128-bit floating point.
2382
2383 * config/rs6000/rs6000.md (FLOAT128_SFDFTF): Delete iterator,
2384 rework IEEE 128-bit floating point insns to deal with TFmode being
2385 either IBM extended double or IEEE 128-bit floating point.
2386 (IFKF): Likewise.
2387 (IBM128): Update iterator to add condition that the mode is IBM
2388 extended double.
2389 (IEEE128): New iterator for IEEE 128-bit floating point.
2390 (TFIFKF): Rename TFIFKF iterator to FLOAT128.
2391 (FLOAT128): Likewise.
2392 (signbit<mode>2): FLOAT128_IBM_P condition test moved into IBM128
2393 iterator.
2394 (neg<mode>2): Replace TFIFKF iterator with FLOAT128. Add support
2395 for TFmode being IEEE 128-bit floating point. Use IEEE128 iterator
2396 instead of hard coding TFmode or KFmode.
2397 (negtf2_internal): Likewise.
2398 (neg<mode>2_internal): Likewise.
2399 (abs<mode>2): Likewise.
2400 (abstf2_internal): Likewise.
2401 (abs<mode>2_internal): Likewise.
2402 (ieee_128bit_neg<mode>2): Likewise.
2403 (ieee_128bit_neg<mode>2_internal): Likewise.
2404 (ieee_128bit_abs<mode>2): Likewise.
2405 (ieee_128bit_abs<mode>2_internal): Likewise.
2406 (ieee_128bit_nabs<mode>2): Likewise.
2407 (ieee_128bit_nabs<mode>2_internal): Likewise.
2408 (extendiftf2): Add explicit conversions between 128-bit floating
2409 point types. Drop the old conversions that had become unwieldy.
2410 (extend<FLOAT128_SFDFTF:mode><IFKF:mode>2): Likewise.
2411 (extendifkf2): Likewise.
2412 (trunc<IFKF:mode><FLOAT128_SFDFTF:mode>2): Likewise.
2413 (extendtfkf2): Likewise.
2414 (fix_trunc<IFKF:mode><SDI:mode>2): Likewise.
2415 (trunciftf2): Likewise.
2416 (fixuns_trunc<IFKF:mode><SDI:mode>2): Likewise.
2417 (truncifkf2): Likewise.
2418 (float<SDI:mode><IFKF:mode>2): Likewise.
2419 (trunckftf2): Likewise.
2420 (floatuns<SDI:mode><IFKF:mode>2): Likewise.
2421 (trunctfif2): Likewise.
2422 (FP iterator): Allow TFmode to be IEEE 128-bit floating point.
2423 (extenddftf2): Rework 128-bit floating point conversions to
2424 properly handle -mabi=ieeelongdouble. Merge IFmode, TFmode, and
2425 KFmode expanders into one function.
2426 (extenddf<mode>2): Likewise.
2427 (extenddftf2_fprs): Likewise.
2428 (extenddf<mode>2_fprs): Likewise.
2429 (extenddftf2_vsx): Likewise.
2430 (extenddf<mode>2_vsx): Likewise.
2431 (extendsftf2): Likewise.
2432 (extendsf<mode>2): Likewise.
2433 (trunctfdf2): Likewise.
2434 (trunc<mode>df2): Likewise.
2435 (trunctfdf2_internal1): Likewise.
2436 (trunc<mode>df2_internal1): Likewise.
2437 (trunctfdf2_internal2): Likewise.
2438 (trunc<mode>df2_internal2): Likewise.
2439 (trunctfsf2): Likewise.
2440 (trunc<mode>sf2): Likewise.
2441 (trunctfsf2_fprs): Likewise.
2442 (trunc<mode>sf2_fprs): Likewise.
2443 (floatsit2f): Likewise.
2444 (floatsi<mode>2): Likewise.
2445 (fix_trunc_helper): Likewise.
2446 (fix_trunc_helper<mode>): Likewise.
2447 (fix_trunctfsi2): Likewise.
2448 (fix_trunc<mode>si2): Likewise.
2449 (fix_trunctfsi2_fprs): Likewise.
2450 (fix_trunc<mode>si2_fprs): Likewise.
2451 (fix_trunctfsi2_internal): Likewise.
2452 (fix_trunc<mode>si2_internal): Likewise.
2453 (fix_trunctfdi2): Likewise.
2454 (fix_trunc<mode>di2): Likewise.
2455 (fixuns_trunctf<mode>2): Likewise.
2456 (fixuns_trunc<IEEE128:mode><SDI:mode>2): Likewise.
2457 (floatditf2): Likewise.
2458 (floatdi<mode>2): Likewise.
2459 (floatuns<mode>tf2): Likewise.
2460 (floatuns<SDI:mode><IEEE128:mode>): Likewise.
2461 (cmptf_internal1): Use a mode iterator to add support for both
2462 types (IFmode, TFmode) that support IBM extended double.
2463 (cmp<mode>_internal1): Likewise.
2464 (cmptf_internal2): Likewise.
2465 (cmp<mode>_internal2): Likewise.
2466
2467 * doc/extend.texi (Floating Types): Document __ibm128 and
2468 __float128 on PowerPC.
2469
2470 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
2471 -mfloat128 and -mno-float128.
2472
2473 2015-10-29 Michael Meissner <meissner@linux.vnet.ibm.com>
2474
2475 * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Add IEEE 128-bit
2476 floating point modes that can go in vector registers.
2477 (MODES_TIEABLE_P): Move tests for vector modes before tests for
2478 scalar floating point, so that IEEE 128-bit floating point that
2479 can go in vector registers bind with vectors and not FP.
2480 (struct rs6000_args): Add libcall field.
2481
2482 * config/rs6000/rs6000.opt (-mfloat128-*): Delete -mfloat128-none
2483 and -mfloat128-software switches. Replace them with a binary
2484 -mfloat128 switch.
2485 (-mfloat128): Likewise.
2486
2487 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Allow
2488 128-bit floating point types in GPRs, even if the appropriate
2489 option enabling the type was not used.
2490 (rs6000_debug_reg_global): Remove -mfloat128-{software,none}
2491 debugging.
2492 (rs6000_setup_reg_addr_masks): Do not allow pre-increment and
2493 pre-decrement on IEEE 128-bit floating point values.
2494 (rs6000_init_hard_regno_mode_ok): Change test for whether TFmode
2495 is IEEE 128-bit floating point.
2496 (rs6000_init_hard_regno_mode_ok): Add reload handlers for IEEE
2497 128-bit floating point types that can go in vector registers.
2498 (rs6000_option_override_internal): Change -mfloat128-none and
2499 -mfloat128-software to -mfloat128, and move code to be near other
2500 VSX option handling.
2501 (rs6000_option_override_internal): Disable -mfloat128 if we don't
2502 have the Altivec ABI.
2503 (rs6000_init_builtins): Don't make TFmode use either IFmode or
2504 KFmode floating point nodes. Instead, have three separate nodes.
2505 (rs6000_scalar_mode_supported_p): Add support for IFmode to allow
2506 eventually moving the long double default to IEEE 128-bit floating
2507 point.
2508 (rs6000_opt_masks): Add -mfloat128.
2509 (struct rs6000_opt_var): Fix typo in comment.
2510 (init_cumulative_args): Initialize libcall field in
2511 CUMULATIVE_ARGS.
2512 (rs6000_function_arg): Treat library functions as if they had
2513 prototypes to prevent IEEE 128-bit support functions from passing
2514 arguments in both GPRs and vector registers.
2515 (rs6000_arg_partial_bytes): Likewise.
2516
2517 * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add -mfloat128 as
2518 an option that can be turned on via -mcpu=<xxx>.
2519
2520 * config/rs6000/rs6000-opts.h (enum float128_type_t): Delete, no
2521 longer used.
2522
2523 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
2524 __FLOAT128__ if -mfloat128. Define __LONG_DOUBLE_IEEE128__ if long
2525 double is IEEE 128-bit. Define __LONG_DOUBLE_IBM128__ if long
2526 double is IBM extended double.
2527
2528 * config/rs6000/predicates.md (reg_or_indexed_operand): Allow
2529 SUBREGs.
2530
2531 2015-10-29 Mikhail Maltsev <maltsevm@gmail.com>
2532
2533 * genautomata.c: Use CHECKING_P instead of ENABLE_CHECKING.
2534 * genconditions.c: Define CHECKING_P in the generated code.
2535 * genextract.c: Use flag_checking in insn_extract.
2536 * gengtype.c (main): Remove conditional compilation.
2537 * gengtype.h: Likewise.
2538
2539 2015-10-29 Jeff Law <law@redhat.com>
2540
2541 PR tree-optimization/67892
2542 * tree-ssa-threadedge.c (simplify_controL_stmt_condition): Fix typo
2543 in comment.
2544 (thread_through_normal_block): If we have seen a backedge, then
2545 do nothing. No longer call find_jump_threads_backwards here.
2546 (thread_across_edge): Use find_jump_threads_backwards to find
2547 jump threads if the old style threader was not successful.
2548 * tree-ssa-threadbackward.c (get_gimple_control_stmt): Use
2549 gsi_last_nondebug_bb. Return NULL if the block does not end
2550 with a control statement.
2551 (find_jump_threads_backwards): Setup code moved here from
2552 tree-ssa-threadedge.c::thread_through_normal_block. Accept
2553 single edge argument instead of name & block.
2554 * tree-ssa-threadbackward.h (find_jump_threads_backwards): Update
2555 prototype.
2556
2557 2015-10-29 Tom de Vries <tom@codesourcery.com>
2558
2559 * fold-const.c (fold_unary_loc): Remove folding inhibition for restrict
2560 types.
2561
2562 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
2563
2564 * omp-low.c (lower_omp_target): Remove unreachable code & merge
2565 ifs.
2566
2567 2015-10-29 Marc Glisse <marc.glisse@inria.fr>
2568
2569 * match.pd (X-(X/Y)*Y): Properly handle conversions and commutativity.
2570
2571 2015-10-29 Richard Sandiford <richard.sandiford@arm.com>
2572
2573 * tree-call-cdce.c (shrink_wrap_one_built_in_call): Remove
2574 guard_bb0 and use guard_bb throughout.
2575
2576 2015-10-29 Richard Sandiford <richard.sandiford@arm.com>
2577
2578 * tree-call-cdce.c (shrink_wrap_one_built_in_call): Remove
2579 unnecessary label.
2580
2581 2015-10-29 Richard Biener <rguenther@suse.de>
2582
2583 PR middle-end/68142
2584 * fold-const.c (extract_muldiv_1): Avoid introducing undefined
2585 overflow.
2586
2587 2015-10-29 Andrew MacLeod <amacleod@redhat.com>
2588
2589 * alias.c: Reorder #include statements and remove duplicates.
2590 * asan.c: Likewise.
2591 * attribs.c: Likewise.
2592 * auto-inc-dec.c: Likewise.
2593 * auto-profile.c: Likewise.
2594 * bb-reorder.c: Likewise.
2595 * bt-load.c: Likewise.
2596 * builtins.c: Likewise.
2597 * caller-save.c: Likewise.
2598 * calls.c: Likewise.
2599 * ccmp.c: Likewise.
2600 * cfg.c: Likewise.
2601 * cfganal.c: Likewise.
2602 * cfgbuild.c: Likewise.
2603 * cfgcleanup.c: Likewise.
2604 * cfgexpand.c: Likewise.
2605 * cfghooks.c: Likewise.
2606 * cfgloop.c: Likewise.
2607 * cfgloopanal.c: Likewise.
2608 * cfgloopmanip.c: Likewise.
2609 * cfgrtl.c: Likewise.
2610 * cgraph.c: Likewise.
2611 * cgraphbuild.c: Likewise.
2612 * cgraphclones.c: Likewise.
2613 * cgraphunit.c: Likewise.
2614 * cilk-common.c: Likewise.
2615 * combine-stack-adj.c: Likewise.
2616 * combine.c: Likewise.
2617 * compare-elim.c: Likewise.
2618 * convert.c: Likewise.
2619 * coverage.c: Likewise.
2620 * cppbuiltin.c: Likewise.
2621 * cprop.c: Likewise.
2622 * cse.c: Likewise.
2623 * cselib.c: Likewise.
2624 * data-streamer-in.c: Likewise.
2625 * data-streamer-out.c: Likewise.
2626 * data-streamer.c: Likewise.
2627 * dbxout.c: Likewise.
2628 * dce.c: Likewise.
2629 * ddg.c: Likewise.
2630 * debug.c: Likewise.
2631 * df-core.c: Likewise.
2632 * df-problems.c: Likewise.
2633 * df-scan.c: Likewise.
2634 * dfp.c: Likewise.
2635 * dojump.c: Likewise.
2636 * dominance.c: Likewise.
2637 * double-int.c: Likewise.
2638 * dse.c: Likewise.
2639 * dumpfile.c: Likewise.
2640 * dwarf2asm.c: Likewise.
2641 * dwarf2cfi.c: Likewise.
2642 * dwarf2out.c: Likewise.
2643 * emit-rtl.c: Likewise.
2644 * except.c: Likewise.
2645 * explow.c: Likewise.
2646 * expmed.c: Likewise.
2647 * expr.c: Likewise.
2648 * final.c: Likewise.
2649 * fixed-value.c: Likewise.
2650 * fold-const.c: Likewise.
2651 * function.c: Likewise.
2652 * fwprop.c: Likewise.
2653 * gcse.c: Likewise.
2654 * generic-match-head.c: Likewise.
2655 * ggc-common.c: Likewise.
2656 * gimple-builder.c: Likewise.
2657 * gimple-expr.c: Likewise.
2658 * gimple-fold.c: Likewise.
2659 * gimple-iterator.c: Likewise.
2660 * gimple-low.c: Likewise.
2661 * gimple-match-head.c: Likewise.
2662 * gimple-pretty-print.c: Likewise.
2663 * gimple-ssa-isolate-paths.c: Likewise.
2664 * gimple-ssa-strength-reduction.c: Likewise.
2665 * gimple-streamer-in.c: Likewise.
2666 * gimple-streamer-out.c: Likewise.
2667 * gimple-walk.c: Likewise.
2668 * gimple.c: Likewise.
2669 * gimplify-me.c: Likewise.
2670 * gimplify.c: Likewise.
2671 * godump.c: Likewise.
2672 * graph.c: Likewise.
2673 * graphite-poly.c: Likewise.
2674 * haifa-sched.c: Likewise.
2675 * hw-doloop.c: Likewise.
2676 * ifcvt.c: Likewise.
2677 * incpath.c: Likewise.
2678 * init-regs.c: Likewise.
2679 * internal-fn.c: Likewise.
2680 * ipa-chkp.c: Likewise.
2681 * ipa-comdats.c: Likewise.
2682 * ipa-cp.c: Likewise.
2683 * ipa-devirt.c: Likewise.
2684 * ipa-icf-gimple.c: Likewise.
2685 * ipa-icf.c: Likewise.
2686 * ipa-inline-analysis.c: Likewise.
2687 * ipa-inline-transform.c: Likewise.
2688 * ipa-inline.c: Likewise.
2689 * ipa-polymorphic-call.c: Likewise.
2690 * ipa-profile.c: Likewise.
2691 * ipa-prop.c: Likewise.
2692 * ipa-pure-const.c: Likewise.
2693 * ipa-ref.c: Likewise.
2694 * ipa-reference.c: Likewise.
2695 * ipa-split.c: Likewise.
2696 * ipa-utils.c: Likewise.
2697 * ipa-visibility.c: Likewise.
2698 * ipa.c: Likewise.
2699 * ira-build.c: Likewise.
2700 * ira-color.c: Likewise.
2701 * ira-conflicts.c: Likewise.
2702 * ira-costs.c: Likewise.
2703 * ira-emit.c: Likewise.
2704 * ira-lives.c: Likewise.
2705 * ira.c: Likewise.
2706 * jump.c: Likewise.
2707 * langhooks.c: Likewise.
2708 * lcm.c: Likewise.
2709 * lists.c: Likewise.
2710 * loop-doloop.c: Likewise.
2711 * loop-init.c: Likewise.
2712 * loop-invariant.c: Likewise.
2713 * loop-iv.c: Likewise.
2714 * loop-unroll.c: Likewise.
2715 * lower-subreg.c: Likewise.
2716 * lra-assigns.c: Likewise.
2717 * lra-coalesce.c: Likewise.
2718 * lra-constraints.c: Likewise.
2719 * lra-eliminations.c: Likewise.
2720 * lra-lives.c: Likewise.
2721 * lra-remat.c: Likewise.
2722 * lra-spills.c: Likewise.
2723 * lra.c: Likewise.
2724 * lto-cgraph.c: Likewise.
2725 * lto-compress.c: Likewise.
2726 * lto-opts.c: Likewise.
2727 * lto-section-in.c: Likewise.
2728 * lto-section-out.c: Likewise.
2729 * lto-streamer-in.c: Likewise.
2730 * lto-streamer-out.c: Likewise.
2731 * lto-streamer.c: Likewise.
2732 * mode-switching.c: Likewise.
2733 * modulo-sched.c: Likewise.
2734 * omp-low.c: Likewise.
2735 * optabs.c: Likewise.
2736 * opts-global.c: Likewise.
2737 * passes.c: Likewise.
2738 * plugin.c: Likewise.
2739 * postreload-gcse.c: Likewise.
2740 * postreload.c: Likewise.
2741 * predict.c: Likewise.
2742 * print-tree.c: Likewise.
2743 * profile.c: Likewise.
2744 * real.c: Likewise.
2745 * realmpfr.c: Likewise.
2746 * recog.c: Likewise.
2747 * ree.c: Likewise.
2748 * reg-stack.c: Likewise.
2749 * regcprop.c: Likewise.
2750 * reginfo.c: Likewise.
2751 * regrename.c: Likewise.
2752 * regstat.c: Likewise.
2753 * reload.c: Likewise.
2754 * reload1.c: Likewise.
2755 * reorg.c: Likewise.
2756 * resource.c: Likewise.
2757 * rtl-chkp.c: Likewise.
2758 * rtl-error.c: Likewise.
2759 * rtlanal.c: Likewise.
2760 * rtlhooks.c: Likewise.
2761 * sanopt.c: Likewise.
2762 * sched-deps.c: Likewise.
2763 * sched-ebb.c: Likewise.
2764 * sched-rgn.c: Likewise.
2765 * sese.c: Likewise.
2766 * shrink-wrap.c: Likewise.
2767 * simplify-rtx.c: Likewise.
2768 * stack-ptr-mod.c: Likewise.
2769 * statistics.c: Likewise.
2770 * stmt.c: Likewise.
2771 * stor-layout.c: Likewise.
2772 * store-motion.c: Likewise.
2773 * stringpool.c: Likewise.
2774 * symtab.c: Likewise.
2775 * target-globals.c: Likewise.
2776 * targhooks.c: Likewise.
2777 * toplev.c: Likewise.
2778 * tracer.c: Likewise.
2779 * trans-mem.c: Likewise.
2780 * tree-affine.c: Likewise.
2781 * tree-call-cdce.c: Likewise.
2782 * tree-cfg.c: Likewise.
2783 * tree-cfgcleanup.c: Likewise.
2784 * tree-chkp-opt.c: Likewise.
2785 * tree-chkp.c: Likewise.
2786 * tree-chrec.c: Likewise.
2787 * tree-complex.c: Likewise.
2788 * tree-data-ref.c: Likewise.
2789 * tree-dfa.c: Likewise.
2790 * tree-diagnostic.c: Likewise.
2791 * tree-dump.c: Likewise.
2792 * tree-eh.c: Likewise.
2793 * tree-emutls.c: Likewise.
2794 * tree-if-conv.c: Likewise.
2795 * tree-inline.c: Likewise.
2796 * tree-into-ssa.c: Likewise.
2797 * tree-iterator.c: Likewise.
2798 * tree-loop-distribution.c: Likewise.
2799 * tree-nested.c: Likewise.
2800 * tree-nrv.c: Likewise.
2801 * tree-object-size.c: Likewise.
2802 * tree-outof-ssa.c: Likewise.
2803 * tree-parloops.c: Likewise.
2804 * tree-phinodes.c: Likewise.
2805 * tree-predcom.c: Likewise.
2806 * tree-pretty-print.c: Likewise.
2807 * tree-profile.c: Likewise.
2808 * tree-scalar-evolution.c: Likewise.
2809 * tree-sra.c: Likewise.
2810 * tree-ssa-address.c: Likewise.
2811 * tree-ssa-alias.c: Likewise.
2812 * tree-ssa-ccp.c: Likewise.
2813 * tree-ssa-coalesce.c: Likewise.
2814 * tree-ssa-copy.c: Likewise.
2815 * tree-ssa-dce.c: Likewise.
2816 * tree-ssa-dom.c: Likewise.
2817 * tree-ssa-dse.c: Likewise.
2818 * tree-ssa-forwprop.c: Likewise.
2819 * tree-ssa-ifcombine.c: Likewise.
2820 * tree-ssa-live.c: Likewise.
2821 * tree-ssa-loop-ch.c: Likewise.
2822 * tree-ssa-loop-im.c: Likewise.
2823 * tree-ssa-loop-ivcanon.c: Likewise.
2824 * tree-ssa-loop-ivopts.c: Likewise.
2825 * tree-ssa-loop-manip.c: Likewise.
2826 * tree-ssa-loop-niter.c: Likewise.
2827 * tree-ssa-loop-prefetch.c: Likewise.
2828 * tree-ssa-loop-unswitch.c: Likewise.
2829 * tree-ssa-loop.c: Likewise.
2830 * tree-ssa-math-opts.c: Likewise.
2831 * tree-ssa-operands.c: Likewise.
2832 * tree-ssa-phiopt.c: Likewise.
2833 * tree-ssa-phiprop.c: Likewise.
2834 * tree-ssa-pre.c: Likewise.
2835 * tree-ssa-propagate.c: Likewise.
2836 * tree-ssa-reassoc.c: Likewise.
2837 * tree-ssa-sccvn.c: Likewise.
2838 * tree-ssa-scopedtables.c: Likewise.
2839 * tree-ssa-sink.c: Likewise.
2840 * tree-ssa-strlen.c: Likewise.
2841 * tree-ssa-structalias.c: Likewise.
2842 * tree-ssa-tail-merge.c: Likewise.
2843 * tree-ssa-ter.c: Likewise.
2844 * tree-ssa-threadedge.c: Likewise.
2845 * tree-ssa-threadupdate.c: Likewise.
2846 * tree-ssa-uncprop.c: Likewise.
2847 * tree-ssa-uninit.c: Likewise.
2848 * tree-ssa.c: Likewise.
2849 * tree-ssanames.c: Likewise.
2850 * tree-stdarg.c: Likewise.
2851 * tree-streamer-in.c: Likewise.
2852 * tree-streamer-out.c: Likewise.
2853 * tree-streamer.c: Likewise.
2854 * tree-switch-conversion.c: Likewise.
2855 * tree-tailcall.c: Likewise.
2856 * tree-vect-data-refs.c: Likewise.
2857 * tree-vect-generic.c: Likewise.
2858 * tree-vect-loop-manip.c: Likewise.
2859 * tree-vect-loop.c: Likewise.
2860 * tree-vect-patterns.c: Likewise.
2861 * tree-vect-slp.c: Likewise.
2862 * tree-vect-stmts.c: Likewise.
2863 * tree-vectorizer.c: Likewise.
2864 * tree-vrp.c: Likewise.
2865 * tree.c: Likewise.
2866 * tsan.c: Likewise.
2867 * ubsan.c: Likewise.
2868 * value-prof.c: Likewise.
2869 * var-tracking.c: Likewise.
2870 * varasm.c: Likewise.
2871 * varpool.c: Likewise.
2872 * vtable-verify.c: Likewise.
2873 * web.c: Likewise.
2874 * wide-int-print.cc: Likewise.
2875 * wide-int.cc: Likewise.
2876 * xcoffout.c: Likewise.
2877
2878 2015-10-29 H.J. Lu <hongjiu.lu@intel.com>
2879
2880 * Makefile.in (NO_PIE_CFLAGS): New.
2881 (NO_PIE_FLAG): Likewise.
2882 (NO_PIE_CFLAGS_FOR_BUILD): Likewise.
2883 (NO_PIE_FLAG_FOR_BUILD): Likewise.
2884 (BUILD_NO_PIE_CFLAGS): Likewise.
2885 (BUILD_NO_PIE_FLAG): Likewise.
2886 (COMPILER): Replace @NO_PIE_CFLAGS@ with $(NO_PIE_CFLAGS).
2887 (LINKER): Replace @NO_PIE_FLAG@ with $(NO_PIE_FLAG).
2888 (BUILD_CFLAGS): Replace @NO_PIE_CFLAGS@ with
2889 $(BUILD_NO_PIE_CFLAGS).
2890 (BUILD_CXXFLAGS): Likewise.
2891 (BUILD_LDFLAGS ): Replace @NO_PIE_FLAG@ with
2892 $(BUILD_NO_PIE_FLAG).
2893 * configure.ac (BUILD_NO_PIE_CFLAGS): New. AC_SUBST.
2894 (BUILD_NO_PIE_FLAG): Likewise.
2895 (NO_PIE_CFLAGS_FOR_BUILD): Likewise.
2896 (NO_PIE_FLAG_FOR_BUILD): Likewise.
2897 * configure: Regenerated.
2898
2899 2015-10-29 Richard Biener <rguenther@suse.de>
2900
2901 PR middle-end/56956
2902 * fold-const.c (fold_cond_expr_with_comparison): Do not fold
2903 unsigned conditonal negation to ABS_EXPR.
2904
2905 2015-10-29 Richard Biener <rguenther@suse.de>
2906
2907 * gimple-match-head.c (gimple_simplify): Remove premature checking
2908 of builtin_decl_implicit of function calls we simplify.
2909
2910 2015-10-29 Bin Cheng <bin.cheng@arm.com>
2911
2912 * tree-ssa-loop-ivopts.c (split_address_cost): Check depends_on.
2913 (get_computation_cost_at): Ditto.
2914 (determine_use_iv_cost_address): Pass NULL for arguments depends_on
2915 and inv_expr_id.
2916
2917 2015-10-28 Tom de Vries <tom@codesourcery.com>
2918
2919 * tree-ssa-structalias.c (intra_create_variable_infos): Remove
2920 superfluous code.
2921
2922 2015-10-28 Jason Merrill <jason@redhat.com>
2923
2924 * Makefile.in (TAGS): Include libcpp and libiberty.
2925
2926 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
2927
2928 * omp-low.c (MASK_GANG, MASK_WORKER, MASK_VECTOR): Delete.
2929 (extract_omp_for_data): Remove OpenACC special handling of
2930 chunking.
2931
2932 * config/nvptx/nvptx.c (nvptx_print_operand): Remove 'd' case.
2933 (struct parallel): Update comment.
2934 (nvptx_reorg): Likewise.
2935 (nvptx_neuter): Cleanup whitespace.
2936
2937 2015-10-28 Richard Henderson <rth@redhat.com>
2938
2939 * tree-eh.c (mark_reachable_handlers): Fix typo in assert.
2940
2941 2015-10-05 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2942
2943 PR target/67839
2944 * config/avr/predicates.md (low_io_address_operand): Don't
2945 consider MODE when computing upper bound.
2946 (io_address_operand): Likewise.
2947
2948 2015-10-28 Jan Hubicka <hubicka@ucw.cz>
2949
2950 * fold-const.c (operand_equal_p): Do not verify that types are
2951 compatible for MEM_REFs.
2952
2953 2015-10-28 Richard Biener <rguenther@suse.de>
2954
2955 * gimple-match-head.c (gimple_simplify): Allow VECTOR_CSTs
2956 in simplifying VEC_COND_EXPR conditions.
2957
2958 2015-10-28 Tom de Vries <tom@codesourcery.com>
2959
2960 * tree-ssa-structalias.c (intra_create_variable_infos): Don't iterate
2961 into vi_next of a full_var.
2962
2963 2015-10-28 Tom de Vries <tom@codesourcery.com>
2964
2965 * tree-ssa-structalias.c (new_var_info, make_heapvar)
2966 (make_constraint_from_restrict, make_constraint_from_global_restrict)
2967 (create_function_info_for, create_variable_info_for_1)
2968 (create_variable_info_for): Add and handle add_id parameter.
2969 (get_call_vi, new_scalar_tmp_constraint_exp, handle_rhs_call)
2970 (init_base_vars): Add extra argument to calls to new_var_info.
2971 (get_vi_for_tree): Add extra argument to call to
2972 create_variable_info_for.
2973 (process_constraint, do_deref, process_all_all_constraints): Add extra
2974 argument to calls to new_scalar_tmp_constraint_exp.
2975 (handle_lhs_call, find_func_aliases_for_builtin_call): Add extra
2976 argument to calls to make_heapvar.
2977 (make_restrict_var_constraints): Add extra argument to call to
2978 make_constraint_from_global_restrict.
2979 (intra_create_variable_infos): Add extra argument to call to
2980 create_variable_info_for_1.
2981 (ipa_pta_execute): Add extra argument to call to
2982 create_function_info_for.
2983
2984 2015-10-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2985
2986 * config/aarch64/aarch64.md (call, call_value, sibcall): Handle noplt.
2987 (sibcall_value): Likewise.
2988
2989 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
2990
2991 * config/nvptx/nvptx.h (struct machine_function): Add
2992 axis_predicate.
2993 * config/nvptx/nvptx-protos.h (nvptx_expand_oacc_fork,
2994 nvptx_expand_oacc_join): Declare.
2995 * config/nvptx/nvptx.md (UNSPEC_NTID, UNSPEC_TID): Delete.
2996 (UNSPEC_DIM_SIZE, UNSPEC_SHARED_DATA, UNSPEC_BIT_CONV,
2997 UNSPEC_SHUFFLE, UNSPEC_BR_UNIFIED): New.
2998 (UNSPECV_BARSYNC, UNSPECV_DIM_POS, UNSPECV_FORK, UNSPECV_FORKED,
2999 UNSPECV_JOINING, UNSPECV_JOIN): New.
3000 (BITS, BITD): New mode iterators.
3001 (br_true_uni, br_false_uni): New.
3002 (*oacc_ntid_insn, oacc_ntid, *oacc_tid_insn, oacc_tid): Delete.
3003 (oacc_dim_size, oacc_dim_pos): New.
3004 (nvptx_fork, nvptx_forked, nvptx_joining, nvptx_join): New.
3005 (oacc_fork, oacc_join): New.
3006 (nvptx_shuffle<mode>, unpack<mode>si2, packsi<mode>2): New.
3007 (worker_load<mode>, worker_store<mode>): New.
3008 (nvptx_barsync): New.
3009 * config/nvptx/nvptx.c: Include gimple.h & dumpfile.h.
3010 (SHUFFLE_UP, SHUFFLE_DOWN, SHUFFLE_BFLY, SHUFFLE_IDX): Define.
3011 (worker_bcast_hwm, worker_bcast_align, worker_bcast_name,
3012 worker_bcast_sym): New.
3013 (nvptx_option_override): Initialize worker broadcast buffer.
3014 (nvptx_emit_forking, nvptx_emit_joining): New.
3015 (nvptx_init_axis_predicate): New.
3016 (nvptx_declare_function_name): Init axis predicates.
3017 (nvptx_expand_call): Add fork/join markers around routine call.
3018 (nvptx_expand_oacc_fork, nvptx_expand_oacc_join): New.
3019 (nvptx_gen_unpack, nvptx_gen_pack, nvptx_gen_shuffle): New.
3020 (nvptx_gen_vcast): New.
3021 (struct wcast_data_t): New.
3022 (enum propagate_mask): New.
3023 (nvptx_gen_wcast): New.
3024 (nvptx_print_operand): Add 'S' case.
3025 (struct parallel): New.
3026 (parallel::parallel, parallel::~parallel): New.
3027 (bb_insn_map_t, insn_bb_t, insn_bb_vec_t): New typedefs.
3028 (nvptx_split_blocks, nvptx_discover_pre, nvptx_dump_pars,
3029 nvptx_find_par, nvptx_discover_pars): New.
3030 (nvptx_propagate): New.
3031 (vprop_gen, nvptx_vpropagate): New.
3032 (wprop_gen, nvptx_wpropagate): New.
3033 (nvptx_wsync): New.
3034 (nvptx_single, nvptx_skip_par): New.
3035 (nvptx_process_pars, nvptx_neuter_pars): New.
3036 (ntptx_reorg): Split blocks, generate parallel structure, apply
3037 neutering.
3038 (nvptx_cannot_copy_insn_p): New.
3039 (nvptx_file_end): Emit worker broadcast decl.
3040 (nvptx_goacc_fork_join): New.
3041 (TARGET_CANNOT_COPY_INSN_P): Override.
3042 (TARGET_GOACC_FORK_JOIN): Override.
3043
3044 2015-10-28 Richard Biener <rguenther@suse.de>
3045
3046 * fold-const.c (negate_expr_p): Adjust the division case to
3047 properly avoid introducing undefined overflow.
3048 (fold_negate_expr): Likewise.
3049
3050 2015-10-28 Richard Biener <rguenther@suse.de>
3051
3052 PR tree-optimization/65962
3053 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
3054 Avoid creating loop carried dependences also for outer loops
3055 of the loop a use to replace is in.
3056
3057 2015-10-28 Richard Biener <rguenther@suse.de>
3058
3059 * common.opt (fchecking): New flag controlling flag_checking.
3060 * passes.c (verify_curr_properties): Drop DEBUG_FUNCTION.
3061 * timevar.c (timer::print): Adjust output.
3062 * doc/invoke.texi (fchecking): Document.
3063
3064 2015-10-28 Richard Biener <rguenther@suse.de>
3065
3066 PR middle-end/68067
3067 * fold-const.c (negate_expr_p): We cannot negate plus or minus
3068 if overflow is not wrapping. Likewise multiplication unless
3069 one operand is constant and not power of two.
3070 (fold_negate_expr): Adjust accordingly.
3071
3072 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
3073
3074 * omp-low.c (struct omp_context): Remove gwv_below, gwv_this
3075 fields.
3076 (is_oacc_parallel, is_oacc_kernels): New.
3077 (enclosing_target_ctx): May return NULL.
3078 (ctx_in_oacc_kernels_region): New.
3079 (check_oacc_kernel_gwv): New.
3080 (oacc_loop_or_target_p): Delete.
3081 (scan_omp_for): Don't calculate gwv mask. Check parallel clause
3082 operands. Strip reductions fro kernels.
3083 (scan_omp_target): Don't calculate gwv mask.
3084 (lower_oacc_head_mark, lower_oacc_loop_marker,
3085 lower_oacc_head_tail): New.
3086 (struct oacc_collapse): New.
3087 (expand_oacc_collapse_init, expand_oacc_collapse_vars): New.
3088 (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
3089 Remove OpenACC handling.
3090 (expand_oacc_for): New.
3091 (expand_omp_for): Call expand_oacc_for.
3092 (lower_omp_for): Call lower_oacc_head_tail.
3093
3094 2015-10-27 Mikhail Maltsev <maltsevm@gmail.com>
3095
3096 * attribs.c (check_attribute_tables): New function, broken out from...
3097 (init_attributes): Use it.
3098 * cfgcleanup.c (try_optimize_cfg): Use flag_checking, CHECKING_P
3099 gcc_checking_assert and checking_* functions to eliminate
3100 ENABLE_CHECKING conditionals.
3101 * cfgexpand.c (expand_goto, expand_debug_expr): Likewise.
3102 (pass_expand::execute): Likewise.
3103 * cgraphclones.c (symbol_table::materialize_all_clones): Likewise.
3104 * cgraphunit.c (mark_functions_to_output): Likewise.
3105 (cgraph_node::expand_thunk): Likewise.
3106 (symbol_table::compile): Likewise.
3107 * ddg.c (add_cross_iteration_register_deps): Likewise.
3108 (create_ddg_all_sccs): Likewise.
3109 * df-core.c (df_finish_pass, df_analyze): Likewise.
3110 * diagnostic-core.h: Likewise.
3111 * diagnostic.c (diagnostic_report_diagnostic): Likewise.
3112 * dominance.c (calculate_dominance_info): Likewise.
3113 * dwarf2out.c (add_AT_die_ref): Likewise.
3114 (const_ok_for_output_1, mem_loc_descriptor): Likewise.
3115 (loc_list_from_tree, gen_lexical_block_die): Likewise.
3116 gen_type_die_with_usage, gen_type_die): Likewise.
3117 (dwarf2out_decl): Likewise.
3118 * emit-rtl.c (verify_rtx_sharing, reorder_insns_nobb): Likewise.
3119 * except.c (duplicate_eh_regions): Likewise.
3120 * fwprop.c (register_active_defs, update_df_init): Likewise.
3121 (fwprop_init, fwprop_done): Likewise.
3122 (update_uses): Likewise.
3123 * ggc-page.c (ggc_grow): Likewise.
3124 * gimplify.c (gimplify_body): Likewise.
3125 (gimplify_hasher::equal): Likewise.
3126 * graphite-isl-ast-to-gimple.c (graphite_verify): Likewise.
3127 * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form):
3128 Likewise.
3129 * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Likewise.
3130 (rewrite_cross_bb_scalar_deps_out_of_ssa): Likwise.
3131 * hash-table.h (::find_empty_slot_for_expand): Likewise.
3132 * ifcvt.c (if_convert): Likewise.
3133 * ipa-cp.c (ipcp_propagate_stage): Likewise.
3134 * ipa-devirt.c (type_in_anonymous_namespace_p): Likewise.
3135 (odr_type_p, odr_types_equivalent_p): Likewise.
3136 (add_type_duplicate, get_odr_type): Likewise.
3137 * ipa-icf.c (sem_item_optimizer::execute): Likewise.
3138 (sem_item_optimizer::subdivide_classes_by_equality): Likewise.
3139 (sem_item_optimizer::verify_classes): Likewise.
3140 (sem_item_optimizer::traverse_congruence_split): Likewise.
3141 (sem_item_optimizer::checking_verify_classes): New.
3142 * ipa-icf.h (sem_item_optimizer::checking_verify_classes): Add new
3143 method.
3144 * cfgrtl.c (commit_edge_insertions): Likewise.
3145 (fixup_reorder_chain, cfg_layout_finalize): Likewise.
3146 (rtl_flow_call_edges_add): Likewise.
3147 * cgraph.c (symbol_table::create_edge): Likewise.
3148 (cgraph_edge::redirect_call_stmt_to_callee): Likewise.
3149 * cgraph.h (symtab_node): Likewise.
3150 (symtab_node::checking_verify_symtab_nodes): Define.
3151 (cgraph_node::checking_verify_cgraph_nodes): Define.
3152 * cfghooks.h (checking_verify_flow_info): Define.
3153 * cfgloop.h (checking_verify_loop_structure): Define.
3154 * dominance.h (checking_verify_dominators): Define.
3155 * et-forest.c: Fix comment.
3156 * ipa-inline-analysis.c (compute_inline_parameters): Use flag_checking,
3157 CHECKING_P gcc_checking_assert and checking_* functions to eliminate
3158 ENABLE_CHECKING conditionals.
3159 * ipa-inline-transform.c (save_inline_function_body): Likewise.
3160 * ipa-inline.c (inline_small_functions): Likewise.
3161 (early_inliner): Likewise.
3162 * ipa-inline.h (estimate_edge_growth): Likewise.
3163 * ipa-visibility.c (function_and_variable_visibility): Likewise.
3164 * ipa.c (symbol_table::remove_unreachable_nodes): Likewise.
3165 (ipa_single_use): Likewise.
3166 * ira-int.h: Likewise.
3167 * ira.c (ira): Likewise.
3168 * loop-doloop.c (doloop_optimize_loops): Likewise.
3169 * loop-init.c (loop_optimizer_init, fix_loop_structure): Likewise.
3170 * loop-invariant.c (move_loop_invariants): Likewise.
3171 * lra-assigns.c (lra_assign): Likewise.
3172 * lra-constraints.c (lra_constraints): Likewise.
3173 * lra-eliminations.c (lra_eliminate): Likewise.
3174 * lra-int.h (struct lra_reg): Likewise.
3175 * lra-lives.c (check_pseudos_live_through_calls): Likewise.
3176 (lra_create_live_ranges_1): Likewise.
3177 * lra-remat.c (create_remat_bb_data): Likewise.
3178 * lra.c (lra_update_insn_recog_data, restore_scratches): Likewise.
3179 (lra): Likewise.
3180 (check_rtl): Always define. Remove incorrect guard around
3181 extract_constrain_insn call.
3182 * lto-cgraph.c (input_cgraph_1: Use flag_checking,
3183 CHECKING_P gcc_checking_assert and checking_* functions to eliminate
3184 ENABLE_CHECKING conditionals.
3185 * lto-streamer-out.c (DFS::DFS): Likewise.
3186 (lto_output): Likewise.
3187 * lto-streamer.c (lto_streamer_init): Likewise.
3188 * omp-low.c (scan_omp_target, expand_omp_taskreg): Likewise.
3189 expand_omp_target, execute_expand_omp): Likewise.
3190 (lower_omp_target): Likewise.
3191 * passes.c (execute_function_todo): Likewise.
3192 (execute_todo, execute_one_pass): Likewise.
3193 (verify_curr_properties): Always define.
3194 * predict.c (tree_estimate_probability: Use flag_checking,
3195 CHECKING_P gcc_checking_assert and checking_* functions to eliminate
3196 ENABLE_CHECKING conditionals.
3197 (propagate_freq): Likewise.
3198 * pretty-print.c (pp_format): Likewise.
3199 * real.c (real_to_decimal_for_mode): Likewise.
3200 * recog.c (split_all_insns): Likewise.
3201 * regcprop.c (kill_value_one_regno): Likewise.
3202 (copy_value): Likewise.
3203 (validate_value_data): Define unconditionally.
3204 * reload.c: Fix comment.
3205 * timevar.c: Include options.h
3206 * tree-ssa.h (checking_verify_ssa): Define.
3207 * tree-ssa-loop-manip.h (checking_verify_loop_closed_ssa): Define.
3208 * sched-deps.c (CHECK): Remove unused macro.
3209 (add_or_update_dep_1, sd_add_dep: Use flag_checking, CHECKING_P
3210 gcc_checking_assert and checking_* functions to eliminate
3211 ENABLE_CHECKING conditionals.
3212 * sel-sched-ir.c (free_regset_pool, tidy_control_flow): Likewise.
3213 * sel-sched.c (struct moveop_static_params): Likewise.
3214 (find_best_reg_for_expr, move_cond_jump): Likewise.
3215 (move_op_orig_expr_not_found): Likewise.
3216 (code_motion_process_successors, move_op): Likewise.
3217 * ssa-iterators.h (first_readonly_imm_use): Likewise.
3218 (next_readonly_imm_use): Likewise.
3219 * store-motion.c (compute_store_table): Likewise.
3220 * symbol-summary.h (function_summary::function_summary): Likewise.
3221 * target.h (cumulative_args_t): Likewise.
3222 (get_cumulative_args, pack_cumulative_args): Likewise.
3223 * timevar.c: (timer::print): Likewise.
3224 * trans-mem.c (ipa_tm_execute): Likewise.
3225 * tree-cfg.c (move_stmt_op): Likewise.
3226 (move_sese_region_to_fn): Likewise.
3227 (gimple_flow_call_edges_add): Likewise.
3228 * tree-cfgcleanup.c (cleanup_tree_cfg_noloop, repair_loop_structures):
3229 Likewise.
3230 * tree-eh.c (remove_unreachable_handlers): Likewise.
3231 * tree-if-conv.c (pass_if_conversion::execute): Likewise.
3232 * tree-inline.c (expand_call_inline, optimize_inline_calls): Likewise.
3233 * tree-into-ssa.c (update_ssa): Likewise.
3234 * tree-loop-distribution.c (pass_loop_distribution::execute): Likewise.
3235 * tree-outof-ssa.c (eliminate_useless_phis, rewrite_trees): Likewise.
3236 * tree-parloops.c (pass_parallelize_loops::execute): Likewise.
3237 * tree-predcom.c (suitable_component_p): Likewise.
3238 * tree-profile.c (gimple_gen_const_delta_profiler): Likewise.
3239 * tree-ssa-alias.c (refs_may_alias_p_1): Likewise.
3240 * tree-ssa-live.c (verify_live_on_entry): Likewise.
3241 * tree-ssa-live.h (register_ssa_partition): Likewise.
3242 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Likewise.
3243 * tree-ssa-loop-manip.c (add_exit_phi): Likewise.
3244 (tree_transform_and_unroll_loop): Likewise.
3245 * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise.
3246 * tree-ssa-operands.c (get_expr_operands): Likewise.
3247 * tree-ssa-propagate.c (replace_exp_1): Likewise.
3248 * tree-ssa-structalias.c (rewrite_constraints): Likewise.
3249 * tree-ssa-ter.c (free_temp_expr_table): Likewise.
3250 * tree-ssa-threadupdate.c (duplicate_thread_path): Likewise.
3251 * tree-ssanames.c (release_ssa_name_fn): Likewise.
3252 * tree-stdarg.c (expand_ifn_va_arg): Likewise.
3253 * tree-vect-loop-manip.c
3254 (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
3255 (slpeel_checking_verify_cfg_after_peeling): Likewise.
3256 (vect_do_peeling_for_loop_bound): Likewise.
3257 (vect_do_peeling_for_alignment): Likewise.
3258 * tree-vrp.c (supports_overflow_infinity): Likewise.
3259 (set_value_range): Likewise.
3260 * tree.c (free_lang_data_in_cgraph): Likewise.
3261 * value-prof.c (gimple_remove_histogram_value): Likewise.
3262 (free_hist): Likewise.
3263 * var-tracking.c (canonicalize_values_star): Likewise.
3264 (compute_bb_dataflow, vt_find_locations, vt_emit_notes): Likewise.
3265
3266 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
3267
3268 * internal-fn.def (IFN_GOACC_DIM_SIZE, IFN_GOACC_DIM_POS,
3269 IFN_GOACC_LOOP): New.
3270 * internal-fn.h (enum ifn_unique_kind): Add IFN_UNIQUE_OACC_FORK,
3271 IFN_UNIQUE_OACC_JOIN, IFN_UNIQUE_OACC_HEAD_MARK,
3272 IFN_UNIQUE_OACC_TAIL_MARK.
3273 (enum ifn_goacc_loop_kind): New.
3274 * internal-fn.c (expand_UNIQUE): Add IFN_UNIQUE_OACC_FORK,
3275 IFN_UNIQUE_OACC_JOIN cases.
3276 (expand_GOACC_DIM_SIZE, expand_GOACC_DIM_POS): New.
3277 (expand_GOACC_LOOP): New.
3278 * target-insns.def (oacc_dim_pos, oacc_dim_size): New.
3279 * omp-low.c: Include gimple-pretty-print.h.
3280 (struct oacc_loop): New.
3281 (enum oacc_loop_flags): New.
3282 (oacc_thread_numbers): New.
3283 (oacc_xform_loop): New.
3284 (new_oacc_loop_raw, new_oacc_loop_outer, new_oacc_loop,
3285 new_oacc_loop_routine, finish_oacc_loop, free_oacc_loop): New,
3286 (dump_oacc_loop_part, dump_oacc_loop, debug_oacc_loop): New,
3287 (oacc_loop_discover_walk, oacc_loop_sibling_nrevers,
3288 oacc_loop_discovery): New.
3289 (oacc_loop_xform_head_tail, oacc_loop_xform_loop,
3290 oacc_loop_process): New.
3291 (oacc_loop_fixed_partitions, oacc_loop_partition): New.
3292 (execute_oacc_device_lower): Discover & process loops. Process
3293 internal fns.
3294 * target.def (goacc.fork_join): Change sense of hook, clarify
3295 documentation.
3296 * doc/tm.texi: Regenerated.
3297
3298 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
3299
3300 * target-insns.def (oacc_fork, oacc_join): Define.
3301 * target.def (goacc.validate_dims): Adjust doc to avoid warning.
3302 (goacc.fork_join): New GOACC hook.
3303 * targhooks.h (default_goacc_fork_join): Declare.
3304 * omp-low.c (default_goacc_forkjoin): New.
3305 * doc/tm.texi.in (TARGET_GOACC_FORK_JOIN): Add.
3306 * doc/tm.texi: Regenerate.
3307
3308 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
3309
3310 * omp-low.c (oacc_init_rediction_array): New.
3311 (oacc_initialize_reduction_data): Initialize array.
3312
3313 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
3314
3315 * omp-low.c (pass_oacc_device_lower::execute): Ignore errors.
3316
3317 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
3318
3319 * internal-fn.c (expand_UNIQUE): New.
3320 * internal-fn.h (enum ifn_unique_kind): New.
3321 * internal-fn.def (IFN_UNIQUE): New.
3322 * target-insns.def (unique): Define.
3323 * gimple.h (gimple_call_internal_unique_p): New.
3324 * gimple.c (gimple_call_same_target_p): Check internal fn
3325 uniqueness.
3326 * tracer.c (ignore_bb_p): Check for IFN_UNIQUE call.
3327 * tree-ssa-threadedge.c
3328 (record_temporary_equivalences_from_stmts): Likewise.
3329 * tree-cfg.c (gmple_call_initialize_ctrl_altering): Likewise.
3330
3331 2015-10-27 Richard Henderson <rth@redhat.com>
3332
3333 PR rtl-opt/67609
3334 * config/i386/i386.c (ix86_cannot_change_mode_class): Disallow
3335 narrowing subregs on SSE and MMX registers.
3336 * doc/tm.texi.in (CANNOT_CHANGE_MODE_CLASS): Clarify when subregs that
3337 appear to be sub-words of multi-register pseudos must be rejected.
3338 * doc/tm.texi: Regenerate.
3339
3340 2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3341
3342 PR target/68102
3343 * config/aarch64/aarch64.md (*movsi_aarch64): Check that
3344 operands[0] is a reg before taking its REGNO in split condition.
3345 (*movdi_aarch64): Likewise.
3346
3347 2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3348
3349 * config/aarch64/aarch64.c (aarch64_output_simd_mov_immediate):
3350 Handle floating point inner modes properly.
3351
3352 2015-10-27 Alan Hayward <alan.hayward@arm.com>
3353
3354 * tree-vect-looop.c
3355 (vectorizable_live_operation): Change iterator.
3356
3357 2015-10-27 Abderrazek Zaafrani <a.zaafrani@samsung.com>
3358 Aditya Kumar <aditya.k7@samsung.com>
3359
3360 * graphite-optimize-isl.c (get_schedule_for_node_st): New callback
3361 function to schedule based on isl_schedule_node.
3362 (get_schedule_map_st): New schedule optimizer based on
3363 isl_schedule_node.
3364 (scop_get_domains): New. Return the isl_union_set containing the
3365 domains of all the pbbs.
3366 (optimize_isl): Call the new function get_schedule_map_st for isl-0.15
3367
3368 2015-10-27 H.J. Lu <hongjiu.lu@intel.com>
3369
3370 PR target/67215
3371 * calls.c (prepare_call_address): Don't handle -fno-plt here.
3372 * config/i386/i386.c (ix86_expand_call): Generate indirect call
3373 via GOT for -fno-plt. Support indirect call via GOT for x32.
3374 * config/i386/predicates.md (sibcall_memory_operand): Allow
3375 GOT memory operand.
3376
3377 2015-10-27 Richard Biener <rguenther@suse.de>
3378
3379 PR tree-optimization/68104
3380 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Move
3381 strided access check ...
3382 (vect_compute_data_refs_alignment): ... here.
3383
3384 2015-10-27 Daniel Jacobowitz <dan@codesourcery.com>
3385 Joseph Myers <joseph@codesourcery.com>
3386 Mark Shinwell <shinwell@codesourcery.com>
3387 Andrew Stubbs <ams@codesourcery.com>
3388 Rich Felker <dalias@libc.org>
3389
3390 * config.gcc: Handle --enable-fdpic.
3391 * config/sh/constraints.md (Ccl): New constraint.
3392 * config/sh/linux.h (SUBTARGET_LINK_EMUL_SUFFIX): Handle -mfdpic.
3393 * config/sh/sh-c.c (sh_cpu_cpp_builtins): Add __FDPIC__ and
3394 __SH_FDPIC__.
3395 * config/sh/sh-mem.cc (expand_block_move): Support FDPIC for calls to
3396 library functions.
3397 * config/sh/sh-protos.h (function_symbol_result): New struct.
3398 (function_symbol): Return function_symbol_result.
3399 (sh_get_fdpic_reg_initial_val, sh_load_function_descriptor): New
3400 declarations.
3401 * config/sh/sh.c (TARGET_ASM_INTEGER, sh_assemble_integer): Implement
3402 target hook.
3403 (TARGET_CANNOT_FORCE_CONST_MEM, sh_cannot_force_const_mem_p): Likewise.
3404 (sh_option_override): Force -fPIC if FDPIC is in effect.
3405 (sh_asm_output_addr_const_extra): Add UNSPEC_GOTFUNCDESC and
3406 UNSPEC_GOTOFFFUNCDESC cases.
3407 (prepare_move_operands): Use FDPIC initial GOT register for
3408 TLS-related GOT access; inhibit cross-section address offset constants
3409 for FDPIC.
3410 (sh_assemble_integer): New function.
3411 (sh_cannot_copy_insn_p): Inhibit copying insns that are FDPIC
3412 PC-relative call sites.
3413 (expand_ashiftrt): Adapt invocation of function_symbol.
3414 (sh_expand_prologue): Inhibit PC-relative GOT address load for FDPIC.
3415 (nonpic_symbol_mentioned_p): Add cases for UNSPEC_GOTFUNCDESC and
3416 UNSPEC_GOTOFFFUNCDESC.
3417 (legitimize_pic_address): Resolve function symbols to function
3418 descriptors for FDPIC. Do not use GOT-relative addressing for local
3419 data that may be read-only on FDPIC.
3420 (sh_emit_storesi, sh_emit_storehi): New functions.
3421 (sh_trampoline_init): Generate FDPIC trampolines.
3422 (sh_function_ok_for_sibcall): Add TARGET_FDPIC check.
3423 (sh_expand_sym_label2reg): Don't assume sibcalls are local.
3424 (sh_output_mi_thunk): Generate FDPIC call.
3425 (function_symbol): Return function_symbol_result. For SFUNC_STATIC on
3426 FDPIC, generate call site labels to use PC-relative addressing rather
3427 than GOT-relative addressing.
3428 (sh_conditional_register_usage): Make PIC register fixed and call used
3429 when FDPIC is in effect.
3430 (sh_legitimate_constant_p): Impose FDPIC constant constraints.
3431 (sh_cannot_force_const_mem_p, sh_load_function_descriptor,
3432 sh_get_fdpic_reg_initial_val): New functions.
3433 * config/sh/sh.h (SUBTARGET_ASM_SPEC, SUBTARGET_LINK_EMUL_SUFFIX):
3434 Handle -mfdpic.
3435 (FDPIC_SELF_SPECS, SUBTARGET_DRIVER_SELF_SPECS,
3436 PIC_OFFSET_TABLE_REG_CALL_CLOBBERED,
3437 SH_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): New macros.
3438 (DRIVER_SELF_SPECS): Add SUBTARGET_DRIVER_SELF_SPECS and
3439 FDPIC_SELF_SPECS.
3440 (TRAMPOLINE_SIZE): Select trampoline size for FDPIC.
3441 (ASM_PREFERRED_EH_DATA_FORMAT): Add EH format constraints for FDPIC.
3442 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Handle FDPIC case.
3443 * config/sh/sh.md (UNSPEC_GOTFUNCDESC, UNSPEC_GOTOFFFUNCDESC): New
3444 constants.
3445 (calli_fdpic, call_valuei_fdpic, sibcalli_fdpic, sibcalli_pcrel_fdpic,
3446 sibcall_pcrel_fdpic, sibcall_valuei_fdpic, sibcall_valuei_pcrel_fdpic,
3447 sibcall_value_pcrel_fdpic, sym2GOTFUNCDESC, symGOTFUNCDESC2reg,
3448 sym2GOTOFFFUNCDESC, symGOTOFFFUNCDESC2reg): New patterns.
3449 (udivsi3_i1, udivsi3_i4, udivsi3_i4_single, udivsi3,
3450 *divsi_inv_call_combine, divsi3_i4, divsi3_i4_single, divsi3, ashlsi3,
3451 ashlsi3_d_call, ashrsi3_n, lshrsi3, lshrsi3_d_call, calli, call_valuei,
3452 call, call_value, sibcalli, sibcalli_pcrel, sibcall_pcrel, sibcall,
3453 sibcall_valuei, sibcall_valuei_pcrel, sibcall_value_pcrel,
3454 sibcall_value, GOTaddr2picreg, symGOT_load, symGOTOFF2reg,
3455 block_move_real, block_lump_real, block_move_real_i4,
3456 block_lump_real_i4): Add support for FDPIC calls.
3457 (mulsi3, ic_invalidate_line, initialize_trampoline, call_pop,
3458 call_value_pop): Adjust for new function_symbol signature.
3459 * config/sh/sh.opt (-mfdpic): New option.
3460 * doc/install.texi (Options specification): Document --enable-fdpic.
3461 * doc/invoke.texi (SH Options): Document -mfdpic.
3462
3463
3464 2015-10-27 Alan Lawrence <alan.lawrence@arm.com>
3465
3466 PR tree-optimization/65963
3467 * tree-scalar-evolution.c (interpret_rhs_expr): Handle some
3468 LSHIFT_EXPRs as equivalent MULT_EXPRs.
3469
3470 2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3471
3472 PR target/67929
3473 * config/arm/arm.c (vfp3_const_double_for_bits): Rewrite.
3474 * config/arm/constraints.md (Dp): Update callsite.
3475 * config/arm/predicates.md (const_double_vcvt_power_of_two): Likewise.
3476
3477 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
3478
3479 * builtins.c (fold_builtin_load_exponent): Rename to...
3480 (fold_const_builtin_load_exponent): ...this and only handle
3481 constant arguments.
3482 (fold_builtin_2): Update accordingly.
3483 * match.pd: Add rules previously handled by fold_builtin_load_exponent.
3484
3485 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
3486
3487 * builtins.c (fold_builtin_logb): Rename to...
3488 (fold_const_builtin_logb): ...this and remove STRIP_NOPS call.
3489 (fold_builtin_significand): Rename to...
3490 (fold_const_builtin_significand): ...this and remove STRIP_NOPS call.
3491 (fold_builtin_1): Update accordingly.
3492
3493 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
3494
3495 * builtins.c (fold_builtin_fmin_fmax): Delete.
3496 (fold_builtin_2): Handle constant fmin and fmax arguments here.
3497 * match.pd: Add rules previously handled by fold_builtin_fmin_fmax.
3498
3499 2015-10-27 Evandro Menezes <e.menezes@samsung.com>
3500
3501 * config/aarch64/aarch64-protos.h (cpu_addrcost_table): Split member
3502 for register extension into sign and zero register extension.
3503 * config/aarch64/aarch64.c (generic_addrcost_table): Infer values
3504 for sign and zero register extension.
3505 (cortexa57_addrcost_table): Likewise.
3506 (xgene1_addrcost_table): Likewise.
3507
3508 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
3509
3510 * fold-const.c (fold_minmax): Delete.
3511 (fold_binary_loc): Don't call it.
3512 * match.pd: Add rules previously handled by fold_minmax.
3513
3514 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
3515
3516 * builtins.c (fold_builtin_fma): Remove constant handling.
3517 (fold_builtin_3): Handle constant fma arguments here.
3518
3519 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
3520
3521 * builtins.c (fold_builtin_fabs): Remove constant handling.
3522 (fold_builtin_abs): Likewise.
3523
3524 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
3525
3526 * builtins.c (fold_builtin_copysign): Delete.
3527 (fold_builtin_2): Handle constant copysign arguments here.
3528 * match.pd: Add rules previously handled by fold_builtin_copysign.
3529
3530 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
3531
3532 * builtins.c (fold_builtin_signbit): Delete.
3533 (fold_builtin_2): Handle constant signbit arguments here.
3534 * match.pd: Add rules previously handled by fold_builtin_signbit.
3535
3536 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
3537
3538 * match.pd: Handle sqrt(x) cmp 0 specially.
3539
3540 2015-10-27 Ilya Enkovich <enkovich.gnu@gmail.com>
3541
3542 * tree-vect-generic.c (expand_vector_operations_1): Check
3543 optab type before using it.
3544
3545 2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3546
3547 * config/aarch64/aarch64-protos.h
3548 (struct tune_params): Add autoprefetcher_model field.
3549 * config/aarch64/aarch64.c: Include params.h
3550 (generic_tunings): Specify autoprefetcher_model value.
3551 (cortexa53_tunings): Likewise.
3552 (cortexa57_tunings): Likewise.
3553 (cortexa72_tunings): Likewise.
3554 (thunderx_tunings): Likewise.
3555 (xgene1_tunings): Likewise.
3556 (aarch64_first_cycle_multipass_dfa_lookahead_guard): New function.
3557 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define.
3558 (aarch64_override_options_internal): Set
3559 PARAM_SCHED_AUTOPREF_QUEUE_DEPTH param.
3560
3561 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
3562
3563 * builtins.c (fold_builtin_exponent): Delete.
3564 (fold_builtin_2): Handle constant expN arguments here.
3565 * match.pd: Fold expN(logN(x)) -> x.
3566
3567 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
3568
3569 * builtins.c (fold_builtin_powi): Delete.
3570 (fold_builtin_2): Handle constant powi arguments here.
3571 * match.pd: Add rules previously handled by fold_builtin_powi.
3572
3573 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
3574
3575 * builtins.c (fold_builtin_pow): Delete in favor of...
3576 (fold_const_builtin_pow): ...this new function. Only handle constant
3577 arguments.
3578 (fold_builtin_2): Update accordingly.
3579 * match.pd: Add rules previously handled by fold_builtin_pow.
3580
3581 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
3582
3583 * builtins.c (fold_builtin_hypot): Delete.
3584 (fold_builtin_2): Handle constant hypot arguments here.
3585 * match.pd: Fold hypot(x, 0) and hypot(0, x) to x. Canonicalize
3586 hypot(x, x) to fabs(x)*sqrt(2).
3587
3588 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
3589
3590 * gimple-match-head.c (maybe_push_res_to_seq): Use create_tmp_reg
3591 instead of make_ssa_name if not yet in SSA form.
3592
3593 2015-10-27 Richard Biener <rguenther@suse.de>
3594
3595 * cfg.c (free_edge): Add function argument and use it instead of cfun.
3596 (clear_edges): Likewise.
3597 * cfg.h (clear_edges): Adjust prototype.
3598 * cfgexpand.c (pass_expand::execute): Adjust.
3599 * cfgloop.c (release_recorded_exits): Add function argument and use
3600 it instead of cfun.
3601 * cfgloop.h (release_recorded_exits): Adjust prototype.
3602 (loops_state_satisfies_p): Add overload with function argument.
3603 (loops_state_set): Likewise.
3604 (loops_state_clear): Likewise.
3605 (struct loop_iterator): Add function argument to constructor
3606 and iterator and use it instead of cfun.
3607 (FOR_EACH_LOOP_FN): New macro.
3608 (loop_optimizer_finalize): Add overload with function argument.
3609 * loop-init.c (loop_optimizer_init): Adjust.
3610 (fix_loop_structure): Likewise.
3611 (loop_optimizer_finaliz): Add function argument and use it
3612 instead of cfun.
3613 * tree-cfg.c (delete_tree_cfg_annotations): Likewise.
3614 * tree-cfg.h (delete_tree_cfg_annotations): Adjust prototype.
3615 * cgraph.c (release_function_body): Do not push/pop cfun.
3616 * final.c (rest_of_clean_state): Adjust.
3617 * graphite.c (graphite_finalize): Likewise.
3618 * tree-ssa-copy.c (fini_copy_prop): Likewise.
3619 * tree-ssa-dce.c (perform_tree_ssa_dce): Likewise.
3620 * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables): Likewise.
3621 (tree_unroll_loops_completely): Likewise.
3622 (pass_complete_unrolli::execute): Likewise.
3623 * tree-ssa-loop-niter.c (free_numbers_of_iterations_estimates):
3624 Add function argument and use it instead of cfun.
3625 * tree-ssa-loop-niter.h (free_numbers_of_iterations_estimates):
3626 Adjust prototype.
3627 * tree-ssa-loop.c (tree_ssa_loop_done): Adjust.
3628 * tree-ssa.c (delete_tree_ssa): Add function argument and use it
3629 instead of cfun.
3630 * tree-ssa.h (delete_tree_ssa): Adjust prototype.
3631 * tree-ssanames.c (fini_ssanames): Add function argument and use it
3632 instead of cfun.
3633 * tree-ssanames.c (fini_ssanames): Adjust prototype.
3634 * tree-vrp.c (execute_vrp): Adjust.
3635 * value-prof.c (free_histograms): Add function argument and use it
3636 instead of cfun.
3637 * value-prof.h (free_histograms): Adjust prototype.
3638
3639 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
3640
3641 * tree.h (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES)
3642 (OACC_KERNELS_BODY, OACC_KERNELS_CLAUSES, OACC_KERNELS_COMBINED)
3643 (OACC_PARALLEL_COMBINED): Don't define macros. Adjust all users.
3644
3645 2015-10-27 Tom de Vries <tom@codesourcery.com>
3646
3647 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Add and use var
3648 field_type.
3649
3650 2015-10-27 Bin Cheng <bin.cheng@arm.com>
3651
3652 * loop-invariant.c (struct def): New field can_prop_to_addr_uses.
3653 (inv_can_prop_to_addr_use): New function.
3654 (record_use): Call can_prop_to_addr_uses, set the new field.
3655 (get_inv_cost): Count cost if inv can't be propagated into its
3656 address uses.
3657
3658 2015-10-26 Doug Evans <dje@google.com>
3659
3660 * config/linux.h (INCLUDE_DEFAULTS): Add INCLUDE_DEFAULTS_MUSL_LOCAL.
3661
3662 2015-10-26 Eric Botcazou <ebotcazou@adacore.com>
3663
3664 * match.pd (fold_widened_comparison): Apply simplifications to all
3665 integral types.
3666
3667 2015-10-26 Simon Dardis <simon.dardis@imgtec.com>
3668
3669 * target.def (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P): New hook.
3670 * doc/tm.texi.in (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P): Document.
3671 * doc/tm.texi: Regenerated.
3672 * reorg.c (dbr_schedule): Use new hook.
3673 * config/mips/mips.c (mips_no_speculation_in_delay_slots_p): New.
3674
3675 2015-10-26 Jeff Law <law@redhat.com>
3676
3677 PR tree-optimization/68013
3678 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
3679 Make sure the first block in the path is in VISITED_BBs.
3680
3681 2015-10-26 Richard Biener <rguenther@suse.de>
3682 Dominik Vogt <vogt@linux.vnet.ibm.com>
3683
3684 PR middle-end/67443
3685 * alias.c (ao_ref_from_mem): Remove promoted subreg handling.
3686 Properly prune ref->ref for accesses outside of ref.
3687
3688 2015-10-26 Richard Sandiford <richard.sandiford@arm.com>
3689
3690 * gimple-fold.c (replace_stmt_with_simplification): Don't allow
3691 new statements to be inserted if inplace. Allow calls to have
3692 nonempty sequences.
3693
3694 2015-10-26 Richard Biener <rguenther@suse.de>
3695
3696 * tree-object-size.c: Remove builtins.h include, include tree-cfg.h.
3697 (do_valueize): New function.
3698 (pass_object_sizes::execute): Use gimple_fold_stmt_to_constant and
3699 replace_uses_by.
3700 * tree-ssa-threadedge.c: Remove builtins.h include, include
3701 gimple-fold.h
3702 (fold_assignment_stmt): Remove.
3703 (threadedge_valueize): New function.
3704 (record_temporary_equivalences_from_stmts): Use
3705 gimple_fold_stmt_to_constant_1, note additional cleanup
3706 opportunities.
3707
3708 2015-10-26 Richard Biener <rguenther@suse.de>
3709
3710 * match.pd ((A & ~B) - (A & B) -> (A ^ B) - B): Add missing :c.
3711 ( (X & ~Y) | (~X & Y) -> X ^ Y): Remove redundant :c.
3712
3713 2015-10-26 Alan Hayward <alan.hayward@arm.com>
3714
3715 * tree-vect-loop.c (vect_create_epilog_for_reduction): Fix
3716 VEC_COND_EXPR types.
3717
3718 2015-10-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3719
3720 * auto-inc-dec.c (insert_move_insn_before): Delete.
3721 (attempt_change): Remember to cost the simple move in the
3722 FORM_PRE_ADD and FORM_POST_ADD cases.
3723
3724 2015-10-26 Kaz Kojima <kkojima@gcc.gnu.org>
3725
3726 PR target/68091
3727 * config/sh/sh.c (sh_vector_mode_supported_p): Use
3728 TARGET_SHMEDIA_FPU instead of TARGET_FPU_ANY.
3729
3730 2015-10-26 Tom de Vries <tom@codesourcery.com>
3731
3732 * tree-ssa-structalias.c (make_restrict_var_constraints): New function,
3733 factored out of ...
3734 (intra_create_variable_infos): ... here.
3735
3736 2015-10-26 Tom de Vries <tom@codesourcery.com>
3737
3738 * tree-ssa-structalias.c (intra_create_variable_infos): Add
3739 restrict_pointer_p and recursive_restrict_p variables.
3740
3741 2015-10-26 Tom de Vries <tom@codesourcery.com>
3742
3743 * tree-ssa-structalias.c (intra_create_variable_infos): Inline
3744 get_vi_for_tree call.
3745
3746 2015-10-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3747
3748 PR middle-end/67989
3749 * optabs.c (expand_atomic_compare_and_swap): Handle case when
3750 ptarget_oval or ptarget_bool are const0_rtx.
3751
3752 2015-10-26 Christian Bruel <christian.bruel@st.com>
3753
3754 * function.h (MINIMUM_METHOD_BOUNDARY): New macro.
3755 * cp/decl.c (grokfndecl): Set DECL_ALIGN with MINIMUM_METHOD_BOUNDARY.
3756 * cp/method.c (implicitly_declare_fn): Likewise.
3757 * cp/lambda.c (maybe_add_lambda_conv_op): Likewise. Remove VBIT setting.
3758 * java/class.c (add_method_1): Likewise.
3759
3760 2015-10-26 Richard Biener <rguenther@suse.de>
3761
3762 * alloc-pool.h (base_pool_allocator): Use placement new.
3763 (base_pool_allocator::remove): Likewise. Compute size outside of
3764 flag_checking.
3765
3766 2015-10-26 Richard Sandiford <richard.sandiford@arm.com>
3767
3768 * builtins.c (do_real_to_int_conversion): New function.
3769 (fold_fixed_mathfn, fold_builtin_int_roundingfn): Delete.
3770 (fold_builtin_1): Handle constant {i,l,ll}{ceil,floor,round}{f,,l}
3771 arguments here.
3772 * match.pd: Add rules previously handled by fold_fixed_mathfn
3773 and fold_builtin_int_roundingfn.
3774
3775 2015-10-26 Richard Sandiford <richard.sandiford@arm.com>
3776
3777 * match.pd: Use macros to define built-in operator lists.
3778
3779 2015-10-20 Richard Sandiford <richard.sandiford@arm.com>
3780 Richard Biener <rguenther@suse.de>
3781
3782 * genmatch.c (dt_simplify::gen): Skip captures that are
3783 part of the result.
3784 (parser::parse_expr): Allow captures in results too.
3785 * builtins.c (fold_builtin_cexp): Delete.
3786 (fold_builtin_1): Handle constant cexp arguments here.
3787 * match.pd: Fold cexp(x+yi) to exp(x) * cexpi(y).
3788
3789 2015-10-26 Mikhail Maltsev <maltsevm@gmail.com>
3790
3791 * alloc-pool.h (base_pool_allocator::initialize, ::allocate): Remove
3792 conditional compilation.
3793 (base_pool_allocator::remove): Use flag_checking.
3794
3795 2015-10-25 John David Anglin <danglin@gcc.gnu.org>
3796
3797 * config/pa/som.h (EH_FRAME_THROUGH_COLLECT2): Define.
3798
3799 PR middle-end/68079
3800 * dojump.c (do_compare_and_jump): Canonicalize both function and
3801 method types.
3802
3803 2015-10-25 Uros Bizjak <ubizjak@gmail.com>
3804
3805 PR target/68084
3806 * config/i386/i386.c (ix86_md_asm_adjust) [case 'a']: Use NE code
3807 for =@ccae.
3808
3809 2015-10-23 Jan Hubicka <hubicka@ucw.cz>
3810
3811 PR ipa/pr67600
3812 * ipa-polymorphic-call.c
3813 (ipa_polymorphic_call_context::get_dynamic_type): Do not confuse
3814 instance offset with offset of outer type.
3815
3816 2015-10-23 Jan Hubicka <hubicka@ucw.cz>
3817
3818 * fold-const.c (operand_equal_p): Handle VIEW_CONVERT_EXPR.
3819
3820 2015-10-23 Caroline Tice <cmtice@google.com>
3821
3822 (from Richard Biener
3823 * tree.c (int_cst_hasher::hash): Replace XOR with more efficient
3824 call to iterative_hash_host_wide_int.
3825
3826 2015-10-23 David Edelsohn <dje.gcc@gmail.com>
3827
3828 * config.gcc (powerpc-ibm-aix[6789]) [default_use_cxa_atexit]:
3829 Define as yes.
3830
3831 2015-10-23 Ilya Enkovich <enkovich.gnu@gmail.com>
3832
3833 * tree-vect-generic.c (expand_vector_operations_1): Check
3834 optab exists before use it.
3835
3836 2015-10-23 Ilya Enkovich <enkovich.gnu@gmail.com>
3837
3838 * tree-vect-generic.c (expand_vector_condition): Avoid
3839 uninitialized variable warning.
3840
3841 2015-10-23 Jeff Law <law@redhat.com>
3842
3843 * passes.c (execute_function_todo): Do not call flush_ssaname_freelist
3844 here. Instead...
3845 (execute_todo): Call it here.
3846 * tree-ssanames.c (make_ssa_name_fn): Unconditionally gather reuse
3847 statistics
3848 (pass_release_ssa_names::execute): Do not call flusH_ssaname_freelist.
3849
3850 2015-10-23 Gregor Richards <gregor.richards@uwaterloo.ca>
3851 Szabolcs Nagy <szabolcs.nagy@arm.com>
3852
3853 * config.gcc (enable_secureplt): Add *-linux*-musl*.
3854
3855 2015-10-23 Jeff Law <law@redhat.com>
3856
3857 PR tree-optimization/67830
3858 * match.pd ((bit_and (plus/minus (convert @0) (convert @1)) mask)):
3859 Explicitly verify the mask has no bits outside the type of
3860 the innermost operands.
3861
3862 2015-10-23 Gregor Richards <gregor.richards@uwaterloo.ca>
3863 Szabolcs Nagy <szabolcs.nagy@arm.com>
3864
3865 * config/rs6000/linux64.h (MUSL_DYNAMIC_LINKER32): Define.
3866 (MUSL_DYNAMIC_LINKER64): Define.
3867 (GNU_USER_DYNAMIC_LINKER32): Update.
3868 (GNU_USER_DYNAMIC_LINKER64): Update.
3869 (CHOOSE_DYNAMIC_LINKER): Update.
3870
3871 * config/rs6000/sysv4.h (GNU_USER_DYNAMIC_LINKER): Update.
3872 (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER_E,)
3873 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
3874 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
3875 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
3876 (CHOOSE_DYNAMIC_LINKER): Update.
3877 (INCLUDE_DEFAULTS): Redefine.
3878
3879 * config/rs6000/sysv4le.h (MUSL_DYNAMIC_LINKER_E): Define.
3880
3881 2015-10-23 Jan Hubicka <hubicka@ucw.cz>
3882
3883 * fold-const.c (operand_equal_p): Do not compare TYPE_MODE when
3884 comparing addresses.
3885
3886 2015-10-23 Jan Hubicka <hubicka@ucw.cz>
3887
3888 * fold-const.c (operand_equal_p): Handle matching of vector
3889 constructors.
3890
3891 2015-10-23 David Edelsohn <dje.gcc@gmail.com>
3892
3893 * doc/install.texi (*-ibm-aix*): Additional information for AIX 7.1.
3894
3895 2015-10-23 Steve Ellcey <sellcey@imgtec.com>
3896 Andrew Pinski <apinski@cavium.com>
3897
3898 PR rtl-optimization/67736
3899 * combine.c (simplify_comparison): Use gen_lowpart_or_truncate instead
3900 of gen_lowpart.
3901
3902 2015-10-23 Ilya Enkovich <enkovich.gnu@gmail.com>
3903
3904 PR middle-end/68066
3905 * tree.c (build_truth_vector_type): Support BLK mode
3906 returned for boolean vector.
3907
3908 2015-10-23 Alan Hayward <alan.hayward@arm.com>
3909
3910 PR tree-optimization/65947
3911 * tree-vect-loop.c
3912 (vect_is_simple_reduction_1): Find condition reductions.
3913 (vect_model_reduction_cost): Add condition reduction costs.
3914 (get_initial_def_for_reduction): Add condition reduction initial var.
3915 (vect_create_epilog_for_reduction): Add condition reduction epilog.
3916 (vectorizable_reduction): Condition reduction support.
3917 * tree-vect-stmts.c (vectorizable_condition): Add vect reduction arg
3918 * doc/sourcebuild.texi (Vector-specific attributes): Document
3919 vect_max_reduc
3920
3921 2015-10-23 Richard Biener <rguenther@suse.de>
3922
3923 * Makefile.in (build/genmatch.o): Properly depend on is-a.h, tree.def
3924 and builtins.def.
3925
3926 2015-10-23 Richard Biener <rguenther@suse.de>
3927 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
3928
3929 * fold-const.c (fold_binary_loc) : Move Fold (A & ~B) - (A & B)
3930 into (A ^ B) - B to match.pd
3931 Move (X & ~Y) | (~X & Y) is X ^ Y to match.pd.
3932
3933 * match.pd (minus (bit_and:cs @0 (bit_not @1)) (bit_and:s @0 @1)):
3934 New simplifier.
3935 (minus (bit_and:s @0 INTEGER_CST@2) (bit_and:s @0 INTEGER_CST@1)):
3936 New simplifier.
3937 (minus (bit_and:s @0 @1) (bit_and:cs @0 (bit_not @1))):
3938 New simplifier.
3939 (bit_ior:c (bit_and:c @0 (bit_not @1)) (bit_and:c (bit_not @0) @1)):
3940 New simplifier.
3941 (bit_ior:c (bit_and @0 INTEGER_CST@2) (bit_and (bit_not @0)
3942 INTEGER_CST@1)): New simplifier.
3943
3944 2015-10-23 Richard Sandiford <richard.sandiford@arm.com>
3945
3946 * builtins.c (integer_valued_real_p): Move to fold-const.c.
3947 (fold_trunc_transparent_mathfn, fold_builtin_trunc, fold_builtin_floor)
3948 (fold_builtin_ceil, fold_builtin_round): Delete.
3949 (fold_builtin_1): Handle constant trunc, floor, ceil and round
3950 arguments here.
3951 * convert.c (convert_to_real): Remove narrowing of rounding
3952 functions.
3953 * fold-const.h (integer_valued_real_unary_p)
3954 (integer_valued_real_binary_p, integer_valued_real_call_p)
3955 (integer_valued_real_single_p, integer_valued_real_p): Declare.
3956 * fold-const.c (tree_single_nonnegative_warnv_p): Move
3957 name_registered_for_update_p check to SSA_NAME case statement.
3958 Don't call tree_simple_nonnegative_warnv_p for SSA names.
3959 (integer_valued_real_unary_p, integer_valued_real_binary_p)
3960 (integer_valued_real_call_p, integer_valued_real_single_p)
3961 (integer_valued_real_invalid_p): New functions.
3962 (integer_valued_real_p): Move from fold-const.c and rework
3963 to call the functions above. Handle SSA names.
3964 * gimple-fold.h (gimple_stmt_integer_valued_real_p): Declare.
3965 * gimple-fold.c (gimple_assign_integer_valued_real_p)
3966 (gimple_call_integer_valued_real_p, gimple_phi_integer_valued_real_p)
3967 (gimple_stmt_integer_valued_real_p): New functions.
3968 * match.pd: Fold f(f(x))->f(x) for fp->fp rounding functions f.
3969 Fold f(x)->x for the same f if x is known to be integer-valued.
3970 Fold f(extend(x))->extend(f'(x)) if doing so doesn't affect
3971 the result. Canonicalize floor(x) as trunc(x) if x is
3972 nonnegative.
3973
3974 2015-10-23 Tom de Vries <tom@codesourcery.com>
3975
3976 * tree-ssa-structalias.c (intra_create_variable_infos): Use
3977 make_constraint_from.
3978
3979 2015-10-23 Tom de Vries <tom@codesourcery.com>
3980
3981 * tree-ssa-structalias.c (create_variable_info_for_1): Add missing
3982 setting of is_full_var in case of a single field.
3983
3984 2015-10-22 Martin Sebor <msebor@redhat.com>
3985
3986 PR driver/68043
3987 * config/i386/i386.opt: Add missing periods to the ends of sentences.
3988 * config/msp430/msp430.opt: Same.
3989
3990 2015-10-21 David Wohlferd <dw@LimeGreenSocks.com>
3991
3992 * doc/extend.exp (Global Register Variables): Rewrite.
3993
3994 2015-10-22 Jeff Law <law@redhat.com>
3995
3996 * genattrtab.c (main): If we do not have any annul-true or annul-false
3997 slots, then write out a dummy eligible_for_annul_true or
3998 eligible_for_annul_false as needed.
3999
4000 2015-10-22 Nick Clifton <nickc@redhat.com>
4001
4002 * config/msp430/msp430.opt: Add -msilicon-errata and
4003 -msilicon-errata-warn.
4004 * config/msp430/msp430.h (ASM_SPEC): Pass new options on to
4005 assembler.
4006 * doc/invoke.texi: Document new options.
4007
4008 2015-10-22 Richard Biener <rguenther@suse.de>
4009
4010 PR tree-optimization/58497
4011 * tree-vect-generic.c (ssa_uniform_vector_p): New helper.
4012 (expand_vector_operations_1): Use it. Lower operations on
4013 all uniform vectors to scalar operations if the HW supports it.
4014
4015 2015-10-22 Richard Biener <rguenther@suse.de>
4016
4017 PR tree-optimization/19049
4018 PR tree-optimization/65962
4019 * tree-vect-data-refs.c (vect_analyze_group_access_1): Fall back
4020 to strided accesses if single-element interleaving doesn't work.
4021
4022 2015-10-22 Richard Biener <rguenther@suse.de>
4023
4024 PR middle-end/68046
4025 PR middle-end/61893
4026 * optabs.c (emit_libcall_block_1): Allow a NULL_RTX equiv.
4027 (expand_binop): For -ftrapv optabs do not record an REG_EQUAL note.
4028 (expand_unop): Likewise.
4029
4030 2015-10-22 Richard Biener <rguenther@suse.de>
4031
4032 * fold-const.c (fold_addr_of_array_ref_difference): Properly
4033 convert operands before folding a MINUS_EXPR.
4034 (fold_binary_loc): Move simplification of MINUS_EXPR on
4035 converted POINTER_PLUS_EXPRs ...
4036 * match.pd: ... here.
4037
4038 2015-10-22 Richard Sandiford <richard.sandiford@arm.com>
4039
4040 * builtins.c (fold_builtin_tan): Delete.
4041 (fold_builtin_1): Handle constant tan arguments here.
4042 * match.pd: Simplify (tan (atan x)) to x.
4043
4044 2015-10-22 Richard Sandiford <richard.sandiford@arm.com>
4045
4046 * builtins.c (fold_builtin_cproj): Delete.
4047 (fold_builtin_1): Handle constant arguments here.
4048 (build_complex_cproj): Move and rename to...
4049 * tree.c: (build_complex_inf): ...this.
4050 * tree.h (build_complex_inf): Declare.
4051 * match.pd: Fold cproj(x)->x if x has no infinity.
4052 Use build_complex_inf for existing cproj rules.
4053
4054 2015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4055
4056 PR target/68015
4057 * config/s390/s390.md (mov<mode>cc): Emit compare only if we don't
4058 already have a comparison result.
4059
4060 2015-10-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4061
4062 PR target/63304
4063 * config/aarch64/aarch64.c (aarch64_nopcrelative_literal_loads): New.
4064 (aarch64_expand_mov_immediate): Use aarch64_nopcrelative_literal_loads.
4065 (aarch64_classify_address): Likewise.
4066 (aarch64_secondary_reload): Likewise.
4067 (aarch64_override_options_after_change_1): Adjust.
4068 * config/aarch64/aarch64.md (aarch64_reload_movcp<GPF_TF:mode><P:mode>):
4069 Use aarch64_nopcrelative_literal_loads.
4070 (aarch64_reload_movcp<VALL:mode><P:mode>): Likewise.
4071 * config/aarch64/aarch64-protos.h (aarch64_nopcrelative_literal_loads):
4072 Declare.
4073
4074 2015-10-21 Martin Sebor <msebor@redhat.com>
4075
4076 PR driver/68043
4077 * opts.c (undocumented_msg, use_diagnosed_msg): New globals.
4078 (print_filtered_help): Reference aliased option's name and encourage
4079 readers to use it in preference to the alias if the former is not
4080 documented. Mention when using an option is diagnosed.
4081 * gcc.c (display_help): End each sentence with a period.
4082
4083 * common.opt: End each sentence that describes an option with
4084 a period.
4085 * config/aarch64/aarch64.opt: Same.
4086 * config/alpha/alpha.opt: Same.
4087 * config/arc/arc.opt: Same.
4088 * config/arm/arm.opt: Same.
4089 * config/avr/avr.opt: Same.
4090 * config/bfin/bfin.opt: Same.
4091 * config/c6x/c6x.opt: Same.
4092 * config/cr16/cr16.opt: Same.
4093 * config/cris/cris.opt: Same.
4094 * config/cris/linux.opt: Same.
4095 * config/darwin.opt: Same.
4096 * config/epiphany/epiphany.opt: Same.
4097 * config/fr30/fr30.opt: Same.
4098 * config/frv/frv.opt: Same.
4099 * config/ft32/ft32.opt: Same.
4100 * config/g.opt: Same.
4101 * config/h8300/h8300.opt: Same.
4102 * config/i386/cygming.opt: Same.
4103 * config/i386/djgpp.opt: Same.
4104 * config/i386/i386.opt: Same.
4105 * config/i386/interix.opt: Same.
4106 * config/i386/mingw-w64.opt: Same.
4107 * config/i386/mingw.opt: Same.
4108 * config/ia64/ia64.opt: Same.
4109 * config/ia64/ilp32.opt: Same.
4110 * config/iq2000/iq2000.opt: Same.
4111 * config/linux.opt: Same.
4112 * config/lm32/lm32.opt: Same.
4113 * config/lynx.opt: Same.
4114 * config/m32c/m32c.opt: Same.
4115 * config/m32r/m32r.opt: Same.
4116 * config/m68k/ieee.opt: Same.
4117 * config/m68k/m68k.opt: Same.
4118 * config/mcore/mcore.opt: Same.
4119 * config/mep/mep.opt: Same.
4120 * config/microblaze/microblaze.opt: Same.
4121 * config/mips/mips.opt: Same.
4122 * config/mmix/mmix.opt: Same.
4123 * config/mn10300/mn10300.opt: Same.
4124 * config/moxie/moxie.opt: Same.
4125 * config/msp430/msp430.opt: Same.
4126 * config/nios2/elf.opt: Same.
4127 * config/nios2/nios2.opt: Same.
4128 * config/nvptx/nvptx.opt: Same.
4129 * config/pa/pa-hpux.opt: Same.
4130 * config/pa/pa-hpux1010.opt: Same.
4131 * config/pa/pa-hpux1111.opt: Same.
4132 * config/pa/pa-hpux1131.opt: Same.
4133 * config/pa/pa.opt: Same.
4134 * config/pa/pa64-hpux.opt: Same.
4135 * config/pdp11/pdp11.opt: Same.
4136 * config/rl78/rl78.opt: Same.
4137 * config/rs6000/476.opt: Same.
4138 * config/rs6000/aix64.opt: Same.
4139 * config/rs6000/darwin.opt: Same.
4140 * config/rs6000/linux64.opt: Same.
4141 * config/rs6000/rs6000.opt: Same.
4142 * config/rs6000/sysv4.opt: Same.
4143 * config/s390/s390.opt: Same.
4144 * config/s390/tpf.opt: Same.
4145 * config/sh/sh.opt: Same.
4146 * config/sol2.opt: Same.
4147 * config/sparc/long-double-switch.opt: Same.
4148 * config/sparc/sparc.opt: Same.
4149 * config/spu/spu.opt: Same.
4150 * config/stormy16/stormy16.opt: Same.
4151 * config/tilegx/tilegx.opt: Same.
4152 * config/tilepro/tilepro.opt: Same.
4153 * config/v850/v850.opt: Same.
4154 * config/vax/vax.opt: Same.
4155 * config/visium/visium.opt: Same.
4156 * config/vms/vms.opt: Same.
4157 * config/vxworks.opt: Same.
4158 * config/xtensa/xtensa.opt: Same.
4159
4160 2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
4161 Sebastian Pop <s.pop@samsung.com>
4162
4163 * graphite-scop-detection.c (parameter_index_in_region): Update call to
4164 invariant_in_sese_p_rec.
4165 * graphite-sese-to-poly.c (extract_affine): Same.
4166 * sese.c (invariant_in_sese_p_rec): Pass in an extra
4167 parameter has_vdefs.
4168 (scalar_evolution_in_region): Return chrec_dont_know when the scalar
4169 variable depends on virtual definitions in the current region.
4170 * sese.h (invariant_in_sese_p_rec): Update declaration.
4171
4172 2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
4173 Sebastian Pop <s.pop@samsung.com>
4174
4175 * graphite-scop-detection.c (build_scops): Do not handle scops
4176 with more than PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP arrays.
4177 * params.def (PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP): New.
4178
4179 2015-10-21 Mikhail Maltsev <maltsevm@gmail.com>
4180
4181 * config.in: Regenerate.
4182 * configure: Regenerate.
4183 * configure.ac (CHECKING_P): Define.
4184 * system.h: Use CHECKING_P.
4185
4186 2015-10-11 Jan Hubicka <hubicka@ucw.cz>
4187
4188 PR ipa/67056
4189 * ipa-polymorphic-call.c (possible_placement_new): If cur_offset
4190 is negative we don't know the type.
4191 (check_stmt_for_type_change): Skip constructors of non-polymorphic
4192 types as those won't help devirutalization.
4193
4194 2015-10-11 Jan Hubicka <hubicka@ucw.cz>
4195
4196 * fold-const.c (operand_equal_p): Add code matching empty constructors.
4197
4198 2015-10-21 Eric Botcazou <ebotcazou@adacore.com>
4199
4200 * tree.def (CEIL_DIV_EXPR, FLOOR_DIV_EXPR, ROUND_DIV_EXPR): Tweak
4201 comments.
4202 (TRUNC_MOD_EXPR, CEIL_MOD_EXPR, FLOOR_MOD_EXPR, ROUND_MOD_EXPR):
4203 Add comments on sign of the result.
4204 * fold-const.c (tree_binary_nonnegative_warnv_p) <FLOOR_MOD_EXPR>:
4205 Recurse on operand #1 instead of operand #0.
4206 <CEIL_MOD_EXPR>: Do not recurse.
4207 <ROUND_MOD_EXPR>: Likewise.
4208
4209 2015-10-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
4210
4211 * cfgrtl.c (pass_free_cfg::execute): Adjust.
4212 * final.c (dbr_sequence_length): Always define.
4213 (shorten_branches): Adjust.
4214 * genattr-common.c (main): Always define DELAY_SLOTS.
4215 * genattr.c (main): Unconditionally declare functions and define
4216 macros related to delay slots.
4217 * genattrtab.c (write_eligible_delay): Adjust.
4218 (main): Always write out delay slot functions.
4219 * opts.c (default_options_table): Adjust.
4220 * reorg.c (redirect_with_delay_slots_safe_p): Likewise.
4221 (redirect_with_delay_list_safe_p): Likewise.
4222 (fill_simple_delay_slots): Likewise.
4223 (fill_slots_from_thread): Likewise.
4224 (make_return_insns): Likewise.
4225 (dbr_schedule): Likewise.
4226 (rest_of_handle_delay_slots): Likewise.
4227 (pass_delay_slots::gate): Likewise.
4228 * toplev.c (process_options): Likewise.
4229
4230 2015-10-21 Richard Henderson <rth@redhat.com>
4231
4232 * targhooks.c (default_addr_space_pointer_mode): Remove check
4233 for generic address space.
4234 (default_addr_space_address_mode): Likewise.
4235 (default_addr_space_valid_pointer_mode): Likewise.
4236 (default_addr_space_legitimate_address_p): Likewise.
4237 (default_addr_space_legitimize_address): Likewise.
4238 * target.def (addr_space.pointer_mode): Update documentation
4239 of default behavior.
4240 (addr_space.address_mode): Likewise.
4241 * tm.texi: Update.
4242
4243 * expr.c (expand_expr_real_2): Use convert_modes on disjoint
4244 address spaces.
4245
4246 2015-10-21 Richard Sandiford <richard.sandiford@arm.com>
4247
4248 * builtins.c (fold_builtin_cabs): Delete.
4249 (fold_builtin_1): Update accordingly. Handle constant arguments here.
4250 * match.pd: Add rules previously handled by fold_builtin_cabs.
4251
4252 2015-10-21 Richard Sandiford <richard.sandiford@arm.com>
4253
4254 * fold-const.h (fold_strip_sign_ops): Delete.
4255 * fold-const.c (fold_strip_sign_ops): Likewise.
4256 (fold_unary_loc, fold_binary_loc): Remove calls to it.
4257 * builtins.c (fold_builtin_cos, fold_builtin_cosh)
4258 (fold_builtin_ccos): Delete.
4259 (fold_builtin_pow): Don't call fold_strip_sign_ops.
4260 (fold_builtin_hypot, fold_builtin_copysign): Likewise.
4261 Remove fndecl argument.
4262 (fold_builtin_1): Update calls accordingly. Handle constant
4263 cos, cosh, ccos and ccosh here.
4264
4265 2015-10-21 Richard Sandiford <richard.sandiford@arm.com>
4266
4267 * doc/invoke.texi (-fdump-tree-backprop, -fssa-backprop): Document.
4268 * Makefile.in (OBJS): Add gimple-ssa-backprop.o.
4269 * common.opt (fssa-backprop): New option.
4270 * fold-const.h (negate_mathfn_p): Declare.
4271 * fold-const.c (negate_mathfn_p): Make public.
4272 * timevar.def (TV_TREE_BACKPROP): New.
4273 * tree-pass.h (make_pass_backprop): Declare.
4274 * passes.def (pass_backprop): Add.
4275 * gimple-ssa-backprop.c: New file.
4276
4277 2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
4278 Sebastian Pop <s.pop@samsung.com>
4279
4280 * graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard):
4281 Do not call create_empty_if_region_on_edge when cond_expr is true.
4282 (translate_isl_ast_node_for): Check whether a guard has been generated.
4283
4284 2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
4285
4286 * graphite-poly.h (struct dr_info): Added invalid_alias_set number.
4287 (operator=): Removed.
4288 (dr_info): Make alias_set number the last argument with default
4289 value of invalid_alias_set.
4290 * graphite-sese-to-poly.c (build_scop_drs): Update constructor
4291 of dr_info.
4292 (rewrite_reductions_out_of_ssa): Iterate only through the
4293 basic blocks which are inside region.
4294 (rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
4295 * sese.h (struct sese_l): Removed assignment operator.
4296 (split_region_for_bb): Removed dead code.
4297
4298 2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
4299
4300 * graphite-poly.h (struct dr_info): Removed conversion constructor.
4301 (struct scop): Renamed scop::region to scop::scop_info
4302 (scop_set_region): Same.
4303 (SCOP_REGION): Removed
4304 (SCOP_CONTEXT): Removed.
4305 (POLY_SCOP_P): Removed.
4306 * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user):
4307 Rename scop->region to scop->scop_info.
4308 (add_parameters_to_ivs_params): Same.
4309 (graphite_regenerate_ast_isl): Same.
4310 * graphite-poly.c (new_scop): Same.
4311 (free_scop): Same.
4312 (print_scop_params): Same.
4313 * graphite-scop-detection.c (scop_detection::remove_subscops): Same.
4314 (scop_detection::remove_intersecting_scops): Use pointer to sese_l.
4315 (dot_all_scops_1): Rename scop->region to scop->scop_info.
4316 (scop_detection::nb_pbbs_in_loops): Same.
4317 (find_scop_parameters): Same.
4318 (try_generate_gimple_bb): Same.
4319 (gather_bbs::before_dom_children): Same.
4320 (gather_bbs::after_dom_children): Same.
4321 (build_scops): Same.
4322 * graphite-sese-to-poly.c (build_scop_scattering): Same.
4323 (extract_affine_chrec): Same.
4324 (extract_affine): Same.
4325 (set_scop_parameter_dim): Same.
4326 (build_loop_iteration_domains): Same.
4327 (create_pw_aff_from_tree): Same.
4328 (add_param_constraints): Same.
4329 (build_scop_iteration_domain): Same.
4330 (build_scop_drs): Same.
4331 (analyze_drs_in_stmts): Same.
4332 (insert_out_of_ssa_copy_on_edge): Same.
4333 (rewrite_close_phi_out_of_ssa):Same.
4334 (rewrite_reductions_out_of_ssa):Same.
4335 (handle_scalar_deps_crossing_scop_limits):Same.
4336 (rewrite_cross_bb_scalar_deps):Same.
4337 (rewrite_cross_bb_scalar_deps_out_of_ssa):Same.
4338 (build_poly_scop):Same.
4339 (build_alias_set): Use pointer to dr_info.
4340 * graphite.c (print_graphite_scop_statistics):
4341 (graphite_transform_loops):
4342 * sese.h (struct sese_l): Remove conversion constructor.
4343
4344 2015-10-11 Jan Hubicka <hubicka@ucw.cz>
4345
4346 PR middle-end/67966
4347 * tree.c (verify_type): Verify that TYPE_MODE match
4348 between TYPE_CANONICAL and type.
4349 * expr.c (store_expr_with_bounds): Revert my previous change.
4350 * expmed.c (store_bit_field_1): Revert prevoius change.
4351 * gimple-expr.c (useless_type_conversion_p): Require TYPE_MODE
4352 to match for all types.
4353
4354 2015-10-21 Nathan Sidwell <nathan@codesourcery.com>
4355
4356 * omp-low.c (check_omp_nesting_restrictions): Check OpenACC loop
4357 nesting.
4358
4359 2015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com>
4360
4361 * doc/tm.texi: Regenerated.
4362 * doc/tm.texi.in (TARGET_VECTORIZE_GET_MASK_MODE): New.
4363 * stor-layout.c (layout_type): Use mode to get vector mask size.
4364 * target.def (get_mask_mode): New.
4365 * targhooks.c (default_get_mask_mode): New.
4366 * targhooks.h (default_get_mask_mode): New.
4367 * tree-vect-stmts.c (get_same_sized_vectype): Add special case
4368 for boolean vector.
4369 * tree.c (MAX_BOOL_CACHED_PREC): New.
4370 (nonstandard_boolean_type_cache): New.
4371 (build_nonstandard_boolean_type): New.
4372 (make_vector_type): Vector mask has no canonical type.
4373 (build_truth_vector_type): New.
4374 (build_same_sized_truth_vector_type): New.
4375 (truth_type_for): Support vector masks.
4376 * tree.h (VECTOR_BOOLEAN_TYPE_P): New.
4377 (build_truth_vector_type): New.
4378 (build_same_sized_truth_vector_type): New.
4379 (build_nonstandard_boolean_type): New.
4380 * tree-cfg.c (verify_gimple_comparison) Require boolean
4381 vector type for vector comparison.
4382 (verify_gimple_assign_ternary): Likewise.
4383 * optabs.c (expand_vec_cond_expr): Accept boolean vector as
4384 condition operand.
4385 * tree-vect-stmts.c (vectorizable_condition): Use boolean
4386 vector type for vector comparison.
4387 * tree-vect-generic.c (elem_op_func): Add new operand to hold
4388 vector type.
4389 (do_unop): Adjust to modified function type.
4390 (do_binop): Likewise.
4391 (do_plus_minus): Likewise.
4392 (do_negate); Likewise.
4393 (expand_vector_piecewise): Likewise.
4394 (do_cond): Likewise.
4395 (do_compare): Use comparison instead of condition.
4396 (expand_vector_divmod): Use boolean vector type for comparison.
4397 (expand_vector_operations_1): Skip scalar mask operations.
4398
4399 2015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com>
4400
4401 * omp-low.c (simd_clone_create): Set in_other_partition
4402 for created clones.
4403
4404 2015-10-21 David Wohlferd <dw@LimeGreenSocks.com>
4405
4406 * doc/extend.exp (Local Register Variables): Rewrite.
4407
4408 2015-10-21 Richard Sandiford <richard.sandiford@arm.com>
4409
4410 * match.pd: Add rules to simplify ccos, ccosh, hypot, copysign
4411 and x*x in cases where the operands are sign ops. Extend these
4412 rules to handle copysign as a sign op (including for cos, cosh
4413 and pow, which already treated negate and abs as sign ops).
4414
4415 2015-10-21 Uros Bizjak <ubizjak@gmail.com>
4416
4417 PR target/68018
4418 * config/i386/i386.c (ix86_compute_frame_layout): Realign the stack
4419 for 64-bit MS_ABI targets also when default incoming stack boundary
4420 is overriden.
4421
4422 2015-10-21 Richard Biener <rguenther@suse.de>
4423
4424 * tree-ssa-sccvn.c (cond_stmts_equal_p): Compare two GIMPLE
4425 cond stmts, enhanced and split out from ...
4426 (vn_phi_eq): ... here.
4427
4428 2015-10-21 Richard Biener <rguenther@suse.de>
4429
4430 PR middle-end/68031
4431 * fold-const.c: Include tree-ssa-operands.h and tree-into-ssa.h.
4432 (tree_ssa_name_nonnegative_warnv_p): Fold into ...
4433 (tree_single_nonnegative_warnv_p): ... here. For SSA names
4434 make sure they are not registered for update.
4435
4436 2015-10-21 Richard Biener <rguenther@suse.de>
4437
4438 PR tree-optimization/68026
4439 * tree-ssa-ccp.c (get_value_for_expr): Zero-extend mask for
4440 unsigned VARYING values.
4441
4442 2015-10-21 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
4443
4444 * asan.c (asan_emit_stack_protection): Don't pass local stack to
4445 asan_stack_malloc_[n] anymore. Check if asan_stack_malloc_[n] returned
4446 NULL and use local stack than.
4447 (asan_finish_file): Insert __asan_version_mismatch_check_v[n] call
4448 in addition to __asan_init.
4449 * sanitizer.def (BUILT_IN_ASAN_INIT): Rename to __asan_init.
4450 (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Add new builtin call.
4451 * asan.h (asan_intercepted_p): Handle new string builtins.
4452 * ubsan.c (ubsan_use_new_style_p): New function.
4453 (ubsan_instrument_float_cast): If location is unknown, assign
4454 input_location to loc. Propagate loc to ubsan_create_data if
4455 ubsan_use_new_style_p returned true.
4456
4457 2015-10-21 Jeff Law <law@redhat.com>
4458
4459 * Makefile.in (OBJS): Remove sched-vis.c
4460 * sched-vis.c: Removed. Code moved into...
4461 * print-rtl.c: Here. Include cfg.h, pretty-print.h and print-rtl.h.
4462 * rtl.h: Remove prototypes for functions now living in print-rtl.c
4463 * print-rtl.h Add prototypes for new functions in print-rtl.c.
4464 * auto-inc-dec.c: Include print-rtl.h
4465 * cfgrtl.c, combine.c, final.c haifa-sched.c: Likewise.
4466 * ira.c, lra-constraints.c, lra.c, sel-sched-dump.c: Likewise.
4467
4468 * varasm.c (handle_vtv_comdat_section): Mark 2nd parameter with
4469 ATTRIBUTE_UNUSED.
4470
4471 2015-10-21 Richard Biener <rguenther@suse.de>
4472 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
4473
4474 * fold-const.c (fold_binary_loc) : Move (-A) * (-B) -> A * B
4475 to match.pd.
4476 Move (a * (1 << b)) is (a << b) to match.pd.
4477 Move convert (C1/X)*C2 into (C1*C2)/X to match.pd.
4478 Move ~X & X, (X == 0) & X, and !X & X are zero to match.pd.
4479 Move X & ~X , X & (X == 0), and X & !X are zero to match.pd.
4480
4481 * match.pd (mult:c @0 (convert? (lshift integer_onep@1 @2))):
4482 New simplifier.
4483 (mult (rdiv:s REAL_CST@0 @1) REAL_CST@2): New simplifier.
4484 (bit_and:c (convert? @0) (convert? (bit_not @0))): New simplifier.
4485 (bit_ior (bit_and:s @0 (bit_not:s @1)) (bit_and:s (bit_not:s @0) @1))
4486 : New simplifier.
4487 (mult:c (convert1? (negate @0)) (convert2? negate_expr_p@1)):
4488 New simplifier.
4489 (match (logical_inverted_value @0) (truth_not @0)) : New Predicate.
4490
4491 2015-10-21 Gregor Richards <gregor.richards@uwaterloo.ca>
4492 Szabolcs Nagy <szabolcs.nagy@arm.com>
4493 Alan Modra <amodra@gmail.com>
4494
4495 * config/rs6000/secureplt.h (LINK_SECURE_PLT_DEFAULT_SPEC): Define.
4496 * config/rs6000/sysv4.h (LINK_SECURE_PLT_SPEC): Define.
4497 (LINK_SPEC): Add %(link_secure_plt).
4498 (SUBTARGET_EXTRA_SPECS): Add "link_secure_plt".
4499 * config/rs6000/linux64.h (LINK_SECURE_PLT_SPEC): Redefine.
4500
4501 2015-10-20 Gregor Richards <gregor.richards@uwaterloo.ca>
4502 Szabolcs Nagy <szabolcs.nagy@arm.com>
4503
4504 * config/sh/linux.h (MUSL_DYNAMIC_LINKER): Define.
4505 (MUSL_DYNAMIC_LINKER_E, MUSL_DYNAMIC_LINKER_FP): Define.
4506
4507 2015-10-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4508
4509 * config/aarch64/aarch64.c (aarch64_mode_valid_for_sched_fusion_p):
4510 New function.
4511 (fusion_load_store): Use it.
4512 * config/aarch64/aarch64-ldpstp.md: Add new peephole2s for
4513 ldp and stp in VD modes.
4514 * config/aarch64/aarch64-simd.md (load_pair<mode>, VD): New pattern.
4515 (store_pair<mode>, VD): Likewise.
4516
4517 2015-10-20 Vladimir Makarov <vmakarov@redhat.com>
4518
4519 PR rtl-optimization/67609
4520 * lra-splill.c (lra_final_code_change): Don't remove all
4521 sub-registers.
4522
4523 2015-10-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4524
4525 * simplify-rtx.c (simplify_binary_operation): If either operand was
4526 a constant pool reference use them if all other simplifications failed.
4527
4528 2015-10-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4529
4530 * config/aarch64/aarch64.md
4531 (*aarch64_fcvt<su_optab><GPF:mode><GPI:mode>2_mult): New pattern.
4532 * config/aarch64/aarch64-simd.md
4533 (*aarch64_fcvt<su_optab><VDQF:mode><fcvt_target>2_mult): Likewise.
4534 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle above patterns.
4535 (aarch64_fpconst_pow_of_2): New function.
4536 (aarch64_vec_fpconst_pow_of_2): Likewise.
4537 * config/aarch64/aarch64-protos.h (aarch64_fpconst_pow_of_2): Declare
4538 prototype.
4539 (aarch64_vec_fpconst_pow_of_2): Likewise.
4540 * config/aarch64/predicates.md (aarch64_fp_pow2): New predicate.
4541 (aarch64_fp_vec_pow2): Likewise.
4542
4543 2015-10-20 Uros Bizjak <ubizjak@gmail.com>
4544
4545 * config/alpha/alpha.h (HARD_REGNO_NREGS): Use CEIL macro.
4546 (ALPHA_ARG_SIZE): Ditto. Remove unused NAMED argument.
4547 * config/alpha/alpha.c (alpha_function_arg_advance): Update
4548 ALPHA_ARG_SIZE usage.
4549 (alpha_arg_partial_bytes): Ditto.
4550
4551 2015-10-20 H.J. Lu <hongjiu.lu@intel.com>
4552
4553 PR target/66810
4554 * cgraphbuild.c (pass_build_cgraph_edges::execute): Skip local
4555 error_mark_node decls.
4556
4557 2015-10-20 H.J. Lu <hongjiu.lu@intel.com>
4558
4559 PR target/67963
4560 PR target/67985
4561 * common/config/i386/i386-common.c (ix86_handle_option): Remove
4562 OPT_miamcu handling.
4563 * config/i386/i386.c (PTA_NO_80387): New macro.
4564 (processor_alias_table): Add PTA_NO_80387 to lakemont.
4565 (ix86_option_override_internal): Update MASK_80387 from
4566 PTA_NO_80387. Don't warn x87/MMX/SSE/AVX for -miamcu. Warn
4567 SSE math only if 80387 is supported. Don't change
4568 MASK_FLOAT_RETURNS.
4569 (ix86_valid_target_attribute_tree): Enable FPMATH_387 only if
4570 80387 is supported.
4571 * config/i386/i386.h (TARGET_FLOAT_RETURNS_IN_80387): True only
4572 if TARGET_80387 is true and TARGET_IAMCU is false.
4573 (TARGET_FLOAT_RETURNS_IN_80387_P): True only if TARGET_80387_P
4574 is true and TARGET_IAMCU_P is false.
4575
4576 2015-10-20 Richard Biener <rguenther@suse.de>
4577
4578 PR tree-optimization/68017
4579 * tree-tailcall.c (eliminate_tail_call): Remove stmts backwards.
4580
4581 2015-10-20 Martin Liska <mliska@suse.cz>
4582
4583 * cgraphclones.c (cgraph_node::create_virtual_clone):
4584 Verify cgraph_node.local.versionable instead of calling
4585 tree_versionable_function_p.
4586 * ipa-cp.c (determine_versionability): Save the information
4587 to ipa_node_params summary.
4588 (ipcp_versionable_function_p): Use it.
4589 (ipcp_propagate_stage): Pass IPA_NODE_REF to a called function.
4590 (ipcp_generate_summary): Do not compute cgraph_node
4591 versionability.
4592 * ipa-inline-analysis.c (inline_generate_summary): Compute
4593 versionability for all cgraph nodes.
4594 * ipa-prop.c (ipa_node_params_t::duplicate): Duplicate
4595 ipa_node_params::versionability.
4596 * ipa-prop.h (struct ipa_node_params): Declare it.
4597
4598 2015-10-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4599
4600 PR other/67868
4601 * varasm.c (assemble_variable): Move special vtv handling to..
4602 (handle_vtv_comdat_sections): .. here. New function.
4603 (output_object_block): Handle vtv sections.
4604
4605 2015-10-20 Szabolcs Nagy <szabolcs.nagy@arm.com>
4606
4607 PR target/66912
4608 * varasm.c (default_binds_local_p_2): Turn on extern_protected_data.
4609
4610 2015-10-20 Arkadiusz Drabczyk <arkadiusz@drabczyk.org>
4611
4612 * doc/extend.texi: Update documentation WRT inline functions.
4613
4614 2015-10-20 Alan Modra <amodra@gmail.com>
4615
4616 PR go/66870
4617 * config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Don't define.
4618 * config/rs6000/linux64.h (TARGET_CAN_SPLIT_STACK): Define.
4619 (TARGET_CAN_SPLIT_STACK_64BIT): Define.
4620
4621 2015-10-19 Pierre-Marie de Rodat <derodat@adacore.com>
4622
4623 PR rtl-optimization/66790
4624 * df.h (DF_MIR): New macro.
4625 (DF_LAST_PROBLEM_PLUS1): Update to be past DF_MIR
4626 (DF_MIR_INFO_BB): New macro.
4627 (DF_MIR_IN, DF_MIR_OUT): New macros.
4628 (struct df_mir_bb_info): New.
4629 (df_mir): New macro.
4630 (df_mir_add_problem, df_mir_simulate_one_insn): New forward
4631 declarations.
4632 (df_mir_get_bb_info): New.
4633 * df-problems.c (struct df_mir_problem_data): New.
4634 (df_mir_free_bb_info, df_mir_alloc, df_mir_reset,
4635 df_mir_bb_local_compute, df_mir_local_compute, df_mir_init,
4636 df_mir_confluence_0, df_mir_confluence_n,
4637 df_mir_transfer_function, df_mir_free, df_mir_top_dump,
4638 df_mir_bottom_dump, df_mir_verify_solution_start,
4639 df_mir_verify_solution_end): New.
4640 (problem_MIR): New.
4641 (df_mir_add_problem, df_mir_simulate_one_insn): New.
4642 * timevar.def (TV_DF_MIR): New.
4643 * ree.c: Include bitmap.h
4644 (add_removable_extension): Add an INIT_REGS parameter. Use it
4645 to skip zero-extensions that may get an uninitialized register.
4646 (find_removable_extensions): Compute must-initialized registers
4647 using the MIR dataflow problem. Update the call to
4648 add_removable_extension.
4649 (find_and_remove_re): Call df_mir_add_problem.
4650
4651 2015-10-19 Segher Boessenkool <segher@kernel.crashing.org>
4652
4653 * common/config/mn10300/mn10300-common.c
4654 (mn10300_option_optimization_table) <OPT_freorder_blocks_algorithm_>:
4655 Use REORDER_BLOCKS_ALGORITHM_STC at -Os and up.
4656
4657 2015-10-19 David Wohlferd <dw@LimeGreenSocks.com>
4658
4659 * doc/extend.texi (Explicit Register Variables): Simplify and
4660 avoid unnecessary and confusion abbreviations. Update cross
4661 references.
4662 doc/implement-c.tex: Update cross reference.
4663
4664 2015-10-19 Jeff Law <law@redhat.com>
4665
4666 * tree-ssa-threadupdate.c (valid_jump_thread_path): Reject paths
4667 that create irreducible loops unless the path elimiantes a multiway
4668 branch.
4669
4670 2015-10-19 Richard Biener <rguenther@suse.de>
4671
4672 PR tree-optimization/67975
4673 * tree-cfg.h (extract_true_false_controlled_edges): Declare.
4674 * tree-cfg.c (extract_true_false_controlled_edges): Split out
4675 core worker from ...
4676 * tree-ssa-loop-im.c (extract_true_false_args_from_phi): ... here.
4677 * tree-ssa-sccvn.c (vn_phi_compute_hash): Hash number of args
4678 instead of block number for PHIs with two or one args.
4679 (vn_phi_eq): Compare edge predicates of PHIs that are in different
4680 blocks.
4681
4682 2015-10-19 Richard Biener <rguenther@suse.de>
4683
4684 * gimple-fold.c (gimple_phi_nonnegative_warnv_p): New function.
4685 (gimple_stmt_nonnegative_warnv_p): Use it.
4686 * match.pd (CPROJ): New operator list.
4687 (cproj (complex ...)): Move simplifications from ...
4688 * builtins.c (fold_builtin_cproj): ... here.
4689
4690 2015-10-19 H.J. Lu <hongjiu.lu@intel.com>
4691
4692 * config/i386/i386.c (ix86_expand_vector_move): Use
4693 GET_MODE_BITSIZE for IA MCU psABI to get vector natural
4694 alignment.
4695
4696 2015-10-19 H.J. Lu <hongjiu.lu@intel.com>
4697
4698 * doc/invoke.texi: Replace @optindex with @opindex.
4699
4700 2015-10-19 H.J. Lu <hongjiu.lu@intel.com>
4701
4702 PR target/67995
4703 * config/i386/i386.c (ix86_valid_target_attribute_tree): If
4704 arch= is set, clear all bits in x_ix86_isa_flags, except for
4705 ISA_64BIT, ABI_64, ABI_X32, and CODE16.
4706
4707 2015-10-19 Joost VandeVondele <vondele@gnu.gcc.org>
4708
4709 PR middle-end/68002
4710 * common.opt (fkeep-static-functions): New option.
4711 * doc/invoke.texi: Document it.
4712 * cgraphunit.c (cgraph_node::finalize_function): Use it.
4713
4714 2015-10-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4715
4716 * sched-int.h (struct autopref_multipass_data_): Remove offset
4717 field. Add min_offset, max_offset, multi_mem_insn_p fields.
4718 * haifa-sched.c (analyze_set_insn_for_autopref): New function.
4719 (autopref_multipass_init): Use it. Handle PARALLEL sets.
4720 (autopref_rank_data): New function.
4721 (autopref_rank_for_schedule): Use it.
4722 (autopref_multipass_dfa_lookahead_guard_1): Likewise.
4723
4724 2015-10-18 Mikhail Maltsev <maltsevm@gmail.com>
4725
4726 PR other/65800
4727 * gengtype.c (dump_type): Handle TYPE_UNDEFINED correctly.
4728
4729 2015-10-18 Iain Sandoe <iain@codesourcery.com>
4730
4731 * config/darwin.h (TARGET_SYSTEM_ROOT): Remove this from here,
4732 (HAVE_LD_SYSROOT): New. (SYSROOT_SPEC): New.
4733 (LINK_SYSROOT_SPEC): Revise to remove the default for target sysroot.
4734 (STANDARD_STARTFILE_PREFIX_1): New.
4735 (STANDARD_STARTFILE_PREFIX_2): New.
4736
4737 2015-10-18 Iain Sandoe <iain@codesourcery.com>
4738
4739 * config/darwin-driver.c (darwin_default_min_version): Refactor code.
4740 (darwin_driver_init): Note a version-min when provided on the c/l.
4741 * config/darwin.h (%darwin_minversion): Remove.
4742 * config/i386/darwin.h: Likewise.
4743 * config/rs6000/darwin.h: Likewise.
4744 * config/darwin.opt (mmacosx-version-min=): Use the configured default,
4745 rather than an arbitrary constant.
4746
4747 2015-10-18 Iain Sandoe <iain@codesourcery.com>
4748
4749 * config/darwin-driver.c (darwin_driver_init): Handle '-arch' for
4750 PPC, detect conflicts between -arch and multilib settings. Detect
4751 and warn about conflicts between multiple -arch definitions.
4752
4753 2015-10-18 Iain Sandoe <iain@codesourcery.com>
4754
4755 * config/darwin-driver.c: Adjust includes to add diagnostic-core.
4756
4757 2015-10-16 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
4758
4759 * lra-constraints.c (add_next_usage_insn): Change argument type
4760 from rtx to rtx_insn *.
4761
4762 2015-10-16 H.J. Lu <hongjiu.lu@intel.com>
4763
4764 * i386/x86-tune.def (X86_TUNE_ALWAYS_FANCY_MATH_387): Disable
4765 for Lakemont.
4766
4767 2015-10-16 Andrew MacLeod <amacleod@redhat.com>
4768
4769 * config/tilepro/gen-mul-tables.cc: Adjust include files.
4770 * config/tilegx/mul-tables.c: Regenerate.
4771 * config/tilepro/mul-tables.c: Regenerate.
4772
4773 * config/tilegx/tilegx-c.c: Adjust include files.
4774 * config/tilegx/tilegx.c: Likewise.
4775 * config/tilepro/tilepro-c.c: Likewise.
4776 * config/tilepro/tilepro.c: Likewise.
4777 * config/aarch64/aarch64-builtins.c: Likewise.
4778 * config/aarch64/aarch64.c: Likewise.
4779 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
4780 * config/alpha/alpha.c: Likewise.
4781 * config/arc/arc.c: Likewise.
4782 * config/arm/aarch-common.c: Likewise.
4783 * config/arm/arm-builtins.c: Likewise.
4784 * config/arm/arm-c.c: Likewise.
4785 * config/arm/arm.c: Likewise.
4786 * config/avr/avr-c.c: Likewise.
4787 * config/avr/avr-devices.c: Likewise.
4788 * config/avr/avr-log.c: Likewise.
4789 * config/avr/avr.c: Likewise.
4790 * config/bfin/bfin.c: Likewise.
4791 * config/c6x/c6x.c: Likewise.
4792 * config/cr16/cr16.c: Likewise.
4793 * config/cris/cris.c: Likewise.
4794 * config/darwin-c.c: Likewise.
4795 * config/darwin-driver.c: Likewise.
4796 * config/darwin.c: Likewise.
4797 * config/default-c.c: Likewise.
4798 * config/epiphany/epiphany.c: Likewise.
4799 * config/epiphany/mode-switch-use.c: Likewise.
4800 * config/epiphany/resolve-sw-modes.c: Likewise.
4801 * config/fr30/fr30.c: Likewise.
4802 * config/frv/frv.c: Likewise.
4803 * config/ft32/ft32.c: Likewise.
4804 * config/glibc-c.c: Likewise.
4805 * config/h8300/h8300.c: Likewise.
4806 * config/i386/host-cygwin.c: Likewise.
4807 * config/i386/host-mingw32.c: Likewise.
4808 * config/i386/i386-c.c: Likewise.
4809 * config/i386/i386.c: Likewise.
4810 * config/i386/msformat-c.c: Likewise.
4811 * config/i386/winnt-cxx.c: Likewise.
4812 * config/i386/winnt-stubs.c: Likewise.
4813 * config/i386/winnt.c: Likewise.
4814 * config/ia64/ia64-c.c: Likewise.
4815 * config/ia64/ia64.c: Likewise.
4816 * config/iq2000/iq2000.c: Likewise.
4817 * config/lm32/lm32.c: Likewise.
4818 * config/m32c/m32c-pragma.c: Likewise.
4819 * config/m32c/m32c.c: Likewise.
4820 * config/m32r/m32r.c: Likewise.
4821 * config/mcore/mcore.c: Likewise.
4822 * config/mep/mep-pragma.c: Likewise.
4823 * config/mep/mep.c: Likewise.
4824 * config/microblaze/microblaze-c.c: Likewise.
4825 * config/microblaze/microblaze.c: Likewise.
4826 * config/mips/mips-tables.opt
4827 * config/mips/mips.c: Likewise.
4828 * config/mmix/mmix.c: Likewise.
4829 * config/mn10300/mn10300.c: Likewise.
4830 * config/moxie/moxie.c: Likewise.
4831 * config/msp430/msp430-c.c: Likewise.
4832 * config/msp430/msp430.c: Likewise.
4833 * config/nds32/nds32-cost.c: Likewise.
4834 * config/nds32/nds32-fp-as-gp.c: Likewise.
4835 * config/nds32/nds32-intrinsic.c: Likewise.
4836 * config/nds32/nds32-isr.c: Likewise.
4837 * config/nds32/nds32-md-auxiliary.c: Likewise.
4838 * config/nds32/nds32-memory-manipulation.c: Likewise.
4839 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
4840 * config/nds32/nds32-predicates.c: Likewise.
4841 * config/nds32/nds32.c: Likewise.
4842 * config/nios2/nios2.c: Likewise.
4843 * config/nvptx/mkoffload.c: Likewise.
4844 * config/nvptx/nvptx.c: Likewise.
4845 * config/pa/pa.c: Likewise.
4846 * config/pdp11/pdp11.c: Likewise.
4847 * config/rl78/rl78-c.c: Likewise.
4848 * config/rl78/rl78.c: Likewise.
4849 * config/rs6000/host-darwin.c: Likewise.
4850 * config/rs6000/rs6000-c.c: Likewise.
4851 * config/rs6000/rs6000-linux.c: Likewise.
4852 * config/rs6000/rs6000.c: Likewise.
4853 * config/rx/rx.c: Likewise.
4854 * config/s390/s390-c.c: Likewise.
4855 * config/s390/s390.c: Likewise.
4856 * config/sh/sh-c.c: Likewise.
4857 * config/sh/sh-mem.cc: Likewise.
4858 * config/sh/sh.c: Likewise.
4859 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
4860 * config/sh/sh_treg_combine.cc: Likewise.
4861 * config/sol2-c.c: Likewise.
4862 * config/sol2-cxx.c: Likewise.
4863 * config/sol2-stubs.c: Likewise.
4864 * config/sol2.c: Likewise.
4865 * config/sparc/sparc-c.c: Likewise.
4866 * config/sparc/sparc.c: Likewise.
4867 * config/spu/spu-c.c: Likewise.
4868 * config/spu/spu.c: Likewise.
4869 * config/stormy16/stormy16.c: Likewise.
4870 * config/v850/v850-c.c: Likewise.
4871 * config/v850/v850.c: Likewise.
4872 * config/vax/vax.c: Likewise.
4873 * config/visium/visium.c: Likewise.
4874 * config/vms/vms-c.c: Likewise.
4875 * config/vms/vms.c: Likewise.
4876 * config/vxworks.c: Likewise.
4877 * config/winnt-c.c: Likewise.
4878 * config/xtensa/xtensa.c: Likewise.
4879
4880 2015-10-16 Christian Bruel <christian.bruel@st.com>
4881
4882 PR target/67745
4883 * config/arm/arm.h (FUNCTION_BOUNDARY): Use FUNCTION_BOUNDARY_P.
4884 (FUNCTION_BOUNDARY_P): New macro:
4885 * config/arm/arm.c (TARGET_RELAYOUT_FUNCTION, arm_relayout_function):
4886 New hook.
4887 * doc/tm.texi.in (TARGET_RELAYOUT_FUNCTION): Document.
4888 * doc/tm.texi (TARGET_RELAYOUT_FUNCTION): New hook.
4889 * target.def (TARGET_RELAYOUT_FUNCTION): Likewise.
4890 * function.c (allocate_struct_function): Call
4891 relayout_function hook.
4892 * passes.c (rest_of_decl_compilation): Likewise.
4893
4894 2015-10-16 Christian Bruel <christian.bruel@st.com>
4895
4896 PR target/67745
4897 * config/arm/arm.h (FUNCTION_BOUNDARY): Move optimize_size condition to:
4898 * config/arm/arm.c (arm_option_override_internal): Call
4899 arm_override_options_after_change_1.
4900 (arm_override_options_after_change): New function.
4901 (arm_override_options_after_change_1): Likewise.
4902 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define hook.
4903
4904 2015-10-11 Jan Hubicka <hubicka@ucw.cz>
4905
4906 Revert:
4907 * ipa-icf-gimple.c (func_checker::compare_operand): Compare only
4908 empty constructors.
4909
4910 2015-10-16 Eric Botcazou <ebotcazou@adacore.com>
4911
4912 * tree.c (recompute_tree_invariant_for_addr_expr): Assert that the
4913 argument is an ADDR_EXPR.
4914
4915 2015-10-16 Richard Biener <rguenther@suse.de>
4916
4917 * gimple-fold.c (gimple_fold_builtin_memory_op): Use gimple_build
4918 and get rid of force_gimple_operand_gsi.
4919 (gimple_fold_builtin_memory_chk): Likewise.
4920 (gimple_fold_builtin_stxcpy_chk): Likewise.
4921 (rewrite_to_defined_overflow): Likewise.
4922 (gimple_convert_to_ptrofftype): New function.
4923 * gimple-fold.h (gimple_convert_to_ptrofftype): New overload, declare.
4924
4925 2015-10-16 Richard Biener <rguenther@suse.de>
4926
4927 * tree-nested.h (build_addr): Adjust prototype.
4928 * tree-nested.c (build_addr): Remove context argument and use
4929 mark_addressable.
4930 (get_static_chain): Adjust calls to build_addr.
4931 (convert_nl_goto_reference): Likewise.
4932 (convert_tramp_reference_op): Likewise.
4933 (finalize_nesting_tree_1): Likewise.
4934 * value-prof.c (gimple_ic): Likewise.
4935 * gimple-low.c (lower_builtin_setjmp): Likewise.
4936 * tree-parloops.c (take_address_of): Likewise.
4937 (create_call_for_reduction_1): Likewise.
4938 * tree-profile.c (gimple_gen_interval_profiler): Likewise.
4939 (gimple_gen_ic_func_profiler): Likewise.
4940
4941 2015-10-11 Jan Hubicka <hubicka@ucw.cz>
4942
4943 * ipa-icf-gimple.c (func_checker::compare_operand): Compare only
4944 empty constructors.
4945
4946 2015-10-16 Michael Collison <michael.collison@linaro.org>
4947 Andrew Pinski <andrew.pinski@caviumnetworks.com>
4948
4949 * match.pd ((x < y) && (x < z) -> x < min (y,z),
4950 (x > y) and (x > z) -> x > max (y,z))
4951
4952 2015-10-15 Gregor Richards <gregor.richards@uwaterloo.ca>
4953 Szabolcs Nagy <szabolcs.nagy@arm.com>
4954
4955 * config/microblaze/linux.h (MUSL_DYNAMIC_LINKER): Define.
4956 (DYNAMIC_LINKER): Renamed to ...
4957 (GLIBC_DYNAMIC_LINKER): This.
4958 (SUBTARGET_EXTRA_SPECS): Use GNU_USER_DYNAMIC_LINKER.
4959
4960 2015-10-15 Marek Polacek <polacek@redhat.com>
4961
4962 * tree-ssa-reassoc.c (attempt_builtin_copysign): Call
4963 gimple_call_builtin instead of is_gimple_call.
4964
4965 2015-10-15 Richard Biener <rguenther@suse.de>
4966
4967 * tree-vect-stmts.c (vect_init_vector): Remove unused vars.
4968
4969 2015-10-15 Richard Biener <rguenther@suse.de>
4970
4971 * tree-vectorizer.h (vect_get_new_ssa_name): Declare.
4972 * tree-vect-data-refs.c (vect_get_new_ssa_name): New helper.
4973 * tree-vect-loop.c (get_initial_def_for_induction): Drop
4974 use of force_gimple_operand in favor of gimple_build.
4975 Use vect_get_new_ssa_name.
4976 * tree-vect-stmts.c (vect_init_vector): Use vect_get_new_ssa_name.
4977 (vectorizable_mask_load_store): Likewise.
4978 (vectorizable_call): Likewise.
4979 (vectorizable_store): Likewise.
4980 (vectorizable_load): Likewise.
4981 (vect_get_vec_def_for_stmt_copy): Remove redundant stmt.
4982
4983 2015-10-15 Richard Sandiford <richard.sandiford@arm.com>
4984
4985 PR tree-optimization/67945
4986 * tree-pass.h (PROP_gimple_opt_math): New property flag.
4987 * generic-match-head.c (canonicalize_math_p): New function.
4988 * gimple-match-head.c: Include tree-pass.h.
4989 (canonicalize_math_p): New function.
4990 * match.pd: Group math built-in rules into simplifications
4991 and canonicalizations. Guard the latter with canonicalize_math_p.
4992 * tree-ssa-math-opts.c (pass_data_cse_sincos): Provide the
4993 PROP_gimple_opt_math property.
4994
4995 2015-10-15 Marek Polacek <polacek@redhat.com>
4996
4997 PR tree-optimization/67953
4998 * match.pd (X - (X / Y) * Y): Don't change signedness of @0.
4999
5000 2015-10-15 Jiong Wang <jiong.wang@arm.com>
5001
5002 * config.gcc: Recognize "." in architecture base name for AArch64.
5003
5004 2015-10-14 Uros Bizjak <ubizjak@gmail.com>
5005
5006 * config/mips/mips.h (MIPS_STACK_ALIGN): Implement using
5007 ROUND_UP macro.
5008 * config/mips/mips.c (mips_setup_incoming_varargs): Use
5009 ROUND_DOWN to calculate off.
5010 (mips_gimplify_va_arg_expr): Use ROUND_UP to calculate rsize.
5011 (mips_emit_probe_stack_range): Use ROUND_DOWN to calculate
5012 rounded_size.
5013
5014 2015-10-14 Eric Botcazou <ebotcazou@adacore.com>
5015
5016 * gimplify.c (gimplify_addr_expr) <MEM_REF>: New case.
5017
5018 2015-10-14 Peter Bergner <bergner@vnet.ibm.com>
5019 Torvald Riegel <triegel@redhat.com>
5020
5021 PR target/67281
5022 * config/rs6000/htm.md (UNSPEC_HTM_FENCE): New.
5023 (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
5024 trechkpt, treclaim, tsr, ttest): Rename define_insns from this...
5025 (*tabort, *tabort<wd>c, *tabort<wd>ci, *tbegin, *tcheck, *tend,
5026 *trechkpt, *treclaim, *tsr, *ttest): ...to this. Add memory barrier.
5027 (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
5028 trechkpt, treclaim, tsr, ttest): New define_expands.
5029 * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
5030 __TM_FENCE__ for htm.
5031 * doc/extend.texi: Update documentation for htm builtins.
5032
5033 2015-10-14 Uros Bizjak <ubizjak@gmail.com>
5034
5035 PR target/67967
5036 * config/i386/i386.c (ix86_emit_save_reg_using_mov): Do not add
5037 REG_CFA_EXPRESSION to aligned SSE stores.
5038
5039 2015-10-14 Jeff Law <law@redhat.com>
5040
5041 * tree-ssa-threadupdate.c (thread_through_all_blocks): Bump
5042 num_threaded_edges for successful FSM threads too.
5043
5044 2015-10-14 Richard Biener <rguenther@suse.de>
5045
5046 * tree-vectorizer.h (vect_is_simple_use): Remove unused parameters.
5047 (vect_is_simple_use_1): Likewise. Make overload of vect_is_simple_use.
5048 (vect_get_vec_def_for_operand): Remove unused parameter.
5049 * tree-vect-loop.c (get_initial_def_for_induction): Adjust.
5050 (vect_create_epilog_for_reduction): Likewise.
5051 (vectorizable_reduction): Likewise.
5052 (vectorizable_live_operation): Likewise.
5053 * tree-vect-patterns.c (type_conversion_p): Likewise.
5054 (vect_recog_vector_vector_shift_pattern): Likewise.
5055 (check_bool_pattern): Likewise.
5056 * tree-vect-slp.c (vect_get_and_check_slp_defs): Likewise.
5057 (vect_analyze_slp_cost_1): Likewise.
5058 * tree-vect-stmts.c (process_use): Likewise.
5059 (vect_get_vec_def_for_operand): Do not handle reductions.
5060 (vect_get_vec_defs): Adjust.
5061 (vectorizable_mask_load_store): Likewise.
5062 (vectorizable_call): Likewise.
5063 (vectorizable_simd_clone_call): Likewise.
5064 (vect_get_loop_based_defs): Likewise.
5065 (vectorizable_conversion): Likewise.
5066 (vectorizable_assignment): Likewise.
5067 (vectorizable_shift): Likewise.
5068 (vectorizable_operation): Likewise.
5069 (vectorizable_store): Likewise.
5070 (vectorizable_load): Likewise.
5071 (vect_is_simple_cond): Likewise.
5072 (vectorizable_condition): Likewise.
5073 (vect_is_simple_use): Remove unused parameters.
5074 (vect_is_simple_use_1): Adjust and rename.
5075
5076 2015-10-14 Richard Biener <rguenther@suse.de>
5077
5078 PR tree-optimization/67915
5079 * match.pd: Handle comparisons of addresses of STRING_CSTs.
5080 * gimplify.c (gimplify_cond_expr): Fold the GIMPLE conds we build.
5081 * tree-cfgcleanup.c (cleanup_control_expr_graph): Remove GENERIC
5082 stmt folding in favor of GIMPLE one.
5083
5084 2015-10-14 Marek Polacek <polacek@redhat.com>
5085
5086 PR tree-optimization/67815
5087 * tree-ssa-reassoc.c (attempt_builtin_copysign): New function.
5088 (reassociate_bb): Call it.
5089
5090 2015-10-14 Richard Biener <rguenther@suse.de>
5091
5092 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
5093 Reset info at start.
5094 (vect_analyze_group_access_1): Add debug print.
5095 * tree-vect-loop.c (vect_get_single_scalar_iteration_cost): Rename ...
5096 (vect_compute_single_scalar_iteration_cost): ... to this.
5097 (vect_analyze_loop_2): Adjust.
5098 * tree-vect-slp.c (struct _slp_oprnd_info): Move from ...
5099 * tree-vectorizer.h: ... here.
5100 (add_stmt_info_to_vec): Remove.
5101 * tree-vect-stmts.c (record_stmt_cost): Inline add_stmt_info_to_vec.
5102
5103 2015-10-14 Dominik Vogt <vogt@linux.vnet.ibm.com>
5104
5105 * targhooks.c (default_target_option_pragma_parse): Do not warn if
5106 called on behalf of "#pragma GCC pop_options".
5107
5108 2015-10-14 Tom de Vries <tom@codesourcery.com>
5109
5110 * cfganal.c (verify_no_unreachable_blocks): New function.
5111 (inverted_post_order_compute) [ENABLE_CHECKING]: Call
5112 verify_no_unreachable_blocks.
5113 cfganal.h (verify_no_unreachable_blocks): Declare.
5114
5115 2015-10-13 Mikhail Maltsev <maltsevm@gmail.com>
5116
5117 * common.opt: Add flag_checking.
5118 * system.h (CHECKING_P): Define.
5119
5120 2015-10-13 Jakub Jelinek <jakub@redhat.com>
5121 Aldy Hernandez <aldyh@redhat.com>
5122 Ilya Verbin <ilya.verbin@intel.com>
5123
5124 * builtin-types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR,
5125 BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR,
5126 BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
5127 BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
5128 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR,
5129 BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR,
5130 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT,
5131 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG,
5132 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL,
5133 BT_FN_VOID_LONG_VAR, BT_FN_VOID_ULL_VAR): New.
5134 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
5135 BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
5136 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): Remove.
5137 * cgraph.h (enum cgraph_simd_clone_arg_type): Add
5138 SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP,
5139 SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP and
5140 SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP.
5141 (struct cgraph_simd_clone_arg): Adjust comment.
5142 * coretypes.h (struct gomp_ordered): New forward decl.
5143 * gimple.c (gimple_build_omp_critical): Add CLAUSES argument,
5144 set critical clauses to it.
5145 (gimple_build_omp_ordered): Return gomp_ordered * instead of
5146 gimple *. Add CLAUSES argument, set ordered clauses to it.
5147 (gimple_copy): Unshare clauses on GIMPLE_OMP_CRITICAL and
5148 GIMPLE_OMP_ORDERED.
5149 * gimple.def (GIMPLE_OMP_ORDERED): Change from GSS_OMP to
5150 GSS_OMP_SINGLE_LAYOUT, move it after GIMPLE_OMP_TEAMS.
5151 * gimple.h (enum gf_mask): Add GF_OMP_TASK_TASKLOOP. Add another bit
5152 to GF_OMP_FOR_KIND_MASK mask. Add GF_OMP_FOR_KIND_TASKLOOP, renumber
5153 GF_OMP_FOR_KIND_CILKFOR and GF_OMP_FOR_KIND_OACC_LOOP. Adjust
5154 GF_OMP_FOR_SIMD, GF_OMP_FOR_COMBINED and GF_OMP_FOR_COMBINED_INTO.
5155 Add another bit to GF_OMP_TARGET_KIND_MASK mask. Add
5156 GF_OMP_TARGET_KIND_ENTER_DATA and GF_OMP_TARGET_KIND_EXIT_DATA,
5157 renumber
5158 GF_OMP_TARGET_KIND_OACC_{PARALLEL,KERNELS,DATA,UPDATE,ENTER_EXIT_DATA}.
5159 (gomp_critical): Add clauses field.
5160 (gomp_ordered): New struct.
5161 (is_a_helper <gomp_ordered *>::test): New inline.
5162 (gimple_build_omp_critical): Add CLAUSES argument.
5163 (gimple_build_omp_ordered): Likewise. Return gomp_ordered *
5164 instead of gimple *.
5165 (gimple_omp_critical_clauses, gimple_omp_critical_clauses_ptr,
5166 gimple_omp_critical_set_clauses, gimple_omp_ordered_clauses,
5167 gimple_omp_ordered_clauses_ptr, gimple_omp_ordered_set_clauses,
5168 gimple_omp_task_taskloop_p, gimple_omp_task_set_taskloop_p): New
5169 inline functions.
5170 * gimple-pretty-print.c (dump_gimple_omp_for): Handle taskloop.
5171 (dump_gimple_omp_target): Handle enter data and exit data.
5172 (dump_gimple_omp_block): Don't handle GIMPLE_OMP_ORDERED here.
5173 (dump_gimple_omp_critical): Print clauses.
5174 (dump_gimple_omp_ordered): New function.
5175 (dump_gimple_omp_task): Handle taskloop.
5176 (pp_gimple_stmt_1): Use dump_gimple_omp_ordered for
5177 GIMPLE_OMP_ORDERED.
5178 * gimple-walk.c (walk_gimple_op): Walk clauses on
5179 GIMPLE_OMP_CRITICAL and GIMPLE_OMP_ORDERED.
5180 * gimplify.c (enum gimplify_omp_var_data): Add GOVD_MAP_0LEN_ARRAY.
5181 (enum omp_region_type): Add ORT_COMBINED_TARGET and ORT_NONE.
5182 (struct gimplify_omp_ctx): Add loop_iter_var,
5183 target_map_scalars_firstprivate, target_map_pointers_as_0len_arrays
5184 and target_firstprivatize_array_bases fields.
5185 (delete_omp_context): Release loop_iter_var.
5186 (gimplify_bind_expr): Handle ORT_NONE.
5187 (maybe_fold_stmt): Adjust check for ORT_TARGET for the addition of
5188 ORT_COMBINED_TARGET.
5189 (is_gimple_stmt): Return true for OMP_TASKLOOP, OMP_TEAMS and
5190 OMP_TARGET{,_DATA,_UPDATE,_ENTER_DATA,_EXIT_DATA}.
5191 (omp_firstprivatize_variable): Handle ORT_NONE. Adjust check for
5192 ORT_TARGET for the addition of ORT_COMBINED_TARGET. Handle
5193 ctx->target_map_scalars_firstprivate.
5194 (omp_add_variable): Handle ORT_NONE. Allow map clause together with
5195 data sharing clauses. For data sharing clause with VLA decl
5196 on omp target/target data don't add firstprivate for the pointer.
5197 Call omp_notice_variable on TYPE_SIZE_UNIT only if it is a DECL_P.
5198 (omp_notice_threadprivate_variable): Adjust check for ORT_TARGET for
5199 the addition of ORT_COMBINED_TARGET.
5200 (omp_notice_variable): Handle ORT_NONE. Adjust check for ORT_TARGET
5201 for the addition of ORT_COMBINED_TARGET. Handle implicit mapping of
5202 pointers as zero length array sections and
5203 ctx->target_map_scalars_firstprivate mapping of scalars as firstprivate
5204 data sharing.
5205 (omp_check_private): Handle omp_member_access_dummy_var vars.
5206 (find_decl_expr): New function.
5207 (gimplify_scan_omp_clauses): Add CODE argument. For OMP_CLAUSE_IF
5208 complain if OMP_CLAUSE_IF_MODIFIER is present and does not match code.
5209 Handle OMP_CLAUSE_GANG separately. Handle
5210 OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD,SIMDLEN}
5211 clauses. Diagnose linear clause on combined
5212 distribute {, parallel for} simd construct, unless it is the loop
5213 iterator. Handle struct element GOMP_MAP_FIRSTPRIVATE_POINTER.
5214 Handle map clauses with COMPONENT_REF. Initialize
5215 ctx->target_map_scalars_firstprivate,
5216 ctx->target_firstprivatize_array_bases and
5217 ctx->target_map_pointers_as_0len_arrays. Add firstprivate for
5218 linear clause even to target region if combined. Remove
5219 map clauses with GOMP_MAP_FIRSTPRIVATE_POINTER kind from
5220 OMP_TARGET_{,ENTER_,EXIT_}DATA. For GOMP_MAP_FIRSTPRIVATE_POINTER
5221 map kind with non-INTEGER_CST OMP_CLAUSE_SIZE firstprivatize the bias.
5222 Handle OMP_CLAUSE_DEPEND_{SINK,SOURCE}. Handle
5223 OMP_CLAUSE_{{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}.
5224 For linear clause on worksharing loop combined with parallel add
5225 shared clause on the parallel. Handle OMP_CLAUSE_REDUCTION
5226 with MEM_REF OMP_CLAUSE_DECL. Set DECL_NAME on
5227 omp_member_access_dummy_var vars. Add lastprivate clause to outer
5228 taskloop if needed.
5229 (gimplify_adjust_omp_clauses_1): Handle GOVD_MAP_0LEN_ARRAY.
5230 If gimplify_omp_ctxp->target_firstprivatize_array_bases, use
5231 GOMP_MAP_FIRSTPRIVATE_POINTER map kind instead of
5232 GOMP_MAP_POINTER.
5233 (gimplify_adjust_omp_clauses): Add CODE argument. Handle removal
5234 of GOMP_MAP_FIRSTPRIVATE_POINTER struct elements for struct not seen
5235 in target body. Handle removal of struct mapping if struct is not
5236 seen in target body. Remove GOMP_MAP_STRUCT map clause on
5237 OMP_TARGET_EXIT_DATA. Adjust check for ORT_TARGET for the
5238 addition of ORT_COMBINED_TARGET. Use GOMP_MAP_FIRSTPRIVATE_POINTER
5239 instead of GOMP_MAP_POINTER if ctx->target_firstprivatize_array_bases
5240 for VLAs. Set OMP_CLAUSE_MAP_PRIVATE if both data sharing and map
5241 clause appear together. Handle
5242 OMP_CLAUSE_{{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}. Don't remove map
5243 clause if it has map-type-modifier always. Handle
5244 OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD,SIMDLEN}
5245 clauses.
5246 (gimplify_oacc_cache, gimplify_omp_parallel, gimplify_omp_task):
5247 Adjust gimplify_scan_omp_clauses and gimplify_adjust_omp_clauses
5248 callers.
5249 (gimplify_omp_for): Likewise. Handle OMP_TASKLOOP. Initialize
5250 loop_iter_var. Use OMP_FOR_ORIG_DECLS. Fix handling of lastprivate
5251 iterators in doacross loops.
5252 (gimplify_omp_workshare): Adjust gimplify_scan_omp_clauses and
5253 gimplify_adjust_omp_clauses callers. Use ORT_COMBINED_TARGET
5254 for OMP_TARGET_COMBINED. Adjust check for ORT_TARGET
5255 for the addition of ORT_COMBINED_TARGET.
5256 (gimplify_omp_target_update): Adjust gimplify_scan_omp_clauses and
5257 gimplify_adjust_omp_clauses callers. Handle OMP_TARGET_ENTER_DATA
5258 and OMP_TARGET_EXIT_DATA.
5259 (gimplify_omp_ordered): New function.
5260 (gimplify_expr): Handle OMP_TASKLOOP, OMP_TARGET_ENTER_DATA and
5261 OMP_TARGET_EXIT_DATA. Use gimplify_omp_ordered for OMP_ORDERED.
5262 Gimplify clauses on OMP_CRITICAL.
5263 * internal-fn.c (expand_GOMP_SIMD_ORDERED_START,
5264 expand_GOMP_SIMD_ORDERED_END): New functions.
5265 * internal-fn.def (GOMP_SIMD_ORDERED_START,
5266 GOMP_SIMD_ORDERED_END): New internal functions.
5267 * omp-builtins.def (BUILT_IN_GOMP_LOOP_DOACROSS_STATIC_START,
5268 BUILT_IN_GOMP_LOOP_DOACROSS_DYNAMIC_START,
5269 BUILT_IN_GOMP_LOOP_DOACROSS_GUIDED_START,
5270 BUILT_IN_GOMP_LOOP_DOACROSS_RUNTIME_START,
5271 BUILT_IN_GOMP_LOOP_ULL_DOACROSS_STATIC_START,
5272 BUILT_IN_GOMP_LOOP_ULL_DOACROSS_DYNAMIC_START,
5273 BUILT_IN_GOMP_LOOP_ULL_DOACROSS_GUIDED_START,
5274 BUILT_IN_GOMP_LOOP_ULL_DOACROSS_RUNTIME_START,
5275 BUILT_IN_GOMP_DOACROSS_POST, BUILT_IN_GOMP_DOACROSS_WAIT,
5276 BUILT_IN_GOMP_DOACROSS_ULL_POST, BUILT_IN_GOMP_DOACROSS_ULL_WAIT,
5277 BUILT_IN_GOMP_TARGET_ENTER_EXIT_DATA, BUILT_IN_GOMP_TASKLOOP,
5278 BUILT_IN_GOMP_TASKLOOP_ULL): New built-ins.
5279 (BUILT_IN_GOMP_TASK): Add INT argument to the end.
5280 (BUILT_IN_GOMP_TARGET): Rename from GOMP_target to GOMP_target_41,
5281 adjust type.
5282 (BUILT_IN_GOMP_TARGET_DATA): Rename from GOMP_target_data to
5283 GOMP_target_data_41, adjust type.
5284 (BUILT_IN_GOMP_TARGET_UPDATE): Rename from GOMP_target_update to
5285 GOMP_target_update_41, adjust type.
5286 * omp-low.c (struct omp_region): Adjust comments, add ord_stmt
5287 field.
5288 (struct omp_for_data): Add ordered and simd_schedule fields.
5289 (omp_member_access_dummy_var, unshare_and_remap_1,
5290 unshare_and_remap, is_taskloop_ctx): New functions.
5291 (is_taskreg_ctx): Use is_parallel_ctx and is_task_ctx.
5292 (extract_omp_for_data): Handle taskloops and doacross loops
5293 and simd schedule modifier.
5294 (omp_adjust_chunk_size): New function.
5295 (get_ws_args_for): Use it.
5296 (lookup_sfield): Change first argument to splay_tree_key,
5297 add overload with first argument tree.
5298 (maybe_lookup_field): Likewise.
5299 (use_pointer_for_field): Handle omp_member_access_dummy_var.
5300 (omp_copy_decl_2): If var is TREE_ADDRESSABLE listed in
5301 task_shared_vars, clear TREE_ADDRESSABLE on the copy.
5302 (build_outer_var_ref): Add LASTPRIVATE argument, handle
5303 taskloops and omp_member_access_dummy_var vars.
5304 (build_sender_ref): Change first argument to splay_tree_key,
5305 add overload with first argument tree.
5306 (install_var_field): For mask & 8 use &DECL_UID as key instead
5307 of the tree itself.
5308 (fixup_child_record_type): Const qualify *.omp_data_i.
5309 (scan_sharing_clauses): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE,
5310 C/C++ array reductions, OMP_CLAUSE_{IS,USE}_DEVICE_PTR clauses,
5311 OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,SIMDLEN,THREADS,SIMD} and
5312 OMP_CLAUSE_{NOGROUP,DEFAULTMAP} clauses, OMP_CLAUSE__LOOPTEMP_ clause
5313 on taskloop, GOMP_MAP_FIRSTPRIVATE_POINTER, OMP_CLAUSE_MAP_PRIVATE.
5314 (create_omp_child_function): Set TREE_READONLY on .omp_data_i.
5315 (find_combined_for): Allow searching for different GIMPLE_OMP_FOR
5316 kinds.
5317 (add_taskreg_looptemp_clauses): New function.
5318 (scan_omp_parallel): Use it.
5319 (scan_omp_task): Likewise.
5320 (finish_taskreg_scan): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE.
5321 For taskloop, move fields for the first two _LOOPTEMP_ clauses first.
5322 (check_omp_nesting_restrictions): Handle GF_OMP_TARGET_KIND_ENTER_DATA
5323 and GF_OMP_TARGET_KIND_EXIT_DATA. Formatting fixes. Allow the
5324 sandwiched taskloop constructs. Type check
5325 OMP_CLAUSE_DEPEND_{KIND,SOURCE}. Allow ordered simd inside of simd
5326 region. Diagnose depend(source) or depend(sink:...) on
5327 target constructs or task/taskloop.
5328 (handle_simd_reference): Use get_name.
5329 (lower_rec_input_clauses): Likewise. Ignore all
5330 OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses on taskloop construct.
5331 Allow _LOOPTEMP_ clause on GOMP_TASK. Unshare new_var
5332 before passing it to omp_clause_{default,copy}_ctor. Handle
5333 OMP_CLAUSE_REDUCTION with MEM_REF OMP_CLAUSE_DECL. Set
5334 lastprivate_firstprivate flag for linear that needs copyin and
5335 copyout. Use BUILT_IN_ALLOCA_WITH_ALIGN instead of BUILT_IN_ALLOCA.
5336 (lower_lastprivate_clauses): For OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE
5337 on taskloop lookup decl in outer context. Pass true to
5338 build_outer_var_ref lastprivate argument. Handle
5339 OMP_CLAUSE_LASTPRIVATE_TASKLOOP_IV lastprivate if the decl is global
5340 outside of outer taskloop for.
5341 (lower_reduction_clauses): Handle OMP_CLAUSE_REDUCTION with MEM_REF
5342 OMP_CLAUSE_DECL.
5343 (lower_send_clauses): Ignore first two _LOOPTEMP_ clauses in taskloop
5344 GOMP_TASK. Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE. Handle
5345 omp_member_access_dummy_var vars. Handle OMP_CLAUSE_REDUCTION
5346 with MEM_REF OMP_CLAUSE_DECL. Use new lookup_sfield overload.
5347 (lower_send_shared_vars): Ignore fields with NULL or FIELD_DECL
5348 abstract origin. Handle omp_member_access_dummy_var vars.
5349 (expand_parallel_call): Use expand_omp_build_assign.
5350 (expand_task_call): Handle taskloop construct expansion. Add
5351 REGION argument. Use GOMP_TASK_* defines instead of hardcoded
5352 integers. Add priority argument to GOMP_task* calls. Or in
5353 GOMP_TASK_FLAG_PRIORITY into flags if priority is present for
5354 GOMP_task call.
5355 (expand_omp_build_assign): Add prototype. Add AFTER
5356 argument, if true emit statements after *GSI_P and continue linking.
5357 (expand_omp_taskreg): Adjust expand_task_call caller.
5358 (expand_omp_for_init_counts): Rename zero_iter_bb argument to
5359 zero_iter1_bb and first_zero_iter to first_zero_iter1, add
5360 zero_iter2_bb and first_zero_iter2 arguments, handle computation
5361 of counts even for ordered loops.
5362 (expand_omp_for_init_vars): Handle GOMP_TASK inner_stmt.
5363 (expand_omp_ordered_source, expand_omp_ordered_sink,
5364 expand_omp_ordered_source_sink, expand_omp_for_ordered_loops): New
5365 functions.
5366 (expand_omp_for_generic): Use omp_adjust_chunk_size. Handle linear
5367 clauses on worksharing loop. Handle DOACROSS loop expansion.
5368 (expand_omp_for_static_nochunk): Handle linear clauses on
5369 worksharing loop. Adjust expand_omp_for_init_counts
5370 callers.
5371 (expand_omp_for_static_chunk): Likewise. Use omp_adjust_chunk_size.
5372 (expand_omp_simd): Handle addressable fd->loop.v. Adjust
5373 expand_omp_for_init_counts callers.
5374 (expand_omp_taskloop_for_outer, expand_omp_taskloop_for_inner): New
5375 functions.
5376 (expand_omp_for): Call expand_omp_taskloop_for_* for taskloop.
5377 Handle doacross loops.
5378 (expand_omp_target): Handle GF_OMP_TARGET_KIND_ENTER_DATA and
5379 GF_OMP_TARGET_KIND_EXIT_DATA. Pass flags and depend arguments to
5380 GOMP_target_{41,update_41,enter_exit_data} libcalls.
5381 (expand_omp): Don't expand ordered depend constructs here, record
5382 ord_stmt instead for later expand_omp_for_generic.
5383 (build_omp_regions_1): Handle GF_OMP_TARGET_KIND_ENTER_DATA and
5384 GF_OMP_TARGET_KIND_EXIT_DATA. Treat GIMPLE_OMP_ORDERED with depend
5385 clause as stand-alone directive.
5386 (lower_omp_ordered_clauses): New function.
5387 (lower_omp_ordered): Handle OMP_CLAUSE_SIMD, for OMP_CLAUSE_DEPEND
5388 don't lower anything.
5389 (lower_omp_for_lastprivate): Use last _looptemp_ clause
5390 on taskloop for comparison.
5391 (lower_omp_for): Handle taskloop constructs. Adjust OMP_CLAUSE_DECL
5392 and OMP_CLAUSE_LINEAR_STEP so that expand_omp_for_* can use it during
5393 expansion for linear adjustments.
5394 (create_task_copyfn): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE.
5395 (lower_depend_clauses): Assert not seeing sink/source depend kinds.
5396 Set TREE_ADDRESSABLE on array. Change first argument from gimple *
5397 to tree * pointing to the stmt's clauses.
5398 (lower_omp_taskreg): Adjust lower_depend_clauses caller.
5399 (lower_omp_target): Handle GF_OMP_TARGET_KIND_ENTER_DATA
5400 and GF_OMP_TARGET_KIND_EXIT_DATA, depend clauses,
5401 GOMP_MAP_{RELEASE,ALWAYS_{TO,FROM,TOFROM},FIRSTPRIVATE_POINTER,STRUCT}
5402 map kinds, OMP_CLAUSE_{FIRSTPRIVATE,PRIVATE,{IS,USE}_DEVICE_PTR
5403 clauses. Always use short kind and 8-bit align shift.
5404 (lower_omp_regimplify_p): Use IS_TYPE_OR_DECL_P macro.
5405 (struct lower_omp_regimplify_operands_data): New type.
5406 (lower_omp_regimplify_operands_p, lower_omp_regimplify_operands):
5407 New functions.
5408 (lower_omp_1): Use lower_omp_regimplify_operands instead of
5409 gimple_regimplify_operands.
5410 (make_gimple_omp_edges): Handle GF_OMP_TARGET_KIND_ENTER_DATA and
5411 GF_OMP_TARGET_KIND_EXIT_DATA. Treat GIMPLE_OMP_ORDERED with depend
5412 clause as stand-alone directive.
5413 (simd_clone_clauses_extract): Honor OMP_CLAUSE_LINEAR_KIND.
5414 (simd_clone_mangle): Mangle the various linear kinds
5415 per the new ABI.
5416 (simd_clone_adjust_argument_types): Handle
5417 SIMD_CLONE_ARG_TYPE_LINEAR_*_CONSTANT_STEP.
5418 (simd_clone_init_simd_arrays): Don't do anything for uval.
5419 (simd_clone_adjust): Handle
5420 SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP like
5421 SIMD_CLONE_ARG_TYPE_LINEAR_CONSTANT_STEP.
5422 Handle SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP.
5423 * omp-low.h (omp_member_access_dummy_var): New prototype.
5424 * passes.def (pass_simduid_cleanup): Schedule another copy of the
5425 pass after all optimizations.
5426 * tree.c (omp_clause_code_name): Add entries for
5427 OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}
5428 and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}.
5429 (omp_clause_num_ops): Likewise. Bump number of OMP_CLAUSE_REDUCTION
5430 arguments to 5 and for OMP_CLAUSE_ORDERED to 1.
5431 (walk_tree_1): Adjust for OMP_CLAUSE_ORDERED having 1 argument and
5432 OMP_CLAUSE_REDUCTION 5 arguments. Handle
5433 OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}
5434 and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}
5435 clauses.
5436 * tree-core.h (enum omp_clause_linear_kind): New.
5437 (struct tree_omp_clause): Change type of map_kind
5438 from unsigned char to unsigned int. Add subcode.if_modifier
5439 and subcode.linear_kind fields.
5440 (enum omp_clause_code): Add
5441 OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}
5442 and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}.
5443 (OMP_CLAUSE_REDUCTION): Document
5444 OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER.
5445 (enum omp_clause_depend_kind): Add OMP_CLAUSE_DEPEND_{SOURCE,SINK}.
5446 * tree.def (OMP_FOR): Add OMP_FOR_ORIG_DECLS operand.
5447 (OMP_CRITICAL): Move before OMP_SINGLE. Add OMP_CRITICAL_CLAUSES
5448 operand.
5449 (OMP_ORDERED): Move before OMP_SINGLE. Add OMP_ORDERED_CLAUSES
5450 operand.
5451 (OMP_TASKLOOP, OMP_TARGET_ENTER_DATA, OMP_TARGET_EXIT_DATA): New tree
5452 codes.
5453 * tree.h (OMP_BODY): Replace OMP_CRITICAL with OMP_TASKGROUP.
5454 (OMP_CLAUSE_SET_MAP_KIND): Cast to unsigned int rather than unsigned
5455 char.
5456 (OMP_CRITICAL_NAME): Adjust to be 3rd operand instead of 2nd.
5457 (OMP_CLAUSE_NUM_TASKS_EXPR): Formatting fix.
5458 (OMP_STANDALONE_CLAUSES): Adjust to cover OMP_TARGET_{ENTER,EXIT}_DATA.
5459 (OMP_CLAUSE_DEPEND_SINK_NEGATIVE, OMP_TARGET_COMBINED,
5460 OMP_CLAUSE_MAP_PRIVATE, OMP_FOR_ORIG_DECLS, OMP_CLAUSE_IF_MODIFIER,
5461 OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION, OMP_CRITICAL_CLAUSES,
5462 OMP_CLAUSE_PRIVATE_TASKLOOP_IV, OMP_CLAUSE_LASTPRIVATE_TASKLOOP_IV,
5463 OMP_CLAUSE_HINT_EXPR, OMP_CLAUSE_SCHEDULE_SIMD,
5464 OMP_CLAUSE_LINEAR_KIND, OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER,
5465 OMP_CLAUSE_SHARED_FIRSTPRIVATE, OMP_ORDERED_CLAUSES,
5466 OMP_TARGET_ENTER_DATA_CLAUSES, OMP_TARGET_EXIT_DATA_CLAUSES,
5467 OMP_CLAUSE_NUM_TASKS_EXPR, OMP_CLAUSE_GRAINSIZE_EXPR,
5468 OMP_CLAUSE_PRIORITY_EXPR, OMP_CLAUSE_ORDERED_EXPR): Define.
5469 * tree-inline.c (remap_gimple_stmt): Handle clauses on
5470 GIMPLE_OMP_ORDERED and GIMPLE_OMP_CRITICAL. For
5471 IFN_GOMP_SIMD_ORDERED_{START,END} set has_simduid_loops.
5472 * tree-nested.c (convert_nonlocal_omp_clauses): Handle
5473 OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,SIMDLEN,PRIORITY,SIMD}
5474 and OMP_CLAUSE_{GRAINSIZE,NUM_TASKS,HINT,NOGROUP,THREADS,DEFAULTMAP}
5475 clauses. Handle OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER.
5476 (convert_local_omp_clauses): Likewise.
5477 * tree-pretty-print.c (dump_omp_clause): Handle
5478 OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,SIMDLEN,PRIORITY,SIMD}
5479 and OMP_CLAUSE_{GRAINSIZE,NUM_TASKS,HINT,NOGROUP,THREADS,DEFAULTMAP}
5480 clauses. Handle OMP_CLAUSE_IF_MODIFIER, OMP_CLAUSE_ORDERED_EXPR,
5481 OMP_CLAUSE_SCHEDULE_SIMD, OMP_CLAUSE_LINEAR_KIND,
5482 OMP_CLAUSE_DEPEND_{SOURCE,SINK}. Use "delete" for
5483 GOMP_MAP_FORCE_DEALLOC. Handle
5484 GOMP_MAP_{ALWAYS_{TO,FROM,TOFROM},RELEASE,FIRSTPRIVATE_POINTER,STRUCT}.
5485 (dump_generic_node): Handle OMP_TASKLOOP, OMP_TARGET_{ENTER,EXIT}_DATA
5486 and clauses on OMP_ORDERED and OMP_CRITICAL.
5487 * tree-vectorizer.c (adjust_simduid_builtins): Adjust comment.
5488 Remove IFN_GOMP_SIMD_ORDERED_{START,END}.
5489 (vectorize_loops): Adjust comments.
5490 (pass_simduid_cleanup::execute): Likewise.
5491 * tree-vect-stmts.c (vectorizable_simd_clone_call): Handle
5492 SIMD_CLONE_ARG_TYPE_LINEAR_{REF,VAL,UVAL}_CONSTANT_STEP.
5493 * wide-int.h (wi::gcd): New.
5494
5495 2015-10-13 Uros Bizjak <ubizjak@gmail.com>
5496
5497 * config/i386/i386.c (classify_argument): Use CEIL where applicable.
5498 (ix86_function_arg_advance): Ditto.
5499 (ix86_function_arg): Ditto.
5500 (ix86_gimplify_va_arg): Ditto.
5501 (ix86_class_max_nregs): Ditto.
5502 (inline_memory_move_cost): Ditto.
5503 (ix86_set_reg_reg_cost): Ditto.
5504 * config/i386/i386.h (HARD_REGNO_NREGS): Ditto.
5505
5506 2015-10-13 Alexandre Oliva <aoliva@redhat.com>
5507
5508 PR middle-end/67912
5509 * expmed.c (store_bit_field_1): Adjust mode of BLKmode inputs.
5510
5511 2015-10-13 Uros Bizjak <ubizjak@gmail.com>
5512
5513 * config/sparc/sparc.h (SPARC_STACK_ALIGN): Implement using
5514 ROUND_UP macro and UNITS_PER_WORD * 2.
5515 * config/sparc/sparc.c (sparc_compute_frame_size):
5516 Use ROUND_UP and ROUND_DOWN macros where applicable.
5517 (function_arg_record_value, function_arg_record_value_1)
5518 (function_arg_record_value_1): Ditto.
5519 (emit_save_or_restore_regs): Use ROUND_DOWN to preserve offset
5520 alignment to double-word.
5521 (sparc_gimplify_va_arg): Use ROUND_UP to calculate rsize.
5522 (sparc_emit_probe_stack_range): Use ROUND_DOWN to calculate
5523 rounded_size.
5524
5525 2015-10-13 Nikolai Bozhenov <n.bozhenov@samsung.com>
5526
5527 * rtl.h (print_insn): Fix prototype.
5528
5529 2015-10-13 Tom de Vries <tom@codesourcery.com>
5530
5531 * tree-parloops.c (reduction_phi): Handle cases that gimple_uid is 0 or
5532 -1. Add assert that returned entry matches phi argument.
5533 (parallelize_loops): Move calls to init_stmt_vec_info_vec and
5534 free_stmt_vec_info_vec ...
5535 (gather_scalar_reductions): ... here. Initialize gimple_uids of phis
5536 with -1.
5537
5538 2014-10-13 Yuri Rumyantsev <ysrumyan@gmail.com>
5539
5540 PR tree-optimization/67909, 67947
5541 * tree-ssa-loop-unswitch.c (find_loop_guard): Add check that GUARD_EDGE
5542 really skip the inner loop.
5543
5544 2015-10-13 Jeff Law <law@redhat.com>
5545
5546 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
5547 Allow single block jump threading paths.
5548
5549 2015-10-13 Tom de Vries <tom@codesourcery.com>
5550
5551 PR tree-optimization/67476
5552 * doc/invoke.texi (@item parloops-schedule): New item.
5553 * params.def (PARAM_PARLOOPS_SCHEDULE): New DEFPARAMENUM5.
5554 * tree-parloops.c: Include params-enum.h.
5555 (create_parallel_loop): Handle PARAM_PARLOOPS_SCHEDULE.
5556
5557 2015-10-13 Tom de Vries <tom@codesourcery.com>
5558
5559 * Makefile.in (PARAMS_H, PLUGIN_HEADERS): Add params-enum.h.
5560 * params-enum.h: New file.
5561 * opts.c (handle_param): Handle case that param arg is a string.
5562 * params-list.h: Handle DEFPARAMENUM5 in params.def.
5563 * params.c (find_param): New function, factored out of ...
5564 (set_param_value): ... here.
5565 (param_string_value_p): New function.
5566 * params.h (struct param_info): Add value_names field.
5567 (find_param, param_string_value_p): Declare.
5568
5569 2015-10-13 Tom de Vries <tom@codesourcery.com>
5570
5571 PR tree-optimization/67476
5572 * omp-low.c (expand_omp_for_generic): Handle original loop tree.
5573
5574 2015-10-13 Richard Biener <rguenther@suse.de>
5575
5576 * tree-vect-data-refs.c (vect_analyze_data_ref_dependences): Allocate
5577 the data dependence vector.
5578 (vect_peeling_hash_insert): Get the peeling hash table as argument.
5579 (vect_peeling_hash_get_lowest_cost): Likewise.
5580 (vect_enhance_data_refs_alignment): Adjust.
5581 (struct _vect_peel_info, struct _vect_peel_extended_info,
5582 struct peel_info_hasher): Move from ...
5583 * tree-vectorizer.h: ... here.
5584 (LOOP_VINFO_COST_MODEL_MIN_ITERS): Remove.
5585 (LOOP_VINFO_PEELING_HTAB): Likewise.
5586 (struct _loop_vec_info): Remove min_profitable_iters and
5587 peeling_htab members.
5588 * tree-vect-loop.c (new_loop_vec_info): Do not allocate vectors
5589 here.
5590 (destroy_loop_vec_info): Adjust.
5591 (vect_analyze_loop_2): Do not set LOOP_VINFO_COST_MODEL_MIN_ITERS.
5592 (vect_estimate_min_profitable_iters): Use LOOP_VINFO_COMP_ALIAS_DDRS
5593 to estimate alias versioning cost.
5594 * tree-vect-slp.c (vect_analyze_slp_cost): Dump header.
5595
5596 2015-10-13 Richard Sandiford <richard.sandiford@arm.com>
5597
5598 * real.h (real_isinteger): Declare.
5599 * real.c (real_isinteger): New function.
5600 * match.pd: Simplify pow(|x|,y) and pow(-x,y) to pow(x,y)
5601 if y is an even integer.
5602
5603 2015-10-11 Jan Hubicka <hubicka@ucw.cz>
5604
5605 revert:
5606 2015-10-11 Jan Hubicka <hubicka@ucw.cz>
5607 * cgraphbuild.c (compute_call_stmt_bb_frequency): Use
5608 counts when these are more informative.
5609
5610 2015-10-12 Jeff Law <law@redhat.com>
5611
5612 * tree-ssa-threadbackward.c (get_gimple_control_stmt): New function.
5613 (fsm_find_control_stmt_paths): Change name of first argument to
5614 more accurately relfect what it really is. Handle simplification
5615 of GIMPLE_COND after finding a thread path for NAME.
5616 * tree-ssa-threadedge.c (simplify_control_stmt_condition): Allow
5617 nontrivial conditions to be handled by FSM threader.
5618 (thread_through_normal_block): Extract the name to looup via
5619 FSM threader from COND_EXPR.
5620
5621 * tree-ssa-threadbackward.c (fsm_find_thread_path): Remove
5622 restriction that traced SSA_NAME is a user variable.
5623
5624 2015-10-12 Tom de Vries <tom@codesourcery.com>
5625
5626 PR tree-optimization/67476
5627 * omp-low.c (expand_omp_for_generic): Add missing phis.
5628
5629 2015-10-12 Tom de Vries <tom@codesourcery.com>
5630
5631 PR tree-optimization/67476
5632 * omp-low.c (expand_omp_for_generic): Handle simple latch.
5633
5634 2015-10-12 Christophe Lyon <christophe.lyon@linaro.org>
5635
5636 * config/aarch64/aarch64-simd-builtins.def: Update builtins
5637 tables: add tbl3 and tbx4.
5638 * config/aarch64/aarch64-simd.md (aarch64_tbl3v8qi): New.
5639 (aarch64_tbx4v8qi): New.
5640 * config/aarch64/arm_neon.h (vtbl3_s8, vtbl3_u8, vtbl3_p8)
5641 (vtbl4_s8, vtbl4_u8, vtbl4_p8, vtbx4_s8, vtbx4_u8, vtbx4_p8):
5642 Rewrite using builtin functions.
5643 * config/aarch64/iterators.md (UNSPEC_TBX): New.
5644
5645 2015-10-12 Uros Bizjak <ubizjak@gmail.com>
5646
5647 * config/rs6000/rs6000.h (RS6000_ALIGN): Implement using
5648 ROUND_UP macro.
5649 * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_flush):
5650 Use ROUND_UP and ROUND_DOWN macros where applicable.
5651 (rs6000_darwin64_record_arg_flush): Ditto.
5652 (rs6000_function_arg): Use ROUND_UP to calculate align_words.
5653 (rs6000_emit_probe_stack_range): Use ROUND_DOWN to calculate
5654 rounded_size.
5655
5656 2015-10-12 Uros Bizjak <ubizjak@gmail.com>
5657
5658 * config/aarch/aarch64.h (AARCH64_ROUND_UP): Remove.
5659 (AARCH64_ROUND_DOWN): Ditto.
5660 * config/aarch64/aarch64.c: Use ROUND_UP instead of AARCH64_ROUND_UP.
5661
5662 2015-10-12 Richard Biener <rguenther@suse.de>
5663
5664 PR ipa/67783
5665 * ipa-inline-analysis.c (estimate_function_body_sizes): Re-add
5666 code that analyzes IVs on each stmt but in a cheaper way avoiding
5667 quadratic behavior.
5668
5669 2015-10-12 Nick Clifton <nickc@redhat.com>
5670
5671 * config/msp430/msp430.c (msp430_mcu_names): Rename to
5672 msp430_mcu_data, add fields for ISA and hardware multiply
5673 support. Import latest data from the devices.csv file.
5674 (msp430_override_option): Use the data from the new array.
5675 (msp430_use_f5_series_hwmult): Likewise.
5676 (use_32bit_hwmult): Likewise.
5677 (msp430_no_hwmult): Likewise.
5678 * config/msp430/t-msp430 (MULTILIB_MATCHES): Add matches for new
5679 MCU names.
5680 * doc/invoke.texi (MSP430 Options): Note that if the MCU name is
5681 not recognised then no hardware multiply support is assumed and
5682 that only the MSP430 ISA is allowed.
5683
5684 2015-10-12 Richard Biener <rguenther@suse.de>
5685
5686 * tree-vect-loop.c (vect_analyze_loop_operations): Move cost
5687 related code ...
5688 (vect_analyze_loop_2): ... here.
5689
5690 2015-10-11 Jason Merrill <jason@redhat.com>
5691
5692 PR c++/67557
5693 * expr.c (store_field): Call store_constructor directly when
5694 storing a CONSTRUCTOR into a target smaller than its type.
5695 Guard against unsafe bitwise copy.
5696
5697 2015-10-11 Jan Hubicka <hubicka@ucw.cz>
5698
5699 * cgraphbuild.c (compute_call_stmt_bb_frequency): Use
5700 counts when these are more informative.
5701
5702 2015-10-11 Jan Hubicka <hubicka@ucw.cz>
5703
5704 * tree-profile.c (tree_profiling): Do not clear
5705 pure/const when not instrumenting.
5706 (pass tree_profile): Add dump of symtab.
5707
5708 2015-10-11 Jan Hubicka <hubicka@ucw.cz>
5709
5710 * fold-const.c (fold_comparsion): Pass OEP_ADDRESS_OF when comparing
5711 addresses.
5712 (fold_addr_of_array_ref_difference): Likewise.
5713
5714 2015-10-11 Jeff Law <law@redhat.com>
5715
5716 * tree-ssa-threadedge.c (fsm_find_thread_path): Moved from here into
5717 tree-ssa-threadbackward.c.
5718 (fsm_find_control_statement_thread_paths): Likewise.
5719 (thread_through_normal_block): Break out FSM bits and move them
5720 into a new function in tree-ssa-threadbackward.c. Call new function
5721 instead.
5722 Minimize header file usage.
5723 * tree-ssa-threadbackward.h: New file.
5724 * tree-ssa-threadbackward.c: Likewise.
5725 * Makefile.in (OBJS): Add tree-ssa-threadbackward.o
5726
5727 2015-10-11 Uros Bizjak <ubizjak@gmail.com>
5728
5729 * config/alpha/alpha.h (ALPHA_ROUND): Implement using ROUND_UP macro.
5730
5731 2015-10-11 Segher Boessenkool <segher@kernel.crashing.org>
5732
5733 PR rtl-optimization/67864
5734 * bb-reorder (reorder_basic_blocks_simple): Prefer existing
5735 fallthrough edges for conditional jumps. Don't sort candidate
5736 edges if not optimizing for speed.
5737
5738 2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5739
5740 * defaults.h (REVERSE_CONDITION): New default definition.
5741 * jump.c (reversed_comparison_code_parts): Adjust.
5742
5743 2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5744
5745 * builtins.c (expand_builtin_setjmp_receiver): Don't use #if to
5746 check HARD_FRAME_POINTER_IS_ARG_POINTER.
5747
5748 2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5749
5750 * defaults.h (FRAME_ADDR_RTX): New default definition.
5751 * builtins.c (expand_builtin_return_addr): Adjust.
5752
5753 2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5754
5755 * defaults.h (DYNAMIC_CHAIN_ADDRESS): New default definition.
5756 * builtins.c (expand_builtin_return_addr): Adjust.
5757
5758 2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5759
5760 * defaults.h (SETUP_FRAME_ADDRESSES): New default definition.
5761 * builtins.c (expand_builtin_return_addr): Adjust.
5762 * doc/tm.texi: Likewise.
5763 * doc/tm.texi.in: Likewise.
5764 * except.c (expand_builtin_unwind_init): Likewise.
5765
5766 2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5767
5768 * builtins.c (expand_builtin_return_addr): Adjust.
5769 * defaults.h (INITIAL_FRAME_ADDRESS_RTX): New default definition.
5770
5771 2015-10-10 Jan Hubicka <hubicka@ucw.cz>
5772
5773 * tree.c (type_with_interoperable_signedness): New.
5774 (gimple_canonical_types_compatible_p): Use it.
5775 * tree.h (type_with_interoperable_signedness): Declare
5776
5777 2015-10-10 Jan Hubicka <hubicka@ucw.cz>
5778
5779 * fold-const.c (operand_equal_p): Document OEP_ADDRESS_OF
5780 and OEP_CONSTANT_ADDRESS_OF; skip type compatibility checks
5781 when OEP_ADDRESS_OF is se.
5782
5783 2015-10-10 Aditya Kumar <aditya.k7@samsung.com>
5784 Sebastian Pop <s.pop@samsung.com>
5785
5786 * graphite-dependences.c (scop_get_dependences): Add dump of the
5787 data dependence graph.
5788 * graphite-poly.c (print_isl_union_map): New.
5789 (debug_isl_union_map): New.
5790 * graphite-poly.h (print_isl_union_map): Declare.
5791 (debug_isl_union_map): Declare.
5792
5793 2015-10-10 Aditya Kumar <aditya.k7@samsung.com>
5794 Sebastian Pop <s.pop@samsung.com>
5795
5796 * graphite-poly.c (print_iteration_domain): Remove verbosity.
5797 Remove OpenScop formatting.
5798 (print_iteration_domains): Same.
5799 (debug_iteration_domain): Same.
5800 (debug_iteration_domains): Same.
5801 (print_pdr): Same.
5802 (debug_pdr): Same.
5803 (dump_gbb_cases): Same.
5804 (dump_gbb_conditions): Same.
5805 (print_pdrs): Same.
5806 (debug_pdrs): Same.
5807 (print_pbb_body): Same.
5808 (print_pbb): Same.
5809 (print_scop_params): Same.
5810 (print_scop_context): Same.
5811 (print_scop): Same.
5812 (debug_pbb_domain): Same.
5813 (debug_pbb): Same.
5814 (debug_scop_context): Same.
5815 (debug_scop): Same.
5816 (debug_scop_params): Same.
5817 * graphite-poly.h: Same.
5818 * graphite.c (graphite_transform_loops): Same.
5819
5820 2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5821
5822 * function.c (stack_protect_epilogue): Remove as_a<rtx_insn *> ()
5823 call that isn't needed.
5824
5825 2015-10-09 Jeff Law <law@redhat.com>
5826
5827 * tree-ssanames.c (flush_ssaname_freelist): Use splice and truncate
5828 rather than moving each name to the freelist individually.
5829
5830 2015-10-09 Steve Ellcey <sellcey@imgtec.com>
5831
5832 * config.gcc (mips*-*-*): Add frame-header-opt.o to extra_objs.
5833 * frame-header-opt.c: New file.
5834 * config/mips/mips-proto.h (mips_register_frame_header_opt):
5835 Add prototype.
5836 * config/mips/mips.c (mips_compute_frame_info): Check
5837 optimize_call_stack flag.
5838 (mips_option_override): Register new frame_header_opt pass.
5839 (mips_frame_info, mips_int_mask, mips_shadow_set,
5840 machine_function): Move these types to...
5841 * config/mips/mips.h: here.
5842 (machine_function): Add does_not_use_frame_header and
5843 optimize_call_stack fields.
5844 * config/mips/t-mips (frame-header-opt.o): Add new make rule.
5845 * doc/invoke.texi (-mframe-header-opt, -mno-frame-header-opt):
5846 Document new flags.
5847 * config/mips/mips.opt (mframe-header-opt): Add new option.
5848
5849 2015-10-09 Uros Bizjak <ubizjak@gmail.com>
5850
5851 * config/i386/i386.c
5852 (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Use
5853 ROUND_DOWN where applicable.
5854
5855 2015-10-09 Jeff Law <law@redhat.com>
5856
5857 * tree-vect-stmts.c (free_stmt_vec_info): Free the LHS of the
5858 correct statement.
5859
5860 2015-10-09 Renlin Li <renlin.li@arm.com>
5861
5862 * config/arm/neon.md (neon_vuzp<mode>_insn): Add & modifier for
5863 operands[0] and operands[2].
5864 (neon_vtrn<mode>_insn): Likewise.
5865 (neon_vzip<mode>_insn): Likewise.
5866
5867 2015-10-09 Andre Vieira <andre.simoesdiasvieira@arm.com>
5868
5869 * match.pd: ((X inner_op C0) outer_op C1) New pattern.
5870 ((X & C2) << C1): Expand to...
5871 (X {&,^,|} C2 << C1): ...This.
5872 ((X & C2) >> C1): Expand to...
5873 (X {&,^,|} C2 >> C1): ...This.
5874
5875 2015-10-09 Alexander Fomin <alexander.fomin@intel.com>
5876
5877 PR target/67895
5878 * config/i386/sse.md (define_insn "sse_cvtsi2ss<round_name>"):
5879 Adjust embedded rounding/SAE specifier position.
5880 (define_insn "sse_cvtsi2ssq<round_name>"): Likewise.
5881 (define_insn "cvtusi2<ssescalarmodesuffix>32<round_name>"): Likewise.
5882 (define_insn "cvtusi2<ssescalarmodesuffix>64<round_name>"): Likewise.
5883 (define_insn "sse2_cvtsi2sdq<round_name>"): Likewise.
5884 (define_insn "avx512dq_rangep<mode><mask_name><round_saeonly_name>"):
5885 Likewise.
5886 (define_insn "avx512dq_ranges<mode><round_saeonly_name>"): Likewise.
5887
5888 2015-10-09 Martin Jambor <mjambor@suse.cz>
5889
5890 tree-optimization/67794
5891 * tree-sra.c (replace_removed_params_ssa_names): Do not distinguish
5892 between types of state,ents but accept original definitions as a
5893 parameter.
5894 (ipa_sra_modify_function_body): Use FOR_EACH_SSA_DEF_OPERAND to
5895 iterate over definitions.
5896
5897 2015-10-09 James Norris <jnorris@codesourcery.com>
5898
5899 * config/rs6000/rs6000.c (rs6000_offload_options): New.
5900 (TARGET_OFFLOAD_OPTIONS): New.
5901
5902 2015-10-09 Alexandre Oliva <aoliva@redhat.com>
5903
5904 PR middle-end/67891
5905 * cfgexpand.c (set_parm_rtl): Drop is_gimple_reg test.
5906
5907 PR middle-end/67766
5908 * function.c (expand_function_end): Move return value
5909 promotion past the handling of PARALLELs and CONCATs.
5910
5911 PR rtl-optimization/67828
5912 * tree-ssa-loop-unswitch.c: Include tree-ssa.h.
5913 (tree_may_unswitch_on): Don't unswitch on expressions
5914 involving undefined values.
5915
5916 2015-10-09 Richard Biener <rguenther@suse.de>
5917
5918 * genmatch.c (print_operand): Fix formatting.
5919 (dt_node::append_simplify): Warn for multiple simplifiers
5920 that match the same pattern.
5921 * match.pd (log (exp @0)): Remove duplicates.
5922
5923 2015-10-09 Richard Biener <rguenth@suse.de>
5924
5925 PR target/67366
5926 * gimple-fold.c (optabs-query.h): Include
5927 (gimple_fold_builtin_memory_op): Allow unaligned stores
5928 when movmisalign_optabs are available.
5929
5930 2015-10-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5931
5932 PR target/67366
5933 * config/arm/arm.md (movmisalign<mode>): New.
5934 * config/arm/iterators.md (HSI): New.
5935
5936 2015-10-09 Richard Biener <rguenther@suse.de>
5937
5938 PR tree-optimization/67891
5939 * gimple-match.h (gimple_simplified_result_is_gimple_val):
5940 New helper.
5941 (gimple_resimplify1): Declare.
5942 (gimple_resimplify2): Likewise.
5943 (gimple_resimplify3): Likewise.
5944 * gimple-match-head.c (gimple_resimplify1): Export.
5945 (gimple_resimplify2): Likewise.
5946 (gimple_resimplify3): Likewise.
5947 (maybe_push_res_to_seq): Use gimple_simplified_result_is_gimple_val.
5948 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise.
5949 * tree-ssa-sccvn.c (visit_reference_op_load): Use gimple_resimplify1
5950 to avoid creating stmts without VN info.
5951
5952 2015-10-08 Jan Hubicka <hubicka@ucw.cz>
5953
5954 * ipa-icf.c (sem_item::compare_symbol_references): Fix use
5955 of availability.
5956
5957 2015-10-08 Jeff Law <law@redhat.com>
5958
5959 * value-prof.c (gimple_ic): Add missing calls to unlink_stmt_vdef
5960 and release_ssa_name in two places.
5961 (gimple_stringop_fixed_value): Similarly.
5962
5963 * tree-ssa-loop-im.c (rewrite_bittest): Add missing call to
5964 release_defs.
5965
5966 * tree-stdarg.c (expand_ifn_va_arg_1): Add missing call to
5967 unlink_stmt_vdef and release_ssa_name_fn.
5968
5969 * tree-ssa-dse.c (dse_optimize_stmt): Add missing call to
5970 release_defs.
5971
5972 2015-10-08 H.J. Lu <hongjiu.lu@intel.com>
5973
5974 * config/i386/i386.c (ix86_compute_frame_layout): Round up the
5975 SSE register save area to 16 bytes only if the incoming stack
5976 boundary is no less than 16 bytes.
5977
5978 2015-10-08 Jeff Law <law@redhat.com>
5979
5980 * tree-ssa-phiopt.c (factor_out_conversion): Add missing calls to
5981 release_ssa_name. Fix typo in comment.
5982
5983 2015-10-08 Nathan Sidwell <nathan@acm.org>
5984
5985 * config/nvptx/nvptx.h (struct machine_function): Add comment.
5986 * config/nvptx/nvptx.c (nvptx_declare_function_name): Functions
5987 may return pointer as well as in memory.
5988 (nvptx_output_return): Likewise.
5989
5990 2015-10-08 Richard Sandiford <richard.sandiford@arm.com>
5991
5992 * builtins.c (fold_builtin_sqrt, fold_builtin_cbrt): Delete.
5993 (fold_builtin_1): Update accordingly. Handle constant arguments here.
5994 * match.pd: Add rules previously handled by fold_builtin_sqrt
5995 and fold_builtin_cbrt.
5996
5997 2015-10-08 Richard Sandiford <richard.sandiford@arm.com>
5998
5999 * params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): New param.
6000 * doc/invoke.texi (--param max-ssa-name-query-depth): Document.
6001 * fold-const.h (tree_unary_nonnegative_warnv_p)
6002 (tree_single_nonnegative_warnv_p, tree_call_nonnegative_warnv_p)
6003 (tree_expr_nonnegative_warnv_p): Add depth parameters.
6004 * fold-const.c: Include gimple-fold.h and params.h.
6005 (tree_ssa_name_nonnegative_warnv_p): New function.
6006 (tree_unary_nonnegative_warnv_p, tree_binary_nonnegative_warnv_p)
6007 (tree_single_nonnegative_warnv_p, tree_call_nonnegative_warnv_p)
6008 (tree_invalid_nonnegative_warnv_p, tree_expr_nonnegative_warnv_p):
6009 Add a depth parameter and increment it for recursive calls to
6010 tree_expr_nonnegative_warnv_p. Use tree_ssa_name_nonnegative_warnv_p
6011 to handle SSA names.
6012 * gimple-fold.h (gimple_val_nonnegative_real_p): Delete.
6013 (gimple_stmt_nonnegative_warnv_p): Declare.
6014 * tree-vrp.c (remove_range_assertions): Remove assert that condition
6015 cannot be proven false.
6016 (gimple_assign_nonnegative_warnv_p, gimple_call_nonnegative_warnv_p)
6017 (gimple_stmt_nonnegative_warnv_p): Move to...
6018 * gimple-fold.c: ...here. Add depth parameters and pass them
6019 down to the tree routines. Accept statements that aren't
6020 assignments or calls but just return false for them.
6021 (gimple_val_nonnegative_real_p): Delete.
6022 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use
6023 tree_expr_nonnegative_p instead of gimple_val_nonnegative_real_p.
6024 Check HONOR_NANs first.
6025
6026 2015-10-08 Martin Jambor <mjambor@suse.cz>
6027
6028 * ipa-cp.c (meet_with_1): Make the argument of abs signed. Remove
6029 unnecessary MIN.
6030
6031 2015-10-08 Yuri Rumyantsev <ysrumyan@gmail.com>
6032
6033 * tree-vect-loop.c (vect_analyze_loop_operations): Skip virtual phi
6034 in the tail of outer-loop.
6035
6036 2015-10-08 David Edelsohn <dje.gcc@gmail.com>
6037
6038 * config/rs6000/rs6000.c (rs6000_xcoff_debug_unwind_info): Always
6039 return UI_NONE.
6040
6041 2015-10-08 Yuri Rumyantsev <ysrumyan@gmail.com>
6042
6043 * tree-ssa-loop-unswitch.c: Include "gimple-iterator.h" and
6044 "cfghooks.h", add prototypes for introduced new functions.
6045 (tree_ssa_unswitch_loops): Use from innermost loop iterator, move all
6046 checks on ability of loop unswitching to tree_unswitch_single_loop;
6047 invoke tree_unswitch_single_loop or tree_unswitch_outer_loop depending
6048 on innermost loop check.
6049 (tree_unswitch_single_loop): Add all required checks on ability of
6050 loop unswitching under zero recursive level guard.
6051 (tree_unswitch_outer_loop): New function.
6052 (find_loop_guard): Likewise.
6053 (empty_bb_without_guard_p): Likewise.
6054 (used_outside_loop_p): Likewise.
6055 (get_vop_from_header): Likewise.
6056 (hoist_guard): Likewise.
6057 (check_exit_phi): Likewise.
6058
6059 2015-10-08 Marek Polacek <polacek@redhat.com>
6060
6061 * tree-ssa-reassoc.c (dump_ops_vector): Print newline after each
6062 ops element.
6063
6064 2015-10-08 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6065
6066 PR c/65345
6067 * config/s390/s390.c (s390_atomic_assign_expand_fenv): Use
6068 create_tmp_var_raw instead of create_tmp_var.
6069
6070 2015-10-07 Jan Hubicka <hubicka@ucw.cz>
6071
6072 * expr.c (store_expr_with_bounds): Handle aggregate moves from
6073 BLKmode.
6074 * gimple-expr.c (useless_type_conversion_p): Do not use TYPE_CANONICAL
6075 to define gimple type system; compare aggregates only by size.
6076
6077 2015-10-07 Jeff Law <law@redhat.com>
6078
6079 * tree-ssa-dom.c (optimize_stmt): Don't set LOOPS_NEED_FIXUP here.
6080 * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): Do it
6081 here instead. Tighten test to avoid setting LOOPS_NEED_FIXUP
6082 unnecessarily.
6083
6084 2015-10-07 Aditya Kumar <aditya.k7@samsung.com>
6085 Sebastian Pop <s.pop@samsung.com>
6086
6087 * graphite-dependences.c (scop_get_dependences): Do not use SCOP_BBS.
6088 * graphite-isl-ast-to-gimple.c (get_max_schedule_dimensions): Same.
6089 (generate_isl_schedule): Same.
6090 * graphite-optimize-isl.c (scop_get_domains): Same.
6091 (apply_schedule_map_to_scop): Same.
6092 * graphite-poly.c (print_iteration_domains): Same.
6093 (remove_gbbs_in_scop): Same.
6094 (new_scop): Same.
6095 (free_scop): Same.
6096 (print_scop): Same.
6097 * graphite-poly.h (struct scop): Rename bbs to pbbs.
6098 (SCOP_BBS): Remove.
6099 * graphite-scop-detection.c (compare_bb_depths): Remove.
6100 (graphite_sort_dominated_info): Remove.
6101 (try_generate_gimple_bb): Move out of scop_detection.
6102 (all_non_dominated_preds_marked_p): Remove.
6103 (build_scop_bbs_1): Remove.
6104 (build_scop_bbs): Remove.
6105 (nb_pbbs_in_loops): Do not use SCOP_BBS.
6106 (find_scop_parameters): Same.
6107 (sese_dom_walker): Rename gather_bbs.
6108 (before_dom_children): Call try_generate_gimple_bb and collect gbb
6109 and pbb.
6110 (build_scops): Call gather_bbs.
6111 * graphite-sese-to-poly.c (build_scop_scattering): Do not use SCOP_BBS.
6112 (add_conditions_to_constraints): Same.
6113 (build_scop_iteration_domain): Same.
6114 (build_scop_drs): Same.
6115 (new_pbb_from_pbb): Same.
6116 * sese.c (new_sese_info): Create bbs.
6117 * sese.h (struct sese_info_t): Add bbs.
6118
6119 2015-10-07 David Edelsohn <dje.gcc@gmail.com>
6120
6121 * config/rs6000/xcoff.h (ASM_PREFERRED_EH_DATA_FORMAT): Use 64-bit
6122 encoding in 64-bit mode.
6123
6124 2015-10-07 Uros Bizjak <ubizjak@gmail.com>
6125
6126 PR target/66697
6127 * config/i386/i386.c (ix86_option_override_internal): Always use
6128 8-byte minimum stack boundary in 64-bit mode.
6129 (ix86_compute_frame_layout): Remove assert on INCOMING_STACK_BOUNDARY.
6130 (ix86_emit_save_reg_using_mov): Support unaligned SSE store.
6131 Add a REG_CFA_EXPRESSION note if needed.
6132 (ix86_emit_restore_sse_regs_using_mov): Support unaligned SSE load.
6133 (ix86_handle_force_align_arg_pointer_attribute): New.
6134 (ix86_minimum_incoming_stack_boundary): Remove TARGET_64BIT check.
6135 (ix86_attribute_table): Set ix86_force_align_arg_pointer_string
6136 with ix86_handle_force_align_arg_pointer_attribute.
6137 * config/i386/i386.h (MIN_STACK_BOUNDARY): Set to BITS_PER_WORD.
6138
6139 2015-10-07 Aditya Kumar <aditya.k7@samsung.com>
6140 Sebastian Pop <s.pop@samsung.com>
6141
6142 * graphite-scop-detection.c (parameter_index_in_region): Remove
6143 use of SESE_ADD_PARAMS.
6144 (find_scop_parameters): Same.
6145 * sese.c (new_sese_info): Same.
6146 * sese.h (struct sese_info_t): Remove add_params.
6147 (SESE_ADD_PARAMS): Remove.
6148
6149 2015-10-07 Aditya Kumar <aditya.k7@samsung.com>
6150 Sebastian Pop <s.pop@samsung.com>
6151
6152 * graphite-isl-ast-to-gimple.c (translate_isl_ast_to_gimple): Use
6153 an sese_info_p.
6154 (copy_def): Same.
6155 (copy_internal_parameters): Same.
6156 (translate_isl_ast_to_gimple): Use an sese_l.
6157 (build_iv_mapping): Same.
6158 * graphite-poly.c (new_sese): Rename new_sese_info.
6159 (free_sese): Rename free_sese_info.
6160 * graphite-poly.h (struct scop): Use an sese_info_p.
6161 (scop_set_region): Same.
6162 * graphite-scop-detection.c (struct sese_l): Moved...
6163 (get_entry_bb): Moved...
6164 (get_exit_bb): Moved...
6165 (parameter_index_in_region_1): Use an sese_info_p.
6166 (parameter_index_in_region): Same.
6167 (scan_tree_for_params): Same.
6168 (find_params_in_bb): Same.
6169 (sese_dom_walker): Use an sese_l.
6170 * graphite-sese-to-poly.c (remove_invariant_phi): Same.
6171 (reduction_phi_p): Same.
6172 (parameter_index_in_region_1): Use an sese_info_p.
6173 (propagate_expr_outside_region): Use an sese_l.
6174 * graphite.c: Replace uses of SCOP_REGION.
6175 * sese.c (sese_record_loop): Use an sese_info_p.
6176 (build_sese_loop_nests): Same.
6177 (sese_build_liveouts_use): Same.
6178 (sese_build_liveouts_bb): Same.
6179 (sese_build_liveouts_bb): Same.
6180 (sese_bad_liveouts_use): Same.
6181 (sese_reset_debug_liveouts_bb): Same.
6182 (sese_build_liveouts): Same.
6183 (new_sese): Renamed new_sese_info.
6184 (free_sese): Renamed free_sese_info.
6185 (set_rename): Use an sese_info_p.
6186 (graphite_copy_stmts_from_block): Same.
6187 (copy_bb_and_scalar_dependences): Same.
6188 (outermost_loop_in_sese_1): Use an sese_l.
6189 (outermost_loop_in_sese): Same.
6190 (if_region_set_false_region): Use an sese_info_p.
6191 (move_sese_in_condition): Same.
6192 (scalar_evolution_in_region): Use an sese_l.
6193 * sese.h (struct sese_l): ... here.
6194 (SESE_ENTRY): Remove.
6195 (SESE_ENTRY_BB): Remove.
6196 (SESE_EXIT): Remove.
6197 (SESE_EXIT_BB): Remove.
6198 (sese_contains_loop): Use an sese_info_p.
6199 (sese_nb_params): Same.
6200 (bb_in_sese_p): Use an sese_l.
6201 (stmt_in_sese_p): Same.
6202 (defined_in_sese_p): Same.
6203 (loop_in_sese_p): Same.
6204 (sese_loop_depth): Same.
6205 (struct ifsese_s): Use an sese_info_p.
6206 (gbb_loop_at_index): Use an sese_l.
6207 (nb_common_loops): Same.
6208 (scev_analyzable_p): Same.
6209
6210 2015-10-07 H.J. Lu <hongjiu.lu@intel.com>
6211
6212 * config/i386/i386.c (ix86_conditional_register_usage): Use
6213 CALL_USED_REGISTERS_MASK.
6214 * config/i386/i386.h (CALL_USED_REGISTERS_MASK): New macro.
6215
6216 2015-10-07 H.J. Lu <hongjiu.lu@intel.com>
6217
6218 PR bootstrap/67385
6219 * configure.ac (gcc_cv_readelf): Check $READELF_FOR_TARGET.
6220 * configure: Regenerated.
6221
6222 2015-10-07 H.J. Lu <hongjiu.lu@intel.com>
6223
6224 PR target/67850
6225 * config/i386/i386.c (ix86_maybe_switch_abi): Merged with ...
6226 (ix86_set_current_function): This.
6227 (TARGET_EXPAND_TO_RTL_HOOK): Removed.
6228
6229 2015-10-07 Richard Biener <rguenther@suse.de>
6230
6231 * tree-vectorizer.h (stmt_vec_info_vec): Use vec<stmt_vec_info>.
6232 (vinfo_for_stmt): Adjust.
6233 (set_vinfo_for_stmt): Likewise.
6234 * tree-vectorizer.c (stmt_vec_info_vec): Likewise.
6235 * tree-vect-stmts.c (free_stmt_vec_info_vec): Likewise.
6236 * tree-vect-loop.c (new_loop_vec_info): Remove special-casing
6237 of inner loop.
6238 (vect_analyze_loop_1): Remove.
6239 (vect_analyze_loop_form_1): Avoid building a loop_vec_info for
6240 inner loop when vectorizing an outer loop by splitting out from ...
6241 (vect_analyze_loop_form): ... here.
6242
6243 2015-10-07 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6244
6245 PR c/65345
6246 * config/arm/arm-builtins.c (arm_atomic_assign_expand_fenv):
6247 Use create_tmp_var_raw instead of create_tmp_var.
6248
6249 2015-10-07 Richard Sandiford <richard.sandiford@arm.com>
6250
6251 * real.h (dconst_quarter, dconst_sixth, dconst_ninth): New macros.
6252 (dconst_quarter_ptr, dconst_sixth_ptr, dconst_ninth_ptr): Declare.
6253 * real.c (CACHED_FRACTION): New helper macro.
6254 (dconst_third_ptr): Use it.
6255 (dconst_quarter_ptr, dconst_sixth_ptr, dconst_ninth_ptr): New.
6256 * builtins.c (fold_builtin_sqrt): Use dconst_quarter and
6257 dconst_sixth.
6258 (fold_builtin_cbrt): Use dconst_sixth and dconst_ninth.
6259
6260 2015-10-06 Jeff Law <law@redhat.com>
6261
6262 PR tree-optimization/67816
6263 * tree-ssa-threadupdate.h (remove_jump_threads_including): Renamed
6264 from remove_jump_threads_starting_at. Accept an edge rather than
6265 a basic block.
6266 * tree-ssa-threadupdate.c (removed_edges): New hash table.
6267 (remove_jump_threads_including): Note edges that get removed from
6268 the CFG for later pruning of jump threading paths including them.
6269 (thread_through_all_blocks): Remove paths which include edges that
6270 have been removed.
6271 * tree-ssa-dom.c (optimize_stmt): Call remove_jump_threads_including
6272 on each outgoing edges when optimizing away a control statement.
6273
6274 2015-10-06 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6275
6276 * reorg.c (emit_delay_sequence): Store list of delay slot insns
6277 in a vector instead of rtx_insn_list.
6278 (add_to_delay_list): Likewise.
6279 (delete_from_delay_slot): Likewise.
6280 (optimize_skip): Likewise.
6281 (redirect_with_delay_list_safe_p): Likewise.
6282 (check_annul_list_true_false): Likewise.
6283 (steal_delay_list_from_target): Likewise.
6284 (steal_delay_list_from_fallthrough): Likewise.
6285 (redundant_insn): Likewise.
6286 (fill_simple_delay_slots): Likewise.
6287 (fill_slots_from_thread): Likewise.
6288 (fill_eager_delay_slots): Likewise.
6289 (relax_delay_slots): Likewise.
6290
6291 2015-10-06 Sandra Loosemore <sandra@codesourcery.com>
6292
6293 * config/nios2/nios2.c (nios2_symbol_ref_in_small_data_p):
6294 For -mgpopt=local, also exclude unintialized common symbols.
6295 * doc/invoke.texi (Nios II Options): Document the change.
6296
6297 2015-10-07 Kugan Vivekanandarajah <kuganv@linaro.org>
6298
6299 * config/aarch64/iterators.md (vwcore): Add missing cases for
6300 V4HF/V8HF modes.
6301
6302 2015-10-06 Aditya Kumar <aditya.k7@samsung.com>
6303 Sebastian Pop <s.pop@samsung.com>
6304
6305 * graphite-poly.c (new_scop): Initialize drs.
6306 * graphite-poly.h (struct dr_info): New.
6307 (struct scop): Add drs.
6308 * graphite-sese-to-poly.c (pdr_add_alias_set): Use dr_info.
6309 (pdr_add_memory_accesses): Same.
6310 (build_poly_dr): Same.
6311 (build_alias_set): Same.
6312 (build_scop_drs): Same.
6313 (build_pbb_drs): Remove.
6314 * tree-data-ref.c (create_data_ref): Do not initialize alias_set.
6315 * tree-data-ref.h (data_reference): Remove alias_set.
6316
6317 2015-10-06 Aditya Kumar <aditya.k7@samsung.com>
6318 Sebastian Pop <s.pop@samsung.com>
6319
6320 * graphite-poly.c (free_data_refs_aux): Remove.
6321 (free_gimple_poly_bb): Do not call free_data_refs_aux.
6322 * graphite-poly.h (struct base_alias_pair): Remove.
6323 * graphite-sese-to-poly.c (pdr_add_alias_set): Remove all uses of
6324 base_alias_pair and dr->aux.
6325 (build_alias_set): Same.
6326 * tree-data-ref.c (create_data_ref): Initialize alias_set.
6327 * tree-data-ref.h (data_reference): Add alias_set.
6328
6329 2015-10-06 Aditya Kumar <aditya.k7@samsung.com>
6330 Sebastian Pop <s.pop@samsung.com>
6331
6332 * graphite-poly.c (new_poly_dr): Remove dr_base_object_set.
6333 Do not set PDR_BASE_OBJECT_SET.
6334 * graphite-poly.h (poly_dr): Same.
6335 (PDR_BASE_OBJECT_SET): Remove.
6336 (new_poly_dr): Update decl.
6337 * graphite-sese-to-poly.c (build_poly_dr): Update call to
6338 new_poly_dr.
6339 (write_alias_graph_to_ascii_dimacs): Remove.
6340 (write_alias_graph_to_ascii_dot): Remove.
6341 (write_alias_graph_to_ascii_ecc): Remove.
6342 (dr_same_base_object_p): Remove.
6343 (build_alias_set_optimal_p): Rename build_alias_set. Remove dead
6344 code.
6345 (build_base_obj_set_for_drs): Remove.
6346 (dump_alias_graphs): Remove.
6347 (build_scop_drs): Remove dead code.
6348
6349 2015-10-05 Michael Meissner <meissner@linux.vnet.ibm.com>
6350 Peter Bergner <bergner@vnet.ibm.com>
6351
6352 PR target/67808
6353 * config/rs6000/rs6000.md (extenddftf2): In the expander, only
6354 allow registers, but provide insns for the combiner to create for
6355 loads from memory. Separate VSX code from non-VSX code. For
6356 non-VSX code, combine extenddftf2_fprs into extenddftf2 and rename
6357 externaldftf2_internal to externaldftf2_fprs. Reorder constraints
6358 so that registers come before memory operations. Drop support from
6359 converting DFmode to TFmode, if the DFmode value is in a GPR
6360 register.
6361 (extenddftf2_fprs): Likewise.
6362 (extenddftf2_internal): Likewise.
6363 (extenddftf2_vsx): Likewise.
6364 (extendsftf2): In the expander, only allow registers, but provide
6365 insns for the combiner to create for stores and loads.
6366
6367 2015-10-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6368
6369 * varasm.c (default_elf_asm_named_section): Remove ATTRIBUTE_UNUSED
6370 from the decl parameter.
6371
6372 2015-10-06 Nathan Sidwell <nathan@codesourcery.com>
6373
6374 PR 67861
6375 * gimple-fold.c (gimple_fold_builtin): Add break after
6376 BUILT_IN_PRINTF_CHK, BUILT_IN_VPRINTF_CHK folding.
6377
6378 2015-10-06 H.J. Lu <hongjiu.lu@intel.com>
6379
6380 * graphite-optimize-isl.c (optimize_isl): Rename scop->ctx
6381 to scop->isl_context.
6382
6383 2015-10-06 Eric Botcazou <ebotcazou@adacore.com>
6384
6385 * config/arm/arm.c (arm_emit_probe_stack_range): Adjust comment.
6386 (output_probe_stack_range): Rotate the loop and simplify.
6387 (thumb1_expand_prologue): Tweak sorry message.
6388 * config/arm/arm.md (probe_stack): Use bare string.
6389
6390 2015-10-06 Nick Clifton <nickc@redhat.com>
6391
6392 * config.gcc (lm32-elf): Add newlib-stdint.h to tm_file.
6393
6394 2015-10-06 Nick Clifton <nickc@redhat.com>
6395
6396 * config/msp430/msp430.c (ATTR_NOINIT): New constant.
6397 (ATTR_PERSIST): New constant.
6398 (msp430_data_attr): New function - verifies an attribute that only
6399 applies to variables.
6400 (msp430_attributes): Add noinit and persistent attributes.
6401 (noinit_section): New variable.
6402 (presis_section): New variable.
6403 (TARGET_ASM_INIT_SECTIONS): Define.
6404 (msp430_init_sections): New function - initialises the noinit and
6405 persist section variables.
6406 (msp430_select_section): Add support for noinit and persist
6407 attributes.
6408 (msp430_section_type_flags): Likewise.
6409 * doc/extend.texi: Document the reent, critical, wakeup, noinit
6410 and persistent attributes.
6411
6412 2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
6413 Sebastian Pop <s.pop@samsung.com>
6414
6415 * graphite-dependences.c (scop_get_transformed_schedule): Remove.
6416 (no_violations): Remove.
6417 (subtract_commutative_associative_deps): Remove.
6418 (compute_deps): Do not call subtract_commutative_associative_deps.
6419 (transform_is_safe): Remove.
6420 (graphite_legal_transform): Remove.
6421 * graphite-poly.h (graphite_legal_transform): Remove.
6422
6423 2015-10-05 Aditya Kumar <hiraditya@msn.com>
6424
6425 * graphite-sese-to-poly.c (build_loop_iteration_domains): Only loops
6426 which are in this region are passed so gcc_assert and remove redundant
6427 computation.
6428 * sese.c (sese_build_liveouts): Pass only those bbs which are not
6429 in region.
6430 (sese_bad_liveouts_use): Only BBs which are not in region are passed so
6431 gcc_assert on that and remove unnecessary computation.
6432 (sese_build_liveouts_use): Same.
6433
6434 2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
6435
6436 * graphite-dependences.c (scop_get_reads): Renamed scop->context
6437 to scop->param_context.
6438 (scop_get_must_writes): Same.
6439 (scop_get_may_writes): Same.
6440 (scop_get_original_schedule): Same.
6441 (scop_get_transformed_schedule): Same.
6442 (subtract_commutative_associative_deps): Same.
6443 * graphite-isl-ast-to-gimple.c (add_parameters_to_ivs_params): Same.
6444 (generate_isl_context): Same.
6445 (generate_isl_schedule): Same.
6446 (scop_to_isl_ast): Same.
6447 (graphite_regenerate_ast_isl): Same.
6448 * graphite-optimize-isl.c (scop_get_domains): Same.
6449 (optimize_isl): Renamed scop->context to scop->param_context.
6450 * graphite-poly.c (new_poly_bb): Change the type of argument to
6451 gimple_poly_bb_p.
6452 (new_scop): Renamed scop->context to scop->param_context.
6453 (free_scop): Same.
6454 (print_scop_context): Same.
6455 * graphite-poly.h (new_poly_dr): Change the type of argument from
6456 void* to data_reference_p.
6457 (struct poly_bb): Change the type of black_box to gimple_poly_bb_p.
6458 (new_poly_bb): Change the type of argument from void* to
6459 gimple_poly_bb_p.
6460 (pbb_set_black_box): Same.
6461 (struct scop): Rename context to param_context, ctx to isl_context.
6462 * graphite-scop-detection.c (scop_detection::build_scop_bbs_1):
6463 Move declarations closer to assignment.
6464 (find_params_in_bb): Same.
6465 (find_scop_parameters): Same.
6466 * graphite-sese-to-poly.c (unsigned ssa_name_version_typesize):
6467 Global to be used for statement IDs.
6468 (isl_id_for_pbb): Use ssa_name_version_typesize.
6469 (simple_copy_phi_p): Move declarations closer to assignment.
6470 (build_pbb_scattering_polyhedrons): Same.
6471 (build_scop_scattering): Same.
6472 (isl_id_for_ssa_name): Same.
6473 (extract_affine_name): Same.
6474 (extract_affine_int): Same.
6475 (extract_affine): Same.
6476 (set_scop_parameter_dim): Use renamed member.
6477 (build_loop_iteration_domains): Same.
6478 (add_param_constraints): Same.
6479 (build_scop_iteration_domain): Same.
6480 (pdr_add_data_dimensions): Same.
6481 (build_poly_dr): Same.
6482 (build_scop_drs): Move declarations closer to assignment.
6483 (analyze_drs_in_stmts): Same.
6484 (insert_out_of_ssa_copy): Same.
6485 (insert_out_of_ssa_copy_on_edge): Same.
6486 (propagate_expr_outside_region): Same.
6487 (rewrite_phi_out_of_ssa): Same.
6488 (rewrite_degenerate_phi): Same.
6489 (rewrite_reductions_out_of_ssa): Same.
6490 (rewrite_cross_bb_scalar_dependence): Same.
6491 (handle_scalar_deps_crossing_scop_limits): Same.
6492 (rewrite_cross_bb_scalar_deps): Same.
6493 * graphite.c (graphite_transform_loops): Use renamed member.
6494
6495 2015-10-06 Uros Bizjak <ubizjak@gmail.com>
6496
6497 PR c/65345
6498 * config/alpha/alpha.c (alpha_atomic_assign_expand_fenv): Use
6499 create_tmp_var_raw instead of create_tmp_var.
6500
6501 2015-10-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6502
6503 PR c/65345
6504 * config/aarch64/aarch64-builtins.c (aarch64_atomic_assign_expand_fenv):
6505 Use create_tmp_var_raw instead of create_tmp_var.
6506
6507 2015-10-06 Alexander Fomin <alexander.fomin@intel.com>
6508
6509 PR target/67849
6510 * config/i386/sse.md (define_split vec_select/V8FI): Restrict
6511 split for upper-bank registers when target does not support
6512 AVX512VL.
6513 (define_insn "vec_extract_lo_<mode><mask_name>"): Restrict
6514 split when target does not support AVX512VL.
6515
6516 2015-10-06 David Edelsohn <dje.gcc@gmail.com>
6517
6518 PR c/65345
6519 * config/rs6000/rs6000.c (rs6000_atomic_assign_expand_fenv):
6520 Adjust to use create_tmp_var_raw instead of create_tmp_var.
6521
6522 2015-10-06 Nick Clifton <nickc@redhat.com>
6523
6524 * config/rl78/rl78.c (rl78_rtx_costs): Improve cost estimates for
6525 multiplication.
6526
6527 2015-10-06 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
6528
6529 * config.gcc (i[34567]86-*-linux* | ...): Add znver1.
6530 (case ${target}): Add znver1.
6531 * config/i386/cpuid.h(bit_CLZERO): Define.
6532 * config/i386/driver-i386.c: (host_detect_local_cpu): Let
6533 -march=native recognize znver1 processors.
6534 * config/i386/i386-c.c (ix86_target_macros_internal): Add
6535 znver1, clzero def_and_undef.
6536 * config/i386/i386.c (struct processor_costs znver1_cost): New.
6537 (m_znver1): New definition.
6538 (m_AMD_MULTIPLE): Includes m_znver1.
6539 (processor_target_table): Add znver1 entry.
6540 (ix86_target_string) : Add clzero entry.
6541 (static const char *const cpu_names): Add znver1 entry.
6542 (ix86_option_override_internal): Add znver1 instruction sets.
6543 (PTA_CLZERO) : New definition.
6544 (ix86_option_override_internal): Handle new clzerooption.
6545 (ix86_issue_rate): Add znver1.
6546 (ix86_adjust_cost): Add znver1.
6547 (ia32_multipass_dfa_lookahead): Add znver1.
6548 (has_dispatch): Add znver1.
6549 * config/i386/i386.h (TARGET_znver1): New definition.
6550 (TARGET_CLZERO): Define.
6551 (TARGET_CLZERO_P): Define.
6552 (struct ix86_size_cost): Add TARGET_ZNVER1.
6553 (enum processor_type): Add PROCESSOR_znver1.
6554 * config/i386/i386.md (define_attr "cpu"): Add znver1.
6555 (set_attr znver1_decode): New definitions for znver1.
6556 * config/i386/i386.opt (flag_dispatch_scheduler): Add znver1.
6557 (mclzero): New.
6558 * config/i386/mmx.md (set_attr znver1_decode): New definitions
6559 for znver1.
6560 * config/i386/sse.md (set_attr znver1_decode): Likewise.
6561 * config/i386/x86-tune.def: Add znver1 tunings.
6562 * config/i386/znver1.md: Introduce znver1 cpu and include new md file.
6563 * doc/invoke.texi: Add details about znver1
6564
6565 2015-10-06 Richard Biener <rguenther@suse.de>
6566
6567 PR tree-optimization/67859
6568 * tree-ssa-pre.c (create_expression_by_pieces): Properly
6569 discard not inserted stmts.
6570
6571 2015-10-06 Jonathan Wakely <jwakely@redhat.com>
6572
6573 * doc/extend.texi (Template Instantiation): Reorder options and
6574 de-emphasize -frepo.
6575 * doc/invoke.texi (C++ Dialect Options): Use -fstrict-enums in
6576 example instead of -frepo.
6577
6578 2015-10-06 Eric Botcazou <ebotcazou@adacore.com>
6579
6580 PR c/65345
6581 * config/sparc/sparc.c (sparc_atomic_assign_expand_fenv): Adjust to
6582 use create_tmp_var_raw rather than create_tmp_var.
6583
6584 2015-10-06 Richard Biener <rguenther@suse.de>
6585
6586 * tree-vectorizer.h (vec_info): New base class for...
6587 (_loop_vec_info): ... this and ...
6588 (_bb_vec_info): ... this.
6589 (vect_is_simple_use, vect_is_simple_use_1, new_stmt_vec_info,
6590 vect_analyze_data_refs_alignment, vect_verify_datarefs_alignment,
6591 vect_analyze_data_ref_accesses, vect_analyze_data_refs,
6592 vect_schedule_slp, vect_analyze_slp, vect_pattern_recog,
6593 vect_destroy_datarefs): Adjust interface to take a vec_info *
6594 rather than both a loop_vec_info and a bb_vec_info argument.
6595 * tree-vect-data-refs.c (vect_compute_data_refs_alignment,
6596 vect_verify_datarefs_alignment, vect_enhance_data_refs_alignment,
6597 vect_analyze_data_refs_alignment, vect_analyze_data_ref_accesses,
6598 vect_analyze_data_refs, vect_create_data_ref_ptr): Adjust
6599 accordingly.
6600 * tree-vect-loop.c (new_loop_vec_info): Initialize base class.
6601 (destroy_loop_vec_info, vect_analyze_loop_2,
6602 vect_is_simple_reduction_1, get_initial_def_for_induction,
6603 vect_create_epilog_for_reduction, vectorizable_reduction,
6604 vectorizable_live_operation, vect_transform_loop): Adjust.
6605 * tree-vect-patterns.c (type_conversion_p,
6606 vect_recog_widen_mult_pattern, vect_recog_widen_shift_pattern,
6607 vect_recog_rotate_pattern, vect_recog_vector_vector_shift_pattern,
6608 vect_recog_divmod_pattern, vect_recog_mixed_size_cond_pattern,
6609 check_bool_pattern, vect_recog_bool_pattern,
6610 vect_mark_pattern_stmts, vect_pattern_recog): Likewise.
6611 * tree-vect-slp.c (vect_get_and_check_slp_defs,
6612 vect_build_slp_tree_1, vect_build_slp_tree, vect_analyze_slp_cost_1,
6613 vect_analyze_slp_instance, vect_analyze_slp, destroy_bb_vec_info,
6614 vect_slp_analyze_bb_1, vect_schedule_slp): Likewise.
6615 (new_bb_vec_info): Initialize base classs.
6616 * tree-vect-stmts.c (record_stmt_cost, process_use,
6617 vect_get_vec_def_for_operand, vect_finish_stmt_generation,
6618 vectorizable_mask_load_store, vectorizable_call,
6619 vectorizable_simd_clone_call, vectorizable_conversion,
6620 vectorizable_assignment, vectorizable_shift,
6621 vectorizable_operation, vectorizable_store,
6622 vectorizable_load, vect_is_simple_cond, vectorizable_condition,
6623 new_stmt_vec_info, vect_is_simple_use, vect_is_simple_use_1): Likewise.
6624 * tree-vectorizer.c (vect_destroy_datarefs): Likewise.
6625
6626 2015-10-05 Kaz Kojima <kkojima@gcc.gnu.org>
6627
6628 PR c/65345
6629 * config/sh/sh.c (sh_atomic_assign_expand_fenv): Adjust to use
6630 create_tmp_var_raw rather than create_tmp_var.
6631
6632 2015-10-05 Marek Polacek <polacek@redhat.com>
6633
6634 * tree-ssa-loop-im.c
6635 (move_computations_dom_walker::before_dom_children): Don't set
6636 SSA_NAME_ANTI_RANGE_P.
6637 * tree-ssa-phiopt.c (value_replacement): Likewise.
6638
6639 2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
6640 Sebastian Pop <s.pop@samsung.com>
6641
6642 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Increase to 7.
6643
6644 2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
6645 Sebastian Pop <s.pop@samsung.com>
6646
6647 * graphite-poly.c (new_gimple_poly_bb): ... here.
6648 (free_data_refs_aux): ... here.
6649 (free_gimple_poly_bb): ... here.
6650 (remove_gbbs_in_scop): ... here.
6651 (new_scop): Call new_sese.
6652 (free_scop): Call remove_gbbs_in_scop and free_sese.
6653 * graphite-poly.h (base_alias_pair): ... here.
6654 (new_gimple_poly_bb): Declare.
6655 (free_gimple_poly_bb): Declare.
6656 * graphite-scop-detection.c (parameter_index_in_region_1):
6657 (parameter_index_in_region): ... here.
6658 (scan_tree_for_params): ... here.
6659 (find_params_in_bb): ... here.
6660 (find_scop_parameters): ... here.
6661 (build_scops): Call find_scop_parameters.
6662 * graphite-sese-to-poly.c (free_gimple_poly_bb): Move...
6663 (free_scops): Move...
6664 (single_pred_cond_non_loop_exit): Move...
6665 (sese_dom_walker::before_dom_children): Move...
6666 (sese_dom_walker::after_dom_children): Move...
6667 (build_poly_scop): Move...
6668 * graphite-sese-to-poly.h (base_alias_pair): Move...
6669 * graphite.c (free_scops): ... here.
6670
6671 2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
6672 Sebastian Pop <s.pop@samsung.com>
6673
6674 * graphite-scop-detection.c: Include domwalk.h and tree-cfg.h.
6675 (trivially_empty_bb_p): Move...
6676 (same_close_phi_node): Move...
6677 (new_gimple_poly_bb): Move...
6678 (compare_bb_depths): Move...
6679 (graphite_sort_dominated_info): Move...
6680 (remove_duplicate_close_phi): Move...
6681 (make_close_phi_nodes_unique): Move...
6682 (canonicalize_loop_closed_ssa): Move...
6683 (canonicalize_loop_closed_ssa_form): Move...
6684 (loop_ivs_can_be_represented): Move...
6685 (single_pred_cond_non_loop_exit): Move...
6686 (graphite_can_represent_init): Move...
6687 (graphite_can_represent_scev): Move...
6688 (stmt_has_simple_data_refs_p): Move...
6689 (stmt_has_side_effects): Move...
6690 (graphite_can_represent_stmt): Move...
6691 (scop_detection): ... here.
6692 (sese_dom_walker): ... and here.
6693 (build_scops): Call all moved functions.
6694 * graphite-sese-to-poly.c (try_generate_gimple_bb): Move...
6695 (all_non_dominated_preds_marked_p): Move...
6696 (build_scop_bbs_1): Move...
6697 (build_scop_bbs): Move...
6698 (set_scop_parameter_dim): Move...
6699 (nb_pbbs_in_loops): Move...
6700 (build_poly_scop): Do not call all the moved functions.
6701
6702 2015-10-05 Martin Jambor <mjambor@suse.cz>
6703 Jan Hubicka <hubicka@ucw.cz>
6704
6705 * ipa-cp.c (ipcp_alignment_lattice): New type.
6706 (ipcp_param_lattices): Use the above to represent alignment.
6707 (ipcp_alignment_lattice::print): New function.
6708 (print_all_lattices): Use it to print alignment information.
6709 (ipcp_alignment_lattice::top_p): New function.
6710 (ipcp_alignment_lattice::bottom_p): Likewise.
6711 (ipcp_alignment_lattice::set_to_bottom): Likewise.
6712 (ipcp_alignment_lattice::meet_with_1): Likewise.
6713 (ipcp_alignment_lattice::meet_with): Two new overloaded functions.
6714 (set_all_contains_variable): Use set_to_bottom of alignment lattice.
6715 (initialize_node_lattices): Likewise.
6716 (propagate_alignment_accross_jump_function): Work with the new class
6717 for alignment lattices.
6718 (propagate_constants_accross_call): Pass only the alignment lattice to
6719 propagate_alignment_accross_jump_function.
6720 (ipcp_store_alignment_results): Work with the new class for alignment
6721 lattices.
6722
6723 2015-10-05 Marek Polacek <polacek@redhat.com>
6724
6725 PR tree-optimization/67821
6726 * tree-ssanames.c (duplicate_ssa_name_range_info): Remove an assert.
6727
6728 2015-10-05 Thomas Schwinge <thomas@codesourcery.com>
6729
6730 PR other/65021
6731 * config/i386/intelmic-mkoffload.c (mkoffload_atexit): Rename
6732 function to...
6733 (mkoffload_cleanup): ... this. Adjust all users.
6734 (maybe_unlink): Look at save_temps and verbose flags instead of
6735 debug flag.
6736 (main): Parse "-save-temps" flag.
6737 (generate_target_descr_file, generate_target_offloadend_file)
6738 (generate_host_descr_file, prepare_target_image): Pass it on.
6739 * config/nvptx/mkoffload.c (tool_cleanup): Implement.
6740 (mkoffload_cleanup): New function.
6741 (maybe_unlink): Look at save_temps and verbose flags instead of
6742 debug flag.
6743 (main): Instead of calling utils_cleanup, register atexit handler
6744 for mkoffload_cleanup.
6745 (main): Parse "-save-temps" flag.
6746 (compile_native, main): Pass it on.
6747 * lto-wrapper.c (compile_offload_image): Likewise.
6748
6749 2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6750
6751 * gimple.h (gimple_op_ptr): Require a non const gimple *.
6752 (gimple_assign_lhs_ptr): Likewise.
6753 (gimple_assign_rhs1_ptr): Likewise.
6754 (gimple_assign_rhs2_ptr): Likewise.
6755 (gimple_assign_rhs3_ptr): Likewise.
6756 (gimple_call_lhs_ptr): Likewise.
6757 (gimple_call_fn_ptr): Likewise.
6758 (gimple_call_chain_ptr): Likewise.
6759 (gimple_call_arg_ptr): Likewise.
6760 (gimple_cond_lhs_ptr): Likewise.
6761 (gimple_cond_rhs_ptr): Likewise.
6762 (gimple_switch_index_ptr): Likewise.
6763 (gimple_return_retval_ptr): Likewise.
6764
6765 2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6766
6767 * gimple.h (gimple_asm_input_op_ptr): Remove.
6768 (gimple_asm_output_op_ptr): Likewise.
6769
6770 2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6771
6772 * gimple.h (gimple_location_ptr): Remove.
6773 * tree-vrp.c (check_all_array_refs): Adjust.
6774
6775 2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6776
6777 * tree-ssa-operands.c (build_uses): store tree * instead of
6778 tree.
6779 (finalize_ssa_uses): Adjust.
6780 (append_use): Likewise.
6781 (verify_ssa_operands): Likewise.
6782
6783 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
6784
6785 * real.h (build_real_truncate): Declare.
6786 * tree.c (build_real_truncate): New function.
6787 (strip_float_extensions): Use it.
6788 * builtins.c (fold_builtin_cabs, fold_builtin_sqrt, fold_builtin_cbrt)
6789 (fold_builtin_hypot, fold_builtin_pow): Likewise.
6790 * match.pd: Likewise.
6791
6792 2015-10-05 James Greenhalgh <james.greenhalgh@arm.com>
6793 Jiong Wang <jiong.wang@arm.com>
6794
6795 * config/aarch64/aarch64.md (tlsie_tiny_sidi): Replace "<w>" with "w".
6796
6797 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
6798
6799 * real.h (REAL_VALUE_FROM_CONST_DOUBLE): Delete.
6800 * config/aarch64/aarch64.c (aarch64_float_const_zero_rtx_p)
6801 (aarch64_print_operand, aarch64_float_const_representable_p)
6802 (aarch64_output_simd_mov_immediate): Use CONST_DOUBLE_REAL_VALUE
6803 instead of REAL_VALUE_FROM_CONST_DOUBLE.
6804 * config/arc/arc.c (arc_print_operand): Likewise.
6805 * config/arm/arm.c (arm_const_double_rtx, vfp3_const_double_index)
6806 (neon_valid_immediate, arm_print_operand, arm_emit_fp16_const)
6807 (vfp3_const_double_for_fract_bits, vfp3_const_double_for_bits):
6808 Likewise.
6809 * config/arm/arm.md (*arm32_movhf, consttable_4, consttable_8)
6810 (consttable_16): Likewise.
6811 * config/arm/vfp.md (*movhf_vfp_neon, *movhf_vfp): Likewise.
6812 * config/avr/avr.c (avr_print_operand): Likewise.
6813 * config/bfin/bfin.md: Likewise (in a define_split).
6814 * config/c6x/c6x.md: Likewise (in a define_split).
6815 * config/cr16/cr16.c (cr16_const_double_ok): Likewise.
6816 (cr16_print_operand): Likewise.
6817 * config/cris/cris.c (cris_print_operand): Likewise.
6818 * config/epiphany/epiphany.c (epiphany_print_operand): Likewise.
6819 * config/fr30/fr30.c (fr30_print_operand): Likewise.
6820 (fr30_const_double_is_zero): Likewise.
6821 * config/frv/frv.c (frv_print_operand, output_move_single): Likewise.
6822 * config/frv/frv.md: Likewise (in a define_split).
6823 * config/frv/predicates.md (int_2word_operand): Likewise.
6824 * config/h8300/h8300.c (h8300_print_operand): Likewise.
6825 * config/i386/i386.c (standard_80387_constant_p): Likewise.
6826 (ix86_print_operand, ix86_split_to_parts): Likewise.
6827 * config/i386/i386.md: Likewise (in a define_split).
6828 * config/ia64/ia64.c (ia64_split_tmode, ia64_print_operand): Likewise.
6829 * config/iq2000/iq2000.md (movsf_lo_sum, movsf_high): Likewise.
6830 * config/m32r/m32r.c (easy_df_const, m32r_print_operand): Likewise.
6831 * config/m68k/m68k.c (handle_move_double, standard_68881_constant_p)
6832 (print_operand): Likewise.
6833 * config/m68k/m68k.md (movsf_cf_hard, movdf_cf_hard): Likewise.
6834 * config/mep/mep.md: Likewise (in define_split).
6835 * config/microblaze/microblaze.c (microblaze_const_double_ok)
6836 (print_operand): Likewise.
6837 * config/mips/mips.md (consttable_float): Likewise.
6838 * config/mmix/mmix.c (mmix_intval): Likewise.
6839 * config/mn10300/mn10300.c (mn10300_print_operand): Likewise.
6840 * config/nvptx/nvptx.c (nvptx_print_operand): Likewise.
6841 * config/pa/pa.c (pa_singlemove_string): Likewise.
6842 * config/pdp11/pdp11.c (pdp11_expand_operands): Likewise.
6843 (pdp11_asm_print_operand, legitimate_const_double_p): Likewise.
6844 * config/rs6000/rs6000.c (num_insns_constant, rs6000_emit_cmove)
6845 (output_toc): Likewise.
6846 * config/rs6000/rs6000.md: Likewise (in define_splits).
6847 * config/rx/rx.c (rx_print_operand): Likewise.
6848 * config/s390/s390.c (s390_output_pool_entry): Likewise.
6849 * config/sh/sh.c (fp_zero_operand, fp_one_operand): Likewise.
6850 * config/sh/sh.md (consttable_sf, consttable_df): Likewise
6851 (and also in define_splits).
6852 * config/sparc/sparc.c (fp_sethi_p, fp_mov_p): Likewise.
6853 (fp_high_losum_p): Likewise.
6854 * config/sparc/sparc.md (*movsf_insn, *movsf_lo_sum): Likewise.
6855 (*movsf_high): Likewise.
6856 * config/spu/spu.c (const_double_to_hwint): Likewise.
6857 * config/v850/v850.c (const_double_split): Likewise.
6858 * config/vax/vax.c (vax_float_literal): Likewise.
6859 * config/visium/visium.c (visium_expand_copysign): Likewise.
6860 * config/visium/visium.md: Likewise (in define_split).
6861 * config/xtensa/predicates.md (const_float_1_operand): Likewise.
6862 * config/xtensa/xtensa.c (print_operand): Likewise.
6863 (xtensa_output_literal): Likewise.
6864 * cprop.c (implicit_set_cond_p): Likewise.
6865 * dwarf2out.c (insert_float): Likewise.
6866 * expmed.c (expand_mult, make_tree): Likewise.
6867 * expr.c (compress_float_constant): Likewise.
6868 * rtlanal.c (split_double): Likewise.
6869 * simplify-rtx.c (avoid_constant_pool_reference): Likewise.
6870 (simplify_const_unary_operation, simplify_binary_operation_1)
6871 (simplify_const_binary_operation): Likewise.
6872 (simplify_const_relational_operation): Likewise.
6873 * varasm.c (output_constant_pool_2): Likewise.
6874
6875 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
6876
6877 * real.h (CONST_DOUBLE_ATOF): Use const_double_from_real_value
6878 instead of CONST_DOUBLE_FROM_REAL_VALUE.
6879 (CONST_DOUBLE_FROM_REAL_VALUE): Delete.
6880 * config/c6x/c6x.md (divsf3, divdf3): Use const_double_from_real_value
6881 instead of CONST_DOUBLE_FROM_REAL_VALUE.
6882 * config/epiphany/epiphany.md (fixuns_truncsfsi2): Likewise.
6883 * config/i386/i386.c (standard_80387_constant_rtx): Likewise.
6884 (ix86_expand_builtin, ix86_emit_i387_log1p, ix86_emit_i387_round)
6885 (ix86_emit_swsqrtsf): Likewise.
6886 * config/ia64/ia64.c (ia64_expand_builtin): Likewise.
6887 * config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2)
6888 (fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
6889 * config/pa/pa.c (pa_expand_builtin): Likewise.
6890 * config/rs6000/rs6000.c (rs6000_load_constant_and_splat): Likewise.
6891 (rs6000_scale_v2df): Likewise.
6892 * config/rs6000/rs6000.md (*cmptf_internal2): Likewise.
6893 * config/s390/s390.md (fixuns_truncdddi2, fixuns_trunctddi2)
6894 (fixuns_trunc<BFP:mode><GPR:mode>2): Likewise.
6895 * config/s390/vx-builtins.md (vec_ctd_s64, vec_ctd_u64, vec_ctsl)
6896 (vec_ctul): Likewise.
6897 * config/sparc/sparc.c (sparc_emit_fixunsdi): Likewise.
6898 * config/spu/spu.c (hwint_to_const_double, spu_float_const): Likewise.
6899 * config/spu/spu.md (floatunsdisf2, floatunstisf2): Likewise.
6900 * cse.c (fold_rtx): Likewise.
6901 * emit-rtl.c (immed_double_const): Likewise (in comments).
6902 (init_emit_once): Likewise.
6903 * expr.c (compress_float_constant, expand_expr_real_1)
6904 (const_vector_from_tree): Likewise.
6905 * optabs.c (expand_float, expand_fix): Likewise.
6906 * reg-stack.c (reg_to_stack): Likewise.
6907 * simplify-rtx.c (avoid_constant_pool_reference): Likewise.
6908 (simplify_const_unary_operation, simplify_binary_operation_1)
6909 (simplify_const_binary_operation, simplify_relational_operation)
6910 (simplify_immed_subreg): Likewise.
6911
6912 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
6913
6914 * doc/tm.texi.in (REAL_ARITHMETIC): Delete.
6915 * doc/tm.texi: Regenerate.
6916 * real.h (REAL_ARITHMETIC): Delete.
6917 * config/i386/i386.c (ix86_expand_lround, ix86_expand_round)
6918 (ix86_expand_round_sse4): Use real_arithmetic instead of
6919 REAL_ARITHMETIC.
6920 * config/i386/sse.md (round<mode>2): Likewise.
6921 * rtl.h (rtx_to_tree_code): Likewise (in comment).
6922 * explow.c (rtx_to_tree_code): Likewise (in comment).
6923 * match.pd: Likewise.
6924 * simplify-rtx.c (simplify_binary_operation_1): Likewise.
6925 * tree-ssa-math-opts.c (representable_as_half_series_p): Likewise.
6926 (expand_pow_as_sqrts): Likewise.
6927 * tree-pretty-print.c (dump_generic_node): Remove code that
6928 was conditional on REAL_ARITHMETIC being undefined.
6929
6930 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
6931
6932 * doc/tm.texi.in (REAL_VALUES_LESS): Delete.
6933 * doc/tm.texi: Regenerate.
6934 * real.h (real_less): Declare.
6935 (REAL_VALUES_LESS): Delete.
6936 * real.c (real_less): New function.
6937 (real_compare): Use it.
6938 * config/m68k/m68k.c (floating_exact_log2): Use real_less instead
6939 of REAL_VALUES_LESS.
6940 * config/microblaze/microblaze.c (microblaze_const_double_ok):
6941 Likewise.
6942 * fold-const.c (fold_convert_const_int_from_real): Likewise.
6943 * simplify-rtx.c (simplify_const_unary_operation): Likewise.
6944 (simplify_const_relational_operation): Likewise.
6945 * tree-call-cdce.c (check_pow): Likewise.
6946 (gen_conditions_for_pow_cst_base): Likewise.
6947
6948 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
6949
6950 * real.h (REAL_VALUES_IDENTICAL): Delete.
6951 * config/m68k/m68k.c (standard_68881_constant_p): Use real_identical
6952 instead of REAL_VALUES_IDENTICAL.
6953 * fold-const.c (operand_equal_p): Likewise.
6954 * ipa-icf.c (sem_variable::equals): Likewise.
6955 * tree-complex.c (some_nonzerop): Likewise.
6956 (expand_complex_multiplication): Likewise.
6957 * tree.c (simple_cst_equal): Likewise.
6958 * varasm.c (compare_constant): Likewise.
6959
6960 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
6961
6962 * real.h (real_equal): Declare.
6963 (REAL_VALUES_EQUAL): Delete.
6964 * real.c (real_equal): New function.
6965 (real_compare): Use it.
6966 * doc/tm.texi.in (REAL_VALUES_EQUAL): Delete.
6967 * doc/tm.texi: Regenerate.
6968 * builtins.c (fold_builtin_pow, fold_builtin_load_exponent): Use
6969 real_equal instead of REAL_VALUES_EQUAL.
6970 * config/aarch64/aarch64.c (aarch64_float_const_zero_rtx_p): Likewise.
6971 * config/arm/arm.c (arm_const_double_rtx, neon_valid_immediate)
6972 (fp_const_from_val): Likewise.
6973 * config/fr30/fr30.c (fr30_const_double_is_zero): Likewise.
6974 * config/m68k/m68k.c (standard_68881_constant_p): Likewise.
6975 (floating_exact_log2): Likewise.
6976 * config/sh/sh.c (fp_zero_operand, fp_one_operand): Likewise.
6977 * config/vax/vax.c (vax_float_literal): Likewise.
6978 * config/xtensa/predicates.md (const_float_1_operand): Likewise.
6979 * cprop.c (implicit_set_cond_p): Likewise.
6980 * expmed.c (expand_mult): Likewise.
6981 * fold-const.c (const_binop): Likewise.
6982 * simplify-rtx.c (simplify_binary_operation_1): Likewise.
6983 (simplify_const_binary_operation): Likewise.
6984 (simplify_const_relational_operation): Likewise.
6985 * tree-call-cdce.c (check_pow): Likewise.
6986 (gen_conditions_for_pow_cst_base): Likewise.
6987 * tree-inline.c (estimate_num_insns): Likewise.
6988 * tree-ssa-dom.c (record_equality): Likewise.
6989 * tree-ssa-math-opts.c (representable_as_half_series_p): Likewise.
6990 (gimple_expand_builtin_pow): Likewise.
6991 (pass_optimize_widening_mul::execute): Likewise.
6992 * tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise.
6993 * tree-vect-patterns.c (vect_recog_pow_pattern): Likewise.
6994 * tree.c (real_zerop, real_onep, real_minus_onep): Likewise.
6995
6996 2015-10-05 Richard Biener <rguenther@suse.de>
6997
6998 PR ipa/67783
6999 * ipa-inline-analysis.c (estimate_function_body_sizes): Only
7000 consider loop header PHI defs as IVs.
7001
7002 2015-10-05 Richard Biener <rguenther@suse.de>
7003
7004 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Move
7005 call handling ...
7006 (create_expression_by_pieces): ... here and build GIMPLE
7007 calls directly. Use gimple_build API and avoid force_gimple_operand.
7008 (insert_into_preds_of_block): Simplify.
7009 (do_regular_insertion): Add comment.
7010
7011 2015-10-04 Jason Merrill <jason@redhat.com>
7012
7013 * builtins.def (BUILT_IN_ABORT): Add transaction_pure attribute.
7014
7015 2015-10-04 Uros Bizjak <ubizjak@gmail.com>
7016
7017 * config/i386/i386.c (ix86_nsaved_regs): Use GENERAL_REGNO_P to
7018 check for general register.
7019 (ix86_emit_save_regs): Ditto.
7020 (ix86_emit_save_regs_using_mov): Ditto.
7021 (ix86_emit_restore_regs_using_pop): Ditto.
7022 (ix86_emit_restore_regs_using_mov): Ditto.
7023
7024 2015-10-03 Marek Polacek <polacek@redhat.com>
7025
7026 * Makefile.in (insn-latencytab.o): Remove -Wno-duplicated-cond.
7027 (insn-dfatab.o): Likewise.
7028
7029 2015-10-03 Max Filippov <jcmvbkbc@gmail.com>
7030
7031 * config.gcc (xtensa*-*-uclinux*): New configuration.
7032 * config/xtensa/uclinux.h: New file.
7033 * config/xtensa/uclinux.opt: New file.
7034
7035 2015-10-03 Jonathan Wakely <jwakely@redhat.com>
7036
7037 * doc/cpp.texi (Standard Predefined Macros): Document value of
7038 __cplusplus for C++14.
7039
7040 2015-10-02 Bernd Schmidt <bernds@codesourcery.com>
7041
7042 * gcc.c (process_command): Use spec_machine rather than
7043 spec_host_machine to build tooldir_prefix2.
7044
7045 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
7046 Bernd Schmidt <bernds@codesourcery.com>
7047
7048 * config/nvptx/mkoffload.c (Kind, Vis): Remove enums.
7049 (Token, Stmt): Remove structs.
7050 (decls, vars, fns): Remove variables.
7051 (alloc_comment, append_stmt, is_keyword): Remove macros.
7052 (tokenize, write_token, write_tokens, alloc_stmt, rev_stmts)
7053 (write_stmt, write_stmts, parse_insn, parse_list_nosemi)
7054 (parse_init, parse_file): Remove functions.
7055 (read_file): Accept a pointer to a length and store into it.
7056 (process): Don't try to parse the input file, just write it out as
7057 a string, but looking for maps. Also write out the length.
7058 (main): Don't use "-S" to compile PTX code.
7059
7060 2015-10-02 Jeff Law <law@redhat.com>
7061
7062 * tree-ssa-dom.c (optimize_stmt): Note when loop structures need
7063 fixups.
7064
7065 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
7066
7067 PR target/67822
7068 * config/nvptx/mkoffload.c (main): Scan the argument vector for
7069 -fopenmp, and skip generating an offloading image if specified.
7070
7071 2015-10-02 Uros Bizjak <ubizjak@gmail.com>
7072
7073 * system.h (ROUND_UP): New macro definition.
7074 (ROUND_DOWN): Ditto.
7075 * ggc-page.c (ROUND_UP): Remove local macro definition.
7076 (PAGE_ALIGN): Implement using ROUND_UP macro.
7077
7078 * config/i386/i386.h (PUSH_ROUNDING): Implement using ROUND_UP macro.
7079 * config/i386/i386.c (function_arg_advance_64): Use ROUND_UP macro
7080 to align values.
7081 (ix86_compute_frame_layout): Ditto.
7082 (ix86_expand_prologue): Ditto.
7083 (ix86_adjust_stack_and_probe): Use ROUND_DOWN macro
7084 to round down values.
7085 (expand_set_or_movmem_via_rep): Ditto.
7086
7087 2015-10-02 Marek Polacek <polacek@redhat.com>
7088
7089 * genemit.c (gen_exp): Remove -Wduplicated-cond hack.
7090
7091 2015-10-02 Aditya Kumar <aditya.k7@samsung.com>
7092
7093 * graphite-scop-detection.c (loop_ivs_can_be_represented): New.
7094 (loop_body_is_valid_scop): Call loop_ivs_can_be_represented.
7095 * graphite-sese-to-poly.c (new_gimple_bb): Renamed new_gimple_poly_bb.
7096 (free_gimple_bb): Renamed free_gimple_poly_bb.
7097 (try_generate_gimple_bb): Hoist loop invariant code.
7098 (analyze_drs_in_stmts): Same.
7099 (build_scop_drs): Call renamed functions.
7100 (new_pbb_from_pbb): Same.
7101 (scop_ivs_can_be_represented): Delete as functionality now moved to
7102 graphite-scop-detection.c
7103 (build_poly_scop): Remove call to scop_ivs_can_be_represented.
7104
7105 2015-10-02 Aditya Kumar <hiraditya@msn.com>
7106
7107 * graphite-scop-detection.c (stmt_has_side_effects): New function
7108 outlined from stmt_simple_for_scop_p.
7109 (graphite_can_represent_stmt): Same.
7110 (stmt_simple_for_scop_p): Moved code out of this function for better
7111 readability.
7112
7113 2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com>
7114
7115 * config/i386/i386.c (processor_features): Add F_AVX512VBMI,
7116 F_AVX512IFMA.
7117 (isa_names_table): Handle F_AVX512VBMI and F_AVX512IFMA.
7118
7119 2015-10-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7120
7121 * config/aarch64/aarch64-elf.h (TARGET_ASM_NAMED_SECTION): Delete.
7122
7123 2015-10-02 Vladimir Makarov <vmakarov@redhat.com>
7124
7125 PR rtl-optimization/67756
7126 * lra-constraints.c (match_reload): Add a new parameter. Use it
7127 for creating a pseudo with the same value.
7128 (curr_insn_transform): Pass a new argument to match_reload.
7129
7130 2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com>
7131
7132 * config/i386/i386.c (expand_vec_perm_even_odd_trunc): New.
7133 (expand_vec_perm_even_odd_1): Handle V64QImode.
7134 (ix86_expand_vec_perm_const_1): Try expansion with
7135 expand_vec_perm_even_odd_trunc as well.
7136 * config/i386/sse.md (VI124_AVX512F): Rename to ...
7137 (define_mode_iterator VI124_AVX2_24_AVX512F_1_AVX512BW): This. Extend
7138 to V54QI.
7139 (define_mode_iterator VI248_AVX2_8_AVX512F): Rename to ...
7140 (define_mode_iterator VI248_AVX2_8_AVX512F_24_AVX512BW): This. Extend
7141 to V32HI and V16SI.
7142 (define_insn "avx512bw_<code>v32hiv32qi2"): Unhide pattern name.
7143 (define_expand "vec_pack_trunc_<mode>"): Update iterator name.
7144 (define_expand "vec_unpacks_lo_<mode>"): Ditto.
7145 (define_expand "vec_unpacks_hi_<mode>"): Ditto.
7146 (define_expand "vec_unpacku_lo_<mode>"): Ditto.
7147 (define_expand "vec_unpacku_hi_<mode>"): Ditto.
7148
7149 2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com>
7150
7151 * doc/invoke.texi: Mention -mavx512vl, -mavx512bw, -mavx512dq,
7152 -mavx521vbmi, -mavx512ifma. Add missing opindex-es.
7153
7154 2015-10-02 Jason Merrill <jason@redhat.com>
7155
7156 PR c/59218
7157 * trans-mem.c (volatile_lvalue_p): Rename from volatile_var_p.
7158 (diagnose_tm_1_op): Also diagnose volatile accesses in
7159 transaction_safe function.
7160
7161 2015-10-02 Jonathan Wakely <jwakely@redhat.com>
7162
7163 * system.h (malloc.h): Don't include obsolete header.
7164
7165 2015-10-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7166
7167 * config/aarch64/aarch64.c (aarch64_elf_asm_named_section): Delete.
7168 (TLS_SECTION_ASM_FLAG): Delete.
7169
7170 2015-10-02 Marek Polacek <polacek@redhat.com>
7171
7172 PR c/64249
7173 * doc/invoke.texi: Document -Wduplicated-cond.
7174 * Makefile.in (insn-latencytab.o): Use -Wno-duplicated-cond.
7175 (insn-dfatab.o): Likewise.
7176 * genemit.c (gen_exp): Rewrite condition to avoid -Wduplicated-cond
7177 warning.
7178
7179 2015-10-02 Oleg Endo <olegendo@gcc.gnu.org>
7180
7181 * config/sh/sh.md: Add new unnamed split pattern to handle movt-movt
7182 sequences.
7183
7184 2015-10-02 Renlin Li <renlin.li@arm.com>
7185
7186 * config/aarch64/aarch64.md (csneg3_insn_uxtw): New pattern.
7187
7188 2015-10-02 Renlin Li <renlin.li@arm.com>
7189
7190 PR target/66776
7191 * config/aarch64/aarch64.md (cmovdi_insn_uxtw): New pattern.
7192
7193 2015-10-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7194
7195 PR rtl-optimization/67786
7196 PR rtl-optimization/67787
7197 * ifcvt.c (bb_valid_for_noce_process_p): Reject basic block if
7198 it modifies a reg used in the condition calculation.
7199
7200 2015-10-02 James Greenhalgh <james.greenhalgh@arm.com>
7201
7202 * config/aarch64/aarch64-simd.md (*aarch64_combinez<mode>): Add
7203 alternatives for reads from memory and moves from general-purpose
7204 registers.
7205 (*aarch64_combinez_be<mode>): Likewise.
7206
7207 2015-10-02 Kai Tietz <ktietz70@googlemail.com>
7208
7209 PR target/51726
7210 * config/i386/winnt.c (ix86_handle_selectany_attribute): Handle
7211 selectany within this function without need to keep attribute.
7212 (i386_pe_encode_section_info): Remove selectany-code.
7213
7214 2015-10-02 Richard Biener <rguenther@suse.de>
7215
7216 * tree-ssa-sccvn.c (has_VN_INFO): New function.
7217 (free_scc_vn): Use it.
7218 (visit_use): Remove dead code and refactor to use gassign
7219 and use less indentation.
7220
7221 2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
7222
7223 PR target/67788
7224 PR target/67789
7225 * config/rs6000/rs6000.c (TARGET_CANNOT_COPY_INSN_P): New.
7226 (rs6000_cannot_copy_insn_p): New function.
7227 * config/rs6000/rs6000.md (cannot_copy): New attribute.
7228 (load_toc_v4_PIC_1_normal): Set cannot_copy.
7229 (load_toc_v4_PIC_1_476): Ditto.
7230
7231 2015-10-01 Aditya Kumar <aditya.k7@samsung.com>
7232
7233 * graphite-scop-detection.c (struct sese_l): New conversion constructor
7234 so that this type can be pushed into a vec.
7235 (class scop_builder): use sese_l to collect scops.
7236 (get_scops): New getter function.
7237 (remove_intersecting_scops): Use sese_l instead of scops_p.
7238 (intersects): Same.
7239 (add_scop): Same.
7240 (subsumes): Same.
7241 (remove_subscops): Same.
7242 (build_scops): Add scops to vec<scops_p> once all the scops have been
7243 detected.
7244
7245 2015-10-01 Aditya Kumar <aditya.k7@samsung.com>
7246
7247 * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
7248 Renamed type from gimple_bb_p to gimple_poly_bb_p.
7249 (translate_isl_ast_node_user): Same.
7250 * graphite-poly.c (new_poly_bb): Same.
7251 * graphite-poly.h (gbb_from_bb): Same.
7252 * sese.h: Same.
7253 * graphite-sese-to-poly.c (new_gimple_bb):
7254 gimple_bb_p -> gimple_poly_bb_p
7255 (build_scop_scattering): Same.
7256 (find_params_in_bb): Same.
7257 (add_conditions_to_domain): Same.
7258 (sese_dom_walker::before_dom_children): Same.
7259 (analyze_drs_in_stmts): Same.
7260 (new_pbb_from_pbb): Same.
7261 (free_data_refs_aux): New pointer to type base_alias_pair.
7262 * graphite-sese-to-poly.h: Same.
7263 * sese.c (if_region_set_false_region): Fixed Indentation.
7264 (move_sese_in_condition): Same.
7265
7266 2015-10-01 Sebastian Pop <s.pop@samsung.com>
7267 Aditya Kumar <aditya.k7@samsung.com>
7268
7269 PR tree-optimization/66980
7270 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Return false
7271 when data reference analysis has failed.
7272
7273 2015-10-01 Sebastian Pop <s.pop@samsung.com>
7274 Aditya Kumar <aditya.k7@samsung.com>
7275
7276 PR tree-optimization/67754
7277 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Call
7278 scev analysis on the same loop nest as analyze_drs_in_stmts.
7279 * graphite-sese-to-poly.c (outermost_loop_in_sese_1): Moved and
7280 renamed...
7281 (try_generate_gimple_bb): Call outermost_loop_in_sese.
7282 (analyze_drs_in_stmts): Same.
7283 * sese.c (outermost_loop_in_sese): ...here.
7284
7285 2015-10-01 Sebastian Pop <s.pop@samsung.com>
7286 Aditya Kumar <aditya.k7@samsung.com>
7287
7288 PR tree-optimization/67754
7289 * graphite-scop-detection.c (loop_body_is_valid_scop): Add missing
7290 recursion on the inner loops.
7291
7292 2015-10-01 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7293
7294 * cfganal.c, compare-elim.c, coverage.c, cprop.c, df-scan.c,
7295 function.c, read-rtl.c, statistics.c, trans-mem.c, tree-if-conv.c,
7296 tree-into-ssa.c, tree-loop-distribution.c, tree-ssa-coalesce.c,
7297 tree-ssa-loop-ivopts.c, tree-ssa-reassoc.c, tree-ssa-strlen.c,
7298 tree-ssa-tail-merge.c, tree-vrp.c, var-tracking.c: Remove
7299
7300 2015-10-01 Marek Polacek <polacek@redhat.com>
7301
7302 PR c/65345
7303 * config/i386/i386.c (ix86_atomic_assign_expand_fenv): Adjust to use
7304 create_tmp_var_raw rather than create_tmp_var.
7305
7306 2015-10-01 Marek Polacek <polacek@redhat.com>
7307
7308 PR tree-optimization/67769
7309 * tree-ssa-phiopt.c (conditional_replacement): Call
7310 reset_flow_sensitive_info_in_bb.
7311 (minmax_replacement): Likewise.
7312 (abs_replacement): Likewise.
7313
7314 2015-10-01 Nathan Sidwell <nathan@codesourcery.com>
7315
7316 * builtins.c: Don't include gomp-constants.h.
7317 (fold_builtin_1): Don't fold acc_on_device here.
7318 * gimple-fold.c: Include gomp-constants.h.
7319 (gimple_fold_builtin_acc_on_device): New.
7320 (gimple_fold_builtin): Call it.
7321
7322 2015-10-01 H.J. Lu <hongjiu.lu@intel.com>
7323
7324 * config/i386/x86-tune.def (X86_TUNE_USE_BT): Enable for Lakemont.
7325 (X86_TUNE_ZERO_EXTEND_WITH_AND): Disable for Lakemont.
7326
7327 2015-10-01 James Greenhalgh <james.greenhalgh@arm.com>
7328
7329 * config/arm/aarch-common-protos.h
7330 (aarch_accumulator_forwarding): New.
7331 (aarch_forward_to_shift_is_not_shifted_reg): Likewise.
7332 * config/arm/aarch-common.c (aarch_accumulator_forwarding): New.
7333 (aarch_forward_to_shift_is_not_shifted_reg): Likewise.
7334 * config/arm/cortex-a53.md: Rewrite.
7335
7336 2015-10-01 Richard Biener <rguenther@suse.de>
7337
7338 * gimple-match.h (mprts_hook): Declare.
7339 * gimple-match.head.c (mprts_hook): Define.
7340 (maybe_push_res_to_seq): Use new hook.
7341 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise.
7342 * tree-ssa-sccvn.h (vn_ssa_aux::expr): Change to a gimple_seq.
7343 (vn_ssa_aux::has_constants): Remove.
7344 * tree-ssa-sccvn.c: Include gimple-match.h.
7345 (VN_INFO_GET): Assert we don't re-use SSA names.
7346 (vn_get_expr_for): Remove.
7347 (expr_has_constants): Likewise.
7348 (stmt_has_constants): Likewise.
7349 (simplify_binary_expression): Likewise.
7350 (simplify_unary_expression): Likewise.
7351 (vn_lookup_simplify_result): New hook.
7352 (visit_copy): Adjust.
7353 (visit_reference_op_call): Likewise.
7354 (visit_phi): Likewise.
7355 (visit_use): Likewise.
7356 (process_scc): Likewise.
7357 (init_scc_vn): Likewise.
7358 (visit_reference_op_load): Likewise. Use match-and-simplify and
7359 a gimple seq for inserted expressions.
7360 (try_to_simplify): Remove GENERIC stmt combining code.
7361 (sccvn_dom_walker::before_dom_children): Use match-and-simplify.
7362 * tree-ssa-pre.c (eliminate_insert): Adjust.
7363 (eliminate_dom_walker::before_dom_children): Likewise.
7364
7365 2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
7366
7367 * doc/invoke.texi (Optimization Options): Add
7368 -freorder-blocks-algorithm=.
7369 (Optimize Options) <-O>: Add -freorder-blocks.
7370 <-O2>: Remove -freorder-blocks. Add -freorder-blocks-algorithm=stc.
7371 <-Os>: Add -freorder-blocks-algorithm=stc as not enabled.
7372 <-freorder-blocks>: Also enabled at levels -O and -Os.
7373 <-freorder-blocks-algorithm=>: Document new option.
7374
7375 2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
7376
7377 * bb-reorder.c (reorder_basic_blocks): Use the algorithm selected
7378 with flag_reorder_blocks_algorithm.
7379 * common.opt (freorder-blocks-algorithm=): New flag.
7380 (reorder_blocks_algorithm): New enum.
7381 * flag-types.h (reorder_blocks_algorithm): New enum.
7382 * opts.c (default_options_table): Use -freorder-blocks at -O1 and up,
7383 and -freorder-blocks-algorithm=stc at -O2 and up (not at -Os).
7384
7385 2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
7386
7387 * bb-reorder.c: Add intro comment.
7388 (reorder_basic_blocks_software_trace_cache): Print a header to
7389 the dump file.
7390 (edge_order): New function.
7391 (reorder_basic_blocks_simple): New function.
7392 (reorder_basic_blocks): Choose between the STC and the simple
7393 algorithms (always choose the former).
7394
7395 2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
7396
7397 * bb-reorder.c (reorder_basic_blocks_software_trace_cache): New
7398 function, factored out from ...
7399 (reorder_basic_blocks): ... here.
7400
7401 2015-10-01 Tom de Vries <tom@codesourcery.com>
7402
7403 * tree-cfg.c (dump_function_to_file): Dump function attributes using
7404 __attribute__(()) string. Move dumping of function attributes to before
7405 function name.
7406
7407 2015-10-01 Lynn Boger <laboger@linux.vnet.ibm.com>
7408
7409 PR target/66870
7410 * config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Define.
7411 * configure.ac: Define HAVE_GOLD_ALTERNATE_SPLIT_STACK on Power
7412 based on gold linker version.
7413 * gcc.c: Add -fuse-ld=gold to STACK_SPLIT_SPEC if
7414 HAVE_GOLD_ALTERNATE_SPLIT_STACK defined.
7415 * configure, config.in: Regenerate.
7416
7417 2015-10-01 Alan Modra <amodra@gmail.com>
7418
7419 * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't set
7420 r2_setup_needed when TARGET_SINGLE_PIC_BASE.
7421 (rs6000_output_mi_thunk): Likewise.
7422
7423 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
7424
7425 * config/nvptx/mkoffload.c (process): Change offload data format.
7426
7427 2015-09-30 Jeff Law <law@redhat.com>
7428
7429 * tree-ssa-dom.c (optimize_stmt): Collapse control flow statements
7430 with constant conditions.
7431 * tree-ssa-threadupdate.c (remove_jump_threads_starting_at): New.
7432 (remove_ctrl_stmt_and_useless_edges): No longer static.
7433 * tree-ssa-threadupdate.h (remove_jump_threads_starting_at): Prototype.
7434 (remove_ctrl_stmt_and_useless_edges): Likewise.
7435
7436 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
7437 Cesar Philippidis <cesar@codesourcery.com>
7438
7439 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): New.
7440 (TARGET_GOACC_VALIDATE_DIMS): Override.
7441 * target.def (TARGET_GOACC): New target hook prefix.
7442 (validate_dims): New hook.
7443 * targhooks.h (default_goacc_validate_dims): New.
7444 * omp-low.c (oacc_validate_dims): New.
7445 (execute_oacc_device_lower): New.
7446 (default_goacc_validate_dims): New.
7447 (pass_data_oacc_device_lower): New.
7448 (pass_oacc_device_lower): New pass.
7449 (make_pass_oacc_device_lower): New.
7450 * tree-pass.h (make_pass_oacc_device_lower): Declare.
7451 * passes.def (pass_oacc_device_lower): Add it.
7452 * doc/tm.texi: Rebuilt.
7453 * doc/tm.texi.in (TARGET_GOACC_VALIDATE_DIMS): Add hook.
7454 * doc/invoke.texi (oaccdevlow): Document tree dump flag.
7455
7456 2015-09-30 Bernd Edlinger <bernd.edlinger@hotmail.de>
7457
7458 PR rtl-optimization/67037
7459 * lra-constraints.c (process_addr_reg): Use copy_rtx when necessary.
7460
7461 2015-09-30 Bernd Schmidt <bernds@redhat.com>
7462
7463 * gimple-ssa.h (gimple_df): Add free_ssanames_queue field.
7464 * passes.c: Include tree-ssanames.h.
7465 (execute_function_todo): Flush the pending free SSA_NAMEs after
7466 eliminating unreachable basic blocks.
7467 * tree-ssanames.c (FREE_SSANAMES_QUEUE): new.
7468 (init_ssanames): Initialize FREE_SSANAMES_QUEUE.
7469 (fini_ssanames): Finalize FREE_SSANAMES_QUEUE.
7470 (flush_ssanames_freelist): New function.
7471 (release_ssaname_fn): Put released names on the queue.
7472 (pass_release_ssa_names::execute): Call flush_ssanames_freelist.
7473 * tree-ssanames.h (flush_ssanames_freelist): Declare.
7474
7475 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
7476
7477 * config/i386/intelmic-mkoffload.c (main): Parse "-v" flag.
7478 (generate_target_descr_file, generate_target_offloadend_file)
7479 (generate_host_descr_file, prepare_target_image): Pass it on.
7480 * config/nvptx/mkoffload.c (main): Parse "-v" flag.
7481 (compile_native, main): Pass it on.
7482 * lto-wrapper.c (compile_offload_image): Likewise.
7483
7484 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
7485 Ilya Verbin <ilya.verbin@intel.com>
7486 Andrey Turetskiy <andrey.turetskiy@intel.com>
7487
7488 * config/i386/intelmic-mkoffload.c (generate_host_descr_file)
7489 (prepare_target_image, main): Refactor argv building to use
7490 obstacks.
7491
7492 2015-09-30 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
7493
7494 * config/spu/spu-protos.h (spu_expand_atomic_op): Add prototype.
7495 * config/spu/spu.c (spu_expand_atomic_op): New function.
7496 * config/spu/spu.md (AINT): New mode iterator.
7497 (ATOMIC): New code iterator.
7498 (atomic_name, atomic_pred): New code predicates.
7499 ("atomic_load<mode>", "atomic_store<mode>"): New expanders.
7500 ("atomic_compare_and_swap<mode>", "atomic_exchange<mode>"): Likewise.
7501 (""atomic_<atomic_name><mode>", "atomic_fetch_<atomic_name><mode>",
7502 "atomic_<atomic_name>_fetch<mode>"): Likewise.
7503
7504 2015-09-30 Ilya Enkovich <enkovich.gnu@gmail.com>
7505
7506 * config/i386/i386.c (scalar_chain::analyze_register_chain): Ignore
7507 debug insns.
7508 (scalar_chain::convert_reg): Likewise.
7509
7510 2015-09-30 Richard Biener <rguenther@suse.de>
7511
7512 * builtins.c: Add comment that no new simplifications should
7513 be added here.
7514
7515 2015-09-30 Marek Polacek <polacek@redhat.com>
7516
7517 PR tree-optimization/67690
7518 * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): Call
7519 reset_flow_sensitive_info_in_bb.
7520 * tree-ssa-tail-merge.c (replace_block_by): Likewise.
7521 * tree-ssanames.c: Include "gimple-iterator.h".
7522 (reset_flow_sensitive_info_in_bb): New function.
7523 * tree-ssanames.h (reset_flow_sensitive_info_in_bb): Declare.
7524
7525 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
7526
7527 * config/i386/intelmic-mkoffload.c (target_ilp32): Remove
7528 variable, replacing it with...
7529 (offload_abi): ... this new variable. Adjust all users.
7530 * config/nvptx/mkoffload.c (target_ilp32, offload_abi): Likewise.
7531
7532 2015-09-30 Matthias Klose <doko@ubuntu.com>
7533
7534 * configure.ac: Remove extraneous ;;.
7535 * configure: Regenerate.
7536
7537 2015-09-29 James Bowman <james.bowman@ftdichip.com>
7538
7539 * config/ft32/predicates.md (ft32_imm_operand): New predicate.
7540 * config/ft32/ft32.md (movmemsi, setmemsi): Use ft32_imm_operand
7541 predicate, disallow register for operand 2.
7542
7543 2015-09-29 Aditya Kumar <aditya.k7@samsung.com>
7544
7545 * graphite-dependences.c (scop_get_dependences): Moved in down
7546 in order to be visible to its caller.
7547 * graphite-poly.h: Removed compute_deps, and extend_schedule.
7548
7549 2015-09-29 Sebastian Pop <s.pop@samsung.com>
7550 Aditya Kumar <aditya.k7@samsung.com>
7551
7552 PR tree-optimization/67754
7553 * graphite-optimize-isl.c (optimize_isl): Call
7554 isl_options_set_schedule_fuse with ISL_SCHEDULE_FUSE_MIN for ISL-14.
7555
7556 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
7557
7558 * builtins.c (expand_builtin_acc_on_device): Delete.
7559 (expand_builtin): Don't call it.
7560 (fold_builtin_1): Fold acc_on_device.
7561
7562 2015-09-29 H.J. Lu <hongjiu.lu@intel.com>
7563
7564 * config/i386/i386.c (ix86_function_arg): Fix typo in comments.
7565 (ix86_nsaved_sseregs): Likewise.
7566
7567 2015-09-29 Jeff Law <law@redhat.com>
7568
7569 * config/microblaze/microblaze.c (microblaze_version_to_int): Remove
7570 computation of unused value.
7571
7572 * config/pdp11/pdp11.c (pdp11_branch_cost): New function.
7573 * config/pdp11/pdp11.h (BRANCH_COST): Call function rather than
7574 inline macro expansion.
7575
7576 * config/i386/t-interix (winnt-stubs.o): Fix compilation rule.
7577
7578 * config/sh/sh.c (gen_shl_and): Fix undefined left shift behaviour.
7579 (gen_shl_sext): Likewise.
7580 * config/sh/sh.md (divsi3): Likewise.
7581 (imm->ext_dest_operand splitter): Likewise.
7582
7583 2015-09-29 Sebastian Pop <s.pop@samsung.com>
7584 Aditya Kumar <aditya.k7@samsung.com>
7585
7586 * graphite-sese-to-poly.c (gsi_for_phi_node): Remove.
7587 (nb_data_writes_in_bb): Remove.
7588 (split_pbb): Remove.
7589 (split_reduction_stmt): Remove.
7590 (is_reduction_operation_p): Remove.
7591 (phi_contains_arg): Remove.
7592 (follow_ssa_with_commutative_ops): Remove.
7593 (detect_commutative_reduction_arg): Remove.
7594 (detect_commutative_reduction_assign): Remove.
7595 (follow_inital_value_to_phi): Remove.
7596 (edge_initial_value_for_loop_phi): Remove.
7597 (initial_value_for_loop_phi): Remove.
7598 (used_outside_reduction): Remove.
7599 (detect_commutative_reduction): Remove.
7600 (translate_scalar_reduction_to_array_for_stmt): Remove.
7601 (remove_phi): Remove.
7602 (dr_indices_valid_in_loop): Remove.
7603 (close_phi_written_to_memory): Remove.
7604 (translate_scalar_reduction_to_array): Remove.
7605 (rewrite_commutative_reductions_out_of_ssa_close_phi): Remove.
7606 (rewrite_commutative_reductions_out_of_ssa_loop): Remove.
7607 (rewrite_commutative_reductions_out_of_ssa): Remove.
7608 (build_poly_scop): Remove call to
7609 rewrite_commutative_reductions_out_of_ssa.
7610
7611 2015-09-29 Evandro Menezes <e.menezes@samsung.com>
7612
7613 * config/arm/types.md (neon_ldp, neon_ldp_q, neon_stp, neon_stp_q):
7614 Add new insn types for vector load and store pairs.
7615 * config/arm/cortex-a53.md (cortex_a53_f_load_2reg): Add insn
7616 types "neon_ldp{,_q}".
7617 * config/arm/cortex-a57.md (neon_load_c): Add insn types
7618 "neon_ldp{,_q}".
7619 (neon_store_complex): Add insn types "neon_stp{,_q}".
7620 * config/aarch64/aarch64-simd.md (aarch64_be_movoi): Add insn types
7621 "neon_{ldp,stp}_q".
7622
7623 2015-09-29 Jeff Law <law@redhat.com>
7624
7625 * config/rx/constraints.md (Int08): Fix undefined left shift
7626 behaviour.
7627 (Sint08, Sint16, Sint24): Likewise.
7628 * config/rx/rx.c (rx_get_stack_layout): Likewise.
7629
7630 * config/rl78/rl78-expand.md (movqi): Fix undefined left shift
7631 behaviour.
7632
7633 * config/msp430/msp430.c (msp430_legitimate_constant): Fix undefined
7634 left shift behaviour.
7635 * config/msp430/constraints.md ('L' constraint): Similarly.
7636 ('Ys' constraint): Similarly.
7637
7638 2015-09-29 Richard Biener <rguenther@suse.de>
7639
7640 PR tree-optimization/67170
7641 * tree-ssa-alias.h (get_continuation_for_phi): Adjust
7642 the translate function pointer parameter to get the
7643 bool whether to disambiguate only by reference.
7644 (walk_non_aliased_vuses): Likewise.
7645 * tree-ssa-alias.c (maybe_skip_until): Adjust.
7646 (get_continuation_for_phi_1): Likewise.
7647 (get_continuation_for_phi): Likewise.
7648 (walk_non_aliased_vuses): Likewise.
7649 * tree-ssa-sccvn.c (const_parms): New bitmap.
7650 (vn_reference_lookup_3): Adjust for interface change.
7651 Disambiguate parameters pointing to readonly memory.
7652 (free_scc_vn): Free const_parms.
7653 (run_scc_vn): Initialize const_parms from a fn spec attribute.
7654
7655 2015-09-29 Richard Biener <rguenther@suse.de>
7656
7657 PR tree-optimization/67741
7658 * tree-ssa-math-opts.c (pass_cse_sincos::execute): Only recognize
7659 builtin calls with correct signature.
7660
7661 2015-09-29 Ilya Enkovich <enkovich.gnu@gmail.com>
7662
7663 PR target/65105
7664 * config/i386/i386.c: Include dbgcnt.h.
7665 (has_non_address_hard_reg): New.
7666 (convertible_comparison_p): New.
7667 (scalar_to_vector_candidate_p): New.
7668 (remove_non_convertible_regs): New.
7669 (scalar_chain): New.
7670 (scalar_chain::scalar_chain): New.
7671 (scalar_chain::~scalar_chain): New.
7672 (scalar_chain::add_to_queue): New.
7673 (scalar_chain::mark_dual_mode_def): New.
7674 (scalar_chain::analyze_register_chain): New.
7675 (scalar_chain::add_insn): New.
7676 (scalar_chain::build): New.
7677 (scalar_chain::compute_convert_gain): New.
7678 (scalar_chain::replace_with_subreg): New.
7679 (scalar_chain::replace_with_subreg_in_insn): New.
7680 (scalar_chain::emit_conversion_insns): New.
7681 (scalar_chain::make_vector_copies): New.
7682 (scalar_chain::convert_reg): New.
7683 (scalar_chain::convert_op): New.
7684 (scalar_chain::convert_insn): New.
7685 (scalar_chain::convert): New.
7686 (convert_scalars_to_vector): New.
7687 (pass_data_stv): New.
7688 (pass_stv): New.
7689 (make_pass_stv): New.
7690 (ix86_option_override): Created and register stv pass.
7691 (flag_opts): Add -mstv.
7692 (ix86_option_override_internal): Likewise.
7693 * config/i386/i386.md (SWIM1248x): New.
7694 (*movdi_internal): Add xmm to mem alternative for TARGET_STV.
7695 (and<mode>3): Use SWIM1248x iterator instead of SWIM.
7696 (*anddi3_doubleword): New.
7697 (*zext<mode>_doubleword): New.
7698 (*zextsi_doubleword): New.
7699 (<code><mode>3): Use SWIM1248x iterator instead of SWIM.
7700 (*<code>di3_doubleword): New.
7701 * config/i386/i386.opt (mstv): New.
7702 * dbgcnt.def (stv_conversion): New.
7703
7704 2015-09-29 Tom de Vries <tom@codesourcery.com>
7705
7706 * tree-cfg.c (dump_function_to_file): Dump function attributes.
7707
7708 2015-09-29 Kaz Kojima <kkojima@gcc.gnu.org>
7709
7710 PR target/67716
7711 * config/sh/sh.c (sh_override_options_after_change): New.
7712 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
7713 (sh_option_override): Move align_loops, align_jumps and
7714 align_functions handling into sh_override_options_after_change.
7715
7716 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
7717
7718 * config/nvptx/nvptx.c: Include omp-low.h and gomp-constants.h.
7719 (nvptx_record_offload_symbol): Record function execution geometry.
7720 * config/nvptx/mkoffload.c (process): Include launch geometry in
7721 function data.
7722 * omp-low.c (oacc_launch_pack): New.
7723 (replace_oacc_fn_attrib): New.
7724 (set_oacc_fn_attrib): New.
7725 (get_oacc_fn_attrib): New.
7726 (expand_omp_target): Create keyed varargs for GOACC_parallel call
7727 generation.
7728 * omp-low.h (get_oacc_fn_attrib): Declare.
7729 * builtin-types.def (DEF_FUNCTION_TyPE_VAR_6): New.
7730 (DEF_FUNCTION_TYPE_VAR_11): Delete.
7731 * tree.h (OMP_CLAUSE_EXPR): New.
7732 * omp-builtins.def (BUILT_IN_GOACC_PARALLEL): Change target fn name.
7733
7734 2015-09-28 Aditya Kumar <aditya.k7@samsung.com>
7735 Sebastian Pop <s.pop@samsung.com>
7736
7737 * sese.c (invariant_in_sese_p_rec): Remove unused variable.
7738
7739 2015-09-28 Aditya Kumar <aditya.k7@samsung.com>
7740 Sebastian Pop <s.pop@samsung.com>
7741
7742 * graphite-optimize-isl.c (optimize_isl): Use ISL_SCHEDULE_FUSE_MAX.
7743 * graphite-scop-detection.c (struct sese_l): New type.
7744 (get_entry_bb): API for getting entry bb of SESE.
7745 (get_exit_bb): API for getting exit bb of SESE.
7746 (class debug_printer): New type. Simple printer in debug mode.
7747 (trivially_empty_bb_p): New. Return true when BB is empty or
7748 contains only debug instructions.
7749 (graphite_can_represent_expr): Call scalar_evoution_in_region
7750 instead of analyze_scalar_evolution. Pass in scop instead of only
7751 the scop entry.
7752 (stmt_has_simple_data_refs_p): Pass in scop instead of only the
7753 scop entry.
7754 (stmt_simple_for_scop_p): Same.
7755 (harmful_stmt_in_bb): Same.
7756 (graphite_can_represent_loop): Deleted.
7757 (struct scopdet_info): Deleted.
7758 (scopdet_basic_block_info): Deleted.
7759 (build_scops_1): Deleted.
7760 (bb_in_sd_region): Deleted.
7761 (find_single_entry_edge): Deleted.
7762 (find_single_exit_edge): Deleted.
7763 (create_single_entry_edge): Deleted.
7764 (sd_region_without_exit): Deleted.
7765 (create_single_exit_edge): Deleted.
7766 (unmark_exit_edges): Deleted.
7767 (mark_exit_edges): Deleted.
7768 (create_sese_edges): Deleted.
7769 (build_graphite_scops): Deleted.
7770 (canonicalize_loop_closed_ssa): Recompute all dominators at the end.
7771 (build_scops): Use the new scop_builder to build scops.
7772 (dot_all_scops_1): Use the new pretty printer. Print loop father
7773 as well.
7774 (loop_body_is_valid_scop): New. Return true if loop body is a
7775 valid scop.
7776 (class scop_builder): New. Builds SCoPs for polyhedral
7777 optimizations.
7778 (scop_builder): New constructor.
7779 (static sese_l invalid_sese): sese_l with invalid edges.
7780 (get_sese): Get an sese (from a loop) if possible, invalid_sese
7781 otherwise.
7782 (get_nearest_dom_with_single_entry): Get nearest dominator of a
7783 basic_block with single entry. Return NULL if we get to the
7784 beginning of a function.
7785 (get_nearest_pdom_with_single_exit): Get nearest post-dominator of
7786 a basic_block with single exit. Return NULL if we get to the
7787 beginning of a function.
7788 (print_sese): Pretty-print SESE.
7789 (merge_sese): Merge two SESEs if possible and return the new SESE.
7790 (build_scop_depth): Start building the SCoP within a loop nest.
7791 (build_scop_breadth): Start building the SCoP at a single loop
7792 depth. Merge adjacent SESEs if valid.
7793 (can_represent_loop_1): Returns true if Graphite can represent
7794 loop inside SCoP. Helper for can_represent_loop.
7795 (can_represent_loop): Returns true if Graphite can represent LOOP
7796 and all its nested loops in SCoP.
7797 (loop_is_valid_scop): Returns true if LOOP and all its nests
7798 constitute a valid SCoP.
7799 (region_has_one_loop): Returns true of a region has only one loop.
7800 (add_scop): Add SCoP to the list of valid scops. Removes an
7801 already existing scop if it intersects with or subsumed by this one.
7802 (harmful_stmt_in_region): Returns true if SCoP has any statment
7803 which cannot be represented by Graphite.
7804 (subsumes): Returns true of SCoP S1 subsumes SCoP S2.
7805 (remove_subscops): Remove any SCoP from the list of already found
7806 SCoPs, if subsumed by S1.
7807 (intersects): Return true if region bounded by SCoPs S1 and S2
7808 intersect.
7809 (remove_intersecting_scops): Remove any SCoP which intersects with S1.
7810 * graphite.c (print_graphite_scop_statistics):
7811 (print_graphite_statistics): Print SCoP info while debugging.
7812 (graphite_initialize): Early exit in case number of loops in a
7813 function is less than PARAM_GRAPHITE_MIN_LOOPS_PER_FUNCTION or
7814 basic blocks are more than PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
7815 (graphite_finalize):
7816 * params.def: Add PARAM_GRAPHITE_MIN_LOOPS_PER_FUNCTION.
7817 * sese.h (sese_loop_depth): Remove unnecessary gcc_assert.
7818 (recompute_all_dominators): Recalculate POST_DOMINATORS.
7819 * tree-cfg.c (print_loops): Print the function name while printing
7820 loops.
7821
7822 2015-09-28 Aditya Kumar <aditya.k7@samsung.com>
7823 Sebastian Pop <s.pop@samsung.com>
7824
7825 PR tree-optimization/67700
7826 * graphite-sese-to-poly.c (parameter_index_in_region): Call
7827 invariant_in_sese_p_rec.
7828 (extract_affine): Same.
7829 (rewrite_cross_bb_scalar_deps): Call update_ssa.
7830 * sese.c (invariant_in_sese_p_rec): Export. Handle vdefs and vuses.
7831 * sese.h (invariant_in_sese_p_rec): Declare.
7832
7833 2015-09-28 David Wohlferd <dw@LimeGreenSocks.com>
7834
7835 * doc/extend.texi (Asm Labels): Break out text for data vs functions.
7836
7837 2015-09-28 Jiong Wang <jiong.wang@arm.com>
7838
7839 Revert:
7840 2015-08-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7841 Jiong Wang <jiong.wang@arm.com>
7842
7843 * config/aarch64/aarch64.d (tlsdesc_small_pseudo_<mode>): New pattern.
7844 * config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0.
7845 (REG_CLASS_NAMES): Likewise.
7846 (REG_CLASS_CONTENTS): Likewise.
7847 * config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise.
7848 (aarch64_register_move_cost): Likewise.
7849 (aarch64_load_symref_appropriately): Invoke the new added pattern if
7850 possible.
7851 * config/aarch64/constraints.md (Uc0): New constraint.
7852
7853 2015-09-28 Daniel Hellstrom <daniel@gaisler.com>
7854
7855 * config/sparc/t-rtems: Remove -muser-mode. Add ut699, at697f and leon.
7856
7857 2015-09-28 David Edelsohn <dje.gcc@gmail.com>
7858
7859 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Place
7860 SECTION_EXCLUDE in XO mapping class.
7861
7862 2015-09-28 Oleg Endo <olegendo@gcc.gnu.org>
7863
7864 PR target/54236
7865 * config/sh/predicates.md (t_reg_operand, negt_reg_operand): Allow
7866 and handle ne and eq codes.
7867 * config/sh/sh.c (sh_rtx_costs): Adjust matching of tst #imm,r0 insn.
7868 (sh_recog_treg_set_expr): Early accept negt_reg_operand. Eearly reject
7869 CONST_INT_P. Use reverse_condition.
7870 (sh_split_treg_set_expr): Likewise.
7871
7872 2015-09-28 James Greenhalgh <james.greenhalgh@arm.com>
7873
7874 * config/arm/types.md (type): Add rotate_imm.
7875 * config/aarch64/aarch64.md (*ror<mode>3_insn): Split out the
7876 ROR immediate case.
7877 (*rorsi3_insn_uxtw): Likewise.
7878 * config/aarch64/thunderx.md (thunderx_shift): Add rotate_imm.
7879 * config/arm/cortex-a53.md (cortex_a53_alu_shift): Add rotate_imm.
7880 * config/arm/cortex-a57.md (cortex_a53_alu): Add rotate_imm.
7881
7882 2015-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7883
7884 PR rtl-optimization/67481
7885 * ifcvt.c (contains_ccmode_rtx_p): New function.
7886 (insn_valid_noce_process_p): Use it.
7887
7888 2015-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7889
7890 PR rtl-optimization/67456
7891 PR rtl-optimization/67464
7892 PR rtl-optimization/67465
7893 * ifcvt.c (noce_try_cmove_arith): Bail out if cannot conditionally
7894 move in the mode of x. Handle combination of complex and simple
7895 block pairs as well as the case when one is empty.
7896
7897 2015-09-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7898
7899 * doc/gimple.texi: Update references to gimple_statement_base.
7900 * gdbhooks.py: Likewise.
7901 * gimple.h: Likewise.
7902
7903 2015-09-28 Daniel Cederman <cederman@gaisler.com>
7904
7905 * config/sparc/driver-sparc.c: map LEON to leon3
7906
7907 2015-09-28 Daniel Cederman <cederman@gaisler.com>
7908
7909 * config/sparc/sparc.opt: Rename mask from USER_MODE to SV_MODE
7910 and make it inverse to change default
7911 * config/sparc/sync.md: Only use supervisor ASI for CASA when in
7912 supervisor mode
7913 * doc/invoke.texi: Document change of default
7914
7915 2015-09-28 Daniel Cederman <cederman@gaisler.com>
7916
7917 * config/sparc/sparc.c (sparc_function_value_regno_p): Do not return
7918 true on %f0 for a target without FPU.
7919 * config/sparc/sparc.md (untyped_call): Do not save %f0 for a target
7920 without FPU.
7921 (untyped_return): Do not load %f0 for a target without FPU.
7922
7923 2015-09-28 Andrew Pinski <apinski@cavium.com>
7924
7925 * config/aarch64/aarch64.md (prefetch):
7926 Change the predicate of operand 0 to register_operand.
7927
7928 2015-09-27 Uros Bizjak <ubizjak@gmail.com>
7929
7930 * config/i386/predicates.md (register_sse4nonimm_operand): New
7931 predicate.
7932 * config/i386/sse.md (PEXTR_MODE12): New mode iterator.
7933 (*vec_extract<mode>): Use PEXTR_MODE12 instead of VI12_128 mode.
7934 Use register_sse4nonimm_operand as operand 0 predicate.
7935 (*vec_extractv8hi_sse2): Remove insn pattern.
7936 (*vec_extract<PEXTR_MODE12:mode>_zext): Merge insn pattern from
7937 *vec_extractv8hi_zext and *vec_extractv16qi_zext patterns.
7938
7939 2015-09-27 Oleg Endo <olegendo@gcc.gnu.org>
7940 Kaz Kojima <kkojima@gcc.gnu.org>
7941
7942 PR target/67391
7943 * config/sh/sh-protos.h (sh_lra_p): Declare.
7944 * config/sh/sh.c (sh_lra_p): Make non-static.
7945 * config/sh/sh.md (addsi3): Use arith_reg_dest for operands[0] and
7946 arith_reg_operand for operands[1]. Remove TARGET_SHMEDIA case.
7947 Expand into addsi3_scr if operands[2] if needed.
7948 (*addsi3_compact): Rename to *addsi3_compact_lra. Use
7949 arith_reg_operand for operands[1]. Allow it only when LRA is enabled.
7950 (addsi3_scr, *addsi3): New insn_and_split patterns.
7951
7952 2015-09-27 Alexandre Oliva <aoliva@redhat.com>
7953
7954 PR rtl-optimization/64164
7955 PR tree-optimization/67312
7956 PR middle-end/67340
7957 PR middle-end/67490
7958 PR bootstrap/67597
7959 * cfgexpand.c (parm_in_stack_slot_p): Remove.
7960 (ssa_default_def_partition): Remove.
7961 (get_rtl_for_parm_ssa_default_def): Remove.
7962 (set_rtl): Check that RTL assignments match expectations.
7963 Loop on SUBREGs, CONCATs and PARALLELs subexprs. Set only the
7964 default def location for params and results. Record SSA names
7965 or types in REG and MEM attrs, respectively.
7966 (set_parm_rtl): New.
7967 (expand_one_ssa_partition): Drop logic that assigned MEMs with
7968 unassigned addresses.
7969 (adjust_one_expanded_partition_var): Don't accept NULL RTL on
7970 deferred stack alloc vars.
7971 (expand_used_vars): Skip partitions holding parm default defs.
7972 Move adjust_one_expanded_partition_var loop...
7973 (pass_expand::execute): ... here. Drop redundant assert.
7974 Adjust comments before the final loop over all ssa names.
7975 Require assigned rtl of parms and results to match exactly.
7976 Reset its attributes to match them, not any other variables in
7977 the same partition.
7978 (expand_debug_expr): Use entry value for PARM's default defs
7979 only iff they have zero nondebug uses.
7980 * cfgexpand.h (parm_in_stack_slot_p): Remove.
7981 (get_rtl_for_parm_ssa_default_def): Remove.
7982 (set_parm_rtl): Declare.
7983 * doc/invoke.texi: Improve wording.
7984 * explow.c (promote_decl_mode): Fix promote_function_mode for
7985 result decls not by reference.
7986 (promote_ssa_mode): Disregard BLKmode from promote_decl, and
7987 bypass TYPE_MODE to get the actual vector mode.
7988 * function.c: Include tree-dfa.h. Revert 2015-08-14's and
7989 2015-08-19's changes as follows. Drop include of
7990 basic-block.h and df.h.
7991 (rtl_for_parm): Remove.
7992 (maybe_reset_rtl_for_parm): Remove.
7993 (parm_in_unassigned_mem_p): Remove.
7994 (use_register_for_decl): Add logic for RESULT_DECLs matching
7995 assign_parms' behavior.
7996 (split_complex_args): Revert.
7997 (assign_parms_augmented_arg_list): Revert. Add comment
7998 referencing the logic above.
7999 (assign_parm_adjust_stack_rtl): Revert.
8000 (assign_parm_setup_block): Revert. Use set_parm_rtl instead
8001 of SET_DECL_RTL. Set up a REG if the parm demands so.
8002 (assign_parm_setup_reg): Revert. Consolidated SET_DECL_RTL
8003 calls into a single set_parm_rtl. Set up a temporary RTL
8004 temporarily for expand_assignment.
8005 (assign_parm_setup_stack): Revert. Use set_parm_rtl.
8006 (assign_parms_unsplit_complex): Revert. Use set_parm_rtl.
8007 (assign_bounds): Revert.
8008 (assign_parms): Revert. Use set_parm_rtl.
8009 (allocate_struct_function): Relayout result and parms of
8010 non-abstruct functions.
8011 (expand_function_start): Revert. Use set_parm_rtl. If the
8012 result is not a hard reg, create a pseudo from the promoted
8013 mode of the default def. Promote static chain mode.
8014 * tree-outof-ssa.c (remove_ssa_form): Drop unused
8015 partition_has_default_def. Set up
8016 partitions_for_parm_default_defs.
8017 (finish_out_of_ssa): Remove partition_has_default_def.
8018 Release partitions_for_parm_default_defs.
8019 * tree-outof-ssa.h (struct ssaexpand): Remove
8020 partition_has_default_def. Add
8021 partitions_for_parm_default_defs.
8022 * tree-ssa-coalesce.c: Include tree-dfa.h, tm_p.h and
8023 stor-layout.h.
8024 (build_ssa_conflict_graph): Fix conflict-detection of default
8025 defs of even unused default defs of params and results.
8026 (for_all_parms): New.
8027 (create_default_def): New.
8028 (register_default_def): New.
8029 (coalesce_with_default): New.
8030 (create_outofssa_var_map): Create default defs for all parms
8031 and results, and register their partitions. Add GIMPLE_RETURN
8032 operands as coalesce candidates with results. Add default
8033 defs of each parm or result as coalesce candidates with its
8034 other defs. Mark each result def, and each default def of
8035 parms, as used_in_copy.
8036 (gimple_can_coalesce_p): Call it. Call use_register_for_decl
8037 with the ssa names, even anonymous ones. Drop
8038 parm_in_stack_slot_p calls. Require same signedness and
8039 alignment.
8040 (coalesce_ssa_name): Add coalesce candidates for all defs of
8041 each parm and result, even unused ones.
8042 (parm_default_def_partition_arg): New type.
8043 (set_parm_default_def_partition): New.
8044 (get_parm_default_def_partitions): New.
8045 * tree-ssa-coalesce.h (get_parm_default_def_partitions): New.
8046 * tree-ssa-live.c (partition_view_init): Regard unused defs of
8047 parms and results as used.
8048 (verify_live_on_entry): Don't error out just because they're
8049 not live.
8050
8051 2015-09-26 David Edelsohn <dje.gcc@gmail.com>
8052
8053 * dwarf2out.c (XCOFF_DEBUGGING_INFO): Default 0 definition.
8054 (HAVE_XCOFF_DWARF_EXTRAS): Default to 0 definition.
8055 (output_fde): Don't output length for debug_frame on AIX.
8056 (output_call_frame_info): Don't output length for debug_frame on AIX.
8057 (have_macinfo): Force to False for XCOFF_DEBUGGING_INFO and not
8058 HAVE_XCOFF_DWARF_EXTRAS.
8059 (add_AT_loc_list): Return early if XCOFF_DEBUGGING_INFO and not
8060 HAVE_XCOFF_DWARF_EXTRAS.
8061 (output_compilation_unit_header): Don't output length on AIX.
8062 (output_pubnames): Don't output length on AIX.
8063 (output_aranges): Delete argument. Compute length locally. Don't
8064 output length on AIX.
8065 (output_line_info): Don't output length on AIX.
8066 (dwarf2out_finish): Don't compute aranges_length.
8067 * dwarf2asm.c (XCOFF_DEBUGGING_INFO): Default 0 definition.
8068 (dw2_asm_output_nstring): Emit .byte not .ascii on AIX.
8069 * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): Emit correct
8070 symbol decoration for AIX.
8071 (rs6000_xcoff_debug_unwind_info): New.
8072 (rs6000_xcoff_asm_named_section): Emit .dwsect pseudo-op
8073 for SECTION_DEBUG.
8074 (rs6000_xcoff_declare_function_name): Emit different
8075 .function pseudo-op when DWARF2_DEBUG. Don't call
8076 xcoffout_declare_function for DWARF2_DEBUG.
8077 * config/rs6000/xcoff.h (TARGET_DEBUG_UNWIND_INFO):
8078 Redefine.
8079 * config/rs6000/aix71.h: New.
8080 * configure.ac (gcc_cv_as_aix_dwloc): Check AIX as for DWARF
8081 locations support.
8082 * configure: Regenerate.
8083 * config.gcc (powerpc-ibm-aix[789]+): New stanza for AIX 7.1+ with
8084 DWARF support.
8085
8086 2015-09-26 Jeff Law <law@redhat.com>
8087
8088 * config/arc/arc.c (arc_output_addsi): Fix left shift undefined
8089 behaviour.
8090 * config/arc/constraints.md (Cca, C2a): Fix left shift undefined
8091 behaviour.
8092
8093 * config/sh/sh.h (CONST_OK_FOR_J16): Fix left shift undefined
8094 behaviour
8095
8096 * config/mips/mips.c (mips_compute_frame_info): Fix left shift
8097 undefined behaviour.
8098
8099 * config/cris/cris.md (asrandb): Fix left shift undefined
8100 behaviour.
8101 (asrandw): Likewise.
8102
8103 2015-09-25 Vladimir Makarov <vmakarov@redhat.com>
8104
8105 PR target/61578
8106 * lra-constarints.c (match_reload): Check presence of the input pseudo
8107 in the output operand.
8108
8109 2015-09-25 Tobias Burnus <burnus@net-b.de>
8110
8111 * doc/invoke.texi (-fsanitize): Minor wording tweak.
8112
8113 2015-09-25 Tobias Burnus <burnus@net-b.de>
8114
8115 * doc/invoke.texi (-fsanitize): Update URLs.
8116
8117 2015-09-25 Teresa Johnson <tejohnson@google.com>
8118
8119 * opts.c (finish_options): Unset -freorder-blocks-and-partition
8120 if not using profile.
8121
8122 2015-09-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
8123
8124 PR pretty-print/67567
8125 * pretty-print.c (pp_string): Add gcc_checking_assert.
8126 * pretty-print.h (output_buffer_append_r): Likewise.
8127
8128 2015-09-25 Oleg Endo <olegendo@gcc.gnu.org>
8129
8130 PR target/67675
8131 * config/sh/sh-mem.cc (sh_expand_cmpstr): Check alignment of addr1 and
8132 addr2 individually. Don't emit logical or insn if one is known to
8133 be aligned approriately.
8134 (sh_expand_cmpnstr): Likewise.
8135
8136 2015-09-25 Richard Sandiford <richard.sandiford@arm.com>
8137
8138 * config/aarch64/aarch64-builtins.c (aarch64_expand_builtin): Force
8139 __builtin_aarch64_fp[sc]r arguments into a register.
8140
8141 2015-09-25 H.J. Lu <hongjiu.lu@intel.com>
8142
8143 * config.gcc (x86_archs): Replace lakemount with lakemont.
8144 (with_cpu): Likewise.
8145 (with_arch): Likewise.
8146 * config/i386/i386-c.c (ix86_target_macros_internal): Replace
8147 PROCESSOR_LAKEMOUNT with PROCESSOR_LAKEMONT. Replace
8148 __tune_lakemount__ with __tune_lakemont__.
8149 * config/i386/i386.c (lakemount_cost): Renamed to ...
8150 (lakemont_cost): This.
8151 (m_LAKEMOUNT): Renamed to ...
8152 (m_LAKEMONT): This.
8153 (initial_ix86_arch_features): Replace m_LAKEMOUNT with m_LAKEMONT.
8154 (processor_target_table): Replace "lakemount" with "lakemont".
8155 (processor_alias_table): Likewise.
8156 (ix86_issue_rate): Replace PROCESSOR_LAKEMOUNT with
8157 PROCESSOR_LAKEMONT.
8158 (ix86_adjust_cost): Likewise.
8159 (ia32_multipass_dfa_lookahead): Likewise.
8160 * config/i386/i386.h (processor_type): Likewise.
8161 * config/i386/x86-tune.def: Replace m_LAKEMOUNT with m_LAKEMONT.
8162 * doc/invoke.texi: Replace lakemount with lakemont. Replace
8163 Lakemount with Lakemont.
8164
8165 2015-09-24 H.J. Lu <hongjiu.lu@intel.com>
8166
8167 * config.gcc (x86_archs): Replace iamcu with lakemount.
8168 (with_cpu): Likewise.
8169 (with_arch): Likewise.
8170 * doc/invoke.texi: Likewise.
8171 * config/i386/i386-c.c (ix86_target_macros_internal): Replace
8172 PROCESSOR_IAMCU with PROCESSOR_LAKEMOUNT. Replace
8173 __tune_iamcu__ with __tune_lakemount__.
8174 * config/i386/i386.c (iamcu_cost): Renamed to ...
8175 (lakemount_cost): This.
8176 (m_IAMCU): Renamed to ...
8177 (m_LAKEMOUNT): This.
8178 (initial_ix86_arch_features): Replace m_IAMCU with m_LAKEMOUNT.
8179 (processor_target_table): Replace "iamcu" with "lakemount".
8180 (processor_alias_table): Likewise.
8181 (ix86_issue_rate): Replace PROCESSOR_IAMCU with
8182 PROCESSOR_LAKEMOUNT.
8183 (ix86_adjust_cost): Likewise.
8184 (ia32_multipass_dfa_lookahead): Likewise.
8185 * config/i386/i386.h (processor_type): Likewise.
8186 * config/i386/x86-tune.def: Replace m_IAMCU with m_LAKEMOUNT.
8187
8188 2015-09-24 John David Anglin <danglin@gcc.gnu.org>
8189
8190 * config/pa/pa-linux.h (HAVE_sync_compare_and_swapdi): Define.
8191 * config/pa/pa-protos.h (pa_maybe_emit_compare_and_swap_exchange_loop):
8192 Declare.
8193 * config/pa/pa.c (pa_init_libfuncs): Init sync libfuncs up to 8 bytes.
8194 (pa_expand_compare_and_swap_loop): New.
8195 (pa_maybe_emit_compare_and_swap_exchange_loop): New.
8196 * config/pa/pa.md (atomic_storeqi, atomic_storehi, atomic_storesi,
8197 atomic_storesf, atomic_loaddf, atomic_storedf): New expanders.
8198 (atomic_loaddf_1, atomic_storedf_1): New insn patterns.
8199 (atomic_loaddi, atomic_loaddi_1, atomic_storedi, atomic_storedi_1):
8200 Revise.
8201
8202 2015-09-24 Michael Collison <michael.collison@linaro.org>
8203
8204 PR other/57195
8205 * read-md.c (read_name): Allow mode iterators inside angle
8206 brackets in rtl expressions.
8207
8208 2015-09-24 Vladimir Makarov <vmakarov@redhat.com>
8209
8210 PR target/61578
8211 * ira-color.c (update_allocno_cost): Add parameter.
8212 (update_costs_from_allocno): Decrease conflict cost. Pass the new
8213 parameter.
8214
8215 2015-09-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
8216
8217 PR driver/67640
8218 * opts-common.c (prune_options): Discard all -fdiagnostics-color
8219 but the last one, which is moved to the front to be processed
8220 first.
8221 * opts.c (enable_warning_as_error): Reject options that do not
8222 control warnings.
8223
8224 2015-09-24 Jiong Wang <jiong.wang@arm.com>
8225
8226 * config/aarch64/aarch64.c (aarch64_print_operand): Add "CONST" support.
8227
8228 2015-09-24 Jiong Wang <jiong.wang@arm.com>
8229
8230 * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Delete.
8231 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Likewise.
8232 (aarch64_cannot_force_const_mem): Likewise.
8233 (aarch64_classify_address): Likewise.
8234 (aarch64_classify_symbolic_expression): Likewise.
8235 (aarch64_print_operand): Likewise.
8236 (aarch64_classify_symbol): Likewise.
8237 (aarch64_mov_operand_p): Likewise.
8238 * config/aarch64/predicates.md (aarch64_valid_symref): Likewise.
8239 (aarch64_mov_operand): Likewise.
8240
8241 2015-09-24 Segher Boessenkool <segher@kernel.crashing.org>
8242
8243 * config/rs6000/rs6000.c (debug_stack_info): Invert the test
8244 for info->spe_gp_size.
8245
8246 2015-09-24 Richard Biener <rguenther@suse.de>
8247
8248 PR lto/67699
8249 * lto-cgraph.c (compute_ltrans_boundary): Do not stream
8250 abstract origins.
8251
8252 2015-09-24 Thomas Schwinge <thomas@codesourcery.com>
8253
8254 * tree-object-size.c (plus_stmt_object_size)
8255 (cond_expr_object_size): Change the formal parameters from gimple
8256 to gimple *.
8257 * tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Likewise.
8258 * tree-ssa-sccvn.c (vn_nary_op_insert_stmt): Make it static.
8259 * tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Don't declare.
8260
8261 2015-09-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8262
8263 * configure.ac (gcc_cv_ld_pie): Check for gld >= 2.26 on Solaris.
8264 Check for ld -type pie on Solaris 11.x and 12.
8265 * configure: Regenerate.
8266 * config.in: Regenerate.
8267
8268 * gcc.c (LD_PIE_SPEC): Allow redefinition.
8269
8270 * config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Define.
8271 (STARTFILE_SPEC): Use it.
8272 (ENDFILE_CRTEND_SPEC): Define.
8273 (ENDFILE_SPEC): Use it and ENDFILE_ARCH_SPEC.
8274 (SUBTARGET_EXTRA_SPECS): Add STARTFILE_CRTBEGIN_SPEC,
8275 ENDFILE_ARCH_SPEC, ENDFILE_CRTEND_SPEC.
8276 [HAVE_LD_PIE && HAVE_SOLARIS_CRTS] (LD_PIE_SPEC): Define.
8277 (!(HAVE_LD_PIE && HAVE_SOLARIS_CRTS)] (LINK_PIE_SPEC): Define.
8278 * config/i386/sol2.h (ENDFILE_SPEC): Remove.
8279 (ENDFILE_ARCH_SPEC): Define.
8280 * config/sparc/sol2.h (ENDFILE_ARCH_SPEC): Define.
8281
8282 2015-09-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8283
8284 * configure.ac (gcc_cv_solaris_crts): New test.
8285 * configure. Regenerate.
8286 * config.in: Regenerate.
8287 * config/sol2.h (STARTFILE_SPEC): Simplify, provide
8288 HAVE_SOLARIS_CRTS variant.
8289
8290 2015-09-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8291
8292 * tree-inline.h (count_insns_seq): Delete prototype.
8293 (estimate_num_insns_seq): Define prototype.
8294 * tree-inline.c (count_insns_seq): Delete.
8295 (estimate_num_insns_seq): Remove static qualifier.
8296 * tree-eh.c (decide_copy_try_finally): Replace use of count_insns_seq
8297 with estimate_num_insns_seq.
8298
8299 2015-09-24 Richard Biener <rguenther@suse.de>
8300
8301 * tree-ssa-sccvn.h (vn_reference_op_struct): Add clique and base
8302 members.
8303 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Record clique
8304 and base for MEM_REF and TARGET_MEM_REF. Handle BIT_FIELD_REF
8305 offset.
8306 (ao_ref_init_from_vn_reference): Record clique and base in the
8307 built base.
8308 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise
8309
8310 2015-09-24 Richard Biener <rguenther@suse.de>
8311
8312 PR tree-optimization/48885
8313 * tree-ssa-structalias.c (visit_loadstore): Handle default defs
8314 as not including any restrict tags from other pointers.
8315
8316 2015-09-23 Thomas Schwinge <thomas@codesourcery.com>
8317
8318 * gcc.c (handle_foffload_option): Don't lose the trailing NUL
8319 character when appending to offload_targets.
8320
8321 * configure.ac (offload_targets, OFFLOAD_TARGETS): Separate
8322 offload targets by commas, not colons.
8323 * config.in: Regenerate.
8324 * configure: Likewise.
8325 * gcc.c (driver::maybe_putenv_COLLECT_LTO_WRAPPER): Due to that,
8326 instead of setting up the default offload targets here...
8327 (process_command): ..., do it here.
8328 libgomp/
8329 * plugin/configfrag.ac (OFFLOAD_TARGETS): Clarify that offload
8330 targets are separated by commas.
8331 * config.h.in: Regenerate.
8332
8333 2015-09-23 Thomas Schwinge <thomas@codesourcery.com>
8334 Nathan Sidwell <nathan@codesourcery.com>
8335
8336 * omp-low.h (omp_reduction_init_op): Declare.
8337 * omp-low.c (omp_reduction_init_op): New, broken out of ...
8338 (omp_reduction_init): ... here. Call it.
8339 * tree-parloops.c (initialize_reductions): Use
8340 omp_reduction_init_op.
8341
8342 2015-09-23 Richard Biener <rguenther@suse.de>
8343
8344 PR middle-end/67662
8345 * fold-const.c (fold_binary_loc): Do not reassociate two vars with
8346 undefined overflow unless they will cancel out.
8347
8348 2015-09-23 Kirill Yukhin <kirill.yukhin@intel.com>
8349
8350 * config/i386/i386.md (define_insn "*<mshift><mode>3"): Fix
8351 insn emit.
8352
8353 2015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
8354
8355 PR c/49655
8356 * opts.h (write_langs): Declare.
8357 * opts-global.c (write_langs): Make it extern.
8358
8359 2015-09-23 Oleg Endo <olegendo@gcc.gnu.org>
8360
8361 PR target/67391
8362 * config/sh/sh.md (addsi3, *addsi3_compact): Don't check for
8363 overlapping regs when matching the pattern.
8364
8365 2015-09-23 James Greenhalgh <james.greenhalgh@arm.com>
8366
8367 * config/aarch64/aarch64-simd.md
8368 (aarch64_float_truncate_hi_v4sf): Rewrite as an expand.
8369 (aarch64_float_truncate_hi_v4sf_le): New.
8370 (aarch64_float_truncate_hi_v4sf_be): Likewise.
8371
8372 2015-09-23 Richard Biener <rguenther@suse.de>
8373
8374 * tree-ssa-structalias.c (intra_create_variable_infos): Build
8375 representatives for all restrict qualified pointer destinations.
8376
8377 2015-09-23 Kirill Yukhin <kirill.yukhin@intel.com>
8378
8379 * config/i386/i386.md (define_code_attr mshift): New.
8380 (define_mode_iterator SWI1248_AVX512BW): Rename ...
8381 (SWI1248_AVX512BW): ... to this. Make QI enabled for TARGET_AVX512DQ
8382 only.
8383 (define_insn "*k<logic><mode>"): Use new iterator name.
8384 (define_insn "*<mshift><mode>3"): New.
8385
8386 2015-09-23 Mikhail Maltsev <maltsevm@gmail.com>
8387
8388 PR middle-end/67649
8389 * memory-block.h (memory_block_pool::allocate): Use valgrind API to
8390 mark the block as accessible.
8391
8392 2015-09-22 Segher Boessenkool <segher@kernel.crashing.org>
8393
8394 * function.c (thread_prologue_and_epilogue_insns): Delete
8395 orig_entry_edge argument to try_shrink_wrapping.
8396 * shrink-wrap.c (can_get_prologue): New function.
8397 (can_dup_for_shrink_wrapping): Also handle EDGE_CROSSING.
8398 (try_shrink_wrapping): Delete orig_entry_edge argument. Use
8399 can_get_prologue where needed. Remove code that finds a single
8400 edge for the prologue. Remove code that tests if any reg clobbered
8401 by the prologue is live on the prologue edge. Remove code that finds
8402 the new prologue edge after duplicating blocks. Make a new prologue
8403 block and edge.
8404 * shrink-wrap.h (try_shrink_wrapping): Delete orig_entry_edge argument.
8405
8406 2015-09-22 Jeff Law <law@redhat.com>
8407
8408 * config/pa/pa.h (MIN_LEGIT_64BIT_CONST_INT): Avoid undefined
8409 behavior.
8410
8411 2015-09-22 Nathan Sidwell <nathan@codesourcery.com>
8412
8413 * doc/invoke.texi (-Wmultiple-inheritance, -Wvirtual-inheritance,
8414 -Wtemplates, -Wnamespaces): Document.
8415
8416 2015-09-22 Tom de Vries <tom@codesourcery.com>
8417
8418 PR tree-optimization/67671
8419 * tree-ssa-structalias.c (create_variable_info_for_1): Handle restrict
8420 pointer references as restrict.
8421
8422 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
8423
8424 * config/nios2/nios2.c (nios2_legitimize_address): When handling
8425 'reg + reloc' cases, allow first operand to be non-REG, and use
8426 force_reg() to enforce address pattern.
8427
8428 2015-09-22 Alexander Fomin <alexander.fomin@intel.com>
8429
8430 PR target/67480
8431 * config/i386/sse.md (define_mode_iterator VI48_AVX_AVX512F): New.
8432 (define_mode_iterator VI12_AVX_AVX512F): New.
8433 (define_insn "<mask_codefor><code><mode>3<mask_name>"): Change
8434 all iterators to VI48_AVX_AVX512F. Extract remaining modes ...
8435 (define_insn "*<code><mode>3"): ... Into new pattern using
8436 VI12_AVX_AVX512F iterators without masking.
8437
8438 2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com>
8439
8440 * config.gcc: Support "skylake-avx512".
8441 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
8442 PROCESSOR_SKYLAKE_AVX512.
8443 * config/i386/i386.c (m_SKYLAKE_AVX512): Define.
8444 (processor_target_table): Add "skylake-avx512".
8445 (PTA_SKYLAKE_AVX512): Define.
8446 (ix86_option_override_internal): Add "skylake_avx512".
8447 (fold_builtin_cpu): Handle "skylake_avx512", add F_AVX512VL
8448 F_AVX512BW, F_AVX512DQ, F_AVX512ER, F_AVX512PF, F_AVX512CD.
8449 * config/i386/i386.h (TARGET_SKYLAKE_AVX512): Define.
8450 (processor_type): Add PROCESSOR_SKYLAKE_AVX512.
8451 * doc/invoke.texi (skylake-avx512): New.
8452
8453 2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com>
8454
8455 * config/i386/i386.md (define_insn "kunpckhi"): Fix
8456 operand in pattern.
8457 (define_insn "kunpcksi"): Ditto.
8458 (define_insn "kunpckdi"): Ditto.
8459
8460 2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com>
8461
8462 * config/i386/i386.md (define_split not/xor SWI1248x): Use
8463 iterator instead of fixed modes.
8464
8465 2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
8466
8467 * config/aarch64/aarch64-protos.h (aarch64_gen_atomic_ldop):
8468 Adjust declaration.
8469 * config/aarch64/aarch64.c (aarch64_emit_bic): New.
8470 (aarch64_gen_atomic_ldop): Adjust comment. Add parameter
8471 out_result. Update to support update-fetch operations.
8472 * config/aarch64/atomics.md (aarch64_atomic_exchange<mode>_lse):
8473 Adjust for change to aarch64_gen_atomic_ldop.
8474 (aarch64_atomic_<atomic_optab><mode>_lse): Likewise.
8475 (aarch64_atomic_fetch_<atomic_optab><mode>_lse): Likewise.
8476 (atomic_<atomic_optab>_fetch<mode>): Change to an expander.
8477 (aarch64_atomic_<atomic_optab>_fetch<mode>): New.
8478 (aarch64_atomic_<atomic_optab>_fetch<mode>_lse): New.
8479
8480 2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
8481
8482 * config/aarch64/aarch64-protos.h
8483 (aarch64_atomic_ldop_supported_p): Declare.
8484 * config/aarch64/aarch64.c (aarch64_atomic_ldop_supported_p): New.
8485 (enum aarch64_atomic_load_op_code): New.
8486 (aarch64_emit_atomic_load_op): New.
8487 (aarch64_gen_atomic_ldop): Update to support load-operate
8488 patterns.
8489 * config/aarch64/atomics.md (atomic_<atomic_optab><mode>): Change
8490 to an expander.
8491 (aarch64_atomic_<atomic_optab><mode>): New.
8492 (aarch64_atomic_<atomic_optab><mode>_lse): New.
8493 (atomic_fetch_<atomic_optab><mode>): Change to an expander.
8494 (aarch64_atomic_fetch_<atomic_optab><mode>): New.
8495 (aarch64_atomic_fetch_<atomic_optab><mode>_lse): New.
8496
8497 2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
8498
8499 * config/aarch64/aarch64/atomics.md (UNSPECV_ATOMIC_LDOP): New.
8500 (UNSPECV_ATOMIC_LDOP_OR): New.
8501 (UNSPECV_ATOMIC_LDOP_BIC): New.
8502 (UNSPECV_ATOMIC_LDOP_XOR): New.
8503 (UNSPECV_ATOMIC_LDOP_PLUS): New.
8504 (ATOMIC_LDOP): New.
8505 (atomic_ldop): New.
8506 (aarch64_atomic_load<atomic_ldop><mode>): New.
8507
8508 2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
8509
8510 * config/aarch64/aarch64.md
8511 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Make a named
8512 pattern.
8513
8514 2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
8515
8516 * config/aarch64/aarch64-protos.h (aarch64_gen_atomic_ldop):
8517 Declare.
8518 * config/aarch64/aarch64.c (aarch64_emit_atomic_swap): New.
8519 (aarch64_gen_atomic_ldop): New.
8520 (aarch64_split_atomic_op): Fix whitespace and add a comment.
8521 * config/aarch64/atomics.md (UNSPECV_ATOMIC_SWP): New.
8522 (aarch64_compare_and_swap<mode>_lse): Fix some whitespace.
8523 (atomic_exchange<mode>): Replace with an expander.
8524 (aarch64_atomic_exchange<mode>): New.
8525 (aarch64_atomic_exchange<mode>_lse): New.
8526 (aarch64_atomic_<atomic_optab><mode>): Fix some whitespace.
8527 (aarch64_atomic_swp<mode>): New.
8528
8529 2015-09-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
8530
8531 * tree-inline.c (expand_call_inline): Use inform for extra note.
8532 Do not give a note with UNKNOWN_LOCATION.
8533 Replace input_location with gimple_location (stmt).
8534 Use true/false instead of TRUE/FALSE.
8535
8536 2015-09-22 Tom de Vries <tom@codesourcery.com>
8537
8538 PR tree-optimization/67666
8539 * tree-ssa-structalias.c (create_variable_info_for_1): Handle struct
8540 with single field non-conservative.
8541
8542 2015-09-21 David S. Miller <davem@davemloft.net>
8543
8544 PR/67622
8545 Revert:
8546 2015-09-11 David S. Miller <davem@davemloft.net>
8547
8548 * config/sparc/constraints.md: Make "U" constraint a real register
8549 constraint.
8550 * config/sparc/sparc.c (TARGET_LRA_P): Define.
8551 (D_MODES, DF_MODES): Add missing cast.
8552 (TF_MODES, TF_MODES_NO_S): Include T_MODE.
8553 (OF_MODES, OF_MODES_NO_S): Include O_MODE.
8554 (sparc_register_move_cost): Decrease Niagara/UltrsSPARC memory
8555 cost to 8.
8556 * config/sparc/sparc.h (PROMOTE_MODE): Define.
8557 * config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not
8558 provide these insn when flag_pic.
8559
8560 2015-09-17 David S. Miller <davem@davemloft.net>
8561
8562 * config/sparc/sparc-protos.h (sparc_secondary_memory_needed):
8563 Declare.
8564 * config/sparc/sparc.c (sparc_secondary_memory_needed): New
8565 function.
8566 * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it.
8567 (HARD_REGNO_CALLER_SAVE_MODE): Define.
8568 * config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44)
8569 (setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi)
8570 (embmedany_losum, embmedany_brsum, embmedany_textuhi)
8571 (embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not
8572 provide when flag_pic.
8573
8574 2015-09-21 Jeff Law <law@redhat.com>
8575
8576 * config/h8300/h8300.md (andsi3_ashift_n_lower): Avoid undefined
8577 behavior.
8578
8579 2015-09-21 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8580
8581 * config/spu/spu.c (spu_expand_insv): Avoid undefined behavior.
8582
8583 2015-09-21 Richard Biener <rguenther@suse.de>
8584
8585 * passes.c (rest_of_decl_compilation): Do not call
8586 dwarf2out_early_global_decl for aliases.
8587
8588 2015-09-21 Richard Biener <rguenther@suse.de>
8589
8590 PR debug/67664
8591 * dwarf2out.c (add_location_or_const_value_attribute): Remove
8592 attribute parameter. Early exit if either DW_AT_const_value
8593 or DW_AT_location are present already.
8594 (gen_variable_die): Adjust caller.
8595 (dwarf2out_late_global_decl): Likewise.
8596
8597 2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
8598
8599 PR target/67657
8600 * config/sh/sh.c (sh_remove_overlapping_post_inc,
8601 sh_peephole_emit_move_insn): Add new functions.
8602 * config/sh/sh-protos.h (sh_remove_overlapping_post_inc,
8603 sh_peephole_emit_move_insn): Declere them.
8604 * config/sh/sh.md: Use them in various peephole2 patterns.
8605
8606 2015-09-21 Richard Biener <rguenther@suse.de>
8607
8608 PR middle-end/67651
8609 * rtlanal.c (nonzero_address_p): SYMBOL_REFs may have zero
8610 address with -fno-delete-null-pointer-checks.
8611
8612 2015-09-21 Alan Lawrence <alan.lawrence@arm.com>
8613
8614 * config/rs6000/altivec.md (reduc_splus_<mode>): Rename to...
8615 (reduc_plus_scal_<mode>): ...this, add rs6000_expand_vector_extract.
8616 (reduc_uplus_v16qi): Remove.
8617
8618 * config/rs6000/vector.md (VEC_reduc_name): Change "splus" to "plus".
8619 (reduc_<VEC_reduc_name>_v2df): Remove.
8620 (reduc_<VEC_reduc_name>_v4sf): Remove.
8621 (reduc_<VEC_reduc:VEC_reduc_name>_scal_<VEC_F:name>): New.
8622
8623 * config/rs6000/vsx.md (vsx_reduc_<VEC_reduc_name>_v2df): Declare
8624 gen_ function by removing * prefix.
8625 (vsx_reduc_<VEC_reduc_name>_v4sf): Likewise.
8626
8627 2015-09-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
8628
8629 PR middle-end/60832
8630 * tree-ssa-loop-niter.c (do_warn_aggressive_loop_optimizations):
8631 Print i_bound without converting it to a tree.
8632
8633 2015-09-21 Bilyan Borisov <bilyan.borisov@arm.com>
8634
8635 * config/arm/arm.c (thumb_output_move_mem_multiple): Replaced
8636 operands[4] operands[5] swap with std::swap, removed tmp variable.
8637 (arm_evpc_neon_vzip): Replaced in0/in1 and
8638 out0/out1 swaps with std::swap, removed x variable.
8639 (arm_evpc_neon_vtrn): Replaced in0/int1 and
8640 out0/out1 swaos with std::swap, removed x variable.
8641 (arm_expand_vec_perm_const_1): Replaced
8642 d->op0/d->op1 swap with std::swap, removed x variable.
8643 (arm_evpc_neon_vuzp): Replaced in0/in1 and
8644 out0/out1 swaps with std::swap, removed x variable.
8645
8646 2015-09-21 Jonathan Yong <10walls@gmail.com>
8647
8648 * config/i386/cygwin.h (STARTFILE_SPEC): Explicitly search
8649 sysroot/usr/lib/32api for additional win32 libraries,
8650 fixes failing Cygwin bootstrapping.
8651
8652 2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
8653
8654 * doc/invoke.texi (SH Options): Undocument SH5/SH64 related options.
8655
8656 2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
8657
8658 PR target/67126
8659 * config/sh/sh.md (*reg_lsb_t): Emit bld insn on SH2A.
8660 (*mov_t_msb_neg): Rewrite negc pattern.
8661
8662 2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
8663
8664 * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Cleanup
8665 immediate generation code.
8666
8667 2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
8668
8669 * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Remove
8670 redundant immediate generation code.
8671
8672 2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
8673
8674 * config/aarch64/aarch64.c (aarch64_bitmasks): Remove.
8675 (AARCH64_NUM_BITMASKS): Remove.
8676 (aarch64_bitmasks_cmp): Remove.
8677 (aarch64_build_bitmask_table): Remove.
8678
8679 2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
8680
8681 * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Replace
8682 slow immediate matching loops with a faster algorithm.
8683
8684 2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
8685
8686 * config/aarch64/aarch64.c (aarch64_bitmask_imm): Reimplement using
8687 faster algorithm.
8688
8689 2015-09-20 Jeff Law <law@redhat.com>
8690
8691 PR tree-optimization/47679
8692 * tree-ssa-dom.c (record_temporary_equivalences): No longer static.
8693 * tree-ssa-dom.h (record_temporary_equivalences): Add prototype.
8694 * tree-ssa-threadedge.c: Include tree-ssa-dom.h.
8695 (thread_through_normal_block): Use record_temporary_equivalences.
8696
8697 2015-09-19 Trevor Saunders <tbsaunde@tbsaunde.org>
8698
8699 * coretypes.h (gimple): Change typedef to be a forward declaration.
8700 * gimple.h (gimple_statement_base): rename to gimple.
8701 * (all functions and types using gimple): Adjust.
8702 * *.[ch]: Likewise.
8703
8704 2015-09-19 Andrew Dixie <andrewd@gentrack.com>
8705 David Edelsohn <dje.gcc@gmail.com>
8706
8707 * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): Delete.
8708 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8709 (EH_FRAME_THROUGH_COLLECT2): Define.
8710 (EH_TABLES_CAN_BE_READ_ONLY): Define.
8711 (ASM_OUTPUT_DWARF_PCREL): Define.
8712 (ASM_OUTPUT_DWARF_DATAREL): Define.
8713
8714 2015-09-19 John David Anglin <danglin@gcc.gnu.org>
8715
8716 * config/pa/pa.c (pa_function_ok_for_sibcall): Remove special treatment
8717 of TARGET_ELF32.
8718
8719 2015-09-18 Jeff Law <law@redhat.com>
8720
8721 PR tree-optimization/47679
8722 * tree-ssa-dom.c (avail_exprs_stack): No longer file scoped. Move
8723 it here ...
8724 (dom_opt_dom_walker): New private member holding the avail_exprs_stack
8725 object. Update constructor.
8726 (pass_dominator::execute): Corresponding chagnes to declaration
8727 and initialization of avail_exprs_stack. Update constructor call
8728 for dom_opt_dom_walker object.
8729 (lookup_avail_expr, record_cond): Accept additional argument. Pass
8730 it down to children as needed.
8731 (record_equivalences_from_incoming_edge): Likewise.
8732 (eliminate_redundant_computations): Likewise.
8733 (record_equivalences_from_stmt): Likewise.
8734 (simplify_stmt_for_jump_threading): Likewise.
8735 (record_temporary_equivalences): Likewise.
8736 (optimize_stmt): Likewise.
8737 (dom_opt_dom_walker::thread_across_edge): Update access to
8738 avail_exprs_stack object and pass it to children as needed.
8739 (dom_opt_dom_walker::before_dom_children): Similarly.
8740 (dom_opt_dom_walker::after_dom_children): Similarly.
8741 * tree-ssa-threadedge.c (pfn_simplify): New typedef.
8742 (record_temporary_equivalences_from_stmts_at_dest): Use new typedef.
8743 Add avail_expr_stack argument. Pass it to children as needed.
8744 (dummy_simplify): Likewise.
8745 (simplify_control_stmt_condition): Likewise.
8746 (thread_around_empty_blocks): Likewise.
8747 (thread_through_normal_block): Likewise.
8748 (thread_across_edge): Likewise.
8749 * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
8750 * tree-vrp.c (simplify_stmt_for_jump_threading): Update.
8751
8752 PR tree-optimization/47679
8753 * tree-ssa-dom.c (const_and_copies): No longer file scoped. Move
8754 it here ...
8755 (dom_opt_dom_walker): New private member holding the const_and_copies
8756 object. Update constructor.
8757 (pass_dominator::execute): Corresponding changes to declaration
8758 and initialization of const_and_copies. Update constructor call
8759 for the dom_opt_dom_walker object.
8760 (record_temporary_equivalences): Accept const_and_copies argument
8761 pass it down to children as needed.
8762 (record_equality): Likewise.
8763 (record_equivalences_from_incoming_edge): Likewise.
8764 (cprop_into_successor_phis, optimize_stmt): Likewise.
8765 (eliminate_redundant_computations): Likewise.
8766 (dom_opt_dom_walker::thread_across_edge): Update access to
8767 const_and_copies object and pass it to children as needed.
8768 (dom_opt_dom_walker::before_dom_children): Similarly.
8769 (dom_opt_dom_walker::after_dom_children): Similarly.
8770
8771 PR tree-optimization/47679
8772 * tree-ssa-dom.c (avail_exprs): No longer file scoped. Bury
8773 it into the avail_exprs_stack class.
8774 (pass_dominator::execute): Corresponding changes to declaration
8775 and initialization of avail_exprs. Pass avail_exprs to
8776 dump_dominator_optimization_stats.
8777 (record_cond): Extract avail_exprs from avail_exprs_stack.
8778 (lookup_avail_expr): Similarly.
8779 (htab_staticstics): Remove unnecessary prototype. Move to earlier
8780 position in file.
8781 (dump_dominator_optimization_stats): Make static and prototype.
8782 Add argument for the hash table to dump.
8783 (debug_dominator_optimization_stats): Remove.
8784 * tree-ssa-dom.h (dump_dominator_optimization_stats): Remove
8785 prototype.
8786 (debug_dominator_optimization_stats): Similarly.
8787 * tree-ssa-scopedtables.h (class avail_exprs_stack): Add missing
8788 "void" in prototype for pop_to_marker method. Add accessor method
8789 for the underlying avail_exprs table.
8790
8791 * tree-ssa-threadedge.c: Remove trailing whitespace.
8792
8793 2014-09-18 John David Anglin <danglin@gcc.gnu.org>
8794
8795 * config/pa/pa-protos.h (pa_cint_ok_for_move): Change argument type to
8796 unsigned.
8797 (pa_ldil_cint_p): Likewise.
8798 * config/pa/pa.c (pa_cint_ok_for_move): likewise.
8799 (pa_ldil_cint_p): Likewise. Change signed casts to unsigned.
8800 Update callers.
8801 * config/pa/pa.md: Likewise.
8802
8803 2015-09-18 David Malcolm <dmalcolm@redhat.com>
8804
8805 * Makefile.in (OBJS-libcommon): Add diagnostic-show-locus.o.
8806 * diagnostic.c (adjust_line): Move to diagnostic-show-locus.c.
8807 (diagnostic_show_locus): Likewise.
8808 (diagnostic_print_caret_line): Likewise.
8809 * diagnostic-show-locus.c: New file.
8810
8811 2015-09-18 David Edelsohn <dje.gcc@gmail.com>
8812
8813 * dwarf2out.c (switch_to_eh_frame_section): Add ATTRIBUTE_UNUSED to
8814 "back" parameter. Declare label in #if block.
8815
8816 2015-09-18 Uros Bizjak <ubizjak@gmail.com>
8817
8818 PR middle-end/67619
8819 * except.c (expand_builtin_eh_return): Use copy_addr_to_reg to copy
8820 the address to a register.
8821
8822 2015-09-18 Jeff Law <law@redhat.com>
8823
8824 PR tree-optimization/47679
8825 * Makefile.in (OBJS): Add tree-ssa-phionlycprop.o
8826 * tree-ssa-dom.c: Remove unnecessary header includes.
8827 (remove_stmt_or_phi): Moved from here into tree-ssa-phionlycprop.c
8828 (get_rhs_or_phi_arg, get_lhs_or_phi_result): Likewise.
8829 (propagate_rhs_into_lhs, eliminate_const_or_copy): Likewise.
8830 (eliminate_degenerate_phis_1, pass_phi_only_cprop): Likewise.
8831 (pass_phi_only_cprop::execute): Likewise.
8832 (make_pass_phi_only_cprop): Likewise.
8833 * tree-ssa-phionlycprop.c: New file with moved code. Eliminate
8834 uses of file scoped statics by passing the required objects
8835 as parameters wherever needed.
8836
8837 2015-09-18 Andrew Dixie <andrewd@gentrack.com>
8838 David Edelsohn <dje.gcc@gmail.com>
8839
8840 * defaults.h (EH_FRAME_SECTION_NAME): Depend on
8841 EH_FRAME_THROUGH_COLLECT2.
8842 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add case for
8843 DW_EH_PE_datarel.
8844 * dwarf2out.c (switch_to_eh_frame_section): Use a read-only section
8845 even if EH_FRAME_SECTION_NAME is undefined. Restrict special
8846 collect2 labels to EH_FRAME_THROUGH_COLLECT2.
8847 * except.c (switch_to_exception_section): Use a read-only section
8848 even if EH_FRAME_SECTION_NAME is undefined.
8849 * system.h (EH_FRAME_IN_DATA_SECTION): Poison.
8850 * collect2.c (write_c_file_stat): Provide dbase on AIX.
8851 (scan_prog_file): Don't export __dso_handle nor
8852 __gcc_unwind_dbase.
8853 * config/rs6000/aix.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8854 (EH_TABLES_CAN_BE_READ_ONLY): Define.
8855 (ASM_OUTPUT_DWARF_PCREL): Define.
8856 (ASM_OUTPUT_DWARF_DATAREL): Define.
8857 (EH_FRAME_THROUGH_COLLECT2): Define.
8858 (EH_FRAME_IN_DATA_SECTION): Delete.
8859 * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtdbase.o.
8860 * config/rs6000/rs6000-protos.h (rs6000_asm_output_dwarf_pcrel):
8861 Declare.
8862 (rs6000_asm_output_dwarf_datarel): Declare.
8863 * config/rs6000/rs6000.c (rs6000_aix_asm_output_dwarf_pcrel): New.
8864 (rs6000_aix_asm_output_dwarf_datarel): New.
8865 (rs6000_xcoff_asm_init_sections): Don't set exception_section.
8866 * config/spu/spu-elf.h (EH_FRAME_IN_DATA_SECTION): Delete.
8867 (EH_FRAME_THROUGH_COLLECT2): Define.
8868 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Delete.
8869 (EH_FRAME_THROUGH_COLLECT2): Define.
8870 (EH_TABLES_CAN_BE_READ_ONLY): Define.
8871 * doc/tm.texi.in (EH_FRAME_IN_DATA_SECTION): Delete.
8872 (EH_FRAME_THROUGH_COLLECT2): New.
8873 (ASM_OUTPUT_DWARF_DATAREL): New.
8874 * doc/tm.texi: Regenerate.
8875
8876 2015-09-18 Richard Biener <rguenther@suse.de>
8877
8878 * dwarf2out.c (append_entry_to_tmpl_value_parm_die_table): Assert
8879 we're in early phase.
8880 (schedule_generic_params_dies_gen): Likewise.
8881 (gen_remaining_tmpl_value_param_die_attribute): Do only as much
8882 work as possible, retaining unhandled cases.
8883 (gen_scheduled_generic_parms_dies): Set early-dwarf flag and
8884 clear out generic_type_instances at the end.
8885 (dwarf2out_finish): Move call to gen_scheduled_generic_parms_dies...
8886 (dwarf2out_early_finish): ... here. Do most of
8887 gen_remaining_tmpl_value_param_die_attribute here.
8888
8889 2015-09-18 Alan Lawrence <alan.lawrence@arm.com>
8890
8891 PR tree-optimization/67283
8892 * tree-sra.c (type_consists_of_records_p): Rename to...
8893 (scalarizable_type_p): ...this, add case for ARRAY_TYPE.
8894 (completely_scalarize_record): Rename to...
8895 (completely_scalarize): ...this, add ARRAY_TYPE case, move some code to:
8896 (scalarize_elem): New.
8897 (analyze_all_variable_accesses): Follow renamings.
8898
8899 2015-09-18 Richard Biener <rguenther@suse.de>
8900
8901 * dwarf2out.c (add_location_or_const_value_attribute): Do nothing
8902 in early-dwarf.
8903
8904 2015-09-18 Richard Biener <rguenther@suse.de>
8905
8906 PR tree-optimization/66142
8907 * fold-const.c (operand_equal_p): When OEP_ADDRESS_OF
8908 treat MEM[&x] and x the same.
8909 * tree-ssa-sccvn.h (vn_reference_fold_indirect): Remove.
8910 * tree-ssa-sccvn.c (vn_reference_fold_indirect): Return true
8911 when we simplified sth.
8912 (vn_reference_maybe_forwprop_address): Likewise.
8913 (valueize_refs_1): When we simplified through
8914 vn_reference_fold_indirect or vn_reference_maybe_forwprop_address
8915 set valueized_anything to true.
8916 (vn_reference_lookup_3): Use stmt_kills_ref_p to see whether
8917 one ref kills the other instead of just a offset-based test.
8918 * tree-ssa-alias.c (stmt_kills_ref_p): Use OEP_ADDRESS_OF
8919 for the operand_equal_p test to compare bases and also compare
8920 sizes.
8921
8922 2015-09-17 Christian Bruel <christian.bruel@st.com>
8923
8924 * config/arm/arm.md (*call_value_symbol): Fix operand for interworking.
8925
8926 2015-09-17 Richard Henderson <rth@redhat.com>
8927
8928 PR libstdc++/65913
8929 * builtins.c (fold_builtin_atomic_always_lock_free): Handle fake
8930 pointers that encode the alignment of the object.
8931
8932 2015-09-17 Eric Botcazou <ebotcazou@adacore.com>
8933
8934 PR rtl-optimization/66790
8935 * df-problems.c (LIVE): Amend documentation.
8936
8937 2015-09-17 Richard Sandiford <richard.sandiford@arm.com>
8938
8939 * Makefile.in (OBJS): Add optabs-libfuncs.o, optabs-query.o
8940 and optabs-tree.o.
8941 (GTFILES): Replace optabs.c with optabs-libfunc.c.
8942 * genopinit.c (main): Add an include guard to insn-opinit.h.
8943 Protect the rtx_code parts with NUM_RTX_CODE.
8944 * optabs.h: Split parts out to...
8945 * optabs-libfuncs.h, optabs-query.h, optabs-tree.h: ...these new files.
8946 * optabs.c: Split parts out to...
8947 * optabs-libfuncs.c, optabs-query.c, optabs-tree.c: ...these new files.
8948 * cilk-common.c: Include optabs-query.h rather than optabs.h.
8949 * fold-const.c: Likewise.
8950 * target-globals.c: Likewise.
8951 * tree-if-conv.c: Likewise.
8952 * tree-ssa-forwprop.c: Likewise.
8953 * tree-ssa-loop-prefetch.c: Likewise.
8954 * tree-ssa-math-opts.c: Include optabs-tree.h rather than optabs.h.
8955 Remove unncessary include files.
8956 * tree-ssa-phiopt.c: Likewise.
8957 * tree-ssa-reassoc.c: Likewise.
8958 * tree-switch-conversion.c: Likewise.
8959 * tree-vect-data-refs.c: Likewise.
8960 * tree-vect-generic.c: Likewise.
8961 * tree-vect-loop.c: Likewise.
8962 * tree-vect-patterns.c: Likewise.
8963 * tree-vect-slp.c: Likewise.
8964 * tree-vect-stmts.c: Likewise.
8965 * tree-vrp.c: Likewise.
8966 * toplev.c: Include optabs-query.h and optabs-libfuncs.h
8967 rather than optabs.h.
8968 * expr.c: Include optabs-tree.h.
8969 * function.c: Likewise.
8970
8971 2015-09-17 Eric Botcazou <ebotcazou@adacore.com>
8972
8973 PR middle-end/65958
8974 * config/arm/linux-elf.h (STACK_CHECK_STATIC_BUILTIN): Define.
8975 * config/arm/arm-protos.h (output_probe_stack_range): Declare.
8976 * config/arm/arm.c: Include common/common-target.h.
8977 (use_return_insn): Return 0 if the static chain register was saved
8978 above a non-APCS frame.
8979 (arm_compute_static_chain_stack_bytes): Adjust for stack checking.
8980 (struct scratch_reg): New.
8981 (get_scratch_register_on_entry): New function.
8982 (release_scratch_register_on_entry): Likewise.
8983 (arm_emit_probe_stack_range): Likewise.
8984 (output_probe_stack_range): Likewise.
8985 (arm_expand_prologue): Factor out code dealing with the IP register
8986 for nested function and adjust it for stack checking.
8987 Invoke arm_emit_probe_stack_range if static builtin stack checking
8988 is enabled.
8989 (thumb1_expand_prologue): Sorry out if static builtin stack checking
8990 is enabled.
8991 (arm_expand_epilogue): Add the saved static chain register, if any, to
8992 the amount of pre-pushed registers to pop.
8993 (arm_frame_pointer_required): Return true if static stack checking is
8994 enabled and we want to catch the exception with the EABI unwinder.
8995 * config/arm/unspecs.md (UNSPEC_PROBE_STACK): New constant.
8996 (UNSPEC_PROBE_STACK_RANGE): Likewise.
8997 * config/arm/arm.md (probe_stack): New insn.
8998 (probe_stack_range): Likewise.
8999
9000 2015-09-17 Richard Biener <rguenther@suse.de>
9001
9002 * genmatch.c (parser::parse_expr): Improve error message
9003 for mis-placed flags.
9004
9005 2015-09-17 Richard Biener <rguenther@suse.de>
9006
9007 * passes.c (rest_of_decl_compilation): Always call early_global_decl
9008 debug hook when we created a varpool node.
9009 * dwarf2out.c (dwarf2out_late_global_decl): When in LTO call
9010 dwarf2out_early_global_decl, when not just add location or
9011 value attributes to existing DIEs.
9012
9013 2015-09-17 James Greenhalgh <james.greenhalgh@arm.com>
9014
9015 * config/aarch64/aarch64.md (copysigndf3): New.
9016 (copysignsf3): Likewise.
9017
9018 2015-09-17 David S. Miller <davem@davemloft.net>
9019
9020 * config/sparc/sparc-protos.h (sparc_secondary_memory_needed): Declare.
9021 * config/sparc/sparc.c (sparc_secondary_memory_needed): New function.
9022 * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it.
9023 (HARD_REGNO_CALLER_SAVE_MODE): Define.
9024 * config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44)
9025 (setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi)
9026 (embmedany_losum, embmedany_brsum, embmedany_textuhi)
9027 (embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not
9028 provide when flag_pic.
9029
9030 2015-09-17 Kaz Kojima <kkojima@gcc.gnu.org>
9031
9032 * config/sh/sh.c (label_ref_list_d_pool): Adjust to
9033 object_allocator change.
9034
9035 2015-09-17 Bin Cheng <bin.cheng@arm.com>
9036
9037 PR tree-optimization/66388
9038 * tree-ssa-loop-ivopts.c (struct iv, iv_cand, ivopts_data): New fields.
9039 (dump_iv): Dump no_overflow information.
9040 (alloc_iv): Initialize new field for struct iv.
9041 (mark_bivs): Count number of no_overflow bivs.
9042 (find_deriving_biv_for_expr, record_biv_for_address_use): New
9043 functions.
9044 (idx_find_step): Call new functions above.
9045 (add_candidate_1, add_candidate): New paramter.
9046 (add_iv_candidate_for_biv): Add sizetype cand for BIV.
9047 (get_computation_aff): Simplify convertion of cand for BIV.
9048 (get_computation_cost_at): Step cand's base if necessary.
9049
9050 2015-09-17 Bin Cheng <bin.cheng@arm.com>
9051
9052 * tree-ssa-loop-niter.c (tree_simplify_using_condition_1): New
9053 parameter.
9054 (tree_simplify_using_condition): Ditto.
9055 (simplify_using_initial_conditions): Ditto.
9056 (loop_exits_before_overflow): Pass new argument to function
9057 simplify_using_initial_conditions. Remove case for type conversions
9058 simplification.
9059 * tree-ssa-loop-niter.h (simplify_using_initial_conditions): New
9060 parameter.
9061 * tree-scalar-evolution.c (simple_iv): Simplify type conversions
9062 in iv base using loop initial conditions.
9063
9064 2015-09-16 Jeff Law <law@redhat.com>
9065
9066 PR tree-optimization/47679
9067 * tree-ssa-dom.c (free_edge_info): Factored out of free_all_edge_infos.
9068 (free_all_edge_infos): Use it.
9069 (allocate_edge_info): Free preexisting edge info data.
9070 (pass_dominator::execute): Set up initial edge info structures.
9071 (dom_opt_dom_walker::thread_across_edge): Pass avail_expr_stack to
9072 thread_across_edge.
9073 * tree-ssa-threadedge.c (thread_across_edge): Accept new argument.
9074 If non-null, then push/pop markers appropriately.
9075 * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
9076 * tree-vrp.c (identify_jump_threads): Pass NULL for new argument to
9077 thread-across_edge.
9078
9079 2015-09-16 James Bowman <james.bowman@ftdichip.com>
9080
9081 * config/ft32/ft32.c: Fix the memory address space predicate.
9082
9083 2015-09-16 Kaz Kojima <kkojima@gcc.gnu.org>
9084
9085 PR target/67573
9086 * config/sh/sh.md (call_pcrel): Add early clobber to scratch operand.
9087 (call_value_pcrel, sibcall_pcrel, sibcall_value_pcrel): Likewise.
9088
9089 2015-09-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
9090
9091 * toplev.h (check_global_declaration): Remove declaration.
9092 * toplev.c (check_global_declaration): Move to ...
9093 * cgraphunit.c: ... here. Make it static and pass a symtab_node *.
9094 (analyze_functions): Update call.
9095
9096 2015-09-16 David S. Miller <davem@davemloft.net>
9097
9098 * lra-constraints.c (simplify_operand_subreg): Do not assume that
9099 lowpart of a SUBREG has offset zero.
9100
9101 2015-09-16 Jeff Law <law@redhat.com>
9102
9103 PR tree-optimization/47679
9104 * tree-ssa-dom.c (enum expr_kind): Moved from here to
9105 tree-ssa-scopedtables.h.
9106 (struct hashable_expr, class expr_hash_elt): Likewise.
9107 (struct expr_elt_hasher, class avail_exprs_stack): Likewise.
9108 Move associated methods into tree-ssa-scopedtables.c.
9109 (avail_expr_hash, initialize_expr_from_cond): Similarly.
9110 (hashable_expr_equal_p, add_expr_commutative): Likewise.
9111 (add_hashable_expr): Likewise.
9112 (record_cond): Delete element directly.
9113 * tree-ssa-scopedtables.h (avail_expr_stack, const_and_copies): Add
9114 private copy ctor and assignment operator methods.
9115 (expr_elt_hasher): Inline trivial methods.
9116 (initialize_expr_from_cond): Prototype.
9117 * tree-ssa-scopedtables.c: Add necessary includes, functions and
9118 methods that were previously in tree-ssa-dom.c. Improve various
9119 comments.
9120
9121 2015-09-16 Paolo Carlini <paolo.carlini@oracle.com>
9122
9123 * doc/invoke.texi ([Wsubobject-linkage]): Extend documentation.
9124
9125 2015-09-16 Segher Boessenkool <segher@kernel.crashing.org>
9126
9127 PR bootstrap/67587
9128 * function.c (rest_of_handle_thread_prologue_and_epilogue): Call
9129 fixup_partitions.
9130
9131 2015-09-16 Richard Biener <rguenther@suse.de>
9132
9133 PR middle-end/67253
9134 * cfgexpand.c (expand_gimple_stmt_1): Do not clobber
9135 location of possibly shared trees.
9136
9137 2015-09-16 Richard Biener <rguenther@suse.de>
9138
9139 PR middle-end/67271
9140 * fold-const.c (native_encode_expr): Bail out on bogus offsets.
9141
9142 2015-09-16 Eric Botcazou <ebotcazou@adacore.com>
9143
9144 * tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Use offset_int for
9145 offset and size computations instead of HOST_WIDE_INT.
9146
9147 2015-09-16 Richard Biener <rguenther@suse.de>
9148
9149 PR middle-end/67442
9150 * fold-const.c (extract_muldiv_1): Properly extend multiplication
9151 result before builting a tree via wide_int_to_tree.
9152
9153 2015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
9154
9155 * Makefile.in: Add memory-block.cc
9156 (pool_allocator::initialize): Use fixed block size.
9157 (pool_allocator::release): Use memory_block_pool.
9158 (pool_allocator::allocate): Likewise.
9159 * asan.c (asan_mem_ref_pool): Adjust to use common block size in all
9160 object pools.
9161 * cfg.c (initialize_original_copy_tables): Likewise.
9162 * cselib.c (elt_list_pool, elt_loc_list_pool,
9163 cselib_val_pool): Likewise.
9164 * df-problems.c (df_chain_alloc): Likewise.
9165 * df-scan.c (df_scan_alloc): Likewise.
9166 * dse.c (cse_store_info_pool, rtx_store_info_pool,
9167 read_info_type_pool, insn_info_type_pool, bb_info_pool,
9168 group_info_pool, deferred_change_pool): Likewise.
9169 * et-forest.c (et_nodes, et_occurrences): Likewise.
9170 * ipa-cp.c (ipcp_cst_values_pool, ipcp_sources_pool,
9171 ipcp_agg_lattice_pool): Likewise.
9172 * ipa-inline-analysis.c (edge_predicate_pool): Likewise.
9173 * ipa-profile.c (histogram_pool): Likewise.
9174 * ipa-prop.c (ipa_refdesc_pool): Likewise.
9175 * ira-build.c (live_range_pool, allocno_pool, object_pool,
9176 initiate_cost_vectors, pref_pool, copy_pool): Likewise.
9177 * ira-color.c (update_cost_record_pool): Likewise.
9178 * lra-lives.c (lra_live_range_pool): Likewise.
9179 * lra.c (lra_insn_reg_pool, lra_copy_pool): Likewise.
9180 * memory-block.cc: New file.
9181 * memory-block.h: New file.
9182 * regcprop.c (queued_debug_insn_change_pool): Use common block size.
9183 * sched-deps.c (sched_deps_init): Likewise.
9184 * sel-sched-ir.c (sched_lists_pool): Likewise.
9185 * stmt.c (expand_case, expand_sjlj_dispatch_table): Likewise.
9186 * tree-sra.c (access_pool): Likewise.
9187 * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise.
9188 * tree-ssa-pre.c (pre_expr_pool, bitmap_set_pool): Likewise.
9189 * tree-ssa-reassoc.c (operand_entry_pool): Likewise.
9190 * tree-ssa-sccvn.c (allocate_vn_table): Likewise.
9191 * tree-ssa-strlen.c (strinfo_pool): Likewise.
9192 * tree-ssa-structalias.c (variable_info_pool): Likewise.
9193 * var-tracking.c (attrs_def_pool, var_pool, valvar_pool,
9194 location_chain_pool, shared_hash_pool, loc_exp_dep_pool): Likewise.
9195
9196 2015-09-15 Max Filippov <jcmvbkbc@gmail.com>
9197
9198 * config/xtensa/xtensa.h (DWARF_ALT_FRAME_RETURN_COLUMN): New
9199 definition.
9200 (DWARF_FRAME_REGISTERS): Reserve space for one extra register in
9201 call0 ABI.
9202
9203 2015-09-15 Max Filippov <jcmvbkbc@gmail.com>
9204
9205 * config/xtensa/xtensa.c (xtensa_call_tls_desc): Use a10 or a2
9206 to pass TLS call argument, according to current ABI.
9207 * config/xtensa/xtensa.md (tls_call pattern): Use callx8 or
9208 callx0 for TLS call, according to current ABI.
9209
9210 2015-09-15 Eric Botcazou <ebotcazou@adacore.com>
9211
9212 * tree-eh.c (lower_try_finally_dup_block): Clear location information
9213 on stack restore statements.
9214 (decide_copy_try_finally): Do not consider a stack restore statement as
9215 coming from sources.
9216
9217 2015-09-15 Uros Bizjak <ubizjak@gmail.com>
9218
9219 * config/alpha/alpha.c (alpha_expand_block_clear): Use
9220 HOST_WIDE_INT_M1U instead of ~(HOST_WIDE_INT)0 when shifting.
9221
9222 2015-09-15 Jeff Law <law@redhat.com>
9223
9224 PR tree-optimization/47679
9225 * tree-ssa-dom.c (expr_hash_elt): Now a class with ctors/dtors,
9226 methods and private members.
9227 (avail_exprs_stack): Similarly. Change type of global
9228 from a pair of expr_hash_elt_t to the new class.
9229 (expr_elt_hasher::hash): Corresponding changes.
9230 (expr_elt_hasher::equal): Similarly.
9231 (avail_expr_hash): Similarly.
9232 (pass_dominator::execute): Similarly.
9233 (dom_opt_dom_walker::thread_across_edge): Similarly.
9234 (record_cond): Similarly.
9235 (dom_opt_dom_walker::before_dom_children): Similarly.
9236 (dom_opt_dom_walker::after_dom_children): Similarly.
9237 (lookup_avail_expr): Likewise.
9238 (initialize_hash_element): Now a expr_hash_elt constructor.
9239 (initialize_hash_element_from_expr): Similarly.
9240 (free_expr_hash_elt_contents): Now a dtor for class expr_hash_elt.
9241 (free_expr_hash_elt): Call dtor for the element.
9242 (remove_local_expressions_from_table): Now the "pop_to_marker"
9243 method in the available_exprs_stack class.
9244 (avail_expr_stack::record_expr): Method factored out.
9245 (print_expr_hash_elt): Now a method in the expr_hash_elt class.
9246 Fix formatting.
9247 (hashable_expr_equal_p): Fix formatting.
9248
9249 2015-09-15 David Malcolm <dmalcolm@redhat.com>
9250
9251 * input.h (location_get_source_line): Drop "expanded_location"
9252 param in favor of a file and line number.
9253 * input.c (location_get_source_line): Likewise.
9254 (dump_location_info): Update for change in signature of
9255 location_get_source_line.
9256 * diagnostic.c (diagnostic_print_caret_line): Likewise.
9257
9258 2015-09-15 Eric Botcazou <ebotcazou@adacore.com>
9259
9260 * defaults.h (STACK_OLD_CHECK_PROTECT): Adjust for -fno-exceptions.
9261 Bump to 4KB for SJLJ exceptions.
9262 (STACK_CHECK_PROTECT): Likewise. Bump to 8KB for SJLJ exceptions.
9263 * doc/tm.texi.in (STACK_CHECK_PROTECT): Adjust.
9264 * doc/tm.texi: Regenerate.
9265
9266 2015-09-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9267
9268 * config/arm/arm.c (arm_gen_constant): Use HOST_WIDE_INT_M1U instead
9269 of -1 when shifting. Change type of val to unsigned HOST_WIDE_INT.
9270 Update prototype.
9271
9272 2015-09-15 Richard Biener <rguenther@suse.de>
9273
9274 PR tree-optimization/67470
9275 * tree-ssa-loop-im.c (execute_sm_if_changed): Preserve PHI
9276 structure for PHI hoisting by inserting a forwarder block
9277 if appropriate.
9278
9279 2015-09-15 Christian Bruel <christian.bruel@st.com>
9280
9281 * config/arm/arm.c (TARGET_OPTION_PRINT): Define.
9282 (arm_option_print): New function.
9283
9284 2015-09-15 Christian Bruel <christian.bruel@st.com>
9285
9286 PR target/52144
9287 * config/arm/arm.c (arm_option_params_internal): Remove opts parameter.
9288 * config/arm/arm-c.c (arm_cpu_builtins): Declare static.
9289 Remove flags parameter.
9290 * config/arm/arm.h (TARGET_32BIT_P, TARGET_ARM_QBIT_P)
9291 (TARGET_ARM_SAT_P, TARGET_IDIV_P, TARGET_HAVE_LDREX_P)
9292 (TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P, TARGET_DSP_MULTIPLY_P)
9293 (TARGET_ARM_FEATURE_LDREX_P, TARGET_INT_SIMD_P): Redefine macros with...
9294 (TARGET_ARM_SAT, TARGET_IDIV, TARGET_HAVE_LDREX)
9295 (TARGET_HAVE_LDREXBH, TARGET_HAVE_LDREXD, TARGET_ARM_FEATURE_LDREX)
9296 (TARGET_DSP_MULTIPLY, TARGET_INT_SIMD): Redefined macros.
9297 * config/arm/arm-protos.h (arm_cpu_builtins): Remove declaration.
9298
9299 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
9300
9301 * config/aarch64/aarch64.h (AARCH64_VALID_SIMD_DREG_MODE): New.
9302
9303 * config/aarch64/aarch64.c (aarch64_array_mode_supported_p): Add
9304 AARCH64_VALID_SIMD_DREG_MODE.
9305
9306 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
9307
9308 * config/aarch64/aarch64-simd.md (aarch64_ld2r<mode>,
9309 aarch64_ld3r<mode>, aarch64_ld4r<mode>): Combine together, making...
9310 (aarch64_simd_ld<VSTRUCT:nregs>r<VALLDIF:mode>): ...this.
9311 (aarch64_ld2_lane<mode>, aarch64_ld3_lane<mode>,
9312 aarch64_ld4_lane<mode>): Combine together, making...
9313 (aarch64_ld<VSTRUCT:nregs>_lane<VALLDIF:mode>): ...this.
9314 (aarch64_st2_lane<mode>, aarch64_st3_lane<mode>,
9315 aarch64_st4_lane<mode>): Combine together, making...
9316 (aarch64_st<VSTRUCT:nregs>_lane<VALLDIF:mode>): ...this.
9317 * config/aarch64/iterators.md (nregs): Add comment.
9318
9319 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
9320
9321 * config/aarch64/aarch64-simd.md (aarch64_simd_ld2r<mode>):
9322 Change operand mode from <V_TWO_ELEM> to BLK.
9323 (aarch64_vec_load_lanesoi_lane<mode>): Likewise.
9324 (aarch64_vec_store_lanesoi_lane<mode): Likewise
9325 (aarch64_ld2r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
9326 (aarch64_ld2_lane<mode>): Likewise.
9327 (aarch64_st2_lane<VQ:mode>): Likewise.
9328 * config/aarch64/iterators.md (V_TWO_ELEM): Remove.
9329
9330 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
9331
9332 * config/aarch64/aarch64-simd.md (aarch64_simd_ld4r<mode>):
9333 Change operand mode from <V_FOUR_ELEM> to BLK.
9334 (aarch64_vec_load_lanesxi_lane<mode>): Likewise.
9335 (aarch64_vec_store_lanesxi_lane<mode): Likewise.
9336 (aarch64_ld4r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
9337 (aarch64_ld4_lane<mode>): Likewise.
9338 (aarch64_st4_lane<mode>): Likewise.
9339 * config/aarch64/iterators.md (V_FOUR_ELEM): Remove.
9340
9341 2015-09-15 Richard Biener <rguenther@suse.de>
9342
9343 PR middle-end/67563
9344 * gimple-fold.c (gimplify_and_update_call_from_tree): Do not
9345 transfer EH info from old to new stmt.
9346 (replace_call_with_value): Likewise.
9347 (replace_call_with_call_and_fold): Likewise.
9348 (gimple_fold_builtin_memory_op): Likewise.
9349 (gimple_fold_builtin_memset): Likewise.
9350 (gimple_fold_builtin_stpcpy): Likewise.
9351 (gimple_fold_call): Likewise.
9352
9353 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
9354
9355 * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist): Update
9356 comment.
9357 * config/aarch64/aarch64-builtins.c (ei_UP): Remove.
9358 (aarch64_simd_intEI_type_node): Likewise.
9359 (aarch64_simd_builtin_std_type): Remove EImode case.
9360 (aarch64_init_simd_builtin_types): Don't create/add intEI_type_node.
9361 * config/aarch64/aarch64-modes.def: Remove EImode.
9362
9363 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
9364
9365 * config/aarch64/aarch64-simd.md (aarch64_simd_ld3r<mode>):
9366 Change operand mode from <V_THREE_ELEM> to BLK.
9367 (aarch64_vec_load_lanesci_lane<mode>): Likewise.
9368 (aarch64_vec_store_lanesci_lane<mode>): Likewise.
9369 (aarch64_ld3r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
9370 (aarch64_ld3_lane<mode>): Likewise.
9371 (aarch64_st3_lane<mode>): Likewise.
9372 * config/aarch64/iterators.md (V_THREE_ELEM): Remove.
9373
9374 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
9375
9376 * config/aarch64/aarch64-simd.md
9377 (aarch64_ld2<mode>_dreg VD & DX, aarch64_st2<mode>_dreg VD & DX ):
9378 Change all TImode operands to BLKmode.
9379 (aarch64_ld3<mode>_dreg VD & DX, aarch64_st3<mode>_dreg VD & DX):
9380 Change all EImode operands to BLKmode.
9381 (aarch64_ld4<mode>_dreg VD & DX, aarch64_st4<mode>_dreg VD & DX):
9382 Change all OImode operands to BLKmode.
9383
9384 (aarch64_ld<VSTRUCT:nregs><VDC:mode>): Generate MEM rtx with BLKmode
9385 and call set_mem_size.
9386 (aarch64_st<VSTRUCT:nregs><VDC:mode>): Likewise.
9387
9388 * config/aarch64/iterators.md (VSTRUCT_DREG): Remove.
9389
9390 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
9391
9392 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): Rename
9393 to...
9394 (aarch64_vec_store_lanesoi_lane<mode>): ...this.
9395
9396 (vec_store_lanesci_lane<mode>): Rename to...
9397 (aarch64_vec_store_lanesci_lane<mode>): ...this.
9398
9399 (vec_store_lanesxi_lane<mode>): Rename to...
9400 (aarch64_vec_store_lanesxi_lane<mode>): ...this.
9401
9402 (aarch64_st2_lane<mode>, aarch64_st3_lane<mode>,
9403 aarch64_st4_lane<mode>): Follow renaming.
9404
9405 2015-09-15 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
9406
9407 * config/s390/s390.c (s390_const_operand_ok): Add missing
9408 brackets.
9409
9410 2015-09-15 Richard Biener <rguenther@suse.de>
9411
9412 PR lto/67568
9413 * lto-streamer.h (lto_location_cache::current_sysp): Properly
9414 initialize.
9415 * lto-streamer-out.c (clear_line_info): Likewise.
9416
9417 2015-09-15 Richard Biener <rguenther@suse.de>
9418
9419 * doc/match-and-simplify.texi: Fix wording.
9420
9421 2015-09-15 Bin Cheng <bin.cheng@arm.com>
9422
9423 * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Strip
9424 unnecessary type conversion in op1.
9425
9426 2015-09-14 Segher Boessenkool <segher@kernel.crashing.org>
9427
9428 * shrink-wrap.c (requires_stack_frame_p): Fix formatting.
9429 (dup_block_and_redirect): Delete function.
9430 (can_dup_for_shrink_wrapping): New function.
9431 (fix_fake_fallthrough_edge): New function.
9432 (try_shrink_wrapping): Rewrite function.
9433 (convert_to_simple_return): Call fix_fake_fallthrough_edge.
9434
9435 2015-09-14 Rich Felker <dalias@libc.org>
9436
9437 * configure.ac: Change target pattern for sh TLS support
9438 test from "sh[34]-*-*" to "sh[123456789lbe]*-*-*".
9439 * configure: Regenerate.
9440
9441 2015-09-14 Jeff Law <law@redhat.com>
9442
9443 PR tree-optimization/47679
9444 * tree-ssa-dom.c (avail_expr_hash): Pass a pointer to a real
9445 type rather than void *.
9446
9447 2015-09-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
9448
9449 PR fortran/67460
9450 * diagnostic.c (diagnostic_initialize): Do not set
9451 some_warnings_are_errors.
9452 (diagnostic_finish): Use DK_WERROR count instead.
9453 (diagnostic_report_diagnostic): Do not set
9454 some_warnings_are_errors.
9455 * diagnostic.h (struct diagnostic_context): Remove
9456 some_warnings_are_errors.
9457
9458 2015-09-14 Richard Sandiford <richard.sandiford@arm.com>
9459
9460 * config/sparc/predicates.md (const_all_ones_operand): Use
9461 CONSTM1_RTX to simplify definition.
9462
9463 2015-09-14 Oleg Endo <olegendo@gcc.gnu.org>
9464
9465 PR target/67061
9466 * config/sh/sh-protos.h (sh_find_set_of_reg): Simplfiy for-loop.
9467 Handle call insns.
9468
9469 2015-09-14 Chung-Lin Tang <cltang@codesourcery.com>
9470
9471 * lto-wrapper.c (merge_and_complain): Add OPT_fdiagnostics_show_caret,
9472 OPT_fdiagnostics_show_option, OPT_fdiagnostics_show_location_, and
9473 OPT_fshow_column to handled saved option cases.
9474 (append_compiler_options): Do not skip the above added options.
9475
9476 2015-09-14 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9477
9478 PR target/63304
9479 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Handle
9480 nopcrelative_literal_loads.
9481 (aarch64_classify_address): Likewise.
9482 (aarch64_constant_pool_reload_icode): Define.
9483 (aarch64_secondary_reload): Handle secondary reloads for
9484 literal pools.
9485 (aarch64_override_options): Handle nopcrelative_literal_loads.
9486 (aarch64_classify_symbol): Handle nopcrelative_literal_loads.
9487 * config/aarch64/aarch64.md (aarch64_reload_movcp<GPF_TF:mode><P:mode>):
9488 Define.
9489 (aarch64_reload_movcp<VALL:mode><P:mode>): Likewise.
9490 * config/aarch64/aarch64.opt (mpc-relative-literal-loads): New option.
9491 * config/aarch64/predicates.md (aarch64_constant_pool_symref): New
9492 predicate.
9493 * doc/invoke.texi (mpc-relative-literal-loads): Document.
9494
9495 2015-09-14 John David Anglin <danglin@gcc.gnu.org>
9496
9497 PR middle-end/67401
9498 * optabs.c (expand_atomic_compare_and_swap): Move result of emitting
9499 sync_compare_and_swap_optab libcall to target_oval.
9500
9501 2015-09-14 Marek Polacek <polacek@redhat.com>
9502
9503 * rtlanal.c (split_double): Cast to unsigned when shifting a negative
9504 value.
9505 * sched-int.h (UNKNOWN_DEP_COST): Likewise.
9506
9507 2015-09-11 Mark Wielaard <mjw@redhat.com>
9508
9509 PR c/28901
9510 * toplev.c (check_global_declaration): Check and use
9511 warn_unused_const_variable.
9512 * doc/invoke.texi (Warning Options): Add -Wunused-const-variable.
9513 (-Wunused-variable): Remove non-constant. For C implies
9514 -Wunused-const-variable.
9515 (-Wunused-const-variable): New.
9516
9517 2015-09-14 Richard Biener <rguenther@suse.de>
9518
9519 * doc/match-and-simplify.texi: Update for changed syntax
9520 of inner ifs and the new switch expression.
9521
9522 2015-09-14 Yuri Rumyantsev <ysrumyan@gmail.com>
9523
9524 * config/i386/haswell.md: New file describing Haswell pipeline.
9525 * config/i386/i386.c (processor_alias_table): Use CPU_HASWELL for
9526 haswell-like processors.
9527 (ix86_reassociation_width): Increase reassociation width for 64-bit
9528 Haswell processor family.
9529 * config/i386/i386.md: Introduce haswell cpu and include new md file.
9530
9531 2015-09-14 Richard Biener <rguenther@suse.de>
9532
9533 * doc/match-and-simplify.texi: Fixup some formatting issues
9534 and document the 's' flag.
9535
9536 2015-09-13 Olivier Hainque <hainque@adacore.com>
9537 Eric Botcazou <ebotcazou@adacore.com>
9538
9539 * config.gcc (visium-*-*): Enable --with-cpu option, accept gr5 and
9540 gr6 as possible values, defaulting to gr5. Set target_cpu_default2.
9541 * config/visium/visium.h (OPTION_DEFAULT_SPECS): Define.
9542 (TARGET_CPU_gr5): Likewise.
9543 (TARGET_CPU_gr6): Likewise.
9544 (MULTILIB_DEFAULTS): Likewise.
9545 * config/visium/t-visium (MULTILIB_OPTIONS): Request distinct variants
9546 for mcpu=gr5 and mcpu=gr6.
9547 (MULTILIB_DIRNAMES): Adjust accordingly.
9548
9549 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9550
9551 * tree-ssa-loop-im.c (mem_ref_loc_p): Remove typedef.
9552 (mem_ref_p): Likewise.
9553 (outermost_indep_loop): Adjust.
9554 (mem_ref_in_stmt): Likewise.
9555 (determine_max_movement): Likewise.
9556 (mem_ref_alloc): Likewise.
9557 (record_mem_ref_loc): Likewise.
9558 (set_ref_stored_in_loop): Likewise.
9559 (mark_ref_stored): Likewise.
9560 (gather_mem_refs_stmt): Likewise.
9561 (mem_refs_may_alias_p): Likewise.
9562 (for_all_locs_in_loop): Likewise.
9563 (struct rewrite_mem_ref_loc): Likewise.
9564 (rewrite_mem_refs): Likewise.
9565 (struct first_mem_ref_loc_1): Likewise.
9566 (first_mem_ref_loc): Likewise.
9567 (struct sm_set_flag_if_changed): Likewise.
9568 (execute_sm_if_changed_flag_set): Likewise.
9569 (execute_sm): Likewise.
9570 (hoist_memory_references):
9571 (struct ref_always_accessed): Likewise.
9572 (ref_always_accessed_p): Likewise.
9573 (refs_independent_p): Likewise.
9574 (record_dep_loop): Likewise.
9575 (ref_indep_loop_p_1): Likewise.
9576 (ref_indep_loop_p_2): Likewise.
9577 (ref_indep_loop_p): Likewise.
9578 (can_sm_ref_p): Likewise.
9579 (find_refs_for_sm): Likewise.
9580 (tree_ssa_lim_finalize): Likewise.
9581
9582 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9583
9584 * dwarf2out.c (dw_attr_ref): Remove typedef.
9585 (dw_line_info_ref): Likewise.
9586 (pubname_ref): Likewise.
9587 (dw_ranges_ref): Likewise.
9588 (dw_ranges_by_label_ref): Likewise.
9589 (comdat_type_node_ref): Likewise.
9590 (get_AT): Adjust.
9591 (get_AT_low_pc): Likewise.
9592 (get_AT_hi_pc): Likewise.
9593 (get_AT_string): Likewise.
9594 (get_AT_flag): Likewise.
9595 (get_AT_unsigned): Likewise.
9596 (get_AT_ref): Likewise.
9597 (get_AT_file): Likewise.
9598 (remove_AT): Likewise.
9599 (print_die): Likewise.
9600 (check_die): Likewise.
9601 (die_checksum): Likewise.
9602 (attr_checksum_ordered): Likewise.
9603 (struct checksum_attributes): Likewise.
9604 (collect_checksum_attributes): Likewise.
9605 (die_checksum_ordered): Likewise.
9606 (same_die_p): Likewise.
9607 (is_declaration_die): Likewise.
9608 (clone_die): Likewise.
9609 (clone_as_declaration): Likewise.
9610 (copy_declaration_context): Likewise.
9611 (break_out_comdat_types): Likewise.
9612 (copy_decls_walk): Likewise.
9613 (output_location_lists): Likewise.
9614 (external_ref_hasher::hash): Likewise.
9615 (optimize_external_refs_1): Likewise.
9616 (build_abbrev_table): Likewise.
9617 (size_of_die): Likewise.
9618 (unmark_all_dies): Likewise.
9619 (size_of_pubnames): Likewise.
9620 (output_die_abbrevs): Likewise.
9621 (output_die): Likewise.
9622 (output_pubnames): Likewise.
9623 (add_ranges_num): Likewise.
9624 (add_ranges_by_labels): Likewise.
9625 (add_high_low_attributes): Likewise.
9626 (gen_producer_string): Likewise.
9627 (dwarf2out_set_name): Likewise.
9628 (new_line_info_table): Likewise.
9629 (prune_unused_types_walk_attribs): Likewise.
9630 (prune_unused_types_update_strings): Likewise.
9631 (prune_unused_types): Likewise.
9632 (resolve_addr): Likewise.
9633 (optimize_location_lists_1): Likewise.
9634 (index_location_lists): Likewise.
9635 (dwarf2out_finish): Likewise.
9636
9637 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9638
9639 * dwarf2cfi.c (dw_trace_info_ref): Remove typedef.
9640
9641 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9642
9643 * tree-vrp.c (struct assert_locus_d): Rename to assert_locus.
9644 (dump_asserts_for): Adjust.
9645 (register_new_assert_for): Likewise.
9646 (process_assert_insertions): Likewise.
9647 (insert_range_assertions): Likewise.
9648
9649 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9650
9651 * tree-ssa-ter.c (temp_expr_table_d): Rename to temp_expr_table
9652 and remove typedef.
9653 (new_temp_expr_table): Adjust.
9654 (free_temp_expr_table): Likewise.
9655 (version_to_be_replaced_p): Likewise.
9656 (make_dependent_on_partition): Likewise.
9657 (add_to_partition_kill_list): Likewise.
9658 (remove_from_partition_kill_list): Likewise.
9659 (add_dependence): Likewise.
9660 (finished_with_expr): Likewise.
9661 (process_replaceable): Likewise.
9662 (kill_expr): Likewise.
9663 (kill_virtual_exprs): Likewise.
9664 (mark_replaceable): Likewise.
9665 (find_replaceable_in_bb): Likewise.
9666 (find_replaceable_exprs): Likewise.
9667 (debug_ter): Likewise.
9668
9669 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9670
9671 * bt-load.c (struct btr_def_group): Rename from btr_def_group_s.
9672 (struct btr_user): Rename from btr_user_s.
9673 (struct btr_def): Rename from btr_def_s.
9674 (find_btr_def_group): Adjust.
9675 (add_btr_def): Likewise.
9676 (new_btr_user): Likewise.
9677 (note_other_use_this_block): Likewise.
9678 (compute_defs_uses_and_gen): Likewise.
9679 (link_btr_uses): Likewise.
9680 (build_btr_def_use_webs): Likewise.
9681 (block_at_edge_of_live_range_p): Likewise.
9682 (btr_def_live_range): Likewise.
9683 (combine_btr_defs): Likewise.
9684 (move_btr_def): Likewise.
9685 (migrate_btr_def): Likewise.
9686 (migrate_btr_defs): Likewise.
9687
9688 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9689
9690 * var-tracking.c (shared_hash_def): Rename to shared_hash.
9691 (shared_hash): Remove typedef.
9692 (struct dataflow_set): Adjust.
9693 (shared_hash_unshare): Likewise.
9694 (dataflow_set_merge): Likewise.
9695 (vt_initialize): Likewise.
9696 (vt_finalize): Likewise.
9697
9698 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9699
9700 * var-tracking.c (struct location_chain): Rename from
9701 location_chain_def.
9702 (struct variable_part): Adjust.
9703 (variable_htab_free): Likewise.
9704 (unshare_variable): Likewise.
9705 (get_init_value): Likewise.
9706 (get_addr_from_local_cache): Likewise.
9707 (drop_overlapping_mem_locs): Likewise.
9708 (val_reset): Likewise.
9709 (struct variable_union_info): Likewise.
9710 (variable_union): Likewise.
9711 (find_loc_in_1pdv): Likewise.
9712 (insert_into_intersection): Likewise.
9713 (intersect_loc_chains): Likewise.
9714 (canonicalize_loc_order_check): Likewise.
9715 (canonicalize_values_mark): Likewise.
9716 (canonicalize_values_star): Likewise.
9717 (canonicalize_vars_star): Likewise.
9718 (variable_merge_over_cur): Likewise.
9719 (remove_duplicate_values): Likewise.
9720 (variable_post_merge_new_vals): Likewise.
9721 (variable_post_merge_perm_vals): Likewise.
9722 (find_mem_expr_in_1pdv): Likewise.
9723 (dataflow_set_preserve_mem_locs): Likewise.
9724 (dataflow_set_remove_mem_locs): Likewise.
9725 (variable_part_different_p): Likewise.
9726 (onepart_variable_different_p): Likewise.
9727 (find_src_set_src): Likewise.
9728 (dump_var): Likewise.
9729 (set_slot_part): Likewise.
9730 (clobber_slot_part): Likewise.
9731 (delete_slot_part): Likewise.
9732 (vt_expand_var_loc_chain): Likewise.
9733 (emit_note_insn_var_location): Likewise.
9734 (vt_finalize): Likewise.
9735
9736 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9737
9738 * dse.c (store_info_t): Remove typedef.
9739 (group_info_t): Likewise.
9740 (const_group_info_t): Likewise.
9741 (deferred_change_t): Likewise.
9742 (get_group_info): Adjust.
9743 (free_store_info): Likewise.
9744 (canon_address): Likewise.
9745 (clear_rhs_from_active_local_stores): Likewise.
9746 (record_store): Likewise.
9747 (replace_read): Likewise.
9748 (check_mem_read_rtx): Likewise.
9749 (scan_insn): Likewise.
9750 (remove_useless_values): Likewise.
9751 (dse_step1): Likewise.
9752 (dse_step2_init): Likewise.
9753 (dse_step2_nospill): Likewise.
9754 (scan_stores_nospill): Likewise.
9755 (scan_reads_nospill): Likewise.
9756 (dse_step3_exit_block_scan): Likewise.
9757 (dse_step3): Likewise.
9758 (dse_step5_nospill): Likewise.
9759 (dse_step6): Likewise.
9760
9761 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9762
9763 * alias.c (alias_set_entry_d): Rename to alias_set_entry.
9764 (alias_set_entry): Remove typedef.
9765 (alias_set_subset_of): Adjust.
9766 (alias_sets_conflict_p): Likewise.
9767 (init_alias_set_entry): Likewise.
9768 (get_alias_set): Likewise.
9769 (new_alias_set): Likewise.
9770 (record_alias_subset): Likewise.
9771
9772 2015-09-13 Gerald Pfeifer <gerald@pfeifer.com>
9773
9774 * doc/install.texi (Downloading the source): Mark up
9775 contrib/download_prerequisites properly and drop leading "./".
9776
9777 2015-09-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9778
9779 * config/arc/arc.h: Remove define of STRUCT_VALUE.
9780 * config/lm32/lm32.h: Likewise.
9781 * config/mep/mep.h: Likewise.
9782 * config/visium/visium.h: Likewise.
9783 * system.h: Poison STRUCT_VALUE macro.
9784
9785 2015-09-12 John David Anglin <danglin@gcc.gnu.org>
9786
9787 * config/pa/pa.c (pa_output_move_double): Enhance to handle HIGH
9788 CONSTANT_P operands.
9789
9790 2015-09-11 David S. Miller <davem@davemloft.net>
9791
9792 * config/sparc/constraints.md: Make "U" constraint a real register
9793 constraint.
9794 * config/sparc/sparc.c (TARGET_LRA_P): Define.
9795 (D_MODES, DF_MODES): Add missing cast.
9796 (TF_MODES, TF_MODES_NO_S): Include T_MODE.
9797 (OF_MODES, OF_MODES_NO_S): Include O_MODE.
9798 (sparc_register_move_cost): Decrease Niagara/UltrsSPARC memory
9799 cost to 8.
9800 * config/sparc/sparc.h (PROMOTE_MODE): Define.
9801 * config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not
9802 provide these insn when flag_pic.
9803
9804 2015-09-11 Jeff Law <law@redhat.com>
9805
9806 PR tree-optimization/47679
9807 * tree-ssa-dom.c (struct cond_equivalence): Update comment.
9808 * tree-ssa-scopedtables.h (class const_and_copies): Prefix data
9809 member with m_. Update inline member functions as necessary. Add
9810 toplevel comment.
9811 * tree-ssa-scopedtables.c: Update const_and_copies's member
9812 functions to use m_ prefix to access the stack.
9813
9814 2015-09-11 Aditya Kumar <aditya.k7@samsung.com>
9815
9816 * graphite-optimize-isl.c (disable_tiling): Remove.
9817 (get_schedule_for_band): Do not use disable_tiling.
9818 (get_prevector_map): Delete function.
9819 (enable_polly_vector): Remove.
9820 (get_schedule_for_band_list): Remove dead code.
9821
9822 2015-09-11 Aditya Kumar <aditya.k7@samsung.com>
9823
9824 * graphite-optimize-isl.c (get_tile_map): Refactor.
9825 (get_schedule_for_band): Same.
9826 (getScheduleForBand): Same.
9827 (get_prevector_map): Same.
9828 (get_schedule_for_band_list): Same.
9829 (get_schedule_map): Same.
9830 (get_single_map): Same.
9831 (apply_schedule_map_to_scop): Same.
9832 (optimize_isl): Same.
9833
9834 2015-09-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9835
9836 PR target/63304
9837 * config/aarch64/aarch.md (mov<mode>:GPF_F16): Use GPF_TF_F16.
9838 (movtf): Delete.
9839 * config/aarch64/iterators.md (GPF_TF_F16): New.
9840 (GPF_F16): Delete.
9841
9842 2015-09-10 Nathan Sidwell <nathan@acm.org>
9843
9844 * config/nvptx/nvptx.c (nvptx_expand_call): Add spacing.
9845 (nvptx_reorg): Adjust comments.
9846
9847 2015-09-15 John David Anglin <danglin@gcc.gnu.org>
9848
9849 PR bootstrap/67363
9850 * configure.ac: Check if setenv and unsetenv are declared.
9851 * configure: Rebuild.
9852 * config.in: Rebuild.
9853 * system.h: Declare setenv and unsetenv if not declared.
9854
9855 2015-09-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9856
9857 * config/rs6000/rs6000.c (swap_web_entry): Update preceding
9858 commentary to simplify permute mask adjustment equation.
9859 (special_handling_values): Add SH_VPERM.
9860 (const_load_sequence_p): New function.
9861 (insn_is_swappable_p): Add logic to recognize an UNSPEC_VPERM with
9862 the mask loaded from the constant pool.
9863 (adjust_vperm): New function.
9864 (handle_special_swappables): Call adjust_vperm.
9865 (dump_swap_insn_table): Handle SH_VPERM.
9866
9867 2015-09-10 H.J. Lu <hongjiu.lu@intel.com>
9868
9869 * shrink-wrap.c (requires_stack_frame_p): Remove static.
9870 * shrink-wrap.h (requires_stack_frame_p): Put back.
9871
9872 2015-09-10 Richard Sandiford <richard.sandiford@arm.com>
9873
9874 * reload1.c (elimination_costs_in_insn): Locally turn
9875 -Wmaybe-uninitialized into a warning.
9876
9877 2015-09-10 Segher Boessenkool <segher@kernel.crashing.org>
9878
9879 * shrink-wrap.c (requires_stack_frame_p): Make static.
9880 (prepare_shrink_wrap): Likewise.
9881 (dup_block_and_redirect): Likewise.
9882 * shrink-wrap.h: Remove declarations of those functions.
9883
9884 2015-09-10 Mark Wielaard <mjw@redhat.com>
9885
9886 * doc/invoke.texi (Wnonnull): Also warns when comparing against NULL.
9887
9888 2015-09-10 Oleg Endo <olegendo@gcc.gnu.org>
9889
9890 PR target/67506
9891 * config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Add
9892 missing simplify_gen_subreg.
9893
9894 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
9895
9896 * config/s390/s390.c (s390_contiguous_bitmask_vector_p): Reject if
9897 the vector element is bigger than 64 bit.
9898
9899 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
9900
9901 * config/s390/vx-builtins.md ("vec_vmal<mode>", "vec_vmah<mode>")
9902 ("vec_vmalh<mode>"): Change mode iterator from VI_HW to VI_HW_QHS.
9903
9904 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
9905
9906 * config/s390/s390.c: Add V1TImode to constant pool modes.
9907
9908 2015-09-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9909
9910 PR target/67439
9911 * config/arm/arm.md (*arm32_movhf): Remove !arm_restrict_it from
9912 predicate. Set predicable_short_it attr to "no".
9913
9914 2015-09-10 Jiong Wang <jiong.wang@arm.com>
9915
9916 PR rtl-optimization/67421
9917 * expr.c (expand_expr_real_2): Cost instrcution sequences when doing
9918 left wide shift tranformation.
9919
9920 2015-09-10 Claudiu Zissulescu <claziss@synopsys.com>
9921
9922 * common/config/arc/arc-common.c: Remove references to A5.
9923 * config/arc/arc-opts.h: Likewise.
9924 * config/arc/arc.c, config/arc/arc.h, config/arc/arc.md: Likewise.
9925 * config/arc/arc.opt, config/arc/constraints.md: Likewise.
9926 * config/arc/t-arc-newlib: Likewise.
9927
9928 2015-09-10 Claudiu Zissulescu <claziss@synopsys.com>
9929
9930 * config/arc/arc.md (length): Fix attribute length for conditional
9931 executed instructions with long immediate.
9932
9933 2015-09-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9934
9935 * config/aarch64/aarch64.md (*and<mode>3nr_compare0): Use logics_imm
9936 type for second alternative.
9937
9938 2015-09-10 Markus Trippelsdorf <markus@trippelsdorf.de>
9939
9940 * doc/invoke.texi (Downloading GCC): Mention
9941 contrib/download_prerequisites script.
9942
9943 2015-09-10 Jakub Jelinek <jakub@redhat.com>
9944
9945 PR c++/67523
9946 * gimplify.c (gimplify_omp_for): If inner stmt is not found
9947 for combined loop, assert seen_error () and return GS_ERROR.
9948
9949 PR middle-end/67521
9950 * gimplify.c (gimplify_omp_for): Don't call omp_add_variable
9951 if decl is already in outer->variables.
9952
9953 PR middle-end/67517
9954 * gimplify.c (gimplify_scan_omp_clauses): Instead of
9955 asserting that decl is not specified in octx->variables,
9956 break out of the loop if it is.
9957
9958 PR c++/67514
9959 * gimplify.c (gimplify_omp_for): For loop SIMD construct, if
9960 iterator is not explicitly determined, but is defined inside
9961 of the combined workshare region, handle it like if it has
9962 DECL_EXPR in OMP_FOR_PRE_BODY.
9963
9964 2015-09-09 Nathan Sidwell <nathan@acm.org>
9965
9966 * config/nvptx/nvptx.md (call_operation): Move bound out of loop.
9967 (*cmp<mode>): Add assembler spacing.
9968 (setcc_int<mode>, set_cc_float<mode>): Likewise.
9969 * config/nvptx/nvptx.c (nvptx_option_override): Override debug
9970 level.
9971 (write_func_decl_from_insn): Refactor argument loops & comma emission.
9972 (nvptx_expand_call): Likewise.
9973 (nvptx_output_call_insn): Likewise.
9974 (nvptx_reorg_subreg): Add spacing.
9975
9976 2015-09-09 Marek Polacek <polacek@redhat.com>
9977
9978 PR middle-end/67512
9979 * tree-ssa-uninit.c (pred_equal_p): Only call invert_tree_comparison
9980 for comparisons.
9981
9982 2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
9983
9984 PR c++/53184
9985 * doc/invoke.texi ([Wsubobject-linkage]): Document.
9986
9987 2015-09-09 Tom de Vries <tom@codesourcery.com>
9988
9989 * params-list.h: Add missing copyright notice.
9990
9991 2015-09-09 Nathan Sidwell <nathan@acm.org>
9992
9993 * config/nvptx/nvptx.md (atomic_compare_and_swap<mode>): Use
9994 sel_truesi, not andsi.
9995
9996 2015-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9997
9998 * config/arm/arm.md (*subsi3_compare0): Rename to...
9999 (subsi3_compare0): ... This.
10000 (modsi3): New define_expand.
10001 * config/arm/arm.c (arm_new_rtx_costs, MOD case): Handle case
10002 when operand is power of 2.
10003
10004 2015-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10005
10006 * config/aarch64/aarch64.md (mod<mode>3): New define_expand.
10007 (*neg<mode>2_compare0): Rename to...
10008 (neg<mode>2_compare0): ... This.
10009 * config/aarch64/aarch64.c (aarch64_rtx_costs, MOD case):
10010 Move check for speed inside the if-then-elses. Reflect
10011 CSNEG sequence in MOD by power of 2 case.
10012
10013 2015-09-09 Alan Modra <amodra@gmail.com>
10014
10015 PR target/67378
10016 * config/rs6000/rs6000.c (rs6000_secondary_reload_gpr): Find
10017 reload replacement for PRE_MODIFY address reg.
10018
10019 2015-09-09 Sebastian Pop <s.pop@samsung.com>
10020
10021 PR tree-optimization/53852
10022 * config.in: Regenerate.
10023 * configure: Regenerate.
10024 * configure.ac (HAVE_ISL_CTX_MAX_OPERATIONS): Detect.
10025 * graphite-optimize-isl.c (optimize_isl): Stop computation when
10026 PARAM_MAX_ISL_OPERATIONS is reached.
10027 * params.def (PARAM_MAX_ISL_OPERATIONS): Add.
10028 * graphite-dependences.c (extend_schedule): Remove gcc_asserts on
10029 result equal to isl_stat_ok as the status now can be isl_error_quota.
10030 (subtract_commutative_associative_deps): Same.
10031 (compute_deps): Same.
10032
10033 2015-09-08 Aditya Kumar <hiraditya@msn.com>
10034 Sebastian Pop <s.pop@samsung.com>
10035
10036 * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
10037 Return the parameter if it was saved in corresponding
10038 parameter_rename_map of the region.
10039 (copy_def): Copy def from sese region to the newly created region.
10040 (copy_internal_parameters): Copy all the internal parameters defined
10041 within a region to the newly created region.
10042 (graphite_regenerate_ast_isl): Copy parameters to the new region before
10043 translating isl to gimple.
10044 * graphite-scop-detection.c (graphite_can_represent_loop): Bail out if
10045 the loop-nest does not have any data-references.
10046 (build_graphite_scops): Create a scop only when there is at least one
10047 loop inside it.
10048 (contains_only_close_phi_nodes): Deleted.
10049 (print_graphite_scop_statistics): Deleted
10050 (print_graphite_statistics): Deleted
10051 (limit_scops): Deleted.
10052 (build_scops): Removed call to limit_scops.
10053 * sese.c (new_sese): Construct.
10054 (free_sese): Destruct.
10055 (sese_add_exit_phis_edge): update_stmt after exit phi edge has been
10056 added.
10057 (set_rename): Pass sese region so that parameters inside the region can
10058 be added to its parameter_rename_map.
10059 (rename_uses): Pass sese region.
10060 (graphite_copy_stmts_from_block): Do not copy parameters that have been
10061 generated in the header of the scop. For each SSA_NAME in the
10062 parameter_rename_map rename its usage.
10063 (invariant_in_sese_p_rec): Return false if tree t is defined outside
10064 sese region.
10065 (scalar_evolution_in_region): If the tree t is invariant just return t.
10066 * sese.h: Added a parameter renamne map (parameter_rename_map_t) to
10067 struct sese to keep track of all the parameters which need renaming.
10068 * tree-data-ref.c (loop_nest_has_data_refs): Check if a loop nest has
10069 any data-refs.
10070 * tree-data-ref.h: Declaration of loop_nest_has_data_refs.
10071
10072 2015-09-08 Tom de Vries <tom@codesourcery.com>
10073
10074 * Makefile.in (generated_files): Add params.list.
10075 (params.list, s-params.list): Add rule.
10076 * params.h (enum compiler_param): Include params-list.h. Move define
10077 DEFPARAM, include params.def and undef DEFPARAM ...
10078 * params-list.h: ... here. New file.
10079
10080 2015-09-08 David Malcolm <dmalcolm@redhat.com>
10081
10082 * pretty-print.h (printer_fn): Fix typo in comment.
10083
10084 2015-09-07 Jeff Law <law@redhat.com>
10085
10086 * tree-ssa-scopedtables.h (class const_and_copies): Fix comment typo.
10087
10088 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
10089
10090 * doc/sourcebuild.texi (arm_neon_fp16): Correct cross-reference.
10091 (arm_neon_fp16_ok): Document adding of -mfp16-format=ieee flag.
10092 (arm_neon_fp16_hw): New.
10093
10094 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
10095
10096 * fold-const.c (native_interpret_real): Fix HFmode for bigendian where
10097 UNITS_PER_WORD >= 4.
10098
10099 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
10100
10101 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_unpacks_lo_<mode>,
10102 aarch64_simd_vec_unpacks_hi_<mode>): New insn.
10103 (vec_unpacks_lo_v4sf, vec_unpacks_hi_v4sf): Delete insn.
10104 (vec_unpacks_lo_<mode>, vec_unpacks_hi_<mode>): New expand.
10105 (aarch64_float_extend_lo_v2df): Rename to...
10106 (aarch64_float_extend_lo_<Vwide>): this, using VDF and so adding V4SF.
10107
10108 * config/aarch64/aarch64-simd-builtins.def (vec_unpacks_hi): Add v8hf.
10109 (float_extend_lo): Add v4sf.
10110
10111 * config/aarch64/arm_neon.h (vcvt_f32_f16, vcvt_high_f32_f16): New.
10112 * config/aarch64/iterators.md (VQ_HSF): New iterator.
10113 (VWIDE, Vwtype, Vhalftype): Add V8HF, V4SF.
10114 (Vwide): New mode_attr.
10115
10116 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
10117
10118 * config/aarch64/aarch64-simd.md (aarch64_simd_dup<mode>,
10119 aarch64_dup_lane<mode>, aarch64_dup_lane_<vswap_width_name><mode>,
10120 aarch64_simd_vec_set<mode>, vec_set<mode>, vec_perm_const<mode>,
10121 vec_init<mode>, *aarch64_simd_ld1r<mode>, vec_extract<mode>): Add
10122 V4HF and V8HF variants to iterator.
10123
10124 * config/aarch64/aarch64.c (aarch64_evpc_dup): Add V4HF and V8HF cases.
10125
10126 * config/aarch64/iterators.md (VDQF_F16): New.
10127 (VSWAP_WIDTH, vswap_width_name): Add V4HF and V8HF cases.
10128
10129 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
10130
10131 * config/aarch64/arm_neon.h (vreinterpret_p8_f16, vreinterpret_p16_f16,
10132 vreinterpret_f16_f64, vreinterpret_f16_s8, vreinterpret_f16_s16,
10133 vreinterpret_f16_s32, vreinterpret_f16_s64, vreinterpret_f16_f32,
10134 vreinterpret_f16_u8, vreinterpret_f16_u16, vreinterpret_f16_u32,
10135 vreinterpret_f16_u64, vreinterpret_f16_p8, vreinterpret_f16_p16,
10136 vreinterpretq_f16_f64, vreinterpretq_f16_s8, vreinterpretq_f16_s16,
10137 vreinterpretq_f16_s32, vreinterpretq_f16_s64, vreinterpretq_f16_f32,
10138 vreinterpretq_f16_u8, vreinterpretq_f16_u16, vreinterpretq_f16_u32,
10139 vreinterpretq_f16_u64, vreinterpretq_f16_p8, vreinterpretq_f16_p16,
10140 vreinterpret_f32_f16, vreinterpret_f64_f16, vreinterpret_s64_f16,
10141 vreinterpret_u64_f16, vreinterpretq_u64_f16, vreinterpret_s8_f16,
10142 vreinterpret_s16_f16, vreinterpret_s32_f16, vreinterpret_u8_f16,
10143 vreinterpret_u16_f16, vreinterpret_u32_f16, vreinterpretq_p8_f16,
10144 vreinterpretq_p16_f16, vreinterpretq_f32_f16, vreinterpretq_f64_f16,
10145 vreinterpretq_s64_f16, vreinterpretq_s8_f16, vreinterpretq_s16_f16,
10146 vreinterpretq_s32_f16, vreinterpretq_u8_f16, vreinterpretq_u16_f16,
10147 vreinterpretq_u32_f16, vget_low_f16, vget_high_f16, vld1_dup_f16,
10148 vld1q_dup_f16): New.
10149
10150 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
10151
10152 * config/aarch64/aarch64-simd.md (aarch64_float_truncate_lo_v2sf):
10153 Reparameterize to...
10154 (aarch64_float_truncate_lo_<mode>): ...this, for both V2SF and V4HF.
10155 (aarch64_float_truncate_hi_v4sf): Reparameterize to...
10156 (aarch64_float_truncate_hi_<Vdbl>): ...this, for both V4SF and V8HF.
10157
10158 * config/aarch64/aarch64-simd-builtins.def (float_truncate_hi_): Add
10159 v8hf variant.
10160 (float_truncate_lo_): Use BUILTIN_VDF iterator.
10161
10162 * config/aarch64/arm_neon.h (vcvt_f16_f32, vcvt_high_f16_f32): New.
10163
10164 * config/aarch64/iterators.md (VDF, Vdtype): New.
10165 (VWIDE, Vmwtype): Add cases for V4HF and V2SF.
10166
10167 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
10168
10169 * config/aarch64/aarch64.c (aarch64_split_simd_combine): Add V4HFmode.
10170 * config/aarch64/aarch64-builtins.c (VAR13, VAR14): New.
10171 (aarch64_scalar_builtin_types, aarch64_init_simd_builtin_scalar_types):
10172 Add __builtin_aarch64_simd_hf.
10173 * config/aarch64/arm_neon.h (float16x4x2_t, float16x8x2_t,
10174 float16x4x3_t, float16x8x3_t, float16x4x4_t, float16x8x4_t,
10175 vcombine_f16, vst2_lane_f16, vst2q_lane_f16, vst3_lane_f16,
10176 vst3q_lane_f16, vst4_lane_f16, vst4q_lane_f16, vld2_f16, vld2q_f16,
10177 vld3_f16, vld3q_f16, vld4_f16, vld4q_f16, vld2_dup_f16, vld2q_dup_f16,
10178 vld3_dup_f16, vld3q_dup_f16, vld4_dup_f16, vld4q_dup_f16,
10179 vld2_lane_f16, vld2q_lane_f16, vld3_lane_f16, vld3q_lane_f16,
10180 vld4_lane_f16, vld4q_lane_f16, vst2_f16, vst2q_f16, vst3_f16,
10181 vst3q_f16, vst4_f16, vst4q_f16, vcreate_f16): New.
10182
10183 * config/aarch64/iterators.md (VALLDIF, Vtype, Vetype, Vbtype,
10184 V_cmp_result, v_cmp_result): Add cases for V4HF and V8HF.
10185 (VDC, Vdbl): Add V4HF.
10186
10187 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
10188
10189 * config/aarch64/aarch64.c (aarch64_vector_mode_supported_p): Support
10190 V4HFmode and V8HFmode.
10191 (aarch64_split_simd_move): Add case for V8HFmode.
10192 * config/aarch64/aarch64-builtins.c (v4hf_UP, v8hf_UP): Define.
10193 (aarch64_simd_builtin_std_type): Handle HFmode.
10194 (aarch64_init_simd_builtin_types): Include Float16x4_t and Float16x8_t.
10195
10196 * config/aarch64/aarch64-simd.md (mov<mode>, aarch64_get_lane<mode>,
10197 aarch64_ld1<VALL:mode>, aarch64_st1<VALL:mode): Use VALL_F16 iterator.
10198 (aarch64_be_ld1<mode>, aarch64_be_st1<mode>): Use VALLDI_F16 iterator.
10199
10200 * config/aarch64/aarch64-simd-builtin-types.def: Add Float16x4_t,
10201 Float16x8_t.
10202
10203 * config/aarch64/aarch64-simd-builtins.def (ld1, st1): Use VALL_F16.
10204 * config/aarch64/arm_neon.h (float16x4_t, float16x8_t, float16_t):
10205 New typedefs.
10206 (vget_lane_f16, vgetq_lane_f16, vset_lane_f16, vsetq_lane_f16,
10207 vld1_f16, vld1q_f16, vst1_f16, vst1q_f16, vst1_lane_f16,
10208 vst1q_lane_f16): New.
10209 * config/aarch64/iterators.md (VD, VQ, VQ_NO2E): Add vectors of HFmode.
10210 (VALLDI_F16, VALL_F16): New.
10211 (Vmtype, VEL, VCONQ, VHALF, V_TWO_ELEM, V_THREE_ELEM, V_FOUR_ELEM, q):
10212 Add cases for V4HF and V8HF.
10213 (VDBL, VRL2, VRL3, VRL4): Add V4HF case.
10214
10215 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
10216
10217 * config/arm/arm-builtins.c (VAR11, VAR12): New.
10218 * config/arm/arm_neon_builtins.def (vcombine, vld2_dup, vld3_dup,
10219 vld4_dup): Add v4hf variant.
10220 (vget_high, vget_low): Add v8hf variant.
10221 (vld1, vst1, vst1_lane, vld2, vld2_lane, vst2, vst2_lane, vld3,
10222 vld3_lane, vst3, vst3_lane, vld4, vld4_lane, vst4, vst4_lane): Add
10223 v4hf and v8hf variants.
10224
10225 * config/arm/iterators.md (VD_LANE, VD_RE, VQ2, VQ_HS): New.
10226 (VDX): Add V4HF.
10227 (V_DOUBLE): Add case for V4HF.
10228 (VQX): Add V8HF.
10229 (V_HALF): Add case for V8HF.
10230 (VDQX): Add V4HF, V8HF.
10231 (V_elem, V_two_elem, V_three_elem, V_four_elem, V_cmp_result,
10232 V_uf_sclr, V_sz_elem, V_mode_nunits, q): Add cases for V4HF & V8HF.
10233
10234 * config/arm/neon.md (vec_set<mode>internal, vec_extract<mode>,
10235 neon_vget_lane<mode>_sext_internal, neon_vget_lane<mode>_zext_internal,
10236 vec_load_lanesoi<mode>, neon_vld2<mode>, vec_store_lanesoi<mode>,
10237 neon_vst2<mode>, vec_load_lanesci<mode>, neon_vld3<mode>,
10238 neon_vld3qa<mode>, neon_vld3qb<mode>, vec_store_lanesci<mode>,
10239 neon_vst3<mode>, neon_vst3qa<mode>, neon_vst3qb<mode>,
10240 vec_load_lanesxi<mode>, neon_vld4<mode>, neon_vld4qa<mode>,
10241 neon_vld4qb<mode>, vec_store_lanesxi<mode>, neon_vst4<mode>,
10242 neon_vst4qa<mode>, neon_vst4qb<mode>): Change VQ iterator to VQ2.
10243
10244 (neon_vcreate, neon_vreinterpretv8qi<mode>,
10245 neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
10246 neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>):
10247 Change VDX to VD_RE.
10248
10249 (neon_vld2_lane<mode>, neon_vst2_lane<mode>, neon_vld3_lane<mode>,
10250 neon_vst3_lane<mode>, neon_vld4_lane<mode>, neon_vst4_lane<mode>):
10251 Change VD iterator to VD_LANE, and VMQ iterator to VQ_HS.
10252
10253 * config/arm/arm_neon.h (float16x4x2_t, float16x8x2_t, float16x4x3_t,
10254 float16x8x3_t, float16x4x4_t, float16x8x4_t, vcombine_f16,
10255 vget_high_f16, vget_low_f16, vld1_f16, vld1q_f16, vst1_f16, vst1q_f16,
10256 vst1_lane_f16, vst1q_lane_f16, vld2_f16, vld2q_f16, vld2_lane_f16,
10257 vld2q_lane_f16, vld2_dup_f16, vst2_f16, vst2q_f16, vst2_lane_f16,
10258 vst2q_lane_f16, vld3_f16, vld3q_f16, vld3_lane_f16, vld3q_lane_f16,
10259 vld3_dup_f16, vst3_f16, vst3q_f16, vst3_lane_f16, vst3q_lane_f16,
10260 vld4_f16, vld4q_f16, vld4_lane_f16, vld4q_lane_f16, vld4_dup_f16,
10261 vst4_f16, vst4q_f16, vst4_lane_f16, vst4q_lane_f16): New.
10262
10263 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
10264
10265 * config/arm/arm_neon.h (vgetq_lane_f16, vsetq_lane_f16, vld1q_lane_f16,
10266 vld1q_dup_f16, vreinterpretq_p8_f16, vreinterpretq_p16_f16,
10267 vreinterpretq_f16_p8, vreinterpretq_f16_p16, vreinterpretq_f16_f32,
10268 vreinterpretq_f16_p64, vreinterpretq_f16_p128, vreinterpretq_f16_s64,
10269 vreinterpretq_f16_u64, vreinterpretq_f16_s8, vreinterpretq_f16_s16,
10270 vreinterpretq_f16_s32, vreinterpretq_f16_u8, vreinterpretq_f16_u16,
10271 vreinterpretq_f16_u32, vreinterpretq_f32_f16, vreinterpretq_p64_f16,
10272 vreinterpretq_p128_f16, vreinterpretq_s64_f16, vreinterpretq_u64_f16,
10273 vreinterpretq_s8_f16, vreinterpretq_s16_f16, vreinterpretq_s32_f16,
10274 vreinterpretq_u8_f16, vreinterpretq_u16_f16, vreinterpretq_u32_f16):
10275 New.
10276
10277 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
10278
10279 * config/arm/arm.h (VALID_NEON_QREG_MODE): Add V8HFmode.
10280
10281 * config/arm/arm.c (arm_vector_mode_supported_p): Support V8HFmode.
10282
10283 * config/arm/arm-builtins.c (v8hf_UP): New.
10284 (arm_init_simd_builtin_types): Initialise Float16x8_t.
10285
10286 * config/arm/arm-simd-builtin-types.def (Float16x8_t): New.
10287
10288 * config/arm/arm_neon.h (float16x8_t): New typedef.
10289
10290 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
10291
10292 * config/arm/arm_neon.h (float16_t, vget_lane_f16, vset_lane_f16,
10293 vcreate_f16, vld1_lane_f16, vld1_dup_f16, vreinterpret_p8_f16,
10294 vreinterpret_p16_f16, vreinterpret_f16_p8, vreinterpret_f16_p16,
10295 vreinterpret_f16_f32, vreinterpret_f16_p64, vreinterpret_f16_s64,
10296 vreinterpret_f16_u64, vreinterpret_f16_s8, vreinterpret_f16_s16,
10297 vreinterpret_f16_s32, vreinterpret_f16_u8, vreinterpret_f16_u16,
10298 vreinterpret_f16_u32, vreinterpret_f32_f16, vreinterpret_p64_f16,
10299 vreinterpret_s64_f16, vreinterpret_u64_f16, vreinterpret_s8_f16,
10300 vreinterpret_s16_f16, vreinterpret_s32_f16, vreinterpret_u8_f16,
10301 vreinterpret_u16_f16, vreinterpret_u32_f16): New.
10302
10303 2015-09-07 Ilya Verbin <ilya.verbin@intel.com>
10304
10305 * config/i386/intelmic-mkoffload.c (prepare_target_image): Handle all
10306 non-alphanumeric characters in the symbol name.
10307
10308 2015-09-07 Marek Polacek <polacek@redhat.com>
10309
10310 PR inline-asm/67448
10311 * gimplify.c (gimplify_asm_expr): Don't allow MODIFY_EXPR as
10312 a memory input.
10313
10314 2015-09-07 Marek Polacek <polacek@redhat.com>
10315
10316 * system.h (INTTYPE_MINIMUM): Rewrite to avoid shift warning.
10317
10318 2015-09-04 Paolo Bonzini <bonzini@gnu.org>
10319
10320 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Do
10321 not warn.
10322
10323 2015-09-04 Jakub Jelinek <jakub@redhat.com>
10324
10325 PR middle-end/67452
10326 * tree-ssa-live.c: Include cfgloop.h.
10327 (remove_unused_locals): Clear loop->simduid if simduid is about
10328 to be removed from cfun->local_decls.
10329
10330 2015-09-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
10331
10332 PR target/65210
10333 * config/avr/avr.c (avr_eval_addr_attrib): Look for io_low
10334 attribute as well.
10335
10336 2015-09-04 Tom de Vries <tom@codesourcery.com>
10337
10338 * doc/invoke.texi (@item -ftrapv, @item -fwrapv): Document interaction.
10339
10340 2015-09-04 Jeff Law <law@redhat.com>
10341
10342 * tree-ssa-scopedtables.c (const_and_copies::const_and_copies): Remove
10343 unnecessary constructor. It's now trivial and implemented inside...
10344 * tree-ssa-scopedtables.h (const_and_copies): Implement trivial
10345 constructor. Add comments to various methods. Remove unused
10346 private fields.
10347 * tree-ssa-dom.c (pass_dominator::execute): Corresponding changes.
10348 * tree-vrp.c (identify_jump_threads): Likewise.
10349 * tree-ssa-threadedge.c (thread_through_normal_block): Fix minor
10350 indentation issues.
10351 (thread_across_edge): Similarly.
10352 (record_temporary_equivalences_from_stmts_at_dest): Remove unused
10353 arguments in constructor call.
10354
10355 2015-09-04 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
10356
10357 * config/i386/intelmic-mkoffload.c (prepare_target_image): Fix if the
10358 temp path contains a '-'.
10359
10360 2015-09-04 Andrey Turetskiy <andrey.turetskiy@intel.com>
10361 Petr Murzin <petr.murzin@intel.com>
10362 Kirill Yukhin <kirill.yukhin@intel.com>
10363
10364 * config/i386/i386-builtin-types.def
10365 (VOID_PFLOAT_HI_V8DI_V16SF_INT): New.
10366 (VOID_PDOUBLE_QI_V16SI_V8DF_INT): Ditto.
10367 (VOID_PINT_HI_V8DI_V16SI_INT): Ditto.
10368 (VOID_PLONGLONG_QI_V16SI_V8DI_INT): Ditto.
10369 * config/i386/i386.c
10370 (ix86_builtins): Add IX86_BUILTIN_SCATTERALTSIV8DF,
10371 IX86_BUILTIN_SCATTERALTDIV16SF, IX86_BUILTIN_SCATTERALTSIV8DI,
10372 IX86_BUILTIN_SCATTERALTDIV16SI.
10373 (ix86_init_mmx_sse_builtins): Define __builtin_ia32_scatteraltsiv8df,
10374 __builtin_ia32_scatteraltdiv8sf, __builtin_ia32_scatteraltsiv8di,
10375 __builtin_ia32_scatteraltdiv8si.
10376 (ix86_expand_builtin): Handle IX86_BUILTIN_SCATTERALTSIV8DF,
10377 IX86_BUILTIN_SCATTERALTDIV16SF, IX86_BUILTIN_SCATTERALTSIV8DI,
10378 IX86_BUILTIN_SCATTERALTDIV16SI.
10379 (ix86_vectorize_builtin_scatter): New.
10380 (TARGET_VECTORIZE_BUILTIN_SCATTER): Define as
10381 ix86_vectorize_builtin_scatter.
10382
10383 2015-09-04 Andrey Turetskiy <andrey.turetskiy@intel.com>
10384 Petr Murzin <petr.murzin@intel.com>
10385 Kirill Yukhin <kirill.yukhin@intel.com>
10386
10387 * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_SCATTER): New.
10388 * doc/tm.texi: Regenerate.
10389 * target.def: Add scatter builtin.
10390 * tree-vectorizer.h: Rename gather_p to gather_scatter_p and use it
10391 for loads/stores in case of gather/scatter accordingly.
10392 (STMT_VINFO_GATHER_SCATTER_P(S)): Use it instead of
10393 STMT_VINFO_GATHER_P(S).
10394 (vect_check_gather): Rename to ...
10395 (vect_check_gather_scatter): this.
10396 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Use
10397 STMT_VINFO_GATHER_SCATTER_P instead of STMT_VINFO_SCATTER_P.
10398 (vect_check_gather_scatter): Use it instead of vect_check_gather.
10399 (vect_analyze_data_refs): Add gatherscatter enum and maybe_scatter
10400 variable and new checkings for it accordingly.
10401 * tree-vect-stmts.c
10402 (STMT_VINFO_GATHER_SCATTER_P(S)): Use it instead of
10403 STMT_VINFO_GATHER_P(S).
10404 (vect_check_gather_scatter): Use it instead of vect_check_gather.
10405 (vectorizable_store): Add checkings for STMT_VINFO_GATHER_SCATTER_P.
10406
10407 2015-09-03 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
10408
10409 * config/rs6000/altivec.md (altivec_vperm_v8hiv16qi): New
10410 define_insn.
10411 (mulv16qi3): New define_expand.
10412
10413 2015-09-03 Martin Sebor <msebor@redhat.com>
10414
10415 PR c/66516
10416 * doc/extend.texi (Other Builtins): Document when the address
10417 of a built-in function can be taken.
10418
10419 2015-09-03 Richard Biener <rguenther@suse.de>
10420
10421 * dwarf2out.c (flush_limbo_die_list): Split out from ...
10422 (dwarf2out_early_finish): ... here.
10423 (dwarf2out_finish): Do not call dwarf2out_early_finish but
10424 flush_limbo_die_list. Assert we have no deferred asm names.
10425
10426 2015-09-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10427
10428 * optabs.c (expand_binop): Don't create a broadcast vector with a
10429 source element wider than the inner mode.
10430
10431 2015-09-03 Richard Biener <rguenther@suse.de>
10432
10433 * varasm.c (output_constant): Use fold_convert instead of
10434 wide_int_to_tree.
10435
10436 2015-09-03 Tom de Vries <tom@codesourcery.com>
10437
10438 PR tree-optimization/65637
10439 * omp-low.c (expand_omp_for_static_chunk): Handle case that
10440 fin_bb has 2 predecessors.
10441
10442 2015-09-03 Tom de Vries <tom@codesourcery.com>
10443
10444 PR tree-optimization/65637
10445 * omp-low.c (find_phi_with_arg_on_edge): New function.
10446 (expand_omp_for_static_chunk): Fix inner loop phi.
10447
10448 2015-09-03 Tom de Vries <tom@codesourcery.com>
10449
10450 PR tree-optimization/65637
10451 * omp-low.c (expand_omp_for_static_chunk): Fix gcc_assert for the case
10452 that head is NULL.
10453
10454 2015-09-03 Tom de Vries <tom@codesourcery.com>
10455
10456 * omp-low.c (expand_omp_for_static_chunk): Handle simple latch bb.
10457
10458 2015-09-03 Tom de Vries <tom@codesourcery.com>
10459
10460 * doc/invoke.texi (parloops-chunk-size): Add item.
10461 * params.def (PARAM_PARLOOPS_CHUNK_SIZE): Add DEFPARAM.
10462 * tree-parloops.c: Include params.h.
10463 (create_parallel_loop): Set chunk-size of schedule of omp-for loop, if
10464 param parloops-chunk-size is used.
10465
10466 2015-09-03 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
10467
10468 PR middle-end/67351
10469 * fold-const.c (fold_binary_loc) : Move
10470 Transform (x >> c) << c into x & (-1<<c) or
10471 transform (x << c) >> c into x & ((unsigned)-1 >> c) for unsigned
10472 types using simplify and match.
10473 * match.pd (lshift (rshift @0 INTEGER_CST@1) @1) : New simplifier.
10474 (rshift (lshift @0 INTEGER_CST@1) @1) : New Simplifier
10475
10476 2015-09-03 Richard Biener <rguenther@suse.de>
10477
10478 PR ipa/66705
10479 * tree-ssa-structalias.c (ctor_for_analysis): New function.
10480 (create_variable_info_for_1): Use ctor_for_analysis instead
10481 of get_constructor.
10482 (create_variable_info_for): Likewise.
10483
10484 2015-09-02 Charles Baylis <charles.baylis@linaro.org>
10485
10486 PR ipa/67280
10487 * cgraphunit.c (cgraph_node::create_wrapper): Set can_throw_external
10488 in new callgraph edge.
10489
10490 2015-09-02 Christophe Lyon <christophe.lyon@linaro.org>
10491
10492 PR target/59810
10493 PR target/63652
10494 PR target/63653
10495 * config/aarch64/aarch64-simd.md
10496 (aarch64_ld<VSTRUCT:nregs><VQ:mode>): Call
10497 gen_aarch64_simd_ld<VSTRUCT:nregs><VQ:mode>.
10498 (aarch64_st<VSTRUCT:nregs><VQ:mode>): Call
10499 gen_aarch64_simd_st<VSTRUCT:nregs><VQ:mode>.
10500
10501 2015-09-02 Alan Modra <amodra@gmail.com>
10502
10503 * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Don't define.
10504 * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Likewise.
10505 (LINK_SPEC, SUBTARGET_EXTRA_SPECS): Delete link_target.
10506
10507 2015-09-02 Alan Modra <amodra@gmail.com>
10508
10509 PR target/67417
10510 * config/rs6000/predicates.md (current_file_function_operand): Don't
10511 return true for weak symbols.
10512 * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Likewise.
10513
10514 2015-09-01 Matthew Fortune <matthew.fortune@imgtec.com>
10515 Andrew Bennett <andrew.bennett@imgtec.com>
10516
10517 * config/mips/mips-opts.h (mips_cb_setting): New enum.
10518 * config/mips/mips-protos.h: Add definitions for
10519 mips_output_jump and mips_output_equal_conditional_branch
10520 * config/mips/mips.c (MIPS_JR): Change to support the
10521 JIC instruction.
10522 (mips_emit_compare): Add support for the MIPS R6 conditional
10523 compact branches.
10524 (mips_process_sync_loop): Likewise.
10525 (mips_output_order_conditional_branch): Likewise.
10526 (mips16_build_call_stub): Change MIPS_CALL to
10527 mips_output_jump.
10528 (mips_print_operand_punctuation): Update 's' case to only
10529 apply to micromips r2.
10530 (mips_adjust_insn_length): Add support for forbidden slot
10531 hazards.
10532 (mips_avoid_hazard): Likewise.
10533 (mips_reorg_process_insns): Likewise.
10534 (mips_output_jump): New function.
10535 (mips_output_equal_conditional_branch): Likewise.
10536 (mips_output_conditional_branch): Use jrc/bc if compact
10537 branch support is enabled. Ensure the forbidden slots
10538 between the two branch instructions is filled with a nop.
10539 (mips_option_override): Add support to process the compact
10540 branch option and set the correct defaults. Prevent
10541 non-explict relocs being using for MIPS R6.
10542 (mips_trampoline_init): Add compact branch support.
10543 (mips_mult_zero_zero_cost): Allow zero initialisation of
10544 accumulators with TARGET_DSP.
10545 * config/mips/mips.h (TARGET_CB_NEVER): New define.
10546 (TARGET_CB_MAYBE): New define.
10547 (TARGET_CB_ALWAYS): New define.
10548 (ISA_HAS_DELAY_SLOTS): New define.
10549 (ISA_HAS_COMPACT_BRANCHES): New define.
10550 (ISA_HAS_JRC): New define.
10551 (MIPS_BRANCH_C): New define.
10552 (MIPS_CALL): Removed.
10553 (MICROMIPS_J): Removed.
10554 * config/mips/mips.md (compact_form): New attr.
10555 (hazard): Add support for forbidden slots.
10556 (define_delay): Add support for compact branches.
10557 (*branch_order<mode>): Likewise.
10558 (*branch_order<mode>_inverted): Likewise.
10559 (*branch_equality<mode>): Likewise.
10560 (*branch_equality<mode>_inverted): Likewise.
10561 (*jump_absolute): Likewise.
10562 (*jump_pic): Likewise.
10563 (indirect_jump): Use mips_output_jump to produce assembly output.
10564 (tablejump_<mode>"): Likewise.
10565 (*<optab>"): Likewise.
10566 (<optab>_internal): Likewise.
10567 (sibcall_internal): Likewise.
10568 (sibcall_value_internal): Likewise.
10569 (sibcall_value_multiple_internal): Likewise.
10570 (call_internal): Likewise.
10571 (call_split): Likewise.
10572 (call_internal_direct): Likewise.
10573 (call_direct_split): Likewise.
10574 (call_value_internal): Likewise.
10575 (call_value_split): Likewise.
10576 (call_value_internal_direct): Likewise.
10577 (call_value_direct_split): Likewise.
10578 (call_value_multiple_internal): Likewise.
10579 (call_value_multiple_split): Likewise.
10580 (mips_get_fcsr_mips16_<mode>): Likewise.
10581 (mips_set_fcsr_mips16_<mode>): Likewise.
10582 (tls_get_tp_mips16_<mode>): Likewise.
10583 * config/mips/mips.opt: Add -mcompact-branches option.
10584 * config/mips/predicates.md (order_operator): Ensure the
10585 conditional compact branches are only used if the ISA them.
10586 * doc/invoke.texi: Document -mcompact-branches option.
10587
10588 2015-09-01 Vladimir Makarov <vmakarov@redhat.com>
10589
10590 PR target/61578
10591 * lra-lives.c (process_bb_lives): Process move pseudos with the
10592 same value for copies and preferences
10593 * lra-constraints.c (match_reload): Create match reload pseudo
10594 with the same value from single dying input pseudo.
10595
10596 2015-09-01 Ilya Enkovich <enkovich.gnu@gmail.com>
10597
10598 PR target/67405
10599 * tree-chkp.c (chkp_find_bound_slots_1): Add NULL check.
10600
10601 2015-09-01 Aldy Hernandez <aldyh@redhat.com>
10602
10603 * trans-mem.c: Add contributed-by.
10604 * trans-mem.h: Same.
10605
10606 2015-09-01 Richard Biener <rguenther@suse.de>
10607
10608 * expr.c (expand_expr_real_1): For expanding TERed defs
10609 set the current location to that of the def if not UNKNOWN.
10610
10611 2015-09-01 David Sherwood <david.sherwood@arm.com>
10612
10613 * genmodes.c: Add CONST_MODE_UNIT_SIZE modifier.
10614
10615 2015-09-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10616
10617 * ifcvt.c (struct noce_if_info): Add then_simple, else_simple,
10618 then_cost, else_cost fields. Change branch_cost field to unsigned int.
10619 (end_ifcvt_sequence): Call set_used_flags on each insn in the sequence.
10620 Include rtl-iter.h.
10621 (noce_simple_bbs): New function.
10622 (noce_try_move): Bail if basic blocks are not simple.
10623 (noce_try_store_flag): Likewise.
10624 (noce_try_store_flag_constants): Likewise.
10625 (noce_try_addcc): Likewise.
10626 (noce_try_store_flag_mask): Likewise.
10627 (noce_try_cmove): Likewise.
10628 (noce_try_minmax): Likewise.
10629 (noce_try_abs): Likewise.
10630 (noce_try_sign_mask): Likewise.
10631 (noce_try_bitop): Likewise.
10632 (bbs_ok_for_cmove_arith): New function.
10633 (noce_emit_all_but_last): Likewise.
10634 (noce_emit_insn): Likewise.
10635 (noce_emit_bb): Likewise.
10636 (noce_try_cmove_arith): Handle non-simple basic blocks.
10637 (insn_valid_noce_process_p): New function.
10638 (contains_mem_rtx_p): Likewise.
10639 (bb_valid_for_noce_process_p): Likewise.
10640 (noce_process_if_block): Allow non-simple basic blocks
10641 where appropriate.
10642
10643 2015-08-31 Alan Lawrence <alan.lawrence@arm.com>
10644
10645 * tree-ssa-dom.c (record_equivalences_from_phis,
10646 record_equivalences_from_stmt, optimize_stmt): Use dom_valueize.
10647 (lookup_avail_expr): Likewise, and remove comment and unused temp.
10648
10649 2015-09-01 Nick Clifton <nickc@redhat.com>
10650
10651 * config/msp430/msp430.opt (mcpu): Fix typo.
10652
10653 2015-09-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10654
10655 * config/aarch64/aarch64.c (aarch64_set_current_function):
10656 Re-layout any vector parameters have non-simd layout.
10657 * config/aarch64/aarch64-builtins.c (aarch64_relayout_simd_param):
10658 Delete.
10659 (aarch64_simd_expand_args): Delete call to the above.
10660
10661 2015-08-31 Mike Frysinger <vapier@gentoo.org>
10662
10663 * doc/invoke.texi (asan-stack): Add space before option.
10664
10665 2015-08-31 Marc Glisse <marc.glisse@inria.fr>
10666
10667 * tree.h (zerop): New function.
10668 * tree.c (zerop): Likewise.
10669 (element_precision): Handle expressions.
10670 * match.pd (define_predicates): Add zerop.
10671 (x <= +Inf): Fix comment.
10672 (abs (x) == 0, A & C == C, A & C != 0): Converted from ...
10673 * fold-const.c (fold_binary_loc): ... here. Remove.
10674
10675 2015-08-31 Richard Biener <rguenther@suse.de>
10676
10677 PR middle-end/67381
10678 * genmatch.c (dt_node::gen_kids): Also treat matches as barrier.
10679
10680 2015-08-31 Marc Glisse <marc.glisse@inria.fr>
10681
10682 * match.pd (SIN, COS, TAN, COSH): Reorder for consistency.
10683 (CEXPI): New operator list.
10684 (real (conj (x)), imag (conj (x)), real (x +- y), real (cexpi (x)),
10685 imag (cexpi (x)), conj (conj (x)), conj (complex (x, y))):
10686 Converted from ...
10687 * fold-const.c (fold_unary_loc, fold_binary_loc): ... here. Remove.
10688
10689 2015-08-31 Tom de Vries <tom@codesourcery.com>
10690
10691 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt)
10692 (find_uses_to_rename_bb, find_uses_to_rename): Add and handle use_flags
10693 parameter.
10694 (find_uses_to_rename_def, find_uses_to_rename_in_loop): New function.
10695 (rewrite_into_loop_closed_ssa_1): New function, factored out of ...
10696 (rewrite_into_loop_closed_ssa): ... here.
10697 (replace_uses_in_dominated_bbs): Remove function.
10698 (rewrite_virtuals_into_loop_closed_ssa): Reimplement using
10699 rewrite_into_loop_closed_ssa_1.
10700
10701 2015-08-31 Michael Matz <matz@suse.de>
10702
10703 * cfganal.c (pre_and_rev_post_order_compute_fn): Correctly
10704 enter entry and exit blocks for reverse post order.
10705
10706 2015-08-31 Richard Biener <rguenther@suse.de>
10707
10708 * lto-streamer.h (lto_location_cache::cached_location::sysp): Add.
10709 (lto_location_cache::current_sysp): Likewise.
10710 (output_block::current_sysp): Likewise.
10711 * lto-streamer-in.c (lto_location_cache::cmp_loc): Compare sysp.
10712 (lto_location_cache::apply_location_cache): Properly record
10713 system header locations.
10714 (lto_location_cache::input_location): Input whether a file
10715 is a system header.
10716 * lto-streamer-out.c (lto_output_location): Stream whether a file
10717 is a system header.
10718
10719 2015-08-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10720
10721 PR bootstrap/67363
10722 * gcc.c (env_manager::xput): Replace strndup by xstrndup.
10723
10724 2015-08-31 Tom de Vries <tom@codesourcery.com>
10725
10726 * tree-ssa-loop-manip.c (find_uses_to_rename_use)
10727 (find_uses_to_rename_stmt, find_uses_to_rename_bb, find_uses_to_rename):
10728 Improve function header comments.
10729
10730 2015-08-30 Michael Collison <michael.collison@linaro.org>
10731
10732 PR other/67320
10733 * doc.md.texi: Rename [su]sum_widen to widen_[su]sum to reflect correct
10734 standard names
10735
10736 2015-08-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10737
10738 * config/rs6000/rs6000.c (swap_web_entry): Enlarge
10739 special_handling bitfield.
10740 (special_handling_values): Add SH_XXPERMDI and SH_CONCAT.
10741 (rtx_is_swappable_p): Add handling for vec_select/vec_concat form
10742 that represents a general xxpermdi.
10743 (insn_is_swappable_p): Add handling for vec_concat of two
10744 doublewords, which maps to a specific xxpermdi.
10745 (adjust_xxpermdi): New function.
10746 (adjust_concat): Likewise.
10747 (handle_special_swappables): Call adjust_xxpermdi and
10748 adjust_concat.
10749 (dump_swap_insn_table): Handle SH_XXPERMDI and SH_CONCAT.
10750
10751 2015-08-30 Rich Felker <dalias@libc.org>
10752
10753 * config.gcc (supported_defaults): Handle sh[123456ble]*-*-*
10754 case instead of sh[123456ble]-*-*.
10755
10756 2015-08-29 Anatoly Sokolov <aesok@post.ru>
10757
10758 * ira.c (print_unform_and_important_classes,
10759 print_translated_classes): Remove reg_class_names static array.
10760 (print_unform_and_important_classes): Rename to ...
10761 (print_uniform_and_important_classes): ... this.
10762 (ira_debug_allocno_classes): Update accordingly.
10763
10764 2015-08-29 Tom de Vries <tom@codesourcery.com>
10765
10766 PR tree-optimization/46193
10767 * omp-low.c (omp_reduction_init): Handle pointer type for min or max
10768 clause.
10769
10770 2015-08-28 Jeff Law <law@redhat.com>
10771
10772 PR lto/66752
10773 * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
10774 unable to find X NE 0 in the tables, return X as the simplified
10775 condition.
10776 (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
10777 in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH
10778 to VISISTED_BBS.
10779 * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
10780 after removing the control flow statement and unnecessary edges.
10781
10782 2015-08-28 Alan Lawrence <alan.lawrence@arm.com>
10783
10784 Revert:
10785 2015-08-27 Alan Lawrence <alan.lawrence@arm.com>
10786
10787 PR tree-optimization/67283
10788 * tree-sra.c (type_consists_of_records_p): Rename to...
10789 (scalarizable_type_p): ...this, add case for ARRAY_TYPE.
10790
10791 (completely_scalarize_record): Rename to...
10792 (completely_scalarize): ...this, add ARRAY_TYPE case, move some
10793 code to:
10794 (scalarize_elem): New.
10795
10796 2015-08-28 Jiong Wang <jiong.wang@arm.com>
10797
10798 * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Rename
10799 SYMBOL_SMALL_GOTTPREL to SYMBOL_SMALL_TLSIE.
10800 (aarch64_symbol_type): Likewise.
10801 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
10802 Likewise.
10803 (aarch64_expand_mov_immediate): Likewise.
10804 (aarch64_print_operand): Likewise.
10805 (aarch64_classify_tls_symbol): Likewise.
10806
10807 2015-08-28 Richard Biener <rguenther@suse.de>
10808
10809 * cgraphunit.c (symbol_table::compile): Move early debug generation
10810 and finish...
10811 (symbol_table::finalize_compilation_unit): ... back here and
10812 add a !seen_error () guard.
10813
10814 2015-08-27 Sebastian Pop <s.pop@samsung.com>
10815
10816 * toplev.c (process_options): Do not use flag_loop_block,
10817 flag_loop_interchange, and flag_loop_strip_mine. Add check for
10818 flag_loop_optimize_isl.
10819
10820 2015-08-27 Sebastian Pop <s.pop@samsung.com>
10821
10822 * Makefile.in (OBJS): Remove graphite-blocking.o and
10823 graphite-interchange.o.
10824 * common.opt (floop-strip-mine, floop-interchange, floop-block):
10825 Alias of floop-nest-optimize.
10826 * doc/invoke.texi (floop-strip-mine, floop-interchange, floop-block):
10827 Document as alias of -floop-nest-optimize.
10828 * graphite-blocking.c: Remove.
10829 * graphite-interchange.c: Remove.
10830 * graphite-optimize-isl.c: Include dumpfile.h.
10831 (getScheduleForBand): Add dump for tiled loops. Use
10832 PARAM_LOOP_BLOCK_TILE_SIZE instead of hard coded constant.
10833 * graphite-poly.c (scop_max_loop_depth): Remove.
10834 (print_scattering_function_1): Remove.
10835 (print_scattering_function): Remove.
10836 (print_scattering_functions): Remove.
10837 (debug_scattering_function): Remove.
10838 (debug_scattering_functions): Remove.
10839 (apply_poly_transforms): Remove use of flag_loop_block,
10840 flag_loop_strip_mine, and flag_loop_interchange.
10841 (new_poly_bb): Remove use of PBB_TRANSFORMED, PBB_SAVED, and
10842 PBB_ORIGINAL.
10843 (print_pdr_access_layout): Remove.
10844 (print_pdr): Print ISL representation.
10845 (new_scop): Remove use of SCOP_ORIGINAL_SCHEDULE,
10846 SCOP_TRANSFORMED_SCHEDULE, and SCOP_SAVED_SCHEDULE.
10847 (free_scop): Same.
10848 (openscop_print_pbb_domain): Remove.
10849 (print_pbb): Remove call to print_scattering_function.
10850 (openscop_print_scop_context): Remove.
10851 (print_scop_context): Do not print matrices anymore.
10852 (print_scop): Do not print SCOP_ORIGINAL_SCHEDULE and
10853 SCOP_TRANSFORMED_SCHEDULE.
10854 (print_isl_set): Add printing of a new line.
10855 (print_isl_map): Same.
10856 (print_isl_aff): Same.
10857 (print_isl_constraint): Same.
10858 (loop_to_lst): Remove.
10859 (scop_to_lst): Remove.
10860 (lst_indent_to): Remove.
10861 (print_lst): Remove.
10862 (debug_lst): Remove.
10863 (dot_lst_1): Remove.
10864 (dot_lst): Remove.
10865 (reverse_loop_at_level): Remove.
10866 (reverse_loop_for_pbbs): Remove.
10867 * graphite-poly.h (pdr_dim_iter_domain): Remove.
10868 (pdr_nb_params): Remove.
10869 (pdr_alias_set_dim): Remove.
10870 (pdr_subscript_dim): Remove.
10871 (pdr_iterator_dim): Remove.
10872 (pdr_parameter_dim): Remove.
10873 (same_pdr_p): Remove.
10874 (struct poly_scattering): Remove.
10875 (struct poly_bb): Remove _original, _transformed, _saved.
10876 (PBB_DOMAIN, PBB_ORIGINAL, PBB_ORIGINAL_SCATTERING): Remove.
10877 (PBB_TRANSFORMED, PBB_TRANSFORMED_SCATTERING, PBB_SAVED): Remove.
10878 (PBB_NB_LOCAL_VARIABLES): Remove.
10879 (PBB_NB_SCATTERING_TRANSFORM): Remove.
10880 (schedule_to_scattering): Remove.
10881 (number_of_write_pdrs): Remove.
10882 (pbb_dim_iter_domain): Remove.
10883 (pbb_nb_params): Remove.
10884 (pbb_nb_scattering_orig): Remove.
10885 (pbb_nb_scattering_transform): Remove.
10886 (pbb_nb_dynamic_scattering_transform): Remove.
10887 (pbb_nb_local_vars): Remove.
10888 (pbb_iterator_dim): Remove.
10889 (pbb_parameter_dim): Remove.
10890 (psco_scattering_dim): Remove.
10891 (psct_scattering_dim): Remove.
10892 (psct_local_var_dim): Remove.
10893 (psco_iterator_dim): Remove.
10894 (psct_iterator_dim): Remove.
10895 (psco_parameter_dim): Remove.
10896 (psct_parameter_dim): Remove.
10897 (psct_dynamic_dim): Remove.
10898 (psct_static_dim): Remove.
10899 (psct_add_local_variable): Remove.
10900 (new_lst_loop): Remove.
10901 (new_lst_stmt): Remove.
10902 (free_lst): Remove.
10903 (copy_lst): Remove.
10904 (lst_add_loop_under_loop): Remove.
10905 (lst_depth): Remove.
10906 (lst_dewey_number): Remove.
10907 (lst_dewey_number_at_depth): Remove.
10908 (lst_pred): Remove.
10909 (lst_succ): Remove.
10910 (lst_find_pbb): Remove.
10911 (find_lst_loop): Remove.
10912 (lst_find_first_pbb): Remove.
10913 (lst_empty_p): Remove.
10914 (lst_find_last_pbb): Remove.
10915 (lst_contains_p): Remove.
10916 (lst_contains_pbb): Remove.
10917 (lst_create_nest): Remove.
10918 (lst_remove_from_sequence): Remove.
10919 (lst_remove_loop_and_inline_stmts_in_loop_father): Remove.
10920 (lst_niter_for_loop): Remove.
10921 (pbb_update_scattering): Remove.
10922 (lst_update_scattering_under): Remove.
10923 (lst_update_scattering): Remove.
10924 (lst_insert_in_sequence): Remove.
10925 (lst_replace): Remove.
10926 (lst_substitute_3): Remove.
10927 (lst_distribute_lst): Remove.
10928 (lst_remove_all_before_including_pbb): Remove.
10929 (lst_remove_all_before_excluding_pbb): Remove.
10930 (struct scop): Remove original_schedule, transformed_schedule, and
10931 saved_schedule.
10932 (SCOP_ORIGINAL_SCHEDULE, SCOP_TRANSFORMED_SCHEDULE): Remove.
10933 (SCOP_SAVED_SCHEDULE): Remove.
10934 (poly_scattering_new): Remove.
10935 (poly_scattering_free): Remove.
10936 (poly_scattering_copy): Remove.
10937 (store_scattering_pbb): Remove.
10938 (store_lst_schedule): Remove.
10939 (restore_lst_schedule): Remove.
10940 (store_scattering): Remove.
10941 (restore_scattering_pbb): Remove.
10942 (restore_scattering): Remove.
10943 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons):
10944 Remove scattering_dimensions. Do not use pbb_dim_iter_domain:
10945 compute the scattering polyhedron dimension from the dimension of
10946 pbb->domain.
10947 (build_scop_scattering): Update call to
10948 build_pbb_scattering_polyhedrons.
10949 (build_poly_scop): Remove call to scop_to_lst.
10950 * graphite.c (graphite_transform_loops): Add call to print_scop.
10951 (gate_graphite_transforms): Remove use of flag_loop_block,
10952 flag_loop_interchange, and flag_loop_strip_mine.
10953
10954 2015-08-27 Sebastian Pop <s.pop@samsung.com>
10955
10956 * common.opt (floop-unroll-and-jam): Make alias of floop-nest-optimize.
10957 * doc/invoke.texi (-floop-unroll-and-jam): Document as alias of
10958 -floop-nest-optimize.
10959 * graphite-isl-ast-to-gimple.c (generate_luj_sepclass_opt): Remove.
10960 (generate_luj_sepclass): Remove.
10961 (generate_luj_options): Remove.
10962 (set_options): Remove opt_luj.
10963 (scop_to_isl_ast): Remove opt_luj.
10964 * graphite-optimize-isl.c (getScheduleForBand): Remove check for
10965 flag_loop_unroll_jam.
10966 (getPrevectorMap_full): Remove.
10967 (getScheduleForBandList): Remove map_sepcl.
10968 (getScheduleMap): Same.
10969 (apply_schedule_map_to_scop): Remove sepcl.
10970 (optimize_isl): Same.
10971 * graphite-poly.c (apply_poly_transforms): Remove check for
10972 flag_loop_unroll_jam.
10973 (new_poly_bb): Remove map_sepclass.
10974 * graphite-poly.h (struct poly_bb): Same.
10975 * graphite.c (gate_graphite_transforms): Remove flag_loop_unroll_jam.
10976 * params.def (PARAM_LOOP_UNROLL_JAM_SIZE)
10977 (PARAM_LOOP_UNROLL_JAM_DEPTH): Remove.
10978 * toplev.c (process_options): Remove flag_loop_unroll_jam.
10979
10980 2015-08-27 Uros Bizjak <ubizjak@gmail.com>
10981
10982 PR target/67317
10983 * config/i386/i386.md (*add<mode>3_cc): Remove insn pattern.
10984 (addqi3_cc): Ditto.
10985 (UNSPEC_ADD_CARRY): Remove.
10986 (addqi3_cconly_overflow): New expander.
10987 (*add<dwi>3_doubleword): Split to add<mode>3_cconly_overflow.
10988 Adjust for changed add<mode>3_carry.
10989 (*neg<dwi>2_doubleword): Adjust for changed add<mode>3_carry.
10990 (*sub<dwi>3_doubleword): Adjust for changed sub<mode>3_carry.
10991 (<plusminus_insn><mode>3_carry): Remove expander.
10992 (*<plusminus_insn><mode>3_carry): Split insn pattern to
10993 add<mode>3_carry and sub<mode>3_carry.
10994 (plusminus_carry_mnemonic): Remove code attribute.
10995 (add<mode>3_carry): Canonicalize insn pattern.
10996 (*addsi3_carry_zext): Ditto.
10997 (sub<mode>3_carry): Ditto.
10998 (*subsi3_carry_zext): Ditto.
10999 (adcx<mode>3): Remove insn pattern.
11000 (addcarry<mode>): New insn pattern.
11001 (subborrow<mode>): Ditto.
11002 * config/i386/i386.c (ix86_expand_strlensi_unroll_1): Use
11003 gen_addqi3_cconly_overflow instead of gen_addqi3_cc.
11004 (ix86_expand_builtin) <case IX86_BUILTIN_SBB32,
11005 case IX86_BUILTIN_SBB64, case IX86_BUILTIN_ADDCARRY32,
11006 case IX86_BUILTIN_ADDCARRY64>: Use CODE_FOR_subborrowsi,
11007 CODE_FOR_subborrowdi, CODE_FOR_addcarrysi and CODE_FOR_addcarrydi.
11008 Rewrite expander to not clobber carry flag chains.
11009
11010 2015-08-27 Pat Haugen <pthaugen@us.ibm.com>
11011
11012 * config/rs6000/vector.md (vec_shr_<mode>): Fix to do a shift
11013 instead of a rotate.
11014
11015 2015-08-27 Marek Polacek <polacek@redhat.com>
11016
11017 PR middle-end/67005
11018 * tree-ssa-dce.c (remove_dead_stmt): Also schedule fixup if removing
11019 an entry into an irreducible region.
11020
11021 2015-08-27 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11022
11023 * configure: Regenerate.
11024
11025 2015-08-27 Alan Lawrence <alan.lawrence@arm.com>
11026
11027 PR tree-optimization/67283
11028 * tree-sra.c (type_consists_of_records_p): Rename to...
11029 (scalarizable_type_p): ...this, add case for ARRAY_TYPE.
11030
11031 (completely_scalarize_record): Rename to...
11032 (completely_scalarize): ...this, add ARRAY_TYPE case, move some code to:
11033 (scalarize_elem): New.
11034
11035 2015-08-27 Alan Lawrence <alan.lawrence@arm.com>
11036
11037 * tree-sra.c (completely_scalarize_var): Rename to...
11038 (create_total_scalarization_access): ... Here. Drop call to
11039 completely_scalarize_record.
11040
11041 (analyze_all_variable_accesses): Replace completely_scalarize_var
11042 with create_total_scalarization_access and completely_scalarize_record.
11043
11044 2015-08-27 Alan Modra <amodra@gmail.com>
11045
11046 PR target/67356
11047 * config/rs6000/rs6000.md (ior<mode>_mask): Use constraint "0"
11048 for operand 1.
11049
11050 2015-08-27 Richard Biener <rguenther@suse.de>
11051
11052 * passes.c (rest_of_decl_compilation): Guard early_global_decl
11053 call with !seen_error ().
11054 * cgraphunit.c (symbol_table::finalize_compilation_unit): Move
11055 early debug generation and finish...
11056 (symbol_table::compile): ... here to put it after a !seen_error ()
11057 guard.
11058
11059 2015-08-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11060
11061 * config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit on
11062 Solaris 12+.
11063
11064 2015-08-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
11065 Andre Vieira <andre.simoesdiasvieira@arm.com>
11066
11067 * config/aarch64/aarch64.md (*condjump): Handle functions > 1 MiB.
11068 (*cb<optab><mode>1): Likewise.
11069 (*tb<optab><mode>1): Likewise.
11070 (*cb<optab><mode>1): Likewise.
11071 * config/aarch64/iterators.md (inv_cb): New code attribute.
11072 (inv_tb): Likewise.
11073 * config/aarch64/aarch64.c (aarch64_gen_far_branch): New.
11074 * config/aarch64/aarch64-protos.h (aarch64_gen_far_branch): New.
11075
11076 2015-08-27 Richard Biener <rguenther@suse.de>
11077
11078 * ipa.c (cgraph_build_static_cdtor_1): Set DECL_IGNORED_P.
11079
11080 2015-08-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
11081
11082 * config/s390/s390.c (s390_emit_prologue): Add emit_barrier() after
11083 trap to fix ICE.
11084
11085 2015-08-26 Michael Meissner <meissner@linux.vnet.ibm.com>
11086
11087 * config/rs6000/rs6000-protos.h (rs6000_expand_float128_convert):
11088 Add declaration.
11089
11090 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Fix a
11091 comment.
11092 (rs6000_cannot_change_mode_class): Add support for IEEE 128-bit
11093 floating point in VSX registers.
11094 (rs6000_output_move_128bit): Always print out the set insn if we
11095 can't generate an appropriate 128-bit move.
11096 (rs6000_generate_compare): Add support for IEEE 128-bit floating
11097 point in VSX registers comparisons.
11098 (rs6000_expand_float128_convert): Likewise.
11099
11100 * config/rs6000/predicates.md (int_reg_operand_not_pseudo): New
11101 predicate for only GPR hard registers.
11102
11103 * config/rs6000/rs6000.md (FP): Add IEEE 128-bit floating point
11104 modes to iterators. Add new iterators for moving 128-bit values in
11105 scalar FPR registers and VSX registers.
11106 (FMOVE128): Likewise.
11107 (FMOVE128_FPR): Likewise.
11108 (FMOVE128_GPR): Likewise.
11109 (FMOVE128_VSX): Likewise.
11110 (FLOAT128_SFDFTF): New iterators for IEEE 128-bit floating point
11111 in VSX registers.
11112 (IFKF): Likewise.
11113 (IBM128): Likewise.
11114 (TFIFKF): Likewise.
11115 (RELOAD): Add IEEE 128-bit floating point modes.
11116 (signbittf2): Convert TF insns to add support for new IEEE 128-bit
11117 floating point in VSX registers modes.
11118 (signbit<mode>2, IBM128 iterator): Likewise.
11119 (mov<mode>_64bit_dm, FMOVE128_FPR iterator): Likewise.
11120 (mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
11121 (negtf2): Likewise.
11122 (neg<mode>2, TFIFKF iterator): Likewise.
11123 (negtf2_internal): Likewise.
11124 (abstf2): Likewise.
11125 (abs<mode>2, TFIFKF iterator): Likewise.
11126 (ieee_128bit_negative_zero): New IEEE 128-bit floating point in
11127 VSX insn support for negate, absolute value, and negative absolute
11128 value.
11129 (ieee_128bit_vsx_neg<mode>2): Likewise.
11130 (ieee_128bit_vsx_neg<mode>2_internal): Likewise.
11131 (ieee_128bit_vsx_abs<mode>2): Likewise.
11132 (ieee_128bit_vsx_abs<mode>2_internal): Likewise.
11133 (ieee_128bit_vsx_nabs<mode>2): Likewise.
11134 (ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
11135 (FP128_64): Update pack/unpack 128-bit insns for IEEE 128-bit
11136 floating point in VSX registers.
11137 (unpack<mode>_dm): Likewise.
11138 (unpack<mode>_nodm): Likewise.
11139 (pack<mode>): Likewise.
11140 (unpackv1ti): Likewise.
11141 (unpack<mode>, FMOVE128_VSX iterator): Likewise.
11142 (packv1ti): Likewise.
11143 (pack<mode>, FMOVE128_VSX iterator): Likewise.
11144 (extenddftf2): Add support for IEEE 128-bit floating point in VSX
11145 registers.
11146 (extenddftf2_internal): Likewise.
11147 (trunctfdf2): Likewise.
11148 (trunctfdf2_internal2): Likewise.
11149 (fix_trunc_helper): Likewise.
11150 (fix_trunctfdi2"): Likewise.
11151 (floatditf2): Likewise.
11152 (floatuns<mode>tf2): Likewise.
11153 (extend<FLOAT128_SFDFTF:mode><IFKF:mode>2): Likewise.
11154 (trunc<IFKF:mode><FLOAT128_SFDFTF:mode>2): Likewise.
11155 (fix_trunc<IFKF:mode><SDI:mode>2): Likewise.
11156 (fixuns_trunc<IFKF:mode><SDI:mode>2): Likewise.
11157 (float<SDI:mode><IFKF:mode>2): Likewise.
11158 (floatuns<SDI:mode><IFKF:mode>2): Likewise.
11159
11160 2015-08-26 Renlin Li <renlin.li@arm.com>
11161
11162 * config/aarch64/aarch64.md (*aarch64_bfi<GPI:mode><ALLX:mode>4): New.
11163
11164 2015-08-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
11165 Jiong Wang <jiong.wang@arm.com>
11166
11167 * config/aarch64/aarch64.md (UNSPEC_GOTTINYTLS): New UNSPEC.
11168 (tlsie_tiny_<mode>): New define_insn.
11169 (tlsie_tiny_sidi): Likewise.
11170 * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Define
11171 SYMBOL_TINY_TLSIE.
11172 (aarch64_symbol_context): New comment for SYMBOL_TINY_TLSIE.
11173 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support
11174 SYMBOL_TINY_TLSIE.
11175 (aarch64_expand_mov_immediate): Likewise.
11176 (aarch64_print_operand): Likewise.
11177 (arch64_classify_tls_symbol): Likewise.
11178
11179 2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
11180
11181 * config/arm/arm-arches.def: Replace single value flags with
11182 an initializer built from ARM_FSET_MAKE_CPU1.
11183 * config/arm/arm-cores.def: Likewise.
11184 * config/arm/arm.c: (all_cores): Remove ARM_FSET_MAKE_CPU1
11185 derivation from the ARM_CORE macro definition, use the given value
11186 instead.
11187 (all_architectures): Remove ARM_FSET_MAKE_CPU1 derivation from the
11188 ARM_ARCH macro definition, use the given value instead.
11189
11190 2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
11191
11192 * config/arm/arm-builtins.c (def_mbuiltin): Test all flags in a
11193 feature set.
11194 (struct builtin_description): Replace field mask with field
11195 features.
11196 (IWMMXT_BUILTIN): Use ARM_FSET macros for feature flags.
11197 (IWMMXT2_BUILTIN): Likewise.
11198 (IWMMXT2_BUILTIN2): Likewise.
11199 (FP_BUILTIN): Likewise.
11200 (CRC32_BUILTIN): Likewise.
11201 (CRYPTO_BUILTIN): Likewise.
11202 (iwmmx_mbuiltin): Likewise.
11203 (iwmmx2_mbuiltin): Likewise.
11204 (arm_init_iwmmxt_builtins): Likewise. Also, update for change to
11205 struct builtin_description.
11206
11207 2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
11208
11209 * config/arm/arm-builtins.c (def_mbuiltin): Use ARM_FSET macro.
11210 (struct builtin_description): Change type of mask to unsigned
11211 long.
11212 * config/arm/arm-protos.h (insn_flags): Declare as type
11213 arm_feature_set.
11214 (tune_flags): Likewise.
11215 * config/arm/arm.c (feature_count): New.
11216 (insn_flags): Define as type arm_feature_set.
11217 (tune_flags): Likewise.
11218 (struct processors): Define field flags as type arm_feature_set.
11219 (all_cores): Update for change to struct processors.
11220 (all_architectures): Likewise.
11221 (arm_option_check_internal): Use arm_feature_set and ARM_FSET
11222 macros.
11223 (arm_option_override_internal): Likewise.
11224 (arm_option_override): Likewise.
11225
11226 2015-08-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
11227 Jiong Wang <jiong.wang@arm.com>
11228
11229 * config/aarch64/aarch64.c (initialize_aarch64_tls_size): Set default
11230 tls size for tiny, small, large memory model.
11231 (aarch64_load_symref_appropriately): Support new symbol types.
11232 (aarch64_expand_mov_immediate): Likewise.
11233 (aarch64_print_operand): Likewise.
11234 (aarch64_classify_tls_symbol): Likewise.
11235 * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Likewise.
11236 (aarch64_symbol_type): Likewise.
11237 * config/aarch64/aarch64.md (tlsle): Deleted.
11238 (tlsle12_<mode>): New define_insn.
11239 (tlsle24_<mode>): Likewise.
11240 (tlsle32_<mode>): Likewise.
11241 (tlsle48_<mode>): Likewise.
11242 * doc/sourcebuild.texi (AArch64-specific attributes): Document
11243 "aarch64_tlsle32".
11244
11245 2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
11246
11247 * config/arm/arm-protos.h (FL_NONE): New.
11248 (FL_ANY): New.
11249 (arm_feature_set): New.
11250 (ARM_FSET_MAKE): New.
11251 (ARM_FSET_MAKE_CPU1): New.
11252 (ARM_FSET_MAKE_CPU2): New.
11253 (ARM_FSET_CPU1): New.
11254 (ARM_FSET_CPU2): New.
11255 (ARM_FSET_EMPTY): New.
11256 (ARM_FSET_ANY): New.
11257 (ARM_FSET_HAS_CPU1): New.
11258 (ARM_FSET_HAS_CPU2): New.
11259 (ARM_FSET_HAS_CPU): New.
11260 (ARM_FSET_ADD_CPU1): New.
11261 (ARM_FSET_ADD_CPU2): New.
11262 (ARM_FSET_DEL_CPU1): New.
11263 (ARM_FSET_DEL_CPU2): New.
11264 (ARM_FSET_UNION): New.
11265 (ARM_FSET_INTER): New.
11266 (ARM_FSET_XOR): New.
11267 (ARM_FSET_EXCLUDE): New.
11268 (AFM_FSET_IS_EMPTY): New.
11269 (ARM_FSET_CPU_SUBSET): New.
11270
11271 2015-08-26 Jiong Wang <jiong.wang@arm.com>
11272
11273 * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename
11274 SYMBOL_TLSLE to SYMBOL_TLSLE24.
11275 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
11276 Likewise.
11277 (aarch64_expand_mov_immediate): Likewise.
11278 (aarch64_print_operand): Likewise.
11279 (aarch64_classify_symbol): Likewise.
11280
11281 2015-08-26 Jiong Wang <jiong.wang@arm.com>
11282
11283 * config/aarch64/aarch64.opt (mtls-size): New entry.
11284 * config/aarch64/aarch64.c (initialize_aarch64_tls_size): New function.
11285 (aarch64_override_options_internal): Call initialize_aarch64_tls_size.
11286 * doc/invoke.texi (AArch64 Options): Document -mtls-size.
11287
11288 2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
11289
11290 * config/arm/arm-cores.def: Add FL_FOR_ARCH flag for each
11291 ARM_CORE entry. Fix some white-space.
11292 * config/arm/arm.c: Remove FL_FOR_ARCH derivation from
11293 ARM_CORE definition.
11294
11295 2015-08-26 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
11296
11297 * fold-const.c (fold_binary_loc) : Move Optimize
11298 root(x)*root(y) as root(x*y) to match.pd.
11299 Move Optimize expN(x)*expN(y) as expN(x+y) to match.pd.
11300 Move Optimize pow(x,y)*pow(x,z) as pow(x,y+z) to match.pd.
11301 Move Optimize a/root(b/c) into a*root(c/b) to match.pd.
11302 Move Optimize x/expN(y) into x*expN(-y) to match.pd.
11303 * match.pd (mult (root:s @0) (root:s @1)): New simplifier.
11304 (mult (POW:s @0 @1) (POW:s @0 @2)) : New simplifier.
11305 (mult (exps:s @0) (exps:s @1)) : New simplifier.
11306 (rdiv @0 (root:s (rdiv:s @1 @2))) : New simplifier.
11307 (rdiv @0 (exps:s @1)) : New simplifier.
11308
11309 2015-08-25 Joseph Myers <joseph@codesourcery.com>
11310
11311 * gcc.c (driver::finalize): Only assign to extra_specs if
11312 [EXTRA_SPECS].
11313
11314 2015-08-25 Marek Polacek <polacek@redhat.com>
11315
11316 PR middle-end/67330
11317 * varasm.c (declare_weak): Return after giving an error.
11318
11319 2015-08-25 David Malcolm <dmalcolm@redhat.com>
11320
11321 * gcc-main.c (main): Add params to driver ctor.
11322 * gcc.c (class env_manager): New.
11323 (env): New global.
11324 (env_manager::init): New.
11325 (env_manager::get): New.
11326 (env_manager::xput): New.
11327 (env_manager::restore): New.
11328 Poison getenv and putenv.
11329 (DEFAULT_TARGET_SYSTEM_ROOT): New.
11330 (target_system_root): Update initialization to use
11331 DEFAULT_TARGET_SYSTEM_ROOT.
11332 (struct spec_list): Add field "default_ptr".
11333 (INIT_STATIC_SPEC): Initialize new field "default_ptr".
11334 (init_spec): Likewise.
11335 (set_spec): Clear field "default_ptr".
11336 (read_specs): Free "spec" and "buffer".
11337 (xputenv): Reimplement in terms of env_manager.
11338 (process_command): Replace ::getenv calls with calls to the
11339 env_manager singleton.
11340 (process_brace_body): Free string in three places.
11341 (driver::driver): New.
11342 (driver::~driver): New.
11343 (used_arg): Convert from a function to...
11344 (class used_arg_t): ...this class, and...
11345 (used_arg): ...this new global instance.
11346 (used_arg_t::finalize): New function.
11347 (getenv_spec_function): Add "const" to local "value". Replace
11348 ::getenv call with call to the env_manager singleton.
11349 (path_prefix_reset): New function.
11350 (driver::finalize): New function.
11351 * gcc.h (driver::driver): New.
11352 (driver::~driver): New.
11353 (driver::finalize): New.
11354
11355 2015-08-25 Nathan Sidwell <nathan@acm.org>
11356
11357 * optabs.c (emit_indirect_jump): Don't try an emit a jump if the
11358 target doesn't have one.
11359
11360 2015-08-25 Segher Boessenkool <segher@kernel.crashing.org>
11361
11362 PR target/67346
11363 * config/rs6000/rs6000.md (*ior<mode>_mask): Use a match_scratch.
11364
11365 2015-08-25 Segher Boessenkool <segher@kernel.crashing.org>
11366
11367 PR target/67344
11368 * config/rs6000/rs6000.md (*and<mode>3_imm_dot_shifted): Change to
11369 a define_insn, remove second alternative.
11370
11371 2015-08-25 Thomas Schwinge <thomas@codesourcery.com>
11372 Joseph Myers <joseph@codesourcery.com>
11373
11374 * gcc.c (struct switchstr): Expand comment.
11375
11376 2015-08-25 Nathan Sidwell <nathan@acm.org>
11377
11378 * config/nvptx/nvptx.c (nvptx_write_function_decl): Reformat.
11379 (nvptx_reorg_subreg): Pass insn pattern to asm_operands.
11380
11381 2015-08-25 Richard Biener <rguenther@suse.de>
11382
11383 PR middle-end/67306
11384 * genmatch.c (expr::gen_transform): Verify the result of
11385 builtin_decl_implicit.
11386 (dt_simplify::gen_1): Likewise.
11387
11388 2015-08-25 Thomas Preud'homme <thomas.preudhomme@arm.com>
11389
11390 * config/arm/constraints.md: Also list Cs and US ARM-specific
11391 constraints as used.
11392
11393 2015-08-24 Kaz Kojima <kkojima@gcc.gnu.org>
11394
11395 PR target/66609
11396 * config/sh/sh.c (sh_asm_output_addr_const_extra): Handle
11397 UNSPEC_PCREL.
11398 (nonpic_symbol_mentioned_p): Likewise.
11399 (sh_delegitimize_address): Likewise.
11400 (sh_function_ok_for_sibcall): Take into account weak symbols.
11401 (sh_expand_sym_label2reg): New.
11402 * config/sh/sh-protos.h (sh_expand_sym_label2reg): Declare.
11403 * config/sh/sh.md (UNSPEC_PCREL): New enum.
11404 (call_pcrel): Use sh_expand_sym_label2reg.
11405 (call_value_pcrel, sibcall_pcrel, sibcall_value_pcrel): Likewise.
11406 (symPCREL_label2reg) New expand.
11407
11408 2015-08-24 Aditya Kumar <aditya.k7@samsung.com>
11409
11410 * graphite-poly.c: Change type of region from void* to sese.
11411 * graphite-poly.h (struct scop): Changing the type of scop::region
11412 from void* to sese. Change accessor macro accordingly.
11413 * graphite-sese-to-poly.c (extract_affine_chrec): Use accessor macro.
11414
11415 2015-08-24 Aditya Kumar <aditya.k7@samsung.com>
11416
11417 * graphite-scop-detection.c (stmt_simple_for_scop_p):
11418 Constrain only on INTEGER_TYPE.
11419
11420 2015-08-24 Michael Meissner <meissner@linux.vnet.ibm.com>
11421
11422 PR target/67211
11423 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Set
11424 -mefficient-unaligned-vsx on ISA 2.7.
11425
11426 * config/rs6000/rs6000.opt (-mefficient-unaligned-vsx): Convert
11427 option to a masked option.
11428
11429 * config/rs6000/rs6000.c (rs6000_option_override_internal): Rework
11430 logic for -mefficient-unaligned-vsx so that it is set via an arch
11431 ISA option, instead of being set if -mtune=power8 is set. Move
11432 -mefficient-unaligned-vsx and -mallow-movmisalign handling to be
11433 near other default option handling.
11434
11435 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
11436
11437 * genflags.c (gen_macro): Delete.
11438 (gen_proto): Don't create GEN.*CALL.* macros.
11439 * gensupport.h (get_file_location): Declare.
11440 * gensupport.c (rtx_locs): New variable.
11441 (read_md_rtx): Record rtx locations.
11442 (get_file_location): New function.
11443 * target-insns.def (call, call_pop, call_value, call_value_pop)
11444 (sibcall, sibcall_value): New patterns.
11445 * gentarget-def.c (parse_argument): New function.
11446 (def_target_insn): Use it. Handle optional operands. Raise an
11447 error if an .md pattern has the wrong number of operands for the
11448 pattern name. Remove the names of unused operands from the prototype.
11449 * builtins.c (expand_builtin_apply): Use targetm functions
11450 instead of HAVE_call_value and GEN_CALL_VALUE.
11451 * calls.c (emit_call_1): Likewise. Remove support for sibcall_pop
11452 and sibcall_value_pop.
11453 * config/aarch64/aarch64.md (untyped_call): Use gen_call instead
11454 of GEN_CALL.
11455 * config/alpha/alpha.md (untyped_call): Likewise.
11456 * config/iq2000/iq2000.md (untyped_call): Likewise.
11457 * config/m68k/m68k.md (untyped_call): Likewise.
11458 * config/mips/mips.md (untyped_call): Likewise.
11459 * config/pa/pa.md (untyped_call): Likewise.
11460 * config/rs6000/rs6000.md (untyped_call): Likewise.
11461 * config/sparc/sparc.md (untyped_call): Likewise.
11462 * config/tilegx/tilegx.md (untyped_call): Likewise.
11463 * config/tilepro/tilepro.md (untyped_call): Likewise.
11464 * config/visium/visium.md (untyped_call): Likewise.
11465 * config/alpha/alpha.c (alpha_emit_xfloating_libcall): Use
11466 gen_call_value instead of GEN_CALL_VALUE.
11467 * config/arm/arm.md (untyped_call): Likewise.
11468 * config/cr16/cr16.c (cr16_function_arg): Remove reference to
11469 GEN_CALL.
11470
11471 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
11472
11473 * ifcvt.c (HAVE_incscc, HAVE_decscc, HAVE_cbranchcc4): Delete.
11474 (have_cbranchcc4): New variable.
11475 (cc_in_cond, noce_emit_cmove, noce_get_alt_condition)
11476 (noce_get_condition): Use it instead of HAVE_cbranchcc4.
11477 (if_convert): Initialize have_cbranchcc4.
11478
11479 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
11480
11481 * builtins.c (expand_cmpstrn): Rename to...
11482 (expand_cmpstrn_or_cmpmem): ...this.
11483 (expand_builtin_strcmp, expand_builtin_strncmp): Update accordingly.
11484 (expand_builtin_memcmp): Use optabs instead of HAVE_cmpmem/gen_cmpmem.
11485 Remove mode argument.
11486 (expand_builtin): Update accordingly.
11487
11488 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
11489
11490 * builtins.c (expand_cmpstr, expand_cmpstrn): New functions.
11491 (expand_builtin_strcmp, expand_builtin_strncmp): Use them. Remove
11492 references to HAVE_cmpstr{,n}si and CODE_FOR_cmpstr{,n}si.
11493 * config/m32c/blkmov.md (cmpstrsi): Fix predicates of operands 1 and 2.
11494 Add predicates for operands 0 and 3.
11495 * config/rx/rx.md (cmpstrnsi): Remove force_operand for the length
11496 operand.
11497 * config/sh/sh.md (cmpstrnsi): Change the length predicate from
11498 immediate_operand to nonmemory_operand.
11499
11500 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
11501
11502 * df-scan.c (df_insn_info_init_fields): New function, split out
11503 from...
11504 (df_insn_create_insn_record): ...here.
11505 (df_insn_info_free_fields): New function, split out from...
11506 (df_insn_info_delete): ...here.
11507 (df_insn_rescan): Use the new functions instead of freeing and
11508 reallocating the df_insn_info.
11509
11510 2015-08-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11511
11512 * doc/install.texi (Binaries): Remove links no longer valid.
11513
11514 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
11515
11516 * config/nvptx/mkoffload.c (process): Replace
11517 GOMP_offload_{,un}register with GOMP_offload_{,un}register_ver.
11518
11519 2015-08-24 H.J. Lu <hongjiu.lu@intel.com>
11520
11521 PR target/67329
11522 * config/i386/i386.c (iamcu_cost): Set MOVE_RATIO cost to 9.
11523
11524 2015-08-24 Renlin Li <renlin.li@arm.com>
11525
11526 * config/arm/arm-protos.h (arm_valid_symbolic_address_p): Declare.
11527 * config/arm/arm.c (arm_valid_symbolic_address_p): Define.
11528 * config/arm/arm.md (arm_movt): Use arm_valid_symbolic_address_p.
11529 * config/arm/constraints.md ("j"): Add check for high code.
11530
11531 2015-08-24 Tom de Vries <tom@codesourcery.com>
11532
11533 PR tree-optimization/65468
11534 * omp-low.c (expand_omp_for_static_chunk): Remove inner loop if
11535 chunk_size is one.
11536
11537 2015-08-24 Nathan Sidwell <nathan@acm.org>
11538
11539 * config/nvptx/nvptx.c (walk_args_for_param): Revert previous
11540 change to nvptx_type_from_mode call. Use arg_promotion for both
11541 split and non-split args.
11542
11543 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
11544
11545 * target-insns.def (movstr): New pattern.
11546 * builtins.c (HAVE_movstr, CODE_FOR_movstr): Delete.
11547 (expand_movstr): Use targetm rather than HAVE_movstr/
11548 CODE_FOR_movstr.
11549
11550 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
11551
11552 * config/microblaze/microblaze.c (microblaze_classify_unspec): Fix
11553 cast syntax.
11554
11555 2015-08-24 Andrew Pinski <apinski@cavium.com>
11556
11557 * config/aarch64/aarch64-tuning-flags.def: Remove all index to
11558 AARCH64_EXTRA_TUNING_OPTION.
11559 * config/aarch64/aarch64-protos.h (aarch64_extra_tuning_flags_index):
11560 New enum.
11561 (aarch64_extra_tuning_flags): Base the shifted value on the index
11562 instead of the argument to AARCH64_EXTRA_TUNING_OPTION.
11563 * config/aarch64/aarch64.c: Remove the last argument to
11564 AARCH64_EXTRA_TUNING_OPTION.
11565
11566 2015-08-23 Nathan Sidwell <nathan@acm.org>
11567
11568 * config/nvptx/nvptx.c (walk_args_for_param): Promote arg reg
11569 decls.
11570 (nvptx_declare_function_name): Insert formatting tabs for
11571 consistency.
11572
11573 2015-08-23 Tom de Vries <tom@codesourcery.com>
11574
11575 * omp-low.c (expand_omp_taskreg): If in ssa, set rhs of parcopy stmt to
11576 parm_decl, rather than generating a dummy default def in cfun.
11577 * tree-cfg.c (replace_ssa_name): Assume no default defs. Make sure
11578 ssa_name from cfun and child_fn do not share a stmt as def stmt.
11579 (move_stmt_op): Handle PARM_DECl.
11580 (gather_ssa_name_hash_map_from): New function.
11581 (move_sese_region_to_fn): Add default defs for function params, and add
11582 them to vars_map. Release copied ssa names.
11583 * tree-cfg.h (gather_ssa_name_hash_map_from): Declare.
11584
11585 2015-08-23 Tom de Vries <tom@codesourcery.com>
11586
11587 * doc/sourcebuild.texi: Rename vect_no_int_max with
11588 vect_no_int_min_max. Update description.
11589
11590 2015-08-22 Andrew Pinski <apinski@cavium.com>
11591
11592 * aarch64-fusion-pairs.def: Remove all index to AARCH64_FUSION_PAIR.
11593 * config/aarch64/aarch64-protos.h
11594 (aarch64_fusion_pairs_index): New enum.
11595 (aarch64_fusion_pairs): Base the shifted value on the index instead
11596 Rewrite AARCH64_FUSE_ALL to be based on the end index.
11597 of the argument to AARCH64_FUSION_PAIR.
11598 * config/aarch64/aarch64.c: Remove the last argument to
11599 AARCH64_FUSION_PAIR.
11600
11601 2015-08-22 Mikhail Maltsev <maltsevm@gmail.com>
11602
11603 * dominance.c (new_zero_array): Define.
11604 (dom_info): Redefine as class with proper encapsulation.
11605 (dom_info::m_n_basic_blocks, m_reverse, m_start_block, m_end_block):
11606 Add new members.
11607 (dom_info::dom_info, ~dom_info): Define. Use new/delete for memory
11608 allocations/deallocations. Pass function as parameter (instead of
11609 using cfun).
11610 (dom_info::get_idom): Define accessor method.
11611 (dom_info::calc_dfs_tree_nonrec, calc_dfs_tree, compress, eval,
11612 link_roots, calc_idoms): Redefine as class members. Do not use cfun.
11613 (calculate_dominance_info): Adjust to use dom_info class.
11614 (verify_dominators): Likewise.
11615
11616 2015-08-21 Alexandre Oliva <aoliva@redhat.com>
11617
11618 * print-rtl.c (print_rtx): Check the correct range for
11619 flag_dump_unnumbered_links to behave as documented.
11620
11621 PR rtl-optimization/67227
11622 PR rtl-optimization/64164
11623 * alias.c (memrefs_conflict_p): Handle VALUEs in PLUS better.
11624 (nonoverlapping_memrefs_p): Test offsets and sizes when given
11625 identical gimple_reg exprs.
11626
11627 2015-08-21 Nathan Sidwell <nathan@acm.org>
11628
11629 * config/nvptx/nvptx.md (allocate_stack): Emit sorry during
11630 expansion.
11631 * config/nvptx/nvptx.c (nvptx_declare_function_name): Look at
11632 crtl->stack_alignment_needed to determine alignment.
11633 (nvptx_get_drap_rtx): New.
11634 (TARGET_GET_DRAP_RTX): Override.
11635 * config/nvptx/nvptx.h (MAX_STACK_ALIGNMENT): Set.
11636
11637 2015-08-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11638
11639 * config.build: Remove case for m68000-hp-hpux* | m68k-hp-hpux*.
11640
11641 2015-08-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11642
11643 * configure.ac: Remove uwin* cases.
11644 * config.build: Remove cases for i370-*-opened*, i370-*-mvs*,
11645 i[34567]86-*-sco3.2v5*, i[34567]86-sequent-ptx4*,
11646 i[34567]86-sequent-sysv4*, i[34567]86-*-sysv4*,
11647 i[34567]86-*-udk*, i[34567]86-*-uwin*, i386-*-vsta.
11648 * config.host: Remove cases for i370-*-opened*, i370-*-mvs*,
11649 i[34567]86-*-uwin*, powerpc-*-beos*.
11650
11651 2015-08-21 Richard Sandiford <richard.sandiford@arm.com>
11652
11653 * gencodes.c (gencodes): Print the comma for the preceding
11654 enum value rather than the current one. Use aliased enum values
11655 rather than #defines for compiled-out patterns.
11656 (main): Update accordingly. Replace LAST_INSN_CODE with
11657 NUM_INSN_CODES.
11658 * lra.c (insn_code_data): Update accordingly.
11659 (finish_insn_code_data_once, get_static_insn_data): Likewise.
11660 * recog.h (target_recog): Likewise.
11661 (preprocess_insn_constraints): Change parameter to unsigned int.
11662 * recog.c (preprocess_insn_constraints): Likewise.
11663 (recog_init): Replace LAST_INSN_CODE with NUM_INSN_CODES.
11664 * tree-vect-stmts.c (vectorizable_operation): Simplify.
11665
11666 2015-08-21 Markus Trippelsdorf <markus@trippelsdorf.de>
11667
11668 PR rtl-optimization/61657
11669 * loop-iv.c (iv_number_of_iterations): Declare up and down as
11670 unsigned. Remove superflous uint64_t cast.
11671
11672 2014-08-21 Felix Yang <felix.yang@huawei.com>
11673 Jiji Jiang <jiangjiji@huawei.com>
11674
11675 * value-prof.c (interesting_stringop_to_profile_p): Removed FNDECL
11676 argument and get builtin function code directly from CALL.
11677 (gimple_stringop_fixed_value): Modified accordingly.
11678 (gimple_stringops_transform, gimple_stringops_values_to_profile):
11679 Modified accordingly and only accept BUILT_IN_NORMAL string operations.
11680
11681 2015-08-21 Dominik Vogt <vogt@linux.vnet.ibm.com>
11682
11683 * config/s390/s390-builtins.def: Fix value range of vec_load_bndry.
11684
11685 2015-08-21 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
11686
11687 * fold-const.c (fold_binary_loc) : Move sqrt(x)*sqrt(x) as x
11688 to match.pd.
11689 Move Optimize pow(x,y)*pow(z,y) as pow(x*z,y)to match.pd.
11690 Move Optimize tan(x)*cos(x) as sin(x) to match.pd.
11691 Move Optimize x*pow(x,c) as pow(x,c+1) to match.pd.
11692 Move Optimize pow(x,c)*x as pow(x,c+1) to match.pd.
11693 Move Optimize sin(x)/cos(x) as tan(x) to match.pd.
11694 Move Optimize cos(x)/sin(x) as 1.0/tan(x) to match.pd.
11695 Move Optimize sin(x)/tan(x) as cos(x) to match.pd.
11696 Move Optimize tan(x)/sin(x) as 1.0/cos(x) to match.pd.
11697 Move Optimize pow(x,c)/x as pow(x,c-1) to match.pd.
11698 Move Optimize x/pow(y,z) into x*pow(y,-z) to match.pd.
11699
11700 * match.pd (SIN ) : New Operator.
11701 (TAN) : New Operator.
11702 (mult (SQRT@1 @0) @1) : New simplifier.
11703 (mult (POW:s @0 @1) (POW:s @2 @1)) : New simplifier.
11704 (mult:c (TAN:s @0) (COS:s @0)) : New simplifier.
11705 (mult:c (TAN:s @0) (COS:s @0)) : New simplifier.
11706 (rdiv (SIN:s @0) (COS:s @0)) : New simplifier.
11707 (rdiv (COS:s @0) (SIN:s @0)) : New simplifier.
11708 (rdiv (SIN:s @0) (TAN:s @0)) : New simplifier.
11709 (rdiv (TAN:s @0) (SIN:s @0)) : New simplifier.
11710 (rdiv (POW:s @0 REAL_CST@1) @0) : New simplifier.
11711 (rdiv @0 (SQRT:s (rdiv:s @1 @2))) : New simplifier.
11712 (rdiv @0 (POW:s @1 @2)) : New simplifier.
11713
11714 2015-08-21 Bin Cheng <bin.cheng@arm.com>
11715
11716 * tree-ssa-loop-niter.c (simplify_using_initial_conditions): Break
11717 loop if EXPR is simplified to const value.
11718
11719 2015-08-21 Yury Gribov <y.gribov@samsung.com>
11720
11721 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_NONNULL_ARG,
11722 BUILT_IN_UBSAN_HANDLE_NONNULL_ARG): Fix builtin types.
11723
11724 2015-08-21 Richard Biener <rguenther@suse.de>
11725
11726 PR middle-end/67285
11727 * gimple-fold.c (replace_stmt_with_simplification): Assert
11728 seq is empty when replacing a call with itself but different
11729 arguments.
11730 * gimple-match-head.c (maybe_push_res_to_seq): When pushing
11731 a call require that it is const.
11732
11733 2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11734
11735 * defaults.h (CONSTANT_ALIGNMENT): New macro definition.
11736 * builtins.c (get_object_alignment_2): Adjust.
11737 * varasm.c (align_variable): Likewise.
11738 (get_variable_align): Likewise.
11739 (build_constant_desc): Likewise.
11740 (force_const_mem): Likewise.
11741 * doc/tm.texi.in: Likewise.
11742 * doc/tm.texi: Regenerate.
11743
11744 2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11745
11746 * genconfig.c (main): Always define HAVE_cc0.
11747 * recog.c (rest_of_handle_peephole2): Adjust.
11748
11749 2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11750
11751 * reorg.c (relax_delay_slots): Don't use #if to check value of
11752 HAVE_cc0.
11753
11754 2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
11755
11756 * genconfig.c (main): Always define HAVE_CONDITIONAL_EXECUTION.
11757 * targhooks.c (default_have_conditional_execution): Adjust.
11758
11759 2015-08-20 Richard Sandiford <richard.sandiford@arm.com>
11760
11761 * rtl.h (rtvec_all_equal_p): Declare.
11762 (const_vec_duplicate_p, unwrap_const_vec_duplicate): New functions.
11763 * rtl.c (rtvec_all_equal_p): New function.
11764 * expmed.c (expand_mult): Use unwrap_const_vec_duplicate.
11765 * config/aarch64/aarch64.c (aarch64_vect_float_const_representable_p)
11766 (aarch64_simd_dup_constant): Use const_vec_duplicate_p.
11767 * config/arm/arm.c (neon_vdup_constant): Likewise.
11768 * config/s390/s390.c (s390_contiguous_bitmask_vector_p): Likewise.
11769 * config/tilegx/constraints.md (W, Y): Likewise.
11770 * config/tilepro/constraints.md (W, Y): Likewise.
11771 * config/spu/spu.c (spu_legitimate_constant_p): Likewise.
11772 (classify_immediate): Use unwrap_const_vec_duplicate.
11773 * config/tilepro/predicates.md (reg_or_v4s8bit_operand): Likewise.
11774 (reg_or_v2s8bit_operand): Likewise.
11775 * config/tilegx/predicates.md (reg_or_v8s8bit_operand): Likewise.
11776 (reg_or_v4s8bit_operand): Likewise.
11777
11778 2015-08-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11779
11780 * config/rs6000/altivec.h (vec_pmsum_be): New #define.
11781 (vec_shasigma_be): New #define.
11782 * config/rs6000/rs6000-builtin.def (VPMSUMB): New BU_P8V_AV2_2.
11783 (VPMSUMH): Likewise.
11784 (VPMSUMW): Likewise.
11785 (VPMSUMD): Likewise.
11786 (VPMSUM): New BU_P8V_OVERLOAD_2.
11787 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): New
11788 entries for VEC_MADD and VEC_VPMSUM.
11789
11790 2015-08-20 Georg-Johann Lay <avr@gjlay.de>
11791
11792 * config/avr/avr.c (avr_insert_attributes): In diagnostic essage:
11793 Multiply argument avr_n_flash by 64 to match unit of "KiB".
11794 (avr_pgm_check_var_decl): Same.
11795
11796 2015-08-20 Alan Lawrence <alan.lawrence@arm.com>
11797
11798 * config/arm/arm-builtins.c (arm_init_simd_builtin_types): Move
11799 initialization of HFmode scalar type (float16_t) to...
11800 (arm_init_fp16_builtins): ... Here. Combine with __fp16 initialization
11801 code.
11802
11803 (arm_init_builtins): Call arm_init_fp16_builtins earlier and always.
11804
11805 * config/arm/arm_neon.h (vcvt_f16_f32, vcvt_f32_f16): Condition on
11806 having an -mfp16-format.
11807
11808 2015-08-20 Richard Sandiford <richard.sandiford@arm.com>
11809
11810 * config/i386/predicates.md (vector_all_ones_operand): Use
11811 CONSTM1_RTX to simplify definition.
11812
11813 2015-08-20 Richard Biener <rguenther@suse.de>
11814
11815 * toplev.c (compile_file): Remove loop calling late_global_decl
11816 on all symbols.
11817 * varpool.c (varpool_node::assemble_decl): Call late_global_decl
11818 on decls we assembled.
11819
11820 2015-08-20 James Greenhalgh <james.greenhalgh@arm.com>
11821
11822 * common/config/aarch64/aarch64-common.c
11823 (AARCH64_CPU_NAME_LENGTH): Delete.
11824 (aarch64_option_extension): New.
11825 (all_extensions): Likewise.
11826 (processor_name_to_arch): Likewise.
11827 (arch_to_arch_name): Likewise.
11828 (all_cores): New.
11829 (all_architectures): Likewise.
11830 (aarch64_get_extension_string_for_isa_flags): Likewise.
11831 (aarch64_rewrite_selected_cpu): Change to rewrite CPU names to
11832 architecture names.
11833 * config/aarch64/aarch64-protos.h
11834 (aarch64_get_extension_string_for_isa_flags): New.
11835 * config/aarch64/aarch64.c (aarch64_print_extension): Delete.
11836 (aarch64_option_print): Get the string to print from
11837 aarch64_get_extension_string_for_isa_flags.
11838 (aarch64_declare_function_name): Likewise.
11839 * config/aarch64/aarch64.h (BIG_LITTLE_SPEC): Rename to...
11840 (MCPU_TO_MARCH_SPEC): This.
11841 (ASM_CPU_SPEC): Use it.
11842 (BIG_LITTLE_SPEC_FUNCTIONS): Rename to...
11843 (MCPU_TO_MARCH_SPEC_FUNCTIONS): ...This.
11844 (EXTRA_SPEC_FUNCTIONS): Use it.
11845
11846 2015-08-20 Simon Dardis <simon.dardis@imgtec.com>
11847
11848 * config/mips/mips.c (mips_expand_block_move): Enable inline memcpy
11849 expansion when !ISA_HAS_LWL_LWR.
11850 (mips_block_move_straight): Update the size of elements copied to
11851 account for alignment when !ISA_HAS_LWL_LWR.
11852 * config/mips/mips.h (MIPS_MIN_MOVE_MEM_ALIGN): New macro.
11853
11854 2015-08-19 Jiong Wang <jiong.wang@arm.com>
11855
11856 * expr.c (expand_expr_real_2): Check gimple statement during
11857 LSHIFT_EXPR expand.
11858
11859 2015-08-19 Magnus Granberg <zorry@gentoo.org>
11860
11861 * common.opt (fstack-protector): Initialize to -1.
11862 (fstack-protector-all): Likewise.
11863 (fstack-protector-strong): Likewise.
11864 (fstack-protector-explicit): Likewise.
11865 * configure.ac: Add --enable-default-ssp.
11866 * defaults.h (DEFAULT_FLAG_SSP): New. Default SSP to strong.
11867 * opts.c (finish_options): Update opts->x_flag_stack_protect if it is
11868 -1.
11869 * doc/install.texi: Document --enable-default-ssp.
11870 * config.in: Regenerated.
11871 * configure: Likewise.
11872
11873 2015-08-19 Alexandre Oliva <aoliva@redhat.com>
11874
11875 PR rtl-optimization/64164
11876 * cfgexpand.c (parm_maybe_byref_p): Renamed to...
11877 (parm_in_stack_slot_p): ... this. Disregard mode, what
11878 matters is whether the parm will live in a pseudo or a stack
11879 slot.
11880 (expand_one_ssa_partition): Deal with params without a default
11881 def. Disregard mode.
11882 * cfgexpand.h: Renamed function declaration.
11883 * tree-ssa-coalesce.c: Adjust.
11884 * function.c (split_complex_args): Allocate stack slot for
11885 unassigned parms before splitting.
11886 (parm_in_unassigned_mem_p): New. Use it instead of
11887 parm_maybe_byref_p throughout this file.
11888 (assign_parm_setup_block): Use it. Accept pseudos in the
11889 expand-assigned rtl.
11890 (assign_parm_setup_reg): Drop BLKmode requirement.
11891 (assign_parm_setup_stack): Allocate and fill in the address of
11892 unassigned MEM parms.
11893
11894 2015-08-19 David Sherwood <david.sherwood@arm.com>
11895
11896 * genmodes.c (emit_mode_unit_size_inline): New function.
11897 (emit_mode_unit_precision_inline): New function.
11898 (emit_insn_modes_h): Emit new #define. Emit new functions.
11899 (emit_mode_unit_size): New function.
11900 (emit_mode_unit_precision): New function.
11901 (emit_mode_adjustments): Add mode_unit_size adjustments.
11902 (emit_insn_modes_c): Emit new arrays.
11903 * machmode.h (GET_MODE_UNIT_SIZE, GET_MODE_UNIT_PRECISION): Update to
11904 use new inline methods.
11905
11906 2015-08-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11907
11908 * config/aarch64/aarch64.c (bit_count): Delete prototype
11909 and definition.
11910 (aarch64_print_operand): Use popcount_hwi instead of the above.
11911
11912 2015-08-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11913
11914 * config/aarch64/aarch64-option-extensions.def: Delete obsolete
11915 comment.
11916
11917 2015-08-19 Marek Polacek <polacek@redhat.com>
11918
11919 PR middle-end/67133
11920 * gimple-ssa-isolate-paths.c
11921 (insert_trap_and_remove_trailing_statements): Rename to ...
11922 (insert_trap): ... this. Don't remove trailing statements; split
11923 block instead.
11924 (find_explicit_erroneous_behaviour): Don't remove all outgoing edges.
11925
11926 2015-08-19 Mikael Morin <mikael@gcc.gnu.org>
11927
11928 PR other/67042
11929 * hwint.h (sext_hwi): Switch to unsigned for the left shift, and
11930 conditionalize the whole on __GNUC__. Add fallback code
11931 depending neither on undefined nor implementation-defined behaviour.
11932
11933 2015-08-19 Jiong Wang <jiong.wang@arm.com>
11934
11935 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Replace
11936 whitespaces with tab.
11937
11938 2015-08-19 Florian Weimer <fweimer@redhat.com>
11939
11940 * prj.adb (For_Every_Project_Imported_Context.Recursive_Check_Context):
11941 Move Name_Id_Set instantiation to the Prj package, to avoid trampolines.
11942 * prj-proc.adb (Process.Process_Expression_Variable_Decl):
11943 Move Name_Ids instantiation to the Prj.Proc package, to avoid
11944 trampolines.
11945
11946 2015-08-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11947
11948 * config/arm/arm.c (bounds_check): Use %wd print format
11949 for HOST_WIDE_INT arguments.
11950
11951 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
11952
11953 * bb-reorder.c, cfgloop.h, collect2.c, combine.c, dse.c,
11954 dwarf2cfi.c, gcse-common.h, genopinit.c, ggc-page.c, machmode.h,
11955 mcf.c, modulo-sched.c, omp-low.c, read-rtl.c, sched-rgn.c,
11956 signop.h, tree-call-cdce.c, tree-dfa.c, tree-diagnostic.c,
11957 tree-inline.h, tree-scalar-evolution.c, tree-ssa-address.c,
11958 tree-ssa-loop-niter.c, tree-ssa-loop.h, tree-ssa-pre.c,
11959 tree-ssa-reassoc.c, tree-ssa-sccvn.h, tree-ssa-structalias.c,
11960 tree-ssa-uninit.c, tree-ssa.h, tree-vect-loop-manip.c,
11961 tree-vectorizer.h, tree-vrp.c, var-tracking.c: Remove useless
11962 typedefs.
11963
11964 2015-08-18 trevor Saunders <tbsaunde@tbsaunde.org>
11965
11966 * bt-load.c, cgraph.h, dwarf2out.c, dwarf2out.h, final.c,
11967 function.c, graphite-scop-detection.c, haifa-sched.c,
11968 ipa-devirt.c, ipa-split.c, recog.c, ree.c, stmt.c,
11969 tree-data-ref.c, tree-ssa-dom.c, tree-ssa-loop-ivopts.c,
11970 varasm.c: Remove typedefs of structs.
11971
11972 2015-08-18 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
11973
11974 * config/rs6000/altivec.h (vec_adde): New define.
11975 (vec_addec): Likewise.
11976 (vec_double): Likewise.
11977 (vec_bperm): Likewise.
11978 (vec_gb): Likewise.
11979 * config/rs6000/rs6000-builtin.def (ADDE): New
11980 BU_ALTIVEC_OVERLOAD_3.
11981 (ADDEC): Likewise.
11982 (DOUBLE): New BU_VSX_OVERLOAD_1.
11983 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add new
11984 entries for ALTIVEC_BUILTIN_VEC_ADDC, ALTIVEC_BUILTIN_VEC_ADDE,
11985 ALTIVEC_BUILTIN_VEC_ADDEC, ALTIVEC_BUILTIN_VEC_ANDC,
11986 VSX_BUILTIN_VEC_DOUBLE, ALTIVEC_BUILTIN_VEC_MERGEH,
11987 ALTIVEC_BUILTIN_VEC_MERGEL, ALTIVEC_BUILTIN_VEC_NOR,
11988 ALTIVEC_BUILTIN_VEC_OR, ALTIVEC_BUILTIN_VEC_XOR,
11989 ALTIVEC_BUILTIN_VEC_PERM, ALTIVEC_BUILTIN_VEC_SEL,
11990 P8V_BUILTIN_VEC_EQV, P8V_BUILTIN_VEC_NAND, P8V_BUILTIN_VEC_ORC,
11991 and P8V_BUILTIN_VEC_VBPERMQ.
11992
11993 2015-08-18 Jason Merrill <jason@redhat.com>
11994
11995 * print-tree.c (print_node): Handle TREE_BINFO.
11996
11997 2015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11998
11999 PR middle-end/36757
12000 * builtins.c (expand_builtin_signbit): Add asserts to make sure
12001 we can expand BUILT_IN_SIGNBIT inline.
12002 * builtins.def (BUILT_IN_SIGNBIT): Make type-generic.
12003 * doc/extend.texi: Document the type-generic __builtin_signbit.
12004
12005 2015-08-18 Richard Sandiford <richard.sandiford@arm.com>
12006
12007 PR rtl-optimization/67218
12008 * simplify-rtx.c (exact_int_to_float_conversion_p): New function.
12009 (simplify_unary_operation_1): Use it.
12010
12011 2015-08-18 Marek Polacek <polacek@redhat.com>
12012
12013 PR middle-end/67222
12014 * gimple-low.c (lower_stmt): Don't lower BUILT_IN_POSIX_MEMALIGN
12015 if the call isn't valid.
12016 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Check builtins using
12017 gimple_call_builtin_p.
12018 (call_may_clobber_ref_p_1): Likewise.
12019 (stmt_kills_ref_p): Likewise.
12020
12021 2015-08-18 Robert Suchanek <robert.suchanek@imgtec.com>
12022
12023 * config/mips/mips-protos.h (mips_hard_regno_rename_ok): New prototype.
12024 * config/mips/mips.c (mips_hard_regno_rename_ok): New function.
12025 (mips_hard_regno_scratch_ok): Likewise.
12026 (TARGET_HARD_REGNO_SCRATCH_OK): Define macro.
12027 * config/mips/mips.h (HARD_REGNO_RENAME_OK): New.
12028
12029 2015-08-18 Bin Cheng <bin.cheng@arm.com>
12030
12031 * tree-ssa-loop-niter.c (refine_value_range_using_guard): New.
12032 (determine_value_range): Call refine_value_range_using_guard for
12033 each loop initial condition to improve value range.
12034
12035 2015-08-17 Aldy Hernandez <aldyh@redhat.com>
12036
12037 * config/i386/i386.c: Remove include of fibheap.h.
12038
12039 2015-08-17 Richard Biener <rguenther@suse.de>
12040
12041 PR tree-optimization/67221
12042 * tree-ssa-sccvn.c (visit_phi): Keep all-TOP args TOP.
12043 (sccvn_dom_walker::before_dom_children): Mark backedges of
12044 non-executable blocks as not executable.
12045
12046 2015-08-17 David Sherwood <david.sherwood@arm.com>
12047
12048 * config/arm/arm.c (neon_element_bits): Replace call to
12049 GET_MODE_BITSIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_BITSIZE (m).
12050 * config/arm/neon.md (neon_vget_lane<mode>): Likewise.
12051 (neon_vget_laneu<mode>, neon_vset_lane<mode>): Likewise
12052 (neon_vdup_lane<mode>): Likewise.
12053 * config/i386/i386.c (ix86_expand_int_vcond): Likewise.
12054 (ix86_expand_multi_arg_builtin, ix86_expand_reduc): Likewise.
12055 (expand_vec_perm_palignr, ix86_expand_sse2_abs): Likewise.
12056 * config/rs6000/rs6000.c (rs6000_do_expand_vec_perm): Likewise.
12057 * config/spu/spu.c (arith_immediate_p): Likewise.
12058 * expmed.c (store_bit_field_1, extract_bit_field_1): Likewise.
12059 * expr.c (expand_expr_real_2): Likewise.
12060 * optabs.c (shift_amt_for_vec_perm_mask): Likewise.
12061 * simplify-rtx.c (simplify_immed_subreg): Likewise.
12062 * tree-cfg.c (verify_gimple_assign_ternary): Likewise.
12063 * tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): Likewise.
12064 New variable.
12065 * fold-const.c (fold_binary_loc): Replace call to
12066 GET_MODE_PRECISION (GET_MODE_INNER (m)) with
12067 GET_MODE_UNIT_PRECISION (m).
12068
12069 2015-08-17 Mike Stump <mikestump@comcast.net>
12070
12071 * config/arm/arm.c (arm_block_move_unaligned_straight):
12072 Emit normal move instead of unaligned load when source or destination
12073 are appropriately aligned.
12074
12075 2015-08-17 Richard Biener <rguenther@suse.de>
12076 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
12077
12078 PR middle-end/16107
12079 * match.pd (div (coss (op @0) : New simplifier.
12080
12081 2015-08-14 Alexandre Oliva <aoliva@redhat.com>
12082
12083 PR rtl-optimization/64164
12084 PR bootstrap/66978
12085 PR middle-end/66983
12086 PR rtl-optimization/67000
12087 PR middle-end/67034
12088 PR middle-end/67035
12089 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
12090 * tree-ssa-copyrename.c: Removed.
12091 * opts.c (default_options_table): Drop -ftree-copyrename. Add
12092 -ftree-coalesce-vars.
12093 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
12094 * common.opt (ftree-copyrename): Ignore.
12095 (ftree-coalesce-inlined-vars): Likewise.
12096 * doc/invoke.texi: Remove the ignored options above.
12097 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
12098 * tree-ssa-coalesce.h: ... here.
12099 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
12100 headers required by it.
12101 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
12102 across variables when flag_tree_coalesce_vars. Check register
12103 use and promoted modes to allow coalescing. Do not coalesce
12104 maybe-byref parms with SSA_NAMEs of other variables, or
12105 anonymous SSA_NAMEs. Moved to tree-ssa-coalesce.c.
12106 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
12107 with its member functions to tree-ssa-coalesce.c.
12108 (var_map_base_init): Likewise. Renamed to
12109 compute_samebase_partition_bases.
12110 (partition_view_normal): Drop want_bases parameter.
12111 (partition_view_bitmap): Likewise.
12112 * tree-ssa-live.h: Adjust declarations.
12113 * tree-ssa-coalesce.c: Include explow.h and cfgexpand.h.
12114 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
12115 default defs at the entry point.
12116 (dump_part_var_map): New.
12117 (compute_optimized_partition_bases): New, called by...
12118 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
12119 of compute_samebase_partition_bases. Adjust.
12120 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
12121 * cfgexpand.c (leader_merge, parm_maybe_byref_p): New.
12122 (ssa_default_def_partition): New.
12123 (get_rtl_for_parm_ssa_default_def): New.
12124 (align_local_variable, add_stack_var): Support anonymous SSA
12125 names.
12126 (defer_stack_allocation): Likewise. Declare earlier.
12127 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
12128 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
12129 Do no record deferred-allocation marker in
12130 SA.partition_to_pseudo.
12131 (expand_stack_vars): Adjust check for the marker in it.
12132 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
12133 redundant MEM attr setting.
12134 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
12135 from...
12136 (expand_one_stack_var): ... this. New wrapper to check and
12137 skip already expanded SSA partitions.
12138 (record_alignment_for_reg_var): New, factored out of...
12139 (expand_one_var): ... this.
12140 (expand_one_ssa_partition): New.
12141 (adjust_one_expanded_partition_var): New.
12142 (expand_one_register_var): Check and skip already expanded SSA
12143 partitions.
12144 (expand_used_vars): Don't create DECLs for anonymous SSA
12145 names. Expand all SSA partitions, then adjust all SSA names.
12146 (pass::execute): Replace the loops that set
12147 SA.partition_to_pseudo from partition leaders and cleared
12148 DECL_RTL for multi-location variables, and that which used to
12149 rename vars and set attrs, with one that clears DECL_RTL and
12150 checks that PARMs and RESULTs default_defs match DECL_RTL.
12151 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
12152 * emit-rtl.c: Include stor-layout.h.
12153 (set_reg_attrs_for_parm): Handle NULL decl.
12154 (set_reg_attrs_for_decl_rtl): Take mode from expression if
12155 it's not a DECL.
12156 * stmt.c (emit_case_decision_tree): Pass it the SSA_NAME
12157 rather than its possibly-NULL DECL.
12158 * explow.c (promote_ssa_mode): New.
12159 * explow.h (promote_ssa_mode): Declare.
12160 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
12161 (read_complex_part): Export.
12162 * expr.h (read_complex_part): Declare.
12163 * cfgexpand.h (parm_maybe_byref_p): Declare.
12164 * function.c: Include cfgexpand.h.
12165 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
12166 (use_register_for_parm_decl): Wrapper for the above to
12167 special-case the result_ptr.
12168 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
12169 (split_complex_args): Take assign_parm_data_all argument.
12170 Pass it to rtl_for_parm. Set up rtl and context for split
12171 args. Reset complex parm before fetching its default decl
12172 rtl.
12173 (assign_parms_unsplit_complex): Use the default-def complex
12174 parm rtl if it matches the components.
12175 (assign_parms_augmented_arg_list): Adjust.
12176 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
12177 multiple locations. Recognize split complex args.
12178 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
12179 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
12180 (assign_parm_setup_block): Prefer SSA-assigned location, and
12181 fill in its address if the memory location of a maybe-byref
12182 parm was not assigned by cfgexpand.
12183 (assign_parm_setup_reg): Likewise. Adjust its mode as
12184 needed. Use entry_parm for equiv if stack_parm is NULL. Make
12185 sure passed_pointer parms don't need conversion. Copy address
12186 or value as needed.
12187 (assign_parm_setup_stack): Prefer SSA-assigned location.
12188 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
12189 rtl before testing for pointer bounds. Special-case result_ptr.
12190 (expand_function_start): Maybe reset DECL_RTL of result.
12191 Prefer SSA-assigned location for result and static chain.
12192 Factor out DECL_RESULT and SET_DECL_RTL. Convert static chain
12193 to Pmode if needed, from H.J. Lu <hongjiu.lu@intel.com>.
12194 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
12195 anonymous SSA names. Use promote_ssa_mode.
12196 (get_temp_reg): Likewise.
12197 (remove_ssa_form): Adjust.
12198 * stor-layout.c (layout_decl): Don't set mem attributes of
12199 non-MEMs.
12200 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
12201 and get its reg_usage for reg invalidation.
12202 (compute_bb_dataflow): Pass it insn.
12203 (emit_notes_in_bb): Likewise.
12204
12205 2015-08-14 Marek Polacek <polacek@redhat.com>
12206
12207 * tree-core.h (tree_base): Fix typo.
12208
12209 2015-08-14 Marek Polacek <polacek@redhat.com>
12210
12211 PR middle-end/67133
12212 * gimple.c (infer_nonnull_range_by_attribute): Check that the
12213 nonnull argument position is not outside function arguments.
12214
12215 2015-08-14 Matthew Wahab <matthew.wahab@arm.com>
12216
12217 PR target/67143
12218 * config/aarch64/atomics.md (atomic_<optab><mode>): Replace
12219 'lconst_atomic' with 'const_atomic'.
12220 (atomic_fetch_<optab><mode>): Likewise.
12221 (atomic_<optab>_fetch<mode>): Likewise.
12222 * config/aarch64/iterators.md (lconst-atomic): Move below
12223 'const_atomic'.
12224 (const_atomic): New.
12225
12226 2015-08-14 Thomas Schwinge <thomas@codesourcery.com>
12227 Bernd Schmidt <bernds@codesourcery.com>
12228
12229 * config/nvptx/nvptx.c (nvptx_option_override): Don't override
12230 debug options.
12231 * config/nvptx/nvptx.h (DWARF2_LINENO_DEBUGGING_INFO): Define.
12232 (DWARF2_DEBUGGING_INFO): Don't define.
12233 * debug.h (dwarf2_lineno_debug_hooks): Declare.
12234 * toplev.c (process_options): Add a case for it.
12235 * dwarf2out.c (dwarf2_lineno_debug_hooks): New variable.
12236 (dwarf2out_init): Skip most initializations if
12237 DWARF2_LINENO_DEBUGGING_INFO, but set cur_line_info_table in that
12238 case.
12239 * defaults.h (PREFERRED_DEBUGGING_TYPE): Also use DWARF2_DEBUG if
12240 DWARF2_LINENO_DEBUGGING_INFO.
12241 * opts.c (set_debug_level): Likewise.
12242
12243 2015-08-14 James Greenhalgh <james.greenhalgh@arm.com>
12244
12245 * config/arm/types.md (is_neon_type): Add missing types.
12246
12247 2015-08-14 Yuri Rumyantsev <ysrumyan@gmail.com>
12248
12249 * config/i386/driver-i386.c (host_detect_local_cpu): Add support
12250 for skylake.
12251 * config/i386/i386.c (PTA_SKYLAKE): New macros.
12252 (processor_alias_table): Add skylake description.
12253 (enum processor_model): Add skylake processor.
12254 (arch_names_table): Add skylake record.
12255 * doc/invoke.texi: Add skylake item.
12256
12257 2015-08-13 Andrew MacLeod <amacleod@redhat.com>
12258
12259 * ira-int.h: Include recog.h.
12260 * ira-build.c: Don't include recog.h.
12261 * ira-color.c: Likewise.
12262 * ira-conflicts.c: Likewise.
12263 * ira-costs.c: Likewise.
12264 * ira-emit.c: Likewise.
12265 * ira-lives.c: Likewise.
12266 * ira.c: Likewise.
12267 * sched-deps.c: Likewise.
12268 * sel-sched.c: Likewise.
12269 * target-globals.c: Likewise.
12270
12271 2015-08-13 Richard Sandiford <richard.sandiford@arm.com>
12272
12273 PR bootstrap/55035
12274 * reload1.c (elimination_costs_in_insn): Make it obvious to the
12275 compiler that the n_dups and n_operands loop bounds are invariant.
12276
12277 2015-08-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12278
12279 * ifcvt.c (noce_try_store_flag_constants): Handle PLUS-immediate
12280 expressions in A and B.
12281
12282 2015-08-13 Richard Biener <rguenther@suse.de>
12283
12284 * tree.c (nonnull_arg_p): Move from ...
12285 * tree-vrp.c (nonnull_arg_p): ... here.
12286 * tree.h (nonnull_arg_p): Declare.
12287 * tree-ssa-sccvn.c (init_scc_vn): Perform all lattice init
12288 here, register ptr != 0 for nonnull_arg_p pointer arguments.
12289 Properly initialize static chain and by-reference result pointer.
12290 (run_scc_vn): Adjust.
12291
12292 2015-08-13 Robert Suchanek <robert.suchanek@imgtec.com>
12293
12294 * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Enable load/store pairs for
12295 TUNE_I6400.
12296
12297 2015-08-13 Matthew Wahab <matthew.wahab@arm.com>
12298
12299 * config/aarch64/aarch64-protos.h
12300 (aarch64_gen_atomic_cas): Declare.
12301 * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap):
12302 Choose appropriate instruction pattern for the target.
12303 (aarch64_gen_atomic_cas): New.
12304 * config/aarch64/atomics.md (UNSPECV_ATOMIC_CAS): New.
12305 (atomic_compare_and_swap<mode>_1): Rename to
12306 aarch64_compare_and_swap<mode>. Fix some indentation.
12307 (aarch64_compare_and_swap<mode>_lse): New.
12308 (aarch64_atomic_cas<mode>): New.
12309
12310 2015-08-13 Matthew Wahab <matthew.wahab@arm.com>
12311
12312 * config/aarch64/aarch64.h (AARCH64_ISA_LSE): New.
12313 (TARGET_LSE): New.
12314
12315 2015-08-13 Richard Biener <rguenther@suse.de>
12316
12317 PR tree-optimization/67191
12318 * tree-ssa-sccvn.c (sccvn_dom_walker::before_dom_children): Remove
12319 assert we value-numbered last stmts operand because it can validly
12320 trigger for unreachable code.
12321
12322 2015-08-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12323
12324 PR rtl-optimization/67103
12325 * ifcvt.c (noce_try_store_flag_constants): Move
12326 x = (-(test != 0) & (b - a)) + a transformation to...
12327 (noce_try_cmove): ... Here. Try it if normal conditional
12328 move fails.
12329
12330 2015-08-13 Robert Suchanek <robert.suchanek@imgtec.com>
12331
12332 * config/mips/mips.c (mips_rtx_cost_data): Remove costs for W32 and W64
12333 pseudo-processors.
12334 * config/mips/mips.md (processor): Remove w32 and w64.
12335
12336 2015-08-13 Richard Biener <rguenther@suse.de>
12337
12338 PR tree-optimization/66502
12339 PR tree-optimization/67167
12340 * tree-ssa-sccvn.c (vn_phi_compute_hash): Do not include
12341 backedge arguments.
12342 (vn_phi_lookup): Adjust.
12343 (vn_phi_insert): Likewise.
12344 (visit_phi): Prefer to value-number to another PHI node
12345 over value-numbering to a PHI argument.
12346 (init_scc_vn): Mark DFS back edges.
12347
12348 2015-08-13 Richard Biener <rguenther@suse.de>
12349
12350 * gimple.h (gcall::code_): New constant static member.
12351 (gcond::code_): Likewise.
12352 * gimple.c (gcall::code_): Define.
12353 (gcond::code_): Likewise.
12354 (is_a_helper <const gcond *>): Add.
12355 (gimple_call_lhs): Use GIMPLE_CHECK2 in the gimple overload
12356 and forward to a new gcall overload with less checking and a
12357 cheaper way to access the operand.
12358 (gimple_call_lhs_ptr): Likewise.
12359 (gimple_call_set_lhs): Likewise.
12360 (gimple_call_internal_p): Likewise.
12361 (gimple_call_with_bounds_p): Likewise.
12362 (gimple_call_set_with_bounds): Likewise.
12363 (gimple_call_internal_fn): Likewise.
12364 (gimple_call_set_ctrl_altering): Likewise.
12365 (gimple_call_ctrl_altering_p): Likewise.
12366 (gimple_call_fntype): Likewise.
12367 (gimple_call_fn): Likewise.
12368 (gimple_call_fn_ptr): Likewise.
12369 (gimple_call_set_fndecl): Likewise.
12370 (gimple_call_fndecl): Likewise.
12371 (gimple_call_chain): Likewise.
12372 (gimple_call_num_args): Likewise.
12373 (gimple_call_arg): Likewise.
12374 (gimple_call_arg_ptr): Likewise.
12375 (gimple_call_set_arg): Likewise.
12376 (gimple_call_noreturn_p): Likewise.
12377 (gimple_cond_code): Likewise.
12378 (gimple_cond_lhs): Likewise.
12379 (gimple_cond_rhs): Likewise.
12380 (gimple_has_lhs): Reduce checking.
12381
12382 2015-08-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
12383
12384 PR middle-end/25529
12385 * match.pd (div (mult @0 @1) @1) : New simplifier.
12386
12387 2015-08-12 Michael Meissner <meissner@linux.vnet.ibm.com>
12388
12389 PR target/67071
12390 * config/rs6000/predicates.md (easy_vector_constant_vsldoi): New
12391 predicate to allow construction of vector constants using the
12392 VSLDOI vector shift instruction.
12393
12394 * config/rs6000/rs6000-protos.h (vspltis_shifted): Add
12395 declaration.
12396
12397 * config/rs6000/rs6000.c (vspltis_shifted): New function to return
12398 the number of bytes to be shifted left and filled in with either
12399 all zero or all one bits.
12400 (gen_easy_altivec_constant): Call vsplitis_shifted if no other
12401 methods exist.
12402 (output_vec_const_move): On power8, generate XXLORC to generate
12403 a vector constant with all 1's. Do a split if we need to use a
12404 VSLDOI instruction.
12405
12406 * config/rs6000/rs6000.h (EASY_VECTOR_MSB): Use mode mask to
12407 properly test for the MSB.
12408
12409 * config/rs6000/altivec.md (VSLDOI splitter): Add splitter for
12410 vector constants that can be created with VSLDOI.
12411
12412 2015-08-11 Trevor Saunders <tbsaunde@tbsaunde.org>
12413
12414 revert:
12415 * compare-elim.c, dce.c, dse.c, gimple-ssa-isolate-paths.c,
12416 gimple-ssa-strength-reduction.c, graphite.c, init-regs.c,
12417 ipa-pure-const.c, ipa-visibility.c, ipa.c, mode-switching.c,
12418 omp-low.c, reorg.c, sanopt.c, trans-mem.c, tree-eh.c,
12419 tree-if-conv.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
12420 tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
12421 tree-ssa-sink.c, tree-ssanames.c, tree-stdarg.c, tree-tailcall.c,
12422 tree-vect-generic.c, tree.c, ubsan.c, var-tracking.c,
12423 vtable-verify.c, web.c: Use GCC_FINAL instead of the anonymous
12424
12425 2015-08-12 Max Filippov <jcmvbkbc@gmail.com>
12426
12427 * config/xtensa/constraints.md (define_constraint "Y"): New
12428 constraint.
12429 * config/xtensa/elf.h (ASM_SPEC): Add m(no-)auto-litpools.
12430 * config/xtensa/linux.h (ASM_SPEC): Likewise.
12431 * config/xtensa/predicates.md (move_operand): Match constants
12432 and symbols in the presence of TARGET_AUTO_LITPOOLS.
12433 * config/xtensa/xtensa.c (xtensa_valid_move): Don't allow
12434 immediate references to TLS data.
12435 (xtensa_emit_move_sequence): Don't force constants to memory in
12436 the presence of TARGET_AUTO_LITPOOLS.
12437 (print_operand): Add 'y' format, same as default, but capable of
12438 printing SF mode constants as well.
12439 * config/xtensa/xtensa.md (movsi_internal, movhi_internal)
12440 (movsf_internal): Add movi pattern that loads literal.
12441 (movsf, movdf): Don't force constants to memory in the presence
12442 of TARGET_AUTO_LITPOOLS.
12443 (movdf_internal): Add 'Y' constraint.
12444 * config/xtensa/xtensa.opt (mauto-litpools): New option.
12445 * doc/invoke.text (Xtensa options): Document -mauto-litpools.
12446
12447 2015-08-12 Matthew Wahab <matthew.wahab@arm.com>
12448
12449 * config/arm/arm-fpus.def: Replace booleans with feature flags.
12450 Update comment.
12451 * config/arm/arm.c (ARM_FPU): Update macro.
12452 * config/arm/arm.h (TARGET_NEON_FP16): Update feature test.
12453 (TARGET_FP16): Likewise.
12454 (TARGET_CRYPTO): Likewise.
12455 (TARGET_NEON): Likewise.
12456 (struct arm_fpu_desc): Remove fields neon, fp16 and crypto. Add
12457 field features.
12458
12459 2015-08-12 Tom de Vries <tom@codesourcery.com>
12460
12461 PR other/67092
12462 PR other/67098
12463 * doc/install.texi: Remove --with_host_libstdcxx item. Update
12464 --with-stage1-libs, --with-boot-ldflags and --with-boot-libs items
12465 accordingly. Mention default for --with-stage1-ldflags.
12466
12467 2015-08-12 Matthew Wahab <matthew.wahab@arm.com>
12468
12469 * config/arm/arm.h (arm_fpu_feature_set): New.
12470 (ARM_FPU_FSET_HAS): New.
12471 (FPU_FL_NONE): New.
12472 (FPU_FL_NEON): New.
12473 (FPU_FL_FP16): New.
12474 (FPU_FL_CRYPTO): New.
12475
12476 2015-08-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12477
12478 * config/aarch64/aarch64.c (initialize_aarch64_code_model): Break
12479 after -mcmodel=large -fPIC sorry.
12480
12481 2015-08-12 Richard Biener <rguenther@suse.de>
12482
12483 * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize
12484 comparison operand order and commutative ternary op operand order.
12485 (sccvn_dom_walker::cond_stack): New state to track temporary
12486 expressions.
12487 (sccvn_dom_walker::after_dom_children): Remove tempoary expressions
12488 no longer valid.
12489 (sccvn_dom_walker::record_cond): Add a single temporary conditional
12490 expression.
12491 (sccvn_dom_walker::record_conds): Add a temporary conditional
12492 expressions and all related expressions also true/false.
12493 (sccvn_dom_walker::before_dom_children): Record temporary
12494 expressions based on the controlling condition of a single
12495 predecessor. When trying to simplify a conditional statement
12496 lookup expressions we might have inserted earlier.
12497
12498 2015-08-12 Yvan Roux <yvan.roux@linaro.org>
12499
12500 PR target/67127
12501 * config/arm/arm.md (movdi): Restrict illegitimate ldrd/strd checking
12502 to ARM core registers.
12503
12504 2015-08-12 Nathan Sidwell <nathan@acm.org>
12505
12506 * tree-vrp.c (simplify_min_or_max_using_ranges): New.
12507 (simplify_stmt_using_ranges): Simplify MIN and MAX exprs.
12508
12509 2015-08-12 Simon Dardis <simon.dardis@imgtec.com>
12510
12511 * config/mips/mips.c (mips_store_data_bypass_p): Bring code into
12512 line with comments.
12513 * config/mips/sb1.md: Update usage of mips_store_data_bypass_p.
12514
12515 2015-08-12 Richard Biener <rguenther@suse.de>
12516
12517 * gimple.h (remove_pointer): New trait.
12518 (GIMPLE_CHECK2): New inline template function.
12519 (gassign::code_): New constant static member.
12520 (is_a_helper<const gassign *>): Add.
12521 (gimple_assign_lhs): Use GIMPLE_CHECK2 in the gimple overload
12522 and forward to a new gassign overload with less checking and a
12523 cheaper way to access the operand.
12524 (gimple_assign_lhs_ptr): Likewise.
12525 (gimple_assign_set_lhs): Likewise.
12526 (gimple_assign_rhs1, gimple_assign_rhs1_ptr, gimple_assign_set_rhs1):
12527 Likewise.
12528 (gimple_assign_rhs2, gimple_assign_rhs2_ptr, gimple_assign_set_rhs2):
12529 Likewise.
12530 (gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3):
12531 Likewise.
12532 (gimple_assign_rhs_code): Likewise.
12533 * gimple.c (gassign::code_): Define.
12534
12535 2015-08-12 Richard Biener <rguenther@suse.de>
12536
12537 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
12538 Eliminate edges marked as not executable by SCCVN.
12539 * tree-ssa-sccvn.c: Include gimple-iterator.h.
12540 (cond_dom_walker): Rename to sccvn_dom_walker.
12541 (sccvn_dom_walker::before_dom_children): Value-number defs
12542 of all stmts.
12543 (run_scc_vn): Remove loop value-numbering all SSA names.
12544 Drop not visited SSA names to varying.
12545
12546 2015-08-11 Trevor Saunders <tbsaunde@tbsaunde.org>
12547
12548 * compare-elim.c, dce.c, dse.c, gimple-ssa-isolate-paths.c,
12549 gimple-ssa-strength-reduction.c, graphite.c, init-regs.c,
12550 ipa-pure-const.c, ipa-visibility.c, ipa.c, mode-switching.c,
12551 omp-low.c, reorg.c, sanopt.c, trans-mem.c, tree-eh.c,
12552 tree-if-conv.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
12553 tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
12554 tree-ssa-sink.c, tree-ssanames.c, tree-stdarg.c, tree-tailcall.c,
12555 tree-vect-generic.c, tree.c, ubsan.c, var-tracking.c,
12556 vtable-verify.c, web.c: Use GCC_FINAL instead of the anonymous
12557
12558 2015-08-11 Uros Bizjak <ubizjak@gmail.com>
12559
12560 PR target/66954
12561 * config/i386/i386.c (get_builtin_code_for_version): Add P_PCLMUL
12562 to enum feature_priority and feature_list.
12563 (fold_builtin_cpu): Add F_PCLMUL to enum processor_features
12564 and isa_names_table.
12565
12566 2015-08-11 Yuri Rumyantsev <ysrumyan@gmail.com>
12567
12568 * tree-vect-stmts.c (vectorizable_shift): Add missed test on
12569 vect_induction_def.
12570
12571 2015-08-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
12572
12573 PR c/66098
12574 PR c/66711
12575 * diagnostic.c (diagnostic_classify_diagnostic): Take -Werror into
12576 account when deciding what was the command-line status.
12577
12578 2015-08-11 Nathan Sidwell <nathan@acm.org>
12579
12580 * tree-vrp.c (simplify_abs_using_ranges): Simplify.
12581
12582 * tree-ssa-phiopt.c (minmax_replacement): Create new ssa name if
12583 we're not the only contributor to target phi.
12584
12585 2015-08-11 Jiong Wang <jiong.wang@arm.com>
12586
12587 * config/aarch64/aarch64.h (REG_CLASS_NAMES): Add the missing ',' after
12588 FIXED_REG0.
12589
12590 2015-08-11 Tom de Vries <tom@codesourcery.com>
12591
12592 * tree-cfg.c (move_sese_region_to_fn): Add todo comment.
12593
12594 2015-08-10 H.J. Lu <hongjiu.lu@intel.com>
12595
12596 * config/i386/i386.c (processor_alias_table): Replace CPU_KNL
12597 with CPU_SLM.
12598 * config/i386/i386.md (cpu): Remove knl.
12599
12600 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
12601
12602 PR libgomp/65742
12603 PR middle-end/66332
12604 * builtins.c (expand_builtin_acc_on_device) [ACCEL_COMPILER]: Emit
12605 open-coded sequence.
12606 * omp-low.c (oacc_process_reduction_data): Remove handline of
12607 GOMP_DEVICE_HOST_NONSHM.
12608
12609 * lto-streamer-in.c (lto_input_mode_table): Adjust to
12610 GET_MODE_INNER changes.
12611
12612 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
12613 Ilya Verbin <ilya.verbin@intel.com>
12614
12615 * lto-streamer-in.c (lto_input_mode_table): Correctly advance iterator.
12616
12617 2015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
12618
12619 * doc/options.texi (EnabledBy): Document that the argument must be
12620 a Common option.
12621 * doc/invoke.texi (Wnull-dereference): Move after Wnonnull.
12622 Not enabled by -Wall.
12623 * optc-gen.awk: Give nicer error messages. Detect if the argument
12624 of EnabledBy is not a Common option.
12625 * common.opt (Wnull-dereference): Not enabled by -Wall.
12626 * opt-functions.awk (lang_enabled_by): Nicer error messages.
12627
12628 2015-08-09 H.J. Lu <hongjiu.lu@intel.com>
12629
12630 * config/i386/driver-i386.c (host_detect_local_cpu): Treat
12631 model == 0x4f as Broadwell.
12632
12633 2015-08-08 Segher Boessenkool <segher@kernel.crashing.org>
12634
12635 PR rtl-optimization/67028
12636 * combine.c (simplify_comparison): Fix comment. Rearrange code.
12637 Add test to see if a const_int fits in the new mode.
12638
12639 2015-08-07 DJ Delorie <dj@redhat.com>
12640
12641 * config/rx/rx.c (rx_mode_dependent_address_p): Remove unneeded asserts.
12642
12643 2015-08-07 H.J. Lu <hongjiu.lu@intel.com>
12644
12645 PR rtl-optimization/67029
12646 * ira-color.c: Include "recog.h" before including "ira-int.h".
12647 * target-globals.c: Likewise.
12648 * ira-lives.c (ira_implicitly_set_insn_hard_regs): Add an
12649 adds an alternative_mask argument and use it instead of
12650 preferred_alternatives.
12651 * ira.h (ira_implicitly_set_insn_hard_regs): Moved to ...
12652 * ira-int.h (ira_implicitly_set_insn_hard_regs): Here.
12653 * sched-deps.c: Include "ira-int.h" after including "ira.h".
12654 (sched_analyze_insn): Update call to
12655 ira_implicitly_set_insn_hard_regs.
12656 * sel-sched.c: Include "ira-int.h" after including "ira.h".
12657 (implicit_clobber_conflict_p): Update call to
12658 ira_implicitly_set_insn_hard_regs.
12659
12660 2015-08-06 Uros Bizjak <ubizjak@gmail.com>
12661
12662 * Makefile.in (.INTERMEDIATE): Add gpl.pod.
12663
12664 2015-08-07 Kaz Kojima <kkojima@gcc.gnu.org>
12665
12666 PR target/67002
12667 * config/sh/sh.c (sh_recog_treg_set_expr): Return false when
12668 currently_expanding_to_rtl is set.
12669
12670 2015-08-06 Yaakov Selkowitz <yselkowi@redhat.com>
12671
12672 * configure.ac: Define LIBICONV_DEP with in-tree libiconv.
12673 * configure: Regenerate.
12674
12675 2015-08-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
12676 Jiong Wang <jiong.wang@arm.com>
12677
12678 * config/aarch64/aarch64.d (tlsdesc_small_pseudo_<mode>): New pattern.
12679 * config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0.
12680 (REG_CLASS_NAMES): Likewise.
12681 (REG_CLASS_CONTENTS): Likewise.
12682 * config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise.
12683 (aarch64_register_move_cost): Likewise.
12684 (aarch64_load_symref_appropriately): Invoke the new added pattern if
12685 possible.
12686 * config/aarch64/constraints.md (Uc0): New constraint.
12687
12688 2015-08-06 Jiong Wang <jiong.wang@arm.com>
12689
12690 * config/aarch64/constraints.md (Usf): Add the test of
12691 aarch64_is_noplt_call_p.
12692
12693 2015-08-06 Jiong Wang <jiong.wang@arm.com>
12694
12695 * config/aarch64/aarch64-protos.h (aarch64_is_noplt_call_p): New
12696 declaration.
12697 * config/aarch64/aarch64.c (aarch64_is_noplt_call_p): New function.
12698 * config/aarch64/aarch64.md (call_value_symbol): Check noplt scenarios.
12699 (call_symbol): Likewise.
12700
12701 2015-08-06 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
12702
12703 * tree-vect-patterns.c (vect_recog_mult_pattern): New function
12704 for vectorizing multiplication patterns.
12705 * tree-vectorizer.h: Adjust the number of patterns.
12706
12707 2015-08-06 Uros Bizjak <ubizjak@gmail.com>
12708
12709 * config/i386/sse.md (*vec_concatv2df): Declare added
12710 alternatives as sselog type.
12711
12712 2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
12713
12714 * config/s390/s390.c (s390_dwarf_frame_reg_mode): Return Pmode for
12715 all GPRs.
12716
12717 2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
12718
12719 * config/s390/s390.c (s390_expand_tbegin): Expand either
12720 tbegin_1_z13 or tbegin_1 depending on VX flag.
12721 * config/s390/s390.md ("tbegin_1_z13"): New expander.
12722
12723 2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
12724
12725 * config/s390/s390.opt: Clarify description for -mzvector
12726 * doc/invoke.texi: Add documentation for -mhtm, -mvx, and
12727 -mzvector.
12728
12729 2015-08-06 Richard Biener <rguenther@suse.de>
12730
12731 * gimple.h (gimple_call_set_fn): Access op member directly.
12732 (gimple_call_chain_ptr): Likewise.
12733 (gimple_call_set_chain): Likewise.
12734 (gimple_cond_lhs_ptr): Likewise.
12735 (gimple_cond_set_lhs): Likewise.
12736 (gimple_cond_rhs_ptr): Likewise.
12737 (gimple_cond_set_rhs): Likewise.
12738 (gimple_cond_true_label): Likewise.
12739 (gimple_cond_set_true_label): Likewise.
12740 (gimple_cond_set_false_label): Likewise.
12741 (gimple_cond_false_label): Likewise.
12742 (gimple_label_label): Likewise.
12743 (gimple_label_set_label): Likewise.
12744 (gimple_goto_set_dest): Likewise.
12745 (gimple_asm_input_op): Likewise.
12746 (gimple_asm_input_op_ptr): Likewise.
12747 (gimple_asm_set_input_op): Likewise.
12748 (gimple_asm_output_op): Likewise.
12749 (gimple_asm_output_op_ptr): Likewise.
12750 (gimple_asm_set_output_op): Likewise.
12751 (gimple_asm_clobber_op): Likewise.
12752 (gimple_asm_set_clobber_op): Likewise.
12753 (gimple_asm_label_op): Likewise.
12754 (gimple_asm_set_label_op): Likewise.
12755 (gimple_switch_index): Likewise.
12756 (gimple_switch_index_ptr): Likewise.
12757 (gimple_return_retval_ptr): Likewise.
12758 (gimple_return_retval): Likewise.
12759 (gimple_return_set_retval): Likewise.
12760 (gimple_switch_set_index): Likewise. Remove superfluous GIMPLE_CHECK.
12761 (gimple_switch_label): Likewise.
12762 (gimple_switch_set_label): Likewise.
12763
12764 2015-08-06 Richard Biener <rguenther@suse.de>
12765
12766 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Simplify
12767 bool comparison canonicalization and restrict to integers.
12768
12769 2015-08-05 Andrew MacLeod <amacleod@redhat.com>
12770
12771 * coretypes.h (enum symbol_visibility): Relocate here.
12772 * flag-types.h (enum symbol_visibility): Remove.
12773 * tree-core.h (enum symbol_visibility): Remove.
12774
12775 2015-08-05 Lynn Boger <laboger@linux.vnet.ibm.com>
12776
12777 PR target/66870
12778 * config/rs6000/rs6000.c (rs6000_emit_prologue): Check
12779 for no_split_stack function attribute along with
12780 flag_split_stack.
12781 (rs6000_expand_split_stack_prologue): Likewise.
12782
12783 2015-08-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
12784 Jeff Law <law@redhat.com>
12785
12786 PR c/16351
12787 * doc/invoke.texi (Wnull-dereference): New.
12788 * tree-vrp.c (infer_value_range): Update call to infer_nonnull_range.
12789 * gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour):
12790 Warn for potential NULL dereferences.
12791 (find_explicit_erroneous_behaviour): Warn for NULL dereferences.
12792 * ubsan.c (instrument_nonnull_arg): Call
12793 infer_nonnull_range_by_attribute.
12794 (instrument_nonnull_return): Likewise.
12795 * common.opt (Wnull-dereference); New.
12796 * gimple.c (infer_nonnull_range): Remove bool arguments.
12797 (infer_nonnull_range_by_dereference): New.
12798 (infer_nonnull_range_by_attribute): New.
12799 * gimple.h: Update declarations.
12800
12801 2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
12802
12803 * gensupport.c (sequence_num): Replace with...
12804 (insn_sequence_num, split_sequence_num, peephole2_sequence_num):
12805 ...these new variables.
12806 (init_rtx_reader_args_cb): Update accordingly.
12807 (get_num_code_insns): Likewise.
12808 (read_md_rtx): Rework to use a while loop and get_c_test.
12809 Use the new counters. Remove redundant DEFINE_SUBST case.
12810 * genoutput.c (gen_split): Delete.
12811 (main): Don't call it.
12812
12813 2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
12814
12815 * gensupport.h (get_c_test): Declare.
12816 * gensupport.c (get_c_test): New function.
12817 * genconditions.c (main): Use it.
12818 * genrecog.c (validate_pattern): Likewise.
12819 (match_pattern_1): Likewise. Remove c_test argument.
12820 (match_pattern): Update accordingly and remove c_test argument.
12821 (main): Update accordingly.
12822
12823 2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
12824
12825 * gensupport.h (get_num_insn_codes): Declare.
12826 * gensupport.c (get_num_insn_codes): New function.
12827 * genattrtab.c (optimize_attrs): Rename max_insn_code to
12828 num_insn_codes.
12829 (main): Likewise. Use get_num_insn_codes.
12830 * gencodes.c (main): Remove "last" and use get_num_insn_codes.
12831
12832 2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
12833
12834 PR middle-end/66311
12835 * wide-int.cc (wi::from_mpz): Make sure that absolute mpz value
12836 is zero- rather than sign-extended.
12837
12838 2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
12839
12840 * target-insns.def (can_extend): Delete.
12841
12842 2015-08-05 Richard Biener <rguenther@suse.de>
12843
12844 PR tree-optimization/67121
12845 * tree-if-conv.c (combine_blocks): Clear range-info produced
12846 by stmts no longer executed conditionally.
12847
12848 2015-08-05 Nick Clifton <nickc@redhat.com>
12849
12850 * config/rl78/rl78.c (rl78_force_nonfar_3): Remove optimization
12851 to allow identical far pointers to remain.
12852
12853 2015-08-05 Richard Biener <rguenther@suse.de>
12854
12855 PR middle-end/67120
12856 * match.pd: Compare address bases with == if they are decls
12857 or SSA names, not operand_equal_p. Otherwise fail.
12858
12859 2015-08-05 Richard Biener <rguenther@suse.de>
12860
12861 PR tree-optimization/67055
12862 * tree-ssa-ccp.c (fold_builtin_alloca_with_align): Handle
12863 NULL gimple_block.
12864
12865 * g++.dg/torture/pr67055.C: New testcase.
12866
12867 2015-08-05 Kirill Yukhin <kirill.yukhin@intel.com>
12868
12869 * config/i386/i386.md (define_attr "isa"): Addd avx512vl and
12870 noavx512vl.
12871 (define_attr "enabled"): Handle avx521vl and noavx512vl.
12872 * config/i386/sse.md (define_insn "vec_dupv2df<mask_name>"): Split
12873 AVX-512 alternative out of SSE.
12874 (define_insn "*vec_concatv2df"): Ditto.
12875
12876 2015-08-05 Kirill Yukhin <kirill.yukhin@intel.com>
12877
12878 * config/i386/i386.c (bdesc_args): Rename CODE_FOR_sse4_1_ptest into
12879 CODE_FOR_sse4_1_ptestv2di and CODE_FOR_avx_vtestps256 into
12880 CODE_FOR_avx_ptestv4di.
12881 * config/i386/sse.md (define_mode_iterator V_AVX): New.
12882 (define_mode_attr sse4_1): Extend to other 128/256-bit modes.
12883 (define_insn "avx_ptest256"): Merge this ...
12884 (define_insn "sse4_1_ptest"): And this ...
12885 (define_insn "<sse4_1>_ptest<mode>"): Into this. Use V_AVX iterator.
12886
12887 2015-08-05 Richard Biener <rguenther@suse.de>
12888
12889 PR tree-optimization/67109
12890 * tree-vect-data-refs.c (vect_analyze_group_access_1): Check
12891 against too big groups. Print whether this is a load or store
12892 group. Rename from ...
12893 (vect_analyze_group_access): ... this which is now a wrapper
12894 dissolving an invalid group.
12895 (vect_analyze_data_ref_accesses): Print whether this is a load
12896 or store group.
12897
12898 2015-08-05 Richard Biener <rguenther@suse.de>
12899
12900 PR middle-end/67107
12901 * match.pd: Guard const_binop result checking against NULL_TREE
12902 result.
12903
12904 2015-08-05 Kugan Vivekanandarajah <kuganv@linaro.org>
12905
12906 * cse.c (cse_insn): Restoring old behaviour for src_eqv
12907 when dest and value in the REG_EQUAL are same and dest
12908 is STRICT_LOW_PART.
12909
12910 2015-08-04 Anatoly Sokolov <aesok@post.ru>
12911
12912 * config/moxie/moxie.h (PRINT_OPERAND,
12913 PRINT_OPERAND_ADDRESS): Remove macros.
12914 * config/moxie/moxie-protos.h (moxie_print_operand,
12915 moxie_print_operand_address): Remove declaration.
12916 * config/moxie/moxie.c (TARGET_PRINT_OPERAND,
12917 TARGET_PRINT_OPERAND_ADDRESS): Define.
12918 (moxie_print_operand, moxie_print_operand_address): Make static.
12919
12920 2015-08-04 Szabolcs Nagy <szabolcs.nagy@arm.com>
12921
12922 PR target/66731
12923 * config/aarch64/aarch64.c (aarch64_rtx_costs): Fix NEG cost for FNMUL.
12924 (aarch64_rtx_mult_cost): Fix MULT cost with -frounding-math.
12925
12926 2015-08-04 Richard Biener <rguenther@suse.de>
12927
12928 * genmatch.c (dt_node::gen_kids_1): Use gassign and gcall in
12929 generated code.
12930 (dt_operand::gen_gimple_expr): Adjust.
12931
12932 2015-08-04 Richard Biener <rguenther@suse.de>
12933
12934 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Canonicalize
12935 bool compares on RHS.
12936 * match.pd: Add X ==/!= !X is false/true pattern.
12937
12938 2015-08-04 Pawel Kupidura <pawel.kupidura@arm.com>
12939
12940 * config/aarch64/aarch64.c: Change inner loop statement cost
12941 to be consistent with other targets.
12942
12943 2015-08-04 Christophe Lyon <christophe.lyon@linaro.org>
12944
12945 * config/arm/neon.md (neon_vget_lanev2di): Handle big-endian
12946 targets.
12947
12948 2015-08-04 Nathan Sidwell <nathan@codesourcery.com>
12949
12950 * config/nvptx/nvptx.h (struct nvptx_pseudo_info): Delete.
12951 (machine_function): Remove pseudos field.
12952
12953 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12954
12955 * config/aarch64/aarch64.c (aarch64_option_valid_attribute_p):
12956 Exit early and use target_option_current_node if processing current
12957 pragma.
12958
12959 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12960
12961 * doc/extend.texi (AArch64 Function Attributes): New node.
12962 (AArch64 Pragmas): Likewise.
12963
12964 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12965
12966 * config/aarch64/aarch64.c (aarch64_option_valid_attribute_p):
12967 Initialize simd builtins if TARGET_SIMD.
12968 * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
12969 Make sure that the builtins are initialized only once no matter how
12970 many times the function is called.
12971 (aarch64_init_builtins): Unconditionally initialize crc builtins.
12972 (aarch64_relayout_simd_param): New function.
12973 (aarch64_simd_expand_args): Use above during argument expansion.
12974 * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse): Initialize
12975 simd builtins if TARGET_SIMD.
12976 * config/aarch64/aarch64-protos.h (aarch64_init_simd_builtins): New
12977 prototype.
12978 (aarch64_relayout_simd_types): Likewise.
12979
12980 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12981
12982 * config.gcc (aarch64*-*-*): Specify c_target_objs and cxx_target_objs.
12983 * config/aarch64/aarch64.h (REGISTER_TARGET_PRAGMAS): Define.
12984 (TARGET_CPU_CPP_BUILTINS): Redefine to call aarch64_cpu_cpp_builtins.
12985 * config/aarch64/aarch64.c (aarch64_override_options_internal): Remove
12986 static keyword.
12987 (aarch64_reset_previous_fndecl): New function.
12988 (aarch64_handle_attr_isa_flags): Handle "+nothing" in the beginning of
12989 the string.
12990 * config/aarch64/aarch64-c.c: New file.
12991 * config/aarch64/arm_acle.h: Add pragma +crc+nofp at the top.
12992 Push and pop options at beginning and end. Remove ifdef
12993 __ARM_FEATURE_CRC32.
12994 * config/aarch64/arm_neon.h: Remove #ifdef check on __ARM_NEON.
12995 Add pragma +nothing+simd and +nothing+crypto where appropriate.
12996 * config/aarch64/t-aarch64 (aarch64-c.o): New rule.
12997 * config/aarch64/aarch64-protos.h (aarch64_cpu_cpp_builtins):
12998 Define prototype.
12999 (aarch64_register_pragmas): Likewise.
13000 (aarch64_reset_previous_fndecl): Likewise.
13001 (aarch64_process_target_attr): Likewise.
13002 (aarch64_override_options_internal): Likewise.
13003
13004 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13005
13006 * config/aarch64/aarch64.c (aarch64_tribools_ok_for_inlining_p):
13007 New function.
13008 (aarch64_can_inline_p): Likewise.
13009 (TARGET_CAN_INLINE_P): Define.
13010
13011 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13012
13013 * common/config/aarch64/aarch64-common.c (aarch64_handle_option):
13014 Remove static. Handle OPT_mgeneral_regs_only,
13015 OPT_mfix_cortex_a53_835769, OPT_mstrict_align,
13016 OPT_momit_leaf_frame_pointer.
13017 * config/aarch64/aarch64.c: Include opts.h and diagnostic.h
13018 (aarch64_attr_opt_type): New enum.
13019 (aarch64_attribute_info): New struct.
13020 (aarch64_handle_attr_arch): New function.
13021 (aarch64_handle_attr_cpu): Likewise.
13022 (aarch64_handle_attr_tune): Likewise.
13023 (aarch64_handle_attr_isa_flags): Likewise.
13024 (aarch64_attributes): New table.
13025 (aarch64_process_one_target_attr): New function.
13026 (num_occurences_in_str): Likewise.
13027 (aarch64_process_target_attr): Likewise.
13028 (aarch64_option_valid_attribute_p): Likewise.
13029 (TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
13030 * config/aarch64/aarch64-protos.h: Include input.h
13031 (aarch64_handle_option): Declare prototype.
13032
13033 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13034
13035 * config/aarch64/aarch64.h (SWITCHABLE_TARGET): Define.
13036 * config/aarch64/aarch64.c: Include target-globals.h
13037 (aarch64_previous_fndecl): New variable.
13038 (aarch64_set_current_function): New function.
13039 (TARGET_SET_CURRENT_FUNCTION): Define.
13040
13041 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13042
13043 * config/aarch64/aarch64.opt (explicit_tune_core): New TargetVariable.
13044 (explicit_arch): Likewise.
13045 (x_aarch64_isa_flags): Likewise.
13046 (mgeneral-regs-only): Mark as Save.
13047 (mfix-cortex-a53-835769): Likewise.
13048 (mcmodel=): Likewise.
13049 (mstrict-align): Likewise.
13050 (momit-leaf-frame-pointer): Likewise.
13051 (mtls-dialect): Likewise.
13052 (master=): Likewise.
13053 * config/aarch64/aarch64.h (ASM_DECLARE_FUNCTION_NAME): Define.
13054 (aarch64_isa_flags): Remove extern declaration.
13055 * config/aarch64/aarch64.c (aarch64_validate_mcpu): Return a bool
13056 to indicate success or failure.
13057 (aarch64_validate_march): Likewise.
13058 (aarch64_validate_mtune): Likewise.
13059 (aarch64_isa_flags): Delete.
13060 (aarch64_override_options_internal): Access opts->x_aarch64_isa_flags
13061 instead of aarch64_isa_flags.
13062 (aarch64_get_tune_cpu): New function.
13063 (aarch64_get_arch): Likewise.
13064 (aarch64_override_options): Use above and set up explicit_tune_core
13065 and explicit_arch.
13066 (aarch64_print_extension): Move earlier in file. Add isa_flags
13067 argument and use that instead of the global aarch64_isa_flags.
13068 (aarch64_option_save): New function.
13069 (aarch64_option_restore): Likewise.
13070 (aarch64_option_print): Likewise.
13071 (aarch64_declare_function_name): Likewise.
13072 (aarch64_start_file): Delete.
13073 (TARGET_ASM_FILE_START): Do not define.
13074 (TARGET_OPTION_RESTORE, TARGET_OPTION_PRINT): Define.
13075 * config/aarch64/aarch64-protos.h (aarch64_declare_function_name):
13076 Declare prototype.
13077
13078 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13079
13080 * config/aarch64/aarch64.opt (momit-leaf-frame-pointer): Initialize
13081 flag_omit_leaf_frame_pointer to 2.
13082
13083 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13084
13085 * config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_835769_DEFAULT): Always
13086 define to 0 or 1.
13087 (TARGET_FIX_ERR_A53_835769): New macro.
13088 * config/aarch64/aarch64.c (aarch64_override_options_internal): Remove
13089 handling of opts->x_aarch64_fix_a53_err835769.
13090 (aarch64_madd_needs_nop): Check for TARGET_FIX_ERR_A53_835769 rather
13091 than aarch64_fix_a53_err835769.
13092 * config/aarch64/aarch64-elf-raw.h: Update for above changes.
13093 * config/aarch64/aarch64-linux.h: Likewise.
13094
13095 2015-08-04 Uros Bizjak <ubizjak@gmail.com>
13096
13097 * config/i386/i386.c (ix86_expand_int_movcc): Check result of
13098 ix86_expand_int_movcc as boolean.
13099
13100 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13101
13102 * config/aarch64/aarch64.opt (aarch64_arch_string): Delete.
13103 (aarch64_cpu_string): Likewise.
13104 (aarch64_tune_string): Likewise.
13105 * config/aarch64/aarch64.c (aarch64_parse_opt_result): New enum.
13106 (aarch64_parse_extension): Return aarch64_parse_opt_result.
13107 Add extra argument to put result into.
13108 (aarch64_parse_arch): Likewise. Do not set selected_cpu.
13109 (aarch64_parse_cpu): Add arguments to put results into. Return
13110 aarch64_parse_opt_result.
13111 (aarch64_parse_tune): Likewise.
13112 (aarch64_override_options_after_change_1): New function.
13113 (aarch64_override_options_internal): New function.
13114 (aarch64_validate_mcpu): Likewise.
13115 (aarch64_validate_march): Likewise.
13116 (aarch64_validate_mtune): Likewise.
13117 (aarch64_override_options): Update to reflect above changes.
13118 Move some logic into aarch64_override_options_internal.
13119 Initialize target_option_default_node and target_option_current_node.
13120 (aarch64_override_options_after_change): Move logic into
13121 aarch64_override_options_after_change_1 and call it with global_options.
13122 (initialize_aarch64_code_model): Take a gcc_options pointer and use the
13123 flag values from that.
13124
13125 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13126
13127 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
13128 __ARM_ARCH_8A directly rather than with cpp_define_formatted.
13129 * config/aarch64/aarch64.c (struct processor): Add arch field.
13130 (all_architectures): Handle above, move above all_cores.
13131 (all_cores): Handle above.
13132 (aarch64_parse_arch): Handle above changes.
13133 * config/aarch64/aarch64-arches.def (armv8-a): Extend according to
13134 above. Update comments.
13135 (armv8.1-a): Likewise.
13136 * config/aarch64/aarch64-cores.def: Update according to above.
13137 * config/aarch64/aarch64-opts.h (aarch64_arch): New enum.
13138 * config/aarch64/driver-aarch64.c (struct aarch64_arch): Rename to
13139 aarch64_arch_driver_info.
13140
13141 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13142
13143 * config/aarch64/aarch64.c (struct processor): Add ident field.
13144 Rename core sched_core.
13145 (all_cores): Handle above changes.
13146 (all_architectures): Likewise.
13147 (aarch64_parse_arch): Likewise.
13148 (aarch64_override_options): Likewise.
13149
13150 2015-08-04 Richard Biener <rguenther@suse.de>
13151
13152 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove
13153 dispatching to fold_binary for GIMPLE_BINARY_RHS and for
13154 comparisons embedded in [VEC_]COND_EXPRs.
13155
13156 2015-08-03 Abe Skolnik <a.skolnik@samsung.com>
13157
13158 * tree-if-conv.c: Fix various typos in comments.
13159 * tree-vect-stmts.c: Likewise.
13160
13161 2015-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
13162
13163 PR tree-optimization/67043
13164 * loop-invariant.c (move_invariant_reg): Recompute luids in loop
13165 preheader after hoisting invariant in it.
13166 (find_defs): Force recomputation of all luids.
13167
13168 2015-08-03 Peter Bergner <bergner@vnet.ibm.com>
13169
13170 * config/rs6000/htm.md (tabort.): Restrict the source operand to
13171 using a base register.
13172
13173 2015-08-03 David Malcolm <dmalcolm@redhat.com>
13174
13175 * main.c (main): Pass in NULL for toplev's external_timer.
13176 * timevar.c: Include coretypes.h.
13177 (class timer::named_items): New.
13178 (timer::named_items::named_items): New.
13179 (timer::named_items::~named_items): New.
13180 (timer::named_items::push): New.
13181 (timer::named_items::pop): New.
13182 (timer::named_items::print): New.
13183 (timer::timer): Initialize field "m_jit_client_items".
13184 (timer::~timer): New.
13185 (timer::push): Move bulk of implementation to...
13186 (timer::push_internal): ...here. New function.
13187 (timer::pop): Move bulk of implementation to...
13188 (timer::pop_internal): ...here. New function.
13189 (timer::push_client_item): New.
13190 (timer::pop_client_item): New.
13191 (timer::print_row): New function, taken from timer::print.
13192 (timer::print): Print "GCC items" header if we also have client
13193 items. Move row-printing to timer::print_row. Print any client
13194 items.
13195 (timer::get_topmost_item_name): New method.
13196 * timevar.def (TV_JIT_ACQUIRING_MUTEX): New.
13197 (TV_JIT_CLIENT_CODE): New.
13198 * timevar.h (timer::push_client_item): New declaration.
13199 (timer::pop_client_item): New declaration.
13200 (timer::get_topmost_item_name): New method.
13201 (timer::push_internal): New declaration.
13202 (timer::pop_internal): New declaration.
13203 (timer::print_row): New declaration.
13204 (timer::named_items): New declaration.
13205 (timer::m_jit_client_items): New field.
13206 (timer): Add friend class named_items.
13207 (auto_timevar::auto_timevar): Add timer param.
13208 (auto_timevar::~auto_timevar): Use field "m_timer".
13209 (auto_timevar::m_timer): New field.
13210 * toplev.c (initialize_rtl): Add g_timer as param when
13211 constructing auto_timevar instance.
13212 (toplev::toplev): Add "external_timer" param, and use it to
13213 initialize the "g_timer" global if non-NULL.
13214 (toplev::~toplev): If this created "g_timer", delete it.
13215 * toplev.h (toplev::toplev): Replace "use_TV_TOTAL" bool param
13216 with "external_timer" timer *.
13217
13218 2015-08-03 Alexander Basov <coohpt@gmail.com>
13219
13220 PR middle-end/64744
13221 PR middle-end/48470
13222 PR middle-end/43404
13223 * cfgexpand.c (expand_one_var): Add check if stack is going to
13224 be used in naked function.
13225 * expr.c (expand_expr_addr_expr_1): Remove excess checking
13226 whether expression should not reside in MEM.
13227 * function.c (use_register_for_decl): Do not use registers for
13228 non-register things (volatile, float, BLKMode) in naked functions.
13229
13230 2015-08-03 John David Anglin <danglin@gcc.gnu.org>
13231
13232 PR target/67060
13233 * config/pa/pa.md (call_reg_64bit): Remove reg:DI 1 clobber.
13234 Adjust splits to match new pattern.
13235
13236 2015-08-03 Michael Meissner <meissner@linux.vnet.ibm.com>
13237
13238 * config/rs6000/vector.md (VEC_L): Add KFmode and TFmode.
13239 (VEC_M): Likewise.
13240 (VEC_N): Likewise.
13241 (mov<mode>, VEC_M iterator): Add support for IEEE 128-bit floating
13242 point in VSX registers.
13243
13244 * config/rs6000/constraints.md (wb constraint): Document unused
13245 w<x> constraint.
13246 (we constraint): Likewise.
13247 (wo constraint): Likewise.
13248 (wp constraint): New constraint for IEEE 128-bit floating point in
13249 VSX registers.
13250 (wq constraint): Likewise.
13251
13252 * config/rs6000/predicates.md (easy_fp_constant): Add support for
13253 IEEE 128-bit floating point in VSX registers.
13254 (easy_scalar_constant): Likewise.
13255
13256 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add new
13257 constraints (wp, wq) for IEEE 128-bit floating point in VSX
13258 registers.
13259 (rs6000_init_hard_regno_mode_ok): Likewise.
13260
13261 * config/rs6000/vsx.md (VSX_LE_128): Add support for IEEE 128-bit
13262 floating point in VSX registers.
13263 (VSX_L): Likewise.
13264 (VSX_M): Likewise.
13265 (VSX_M2): Likewise.
13266 (VSm): Likewise.
13267 (VSs): Likewise.
13268 (VSr): Likewise.
13269 (VSa): Likewise.
13270 (VSv): Likewise.
13271 (vsx_le_permute_<mode>): Add support to properly swap bytes for
13272 IEEE 128-bit floating point in VSX registers on little endian.
13273 (vsx_le_undo_permute_<mode>): Likewise.
13274 (vsx_le_perm_load_<mode>): Likewise.
13275 (vsx_le_perm_store_<mode>): Likewise.
13276 (splitters for IEEE 128-bit fp moves): Likewise.
13277
13278 * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add wp and
13279 wq constraints.
13280
13281 * config/rs6000/altivec.md (VM): Add support for IEEE 128-bit
13282 floating point in VSX registers.
13283 (VM2): Likewise.
13284
13285 * doc/md.text (Machine Constraints): Document wp and wq
13286 constraints on PowerPC.
13287
13288 2015-08-03 Jeff Law <law@redhat.com>
13289
13290 PR middle-end/66314
13291 PR gcov-profile/66899
13292 * tree-ssa-threadupdate.c (mark_threaded_blocks): Correctly
13293 iterate over the jump threading paths when an element in the
13294 jump threading paths array is eliminated.
13295
13296 2015-08-03 Segher Boessenkool <segher@kernel.crashing.org>
13297
13298 * Makefile.in (OBJS): Put gimple-match.o and generic-match.o first.
13299
13300 2015-08-03 Patrick Palka <ppalka@gcc.gnu.org>
13301
13302 * tree-ssa-uninit.c (find_uninit_use): Declare and pass to
13303 is_use_properly_guarded the variable def_preds. Free its
13304 contents before returning.
13305 (prune_uninit_phi_opnds_in_unrealizable_paths): Same.
13306 (is_use_properly_guarded): Replace local variable def_preds with
13307 a parameter. Adjust accordingly. Only update *def_preds if it's
13308 the empty vector.
13309
13310 2015-08-03 Richard Biener <rguenther@suse.de>
13311
13312 * genmatch.c (simplify::for_subst_vec): New member.
13313 (binary_ok): New helper for for lowering.
13314 (lower_for): Delay substituting operators into result expressions
13315 if we can merge the results eventually again.
13316 (capture_info::walk_result): Adjust for user_id appearing as
13317 result expression operator.
13318 (expr::gen_transform): Likewise.
13319 (dt_simplify::gen_1): Likewise.
13320 (dt_simplify::gen): Pass not substituted operators to tail
13321 functions or initialize local variable with it.
13322 (decision_tree::gen): Adjust function signature.
13323 * match.pd: Fix tests against global code and add default
13324 cases to switch stmts.
13325
13326 2015-08-03 Richard Biener <rguenther@suse.de>
13327
13328 * genmatch.c (dt_simplify::gen): Create captures array
13329 with an initializer.
13330
13331 2015-08-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
13332
13333 * configure.ac: Set aliasing_flags to -fno-strict-aliasing if
13334 the host compiler is affected by placement new aliasing bug.
13335 * configure: Regenerate.
13336 * Makefile.in (ALIASING_FLAGS): New variable.
13337 (ALL_CXXFLAGS): Add $(ALIASING_FLAGS).
13338
13339 2015-08-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
13340
13341 PR target/66731
13342 * config/arm/vfp.md (negmuldf3_vfp): Add new pattern.
13343 (negmulsf3_vfp): Likewise.
13344 (muldf3negdf_vfp): Disable for -frounding-math.
13345 (mulsf3negsf_vfp): Likewise.
13346 * config/arm/arm.c (arm_new_rtx_costs): Fix NEG cost for VNMUL,
13347 fix MULT cost with -frounding-math.
13348
13349 2015-08-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13350
13351 * ifcvt.c (noce_try_store_flag_constants): Make logic of the case
13352 when diff == STORE_FLAG_VALUE or diff == -STORE_FLAG_VALUE more
13353 explicit. Prefer to add the flag whenever possible.
13354 (noce_process_if_block): Try noce_try_store_flag_constants before
13355 noce_try_cmove.
13356
13357 2015-08-03 Richard Biener <rguenther@suse.de>
13358
13359 * genmatch.c (struct sinfo, struct sinfo_hashmap_traits, sinfo_map_t):
13360 New hash-map to record equivalent transforms.
13361 (dt_node::analyze): Populate the equivalent transforms hash-map.
13362 (dt_simplify::info): Add reference to hash-map entry.
13363 (dt_simplify::gen): If we have split out a function for the
13364 transform, generate a call to it.
13365 (sinfo_hashmap_traits::hash): New function.
13366 (compare_op): New helper function for ...
13367 (sinfo_hashmap_traits::equal_keys): ... this new function.
13368 (decision_tree::gen): Split out common equivalent transforms
13369 into functions.
13370
13371 2015-08-03 Richard Biener <rguenther@suse.de>
13372
13373 * gimple-fold.c (fold_gimple_assign): Remove folding of
13374 the comparison in COND_EXPRs.
13375
13376 2015-08-03 Richard Biener <rguenther@suse.de>
13377
13378 * gimple-match-head.c (gimple_simplify): For [VEC_]COND_EXPRs
13379 on the rhs of assignments first simplify the embedded
13380 GENERIC condition.
13381
13382 2015-08-03 Richard Biener <rguenther@suse.de>
13383
13384 PR tree-optimization/66917
13385 * tree-vectorizer.h (struct dataref_aux): Add base_element_aligned
13386 field.
13387 (DR_VECT_AUX): New macro.
13388 (set_dr_misalignment): Adjust.
13389 (dr_misalignment): Likewise.
13390 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
13391 Compute whether the base is at least element aligned.
13392 * tree-vect-stmts.c (ensure_base_align): Adjust.
13393 (vectorizable_store): If the base is not element aligned
13394 preserve alignment of the original access if misalignment is unknown.
13395 (vectorizable_load): Likewise.
13396
13397 2015-08-02 Martin Sebor <msebor@redhat.com>
13398
13399 * c-family/c.opt (-Wframe-address): New warning option.
13400 * doc/invoke.texi (Wframe-address): Document it.
13401 * doc/extend.texi (__builtin_frame_address, __builtin_return_address):
13402 Clarify possible effects of calling the functions with non-zero
13403 arguments and mention -Wframe-address.
13404 * builtins.c (expand_builtin_frame_address): Handle -Wframe-address.
13405
13406 2015-08-01 Michael Collison <michael.collison@linaro.org
13407 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
13408
13409 * config/arm/arm.md (*arm_smin_cmp): New pattern.
13410 (*arm_umin_cmp): Likewise.
13411
13412 2015-08-01 Caroline Tice <cmtice@google.com>
13413
13414 PR 66521
13415 * vtable-verify.c (vtbl_mangled_name_types, vtbl_mangled_name_ids): New
13416 global variables.
13417 (vtbl_find_mangled_name): New function.
13418 (vtbl_register_mangled_name): New function.
13419 (vtbl_map_get_node): If DECL_ASSEMBLER_NAME is "<anon>", look up
13420 mangled name in mangled name vectors.
13421 (find_or_create_vtbl_map_node): Ditto.
13422 (var_is_used_for_virtual_call_p): Add recursion_depth parameter;
13423 update recursion_depth on function entry; pass it to every recursive
13424 call; automatically exit if depth > 25 (give up looking at that point).
13425 (verify_bb_vtables): Initialize recursion_depth and pass it to
13426 var_is_used_for_virtual_call_p.
13427 * vtable-verify.h (vtbl_mangbled_name_types, vtbl_mangled_name_ids): New
13428 global variable decls.
13429 (vtbl_register_mangled_name): New extern function decl.
13430
13431 2015-08-01 Tom de Vries <tom@codesourcery.com>
13432
13433 * tree.c (operation_can_overflow, operation_no_trapping_overflow): New
13434 function.
13435 * tree.h (operation_can_overflow, operation_no_trapping_overflow):
13436 Declare.
13437 * tree-vect-loop.c (vect_is_simple_reduction_1): Use
13438 operation_no_trapping_overflow. Allow non-overflow operations.
13439 * graphite-sese-to-poly.c (is_reduction_operation_p): Allow non-overflow
13440 operations.
13441
13442 2015-07-31 Kaz Kojima <kkojima@gcc.gnu.org>
13443
13444 PR target/67049
13445 * config/sh/sh.md (GOTaddr2picreg): Fix typo.
13446
13447 2015-07-31 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13448
13449 * config/arm/arm.md (*if_neg_move): Convert to insn_and_split.
13450 Enable for TARGET_32BIT.
13451 (*if_move_neg): Likewise.
13452
13453 2015-07-31 Nick Clifton <nickc@redhat.com>
13454
13455 * config/m32r/m32r.c (m32r_attribute_identifier): New function.
13456 Returns true for __model__.
13457 (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
13458
13459 2015-07-31 Alan Modra <amodra@gmail.com>
13460
13461 PR target/66870
13462 * config/rs6000/rs6000.c (machine_function): Add split_stack_argp_used.
13463 (rs6000_emit_prologue): Set it.
13464 (rs6000_set_up_by_prologue): Specify r12 when split_stack_argp_used.
13465
13466 2015-07-31 Richard Biener <rguenther@suse.de>
13467
13468 * fold-const.c (fold_binary_loc): Remove X ^ C1 == C2
13469 -> X == (C1 ^ C2) which is already implemented in match.pd.
13470 Remove redundant dispatching to fold_relational_const.
13471 Move unordered self and NaN compares ...
13472 * match.pd: ... as patterns here. Remove some stray captures
13473 and add a comment.
13474
13475 2015-07-31 Petr Murzin <petr.murzin@intel.com>
13476
13477 * config/i386/i386.c
13478 (bdesc_special_args): Convert mask type from signed to unsigned for
13479 masked builtins.
13480 (ix86_expand_args_builtin): Do not handle UINT_FTYPE_V2DF,
13481 UINT64_FTYPE_V2DF, UINT64_FTYPE_V4SF, V16QI_FTYPE_V8DI,
13482 V16HI_FTYPE_V16SI, V16SI_FTYPE_V16SI, V16SF_FTYPE_FLOAT,
13483 V8HI_FTYPE_V8DI, V8UHI_FTYPE_V8UHI, V8SI_FTYPE_V8DI, V8SF_FTYPE_V8DF,
13484 V8DI_FTYPE_INT64, V8DI_FTYPE_V4DI, V8DI_FTYPE_V8DI, V8DF_FTYPE_DOUBLE,
13485 V8DF_FTYPE_V8SI, V16SI_FTYPE_V16SI_V16SI, V16SF_FTYPE_V16SF_V16SI,
13486 V8DI_FTYPE_V8DI_V8DI, V8DF_FTYPE_V8DF_V8DI, V4SI_FTYPE_V4SF_V4SF,
13487 V4SF_FTYPE_V4SF_UINT64, V2UDI_FTYPE_V4USI_V4USI, V2DI_FTYPE_V2DF_V2DF,
13488 V2DF_FTYPE_V2DF_UINT64, V4UDI_FTYPE_V8USI_V8USI, QI_FTYPE_V8DI_V8DI,
13489 HI_FTYPE_V16SI_V16SI, HI_FTYPE_HI_INT, V16SF_FTYPE_V16SF_V16SF_V16SF,
13490 V16SF_FTYPE_V16SF_V16SI_V16SF, V16SF_FTYPE_V16SI_V16SF_HI,
13491 V16SF_FTYPE_V16SI_V16SF_V16SF, V16SI_FTYPE_V16SF_V16SI_HI,
13492 V8DI_FTYPE_V8SF_V8DI_QI, V8SF_FTYPE_V8DI_V8SF_QI, V8DI_FTYPE_PV4DI,
13493 V8DF_FTYPE_V8DI_V8DF_QI, V16SI_FTYPE_V16SI_V16SI_V16SI,
13494 V2DI_FTYPE_V2DI_V2DI_V2DI, V8DI_FTYPE_V8DF_V8DI_QI, V8DF_FTYPE_PV4DF,
13495 V8SI_FTYPE_V8SI_V8SI_V8SI, V8DF_FTYPE_V8DF_V8DF_V8DF, UINT_FTYPE_V4SF,
13496 V8DF_FTYPE_V8DF_V8DI_V8DF, V8DF_FTYPE_V8DI_V8DF_V8DF,
13497 V8DF_FTYPE_V8SF_V8DF_QI, V8DI_FTYPE_V8DI_V8DI_V8DI, V16SF_FTYPE_PV4SF,
13498 V8SF_FTYPE_V8DF_V8SF_QI, V8SI_FTYPE_V8DF_V8SI_QI, V16SI_FTYPE_PV4SI,
13499 V2DF_FTYPE_V2DF_V4SF_V2DF_QI, V4SF_FTYPE_V4SF_V2DF_V4SF_QI,
13500 V8DI_FTYPE_V8DI_SI_V8DI_V8DI, QI_FTYPE_V8DF_V8DF_INT_QI,
13501 HI_FTYPE_V16SF_V16SF_INT_HI, V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI,
13502 VOID_FTYPE_PDOUBLE_V2DF_QI, VOID_FTYPE_PFLOAT_V4SF_QI,
13503 V2DF_FTYPE_PCDOUBLE_V2DF_QI, V4SF_FTYPE_PCFLOAT_V4SF_QI.
13504 * config/i386/i386-builtin-types.def
13505 (V16QI_FTYPE_V16SI): Remove.
13506 (V8DF_FTYPE_V8SI): Ditto.
13507 (V8HI_FTYPE_V8DI): Ditto.
13508 (V8SI_FTYPE_V8DI): Ditto.
13509 (V8SF_FTYPE_V8DF): Ditto.
13510 (V8SF_FTYPE_V8DF_V8SF_QI): Ditto.
13511 (V16HI_FTYPE_V16SI): Ditto.
13512 (V16SF_FTYPE_V16HI): Ditto.
13513 (V16SF_FTYPE_V16HI_V16SF_HI): Ditto.
13514 (V16SF_FTYPE_V16SI): Ditto.
13515 (V4DI_FTYPE_V4DI): Ditto.
13516 (V16SI_FTYPE_V16SF): Ditto.
13517 (V16SF_FTYPE_FLOAT): Ditto.
13518 (V8DF_FTYPE_DOUBLE): Ditto.
13519 (V8DI_FTYPE_INT64): Ditto.
13520 (V8DI_FTYPE_V4DI): Ditto.
13521 (V16QI_FTYPE_V8DI): Ditto.
13522 (UINT_FTYPE_V4SF): Ditto.
13523 (UINT64_FTYPE_V4SF): Ditto.
13524 (UINT_FTYPE_V2DF): Ditto.
13525 (UINT64_FTYPE_V2DF): Ditto.
13526 (V16SI_FTYPE_V16SI): Ditto.
13527 (V8DI_FTYPE_V8DI): Ditto.
13528 (V16SI_FTYPE_PV4SI): Ditto.
13529 (V16SF_FTYPE_PV4SF): Ditto.
13530 (V8DI_FTYPE_PV2DI): Ditto.
13531 (V8DF_FTYPE_PV2DF): Ditto.
13532 (V4DI_FTYPE_PV2DI): Ditto.
13533 (V4DF_FTYPE_PV2DF): Ditto.
13534 (V16SI_FTYPE_PV2SI): Ditto.
13535 (V16SF_FTYPE_PV2SF): Ditto.
13536 (V8DI_FTYPE_PV4DI): Ditto.
13537 (V8DF_FTYPE_PV4DF): Ditto.
13538 (V8SF_FTYPE_FLOAT): Ditto.
13539 (V4SF_FTYPE_FLOAT): Ditto.
13540 (V4DF_FTYPE_DOUBLE): Ditto.
13541 (V8SF_FTYPE_PV4SF): Ditto.
13542 (V8SI_FTYPE_PV4SI): Ditto.
13543 (V4SI_FTYPE_PV2SI): Ditto.
13544 (V8SF_FTYPE_PV2SF): Ditto.
13545 (V8SI_FTYPE_PV2SI): Ditto.
13546 (V16SF_FTYPE_PV8SF): Ditto.
13547 (V16SI_FTYPE_PV8SI): Ditto.
13548 (V8DI_FTYPE_V8SF): Ditto.
13549 (V4DI_FTYPE_V4SF): Ditto.
13550 (V2DI_FTYPE_V4SF): Ditto.
13551 (V64QI_FTYPE_QI): Ditto.
13552 (V32HI_FTYPE_HI): Ditto.
13553 (V8UHI_FTYPE_V8UHI): Ditto.
13554 (V16UHI_FTYPE_V16UHI): Ditto.
13555 (V32UHI_FTYPE_V32UHI): Ditto.
13556 (V2UDI_FTYPE_V2UDI): Ditto.
13557 (V4UDI_FTYPE_V4UDI): Ditto.
13558 (V8UDI_FTYPE_V8UDI): Ditto.
13559 (V4USI_FTYPE_V4USI): Ditto.
13560 (V8USI_FTYPE_V8USI): Ditto.
13561 (V16USI_FTYPE_V16USI): Ditto.
13562 (V2DF_FTYPE_V2DF_UINT64): Ditto.
13563 (V2DI_FTYPE_V2DF_V2DF): Ditto.
13564 (V2UDI_FTYPE_V4USI_V4USI): Ditto.
13565 (V8DF_FTYPE_V8DF_V8DI): Ditto.
13566 (V4SF_FTYPE_V4SF_UINT64): Ditto.
13567 (V4SI_FTYPE_V4SF_V4SF): Ditto.
13568 (V16SF_FTYPE_V16SF_V16SI): Ditto.
13569 (V64QI_FTYPE_V32HI_V32HI): Ditto.
13570 (V32HI_FTYPE_V16SI_V16SI): Ditto.
13571 (V8DF_FTYPE_V8DF_V8DF_V8DI_INT_QI): Ditto.
13572 (V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI): Ditto.
13573 (V32HI_FTYPE_V64QI_V64QI): Ditto.
13574 (V32HI_FTYPE_V32HI_V32HI): Ditto.
13575 (V16HI_FTYPE_V16HI_V16HI_INT_V16HI_HI): Ditto.
13576 (V16SI_FTYPE_V16SI_V4SI): Ditto.
13577 (V16SI_FTYPE_V16SI_V16SI): Ditto.
13578 (V16SI_FTYPE_V32HI_V32HI): Ditto.
13579 (V16SI_FTYPE_V16SI_SI): Ditto.
13580 (V8DI_FTYPE_V8DI_V8DI): Ditto.
13581 (V4UDI_FTYPE_V8USI_V8USI): Ditto.
13582 (V8DI_FTYPE_V16SI_V16SI): Ditto.
13583 (V8DI_FTYPE_V8DI_V2DI): Ditto.
13584 (QI_FTYPE_QI): Ditto.
13585 (SI_FTYPE_SI): Ditto.
13586 (DI_FTYPE_DI): Ditto.
13587 (QI_FTYPE_QI_QI): Ditto.
13588 (QI_FTYPE_QI_INT): Ditto.
13589 (HI_FTYPE_HI_INT): Ditto.
13590 (SI_FTYPE_SI_INT): Ditto.
13591 (DI_FTYPE_DI_INT): Ditto.
13592 (HI_FTYPE_V16QI_V16QI): Ditto.
13593 (SI_FTYPE_V32QI_V32QI): Ditto.
13594 (DI_FTYPE_V64QI_V64QI): Ditto.
13595 (QI_FTYPE_V8HI_V8HI): Ditto.
13596 (HI_FTYPE_V16HI_V16HI): Ditto.
13597 (SI_FTYPE_V32HI_V32HI): Ditto.
13598 (QI_FTYPE_V4SI_V4SI): Ditto.
13599 (QI_FTYPE_V8SI_V8SI): Ditto.
13600 (QI_FTYPE_V2DI_V2DI): Ditto.
13601 (QI_FTYPE_V4DI_V4DI): Ditto.
13602 (QI_FTYPE_V8DI_V8DI): Ditto.
13603 (HI_FTYPE_V16SI_V16SI): Ditto.
13604 (HI_FTYPE_V16SI_V16SI_INT_HI): Ditto.
13605 (QI_FTYPE_V8DF_V8DF_INT_QI): Ditto.
13606 (HI_FTYPE_V16SF_V16SF_INT_HI): Ditto.
13607 (V32HI_FTYPE_V32HI_V32HI_V32HI): Ditto.
13608 (V4SF_FTYPE_V4SF_V2DF_V4SF_QI): Ditto.
13609 (V8DF_FTYPE_V8DF_V8DF_V8DF): Ditto.
13610 (V16SF_FTYPE_V16SF_V16SF_V16SF): Ditto.
13611 (V8DF_FTYPE_V8SF_V8DF_QI): Ditto.
13612 (V8DI_FTYPE_V8DF_V8DI_QI): Ditto.
13613 (V8DF_FTYPE_V8DI_V8DF_V8DF): Ditto.
13614 (V2DF_FTYPE_V2DF_V4SF_V2DF_QI): Ditto.
13615 (V16SF_FTYPE_V16SI_V16SF_HI): Ditto.
13616 (V16SF_FTYPE_V16SI_V16SF_V16SF): Ditto.
13617 (V8SI_FTYPE_V8DF_V8SI_QI): Ditto.
13618 (V8DI_FTYPE_PCCHAR_V8DI_QI): Ditto.
13619 (V8SF_FTYPE_PCFLOAT_V8SF_QI): Ditto.
13620 (V4SF_FTYPE_PCFLOAT_V4SF_QI): Ditto.
13621 (V4DF_FTYPE_PCDOUBLE_V4DF_QI): Ditto.
13622 (V2DF_FTYPE_PCDOUBLE_V2DF_QI): Ditto.
13623 (V8SI_FTYPE_PCCHAR_V8SI_QI): Ditto.
13624 (V4SI_FTYPE_PCCHAR_V4SI_QI): Ditto.
13625 (V4DI_FTYPE_PCCHAR_V4DI_QI): Ditto.
13626 (V2DI_FTYPE_PCCHAR_V2DI_QI): Ditto.
13627 (V16SF_FTYPE_PCV8SF_V16SF_HI): Ditto.
13628 (V16SI_FTYPE_PCV8SI_V16SI_HI): Ditto.
13629 (V8DF_FTYPE_PCV2DF_V8DF_QI): Ditto.
13630 (V8SF_FTYPE_PCV4SF_V8SF_QI): Ditto.
13631 (V8DI_FTYPE_PCV2DI_V8DI_QI): Ditto.
13632 (V8SI_FTYPE_PCV4SI_V8SI_QI): Ditto.
13633 (V4DF_FTYPE_PCV2DF_V4DF_QI): Ditto.
13634 (V4DI_FTYPE_PCV2DI_V4DI_QI): Ditto.
13635 (VOID_FTYPE_PDOUBLE_V2DF_QI): Ditto.
13636 (VOID_FTYPE_PFLOAT_V4SF_QI): Ditto.
13637 (V16SI_FTYPE_V16SF_V16SI_HI): Ditto.
13638 (V8DI_FTYPE_V8SF_V8DI_QI): Ditto.
13639 (V8SF_FTYPE_V8DI_V8SF_QI): Ditto.
13640 (V8DF_FTYPE_V8DI_V8DF_QI): Ditto.
13641 (V2DF_FTYPE_V2DF_V2DF_V2DI): Ditto.
13642 (V4SF_FTYPE_V4SF_V4SF_V4SI): Ditto.
13643 (V2UDI_FTYPE_V2UDI_V2UDI_V2UDI): Ditto.
13644 (V4USI_FTYPE_V4USI_V4USI_V4USI): Ditto.
13645 (V8UHI_FTYPE_V8UHI_V8UHI_V8UHI): Ditto.
13646 (V16UQI_FTYPE_V16UQI_V16UQI_V16UQI): Ditto.
13647 (V4DF_FTYPE_V4DF_V4DF_V4DI): Ditto.
13648 (V8SF_FTYPE_V8SF_V8SF_V8SI): Ditto.
13649 (V8DI_FTYPE_V8DI_V8DI_V8DI): Ditto.
13650 (V16SI_FTYPE_V16SI_V16SI_V16SI): Ditto.
13651 (V2DF_FTYPE_V2DF_V2DI_V2DF): Ditto.
13652 (V4DF_FTYPE_V4DF_V4DI_V4DF): Ditto.
13653 (V8DF_FTYPE_V8DF_V8DI_V8DF): Ditto.
13654 (V4SF_FTYPE_V4SF_V4SI_V4SF): Ditto.
13655 (V8SF_FTYPE_V8SF_V8SI_V8SF): Ditto.
13656 (V16SF_FTYPE_V16SF_V16SI_V16SF): Ditto.
13657 (V8DI_FTYPE_V8DI_SI_V8DI_V8DI): Ditto.
13658 (PVOID_FTYPE_PVOID_PVOID_ULONG): Ditto.
13659 (V4SF_FTYPE_V2DF_V4SF_QI): Convert mask type from signed to unsigned.
13660 (V4SF_FTYPE_V4DF_V4SF_QI): Ditto.
13661 (V4SF_FTYPE_V8HI_V4SF_QI): Ditto.
13662 (V8SF_FTYPE_V8HI_V8SF_QI): Ditto.
13663 (V16SI_FTYPE_V16SI_V16SI_HI): Ditto.
13664 (V8DI_FTYPE_V8DI_V8DI_QI): Ditto.
13665 (V2DF_FTYPE_V4DF_INT_V2DF_QI): Ditto.
13666 (V2DF_FTYPE_V8DF_INT_V2DF_QI): Ditto.
13667 (V2DI_FTYPE_V2DI_INT_V2DI_QI): Ditto.
13668 (V4DF_FTYPE_V8DF_INT_V4DF_QI): Ditto.
13669 (V4SF_FTYPE_V8SF_INT_V4SF_QI): Ditto.
13670 (V4SI_FTYPE_V2DF_V4SI_QI): Ditto.
13671 (V4SI_FTYPE_V4SI_INT_V4SI_QI): Ditto.
13672 (V4SI_FTYPE_V8HI_V8HI_V4SI_QI): Ditto.
13673 (V4SI_FTYPE_V8SI_INT_V4SI_QI): Ditto.
13674 (V8HI_FTYPE_V16QI_V16QI_V8HI_QI): Ditto.
13675 (V8HI_FTYPE_V8SF_INT_V8HI_QI): Ditto.
13676 (V8HI_FTYPE_V4SF_INT_V8HI_QI): Ditto.
13677 (V8SF_FTYPE_V16SF_INT_V8SF_QI): Ditto.
13678 (V4SF_FTYPE_V16SF_INT_V4SF_QI): Ditto.
13679 (V8DF_FTYPE_V8DF_V2DF_INT_V8DF_QI): Ditto.
13680 (V8DF_FTYPE_V8DF_V4DF_INT_V8DF_QI): Ditto.
13681 (V8DF_FTYPE_V8DF_V8DF_INT_V8DF_QI): Ditto.
13682 (V8DF_FTYPE_V8DF_INT_V8DF_QI): Ditto.
13683 (V4DF_FTYPE_V4DF_V4DF_V4DI_INT_QI): Ditto.
13684 (V2DF_FTYPE_V2DF_V2DF_V2DI_INT_QI): Ditto.
13685 (V16SF_FTYPE_V16SF_V16SF_INT_V16SF_HI): Ditto.
13686 (V16SF_FTYPE_V16SF_INT_V16SF_HI): Ditto.
13687 (V16SI_FTYPE_V16SI_V4SI_INT_V16SI_HI): Ditto.
13688 (V8SF_FTYPE_V8SF_V8SF_V8SI_INT_QI): Ditto.
13689 (V4SF_FTYPE_V4SF_V4SF_V4SI_INT_QI): Ditto.
13690 (V16SF_FTYPE_V16SF_V4SF_INT_V16SF_HI): Ditto.
13691 (V16SF_FTYPE_V16SF_V8SF_INT_V16SF_HI): Ditto.
13692 (V16HI_FTYPE_V32QI_V32QI_V16HI_HI): Ditto.
13693 (V32HI_FTYPE_V64QI_V64QI_V32HI_SI): Ditto.
13694 (V16HI_FTYPE_V16SF_INT_V16HI_HI): Ditto.
13695 (V16SI_FTYPE_V16SI_V8SI_INT_V16SI_HI): Ditto.
13696 (V4SI_FTYPE_V16SI_INT_V4SI_QI): Ditto.
13697 (V16SI_FTYPE_V16SI_V16SI_INT_V16SI_HI): Ditto.
13698 (V8SI_FTYPE_V16HI_V16HI_V8SI_QI): Ditto.
13699 (V16SI_FTYPE_V32HI_V32HI_V16SI_HI): Ditto.
13700 (V8SI_FTYPE_V8SI_INT_V8SI_QI): Ditto.
13701 (V8SI_FTYPE_V16SI_INT_V8SI_QI): Ditto.
13702 (V16SI_FTYPE_V16SI_V4SI_V16SI_HI): Ditto.
13703 (V16SI_FTYPE_V16SI_INT_V16SI_HI): Ditto.
13704 (V8DI_FTYPE_V8DI_V8DI_INT_V8DI_QI): Ditto.
13705 (V8DI_FTYPE_V8DI_V8DI_INT_V8DI_DI): Ditto.
13706 (V4DI_FTYPE_V4DI_V4DI_INT_V4DI_SI): Ditto.
13707 (V2DI_FTYPE_V2DI_V2DI_INT_V2DI_HI): Ditto.
13708 (V8DI_FTYPE_V8DI_V2DI_INT_V8DI_QI): Ditto.
13709 (V8DI_FTYPE_V8DI_V4DI_INT_V8DI_QI): Ditto.
13710 (V4DI_FTYPE_V8DI_INT_V4DI_QI): Ditto.
13711 (V8DI_FTYPE_V8DI_V2DI_V8DI_QI): Ditto.
13712 (V8DI_FTYPE_V8DI_INT_V8DI_QI): Ditto.
13713 (V4DI_FTYPE_V4DI_INT_V4DI_QI): Ditto.
13714 (V2DI_FTYPE_V4DI_INT_V2DI_QI): Ditto.
13715 (V2DI_FTYPE_V8DI_INT_V2DI_QI): Ditto.
13716 (HI_FTYPE_HI): Ditto.
13717 (HI_FTYPE_V16QI): Ditto.
13718 (SI_FTYPE_V32QI): Ditto.
13719 (DI_FTYPE_V64QI): Ditto.
13720 (QI_FTYPE_V8HI): Ditto.
13721 (HI_FTYPE_V16HI): Ditto.
13722 (SI_FTYPE_V32HI): Ditto.
13723 (QI_FTYPE_V4SI): Ditto.
13724 (QI_FTYPE_V8SI): Ditto.
13725 (HI_FTYPE_V16SI): Ditto.
13726 (QI_FTYPE_V2DI): Ditto.
13727 (QI_FTYPE_V4DI): Ditto.
13728 (QI_FTYPE_V8DI): Ditto.
13729 (V16QI_FTYPE_HI): Ditto.
13730 (V32QI_FTYPE_SI): Ditto.
13731 (V64QI_FTYPE_DI): Ditto.
13732 (V8HI_FTYPE_QI): Ditto.
13733 (V16HI_FTYPE_HI): Ditto.
13734 (V32HI_FTYPE_SI): Ditto.
13735 (V4SI_FTYPE_QI): Ditto.
13736 (V4SI_FTYPE_HI): Ditto.
13737 (V8SI_FTYPE_QI): Ditto.
13738 (V8SI_FTYPE_HI): Ditto.
13739 (V2DI_FTYPE_QI): Ditto.
13740 (V4DI_FTYPE_QI): Ditto.
13741 (HI_FTYPE_HI_HI): Ditto.
13742 (SI_FTYPE_SI_SI): Ditto.
13743 (DI_FTYPE_DI_DI): Ditto.
13744 (HI_FTYPE_V16QI_V16QI_HI): Ditto.
13745 (HI_FTYPE_V16QI_V16QI_INT_HI): Ditto.
13746 (SI_FTYPE_V32QI_V32QI_SI): Ditto.
13747 (SI_FTYPE_V32QI_V32QI_INT_SI): Ditto.
13748 (DI_FTYPE_V64QI_V64QI_DI): Ditto.
13749 (DI_FTYPE_V64QI_V64QI_INT_DI): Ditto.
13750 (QI_FTYPE_V8HI_V8HI_QI): Ditto.
13751 (QI_FTYPE_V8HI_V8HI_INT_QI): Ditto.
13752 (HI_FTYPE_V16HI_V16HI_HI): Ditto.
13753 (HI_FTYPE_V16HI_V16HI_INT_HI): Ditto.
13754 (SI_FTYPE_V32HI_V32HI_SI): Ditto.
13755 (SI_FTYPE_V32HI_V32HI_INT_SI): Ditto.
13756 (QI_FTYPE_V4SI_V4SI_QI): Ditto.
13757 (QI_FTYPE_V4SI_V4SI_INT_QI): Ditto.
13758 (QI_FTYPE_V8SI_V8SI_QI): Ditto.
13759 (QI_FTYPE_V8SI_V8SI_INT_QI): Ditto.
13760 (QI_FTYPE_V2DI_V2DI_QI): Ditto.
13761 (QI_FTYPE_V2DI_V2DI_INT_QI): Ditto.
13762 (QI_FTYPE_V4DI_V4DI_QI): Ditto.
13763 (QI_FTYPE_V4DI_V4DI_INT_QI): Ditto.
13764 (QI_FTYPE_V8DI_V8DI_QI): Ditto.
13765 (HI_FTYPE_V16SI_V16SI_HI): Ditto.
13766 (QI_FTYPE_V8DI_V8DI_INT): Ditto.
13767 (QI_FTYPE_V8DI_V8DI_INT_QI): Ditto.
13768 (HI_FTYPE_V16SI_V16SI_INT): Ditto.
13769 (HI_FTYPE_V16SI_V16SI_INT _HI): Ditto.
13770 (QI_FTYPE_V8DF_V8DF_INT): Ditto.
13771 (QI_FTYPE_V8DF_V8DF_INT_QI_INT): Ditto.
13772 (HI_FTYPE_V16SF_V16SF_INT): Ditto.
13773 (HI_FTYPE_V16SF_V16SF_INT_HI_INT): Ditto.
13774 (QI_FTYPE_V2DF_V2DF_INT): Ditto.
13775 (QI_FTYPE_V2DF_V2DF_INT_QI): Ditto.
13776 (QI_FTYPE_V2DF_V2DF_INT_QI_INT): Ditto.
13777 (QI_FTYPE_V4SF_V4SF_INT): Ditto.
13778 (QI_FTYPE_V4SF_V4SF_INT_QI): Ditto.
13779 (QI_FTYPE_V4SF_V4SF_INT_QI_INT): Ditto.
13780 (V16SI_FTYPE_HI): Ditto.
13781 (V8DI_FTYPE_QI): Ditto.
13782 (V2DF_FTYPE_V2DI_V2DF_V2DF_QI): Ditto.
13783 (V2DF_FTYPE_V2DF_V2DI_V2DF_QI): Ditto.
13784 (V4DF_FTYPE_V4DF_V2DF_INT_V4DF_QI): Ditto.
13785 (V4SF_FTYPE_V4SI_V4SF_V4SF_QI): Ditto.
13786 (V4SF_FTYPE_V4SF_V4SI_V4SF_QI): Ditto.
13787 (V4SF_FTYPE_V4SF_V4SF_V4SF_QI): Ditto.
13788 (V8SF_FTYPE_V8SF_V4SF_INT_V8SF_QI): Ditto.
13789 (V8SI_FTYPE_V8SI_V4SI_INT_V8SI_QI): Ditto.
13790 (V4DI_FTYPE_V4DI_V2DI_INT_V4DI_QI): Ditto.
13791 (V2DF_FTYPE_V2DF_V2DF_QI): Ditto.
13792 (V2DF_FTYPE_V4SF_V2DF_QI): Ditto.
13793 (V2DF_FTYPE_V4SI_V2DF_QI): Ditto.
13794 (V4DF_FTYPE_V4DF_V4DF_QI): Ditto.
13795 (V4DF_FTYPE_V4SF_V4DF_QI): Ditto.
13796 (V4DF_FTYPE_V4SI_V4DF_QI): Ditto.
13797 (V8DF_FTYPE_V8DF_V8DF_QI): Ditto.
13798 (V8DF_FTYPE_V8SI_V8DF_QI): Ditto.
13799 (V2DI_FTYPE_V4SI_V2DI_QI): Ditto.
13800 (V2DI_FTYPE_V8HI_V2DI_QI): Ditto.
13801 (V4DI_FTYPE_V4DF_V4DI_QI): Ditto.
13802 (V2DI_FTYPE_V2DF_V2DI_QI): Ditto.
13803 (V2DI_FTYPE_V2DI_V2DI_V2DI_QI): Ditto.
13804 (V2DI_FTYPE_V2DI_V2DI_INT_V2DI_QI): Ditto.
13805 (V4DI_FTYPE_V4DI_V4DI_V4DI_QI): Ditto.
13806 (V4DI_FTYPE_V4DI_V4DI_INT_V4DI_QI): Ditto.
13807 (V8DI_FTYPE_V8SI_V8DI_QI): Ditto.
13808 (V8DI_FTYPE_V8HI_V8DI_QI): Ditto.
13809 (V8DI_FTYPE_V16QI_V8DI_QI): Ditto.
13810 (V2DI_FTYPE_V16QI_V2DI_QI): Ditto.
13811 (V4DI_FTYPE_V16QI_V4DI_QI): Ditto.
13812 (V4DI_FTYPE_V4DI_V4DI_QI): Ditto.
13813 (V4DI_FTYPE_V4SI_V4DI_QI): Ditto.
13814 (V4DI_FTYPE_V8HI_V4DI_QI): Ditto.
13815 (V8DI_FTYPE_V8DI_V8DI_V8DI_QI): Ditto.
13816 (V8DF_FTYPE_V8DI_V8DF_V8DF_QI): Ditto.
13817 (V8DF_FTYPE_V8DF_V8DI_V8DF_QI): Ditto.
13818 (V4DF_FTYPE_V4DI_V4DF_V4DF_QI): Ditto.
13819 (V4DF_FTYPE_V4DF_V4DI_V4DF_QI): Ditto.
13820 (V4DF_FTYPE_V4DF_V4DF_V4DF_QI): Ditto.
13821 (V8DF_FTYPE_V8DF_V8DF_V8DF_QI): Ditto.
13822 (V16QI_FTYPE_V16QI_V16QI_V16QI_HI): Ditto.
13823 (V16HI_FTYPE_V16HI_V16HI_V16HI_HI): Ditto.
13824 (V16SI_FTYPE_V16SI_V16SI_V16SI_HI): Ditto.
13825 (V2DF_FTYPE_V2DF_V2DF_V2DF_QI): Ditto.
13826 (V32HI_FTYPE_V32HI_V32HI_V32HI_SI): Ditto.
13827 (V64QI_FTYPE_V64QI_V64QI_V64QI_DI): Ditto.
13828 (V32QI_FTYPE_V32QI_V32QI_V32QI_SI): Ditto.
13829 (V8HI_FTYPE_V8HI_V8HI_V8HI_QI): Ditto.
13830 (V4SF_FTYPE_V4SF_V4SF_QI): Ditto.
13831 (V4SF_FTYPE_V4SI_V4SF_QI): Ditto.
13832 (V8SF_FTYPE_V8SF_V8SF_QI): Ditto.
13833 (V8SF_FTYPE_V8SI_V8SF_QI): Ditto.
13834 (V16SF_FTYPE_V16SF_V16SF_HI): Ditto.
13835 (V4SI_FTYPE_V16QI_V4SI_QI): Ditto.
13836 (V4SI_FTYPE_V8HI_V4SI_QI): Ditto.
13837 (V8SI_FTYPE_V8SI_V8SI_QI): Ditto.
13838 (V8SI_FTYPE_V8HI_V8SI_QI): Ditto.
13839 (V8SI_FTYPE_V16QI_V8SI_QI): Ditto.
13840 (V4SI_FTYPE_V4SI_V4SI_V4SI_QI): Ditto.
13841 (V4SI_FTYPE_V4SI_V4SI_INT_V4SI_QI): Ditto.
13842 (V8SF_FTYPE_V8SF_V8SF_V8SF_QI): Ditto.
13843 (V8SF_FTYPE_V8SI_V8SF_V8SF_QI): Ditto.
13844 (V8SF_FTYPE_V8SF_V8SI_V8SF_QI): Ditto.
13845 (V8SI_FTYPE_V8SI_V8SI_V8SI_QI): Ditto.
13846 (V8SI_FTYPE_V8SI_V8SI_INT_V8SI_QI): Ditto.
13847 (V16SF_FTYPE_V16SF_V16SF_V16SF_HI): Ditto.
13848 (V16SF_FTYPE_V16SI_V16SF_V16SF_HI): Ditto.
13849 (V16SF_FTYPE_V16SF_V16SI_V16SF_HI): Ditto.
13850 (V16SF_FTYPE_V8SF_V16SF_HI): Ditto.
13851 (V16SF_FTYPE_V4SF_V16SF_HI): Ditto.
13852 (V8DF_FTYPE_V4DF_V8DF_QI): Ditto.
13853 (V8DF_FTYPE_V2DF_V8DF_QI): Ditto.
13854 (V16SI_FTYPE_V8SI_V16SI_HI): Ditto.
13855 (V16SI_FTYPE_V4SI_V16SI_HI): Ditto.
13856 (V16SI_FTYPE_SI_V16SI_HI): Ditto.
13857 (V16SI_FTYPE_V16HI_V16SI_HI): Ditto.
13858 (V16SI_FTYPE_V16QI_V16SI_HI): Ditto.
13859 (V8DI_FTYPE_V4DI_V8DI_QI): Ditto.
13860 (V4SI_FTYPE_V4DF_V4SI_QI): Ditto.
13861 (V8DI_FTYPE_V2DI_V8DI_QI): Ditto.
13862 (V8DI_FTYPE_DI_V8DI_QI): Ditto.
13863 (V16QI_FTYPE_V16SI_V16QI_HI): Ditto.
13864 (V16QI_FTYPE_V8DI_V16QI_QI): Ditto.
13865 (V32HI_FTYPE_V32HI_V32HI_SI): Ditto.
13866 (V32HI_FTYPE_V32QI_V32HI_SI): Ditto.
13867 (V16HI_FTYPE_V16HI_V16HI_HI): Ditto.
13868 (V16HI_FTYPE_V16QI_V16HI_HI): Ditto.
13869 (V8HI_FTYPE_V16QI_V8HI_QI): Ditto.
13870 (V8SF_FTYPE_V4SF_V8SF_QI): Ditto.
13871 (V4DF_FTYPE_V2DF_V4DF_QI): Ditto.
13872 (V8SI_FTYPE_V4SI_V8SI_QI): Ditto.
13873 (V8SI_FTYPE_SI_V8SI_QI): Ditto.
13874 (V4SI_FTYPE_V4SI_V4SI_QI): Ditto.
13875 (V4SI_FTYPE_SI_V4SI_QI): Ditto.
13876 (V4DI_FTYPE_V2DI_V4DI_QI): Ditto.
13877 (V4DI_FTYPE_DI_V4DI_QI): Ditto.
13878 (V2DI_FTYPE_V2DI_V2DI_QI): Ditto.
13879 (V2DI_FTYPE_DI_V2DI_QI): Ditto.
13880 (V64QI_FTYPE_V64QI_V64QI_DI): Ditto.
13881 (V64QI_FTYPE_V16QI_V64QI_DI): Ditto.
13882 (V64QI_FTYPE_QI_V64QI_DI): Ditto.
13883 (V32QI_FTYPE_V32QI_V32QI_SI): Ditto.
13884 (V32QI_FTYPE_V16QI_V32QI_SI): Ditto.
13885 (V32QI_FTYPE_QI_V32QI_SI): Ditto.
13886 (V16QI_FTYPE_V16QI_V16QI_HI): Ditto.
13887 (V16QI_FTYPE_QI_V16QI_HI): Ditto.
13888 (V32HI_FTYPE_V8HI_V32HI_SI): Ditto.
13889 (V32HI_FTYPE_HI_V32HI_SI): Ditto.
13890 (V16HI_FTYPE_V8HI_V16HI_HI): Ditto.
13891 (V16HI_FTYPE_HI_V16HI_HI): Ditto.
13892 (V8HI_FTYPE_V8HI_V8HI_QI): Ditto.
13893 (V8HI_FTYPE_HI_V8HI_QI): Ditto.
13894 (V64QI_FTYPE_PCV64QI_V64QI_DI): Ditto.
13895 (V32HI_FTYPE_PCV32HI_V32HI_SI): Ditto.
13896 (V32QI_FTYPE_PCV32QI_V32QI_SI): Ditto.
13897 (V16SF_FTYPE_PCV16SF_V16SF_HI): Ditto.
13898 (V8DF_FTYPE_PCV8DF_V8DF_QI): Ditto.
13899 (V16SI_FTYPE_PCV16SI_V16SI_HI): Ditto.
13900 (V16HI_FTYPE_PCV16HI_V16HI_HI): Ditto.
13901 (V16QI_FTYPE_PCV16QI_V16QI_HI): Ditto.
13902 (V8SF_FTYPE_PCV8SF_V8SF_QI): Ditto.
13903 (V8DI_FTYPE_PCV8DI_V8DI_QI): Ditto.
13904 (V8SI_FTYPE_PCV8SI_V8SI_QI): Ditto.
13905 (V8HI_FTYPE_PCV8HI_V8HI_QI): Ditto.
13906 (V4DF_FTYPE_PCV4DF_V4DF_QI): Ditto.
13907 (V4SF_FTYPE_PCV4SF_V4SF_QI): Ditto.
13908 (V4DI_FTYPE_PCV4DI_V4DI_QI): Ditto.
13909 (V4SI_FTYPE_PCV4SI_V4SI_QI): Ditto.
13910 (V2DF_FTYPE_PCV2DF_V2DF_QI): Ditto.
13911 (V2DI_FTYPE_PCV2DI_V2DI_QI): Ditto.
13912 (V16HI_FTYPE_V16SI_V16HI_HI): Ditto.
13913 (V8SI_FTYPE_V8DI_V8SI_QI): Ditto.
13914 (V8HI_FTYPE_V8DI_V8HI_QI): Ditto.
13915 (V16QI_FTYPE_V8HI_V16QI_QI): Ditto.
13916 (V16QI_FTYPE_V16HI_V16QI_HI): Ditto.
13917 (V16QI_FTYPE_V4SI_V16QI_QI): Ditto.
13918 (V16QI_FTYPE_V8SI_V16QI_QI): Ditto.
13919 (V8HI_FTYPE_V4SI_V8HI_QI): Ditto.
13920 (V8HI_FTYPE_V8SI_V8HI_QI): Ditto.
13921 (V16QI_FTYPE_V2DI_V16QI_QI): Ditto.
13922 (V16QI_FTYPE_V4DI_V16QI_QI): Ditto.
13923 (V8HI_FTYPE_V2DI_V8HI_QI): Ditto.
13924 (V8HI_FTYPE_V4DI_V8HI_QI): Ditto.
13925 (V4SI_FTYPE_V2DI_V4SI_QI): Ditto.
13926 (V4SI_FTYPE_V4DI_V4SI_QI): Ditto.
13927 (V32QI_FTYPE_V32HI_V32QI_SI): Ditto.
13928 (V2DF_FTYPE_V2DF_INT_V2DF_QI): Ditto.
13929 (V4DF_FTYPE_V4DF_INT_V4DF_QI): Ditto.
13930 (V4SF_FTYPE_V4SF_INT_V4SF_QI): Ditto.
13931 (V8SF_FTYPE_V8SF_INT_V8SF_QI): Ditto.
13932 (V4DF_FTYPE_V4DF_V4DF_INT_V4DF_QI): Ditto.
13933 (V2DF_FTYPE_V2DF_V2DF_INT_V2DF_QI): Ditto.
13934 (V8SF_FTYPE_V8SF_V8SF_INT_V8SF_QI): Ditto.
13935 (V4SF_FTYPE_V4SF_V4SF_INT_V4SF_QI): Ditto.
13936 (VOID_FTYPE_PV8DF_V8DF_QI): Ditto.
13937 (VOID_FTYPE_PV8SI_V8DI_QI): Ditto.
13938 (VOID_FTYPE_PV8HI_V8DI_QI): Ditto.
13939 (VOID_FTYPE_PV8HI_V4DI_QI): Ditto.
13940 (VOID_FTYPE_PV8HI_V2DI_QI): Ditto.
13941 (VOID_FTYPE_PV4SI_V4DI_QI): Ditto.
13942 (VOID_FTYPE_PV4SI_V2DI_QI): Ditto.
13943 (VOID_FTYPE_PV8HI_V8SI_QI): Ditto.
13944 (VOID_FTYPE_PV8HI_V4SI_QI): Ditto.
13945 (VOID_FTYPE_PV4DF_V4DF_QI): Ditto.
13946 (VOID_FTYPE_PV2DF_V2DF_QI): Ditto.
13947 (VOID_FTYPE_PV16SF_V16SF_HI): Ditto.
13948 (VOID_FTYPE_PV8SF_V8SF_QI): Ditto.
13949 (VOID_FTYPE_PV4SF_V4SF_QI): Ditto.
13950 (VOID_FTYPE_PV8DI_V8DI_QI): Ditto.
13951 (VOID_FTYPE_PV4DI_V4DI_QI): Ditto.
13952 (VOID_FTYPE_PV2DI_V2DI_QI): Ditto.
13953 (VOID_FTYPE_PV16SI_V16SI_HI): Ditto.
13954 (VOID_FTYPE_PV16HI_V16SI_HI): Ditto.
13955 (VOID_FTYPE_PV16QI_V16SI_HI): Ditto.
13956 (VOID_FTYPE_PV16QI_V8SI_QI): Ditto.
13957 (VOID_FTYPE_PV16QI_V4SI_QI): Ditto.
13958 (VOID_FTYPE_PV16QI_V8DI_QI): Ditto.
13959 (VOID_FTYPE_PV16QI_V4DI_QI): Ditto.
13960 (VOID_FTYPE_PV16QI_V2DI_QI): Ditto.
13961 (VOID_FTYPE_PV8SI_V8SI_QI): Ditto.
13962 (VOID_FTYPE_PV4SI_V4SI_QI): Ditto.
13963 (VOID_FTYPE_PV32HI_V32HI_SI): Ditto.
13964 (VOID_FTYPE_PV16HI_V16HI_HI): Ditto.
13965 (VOID_FTYPE_PV8HI_V8HI_QI): Ditto.
13966 (VOID_FTYPE_PV64QI_V64QI_DI): Ditto.
13967 (VOID_FTYPE_PV32QI_V32QI_SI): Ditto.
13968 (VOID_FTYPE_PV16QI_V16QI_HI): Ditto.
13969 (V8DI_FTYPE_V8DI_V8DI_V8DI_INT_QI): Ditto.
13970 (V8SI_FTYPE_V8SF_V8SI_QI): Ditto.
13971 (V4SI_FTYPE_V4SF_V4SI_QI): Ditto.
13972 (V4DI_FTYPE_V4SF_V4DI_QI): Ditto.
13973 (V2DI_FTYPE_V4SF_V2DI_QI): Ditto.
13974 (V4SF_FTYPE_V4DI_V4SF_QI): Ditto.
13975 (V4SF_FTYPE_V2DI_V4SF_QI): Ditto.
13976 (V4DF_FTYPE_V4DI_V4DF_QI): Ditto.
13977 (V2DF_FTYPE_V2DI_V2DF_QI): Ditto.
13978 (V32HI_FTYPE_V32HI_INT_V32HI_SI): Ditto.
13979 (V32HI_FTYPE_V32HI_V8HI_V32HI_SI): Ditto.
13980 (V16HI_FTYPE_V16HI_INT_V16HI_HI): Ditto.
13981 (V16HI_FTYPE_V16HI_V8HI_V16HI_HI): Ditto.
13982 (V8HI_FTYPE_V8HI_INT_V8HI_QI): Ditto.
13983 (V32HI_FTYPE_V64QI_V64QI_INT_V32HI_SI): Ditto.
13984 (V16HI_FTYPE_V32QI_V32QI_INT_V16HI_HI): Ditto.
13985 (V8HI_FTYPE_V16QI_V16QI_INT_V8HI_QI): Ditto.
13986 (V64QI_FTYPE_V32HI_V32HI_V64QI_DI): Ditto.
13987 (V32QI_FTYPE_V16HI_V16HI_V32QI_SI): Ditto.
13988 (V16QI_FTYPE_V8HI_V8HI_V16QI_HI): Ditto.
13989 (V32HI_FTYPE_V16SI_V16SI_V32HI_SI): Ditto.
13990 (V16HI_FTYPE_V8SI_V8SI_V16HI_HI): Ditto.
13991 (V8HI_FTYPE_V4SI_V4SI_V8HI_QI): Ditto.
13992 (V8DI_FTYPE_V16SI_V16SI_V8DI_QI): Ditto.
13993 (V4DI_FTYPE_V8SI_V8SI_V4DI_QI): Ditto.
13994 (V2DI_FTYPE_V4SI_V4SI_V2DI_QI): Ditto.
13995 (V16SI_FTYPE_V16SI_V16SI_V16SI_INT_HI): Ditto.
13996 (V8SI_FTYPE_V8SI_V8SI_V8SI_INT_QI): Ditto.
13997 (V4DI_FTYPE_V4DI_V4DI_V4DI_INT_QI): Ditto.
13998 (V4SI_FTYPE_V4SI_V4SI_V4SI_INT_QI): Ditto.
13999 (V2DI_FTYPE_V2DI_V2DI_V2DI_INT_QI): Ditto.
14000 (V8SI_FTYPE_V8SI_V4SI_V8SI_QI): Ditto.
14001 (V4DI_FTYPE_V4DI_V2DI_V4DI_QI): Ditto.
14002 (QI_FTYPE_V4DF_V4DF_INT_QI): Ditto.
14003 (QI_FTYPE_V8SF_V8SF_INT_QI): Ditto.
14004 (QI_FTYPE_V8DF_INT_QI): Ditto.
14005 (QI_FTYPE_V4DF_INT_QI): Ditto.
14006 (QI_FTYPE_V2DF_INT_QI): Ditto.
14007 (HI_FTYPE_V16SF_INT_HI): Ditto.
14008 (QI_FTYPE_V8SF_INT_QI): Ditto.
14009 (QI_FTYPE_V4SF_INT_QI): Ditto.
14010 (V8DF_FTYPE_V8DF_V8DF_V8DF_QI_INT): Ditto.
14011
14012 2015-07-31 Richard Biener <rguenther@suse.de>
14013
14014 * gimple-fold.c (fold_gimple_assign): Remove folding of
14015 GIMPLE_BINARY_RHS.
14016
14017 2015-07-31 Tom de Vries <tom@codesourcery.com>
14018
14019 PR tree-optimization/66846
14020 * omp-low.c (expand_omp_taskreg) [ENABLE_CHECKING]: Call
14021 verify_loop_structure for child_cfun if !LOOPS_NEED_FIXUP.
14022 (expand_omp_target) [ENABLE_CHECKING]: Same.
14023 (execute_expand_omp) [ENABLE_CHECKING]: Call verify_loop_structure for
14024 cfun if !LOOPS_NEED_FIXUP.
14025 (expand_omp_for_static_nochunk): Handle simple latch bb. Handle case
14026 that omp_for already has its own loop struct.
14027 * tree-parloops.c (create_phi_for_local_result)
14028 (create_call_for_reduction): Handle simple latch bb.
14029 (create_parallel_loop): Add simple latch bb to preserve
14030 LOOPS_HAVE_SIMPLE_LATCHES. Record new exit. Handle simple latch bb.
14031 (gen_parallel_loop): Remove call to cancel_loop_tree.
14032 (parallelize_loops): Skip loops that are inner loops of parallelized
14033 loops.
14034 (pass_parallelize_loops::execute) [ENABLE_CHECKING]: Call
14035 verify_loop_structure.
14036
14037 2015-07-30 Anatoly Sokolov <aesok@post.ru>
14038
14039 * config/v850/v850.h (LIBCALL_VALUE): Remove macros.
14040 * config/v850/v850.md (RV_REGNUM): New constants.
14041 * config/v850/v850.c (v850_libcall_value): New functions.
14042 (v850_function_value_regno_p, v850_function_value): Use RV_REGNUM.
14043 (TARGET_LIBCALL_VALUE): Define.
14044
14045 2015-07-30 Anatoly Sokolov <aesok@post.ru>
14046
14047 * rtl.h (lowpart_subreg): Move in file.
14048 * loop-iv.c (lowpart_subreg): Move to...
14049 * simplify-rtx.c (lowpart_subreg): ...here.
14050 (simplify_binary_operation_1): Use lowpart_subreg instead of
14051 simplify_gen_subreg.
14052 * expr.c (expand_expr_real_2): Ditto.
14053 * emit-rtl.c (gen_lowpart_common): Ditto.
14054 * combine.c (gen_lowpart_for_combine): Ditto.
14055 * cfgexpand.c (convert_debug_memory_address, expand_debug_expr,
14056 expand_debug_source_expr): Ditto.
14057
14058 2015-07-30 Richard Sandiford <richard.sandiford@arm.com>
14059
14060 * builtins.c (HAVE_atomic_clear, gen_atomic_clear): Delete.
14061 (expand_builtin_atomic_clear): Remove support for atomic_clear
14062 pattern.
14063
14064 2015-07-30 Richard Biener <rguenther@suse.de>
14065
14066 * gimple-fold.c (fold_gimple_assign): Only fold !tcc_comparison
14067 binaries. Move X == 0, X == 1, X != 0, and X != 1 canonicalization ...
14068 (fold_stmt_1): ... here and work on GIMPLE directly. Remove
14069 redundant operand canonicalization.
14070
14071 2015-07-30 David Sherwood <david.sherwood@arm.com>
14072
14073 * config/aarch64/aarch64-simd.md (aarch64_ext<mode>): Replace call to
14074 GET_MODE_SIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_SIZE (m).
14075 * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Likewise.
14076 * config/arm/arm.c (neon_valid_immediate): Likewise.
14077 * config/i386/i386.c (classify_argument, ix86_expand_int_vcond)
14078 (expand_vec_perm_blend, expand_vec_perm_pshufb): Likewise.
14079 (expand_vec_perm_pshufb2, expand_vec_perm_vpshufb2_vpermq): Likewise.
14080 (expand_vec_perm_vpshufb2_vpermq): Likewise.
14081 (expand_vec_perm_vpshufb2_vpermq_even_odd): Likewise.
14082 (expand_vec_perm_vpshufb4_vpermq2): Likewise.
14083 * config/i386/sse.md
14084 (<extract_type>_vinsert<shuffletype><extract_suf>_mask): Likewise.
14085 (*ssse3_palignr<mode>_perm): Likewise.
14086 * config/rs6000/rs6000.c (rs6000_complex_function_value): Likewise.
14087 * config/spu/spu.c (arith_immediate_p): Likewise.
14088 * simplify-rtx.c (simplify_const_unary_operation): Likewise.
14089 (simplify_binary_operation_1, simplify_ternary_operation): Likewise.
14090
14091 2015-07-30 Richard Biener <rguenther@suse.de>
14092
14093 * genmatch.c (decision_tree::gen_gimple): Merge with ...
14094 (decision_tree::gen_generic): ... this into ...
14095 (decision_tree::gen): ... this.
14096 (main): Adjust callers.
14097
14098 2015-07-30 Richard Biener <rguenther@suse.de>
14099
14100 * genmatch.c (verbose): New global.
14101 (warning_at): Add overload with source_location.
14102 (capture_info::capture_info): Add bool whether generating gimple
14103 or generic. Add gimple member.
14104 (capture_info::cinfo): Add capture member.
14105 (capture_info::walk_match): Record capture. Warn on
14106 non-captured leafs.
14107 (capture_info::walk_c_expr): Add more fragments captures cannot
14108 escape through. Warn on escaped captures.
14109 (dt_simplify::gen_1): Warn on operands we force to have no
14110 side-effects.
14111 (main): Initialize verbose.
14112 * match.pd: Add integer_nonzerop and HONOR_NANS predicates.
14113
14114 2015-07-30 Richard Biener <rguenther@suse.de>
14115
14116 PR middle-end/67053
14117 * match.pd: Allow both operands to independently have conversion
14118 when simplifying compares of addresses.
14119
14120 2015-07-29 Segher Boessenkool <segher@kernel.crashing.org>
14121
14122 PR target/66217
14123 PR target/67045
14124 * config/rs6000/rs6000.md (and<mode>3): Put a CONST_INT_P check
14125 around those cases that need one.
14126
14127 2015-07-29 Aditya Kumar <hiraditya@msn.com>
14128
14129 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Default to 3.
14130
14131 2015-07-29 H.J. Lu <hongjiu.lu@intel.com>
14132
14133 * config/i386/iamcu.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE):
14134 New. Copied from config/i386/gnu-user.h.
14135 (ASM_COMMENT_START): Likewise.
14136 (DBX_REGISTER_NUMBER): Likewise.
14137
14138 2015-07-29 Richard Biener <rguenther@suse.de>
14139
14140 * gimple-fold.c (fold_gimple_cond): Remove.
14141 (fold_stmt_1): Do not call it.
14142
14143 2015-07-29 Alan Lawrence <alan.lawrence@arm.com>
14144
14145 * config/aarch64/aarch64-builtins.c (aarch64_fp16_type_node): New.
14146 (aarch64_init_builtins): Make aarch64_fp16_type_node, use for __fp16.
14147
14148 * config/aarch64/aarch64-modes.def: Add HFmode.
14149
14150 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
14151 __ARM_FP16_FORMAT_IEEE and __ARM_FP16_ARGS. Set bit 1 of __ARM_FP.
14152
14153 * config/aarch64/aarch64.c (aarch64_init_libfuncs,
14154 aarch64_promoted_type): New.
14155
14156 (aarch64_float_const_representable_p): Disable HFmode.
14157 (aarch64_mangle_type): Mangle half-precision floats to "Dh".
14158 (TARGET_PROMOTED_TYPE): Define to aarch64_promoted_type.
14159 (TARGET_INIT_LIBFUNCS): Define to aarch64_init_libfuncs.
14160
14161 * config/aarch64/aarch64.md (mov<mode>): Include HFmode using GPF_F16.
14162 (movhf_aarch64, extendhfsf2, extendhfdf2, truncsfhf2, truncdfhf2): New.
14163
14164 * config/aarch64/iterators.md (GPF_F16): New.
14165
14166 2015-07-29 Richard Biener <rguenther@suse.de>
14167
14168 * match.pd: Merge address comparison patterns and make them
14169 handle some more cases.
14170
14171 2015-07-29 Richard Biener <rguenther@suse.de>
14172
14173 * genmatch.c (c_expr::gen_transform): Error on unknown captures.
14174 (parser::parse_capture): Add bool argument on whether to reject
14175 unknown captures.
14176 (parser::parse_expr): Adjust.
14177 (parser::parse_op): Likewise.
14178 (parser::parse_pattern): Likewise.
14179
14180 2015-07-29 Richard Biener <rguenther@suse.de>
14181
14182 * gimple-fold.c (has_use_on_stmt): New function.
14183 (replace_stmt_with_simplification): Use it to allow
14184 abnormals originally referenced in the stmt.
14185 (fold_stmt_1): Canonicalize operand order.
14186
14187 2015-07-28 David Sherwood <david.sherwood@arm.com>
14188
14189 * config/arm/arm.c (neon_element_bits, neon_valid_immediate): Call
14190 GET_MODE_INNER unconditionally.
14191 * config/spu/spu.c (arith_immediate_p): Likewise.
14192 * config/i386/i386.c (ix86_build_signbit_mask): Likewise.
14193 * expmed.c (synth_mult): Remove check for VOIDmode result from
14194 GET_MODE_INNER.
14195 (expand_mult_const): Likewise.
14196 * fold-const.c (fold_binary_loc): Replace call to element_precision
14197 with call to GET_MODE_PRECISION.
14198 * genmodes.c (emit_mode_inner_inline): Replace void_mode->name with
14199 m->name.
14200 (emit_mode_inner): Likewise.
14201 * lto-streamer-out.c (lto_write_mode_table): Update GET_MODE_INNER
14202 result check.
14203 * machmode.h (GET_MODE_UNIT_SIZE): Simplify.
14204 (GET_MODE_UNIT_PRECISION): Likewise.
14205 * rtlanal.c (subreg_get_info): Call GET_MODE_INNER unconditionally.
14206 * simplify-rtx.c (simplify_immed_subreg): Likewise.
14207 * stor-layout.c (bitwise_type_for_mode): Update assert.
14208 (element_precision): Remove.
14209
14210 2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
14211
14212 * target-insns.def (reload_load_address): New targetm instruction
14213 pattern.
14214 * reload1.c (gen_reload): Use it instead of HAVE_*/gen_* interface.
14215
14216 2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
14217
14218 * target-insns.def (atomic_test_and_set): New targetm instruction
14219 pattern.
14220 * optabs.c (maybe_emit_atomic_test_and_set): Use it instead of
14221 HAVE_*/gen_* interface.
14222
14223 2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
14224
14225 * target-insns.def (can_extend, ptr_extend): New targetm instruction
14226 patterns.
14227 * optabs.c (can_extend_p): Use them instead of HAVE_*/gen_* interface.
14228 * simplify-rtx.c (simplify_unary_operation_1): Likewise.
14229 * emit-rtl.c (set_reg_attrs_from_value): Likewise.
14230 * rtlanal.c (nonzero_bits1): Likewise.
14231 (num_sign_bit_copies1): Likewise.
14232
14233 2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
14234
14235 * target-insns.def (eh_return): New targetm instruction pattern.
14236 * except.c (expand_eh_return): Use it instead of HAVE_*/gen_*
14237 interface.
14238 * function.c (thread_prologue_and_epilogue_insns): Remove
14239 preprocessor condition.
14240
14241 2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
14242
14243 * target-insns.def (indirect_jump): New targetm instruction pattern.
14244 * optabs.c (emit_indirect_jump): Use it instead of HAVE_*/gen_*
14245 interface.
14246
14247 2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
14248
14249 * config/fr30/fr30.md (indirect_jump): Use pmode_register_operand
14250 instead of nonimmediate_operand. Remove C condiition.
14251
14252 2015-07-28 Richard Biener <rguenther@suse.de>
14253
14254 * match.pd: Add more simplification of address comparisons.
14255
14256 2015-07-28 Richard Biener <rguenther@suse.de>
14257
14258 * match.pd: Re-order two cases in comparison with max/min
14259 value simplification to make it apply for bools.
14260
14261 2015-07-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14262
14263 * config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p):
14264 Handle simple SIGN_EXTEND or ZERO_EXTEND.
14265 (aarch64_rtx_costs): Properly strip extend or extract before
14266 passing down to rtx costs again.
14267
14268 2015-07-28 Nick Clifton <nickc@redhat.com>
14269
14270 * config/rl78/rl78.c (rl78_addsi3_internal): New function.
14271 Optimizes the case where -mes0 is active and a constant symbolic
14272 address is used.
14273 * config/rl78/rl78-protos.h: Prototype the new function.
14274 * config/rl78/rl78.md (addsi3_internal_real): Call new function.
14275
14276 2015-07-28 Tom de Vries <tom@codesourcery.com>
14277
14278 * tree-parloops.c (reduc_stmt_res): New function.
14279 (initialize_reductions, add_field_for_reduction)
14280 (create_phi_for_local_result, create_loads_for_reductions)
14281 (create_stores_for_reduction, build_new_reduction): Handle case that
14282 reduc_stmt is a phi.
14283 (gather_scalar_reductions): Allow double_reduc reductions.
14284
14285 2015-07-28 Richard Biener <rguenther@suse.de>
14286
14287 * fold-const.c (fold_comparison): Remove equality folding
14288 of decl addresses ...
14289 * match.pd: ... here and merge with existing pattern.
14290
14291 2015-07-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
14292
14293 PR tree-optimization/66828
14294 * tree-ssa-math-opts.c (perform_symbolic_merge): Change type of inc
14295 from int64_t to uint64_t.
14296
14297 2015-07-28 Dominik Vogt <vogt@linux.vnet.ibm.com>
14298
14299 * opts-common.c (read_cmdline_option): List DriverOnly enum values
14300 as valid only in the error message of the driver, not in the
14301 messages of the language compilers.
14302
14303 2015-07-27 Tom de Vries <tom@codesourcery.com>
14304
14305 * tree-parloops.c (gather_scalar_reductions): Simplify function
14306 structure.
14307
14308 2015-07-27 Marek Polacek <polacek@redhat.com>
14309
14310 * ipa-devirt.c (types_same_for_odr): Fix typo.
14311
14312 2015-07-27 Jason Merrill <jason@redhat.com>
14313
14314 PR debug/66468
14315 * dwarf2out.c (gen_inlined_subroutine_die): Check
14316 cgraph_function_possibly_inlined_p.
14317
14318 2015-07-27 Wilco Dijkstra <wdijkstr@arm.com>
14319
14320 * config/aarch64/aarch64.md (aarch64_lshr_sisd_or_int_<mode>3):
14321 Place integer variant first.
14322 (aarch64_ashr_sisd_or_int_<mode>3): Likewise.
14323
14324 2015-07-27 Alan Lawrence <alan.lawrence@arm.com>
14325
14326 PR/63870
14327 * config/arm/arm-builtins.c (enum arm_builtins):
14328 Add ARM_BUILTIN_NEON_BASE and ARM_BUILTIN_NEON_LANE_CHECK.
14329 (ARM_BUILTIN_NEON_BASE): Rename macro to....
14330 (ARM_BUILTIN_NEON_PATTERN_START): ...this.
14331 (arm_init_neon_builtins): Register __builtin_arm_lane_check.
14332 (arm_expand_neon_builtin): Handle ARM_BUILTIN_NEON_LANE_CHECK.
14333
14334 2015-07-27 Alan Lawrence <alan.lawrence@arm.com>
14335
14336 PR/63870
14337 * config/arm/arm-builtins.c (enum arm_type_qualifiers):
14338 Add qualifier_lane_index.
14339 (arm_binop_imm_qualifiers, BINOP_IMM_QUALIFIERS): New.
14340 (arm_getlane_qualifiers): Use qualifier_lane_index.
14341 (arm_lanemac_qualifiers): Rename to...
14342 (arm_mac_n_qualifiers): ...this.
14343 (LANEMAC_QUALIFIERS): Rename to...
14344 (MAC_N_QUALIFIERS): ...this.
14345 (arm_mac_lane_qualifiers, MAC_LANE_QUALIFIERS): New.
14346 (arm_setlane_qualifiers): Use qualifier_lane_index.
14347 (arm_ternop_imm_qualifiers, TERNOP_IMM_QUALIFIERS): New.
14348 (enum builtin_arg): Add NEON_ARG_LANE_INDEX.
14349 (arm_expand_neon_args): Handle NEON_ARG_LANE_INDEX.
14350 (arm_expand_neon_builtin): Handle qualifier_lane_index.
14351
14352 * config/arm/arm-protos.h (neon_lane_bounds): Add const_tree parameter.
14353 * config/arm/arm.c (bounds_check): Likewise, improve error message.
14354 (neon_lane_bounds, neon_const_bounds): Add arguments to bounds_check.
14355 * config/arm/arm_neon_builtins.def (vshrs_n, vshru_n, vrshrs_n,
14356 vrshru_n, vshrn_n, vrshrn_n, vqshrns_n, vqshrnu_n, vqrshrns_n,
14357 vqrshrnu_n, vqshrun_n, vqrshrun_n, vshl_n, vqshl_s_n, vqshl_u_n,
14358 vqshlu_n, vshlls_n, vshllu_n): Change qualifiers to BINOP_IMM.
14359 (vsras_n, vsrau_n, vrsras_n, vrsrau_n, vsri_n, vsli_n): Change
14360 qualifiers to TERNOP_IMM.
14361 (vdup_lane): Change qualifiers to GETLANE.
14362 (vmla_lane, vmlals_lane, vmlalu_lane, vqdmlal_lane, vmls_lane,
14363 vmlsls_lane, vmlslu_lane, vqdmlsl_lane): Change qualifiers to MAC_LANE.
14364 (vmla_n, vmlals_n, vmlalu_n, vqdmlal_n, vmls_n, vmlsls_n, vmlslu_n,
14365 vqdmlsl_n): Change qualifiers to MAC_N.
14366
14367 * config/arm/neon.md (neon_vget_lane<mode>, neon_vget_laneu<mode>,
14368 neon_vget_lanedi, neon_vget_lanev2di, neon_vset_lane<mode>,
14369 neon_vset_lanedi, neon_vdup_lane<mode>, neon_vdup_lanedi,
14370 neon_vdup_lanev2di, neon_vmul_lane<mode>, neon_vmul_lane<mode>,
14371 neon_vmull<sup>_lane<mode>, neon_vqdmull_lane<mode>,
14372 neon_vq<r>dmulh_lane<mode>, neon_vq<r>dmulh_lane<mode>,
14373 neon_vmla_lane<mode>, neon_vmla_lane<mode>, neon_vmlal<sup>_lane<mode>,
14374 neon_vqdmlal_lane<mode>, neon_vmls_lane<mode>, neon_vmls_lane<mode>,
14375 neon_vmlsl<sup>_lane<mode>, neon_vqdmlsl_lane<mode>):
14376 Remove call to neon_lane_bounds.
14377
14378 2015-07-27 Wilco Dijkstra <wdijkstr@arm.com>
14379
14380 * config/aarch64/aarch64.md (aarch64_ashl_sisd_or_int_<mode>3):
14381 Place integer variant first.
14382
14383 2015-07-27 Matthew Wahab <matthew.wahab@arm.com>
14384
14385 * config/arm/arm-arches.def: Add "armv6kz". Replace 6ZK with 6KZ
14386 and FL_FOR_ARCH6ZK with FL_FOR_ARCH6KZ.
14387 * config/arm/arm-c.c (arm_cpu_builtins): Emit "__ARM_ARCH_6ZK__"
14388 for armv6kz targets.
14389 * config/arm/arm-cores.def: Replace 6ZK with 6KZ.
14390 * config/arm/arm-protos.h (FL_ARCH6KZ): New.
14391 (FL_FOR_ARCH6ZK): Remove.
14392 (FL_FOR_ARCH6KZ): New.
14393 (arm_arch6zk): New declaration.
14394 * config/arm/arm-tables.opt: Regenerate.
14395 * config/arm/arm.c (arm_arch6kz): New.
14396 (arm_option_override): Set arm_arch6kz.
14397 * config/arm/arm.h (BASE_ARCH_6ZK): Rename to BASE_ARCH_6KZ.
14398 * config/arm/driver-arm.c: Add comment to "armv6zk" entry.
14399 * doc/invoke.texi: Replace "armv6zk" with "armv6kz".
14400
14401 2015-07-27 Marek Polacek <polacek@redhat.com>
14402
14403 PR c++/66555
14404 PR c/54979
14405 * doc/invoke.texi: Document -Wtautological-compare.
14406
14407 2015-07-27 Richard Biener <rguenther@suse.de>
14408
14409 * genmatch.c (decision_tree::gen_gimple): Split out large
14410 subtrees into separate functions.
14411 (decision_tree::gen_generic): Likewise.
14412
14413 2015-07-26 Uros Bizjak <ubizjak@gmail.com>
14414
14415 * config/alpha/alpha.c: Use SUBREG_P predicate.
14416 * config/alpha/predicates.md: Ditto.
14417
14418 2015-07-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
14419
14420 * config.host (s390*-*-*): Include driver-native.c only when
14421 building with s390* as host *and* target.
14422
14423 2015-07-25 Oleg Endo <olegendo@gcc.gnu.org>
14424
14425 PR target/66930
14426 * config/sh/sh.c (sh_split_movrt_negc_to_movt_xor): Add missing
14427 T bit register modified_between_p check.
14428
14429 2015-07-25 Uros Bizjak <ubizjak@gmail.com>
14430
14431 * config/i386/i386.c: Use SUBREG_P predicate.
14432 * config/i386/i386.md: Ditto.
14433 * config/i386/sse.md: Ditto.
14434 * config/i386/predicates.md: Ditto.
14435
14436 2015-07-25 Uros Bizjak <ubizjak@gmail.com>
14437
14438 PR target/67004
14439 * config/i386/i386.h (ADJUST_INSN_LENGTH): Use NONDEBUG_INSN_P (INSN)
14440 predicate and INSN_CODE (INSN) >= 0 to check for valid instruction.
14441
14442 2015-07-25 Sebastian Pop <s.pop@samsung.com>
14443
14444 * Makefile.in: Remove use of TREEBROWSER.
14445 * config.in: Regenerated.
14446 * configure: Regenerated.
14447 * configure.ac: Remove definition of TREEBROWSER.
14448 * tree-browser.c: Removed.
14449 * tree-browser.def: Removed.
14450
14451 2015-07-25 Sebastian Pop <s.pop@samsung.com>
14452
14453 * graphite-scop-detection.c: Include gimple-pretty-print.h.
14454 (stmt_simple_for_scop_p): Print when a stmt is not handled in
14455 Graphite.
14456 (scopdet_basic_block_info): Print when a loop or bb cannot be
14457 represented in Graphite.
14458
14459 2015-07-25 Uros Bizjak <ubizjak@gmail.com>
14460
14461 PR target/66648
14462 * config/i386/i386.c (ix86_expand_set_or_movmem): Emit main loop
14463 execution guard when min_size is less than size_needed.
14464
14465 2015-07-25 Sebastian Pop <s.pop@samsung.com>
14466
14467 * doc/install.texi: Document supported versions of ISL.
14468
14469 2015-07-25 Jeff Law <law@redhat.com>
14470
14471 Revert:
14472 PR lto/66752
14473 * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
14474 unable to find X NE 0 in the tables, return X as the simplified
14475 condition.
14476 (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
14477 in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH
14478 to VISISTED_BBS. */
14479 * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
14480 after removing the control flow statement and unnecessary edges.
14481
14482 2015-07-25 David Edelsohn <dje.gcc@gmail.com>
14483
14484 Revert:
14485 2015-07-23 Alexandre Oliva <aoliva@redhat.com>
14486
14487 PR rtl-optimization/64164
14488 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
14489 * tree-ssa-copyrename.c: Removed.
14490 * opts.c (default_options_table): Drop -ftree-copyrename. Add
14491 -ftree-coalesce-vars.
14492 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
14493 * common.opt (ftree-copyrename): Ignore.
14494 (ftree-coalesce-inlined-vars): Likewise.
14495 * doc/invoke.texi: Remove the ignored options above.
14496 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
14497 * tree-ssa-coalesce.h: ... here.
14498 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
14499 headers required by it.
14500 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
14501 across variables when flag_tree_coalesce_vars. Check register
14502 use and promoted modes to allow coalescing. Moved to
14503 tree-ssa-coalesce.c.
14504 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
14505 with its member functions to tree-ssa-coalesce.c.
14506 (var_map_base_init): Likewise. Renamed to
14507 compute_samebase_partition_bases.
14508 (partition_view_normal): Drop want_bases parameter.
14509 (partition_view_bitmap): Likewise.
14510 * tree-ssa-live.h: Adjust declarations.
14511 * tree-ssa-coalesce.c: Include explow.h.
14512 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
14513 default defs at the entry point.
14514 (dump_part_var_map): New.
14515 (compute_optimized_partition_bases): New, called by...
14516 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
14517 of compute_samebase_partition_bases. Adjust.
14518 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
14519 * cfgexpand.c (leader_merge): New.
14520 (get_rtl_for_parm_ssa_default_def): New.
14521 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
14522 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
14523 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
14524 redundant MEM attr setting.
14525 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
14526 from...
14527 (expand_one_stack_var): ... this. New wrapper to check and
14528 skip already expanded SSA partitions.
14529 (record_alignment_for_reg_var): New, factored out of...
14530 (expand_one_var): ... this.
14531 (expand_one_ssa_partition): New.
14532 (adjust_one_expanded_partition_var): New.
14533 (expand_one_register_var): Check and skip already expanded SSA
14534 partitions.
14535 (expand_used_vars): Don't create DECLs for anonymous SSA
14536 names. Expand all SSA partitions, then adjust all SSA names.
14537 (pass::execute): Replace the loops that set
14538 SA.partition_to_pseudo from partition leaders and cleared
14539 DECL_RTL for multi-location variables, and that which used to
14540 rename vars and set attrs, with one that clears DECL_RTL and
14541 checks that PARMs and RESULTs default_defs match DECL_RTL.
14542 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
14543 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
14544 * explow.c (promote_ssa_mode): New.
14545 * explow.h (promote_ssa_mode): Declare.
14546 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
14547 * function.c: Include cfgexpand.h.
14548 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
14549 (use_register_for_parm_decl): Wrapper for the above to
14550 special-case the result_ptr.
14551 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
14552 (split_complex_args): Take assign_parm_data_all argument.
14553 Pass it to rtl_for_parm. Set up rtl and context for split
14554 args.
14555 (assign_parms_augmented_arg_list): Adjust.
14556 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
14557 multiple locations. Recognize split complex args.
14558 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
14559 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
14560 (assign_parm_setup_block): Prefer SSA-assigned location.
14561 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
14562 if stack_parm is NULL.
14563 (assign_parm_setup_stack): Prefer SSA-assigned location.
14564 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
14565 rtl before testing for pointer bounds. Special-case result_ptr.
14566 (expand_function_start): Maybe reset DECL_RTL of result.
14567 Prefer SSA-assigned location for result and static chain.
14568 Factor out DECL_RESULT and SET_DECL_RTL.
14569 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
14570 anonymous SSA names. Use promote_ssa_mode.
14571 (get_temp_reg): Likewise.
14572 (remove_ssa_form): Adjust.
14573 * stor-layout.c (layout_decl): Don't set mem attributes of
14574 non-MEMs.
14575 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
14576 and get its reg_usage for reg invalidation.
14577 (compute_bb_dataflow): Pass it insn.
14578 (emit_notes_in_bb): Likewise.
14579
14580 2015-07-25 Uros Bizjak <ubizjak@gmail.com>
14581
14582 * config/i386/i386.c (ix86_va_start): Remove
14583 unneeded !TARGET_64BIT check.
14584 (ix86_gimplify_va_arg): Ditto.
14585
14586 2015-07-24 Tom de Vries <tom@codesourcery.com>
14587
14588 * graphite-sese-to-poly.c (build_poly_scop): Always call
14589 rewrite_commutative_reductions_out_of_ssa.
14590
14591 2015-07-24 Tom de Vries <tom@codesourcery.com>
14592
14593 * graphite-sese-to-poly.c (is_reduction_operation_p): Limit
14594 flag_associative_math to FLOAT_TYPE_P. Honour
14595 TYPE_OVERFLOW_WRAPS for INTEGRAL_TYPE_P. Don't allow any other types.
14596
14597 2015-07-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
14598
14599 PR c++/64079
14600 * toplev.c (check_global_declaration): Use DECL_SOURCE_LOCATION
14601 and "%qD" in warning_at instead of "%q+D" in warning.
14602
14603 2015-07-24 Uros Bizjak <ubizjak@gmail.com>
14604
14605 * config/i386/i386.c (ix86_call_abi_override): Call ix86_function_abi.
14606 (ix86_function_abi): Cleanup.
14607
14608 2015-07-24 Michael Darling <darlingm@gmail.com>
14609
14610 PR other/66259
14611 * acinclude.m4: Reflects renaming of configure.in to configure.ac
14612 * configure: Likewise
14613 * configure.ac: Likewise
14614 * doc/install.texi: Likewise
14615 * doc/tm.texi: Likewise
14616 * doc/tm.texi.in: Likewise
14617
14618 2015-07-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14619
14620 * alias.c (nonoverlapping_memrefs_p): Use std::swap instead of
14621 manually swapping values.
14622 * cse.c (fold_rtx): Likewise.
14623 * lra-eliminations.c (form_sum): Likewise.
14624
14625 2015-07-24 Uros Bizjak <ubizjak@gmail.com>
14626
14627 PR target/64003
14628 * config/i386/i386.h (ADJUST_INSN_LENGTH): New define.
14629 * config/i386/i386.md (maybe_prefix_bnd): New attribute.
14630 (*jcc_1, *jcc_2, jump, simple_return_internal)
14631 (simple_return_pop_internal): Set attribute maybe_prefix_bnd.
14632 Set length_nobnd attribute instead of length attribute.
14633 (indirect_jump, *tablejump_1): Set attribute maybe_prefix_bnd.
14634 (length_nobnd): Remove attribute.
14635 (length): Remove length_nobnd processing.
14636
14637 2015-07-24 Nathan Sidwell <nathan@codesourcery.com>
14638
14639 * gimplify.c (omp_default_clause): New function. Reorganize flow
14640 for clarity. Broken out of ...
14641 (omp_notice_variable): ... here.
14642
14643 2015-07-24 Gary Funck <gary@intrepid.com>
14644
14645 PR middle-end/66984
14646 * fold-const.c (fold_binary_loc): Call fold_convert on arguments to
14647 fold_build2 for CEIL_DIV_EXPR and FLOOR_DIV_EXPR optimization.
14648
14649 2015-07-24 Tom de Vries <tom@codesourcery.com>
14650
14651 * tree-parloops.c (gen_parallel_loop): Add debug print for alternative
14652 exit-first loop transform.
14653
14654 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
14655
14656 PR 66714
14657 * tree-cfg.c (struct replace_decls_d): New struct.
14658 (replace_block_vars_by_duplicates_1): New function.
14659 (replace_block_vars_by_duplicates): Use it to replace the decls
14660 in the value exprs by duplicates.
14661
14662 2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
14663
14664 * config/aarch64/aarch64-elf-raw.h (LINK_SPEC): Handle -h, -static,
14665 -shared, -symbolic, -rdynamic.
14666
14667 2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
14668
14669 PR target/65711
14670 * config/aarch64/aarch64-linux.h (LINUX_TARGET_LINK_SPEC): Move
14671 -dynamic-linker within %{!static %{!shared, and -rdynamic within
14672 %{!static.
14673
14674 2015-07-24 Ilya Enkovich <enkovich.gnu@gmail.com>
14675
14676 PR ipa/66566
14677 * ipa-inline-analysis.c (estimate_calls_size_and_time): Check
14678 edge summary is available.
14679
14680 2015-07-24 Richard Biener <rguenther@suse.de>
14681
14682 * genmatch.c (struct dt_node): Add statistic fields.
14683 (dt_node::analyze): New method.
14684 (decision_tree::gen_gimple): Call analyze on the root node
14685 and print statistics to stderr.
14686 (decision_tree::gen_generic): Likewise.
14687
14688 2015-07-24 Richard Biener <rguenther@suse.de>
14689
14690 * fold-const.c (fold_binary_loc): Move simplifying of comparisons
14691 against the highest or lowest possible integer ...
14692 * match.pd: ... as patterns here.
14693
14694 2015-07-24 Richard Biener <rguenther@suse.de>
14695
14696 * genmatch.c (struct capture_info): Add same_as field.
14697 (capture_info::capture_info): Initialize same_as.
14698 (capture_info::walk_match): Compute same_as.
14699 (capture_info::walk_result): Compute stuff for the leader.
14700 (capture_info::walk_c_expr): Likewise.
14701 (dt_simplify::gen_1): Only look at leaders when deciding
14702 to force no side-effects or emit side-effects of omitted operands.
14703
14704 2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
14705
14706 * config/s390/s390.c (s390_save_gprs_to_fprs): Add CFA_REGISTER
14707 reg note to the GPR -> FPR save instructions.
14708
14709 2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
14710
14711 * config/s390/s390.c (s390_rtx_costs): Make risbg patterns
14712 cheaper.
14713 (s390_expand_insv): Don't generate risbg pattern for constant zero
14714 sources.
14715 * config/s390/s390.md ("*insv<mode>_zEC12_appendbitsleft")
14716 ("*insv<mode>_z10_appendbitsleft"): New pattern definitions. New
14717 splitters.
14718
14719 2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
14720
14721 * config/s390/s390.c (s390_reorg): Clean up handling of processors
14722 with
14723 -mtune=
14724 (s390_issue_rate): Likewise.
14725 (s390_sched_reorder): Likewise.
14726 (s390_sched_variable_issue): Likewise.
14727 (s390_loop_unroll_adjust): Likewise.
14728 (s390_option_override): Likewise.
14729
14730 2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
14731
14732 * config/s390/driver-native.c (s390_host_detect_local_cpu): Handle
14733 processor capabilities with -march=native.
14734 * config/s390/s390.h (MARCH_MTUNE_NATIVE_SPECS): Likewise.
14735 (DRIVER_SELF_SPECS): Likewise. Join specs for 31 and 64 bit.
14736 (S390_TARGET_BITS_STRING): Macro to simplify specs.
14737
14738 2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
14739
14740 * config/s390/s390.c (s390_issue_rate): Handle
14741 PROCESSOR_2094_Z9_EC.
14742 (s390_option_override): Likewise.
14743 (s390_adjust_priority): Likewise.
14744
14745 2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
14746
14747 * config/s390/s390.h: S390: Do not define EXTRA_SPEC_FUNCTIONS
14748 when cross compiling.
14749
14750 2015-07-24 Richard Biener <rguenther@suse.de>
14751
14752 * fold-const.c (maybe_canonicalize_comparison_1): Move
14753 A code CST canonicalization ...
14754 * match.pd: ... to a pattern here.
14755
14756 2015-07-24 Jiong Wang <jiong.wang@arm.com>
14757
14758 Revert:
14759 2015-07-22 Jiong Wang <jiong.wang@arm.com>
14760 PR target/63521
14761 * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define.
14762 (HONOR_REG_ALLOC_ORDER): Define.
14763
14764 2015-07-24 Richard Biener <rguenther@suse.de>
14765
14766 * genmatch.c (add_operator): Allow SSA_NAME as predicate.
14767 * fold-const.c (fold_comparison): Move parameter does not
14768 alias &local simplification ...
14769 * match.pd: ... as a pattern here.
14770
14771 2015-07-24 Richard Biener <rguenther@suse.de>
14772
14773 * gimple-fold.c (replace_stmt_with_simplification): Special-case
14774 valueizing call operands.
14775 * gimple-match-head.c (maybe_push_res_to_seq): Take
14776 number of call arguments from ops array.
14777 (do_valueize): New function.
14778 (gimple_simplify): Return true if valueization changed
14779 any operand even if the result didn't simplify further.
14780
14781 2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
14782
14783 PR middle-end/25530
14784 * match.pd (mult (trunc_div @0 integer_pow2p@1) @1) : New simplifier.
14785
14786 2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
14787
14788 PR middle-end/25529
14789 * match.pd (trunc_div (mult @0 integer_pow2p@1) @1) : New simplifier.
14790
14791 2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org>
14792
14793 * config/arm/arm.c (arm_emit_movpair): Add REG_EQUAL notes to
14794 instruction.
14795
14796 2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org>
14797
14798 * cse.c (cse_insn): Fix missing check for STRICT_LOW_PART and minor
14799 clean up.
14800
14801 2015-07-23 Uros Bizjak <ubizjak@gmail.com>
14802
14803 * config/i386/i386.c (ix86_build_builtin_va_list_64): Rename
14804 from ix86_build_builtin_va_list_abi. Handle only 64bit non-MS_ABI
14805 targets here.
14806 (ix86_build_builtin_va_list): Rewrite sysv_va_list_type_node and
14807 ms_va_list_type_node initialization.
14808
14809 2015-07-23 Jeff Law <law@redhat.com>
14810
14811 PR lto/66752
14812 * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
14813 unable to find X NE 0 in the tables, return X as the simplified
14814 condition.
14815 (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
14816 in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH
14817 to VISISTED_BBS. */
14818 * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
14819 after removing the control flow statement and unnecessary edges.
14820
14821 2015-07-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
14822
14823 * tree-pass.h (get_current_pass_name): Removed.
14824
14825 2015-07-23 Alexandre Oliva <aoliva@redhat.com>
14826
14827 PR rtl-optimization/64164
14828 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
14829 * tree-ssa-copyrename.c: Removed.
14830 * opts.c (default_options_table): Drop -ftree-copyrename. Add
14831 -ftree-coalesce-vars.
14832 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
14833 * common.opt (ftree-copyrename): Ignore.
14834 (ftree-coalesce-inlined-vars): Likewise.
14835 * doc/invoke.texi: Remove the ignored options above.
14836 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
14837 * tree-ssa-coalesce.h: ... here.
14838 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
14839 headers required by it.
14840 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
14841 across variables when flag_tree_coalesce_vars. Check register
14842 use and promoted modes to allow coalescing. Moved to
14843 tree-ssa-coalesce.c.
14844 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
14845 with its member functions to tree-ssa-coalesce.c.
14846 (var_map_base_init): Likewise. Renamed to
14847 compute_samebase_partition_bases.
14848 (partition_view_normal): Drop want_bases parameter.
14849 (partition_view_bitmap): Likewise.
14850 * tree-ssa-live.h: Adjust declarations.
14851 * tree-ssa-coalesce.c: Include explow.h.
14852 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
14853 default defs at the entry point.
14854 (dump_part_var_map): New.
14855 (compute_optimized_partition_bases): New, called by...
14856 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
14857 of compute_samebase_partition_bases. Adjust.
14858 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
14859 * cfgexpand.c (leader_merge): New.
14860 (get_rtl_for_parm_ssa_default_def): New.
14861 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
14862 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
14863 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
14864 redundant MEM attr setting.
14865 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
14866 from...
14867 (expand_one_stack_var): ... this. New wrapper to check and
14868 skip already expanded SSA partitions.
14869 (record_alignment_for_reg_var): New, factored out of...
14870 (expand_one_var): ... this.
14871 (expand_one_ssa_partition): New.
14872 (adjust_one_expanded_partition_var): New.
14873 (expand_one_register_var): Check and skip already expanded SSA
14874 partitions.
14875 (expand_used_vars): Don't create DECLs for anonymous SSA
14876 names. Expand all SSA partitions, then adjust all SSA names.
14877 (pass::execute): Replace the loops that set
14878 SA.partition_to_pseudo from partition leaders and cleared
14879 DECL_RTL for multi-location variables, and that which used to
14880 rename vars and set attrs, with one that clears DECL_RTL and
14881 checks that PARMs and RESULTs default_defs match DECL_RTL.
14882 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
14883 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
14884 * explow.c (promote_ssa_mode): New.
14885 * explow.h (promote_ssa_mode): Declare.
14886 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
14887 * function.c: Include cfgexpand.h.
14888 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
14889 (use_register_for_parm_decl): Wrapper for the above to
14890 special-case the result_ptr.
14891 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
14892 (split_complex_args): Take assign_parm_data_all argument.
14893 Pass it to rtl_for_parm. Set up rtl and context for split
14894 args.
14895 (assign_parms_augmented_arg_list): Adjust.
14896 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
14897 multiple locations. Recognize split complex args.
14898 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
14899 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
14900 (assign_parm_setup_block): Prefer SSA-assigned location.
14901 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
14902 if stack_parm is NULL.
14903 (assign_parm_setup_stack): Prefer SSA-assigned location.
14904 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
14905 rtl before testing for pointer bounds. Special-case result_ptr.
14906 (expand_function_start): Maybe reset DECL_RTL of result.
14907 Prefer SSA-assigned location for result and static chain.
14908 Factor out DECL_RESULT and SET_DECL_RTL.
14909 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
14910 anonymous SSA names. Use promote_ssa_mode.
14911 (get_temp_reg): Likewise.
14912 (remove_ssa_form): Adjust.
14913 * stor-layout.c (layout_decl): Don't set mem attributes of
14914 non-MEMs.
14915 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
14916 and get its reg_usage for reg invalidation.
14917 (compute_bb_dataflow): Pass it insn.
14918 (emit_notes_in_bb): Likewise.
14919
14920 2015-07-23 Segher Boessenkool <segher@kernel.crashing.org>
14921
14922 PR target/66217
14923 * config/rs6000/rs6000-protos.h (rs6000_emit_2insn_and): Change
14924 prototype.
14925 * config/rs6000/rs6000.c (rs6000_emit_dot_insn): New function.
14926 (rs6000_emit_2insn_and): Handle dot forms.
14927 * config/rs6000/rs6000.md (and<mode>3): Adjust.
14928 (*and<mode>3_2insn): Remove TODO. Adjust. Add "type" attr.
14929 (*and<mode>3_2insn_dot, *and<mode>3_2insn_dot2): New.
14930
14931 2015-07-23 Richard Biener <rguenther@suse.de>
14932
14933 * generic-match-head.c: Include cgraph.h.
14934 * gimple-match-head.c: Likewise.
14935 * tree-ssa-sccvn.c (free_scc_vn): Guard against newly created
14936 SSA names.
14937 * fold-const.c (fold_binary_loc): Move &A ==/!= &B simplification...
14938 * match.pd: ...to a pattern here. Add &A ==/!= 0 simplification
14939 pattern.
14940
14941 2015-07-23 Richard Biener <rguenther@suse.de>
14942
14943 * gimple-fold.c (fold_gimple_cond): Do not require folding
14944 results to pass valid_gimple_rhs_p.
14945 * tree-cfg.h (fold_cond_expr_cond): Remove.
14946 * tree-cfg.c (fold_cond_expr_cond): Likewise.
14947 (make_edges): Do not call it.
14948 * tree-inline.c (tree_function_versioning): Likewise.
14949
14950 2015-07-23 Tom de Vries <tom@codesourcery.com>
14951
14952 * tree-parloops.c (gather_scalar_reductions): Add arg to call to
14953 vect_force_simple_reduction.
14954 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Same.
14955 (vect_is_simple_reduction_1): Add and handle
14956 need_wrapping_integral_overflow parameter.
14957 (vect_is_simple_reduction, vect_force_simple_reduction): Add and pass
14958 need_wrapping_integral_overflow parameter.
14959 (vectorizable_reduction): Add arg to call to vect_is_simple_reduction.
14960 * tree-vectorizer.h (vect_force_simple_reduction): Add parameter to
14961 decl.
14962
14963 2015-07-23 Yuri Rumyantsev <ysrumyan@gmail.com>
14964
14965 PR tree-optimization/66926,66951
14966 * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Delete
14967 INNER_LOOP and fix up condition for renaming virtual operands.
14968
14969 2015-07-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14970
14971 * combine.c (try_combine): Use std::swap instead of manually
14972 swapping.
14973
14974 2015-07-23 Prachi Godbole <prachi.godbole@imgtec.com>
14975
14976 * config/mips/i6400.md: New file.
14977 * config/mips/mips-cpus.def (mips32r6): Change to PROCESSOR_I6400.
14978 (mips64r6): Likewise.
14979 (i6400): Define.
14980 * config/mips/mips-tables.opt: Regenerate.
14981 * config/mips/mips.c (mips_rtx_cost_data): Add I6400 processor.
14982 (mips_issue_rate): Add support for i6400.
14983 (mips_multipass_dfa_lookahead): Likewise.
14984 * config/mips/mips.h (TUNE_I6400): Define.
14985 * config/mips/mips.md: Include i6400.md.
14986 (processor): Add i6400.
14987 * doc/invoke.texi (-march=@var{arch}): Add i6400.
14988
14989 2015-07-23 Richard Biener <rguenther@suse.de>
14990
14991 PR middle-end/66916
14992 * match.pd: Guard widen and sign-change comparison simplification
14993 with single_use.
14994
14995 2015-07-23 Richard Biener <rguenther@suse.de>
14996
14997 PR tree-optimization/66945
14998 * tree-ssa-propagate.c (substitute_and_fold_dom_walker
14999 ::before_dom_children): Force the propagators idea of
15000 non-executable edges to materialize, not what the folder
15001 chooses.
15002
15003 2015-07-23 Richard Biener <rguenther@suse.de>
15004
15005 * gimple.h (gimple_cond_make_false): Use 0 != 0.
15006 (gimple_cond_make_true): Use 1 != 0.
15007
15008 2015-07-22 DJ Delorie <dj@redhat.com>
15009
15010 * config/msp430/t-msp430 (MULTILIB_DIRNAMES): Remove trailing
15011 slashes.
15012
15013 * config/msp430/msp430.md (ashlhi3): Optimize shifts of subregs.
15014 (ashrhi3): Likewise.
15015 (lshrhi3): Likewise.
15016 (movhi): Take advantage of zero-extend to load small constants.
15017 (movpsi): Likewise.
15018 (and<mode>3): Likewise.
15019 (zero_extendqihi2): Likewise.
15020 (zero_extendqisi2): New.
15021 * config/msp430/constraints.md (N,O): New.
15022 * config/msp430/msp430.h (WORD_REGISTER_OPERATIONS): Define.
15023
15024 2015-07-22 Uros Bizjak <ubizjak@gmail.com>
15025
15026 PR target/66954
15027 * config/i386/i386.c (get_builtin_code_for_version): Add P_AES
15028 to enum feature_priority and feature_list.
15029 (fold_builtin_cpu): Add F_AES to enum processor_features
15030 and isa_names_table.
15031
15032 2015-07-22 Ilya Enkovich <enkovich.gnu@gmail.com>
15033
15034 PR driver/66737
15035 * config/i386/linux-common.h (MPX_SPEC): Use linker option
15036 for 64bit target only.
15037
15038 2015-07-22 Bernd Schmidt <bernds@codesourcery.com>
15039
15040 * config/nvptx/nvptx.c: Expand some comments.
15041
15042 2015-07-22 James Greenhalgh <james.greenhalgh@arm.com>
15043
15044 * config/arm/cortex-a53 (cortex_53_advsimd): Rename to...
15045 (cortex_a53_advsimd): ...This.
15046
15047 2015-07-22 Richard Biener <rguenther@suse.de>
15048
15049 * genmatch.c (expr::gen_transform): Clarify error message
15050 and display location.
15051
15052 2015-07-22 Richard Biener <rguenther@suse.de>
15053
15054 * genmatch.c (struct operand): Add location member.
15055 (predicate, expr, c_expr, capture, if_expr, with_expr): Adjust
15056 constructors.
15057 (struct simplify): Remove match_location and result_location
15058 members.
15059 (elsehwere): Adjust.
15060
15061 2015-07-22 Prachi Godbole <prachi.godbole@imgtec.com>
15062
15063 * config/mips/m5100.md: New file.
15064 * config/mips/mips-cpus.def (m5100, m5101): Define.
15065 * config/mips/mips-tables.opt: Regenerate.
15066 * config/mips/mips.c (mips_rtx_cost_data): Add costs for m5100.
15067 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=m5100 and
15068 -march=m5101 to -mips32r5.
15069 (MIPS_ARCH_FLOAT_SPEC): Map -m5101 to -msoft-float.
15070 (MIPS_ISA_NAN2008_SPEC): Map -march=m51* to -mnan=2008 if
15071 !-msoft-float.
15072 * config/mips/mips.md: Include m5100.md.
15073 (processor): Add m5100.
15074 * doc/invoke.texi (-march=@var{arch}): Add m5100, m5101.
15075
15076 2015-07-22 Robert Suchanek <robert.suchanek@imgtec.com>
15077
15078 * config/mips/mips-cpus.def (interaptiv): Define.
15079 * config/mips/mips-tables.opt: Regenerate.
15080 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=interaptiv to
15081 -mips32r2.
15082 (BASE_DRIVER_SELF_SPECS): Likewise but map to -mdsp.
15083 * doc/invoke.texi (-march=@var{arch}): Add interaptiv.
15084
15085 2015-07-22 Jiong Wang <jiong.wang@arm.com>
15086
15087 PR target/63521
15088 * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define.
15089 (HONOR_REG_ALLOC_ORDER): Define.
15090
15091 2015-07-22 Richard Biener <rguenther@suse.de>
15092
15093 PR tree-optimization/66952
15094 * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): For
15095 blocks we end up executing unconditionally reset all SSA
15096 info such as range and alignment.
15097 * tree-ssanames.h (reset_flow_sensitive_info): Declare.
15098 * tree-ssanames.c (reset_flow_sensitive_info): New function.
15099
15100 2015-07-22 Charles Baylis <charles.baylis@linaro.org>
15101
15102 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): Fix
15103 typo in attribute.
15104
15105 2015-07-22 Richard Biener <rguenther@suse.de>
15106
15107 * genmatch.c (parser::parse_result): Properly handle
15108 match with result operands and conditions.
15109
15110 2015-07-22 Charles Baylis <charles.baylis@linaro.org>
15111
15112 PR target/63870
15113 * config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers):
15114 Add qualifier_struct_load_store_lane_index.
15115 (aarch64_types_loadstruct_lane_qualifiers): Use
15116 qualifier_struct_load_store_lane_index for lane index argument for
15117 last argument.
15118 (aarch64_types_storestruct_lane_qualifiers): Ditto.
15119 (builtin_simd_arg): Add SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
15120 (aarch64_simd_expand_args): Add new argument describing mode of
15121 builtin. Check lane bounds for arguments with
15122 SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
15123 (aarch64_simd_expand_builtin): Emit error for incorrect lane indices
15124 if marked with SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
15125 (aarch64_simd_expand_builtin): Handle arguments with
15126 qualifier_struct_load_store_lane_index. Pass machine mode of builtin to
15127 aarch64_simd_expand_args.
15128 * config/aarch64/aarch64-simd-builtins.def: Declare ld[234]_lane and
15129 vst[234]_lane with BUILTIN_VALLDIF.
15130 * config/aarch64/aarch64-simd.md:
15131 (aarch64_vec_load_lanesoi_lane<mode>): Use VALLDIF iterator. Perform
15132 endianness reversal on lane index.
15133 (aarch64_vec_load_lanesci_lane<mode>): Ditto.
15134 (aarch64_vec_load_lanesxi_lane<mode>): Ditto.
15135 (vec_store_lanesoi_lane<mode>): Use VALLDIF iterator.
15136 (vec_store_lanesci_lane<mode>): Ditto.
15137 (vec_store_lanesxi_lane<mode>): Ditto.
15138 (aarch64_ld2_lane<mode>): Use VALLDIF iterator. Remove endianness
15139 reversal of lane index.
15140 (aarch64_ld3_lane<mode>): Ditto.
15141 (aarch64_ld4_lane<mode>): Ditto.
15142 (aarch64_st2_lane<mode>): Ditto.
15143 (aarch64_st3_lane<mode>): Ditto.
15144 (aarch64_st4_lane<mode>): Ditto.
15145 * config/aarch64/arm_neon.h (__LD2_LANE_FUNC): Rename mode parameter
15146 to qmode. Add new mode parameter. Update uses.
15147 (__LD3_LANE_FUNC): Ditto.
15148 (__LD4_LANE_FUNC): Ditto.
15149 (__ST2_LANE_FUNC): Ditto.
15150 (__ST3_LANE_FUNC): Ditto.
15151 (__ST4_LANE_FUNC): Ditto.
15152
15153 2015-07-22 Jonathan Wakely <jwakely@redhat.com>
15154
15155 * doc/invoke.texi (Language Independent Options): Rename node to
15156 Diagnostic Message Formatting Options.
15157
15158 2015-07-21 Vladimir Makarov <vmakarov@redhat.com>
15159
15160 PR ipa/66424.
15161 * lra-remat.c (operand_to_remat): Prevent using insns with input
15162 subregs processed separately by IRA.
15163
15164 2015-07-21 Andrew MacLeod <amacleod@redhat.com>
15165
15166 * ssa-iterators.h (has_zero_uses, has_single_use): Implement as
15167 straight loops.
15168 (single_imm_use): Check for iterator node.
15169 (num_imm_uses): Likewise.
15170 * tree-ssa-operands.c (has_zero_uses_1): Delete.
15171 (single_imm_use_1): Check for iterator node.
15172
15173 2015-07-21 Mike Frysinger <vapier@gentoo.org>
15174 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
15175
15176 * configure.ac: Add check for new options in isl-0.15.
15177 * config.in, configure: Rebuilt.
15178 * graphite-blocking.c: Include <isl/constraint.h>
15179 * graphite-interchange.c, graphite-poly.c: Likewise.
15180 * graphhite-scop-detection.c, graphite-sese-to-poly.c: Likewise.
15181 * graphite.c: Likewise.
15182 * graphite-isl-ast-to-gimple.c: Include <isl/constraint.h> and
15183 <isl/union_set.h>.
15184 * graphite-dependences.c: Include <isl/constraint.h>.
15185 (max_number_of_out_dimensions): Returns isl_stat.
15186 (extend_schedule_1): Likewise
15187 (extend_schedule): Corresponding changes.
15188 * graphite-optimize-isl.c: Include <isl/constraint.h> and
15189 <isl/union_set.h>.
15190 (getSingleMap): Change return type of isl_stat.
15191 (optimize_isl): Conditionally use
15192 isl_options_set_schedule_serialize_sccs.
15193 * graphite-poly.h (isl_stat, isl_stat_ok): Define fallbacks
15194 if not HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS.
15195
15196 2015-07-21 Georg-Johann Lay <avr@gjlay.de>
15197
15198 PR target/66956
15199 * config/avr/avr-dimode.md (<extend_u>mulsidi3_insn)
15200 (<extend_u>mulsidi3): Don't use if !AVR_HAVE_MUL.
15201
15202 2015-07-21 Richard Biener <rguenther@suse.de>
15203
15204 PR tree-optimization/66948
15205 * genmatch.c (capture_info::walk_match): Also recurse to
15206 captures. Properly compute expr state from captures of
15207 captures.
15208 * match.pd: Add single-use guards to
15209 (X & C2) >> C1 into (X >> C1) & (C2 >> C1) transform.
15210
15211 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
15212
15213 * config/nvptx/mkoffload.c (process): Add static destructor call.
15214
15215 2015-07-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15216
15217 PR middle-end/66915
15218 * match.pd (A - B -> A + (-B)): Don't allow folding
15219 when type if a fixed-point type.
15220
15221 2015-07-20 DJ Delorie <dj@redhat.com>
15222
15223 * config/rl78/rl78-real.md (andqi3_real): Expand operands for clr1.
15224 (iorqi3_real): Likewise for set1.
15225
15226 2015-07-20 Uros Bizjak <ubizjak@gmail.com>
15227
15228 * config/i386/i386.c (ix86_md_asm_adjust): Handle DImode dest_mode
15229 for !TARGET_64BIT.
15230
15231 2015-07-20 Aditya Kumar <hiraditya@msn.com>
15232
15233 * graphite-isl-ast-to-gimple.c:
15234 Refactor so that each function can access 'region'. This will help
15235 maintain a parameter rename_map within a region.
15236
15237 2015-07-20 Segher Boessenkool <segher@kernel.crashing.org>
15238
15239 * config/rs6000/rs6000.md (*lt0_disi): New.
15240
15241 2015-07-20 Segher Boessenkool <segher@kernel.crashing.org>
15242
15243 PR target/66217
15244 * config/rs6000/constraints.md ("S", "T", "t"): Delete. Update
15245 "available letters" comment.
15246 * config/rs6000/predicates.md (mask_operand, mask_operand_wrap,
15247 mask64_operand, mask64_2_operand, any_mask_operand, and64_2_operand,
15248 and_2rld_operand): Delete.
15249 (and_operand): Adjust.
15250 (rotate_mask_operator): New.
15251 * config/rs6000/rs6000-protos.h (build_mask64_2_operands,
15252 includes_lshift_p, includes_rshift_p, includes_rldic_lshift_p,
15253 includes_rldicr_lshift_p, insvdi_rshift_rlwimi_p, extract_MB,
15254 extract_ME): Delete.
15255 (rs6000_is_valid_mask, rs6000_is_valid_and_mask,
15256 rs6000_is_valid_shift_mask, rs6000_is_valid_insert_mask,
15257 rs6000_insn_for_and_mask, rs6000_insn_for_shift_mask,
15258 rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and,
15259 rs6000_emit_2insn_and): New.
15260 * config/rs6000/rs6000.c (num_insns_constant): Adjust.
15261 (build_mask64_2_operands, includes_lshift_p, includes_rshift_p,
15262 includes_rldic_lshift_p, includes_rldicr_lshift_p,
15263 insvdi_rshift_rlwimi_p, extract_MB, extract_ME): Delete.
15264 (rs6000_is_valid_mask, rs6000_is_valid_and_mask,
15265 rs6000_insn_for_and_mask, rs6000_is_valid_shift_mask,
15266 s6000_insn_for_shift_mask, rs6000_is_valid_insert_mask,
15267 rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and,
15268 rs6000_emit_2insn_and): New.
15269 (print_operand) <'b', 'B', 'm', 'M', 's', 'S', 'W'>: Delete.
15270 (rs6000_rtx_costs) <CONST_INT>: Delete mask_operand and mask64_operand
15271 handling.
15272 <NOT>: Don't fall through to next case.
15273 <AND>: Handle the various rotate-and-mask cases directly.
15274 <IOR>: Always cost as one insn.
15275 * config/rs6000/rs6000.md (splitter for bswap:SI): Adjust.
15276 (and<mode>3): Adjust expander for the new patterns.
15277 (and<mode>3_imm, and<mode>3_imm_dot, and<mode>3_imm_dot2,
15278 and<mode>3_imm_mask_dot, and<mode>3_imm_mask_dot2): Adjust condition.
15279 (*and<mode>3_imm_dot_shifted): New.
15280 (*and<mode>3_mask): Delete, rewrite as ...
15281 (and<mode>3_mask): ... New.
15282 (*and<mode>3_mask_dot, *and<mode>3_mask_dot): Rewrite.
15283 (andsi3_internal0_nomc): Delete.
15284 (*andsi3_internal6): Delete.
15285 (*and<mode>3_2insn): New.
15286 (insv, insvsi_internal, *insvsi_internal1, *insvsi_internal2,
15287 *insvsi_internal3, *insvsi_internal4, *insvsi_internal5,
15288 *insvsi_internal6, insvdi_internal, *insvdi_internal2,
15289 *insvdi_internal3): Delete.
15290 (*rotl<mode>3_mask, *rotl<mode>3_mask_dot, *rotl<mode>3_mask_dot2,
15291 *rotl<mode>3_insert, *rotl<mode>3_insert_2, *rotl<mode>3_insert_3,
15292 *rotl<mode>3_insert_4, two splitters for multi-precision shifts,
15293 *ior<mode>_mask): New.
15294 (extzv, extzvdi_internal, *extzvdi_internal1, *extzvdi_internal2,
15295 *rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
15296 *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
15297 *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
15298 Delete.
15299 (ashr<mode>3): Delete expander.
15300 (*ashr<mode>3): Rename to ...
15301 (ashr<mode>3): ... This.
15302 (ashrdi3_no_power, *ashrdisi3_noppc64be): Delete.
15303 (*rotldi3_internal4, *rotldi3_internal5 and split,
15304 *rotldi3_internal6 and split, *ashldi3_internal4, ashldi3_internal5
15305 and split, *ashldi3_internal6 and split, *ashldi3_internal7,
15306 ashldi3_internal8 and split, *ashldi3_internal9 and split): Delete.
15307 (*anddi3_2rld, *anddi3_2rld_dot, *anddi3_2rld_dot2): Delete.
15308 (splitter for loading a mask): Adjust.
15309 * doc/md.texi (Machine Constraints): Remove q, S, T, t constraints.
15310
15311 2015-07-20 Marek Polacek <polacek@redhat.com>
15312
15313 * genemit.c (print_code, gen_exp, gen_insn, gen_expand, gen_split,
15314 output_add_clobbers, output_added_clobbers_hard_reg_p,
15315 gen_rtx_scratch): Remove declarations.
15316
15317 2015-07-20 Marek Polacek <polacek@redhat.com>
15318
15319 PR c++/55095
15320 * doc/invoke.texi: Document -Wshift-overflow and -Wshift-overflow=.
15321
15322 2015-07-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15323
15324 * simplify-rtx.c (simplify_unary_operation_1, NEG case):
15325 (neg (x ? (neg y) : y)) -> !x ? (neg y) : y.
15326
15327 2015-07-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15328
15329 * combine.c (combine_simplify_rtx): Move simplification step
15330 before various transformations/substitutions.
15331
15332 2015-07-20 Mikhail Maltsev <maltsevm@gmail.com>
15333
15334 * wide-int.h (struct binary_traits): Fix partial specialization syntax.
15335 (struct int_traits): Likewise.
15336
15337 2015-07-18 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
15338
15339 * vmsdbgout.c (vmsdbgout_decl): Change name of prototyped
15340 function to vmsdbgout_function_decl.
15341
15342 2015-07-18 Uros Bizjak <ubizjak@gmail.com>
15343
15344 PR target/66922
15345 * config/i386/i386.c (ix86_expand_pextr): Reject extractions
15346 from misaligned positions.
15347 (ix86_expand_pinsr): Reject insertions to misaligned positions.
15348
15349 2015-07-18 Sebastian Pop <s.pop@samsung.com>
15350
15351 PR middle-end/46851
15352 PR middle-end/60340
15353 * Makefile.in: Removed omega.o.
15354 * common.opt: Document flag fcheck-data-deps as deprecated.
15355 * doc/invoke.texi: Remove documentation for fcheck-data-deps and
15356 its associated params: omega-max-vars, omega-max-geqs,
15357 omega-max-eqs, omega-max-wild-cards, omega-hash-table-size,
15358 omega-max-keys, omega-eliminate-redundant-constraints.
15359 * doc/loop.texi: Remove all the section on Omega.
15360 * graphite-blocking.c: Include missing params.h: it used to be
15361 included through tree-data-ref.h and omega.h.
15362 * graphite-isl-ast-to-gimple.c: Same.
15363 * graphite-optimize-isl.c: Same.
15364 * graphite-sese-to-poly.c: Same.
15365 * graphite.c: Same.
15366 * omega.c: Remove.
15367 * omega.h: Remove.
15368 * params.def: Removed PARAM_OMEGA_MAX_VARS, PARAM_OMEGA_MAX_GEQS,
15369 PARAM_OMEGA_MAX_EQS, PARAM_OMEGA_MAX_WILD_CARDS,
15370 PARAM_OMEGA_HASH_TABLE_SIZE, PARAM_OMEGA_MAX_KEYS, and
15371 PARAM_OMEGA_ELIMINATE_REDUNDANT_CONSTRAINTS.
15372 * passes.def: Remove pass_check_data_deps.
15373 * tree-data-ref.c (dump_affine_function): Declare DEBUG_FUNCTION.
15374 (dump_conflict_function): Same.
15375 (dump_subscript): Same.
15376 (print_direction_vector): Same.
15377 (print_dir_vectors): Same.
15378 (print_lambda_vector): Same.
15379 (print_dist_vectors): Same.
15380 (dump_data_dependence_relation): Same.
15381 (dump_data_dependence_relations): Same.
15382 (dump_dist_dir_vectors): Same.
15383 (dump_ddrs): Same.
15384 (init_omega_eq_with_af): Removed.
15385 (omega_extract_distance_vectors): Removed.
15386 (omega_setup_subscript): Removed.
15387 (init_omega_for_ddr_1): Removed.
15388 (init_omega_for_ddr): Removed.
15389 (ddr_consistent_p): Removed.
15390 (compute_affine_dependence): Do not use omega to check data
15391 dependences.
15392 (compute_data_dependences_for_bb): Removed.
15393 (analyze_all_data_dependences): Removed.
15394 (tree_check_data_deps): Removed.
15395 * tree-data-ref.h: Do not include omega.h.
15396 (compute_data_dependences_for_bb): Removed.
15397 (tree_check_data_deps): Removed.
15398 * tree-ssa-loop.c (pass_check_data_deps): Removed.
15399 (make_pass_check_data_deps): Removed.
15400 * tree-ssa-phiopt.c: Include params.h.
15401 * tree-vect-data-refs.c: Same.
15402 * tree-vect-slp.c: Same.
15403
15404 2015-07-18 Uros Bizjak <ubizjak@gmail.com>
15405
15406 * config/i386/i386.md (pushsf splitter): Pass curr_insn to
15407 find_constant_src. FAIL if find_constant_src returns NULL_RTX.
15408 (mem->fpreg splitters): Ditto.
15409 (general_operand->nonimmediate_operand splitter): Use explicit modes.
15410 Disable DFmode for TARGET_64BIT.
15411
15412 2015-07-17 H.J. Lu <hongjiu.lu@intel.com>
15413
15414 PR target/66906
15415 * config/i386/i386.c (ix86_expand_prologue): Replicate static
15416 chain on the stack.
15417
15418 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
15419
15420 * config/nvptx/mkoffload.c (process): Constify host data.
15421 * config/i386/intelmic-mkoffload.c (generate_target_descr_file):
15422 Constify host data.
15423 (generate_host_descr_file): Likewise.
15424
15425 2015-07-17 Aditya Kumar <aditya.k7@samsung.com>
15426 Sebastian Pop <s.pop@samsung.com>
15427
15428 PR middle-end/61929
15429 * graphite-dependences.c (add_pdr_constraints): Renamed
15430 pdr->extent to pdr->subscript_sizes.
15431 * graphite-interchange.c (build_linearized_memory_access): Add
15432 back all gcc_assert's that the "isl_int to isl_val conversion"
15433 patch has removed. Refactored.
15434 (pdr_stride_in_loop): Renamed pdr->extent to pdr->subscript_sizes.
15435 * graphite-poly.c (new_poly_dr): Same.
15436 (free_poly_dr): Same.
15437 * graphite-poly.h (struct poly_dr): Same.
15438 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Ignore
15439 all data references other than ARRAY_REF, MEM_REF, and COMPONENT_REF.
15440 * graphite-scop-detection.h: Fix space.
15441 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Add
15442 back all gcc_assert's removed by a previous patch.
15443 (wrap): Remove the_isl_ctx global variable that the same patch has
15444 added.
15445 (build_loop_iteration_domains): Same.
15446 (add_param_constraints): Same.
15447 (pdr_add_data_dimensions): Same. Refactored.
15448 (build_poly_dr): Renamed extent to subscript_sizes.
15449
15450 2015-07-17 Marek Polacek <polacek@redhat.com>
15451
15452 * fold-const.c (fold_binary_loc): Move A - (A & B) into ~B & A ...
15453 * match.pd: ... here.
15454
15455 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
15456
15457 * config/nvptx/mkoffload.c (process): Constify target data.
15458 * config/i386/intelmic-mkoffload.c (generate_target_descr_file):
15459 Constify target data.
15460 (generate_target_offloadend_file): Likewise.
15461
15462 2015-07-17 Yuri Rumyantsev <ysrumyan@gmail.com>
15463
15464 * tree-vect-loop-manip.c (rename_variables_in_bb): Add argument
15465 to allow renaming of PHI arguments on edges incoming from outer
15466 loop header, add corresponding check before start PHI iterator.
15467 (slpeel_tree_duplicate_loop_to_edge_cfg): Introduce new bool
15468 variable DUPLICATE_OUTER_LOOP and set it to true for outer loops
15469 with true force_vectorize. Set-up dominator for outer loop too.
15470 Pass DUPLICATE_OUTER_LOOP as argument to rename_variables_in_bb.
15471 (slpeel_can_duplicate_loop_p): Allow duplicate of outer loop if it
15472 was marked with force_vectorize and has restricted cfg.
15473 (slpeel_tree_peel_loop_to_edge): Do not rename exit PHI uses in
15474 inner loop.
15475 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not
15476 do peeling for outer loops.
15477
15478 2015-07-17 Yvan Roux <yvan.roux@linaro.org>
15479 Matthias Klose <doko@ubuntu.com>
15480
15481 * configure.ac: Move AC_ARG_WITH checks for native-system-header-dir,
15482 build-sysroot, sysroot from the `Miscenalleous configure options' to
15483 the `Directories' section and strip trailing `/' from with_sysroot.
15484 (gcc_gxx_include_dir): Don't strip a `/' sysroot value.
15485 * configure: Regenerated.
15486
15487 2015-07-17 Uros Bizjak <ubizjak@gmail.com>
15488
15489 PR target/66824
15490 * config/i386/i386.h (TARGET_HARD_SF_REGS): New define.
15491 (TARGET_HARD_DF_REGS): Ditto.
15492 (TARGET_HARD_XF_REGS): Ditto.
15493 * config/i386/i386.md (*movxf_internal): Add alternatives 9 and 10.
15494 Enable alternatives 9 and 10 only for !TARGET_HARD_XF_REG target.
15495 (*movdf_internal): Add alternatives 22, 23, 24 and 25. Enable
15496 alternatives 22, 23, 24 and 25 only for !TARGET_HARD_DF_REG target.
15497 (*movsf_internal): Add alternatives 16 and 17. Enable
15498 alternatives 16 and 17 only for !TARGET_HARD_SF_REG target.
15499
15500 2015-07-17 Uros Bizjak <ubizjak@gmail.com>
15501
15502 PR rtl-optimization/66891
15503 * calls.c (expand_call): Wrap precompute_register_parameters with
15504 NO_DEFER_POP/OK_DEFER_POP to prevent deferred pops.
15505
15506 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
15507
15508 * config/nvptx/mkoffload.c (process): Constify mapping variables.
15509 Define target data struct and initialize it.
15510
15511 2015-07-16 Vladimir Makarov <vmakarov@redhat.com>
15512
15513 PR rtl-optimization/66626
15514 * ira.h (emit-rtl.h): Include.
15515 (non_spilled_static_chain_regno_p): New.
15516 * ira-color.c (setup_profitable_hard_regs): Clear profitable regs
15517 unless it is non spilled static chain pseudo.
15518 (assign_hard_rego): Spill memory profitable allocno unless it is
15519 non spilled static chain pseudo.
15520 (allocno_spill_priority_compare): Put non spilled static chain
15521 pseudo at the end of sorted array.
15522 (improve_allocation): Do nothing if we have static chain and
15523 non-local goto.
15524 (allocno__priority_compare_func): Put non spilled static chain
15525 pseudo at the beginning of sorted array.
15526 (move_spill_restore): Ignore non spilled static chain pseudo.
15527 * ira-costs.c (find_costs_and_classes): Don't assign class NO_REGS
15528 to non spilled static chain pseudo.
15529 * lra-assigns.c (pseudo_compare_func): Put non spilled static chain
15530 pseudo at the beginning of sorted array.
15531 (spill_for): Spill non spilled static chain pseudo last.
15532 * lra-constraints.c (lra_constraints): Remove static chain pseudo
15533 check for equivalence.
15534
15535 2015-07-16 Martin Liska <mliska@suse.cz>
15536
15537 PR ipa/66896.
15538 * ipa-prop.c (update_jump_functions_after_inlining): Create properly
15539 dst_ctx if it does not exist.
15540
15541 2015-07-16 Martin Liska <mliska@suse.cz>
15542
15543 * hash-set.h (remove): New function.
15544 (iterator): New iteration class for hash_set.
15545
15546 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
15547
15548 * genattrtab.c (make_canonical): Add a file_location parameter.
15549 Use fatal_at rather than fatal.
15550 (get_attr_value): Likewise. Update call to make_canonical.
15551 (fill_attr, make_length_attrs, optimize_attrs, gen_attr)
15552 (make_internal_attr): Update calls accordingly.
15553
15554 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
15555
15556 * read-md.h (message_with_line, error_with_line): Delete.
15557 * read-md.c (message_with_line, error_with_line): Delete.
15558 * gensupport.h: Include read-md.h.
15559 (md_rtx_info): New structure.
15560 (read_md_rtx): Use it. Return a bool success value.
15561 * gensupport.c (read_md_rtx): Likewise.
15562 * genattr-common.c (gen_attr): Take an md_rtx_info rather than an rtx.
15563 (main): Update after interface changes.
15564 * genattr.c (gen_attr): Take an md_rtx_info rather than an rtx.
15565 (main): Update after interface changes.
15566 * genattrtab.c (insn_code_number): Delete.
15567 (optimize_attrs): Add a max_insn_code parameter and use it instead
15568 of insn_code_number.
15569 (gen_attr): Take an md_rtx_info rather than an rtx and lineno.
15570 Use *_at rather than *_with_line functions.
15571 (gen_insn): Likewise.
15572 (gen_delay): Likewise.
15573 (gen_insn_reserv): Likewise.
15574 (gen_bypass): Take an md_rtx_info rather than an rtx.
15575 (main): Update after interface changes. Use a local max_insn_code
15576 variable instead of insn_code_number.
15577 * genautomata.c (gen_cpu_unit): Take an md_rtx_info rather than
15578 an rtx. Use fatal_at rather than fatal.
15579 (gen_query_cpu_unit, gen_bypass, gen_excl_set)
15580 (gen_presence_absence_set, gen_presence_set, gen_final_presence_set)
15581 (gen_absence_set, gen_final_absence_set, gen_automaton)
15582 (gen_automata_option, gen_reserv, gen_insn_reserv): Likewise.
15583 (main): Update after interface changes.
15584 * gencodes.c (gen_insn): Take an md_rtx_info rather than an rtx
15585 and code number.
15586 (main): Update after interface changes.
15587 * genconditions.c (main): Use new read_md_rtx interface.
15588 * genconfig.c (gen_insn): Take an md_rtx_info rather than an rtx.
15589 (gen_expand, gen_split, gen_peephole, gen_peephole2): Likewise.
15590 (main): Update after interface changes.
15591 * genemit.c (insn_code_number, insn_index_number): Delete.
15592 (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
15593 Use fatal_at rather than fatal.
15594 (gen_expand): Take an md_rtx_info rather than an rtx. Use fatal_at
15595 rather than fatal.
15596 (gen_split): Likewise.
15597 (main): Update after interface changes.
15598 * genextract.c (line_no): Delete.
15599 (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
15600 Update call to walk_rtx.
15601 (VEC_safe_set_locstr): Add an md_rtx_info argument. Use message_at
15602 rather than message_with_line.
15603 (walk_rtx): Add an md_rtx_info argument. Update call to
15604 VEC_safe_set_locstr.
15605 (main): Update after interface changes.
15606 * genflags.c (gen_insn): Take an md_rtx_info rather than an rtx
15607 and lineno. Use error_at rather than separate message_with_line
15608 calls and have_error assignments.
15609 (main): Update after interface changes.
15610 * genmddump.c (main): Use new read_md_rtx interface.
15611 * genopinit.c (insn): Take an md_rtx_info rather than an rtx.
15612 (main): Update after interface changes.
15613 * genoutput.c (next_code_number): Delete.
15614 (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
15615 (gen_peephole, gen_expand, gen_split): Likewise.
15616 (note_constraint): Likewise. Use *_at rather than *_with_line
15617 functions.
15618 (main): Update after interface changes.
15619 * genpeep.c (gen_peephole): Take an md_rtx_info rather than an
15620 rtx and lineno.
15621 (main): Update after interface changes.
15622 * genpreds.c (process_define_predicate): Take an md_rtx_info rather
15623 than an rtx and lineno.
15624 (process_define_constraint): Likewise.
15625 (process_define_register_constraint): Likewise.
15626 (main): Update after interface changes.
15627 * genrecog.c (next_insn_code, pattern_lineno): Delete.
15628 (validate_pattern): Replace top-level rtx with an md_rtx_info.
15629 Use *_at rather than *_with_line functions.
15630 (match_pattern_2): Likewise.
15631 (match_pattern_1, match_pattern): Add an md_rtx_info parameter.
15632 (get_peephole2_pattern): Take an md_rtx_info rather than an rtvec.
15633 Use *_at rather than *_with_line functions.
15634 * gentarget-def.c (add_insn): New function.
15635 (main): Use it. Use new read_md_rtx interface.
15636
15637 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
15638
15639 * gensupport.h (compute_test_codes): Take a file_location rather
15640 than a line number.
15641 * gensupport.c (compute_test_codes): Likewise. Use *_at functions
15642 rather than *_with_line functions.
15643 (process_define_predicate): Update call to compute_test_codes.
15644 * genpreds.c (validate_exp): Take a file_location rather than a
15645 line number. Use *_at functions rather than *_with_line functions.
15646 (process_define_predicate): Update call to validate_exp.
15647 (constraint_data): Replace lineno field with a file_location.
15648 (add_constraint): Take a file_location rather than a line number.
15649 Use *_at functions rather than *_with_line functions. Fix error
15650 message for address constraints. Update after changes to
15651 validate_exp, constraint_data and compute_test_codes.
15652 (process_define_constraint): Update accordingly.
15653 (process_define_register_constraint): Likewise.
15654
15655 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
15656
15657 * genoutput.c (data): Use a file_location to record the source
15658 position.
15659 (nothing): Delete.
15660 (idata, idata_end): Remove initialization.
15661 (constraint_data): Replace lineno with a file_location.
15662 (output_insn_data): Update after changes to data.
15663 (gen_insn, gen_peephole, gen_expand, gen_split): Likewise.
15664 (scan_operands): Likewise, using *_at rather than *_with_line
15665 functions.
15666 (process_template): Likewise.
15667 (validate_insn_alternatives): Likewise.
15668 (validate_insn_operands): Likewise.
15669 (validate_optab_operands): Likewise.
15670 (init_insn_for_nothing): Initialize idata and idata_end.
15671 (note_constraint): Update after changes to constraint_data,
15672 using at rather than with_line functions.
15673 (mdep_constraint_len): Take a file_location rather than a
15674 line number. Use at rather than with_line functions.
15675
15676 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
15677
15678 * read-md.h (fatal_at): Declare.
15679 * read-md.c (fatal_at): New function.
15680 * genattrtab.c (insn_def, attr_desc, delay_desc): Use a file_location
15681 to record the source position.
15682 (check_attr_test): Take a file_location instead of a line number.
15683 Use fatal_at instead of fatal.
15684 (check_attr_value): Update after above changes, using "at"
15685 rather than "with_line" reporting functions.
15686 (convert_set_attr_alternative): Likewise.
15687 (gen_attr): Likewise.
15688 (check_defs): Likewise. Don't assign to read_md_filename.
15689 (gen_insn): Update initialization after above changes.
15690 (gen_delay): Likewise.
15691 (write_insn_cases): Print the filename for a define_peephole.
15692 (gen_insn_reserv): Take a line number as argument and update
15693 the call to check_attr_test.
15694 (main): Pass a line number to gen_insn_reserv.
15695
15696 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
15697
15698 * read-md.h (file_location): New structure.
15699 (directive_handler_t): Take a file_location rather than a line number.
15700 (message_at, error_at): Declare.
15701 (read_skip_construct): Delete.
15702 * read-md.c (message_with_line_1): Replace with...
15703 (message_at_1): ...this new function.
15704 (message_at, error_at): New functions.
15705 (message_with_line, error_with_line): Update to use message_at_1.
15706 (handle_enum): Take a file_location rather than a line number
15707 and use error_at for error reporting.
15708 (handle_include): Likewise.
15709 (read_skip_construct): Likewise. Make static.
15710 (handle_file): Update after above changes. Pass a file_location
15711 rather than a line number to handle_directive.
15712 * gensupport.c (queue_elem): Replace separate filename and lineno
15713 with a file_location.
15714 (queue_pattern): Replace filename and lineno arguments with a
15715 file_location. Update after change to queue_elem.
15716 (process_define_predicate): Replace lineno argument with a
15717 file_location and use error_at for error reporting. Update
15718 after above changes.
15719 (process_rtx): Likewise.
15720 (subst_pattern_match): Likewise.
15721 (get_alternatives_number): Likewise.
15722 (alter_predicate_for_insn): Likewise.
15723 (rtx_handle_directive): Likewise.
15724 (is_predicable): Update after above changes, using error_at rather
15725 than error_with_line.
15726 (has_subst_attribute): Likewise.
15727 (identify_predicable_attribute): Likewise.
15728 (alter_attrs_for_subst_insn): Likewise.
15729 (process_one_cond_exec): Likewise.
15730 (process_substs_on_one_elem): Likewise.
15731 (process_define_subst): Likewise.
15732 (check_define_attr_duplicates): Likewise.
15733 (read_md_rtx): Update after change to queue_elem.
15734
15735 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
15736
15737 * genoutput.c (next_index_number): Delete.
15738 (data): Remove index_number.
15739 (gen_insn, gen_peephole, gen_expand, gen_split): Update accordingly.
15740 (main): Remove manipulation of next_index_number.
15741
15742 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
15743
15744 * genattrtab.c (check_attr_value): Remove handling of null attrs.
15745 (make_canonical): Likewise.
15746
15747 2015-07-16 Eric Botcazou <ebotcazou@adacore.com>
15748
15749 * config/sparc/sparc.md (save_stack_nonlocal): Use adjust_address
15750 instead of adjust_address_nv.
15751 (restore_stack_nonlocal): Likewise.
15752 (nonlocal_goto): Likewise.
15753
15754 2015-07-16 Tom de Vries <tom@codesourcery.com>
15755
15756 * tree-parloops.c (create_parallel_loop): Handle case that exit phi does
15757 not have a corresponding loop header phi.
15758
15759 2015-07-16 Tom de Vries <tom@codesourcery.com>
15760
15761 * tree-parloops.c (create_loads_for_reductions): Handle case that
15762 reduction is unused.
15763
15764 2015-07-16 Richard Biener <rguenther@suse.de>
15765
15766 PR tree-optimization/66894
15767 * tree-vrp.c (register_edge_assert_for_2): Fix bad assumption
15768 about deriving NE_EXPR from truncated values.
15769
15770 2015-07-16 Martin Liska <mliska@suse.cz>
15771
15772 * alloc-pool.h
15773 (object_allocator): Add new class.
15774 (pool_allocator::initialize): Use the underlying class.
15775 (pool_allocator::allocate): Likewise.
15776 (pool_allocator::remove): Likewise.
15777 (operator new): A new generic allocator.
15778 * asan.c (struct asan_mem_ref): Remove unused members.
15779 (asan_mem_ref_new): Replace new operator with
15780 object_allocator::allocate.
15781 (free_mem_ref_resources): Change deallocation.
15782 * cfg.c (initialize_original_copy_tables): Replace pool_allocator
15783 with object_allocator.
15784 * config/sh/sh.c (add_constant): Replace new operator with
15785 object_allocator::allocate.
15786 (sh_reorg): Change call to a release method.
15787 * cselib.c (struct elt_list): Remove unused members.
15788 (new_elt_list): Replace new operator with
15789 object_allocator::allocate.
15790 (new_elt_loc_list): Likewise.
15791 (new_cselib_val): Likewise.
15792 (unchain_one_elt_list): Change delete operator with remove method.
15793 (unchain_one_elt_loc_list): Likewise.
15794 (unchain_one_value): Likewise.
15795 (cselib_finish): Release newly added static allocators.
15796 * cselib.h (struct cselib_val): Remove unused members.
15797 (struct elt_loc_list): Likewise.
15798 * df-problems.c (df_chain_alloc): Replace pool_allocator with
15799 object_allocator.
15800 * df-scan.c (struct df_scan_problem_data): Likewise.
15801 (df_scan_alloc): Likewise.
15802 * df.h (struct dataflow): Likewise.
15803 * dse.c (struct read_info_type): Likewise.
15804 (struct insn_info_type): Likewise.
15805 (struct dse_bb_info_type): Likewise.
15806 (struct group_info): Likewise.
15807 (struct deferred_change): Likewise.
15808 (get_group_info): Likewise.
15809 (delete_dead_store_insn): Likewise.
15810 (free_read_records): Likewise.
15811 (replace_read): Likewise.
15812 (check_mem_read_rtx): Likewise.
15813 (scan_insn): Likewise.
15814 (dse_step1): Likewise.
15815 (dse_step7): Likewise.
15816 * et-forest.c (struct et_occ): Remove unused members.
15817 (et_new_occ): Use allocate instead of new operator.
15818 (et_new_tree): Likewise.
15819 (et_free_tree): Call release method explicitly.
15820 (et_free_tree_force): Likewise.
15821 (et_free_pools): Likewise.
15822 (et_split): Use remove instead of delete operator.
15823 * et-forest.h (struct et_node): Remove unused members.
15824 * ipa-cp.c: Change pool_allocator to object_allocator.
15825 * ipa-inline-analysis.c: Likewise.
15826 * ipa-profile.c: Likewise.
15827 * ipa-prop.c: Likewise.
15828 * ipa-prop.h: Likewise.
15829 * ira-build.c (initiate_cost_vectors): Cast return value.
15830 (ira_allocate_cost_vector): Likewise.
15831 * ira-color.c (struct update_cost_record): Remove unused members.
15832 * lra-int.h (struct lra_live_range): Likewise.
15833 (struct lra_copy): Likewise.
15834 (struct lra_insn_reg): Likewise.
15835 * lra-lives.c (lra_live_ranges_finish): Release new static allocator.
15836 * lra.c (new_insn_reg): Replace new operator with allocate method.
15837 (free_insn_regs): Same for operator delete.
15838 (finish_insn_regs): Release new static allocator.
15839 (finish_insn_recog_data): Likewise.
15840 (lra_free_copies): Replace delete operator with remove method.
15841 (lra_create_copy): Replace operator new with allocate method.
15842 (invalidate_insn_data_regno_info): Same for remove method.
15843 * regcprop.c (struct queued_debug_insn_change): Remove unused members.
15844 (free_debug_insn_changes): Replace delete operator with remove method.
15845 (replace_oldest_value_reg): Replace operator new with allocate method.
15846 (pass_cprop_hardreg::execute): Release new static variable.
15847 * sched-deps.c (sched_deps_init): Change pool_allocator to
15848 object_allocator.
15849 * sel-sched-ir.c: Likewise.
15850 * sel-sched-ir.h: Likewise.
15851 * stmt.c (expand_case): Likewise.
15852 (expand_sjlj_dispatch_table): Likewise.
15853 * tree-sra.c (struct access): Remove unused members.
15854 (struct assign_link): Likewise.
15855 (sra_deinitialize): Release newly added static pools.
15856 (create_access_1):Replace operator new with allocate method.
15857 (build_accesses_from_assign): Likewise.
15858 (create_artificial_child_access): Likewise.
15859 * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Change
15860 pool_allocator to object_allocator.
15861 * tree-ssa-pre.c: Likewise.
15862 * tree-ssa-reassoc.c: Likewise.
15863 * tree-ssa-sccvn.c (allocate_vn_table): Likewise.
15864 * tree-ssa-strlen.c: Likewise.
15865 * tree-ssa-structalias.c: Likewise.
15866 * var-tracking.c (onepart_pool_allocate): New function.
15867 (unshare_variable): Use the newly added function.
15868 (variable_merge_over_cur): Likewise.
15869 (variable_from_dropped): Likewise.
15870 (variable_was_changed): Likewise.
15871 (set_slot_part): Likewise.
15872 (emit_notes_for_differences_1): Likewise.
15873 (vt_finalize): Release newly added static pools.
15874
15875 2015-07-16 Martin Jambor <mjambor@suse.cz>
15876
15877 * ipa-prop.h (param_aa_status): Rename to ipa_param_aa_status. Adjust
15878 all uses. Fix two typos in its general comment.
15879 (func_body_info): Rename to ipa_func_body_info. Adjust all uses.
15880
15881 2015-07-16 Ilya Enkovich <enkovich.gnu@gmail.com>
15882
15883 * config/i386/linux-common.h (LINK_MPX): New.
15884 (MPX_SPEC): Use LINK_MPX instead of %(link_mpx).
15885 * configure.ac: Add HAVE_LD_BNDPLT_SUPPORT macro
15886 indicating '-z bndplt' support by linker.
15887 * configure: Regenerate.
15888 * config.in: Regenerate.
15889
15890 2015-07-16 Richard Biener <rguenther@suse.de>
15891
15892 * fold-const.c (fold_widened_comparison): Remove.
15893 (fold_sign_changed_comparison): Likewise.
15894 (fold_comparison): Move widened and sign-changed comparison
15895 simplification ...
15896 * match.pd: ... to patterns here.
15897 * generic-match-head.c: Include target.h.
15898 * gimple-match-head.c: Likewise.
15899
15900 2015-07-16 Richard Biener <rguenther@suse.de>
15901
15902 * tree-ssa-dom.c (dom_valueize): New function.
15903 (record_temporary_equivalences): Also record equivalences
15904 for dominating stmts that have uses of equivalences we are
15905 about to record.
15906
15907 2015-07-16 Bin Cheng <bin.cheng@arm.com>
15908
15909 * tree-ssa-loop-ivopts.c (add_candidate): Remove call to
15910 add_autoinc_candidates.
15911 (add_iv_candidate_for_biv): Rename to add_iv_candidate_for_biv.
15912 (add_iv_candidate_for_biv): Rename from add_iv_candidate_for_biv.
15913 (add_old_ivs_candidates): Rename to add_iv_candidate_for_bivs.
15914 (add_iv_candidate_for_bivs): Rename from add_old_ivs_candidates.
15915 Call new function.
15916 (add_iv_value_candidates): Rename to add_iv_candidate_for_use.
15917 (add_iv_candidate_for_use): Rename from add_iv_value_candidates.
15918 Remove parameter struct iv*. Call add_autoinc_candidates here.
15919 (add_derived_ivs_candidates): Rename to add_iv_candidate_for_uses.
15920 (add_iv_candidate_for_uses): Rename from add_derived_ivs_candidates.
15921 Call new function.
15922 (find_iv_candidates): Call new functions.
15923
15924 2015-07-16 Sandra Loosemore <sandra@codesourcery.com>
15925
15926 * config/nios2/nios2.c (nios2_emit_stack_limit_check): Fix
15927 uninitialized-variable warning.
15928
15929 2015-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
15930
15931 PR target/65249
15932 * config/sh/sh.md (movdi): Split simple reg move to two movsi
15933 when the destination is R0.
15934
15935 2015-07-16 Uros Bizjak <ubizjak@gmail.com>
15936
15937 PR target/66866
15938 * config/i386/i386-protos.h (ix86_expand_pextr): New prototype.
15939 * config/i386/i386.c (ix86_expand_pextr): New function.
15940 (ix86_expand_pinsr): Handle V1TI and TI modes. Call ix86_expand_pextr
15941 for non-lowpart subregs.
15942 * config/i386/i386.md (extzv<mode>): Expand with ix86_expand_pextr.
15943 (insv<mode>): Use SWI248 mode iterator.
15944 (insv<mode>_1): Ditto.
15945
15946 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
15947 Sebastian Pop <s.pop@samsung.com>
15948
15949 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Point
15950 iterator to use_stmt.
15951
15952 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
15953 Sebastian Pop <s.pop@samsung.com>
15954
15955 * graphite-scop-detection.c (build_scops_1): Discard scops for
15956 which entry==exit.
15957
15958 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
15959 Sebastian Pop <s.pop@samsung.com>
15960
15961 * graphite-scop-detection.c (stmt_simple_for_scop_p): Bail out in
15962 case of a return statement in scop.
15963
15964 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
15965 Sebastian Pop <s.pop@samsung.com>
15966
15967 * graphite-sese-to-poly.c (parameter_index_in_region): Only handle
15968 INTEGER_TYPE parameters.
15969 (scan_tree_for_params): Handle REAL_CST, COMPLEX_CST, and
15970 VECTOR_CST in scan_tree_for_params.
15971 (add_conditions_to_domain): Only constrain on INTEGER_TYPE.
15972
15973 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
15974
15975 * gimple-pretty-print.h: Don't include pretty-print.h.
15976 * tree-streamer.h: Don't include lto-streamer.h.
15977 * gimple-streamer.h: Include tree-streamer.h rather than lto-streamer.h.
15978 * gimple-streamer-in.c: Remove redundant includes.
15979 * gimple-streamer-out.c: Likewise.
15980 * ipa-devirt.c: Likewise.
15981 * ipa-icf.c: Likewise.
15982 * ipa-inline-analysis.c: Likewise.
15983 * ipa-polymorphic-call.c: Likewise.
15984 * ipa-profile.c: Likewise.
15985 * ipa-prop.c: Likewise.
15986 * ipa-pure-const.c: Likewise.
15987 * lto-cgraph.c: Likewise.
15988 * lto-streamer-in.c: Likewise.
15989 * lto-streamer-out.c: Likewise.
15990 * lto-streamer.c: Likewise.
15991 * tree-streamer-in.c: Likewise.
15992 * tree-streamer-out.c: Likewise.
15993 * tree-streamer.c: Likewise.
15994
15995 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
15996
15997 * opth-gen.awk: Check for UNKNOWN_LOCATION rather than GCC_TM_H, don't
15998 include input.h.
15999 * opts.c: Remove multiline #include comment.
16000
16001 2015-07-15 Nathan Sidwell <nathan@codesourcery.com>
16002
16003 * config/nvptx/mkoffload.c (process): Add C++ protection to
16004 emitted code.
16005
16006 2015-07-14 Michael Meissner <meissner@linux.vnet.ibm.com>
16007
16008 PR target/66854
16009 * config/rs6000/rs6000.c (rs6000_pass_by_reference): Move test for
16010 null before IEEE 128-bit floating point support patch.
16011
16012 2015-07-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
16013
16014 * simplify-rtx.c (simplify_ternary_operation): Add simplification
16015 for (!c) != {0,...,0} ? a : b for vector modes.
16016
16017 2015-07-15 Paolo Bonzini <bonzini@gnu.org>
16018 Martin Jambor <mjambor@suse.cz>
16019
16020 * ipa-inline-analysis.c (unmodified_parm_or_parm_agg_item): Accept
16021 struct func_body_info* instead of struct ipa_node_params*, expecting
16022 fbi->info to be filled in. Replace throughout. Adjust call to
16023 ipa_load_from_parm_agg.
16024 (set_cond_stmt_execution_predicate): Accept struct func_body_info*
16025 instead of struct ipa_node_params*. Adjust calls to other functions
16026 so that they pass either fbi or fbi->info.
16027 (set_switch_stmt_execution_predicate): Likewise.
16028 (will_be_nonconstant_predicate): Likewise.
16029 (compute_bb_predicates): Likewise.
16030 (estimate_function_body_sizes): Move asserts earlier. Fill in
16031 struct func_body_info, replace parms_info with fbi.info. Adjust
16032 calls to functions that now accept struct func_body_info.
16033 * ipa-prop.c (param_aa_status, struct ipa_bb_info): Move to ipa-prop.h.
16034 (struct func_body_info): Likewise.
16035 (ipa_load_from_parm_agg_1): Rename to ipa_load_from_parm_agg,
16036 remove static. Adjust callers.
16037 (ipa_load_from_parm_agg): Remove.
16038 * ipa-prop.h (param_aa_status, ipa_bb_info): Move from ipa-prop.c.
16039 (func_body_info): Likewise.
16040 (ipa_load_from_parm_agg): Adjust prototype.
16041
16042 2015-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
16043
16044 * gensupport.c (rtx_handle_directive): Adjust.
16045 * read-rtl.c (apply_iterators): Take vector to add rtxs to
16046 instead of expr list rtx.
16047 (add_define_attr_for_define_subst): Likewise.
16048 (add_define_subst_attr): Likewise.
16049 (read_subst_mapping): Likewise.
16050 (read_rtx): Likewise.
16051 * rtl.h (read_rtx): Adjust.
16052
16053 2015-07-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16054
16055 * config/aarch64/aarch64.md (*csinc2<mode>_insn): Use cinc mnemonic.
16056
16057 2015-07-15 Uros Bizjak <ubizjak@gmail.com>
16058
16059 PR target/58066
16060 * config/i386/i386.md (*tls_global_dynamic_64_<mode>): Depend on SP_REG.
16061 (*tls_local_dynamic_base_64_<mode>): Ditto.
16062 (*tls_local_dynamic_base_64_largepic): Ditto.
16063 (tls_global_dynamic_64_<mode>): Update expander pattern.
16064 (tls_local_dynamic_base_64_<mode>): Ditto.
16065
16066 2015-07-15 Richard Biener <rguenther@suse.de>
16067
16068 * fold-const.c (fold_binary_loc): Move bool_var != 0 -> bool_var
16069 and bool_var == 1 -> bool_var simplifications ...
16070 * match.pd: ... to patterns here. Factor out negate_expr_p
16071 cases from the A - B -> A + (-B) patterns as negate_expr_p
16072 predicate and add a -(A + B) -> (-B) - A pattern.
16073
16074 2015-07-15 Robert Suchanek <robert.suchanek@imgtec.com>
16075
16076 * config/mips/mips.c (mips_emit_save_slot_move): Fix typo.
16077
16078 2015-07-15 Matthew Fortune <matthew.fortune@imgtec.com>
16079 Robert Suchanek <robert.suchanek@imgtec.com>
16080
16081 * config/mips/mips.c (mips_int_mask): New enum.
16082 (mips_shadow_set): Likewise.
16083 (int_mask): New variable.
16084 (use_shadow_register_set_p): Change type to enum mips_shadow_set.
16085 (machine_function): Add int_mask and use_shadow_register_set.
16086 (mips_attribute_table): Add attribute handlers for interrupt and
16087 use_shadow_register_set.
16088 (mips_interrupt_mask): New static function.
16089 (mips_handle_interrupt_attr): Likewise.
16090 (mips_handle_use_shadow_register_set_attr): Likewise.
16091 (mips_use_shadow_register_set): Change return type to enum
16092 mips_shadow_set. Add argument handling for use_shadow_register_set
16093 attribute.
16094 (mips_interrupt_extra_called_saved_reg_p): Update the conditional to
16095 compare with mips_shadow_set enum.
16096 (mips_compute_frame_info): Add interrupt mask and
16097 use_shadow_register_set to per-function information structure.
16098 Add a stack slot for EPC unconditionally.
16099 (mips_expand_prologue): Compare use_shadow_register_set value
16100 with mips_shadow_set enum. Save EPC always in K1, clobber only K1 for
16101 masked interrupt register but in EIC mode use K0 and save Cause in K0.
16102 EPC saved and restored unconditionally. Use PMODE_INSN macro when
16103 copying the stack pointer from the shadow register set.
16104 * config/mips/mips.h (SR_IM0): New define.
16105 * config/mips/mips.md (mips_rdpgpr): Rename to...
16106 (mips_rdpgpr_<mode>): ...this. Use the Pmode iterator.
16107 * doc/extend.texi (Declaring Attributes of Functions): Document
16108 optional arguments for interrupt and use_shadow_register_set
16109 attributes.
16110
16111 2015-07-15 Robert Suchanek <robert.suchanek@imgtec.com>
16112
16113 * config/mips/mips.c (mips_compute_frame_info): Allow -mhard-float in
16114 interrupt attribute.
16115 (mips_expand_prologue): Disable the floating point unit in an ISR.
16116 * config/mips/mips.h (SR_COP1): New define.
16117
16118 2015-07-15 Richard Biener <rguenther@suse.de>
16119
16120 * genmatch.c (parser::peek, parser::peek_ident): Add argument
16121 to tell how many tokens to peek ahead (default 1).
16122 (parser::eat_token, parser::eat_ident): Return token consumed.
16123 (parser::parse_result): Parse new switch statement.
16124 * match.pd: Use case statements where appropriate.
16125
16126 2015-07-15 Uros Bizjak <ubizjak@gmail.com>
16127
16128 PR rtl-optimization/58066
16129 * calls.c (expand_call): Precompute register parameters before stack
16130 alignment is performed.
16131
16132 2015-07-15 Uros Bizjak <ubizjak@gmail.com>
16133
16134 PR rtl-optimization/66838
16135 * postreload.c (reload_cse_move2add): Also process
16136 CALL_INSN_FUNCTION_USAGE when resetting information of
16137 call-clobbered registers.
16138
16139 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
16140 Cesar Philippidis <cesar@codesourcery.com>
16141 Chung-Lin Tang <cltang@codesourcery.com>
16142
16143 * config/nios2/constraints.md (U, v): New constraints.
16144 * config/nios2/predicates.md (rdprs_dcache_operand): New.
16145 (ldstex_memory_operand): New.
16146 * config/nios2/sync.md: New file.
16147 * config/nios2/nios2.md (unspecv): Add new builtin function
16148 UNSPECV codes.
16149 (rdprs, flushd, flushda, wrpie, eni): New patterns.
16150 (top-level): Include sync.md.
16151 * config/nios2/nios2.c (N2_FTYPES): Add function types for
16152 new builtins.
16153 (N2_BUILTINS): Add arch field setting, add new builtins.
16154 (enum nios2_builtin_code,nios2_builtins): Update N2_BUILTIN_DEF
16155 for arch field.
16156 (nios2_expand_ldst_builtin): Rename from nios2_expand_ldstio_builtin.
16157 Also handle ldex/stex/ldsex/stsex builtins.
16158 (nios2_expand_rdprs_builtin): New function.
16159 (nios2_expand_cache_builtin): New function.
16160 (nios2_expand_wrpie_builtin): New function.
16161 (nios2_expand_eni_builtin): New function.
16162 (nios2_expand_builtin): Add arch field handling and new builtin
16163 cases.
16164 * doc/extend.texi (Altera Nios II Built-in Functions): Document
16165 new builtins.
16166 * doc/md.texi (Machine Constraints): Document U and v constraints.
16167
16168 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
16169 Cesar Philippidis <cesar@codesourcery.com>
16170 Chung-Lin Tang <cltang@codesourcery.com>
16171
16172 * config/nios2/nios2-protos.h (nios2_expand_return): Declare.
16173 * config/nios2/nios2.c (struct GTY (()) machine_function): Add
16174 callee_save_reg_size and uses_anonymous_args fields.
16175 (nios2_compute_frame_layout): Update for CDX push.n/pop.n usage.
16176 (nios2_create_cfa_notes): New function.
16177 (nios2_adjust_stack): New function for adjusting stack.
16178 (nios2_expand_prologue): Update for CDX push.n/pop.n usage.
16179 Use nios2_adjust_stack.
16180 (nios2_expand_epilogue): Likewise.
16181 (nios2_expand_return): New function.
16182 (nios2_can_use_return_insn): Update for CDX pop.n usage.
16183 (nios2_setup_incoming_varargs): Set uses_anonymous_args flag.
16184 If TARGET_HAS_CDX, defer pushing regs to nios2_expand_prologue.
16185 * config/nios2/nios2.md (return): Use nios2_expand_return.
16186
16187 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
16188 Cesar Philippidis <cesar@codesourcery.com>
16189 Chung-Lin Tang <cltang@codesourcery.com>
16190
16191 * config/nios2/predicates.md (pop_operation): New.
16192 (ldwm_operation, stwm_operation): New.
16193 (nios2_hard_register_operand): New.
16194 * config/nios2/nios2-protos.h (pop_operation_p): Declare.
16195 (ldstwm_operation_p): Declare.
16196 (gen_ldstwm_peep): Declare.
16197 * config/nios2/nios2.c: (nios2_ldst_parallel): Declare.
16198 (base_reg_adjustment_p): New.
16199 (pop_operation_p): New.
16200 (CDX_LDSTWM_VALID_REGS_0, CDX_LDSTWM_VALID_REGS_1): Define.
16201 (nios2_ldstwm_regset_p): New.
16202 (ldstwm_operation_p): New.
16203 (gen_ldst): New.
16204 (nios2_ldst_parallel): New.
16205 (struct ldswm_operand): Declare.
16206 (compare_ldstwm_operands): New.
16207 (can_use_cdx_ldstw): New.
16208 (gen_ldstwm_peep): New.
16209 * config/nios2/nios2-ldstwm.sml: New.
16210 * config/nios2/nios2.md: Include ldstwm.md.
16211 * config/nios2/ldstwm.md: Generated.
16212
16213 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
16214 Cesar Philippidis <cesar@codesourcery.com>
16215 Chung-Lin Tang <cltang@codesourcery.com>
16216
16217 * config/nios2/nios2.h (LABEL_ALIGN): Define.
16218 (REG_ALLOC_ORDER): Define.
16219 (ADJUST_REG_ALLOC_ORDER): Define.
16220 (HONOR_REG_ALLOC_ORDER): Define.
16221 (CDX_REG_P): Define.
16222 (ANDCLEAR_INT): Define.
16223 * config/nios2/nios2-protos.h (nios2_add_insn_asm): Declare.
16224 (nios2_label_align): Declare.
16225 (nios2_cdx_narrow_form_p): Declare.
16226 (nios2_adjust_reg_alloc_order): Declare.
16227 * config/nios2/nios2.c (nios2_rtx_costs): Adjust for BMX zero-extract
16228 operation.
16229 (nios2_large_unspec_reloc_p): New function, split from...
16230 (nios2_legitimate_pic_operand_p): ...here.
16231 (nios2_emit_move_sequence): Add *high/*lo_sum constant expand code.
16232 (nios2_print_operand_punct_valid_p): New.
16233 (nios2_print_operand): Add %., %!, %x, %y, %A. Remove %U.
16234 (split_mem_address): New.
16235 (split_alu_insn): New.
16236 (cdxreg): New.
16237 (cdx_add_immed, cdx_and_immed, cdx_mov_immed, cdx_shift_immed): New.
16238 (enum nios2_add_insn_kind): New.
16239 (nios2_add_insn_names, nios2_add_insn_narrow): New.
16240 (nios2_add_insn_classify): New.
16241 (nios2_add_insn_asm): New.
16242 (nios2_cdx_narrow_form_p): New.
16243 (label_align, min_labelno, max_labelno): New.
16244 (nios2_reorg): New.
16245 (nios2_label_align): New.
16246 (nios2_adjust_reg_alloc_order): New.
16247 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
16248 (TARGET_MACHINE_DEPENDENT_REORG): Define.
16249 * config/nios2/constraints.md (P): New constraint.
16250 * config/nios2/predicates.md (const_and_operand): New.
16251 (and_operand): New.
16252 (stack_memory_operand): New.
16253 * config/nios2/nios2.md (SP_REGNO): Define stack pointer regno.
16254 (length): Update to use nios2_cdx_narrow_form_p().
16255 (type): Add new insn type values.
16256 (control, alu, st, ld, shift): Update insn reservations with
16257 new insn type values.
16258 (*high, *lo_sum): Define new insn patterns for constant generation.
16259 (movqi_internal, movhi_internal, movsi_internal): Reduce
16260 alternatives, update asm template to handle CDX variants, update
16261 type attributes.
16262 (zero_extendhisi2, zero_extendqi<mode>2): Add CDX variants to asm
16263 template, update type attributes.
16264 (extendhisi2, extendqi<mode>2): Likewise.
16265 (addsi3): Change to use function for asm string.
16266 (subsi3): Add CDX notation to asm template, update type attributes.
16267 (negsi3, one_cmplsi3): Likewise.
16268 (andsi3): New pattern, specialized from logical patterns.
16269 (<code>si3): Remove and case, combine alternatives, update asm
16270 template.
16271 (<shift_op>si3): Add CDX notation, update type attributes.
16272 (rotrsi3): Update type attribute.
16273 (*merge, extzv, insv): New insn patterns.
16274 (return): Change to define_expand.
16275 (simple_return): Add CDX notation, update type attributes.
16276 (indirect_jump): Add CDX notation.
16277 (jump): Update asm cases, update length attribute expression.
16278 (*call, *call_value, *sibcall, *sibcall_value): Add CDX variant.
16279 (nios2_cbranch): Update asm cases and length attribute expression
16280 to handle CDX variants.
16281 (nios2_cmp<code>): Update asm template.
16282 (nop): Add CDX notation, update type attributes.
16283 (trap): Add CDX notation.
16284 (ctrapsi4): Update asm cases and length attribute expression to
16285 handle CDX variant.
16286 * doc/md.texi (Machine Constraints): Document P constraint.
16287
16288 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
16289 Cesar Philippidis <cesar@codesourcery.com>
16290 Chung-Lin Tang <cltang@codesourcery.com>
16291
16292 * config/nios2/nios2.h (SMALL_INT12): New macro.
16293 * config/nios2/nios2.c (nios2_valid_addr_offset_p): New function.
16294 (nios2_valid_addr_expr_p): Use it.
16295 (nios2_symbol_ref_in_small_data_p): Disallow GP-relative addressing
16296 with implicit "io" instructions on R2.
16297 * config/nios2/constraints.md (w): New constraint.
16298 * config/nios2/predicates.md (ldstio_memory_operand): New.
16299 * config/nios2/nios2.md (ld<bhw_uns>io, ld<bh>io): Update memory
16300 operand predicate and constraint.
16301 (ld<bh>io_signed, st<bhw>io>): Likewise.
16302 * doc/md.texi (Machine Constraints): Document w constraint.
16303
16304 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
16305 Cesar Philippidis <cesar@codesourcery.com>
16306 Chung-Lin Tang <cltang@codesourcery.com>
16307
16308 * config/nios2/nios2.opt (march, mbmx, mcdx): New options.
16309 * config/nios2/nios2-opts.h (enum nios2_arch_type): New enum for
16310 Nios II architecture level.
16311 * config/nios2/nios2.h (TARGET_ARCH_R2): New define.
16312 (TARGET_CPU_CPP_BUILTINS): Add definition of __nios2_arch__ symbol.
16313 (OPTION_DEFAULT_SPECS): Define.
16314 (ASM_SPEC): Add -march= spec strings.
16315 * config/nios2/nios2.c (nios2_option_override): Check for
16316 conflicts involving new options.
16317 * config.gcc (nios2*-*-*): Support --with-arch=.
16318 * doc/invoke.texi (Option Summary, Nios II Options): Document
16319 -march=, -mbmx, and -mcdx.
16320
16321 2015-07-14 Vladimir Makarov <vmakarov@redhat.com>
16322
16323 PR rtl-optimization/66626
16324 * lra-constraints.c (lra_constraints): Prevent equivalence
16325 substitution for static chain pseudo in functions with nonlocal
16326 goto.
16327
16328 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
16329
16330 * config/nios2/nios2.c (TEMP_REG_NUM): Move define up in file.
16331 (nios2_emit_stack_limit_check): Add size parameter. Handle
16332 -fstack-limit-symbol as well as -fstack-limit-register.
16333 (nios2_expand_prologue): Emit only a single stack limit check,
16334 even if multiple stack adjustments are required.
16335 (nios2_option_override): Diagnose unsupported combination of -fpic
16336 and -stack-limit-symbol.
16337
16338 2015-07-14 H.J. Lu <hongjiu.lu@intel.com>
16339
16340 * Makefile.in (top_srcdir): New.
16341 * configure.ac: Use AM_ZLIB.
16342 * configure: Regeneated.
16343
16344 2015-07-14 Matthias Klose <doko@ubuntu.com>
16345
16346 PR target/66840
16347 * config/rs6000/t-rs6000 (TM_H): Add rs6000-cpus.def.
16348
16349 2015-07-14 Richard Biener <rguenther@suse.de>
16350
16351 PR tree-optimization/66863
16352 * tree-vrp.c (register_edge_assert_for_2): Properly restrict
16353 what we record for conversion use stmt lhs inequalities.
16354
16355 2015-07-14 Richard Biener <rguenther@suse.de>
16356
16357 * genmatch.c (dt_node::gen_kids_1): Fix case label indenting.
16358 (decision_tree::gen_gimple): Likewise.
16359
16360 2015-07-14 Tom de Vries <tom@codesourcery.com>
16361
16362 * gcc.c (greater_than_spec_func): Declare forward.
16363 (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use gt to ignore
16364 -ftree-parallelize-loops={0,1}.
16365 (static_spec_functions): Add greater_than_spec_func function with name
16366 "gt".
16367 (greater_than_spec_func): New function.
16368
16369 2015-07-14 Richard Biener <rguenther@suse.de>
16370
16371 * tree-ssa-dom.c (record_temporary_equivalences): Merge
16372 wideing type conversion case from record_equivalences_from_incoming_edge
16373 and use record_equality to record equivalences.
16374 (record_equivalences_from_incoming_edge): Call
16375 record_temporary_equivalences.
16376
16377 2015-07-14 Richard Biener <rguenther@suse.de>
16378
16379 * genmatch.c (struct operand): Add OP_IF and OP_WITH op_types.
16380 (struct if_expr): New.
16381 (struct with_expr): Likewise.
16382 (is_a_helper): Add helpers for if_expr and with_expr.
16383 (struct simplify): Add simplify_kind enum and member. Remove
16384 ifexpr_vec member.
16385 (simplify::simplify): Adjust.
16386 (lower_commutative): Adjust.
16387 (lower_opt_convert): Likewise.
16388 (lower_cond): Likewise.
16389 (replace_id): Handle with_expr and if_expr.
16390 (lower_for): Adjust.
16391 (dt_simplify::gen_1): New recursive worker, split out from ...
16392 (dt_simplify::gen): ... here. Deal with if and with expansion
16393 recursively.
16394 (capture_info::capture_info): Take context argument
16395 (capture_info::walk_result): Only analyze specific result.
16396 (parser::parse_result): New function.
16397 (parser::parse_simplify): Adjust to parse ifs with then end
16398 else case.
16399 (parser::parse_if): Simplify.
16400 (parser::parse_pattern): Pass down simplify kind.
16401 * match.pd: Convert if structure to new syntax.
16402
16403 2015-07-13 Marek Polacek <polacek@redhat.com>
16404
16405 * rtl.c (rtx_equal_p_cb): Fix typo.
16406
16407 2015-07-13 Andrew MacLeod <amacleod@redhat.com>
16408
16409 * omega.h: Don't include config.h, don't include params.h again if
16410 omega.h has already been included.
16411 * graphite-poly.h: Include sese.h.
16412 * graphite.c: Don't include sese.h, remove needless includes and
16413 minimize includes outside #ifdef HAVE_isl block.
16414 * graphite-blocking.c: Don't include sese.h, remove needless includes,
16415 and wrap entire file in #ifdef HAVE_isl
16416 * graphite-dependences.c: Likewise.
16417 * graphite-interchange.c: Likewise.
16418 * graphite-isl-ast-to-gimple.c: Likewise.
16419 * graphite-optimize-isl.c: Likewise.
16420 * graphite-poly.c: Likewise.
16421 * graphite-scop-detection.c: Likewise.
16422 * graphite-sese-to-poly.c: Likewise.
16423
16424 2015-07-13 Tom de Vries <tom@codesourcery.com>
16425
16426 * omp-low.c (build_receiver_ref): Mark *.omp_data_i as non-trapping.
16427
16428 2015-07-13 Renlin Li <renlin.li@arm.com>
16429
16430 PR rtl/66556
16431 * simplify-rtx.c (simplify_const_relational_operation): Add
16432 side_effects_p checks.
16433
16434 2015-07-12 Aldy Hernandez <aldyh@redhat.com>
16435
16436 * bitmap.h: Fix double word typos.
16437 * builtins.c: Same.
16438 * calls.c: Same.
16439 * cfgloopmanip.c: Same.
16440 * cgraph.c: Same.
16441 * cgraph.h: Same.
16442 * cgraphclones.c: Same.
16443 * combine.c: Same.
16444 * config/aarch64/aarch64-protos.h: Same.
16445 * config/aarch64/aarch64.c: Same.
16446 * config/aarch64/aarch64.md: Same.
16447 * config/arm/arm.md: Same.
16448 * config/arm/arm1020e.md: Same.
16449 * config/arm/arm1026ejs.md: Same.
16450 * config/arm/arm926ejs.md: Same.
16451 * config/arm/fa526.md: Same.
16452 * config/arm/fa606te.md: Same.
16453 * config/arm/fa626te.md: Same.
16454 * config/arm/fa726te.md: Same.
16455 * config/arm/fmp626.md: Same.
16456 * config/darwin.c: Same.
16457 * config/epiphany/epiphany.c: Same.
16458 * config/frv/frv.c: Same.
16459 * config/ft32/ft32.c: Same.
16460 * config/gnu-user.h: Same.
16461 * config/h8300/constraints.md: Same.
16462 * config/i386/i386.c: Same.
16463 * config/i386/i386.md: Same.
16464 * config/iq2000/iq2000.md: Same.
16465 * config/mips/mips.c: Same.
16466 * config/mmix/mmix.md: Same.
16467 * config/moxie/moxie.c: Same.
16468 * config/nds32/nds32.md: Same.
16469 * config/pa/pa.h: Same.
16470 * config/rs6000/aix.h: Same.
16471 * config/rs6000/rs6000.h: Same.
16472 * config/sh/sh.c: Same.
16473 * config/tilegx/tilegx.md: Same.
16474 * config/tilepro/gen-mul-tables.cc: Same.
16475 * cse.c: Same.
16476 * dbxout.c: Same.
16477 * doc/invoke.texi: Same.
16478 * dse.c: Same.
16479 * dwarf2out.c: Same.
16480 * final.c: Same.
16481 * gcc.c: Same.
16482 * genmatch.c: Same.
16483 * gimplify.c: Same.
16484 * hash-table.h: Same.
16485 * internal-fn.c: Same.
16486 * ipa-cp.c: Same.
16487 * ipa-devirt.c: Same.
16488 * ipa-icf.c: Same.
16489 * ipa-icf.h: Same.
16490 * ipa-profile.c: Same.
16491 * ipa-prop.c: Same.
16492 * ipa-prop.h: Same.
16493 * ira.c: Same.
16494 * omp-low.c: Same.
16495 * reg-stack.c: Same.
16496 * regcprop.c: Same.
16497 * reorg.c: Same.
16498 * rtl.h: Same.
16499 * sbitmap.h: Same.
16500 * tree-eh.c: Same.
16501 * tree-inline.c: Same.
16502 * tree-sra.c: Same.
16503 * tree-ssa-dom.c: Same.
16504 * tree-ssa-loop-ivopts.c: Same.
16505 * tree-ssa-structalias.c: Same.
16506 * tree-ssa-tail-merge.c: Same.
16507 * tree-ssa-ter.c: Same.
16508 * tree-ssa-threadupdate.c: Same.
16509 * tree-ssa-uninit.c: Same.
16510 * tree-ssanames.c: Same.
16511 * tree-vect-loop-manip.c: Same.
16512 * tree-vrp.c: Same.
16513 * tree.c: Same.
16514 * valtrack.c: Same.
16515 * vec.h: Same.
16516
16517 2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org>
16518
16519 PR middle-end/66726
16520 * tree-ssa-phiopt.c(factor_out_conditional_conversion): New function.
16521 tree_ssa_phiopt_worker): Call it.
16522
16523 2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org>
16524
16525 * cse.c (cse_insn): Calculate src_eqv for ZERO_EXTRACT.
16526 * emit-rtl.c (set_for_reg_notes): Allow ZERO_EXTRACT to set
16527 REG_EQUAL note.
16528
16529 2015-07-11 Marek Polacek <polacek@redhat.com>
16530
16531 PR middle-end/66353
16532 * basic-block.h (has_abnormal_call_or_eh_pred_edge_p): New function.
16533 * ira-lives.c (bb_has_abnormal_call_pred): Remove function.
16534 (process_bb_node_lives): Call has_abnormal_call_or_eh_pred_edge_p
16535 rather than bb_has_abnormal_call_pred.
16536 * lra-lives.c (bb_has_abnormal_call_pred): Remove function.
16537 (process_bb_lives): Call has_abnormal_call_or_eh_pred_edge_p
16538 rather than bb_has_abnormal_call_pred.
16539
16540 2015-07-10 Anatoly Sokolov <aesok@post.ru>
16541
16542 * config/v850/v850.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
16543 REG_OK_FOR_BASE_P_STRICT, REG_OK_FOR_INDEX_P_STRICT, STRICT,
16544 RTX_OK_FOR_BASE_P, GO_IF_LEGITIMATE_ADDRESS): Remove macros.
16545 * config/v850/v850.c (v850_reg_ok_for_base_, v850_rtx_ok_for_base_p,
16546 v850_legitimate_address_p): New functions.
16547 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
16548
16549 2015-07-10 H.J. Lu <hongjiu.lu@intel.com>
16550
16551 PR target/66819
16552 * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
16553 indirect sibcall with register arguments if register available
16554 for argument passing.
16555 (init_cumulative_args): Set cfun->machine->arg_reg_available
16556 to (cum->nregs > 0) or to true if function has a variable
16557 argument list.
16558 (function_arg_advance_32): Set cfun->machine->arg_reg_available
16559 to false if cum->nregs <= 0.
16560 * config/i386/i386.h (machine_function): Add arg_reg_available.
16561
16562 2015-07-10 Uros Bizjak <ubizjak@gmail.com>
16563
16564 * config/i386/sse.md (movdi_to_sse): Use gen_lowpart
16565 and gen_higpart instead of gen_rtx_SUBREG.
16566 * config/i386/i386.md
16567 (floatdi<X87MODEF:mode>2_i387_with_xmm splitter): Ditto.
16568 (read-modify peephole2): Use gen_lowpart instead of
16569 gen_rtx_SUBREG for operand 5.
16570
16571 2015-07-10 Andrew MacLeod <amacleod@redhat.com>
16572
16573 * config/tilepro/gen-mul-tables.cc (main): Change include list for
16574 generated files.
16575 * config/tilepro/mul-tables.c: Regenerate.
16576 * config/tilegx/mul-tables.c: Regenerate.
16577
16578 2015-07-10 Richard Biener <rguenther@suse.de>
16579
16580 * fold-const.c (distribute_bit_expr): Remove.
16581 (fold_binary_loc): Move simplifying (A & C1) + (B & C2)
16582 to (A & C1) | (B & C2), distributing (A & B) | (A & C)
16583 to A & (B | C) and simplifying A << C1 << C2 to ...
16584 * match.pd: ... patterns here.
16585
16586 2015-07-10 Jiong Wang <jiong.wang@arm.com>
16587
16588 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
16589 Mark mem as READONLY and NOTRAP for PIC symbol.
16590
16591 2015-07-10 Andrew MacLeod <amacleod@redhat.com>
16592
16593 * gimple-predict.h: New file.
16594 (gimple_predict_predictor, gimple_predict_set_predictor,
16595 gimple_predict_outcome, gimple_predict_set_outcome,
16596 gimple_build_predict): Relocate here.
16597 * gimple.h (gimple_predict_predictor, gimple_predict_set_predictor,
16598 gimple_predict_outcome, gimple_predict_set_outcome): Move to
16599 gimple-predict.h.
16600 * gimple.c (gimple_build_predict): Move to gimple-predict.h
16601 * basic-block.h: Don't include cfghooks.h.
16602 * backend.h: Don't include predict.h.
16603 * cfghooks.h: Include predict.h.
16604 * gimple-pretty-print.c: Include gimple-predict.h.
16605 * gimplify.c: Likwise.
16606 * predict.c: Adjust includes.
16607 * tree-inline.c: Likewise.
16608 * asan.c: Likewise.
16609 * auto-inc-dec.c: Likewise.
16610 * auto-profile.c: Likewise.
16611 * bb-reorder.c: Likewise.
16612 * builtins.c: Likewise.
16613 * caller-save.c: Likewise.
16614 * calls.c: Likewise.
16615 * cfganal.c: Likewise.
16616 * cfgbuild.c: Likewise.
16617 * cfg.c: Likewise.
16618 * cfgcleanup.c: Likewise.
16619 * cfgexpand.c: Likewise.
16620 * cfghooks.c: Likewise.
16621 * cfgloopanal.c: Likewise.
16622 * cfgloop.c: Likewise.
16623 * cfgloopmanip.c: Likewise.
16624 * cfgrtl.c: Likewise.
16625 * cgraph.c: Likewise.
16626 * cgraphunit.c: Likewise.
16627 * combine.c: Likewise.
16628 * cprop.c: Likewise.
16629 * cse.c: Likewise.
16630 * dce.c: Likewise.
16631 * dojump.c: Likewise.
16632 * dse.c: Likewise.
16633 * except.c: Likewise.
16634 * expmed.c: Likewise.
16635 * expr.c: Likewise.
16636 * final.c: Likewise.
16637 * fold-const.c: Likewise.
16638 * function.c: Likewise.
16639 * fwprop.c: Likewise.
16640 * gcc-plugin.h: Likewise.
16641 * gcse.c: Likewise.
16642 * genattrtab.c: Likewise.
16643 * genemit.c: Likewise.
16644 * gengtype.c: Likewise.
16645 * genopinit.c: Likewise.
16646 * genoutput.c: Likewise.
16647 * genpreds.c: Likewise.
16648 * genrecog.c: Likewise.
16649 * gimple-fold.c: Likewise.
16650 * gimple-iterator.c: Likewise.
16651 * gimple-ssa-isolate-paths.c: Likewise.
16652 * gimple-ssa-strength-reduction.c: Likewise.
16653 * graph.c: Likewise.
16654 * graphite-blocking.c: Likewise.
16655 * graphite.c: Likewise.
16656 * graphite-dependences.c: Likewise.
16657 * graphite-interchange.c: Likewise.
16658 * graphite-isl-ast-to-gimple.c: Likewise.
16659 * graphite-optimize-isl.c: Likewise.
16660 * graphite-poly.c: Likewise.
16661 * graphite-scop-detection.c: Likewise.
16662 * graphite-sese-to-poly.c: Likewise.
16663 * haifa-sched.c: Likewise.
16664 * ifcvt.c: Likewise.
16665 * internal-fn.c: Likewise.
16666 * ipa-cp.c: Likewise.
16667 * ipa-profile.c: Likewise.
16668 * ipa-split.c: Likewise.
16669 * ipa-utils.c: Likewise.
16670 * ira-build.c: Likewise.
16671 * ira-color.c: Likewise.
16672 * ira-conflicts.c: Likewise.
16673 * ira-costs.c: Likewise.
16674 * ira-emit.c: Likewise.
16675 * ira-lives.c: Likewise.
16676 * jump.c: Likewise.
16677 * loop-doloop.c: Likewise.
16678 * loop-init.c: Likewise.
16679 * loop-invariant.c: Likewise.
16680 * loop-unroll.c: Likewise.
16681 * lower-subreg.c: Likewise.
16682 * lra-assigns.c: Likewise.
16683 * lra.c: Likewise.
16684 * lra-coalesce.c: Likewise.
16685 * lra-constraints.c: Likewise.
16686 * lra-lives.c: Likewise.
16687 * lto-cgraph.c: Likewise.
16688 * lto-streamer-in.c: Likewise.
16689 * mode-switching.c: Likewise.
16690 * modulo-sched.c: Likewise.
16691 * omp-low.c: Likewise.
16692 * optabs.c: Likewise.
16693 * passes.c: Likewise.
16694 * postreload.c: Likewise.
16695 * postreload-gcse.c: Likewise.
16696 * profile.c: Likewise.
16697 * recog.c: Likewise.
16698 * regstat.c: Likewise.
16699 * reload1.c: Likewise.
16700 * reorg.c: Likewise.
16701 * rtlanal.c: Likewise.
16702 * sched-ebb.c: Likewise.
16703 * sel-sched-ir.c: Likewise.
16704 * sese.c: Likewise.
16705 * shrink-wrap.c: Likewise.
16706 * simplify-rtx.c: Likewise.
16707 * stmt.c: Likewise.
16708 * store-motion.c: Likewise.
16709 * tracer.c: Likewise.
16710 * trans-mem.c: Likewise.
16711 * tree-call-cdce.c: Likewise.
16712 * tree-cfg.c: Likewise.
16713 * tree-cfgcleanup.c: Likewise.
16714 * tree-chkp.c: Likewise.
16715 * tree-complex.c: Likewise.
16716 * tree-eh.c: Likewise.
16717 * tree-if-conv.c: Likewise.
16718 * tree-loop-distribution.c: Likewise.
16719 * tree-outof-ssa.c: Likewise.
16720 * tree-parloops.c: Likewise.
16721 * tree-predcom.c: Likewise.
16722 * tree-pretty-print.c: Likewise.
16723 * tree-profile.c: Likewise.
16724 * tree-sra.c: Likewise.
16725 * tree-ssa.c: Likewise.
16726 * tree-ssa-coalesce.c: Likewise.
16727 * tree-ssa-dce.c: Likewise.
16728 * tree-ssa-dom.c: Likewise.
16729 * tree-ssa-forwprop.c: Likewise.
16730 * tree-ssa-ifcombine.c: Likewise.
16731 * tree-ssa-loop-ch.c: Likewise.
16732 * tree-ssa-loop-im.c: Likewise.
16733 * tree-ssa-loop-ivcanon.c: Likewise.
16734 * tree-ssa-loop-ivopts.c: Likewise.
16735 * tree-ssa-loop-manip.c: Likewise.
16736 * tree-ssa-loop-prefetch.c: Likewise.
16737 * tree-ssa-loop-unswitch.c: Likewise.
16738 * tree-ssa-math-opts.c: Likewise.
16739 * tree-ssa-phiopt.c: Likewise.
16740 * tree-ssa-pre.c: Likewise.
16741 * tree-ssa-reassoc.c: Likewise.
16742 * tree-ssa-sink.c: Likewise.
16743 * tree-ssa-tail-merge.c: Likewise.
16744 * tree-ssa-threadedge.c: Likewise.
16745 * tree-ssa-threadupdate.c: Likewise.
16746 * tree-switch-conversion.c: Likewise.
16747 * tree-tailcall.c: Likewise.
16748 * tree-vect-data-refs.c: Likewise.
16749 * tree-vect-loop.c: Likewise.
16750 * tree-vect-loop-manip.c: Likewise.
16751 * tree-vectorizer.c: Likewise.
16752 * tree-vrp.c: Likewise.
16753 * ubsan.c: Likewise.
16754 * value-prof.c: Likewise.
16755 * varasm.c: Likewise.
16756 * var-tracking.c: Likewise.
16757 * config/aarch64/aarch64-builtins.c: Likewise.
16758 * config/aarch64/aarch64.c: Likewise.
16759 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
16760 * config/alpha/alpha.c: Likewise.
16761 * config/arc/arc.c: Likewise.
16762 * config/arm/arm.c: Likewise.
16763 * config/avr/avr.c: Likewise.
16764 * config/bfin/bfin.c: Likewise.
16765 * config/c6x/c6x.c: Likewise.
16766 * config/cr16/cr16.c: Likewise.
16767 * config/cris/cris.c: Likewise.
16768 * config/darwin.c: Likewise.
16769 * config/darwin-c.c: Likewise.
16770 * config/epiphany/epiphany.c: Likewise.
16771 * config/epiphany/mode-switch-use.c: Likewise.
16772 * config/epiphany/resolve-sw-modes.c: Likewise.
16773 * config/fr30/fr30.c: Likewise.
16774 * config/frv/frv.c: Likewise.
16775 * config/ft32/ft32.c: Likewise.
16776 * config/h8300/h8300.c: Likewise.
16777 * config/i386/i386.c: Likewise.
16778 * config/i386/winnt.c: Likewise.
16779 * config/ia64/ia64.c: Likewise.
16780 * config/iq2000/iq2000.c: Likewise.
16781 * config/lm32/lm32.c: Likewise.
16782 * config/m32c/m32c.c: Likewise.
16783 * config/m32r/m32r.c: Likewise.
16784 * config/m68k/m68k.c: Likewise.
16785 * config/mcore/mcore.c: Likewise.
16786 * config/mep/mep.c: Likewise.
16787 * config/microblaze/microblaze.c: Likewise.
16788 * config/mips/mips.c: Likewise.
16789 * config/mmix/mmix.c: Likewise.
16790 * config/mn10300/mn10300.c: Likewise.
16791 * config/moxie/moxie.c: Likewise.
16792 * config/msp430/msp430.c: Likewise.
16793 * config/nds32/nds32.c: Likewise.
16794 * config/nds32/nds32-cost.c: Likewise.
16795 * config/nds32/nds32-fp-as-gp.c: Likewise.
16796 * config/nds32/nds32-intrinsic.c: Likewise.
16797 * config/nds32/nds32-isr.c: Likewise.
16798 * config/nds32/nds32-md-auxiliary.c: Likewise.
16799 * config/nds32/nds32-memory-manipulation.c: Likewise.
16800 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
16801 * config/nds32/nds32-predicates.c: Likewise.
16802 * config/nios2/nios2.c: Likewise.
16803 * config/nvptx/nvptx.c: Likewise.
16804 * config/pa/pa.c: Likewise.
16805 * config/pdp11/pdp11.c: Likewise.
16806 * config/rl78/rl78.c: Likewise.
16807 * config/rs6000/rs6000.c: Likewise.
16808 * config/rx/rx.c: Likewise.
16809 * config/s390/s390.c: Likewise.
16810 * config/sh/sh.c: Likewise.
16811 * config/sh/sh-mem.cc: Likewise.
16812 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
16813 * config/sh/sh_treg_combine.cc: Likewise.
16814 * config/sparc/sparc.c: Likewise.
16815 * config/spu/spu.c: Likewise.
16816 * config/stormy16/stormy16.c: Likewise.
16817 * config/tilegx/tilegx.c: Likewise.
16818 * config/tilepro/tilepro.c: Likewise.
16819 * config/v850/v850.c: Likewise.
16820 * config/vax/vax.c: Likewise.
16821 * config/visium/visium.c: Likewise.
16822 * config/xtensa/xtensa.c: Likewise.
16823
16824 2015-07-10 Richard Biener <rguenther@suse.de>
16825
16826 * genmatch.c (dt_node::gen_kids_1): Fix indenting of case labels.
16827 (decision_tree::gen_gimple): Likewise.
16828 (decision_tree::gen_generic): Likewise.
16829
16830 2015-07-10 Uros Bizjak <ubizjak@gmail.com>
16831
16832 PR target/66813
16833 * config/i386/i386.c (ix86_md_asm_adjust): Emit movstrictqi
16834 sequence for TARGET_ZERO_EXTEND_WITH_AND targets.
16835
16836 2015-07-10 Jakub Jelinek <jakub@redhat.com>
16837
16838 PR middle-end/66820
16839 * gimplify.c (maybe_fold_stmt): Don't fold in ORT_PARALLEL
16840 or ORT_TASK contexts.
16841 * omp-low.c (lower_omp): Call fold_stmt even if taskreg_nesting_level
16842 is non-zero.
16843
16844 2015-07-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16845
16846 * expr.c (expand_cond_expr_using_cmove): Fix typos in comment
16847 above function.
16848
16849 2015-07-10 Tom de Vries <tom@codesourcery.com>
16850
16851 * tree-parloops.c (try_transform_to_exit_first_loop_alt): If not found,
16852 insert nit + 1 bound.
16853
16854 2015-07-10 Richard Biener <rguenther@suse.de>
16855
16856 * tree-if-conv.c (if_convertible_gimple_assign_stmt_p):
16857 Use ifcvt_could_trap_p also when not flag_tree_loop_if_convert_stores.
16858 (if_convertible_loop_p_1): For this always compute bb predicates.
16859 (if_convertible_loop_p): And free them.
16860
16861 2015-07-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
16862
16863 * ipa-icf.c (sem_item_optimizer::do_congruence_step): Fix typo
16864 in dump message.
16865
16866 2015-07-10 Richard Biener <rguenther@suse.de>
16867
16868 PR tree-optimization/66823
16869 * tree-if-conv.c (memrefs_read_or_written_unconditionally): Fix
16870 inverted predicate.
16871
16872 2015-07-09 Steve Ellcey <sellcey@imgtec.com>
16873
16874 * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): Update
16875 to handle mips[32|64]r3 and mips[32|64]r5.
16876
16877 2015-07-09 Jakub Jelinek <jakub@redhat.com>
16878
16879 PR middle-end/66633
16880 * tree-nested.c (get_static_chain): Or in a flag into
16881 info->static_chain_added.
16882 (get_frame_field, get_nonlocal_debug_decl): Likewise.
16883 (convert_nonlocal_omp_clauses, convert_local_omp_clauses): Revert
16884 2015-07-01 changes.
16885 (convert_tramp_reference_stmt): If a frame_decl or chain_decl
16886 is needed newly inside of GIMPLE_OMP_{PARALLEL,TASK,TARGET} body,
16887 add it to clauses.
16888
16889 PR tree-optimization/66718
16890 * tree-vect-stmts.c (struct simd_call_arg_info): Add simd_lane_linear
16891 field.
16892 (vect_simd_lane_linear): New function.
16893 (vectorizable_simd_clone_call): Support using linear arguments for
16894 addresses of arrays elements indexed by GOMP_SIMD_LANE result.
16895
16896 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
16897
16898 PR target/66821
16899 * config/i386/i386.c (iamcu_cost): Adjust variable shift costs.
16900
16901 2015-07-09 Michael Meissner <meissner@linux.vnet.ibm.com>
16902
16903 * config/rs6000/rs6000-protos.h (rs6000_secondary_reload_memory):
16904 Use machine mode, not enum machine_mode in the prototype.
16905
16906 * config/rs6000/rs6000.h (FLOAT128_IEEE_P): New helper macros to
16907 classify 128-bit floating point support.
16908 (FLOAT128_IBM_P): Likewise.
16909 (FLOAT128_VECTOR_P): Likewise.
16910 (FLOAT128_2REG_P): Likewise.
16911 (SCALAR_FLOAT_MODE_NOT_VECTOR_P): Likewise.
16912 (SLOW_UNALIGNED_ACCESS): Add IEEE 128-bit floating point support.
16913 (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
16914 (HARD_REGNO_CALL_PART_CLOBBERED): Likewise.
16915
16916 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Drop
16917 tests against TFmode/TDmode, since those modes do not use VSX
16918 addresses.
16919 (rs6000_hard_regno_mode_ok): Add IEEE 128-bit floating point
16920 support.
16921 (rs6000_init_hard_regno_mode_ok): Use new helper macros instead of
16922 tests against TFmode, etc.
16923 (invalid_e500_subreg): Add tests against IFmode/KFmode.
16924 (reg_offset_addressing_ok_p): Likewise.
16925 (rs6000_legitimate_offset_address_p): Likewise.
16926 (rs6000_legitimize_address): Likewise.
16927 (rs6000_legitimize_reload_address): Likewise.
16928 (rs6000_legitimate_address_p): Clean up tests against TFmode and
16929 TDmode to use the new helper macros, which will include IFmode and
16930 KFmode.
16931 (rs6000_emit_move): Likewise.
16932 (rs6000_darwin64_record_arg_recurse): Likewise.
16933 (print_operand): Likewise.
16934 (rs6000_member_type_forces_blk): Treat IEEE 128-bit floating point
16935 that uses a single vector register as a vector and not as a
16936 floating point register in terms of the calling sequence.
16937 (rs6000_discover_homogeneous_aggregate): Likewise.
16938 (rs6000_return_in_memory): Likewise.
16939 (init_cumulative_args): Likewise.
16940 (rs6000_function_arg_boundary): Likewise.
16941 (rs6000_function_arg_advance_1): Likewise.
16942 (rs6000_function_arg): Likewise.
16943 (rs6000_pass_by_reference): Likewise.
16944 (rs6000_gimplify_va_arg): Likewise.
16945 (rs6000_secondary_reload_memory): Use machine_mode not enum
16946 machine mode.
16947 (rs6000_split_multireg_move): Use new helper macros.
16948 (spe_func_has_64bit_regs_p): Likewise.
16949 (rs6000_output_function_epilogue): Add IFmode/KFmode support.
16950 (output_toc): Use new helper macros.
16951 (rs6000_register_move_cost): Likewise.
16952 (rs6000_function_value): Add IEEE 128-bit floating point calling
16953 sequence support.
16954 (rs6000_libcall_value): Likewise.
16955 (rs6000_scalar_mode_supported_p): Add support for IEEE 128-bit
16956 floating point support.
16957 (rs6000_vector_mode_supported_p): Likewise.
16958
16959 2015-07-09 Vladimir Makarov <vmakarov@redhat.com>
16960
16961 PR rtl-optimization/66782
16962 * lra-int.h (struct lra_insn_recog_data): Add comment about
16963 clobbered hard regs for arg_hard_regs.
16964 * lra.c (lra_set_insn_recog_data): Add clobbered hard regs.
16965 * lra-lives.c (process_bb_lives): Process clobbered hard regs.
16966 Add condition for processing used hard regs.
16967 * lra-constraints.c (update_ebb_live_info, inherit_in_ebb):
16968 Process clobbered hard regs.
16969
16970 2015-07-09 Michael Matz <matz@suse.de>
16971
16972 * genmatch.c (fprintf_indent): New function.
16973 (operand::gen_transform): Add indent parameter.
16974 (expr::gen_transform, c_expr::gen_transform,
16975 capture::gen_transform): Ditto and use fprintf_indent.
16976 (dt_node::gen, dt_node::gen_kids, dt_node::gen_kids_1): Ditto.
16977 (dt_operand::gen, dt_operand::gen_predicate,
16978 dt_operand::gen_match_op, dt_operand::gen_gimple_expr,
16979 dt_operand::gen_generic_expr, dt_simplify::gen): Ditto.
16980 (decision_tree::gen_gimple): Adjust calls and indent generated
16981 code.
16982 (decision_tree::gen_generic): Ditto.
16983 (write_predicate): Ditto.
16984
16985 2015-07-08 Uros Bizjak <ubizjak@gmail.com>
16986
16987 PR target/66814
16988 * config/i386/predicates.md (nonimmediate_gr_operand): New predicate.
16989 * config/i386/i386.md (not peephole2): Use nonimmediate_gr_operand.
16990 (varous peephole2s): Use {GENERAL,SSE,MMX}_REGNO_P instead of
16991 {GENERAL,SSE,MMX}_REG_P where appropriate.
16992
16993 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
16994
16995 * lto-streamer.h: Don't include target.h and alloc-pool.h.
16996 * builtins.c: Adjust includes.
16997 * gimple.c: Likewise.
16998 * ipa-icf.c: Likewise.
16999 * lto-opts.c: Likewise.
17000 * ipa-reference.c: Likewise.
17001 * lto-section-out.c: Likewise.
17002 * lto-streamer-in.c: Likewise.
17003 * lto-streamer-out.c: Likewise.
17004 * opts-global.c: Likewise.
17005 * symtab.c: Likewise.
17006 * tree-chkp.c: Likewise.
17007 * tree-ssa-live.c: Likewise.
17008 * tree-streamer-in.c: Likewise.
17009 * tree-streamer-out.c: Likewise.
17010 * config/darwin.c: Likewise.
17011 * config/i386/winnt.c: Likewise.
17012
17013 2015-07-09 Richard Biener <rguenther@suse.de>
17014
17015 * genmatch.c (struct expr): Add force_single_use flag.
17016 (expr::expr): Add copy constructor.
17017 (capture_info::walk_match): Gather force_single_use captures.
17018 (expr::gen_transform): Use possibly NULLified sequence.
17019 (dt_simplify::gen): Apply single-use restrictions by NULLifying
17020 seq if any constrained expr is not single-use.
17021 (parser::parse_expr): Refactor to allow multiple flags. Handle
17022 's' flag to force an expression have a single-use if the pattern
17023 simplifies to more than one statement.
17024 * match.pd: Convert most single_use conditionals to :s flags.
17025
17026 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
17027
17028 * config/i386/iamcu.h (ASM_OUTPUT_ALIGNED_BSS): New.
17029 (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
17030 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
17031
17032 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
17033
17034 * flags.h: Don't include flag-types.h or options.h.
17035 * opts-common.c: Adjust includes.
17036 * opts-global.c: Likewise.
17037 * common/config/epiphany/epiphany-common.c: Likewise.
17038
17039 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
17040
17041 PR target/66818
17042 * config/i386/i386.h (ATTRIBUTE_ALIGNED_VALUE): Defined to 32
17043 for IA MCU.
17044
17045 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
17046
17047 PR target/66817
17048 * config/i386/i386.c (ix86_return_in_memory): Return true
17049 if int_size_in_bytes returns negative for IA MCU.
17050
17051 2015-07-09 Marek Polacek <polacek@redhat.com>
17052
17053 PR tree-optimization/66718
17054 * Makefile.in (OBJS): Add gimple-laddress.o.
17055 * passes.def: Schedule pass_laddress.
17056 * timevar.def (DEFTIMEVAR): Add TV_GIMPLE_LADDRESS.
17057 * tree-pass.h (make_pass_laddress): Declare.
17058 * gimple-laddress.c: New file.
17059
17060 2015-07-09 Richard Biener <rguenther@suse.de>
17061
17062 * toplev.c (compile_file): Reset maximum_field_alignment after parsing.
17063
17064 2015-07-09 Richard Biener <rguenther@suse.de>
17065
17066 PR tree-optimization/66807
17067 * tree-chkp-opt.c (chkp_opt_fini): Free post dominator info.
17068
17069 2015-07-08 Kito Cheng <kito.cheng@gmail.com>
17070
17071 * function.c (stack_protect_epilogue): Use if rather than switch for
17072 check targetm.have_stack_protect_test.
17073
17074 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
17075
17076 * defaults.h: Provide default for WORD_REGISTER_OPERATIONS.
17077 * config/alpha/alpha.h: Define WORD_REGISTER_OPERATIONS to 1.
17078 * config/arc/arc.h: Likewise.
17079 * config/arm/arm.h: Likewise.
17080 * config/bfin/bfin.h: Likewise.
17081 * config/epiphany/epiphany.h: Likewise.
17082 * config/frv/frv.h: Likewise.
17083 * config/ia64/ia64.h: Likewise.
17084 * config/iq2000/iq2000.h: Likewise.
17085 * config/lm32/lm32.h: Likewise.
17086 * config/m32r/m32r.h: Likewise.
17087 * config/mcore/mcore.h: Likewise.
17088 * config/mep/mep.h: Likewise.
17089 * config/microblaze/microblaze.h: Likewise.
17090 * config/mips/mips.h: Likewise.
17091 * config/mmix/mmix.h: Likewise.
17092 * config/mn10300/mn10300.h: Likewise.
17093 * config/nds32/nds32.h: Likewise.
17094 * config/nios2/nios2.h: Likewise.
17095 * config/pa/pa.h: Likewise.
17096 * config/rl78/rl78.h: Likewise.
17097 * config/sh/sh.h: Likewise.
17098 * config/sparc/sparc.h: Likewise.
17099 * config/stormy16/stormy16.h: Likewise.
17100 * config/tilegx/tilegx.h: Likewise.
17101 * config/tilepro/tilepro.h: Likewise.
17102 * config/v850/v850.h: Likewise.
17103 * config/xtensa/xtensa.h: Likewise.
17104 * doc/tm.texi: Regenerate.
17105 * doc/tm.texi.in: Adjust.
17106 * combine.c (simplify_set): Likewise.
17107 (simplify_comparison): Likewise.
17108 * expr.c (store_constructor): Likewise.
17109 * internal-fn.c (expand_arith_overflow): Likewise.
17110 * reload.c (push_reload): Likewise.
17111 (find_reloads): Likewise.
17112 (find_reloads_subreg_address): Likewise.
17113 * reload1.c (eliminate_regs_1): Likewise.
17114 * rtlanal.c (nonzero_bits1): Likewise.
17115 (num_sign_bit_copies1): Likewise.
17116 * simplify-rtx.c (simplify_truncation): Likewise.
17117
17118 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
17119
17120 * auto-inc-dec.c (pass_inc_dec::execute): Don't check the value
17121 of AUTO_INC_DEC with the preprocessor.
17122 * combine.c (combine_instructions): Likewise.
17123 (can_combine_p): Likewise.
17124 (try_combine): Likewise.
17125 * emit-rtl.c (try_split): Likewise.
17126 * loop-invariant.c (calculate_loop_reg_pressure): Likewise.
17127 * lower-subreg.c (resolve_simple_move): Likewise.
17128 * lra.c (update_inc_notes): Likewise.
17129 * recog.c (asm_operand_ok): Likewise.
17130 (constrain_operands): Likewise.
17131 * regrename.c (scan_rtx_address): Likewise.
17132 * reload.c (update_auto_inc_notes): Likewise.
17133 (reg_inc_found_and_valid_p): Likewise.
17134 * reload1.c (reload): Likewise.
17135 (emit_input_reload_insns): Likewise.
17136 (delete_output_reload): Likewise.
17137 * sched-deps.c (init_insn_reg_pressure_info): Likewise.
17138 * valtrack.c (cleanup_auto_inc_dec): Likewise.
17139
17140 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
17141
17142 * rtl.h: Always define AUTO_INC_DEC.
17143 * auto-inc-dec.c (pass_inc_dec::execute): Adjust.
17144 * combine.c (combine_instructions): Likewise.
17145 (can_combine_p): Likewise.
17146 (try_combine): Likewise.
17147 * emit-rtl.c (try_split): Likewise.
17148 * loop-invariant.c (calculate_loop_reg_pressure): Likewise.
17149 * lower-subreg.c (resolve_simple_move): Likewise.
17150 * lra.c (update_inc_notes): Likewise.
17151 * recog.c (asm_operand_ok): Likewise.
17152 (constrain_operands): Likewise.
17153 * regrename.c (scan_rtx_address): Likewise.
17154 * reload.c (update_auto_inc_notes): Likewise.
17155 (find_equiv_reg): Likewise.
17156 * reload1.c (reload): Likewise.
17157 (reload_as_needed): Likewise.
17158 (choose_reload_regs): Likewise.
17159 (emit_input_reload_insns): Likewise.
17160 (delete_output_reload): Likewise.
17161 * sched-deps.c (init_insn_reg_pressure_info): Likewise.
17162 * valtrack.c (cleanup_auto_inc_dec): Likewise.
17163
17164 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
17165
17166 * combine.c (can_combine_def_p): Don't check the value of
17167 HARD_FRAME_POINTER_IS_FRAME_POINTER with the preprocessor.
17168 (combinable_i3pat): Likewise.
17169 (mark_used_regs_combine): Likewise.
17170 * regrename.c (rename_chains): Likewise.
17171 * reload.c (find_reloads_address): Likewise.
17172 * sel-sched.c (mark_unavailable_hard_regs): Likewise.
17173
17174 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
17175
17176 * combine.c (update_rsp_from_reg_equal): Don't check if
17177 SHORT_IMMEDIATES_SIGN_EXTEND is defined.
17178 (reg_nonzero_bits_for_combine): Likewise.
17179 * config/alpha/alpha.h: Define SHORT_IMMEDIATES_SIGN_EXTEND to
17180 1.
17181 * config/frv/frv.h: Likewise.
17182 * config/lm32/lm32.h: Likewise.
17183 * config/mep/mep.h: Likewise.
17184 * config/mips/mips.h: Likewise.
17185 * config/rs6000/rs6000.h: Likewise.
17186 * config/sh/sh.h: Likewise.
17187 * config/tilegx/tilegx.h (enum reg_class): Likewise.
17188 * config/tilepro/tilepro.h: Likewise.
17189 * defaults.h: Add default for SHORT_IMMEDIATES_SIGN_EXTEND.
17190 * doc/tm.texi: Regenerate.
17191 * doc/tm.texi.in: Adjust.
17192 * rtlanal.c (nonzero_bits1): Likewise.
17193
17194 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
17195
17196 * combine.c (do_SUBST_MODE): Don't check the value of HAVE_cc0
17197 with the preprocessor.
17198 (combine_instructions): Likewise.
17199 (try_combine): Likewise.
17200 (subst): Likewise.
17201 (distribute_notes): Likewise.
17202
17203 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
17204
17205 * combine.c (try_combine): Don't check if LOAD_EXTEND_OP is
17206 defined.
17207 (simplify_set): Likewise.
17208 * cse.c (cse_insn): Likewise.
17209 * fold-const.c (fold_single_bit_test): Likewise.
17210 (fold_unary_loc): Likewise.
17211 * postreload.c (reload_cse_simplify_set): Likewise.
17212 (reload_cse_simplify_operands): Likewise.
17213
17214 2015-07-08 Jiong Wang <jiong.wang@arm.com>
17215
17216 * config/aarch64/aarch64.c (aarch64_unspec_may_trap_p): New function.
17217 (TARGET_UNSPEC_MAY_TRAP_P): Define as aarch64_unspec_may_trap_p.
17218
17219 2015-07-08 H.J. Lu <hongjiu.lu@intel.com>
17220
17221 PR target/66746
17222 * config/i386/x86intrin.h: Include <adxintrin.h> even if
17223 __iamcu__ is defined.
17224
17225 2015-07-08 Uros Bizjak <ubizjak@gmail.com>
17226
17227 * config/i386/predicates.md (general_reg_operand): Use GENERAL_REGNO_P.
17228
17229 2015-07-08 Iain Sandoe <iain@codesourcery.com>
17230
17231 PR target/66523
17232 * config/darwin.c (darwin_mark_decl_preserved): Exclude 'L' label
17233 names from preservation.
17234
17235 2015-07-08 H.J. Lu <hongjiu.lu@intel.com>
17236
17237 PR target/66806
17238 * config/i386/i386.c (type_natural_mode): Don't warn vector ABI
17239 change for IAMCU.
17240 (function_arg_advance_32): Don't pass vectors in registers for
17241 IAMCU.
17242 (function_arg_32): Likewise.
17243 (ix86_return_in_memory): Don't return vectors in registers for
17244 IAMCU.
17245
17246 2015-07-08 Vladimir Makarov <vmakarov@redhat.com>
17247
17248 PR middle-end/66334
17249 * ira-lives.c (process_bb_node_lives): Make conflicts with PIC
17250 hard regno live at the start of BB with incoming abnormal edges.
17251 * lra-lives.c (process_bb_lives): Ditto.
17252
17253 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
17254
17255 PR libgomp/65099
17256 * config/nvptx/mkoffload.c (main): Create an offload image only in
17257 64-bit configurations.
17258
17259 2015-07-08 Martin Liska <mliska@suse.cz>
17260
17261 PR bootstrap/66744
17262 * tree-sra.c (create_access_1): Call ctor without brackets.
17263 (create_artificial_child_access): Likewise.
17264
17265 2015-07-08 Richard Biener <rguenther@suse.de>
17266
17267 PR tree-optimization/66793
17268 * gimple-ssa-isolate-paths.c (insert_trap_and_remove_trailing_statemen):
17269 Properly split the block after stmts ending it.
17270
17271 2015-07-08 Richard Biener <rguenther@suse.de>
17272
17273 PR tree-optimization/66794
17274 * passes.c (execute_function_todo): Assert that post-dominators
17275 are not computed.
17276 * gimple-ssa-isolate-paths.c (gimple_ssa_isolate_erroneous_paths):
17277 Free post-dominators.
17278
17279 2015-07-08 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
17280
17281 * config/s390/s390.c (s390_init_frame_layout): Replace assertion
17282 with early exit.
17283
17284 2015-07-08 Uros Bizjak <ubizjak@gmail.com>
17285
17286 * config/i386/i386.md (*jcc_bt<mode>): Only allow const_int values
17287 more than or equal 8 and less than 32 when optimizing for size.
17288
17289 2015-07-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17290
17291 * config/arm/arm.c (arm_new_rtx_costs): Initialise cost to
17292 COSTS_N_INSNS (1) and increment it appropriately throughout the
17293 function.
17294
17295 2015-07-08 Richard Biener <rguenther@suse.de>
17296
17297 * fold-const.c (fold_widened_comparison): Fix inverted comparison.
17298
17299 2015-07-08 Alan Modra <amodra@gmail.com>
17300
17301 * target.def (rtx_costs): Remove "code" param, add "mode".
17302 * rtl.h (rtx_cost, get_full_rtx_cost): Update prototype.
17303 (set_src_cost, get_full_set_src_cost): Likewise. Move later in file.
17304 (set_rtx_cost, get_full_set_rtx_cost): Move later in file.
17305 * rtlanal.c (rtx_cost): Add "mode" parameter. Update targetm.rtx_costs
17306 call. Track mode when given in rtx.
17307 (get_full_rtx_cost): Add "mode" parameter. Update rtx_cost calls.
17308 (default_address_cost): Pass Pmode to rtx_cost.
17309 (insn_rtx_cost): Pass dest mode of set to set_src_cost.
17310 * cprop.c (try_replace_reg): Ensure set_rtx_cost is not called
17311 with NULL set.
17312 * cse.c (COST, COST_IN): Add MODE param. Update all uses.
17313 (notreg_cost): Add mode param. Use it.
17314 * gcse.c (want_to_gcse_p): Delete forward declaration. Add
17315 mode param and pass to set_src_cost. Update all calls.
17316 (hash_scan_set): Formatting.
17317 * hooks.c (hook_bool_rtx_int_int_int_intp_bool_false): Delete.
17318 (hook_bool_rtx_mode_int_int_intp_bool_false): New function.
17319 * hooks.h: Ditto.
17320 * expmed.c (init_expmed_one_conv, init_expmed_one_mode,
17321 init_expmed, expand_mult, mult_by_coeff_cost, expand_smod_pow2,
17322 emit_store_flag): Update set_src_cost and rtx_cost calls.
17323 * auto-inc-dec.c (attempt_change): Likewise.
17324 * calls.c (precompute_register_parameters): Likewise.
17325 * combine.c (expand_compound_operation, make_extraction,
17326 force_to_mode, distribute_and_simplify_rtx): Likewise.
17327 * dojump.c (prefer_and_bit_test): Likewise.
17328 * dse.c (find_shift_sequence): Likewise.
17329 * expr.c (compress_float_constant): Likewise.
17330 * fwprop.c (should_replace_address, try_fwprop_subst): Likewise.
17331 * ifcvt.c (noce_try_sign_mask): Likewise.
17332 * loop-doloop.c (doloop_optimize): Likewise.
17333 * loop-invariant.c (create_new_invariant): Likewise.
17334 * lower-subreg.c (shift_cost, compute_costs): Likewise.
17335 * optabs.c (avoid_expensive_constant, prepare_cmp_insn,
17336 lshift_cheap_p): Likewise.
17337 * postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands,
17338 try_replace_in_use, reload_cse_move2add): Likewise.
17339 * reload1.c (calculate_elim_costs_all_insns, note_reg_elim_costly):
17340 Likewise.
17341 * simplify-rtx.c (simplify_binary_operation_1): Likewise.
17342 * tree-ssa-loop-ivopts.c (computation_cost): Likewise.
17343 * tree-ssa-reassoc.c (optimize_range_tests_to_bit_test): Likewise.
17344 * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
17345 * config/aarch64/aarch64.c (aarch64_rtx_costs): Delete "code" param,
17346 add "mode" param. Use "mode: in place of GET_MODE (x). Pass mode
17347 to rtx_cost calls.
17348 * config/alpha/alpha.c (alpha_rtx_costs): Likewise.
17349 * config/arc/arc.c (arc_rtx_costs): Likewise.
17350 * config/arm/arm.c (arm_rtx_costs): Likewise.
17351 * config/avr/avr.c (avr_rtx_costs, avr_rtx_costs_1): Likewise.
17352 * config/bfin/bfin.c (bfin_rtx_costs): Likewise.
17353 * config/c6x/c6x.c (c6x_rtx_costs): Likewise.
17354 * config/cris/cris.c (cris_rtx_costs): Likewise.
17355 * config/epiphany/epiphany.c (epiphany_rtx_costs): Likewise.
17356 * config/frv/frv.c (frv_rtx_costs): Likewise.
17357 * config/h8300/h8300.c (h8300_rtx_costs): Likewise.
17358 * config/i386/i386.c (ix86_rtx_costs): Likewise.
17359 * config/ia64/ia64.c (ia64_rtx_costs): Likewise.
17360 * config/iq2000/iq2000.c (iq2000_rtx_costs): Likewise.
17361 * config/lm32/lm32.c (lm32_rtx_costs): Likewise.
17362 * config/m32c/m32c.c (m32c_rtx_costs): Likewise.
17363 * config/m32r/m32r.c (m32r_rtx_costs): Likewise.
17364 * config/m68k/m68k.c (m68k_rtx_costs): Likewise.
17365 * config/mcore/mcore.c (mcore_rtx_costs): Likewise.
17366 * config/mep/mep.c (mep_rtx_cost): Likewise.
17367 * config/microblaze/microblaze.c (microblaze_rtx_costs): Likewise.
17368 * config/mips/mips.c (mips_rtx_costs): Likewise.
17369 * config/mmix/mmix.c (mmix_rtx_costs): Likewise.
17370 * config/mn10300/mn10300.c (mn10300_rtx_costs): Likewise.
17371 * config/msp430/msp430.c (msp430_rtx_costs): Likewise.
17372 * config/nds32/nds32-cost.c (nds32_rtx_costs_impl): Likewise.
17373 * config/nds32/nds32-protos.h (nds32_rtx_costs_impl): Likewise.
17374 * config/nds32/nds32.c (nds32_rtx_costs): Likewise.
17375 * config/nios2/nios2.c (nios2_rtx_costs): Likewise.
17376 * config/pa/pa.c (hppa_rtx_costs): Likewise.
17377 * config/pdp11/pdp11.c (pdp11_rtx_costs): Likewise.
17378 * config/rl78/rl78.c (rl78_rtx_costs): Likewise.
17379 * config/rs6000/rs6000.c (rs6000_rtx_costs): Likewise.
17380 * config/s390/s390.c (s390_rtx_costs): Likewise.
17381 * config/sh/sh.c (sh_rtx_costs): Likewise.
17382 * config/sparc/sparc.c (sparc_rtx_costs): Likewise.
17383 * config/spu/spu.c (spu_rtx_costs): Likewise.
17384 * config/stormy16/stormy16.c (xstormy16_rtx_costs): Likewise.
17385 * config/tilegx/tilegx.c (tilegx_rtx_costs): Likewise.
17386 * config/tilepro/tilepro.c (tilepro_rtx_costs): Likewise.
17387 * config/v850/v850.c (v850_rtx_costs): Likewise.
17388 * config/vax/vax.c (vax_rtx_costs): Likewise.
17389 * config/visium/visium.c (visium_rtx_costs): Likewise.
17390 * config/xtensa/xtensa.c (xtensa_rtx_costs): Likewise.
17391 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Change type of
17392 "code" param, and pass as outer_code to first rtx_cost call. Pass
17393 mode to rtx_cost calls.
17394 (aarch64_address_cost, aarch64_if_then_else_costs): Update rtx_cost
17395 calls.
17396 (aarch64_rtx_costs_wrapper): Update.
17397 * config/arm/arm.c (arm_rtx_costs_1, arm_size_rtx_costs,
17398 arm_unspec_cost, arm_new_rtx_costs, arm_slowmul_rtx_costs): Update
17399 rtx_cost calls.
17400 * config/avr/avr.c (avr_final_prescan_insn): Update set_src_cost
17401 and rtx_cost calls.
17402 (avr_operand_rtx_cost): Similarly.
17403 (avr_rtx_costs_1): Correct mode passed to avr_operand_rtx_cost
17404 for subexpressions of ZERO_EXTEND, SIGN_EXTEND and COMPARE.
17405 * config/mips/mips.c (mips_stack_address_p): Comment typo.
17406 (mips_binary_cost): Update rtx_cost and set_src_cost calls.
17407 (mips_rtx_costs): Use GET_MODE (x) to detect const_int.
17408 * config/mn10300/mn10300.c (mn10300_address_cost): Pass Pmode to
17409 rtx_cost.
17410 (mn10300_rtx_costs): Correct mode passed to mn10300_address_cost.
17411 * config/rs6000/rs6000.c (rs6000_debug_rtx_costs): Update.
17412 * config/sh/sh.c (and_xor_ior_costs): Update rtx_cost call.
17413 * doc/tm.texi: Regenerate.
17414
17415 2015-07-07 Andrew MacLeod <amacleod@redhat.com>
17416
17417 * tree-core.h: Include symtab.h.
17418 * rtl.h: Include hard-reg-set.h but not flags.h.
17419 (HARD_CONST): Remove condition compilation involving HARD_CONST since
17420 hard-reg-set.h is always included.
17421 * regs.h: Don't include hard-reg-set.h or rtl.h.
17422 * cfg.h: Include dominance.h.
17423 * gimple.h: Include tree-ssa-alias.h and gimple-expr.h.
17424 * backend.h: New. Aggregate commonly used backend header files.
17425 * gimple-ssa.h: Don't include tree-hasher.h.
17426 * ssa.h: New. Aggregate commonly used SSA header files.
17427 * regset.h: Remove bitmap.h and hard-reg-set.h #includes.
17428 * sel-sched-ir.h: Flatten includes.
17429 * lra-int.h: Flatten completely.
17430 * sel-sched-dump.h: Flatten includes.
17431 * ira-int.h: Flatten includes.
17432 * gimple-streamer.h: Remove all includes.
17433 * cfgloop.h: Remove all #includes except cfgloopmanip.h.
17434 * resource.h: Flatten hard-reg-set.h and df.h.
17435 * sched-int.h: Flatten insn-arrt.h and df.h.
17436 * valtrack.h: flatten bitmap.h, df.h, and rtl.h
17437 * df.h: Flatten includes, leaving regset.h, alloc-pool.h and timevar.h.
17438 * genattrtab.c (write_header): Adjust generated includes.
17439 * genautomata.c (main): Likewise.
17440 * genconditions.c (write-header): Likewise.
17441 * genemit.c (main): Likewise.
17442 * gengtype.c (open_base_files): Likewise.
17443 * genopinit.c (main): Likewise.
17444 * genoutput.c (output_prologue): Likewise.
17445 * genpeep.c (main): Likewise.
17446 * genpreds.c (write_insn_preds_c): Likewise.
17447 * genrecog.c (write_header): Likewise.
17448 * alias.c: Adjust includes.
17449 * asan.c: Likewise.
17450 * attribs.c: Likewise.
17451 * auto-inc-dec.c: Likewise.
17452 * auto-profile.c: Likewise.
17453 * bb-reorder.c: Likewise.
17454 * bt-load.c: Likewise.
17455 * builtins.c: Likewise.
17456 * caller-save.c: Likewise.
17457 * calls.c: Likewise.
17458 * ccmp.c: Likewise.
17459 * cfg.c: Likewise.
17460 * cfganal.c: Likewise.
17461 * cfgbuild.c: Likewise.
17462 * cfgcleanup.c: Likewise.
17463 * cfgexpand.c: Likewise.
17464 * cfghooks.c: Likewise.
17465 * cfgloop.c: Likewise.
17466 * cfgloopanal.c: Likewise.
17467 * cfgloopmanip.c: Likewise.
17468 * cfgrtl.c: Likewise.
17469 * cgraph.c: Likewise.
17470 * cgraphbuild.c: Likewise.
17471 * cgraphclones.c: Likewise.
17472 * cgraphunit.c: Likewise.
17473 * cilk-common.c: Likewise.
17474 * combine-stack-adj.c: Likewise.
17475 * combine.c: Likewise.
17476 * compare-elim.c: Likewise.
17477 * convert.c: Likewise.
17478 * coverage.c: Likewise.
17479 * cppbuiltin.c: Likewise.
17480 * cprop.c: Likewise.
17481 * cse.c: Likewise.
17482 * cselib.c: Likewise.
17483 * data-streamer-in.c: Likewise.
17484 * data-streamer-out.c: Likewise.
17485 * data-streamer.c: Likewise.
17486 * dbxout.c: Likewise.
17487 * dce.c: Likewise.
17488 * ddg.c: Likewise.
17489 * debug.c: Likewise.
17490 * df-core.c: Likewise.
17491 * df-problems.c: Likewise.
17492 * df-scan.c: Likewise.
17493 * dfp.c: Likewise.
17494 * dojump.c: Likewise.
17495 * dominance.c: Likewise.
17496 * domwalk.c: Likewise.
17497 * double-int.c: Likewise.
17498 * dse.c: Likewise.
17499 * dumpfile.c: Likewise.
17500 * dwarf2asm.c: Likewise.
17501 * dwarf2cfi.c: Likewise.
17502 * dwarf2out.c: Likewise.
17503 * emit-rtl.c: Likewise.
17504 * et-forest.c: Likewise.
17505 * except.c: Likewise.
17506 * explow.c: Likewise.
17507 * expmed.c: Likewise.
17508 * expr.c: Likewise.
17509 * final.c: Likewise.
17510 * fixed-value.c: Likewise.
17511 * fold-const.c: Likewise.
17512 * function.c: Likewise.
17513 * fwprop.c: Likewise.
17514 * gcc-plugin.h: Likewise.
17515 * gcse-common.c: Likewise.
17516 * gcse.c: Likewise.
17517 * generic-match-head.c: Likewise.
17518 * ggc-page.c: Likewise.
17519 * gimple-builder.c: Likewise.
17520 * gimple-expr.c: Likewise.
17521 * gimple-fold.c: Likewise.
17522 * gimple-iterator.c: Likewise.
17523 * gimple-low.c: Likewise.
17524 * gimple-match-head.c: Likewise.
17525 * gimple-pretty-print.c: Likewise.
17526 * gimple-ssa-isolate-paths.c: Likewise.
17527 * gimple-ssa-strength-reduction.c: Likewise.
17528 * gimple-streamer-in.c: Likewise.
17529 * gimple-streamer-out.c: Likewise.
17530 * gimple-walk.c: Likewise.
17531 * gimple.c: Likewise.
17532 * gimplify-me.c: Likewise.
17533 * gimplify.c: Likewise.
17534 * godump.c: Likewise.
17535 * graph.c: Likewise.
17536 * graphite-blocking.c: Likewise.
17537 * graphite-dependences.c: Likewise.
17538 * graphite-interchange.c: Likewise.
17539 * graphite-isl-ast-to-gimple.c: Likewise.
17540 * graphite-optimize-isl.c: Likewise.
17541 * graphite-poly.c: Likewise.
17542 * graphite-scop-detection.c: Likewise.
17543 * graphite-sese-to-poly.c: Likewise.
17544 * graphite.c: Likewise.
17545 * haifa-sched.c: Likewise.
17546 * hw-doloop.c: Likewise.
17547 * ifcvt.c: Likewise.
17548 * init-regs.c: Likewise.
17549 * internal-fn.c: Likewise.
17550 * ipa-chkp.c: Likewise.
17551 * ipa-comdats.c: Likewise.
17552 * ipa-cp.c: Likewise.
17553 * ipa-devirt.c: Likewise.
17554 * ipa-icf-gimple.c: Likewise.
17555 * ipa-icf.c: Likewise.
17556 * ipa-inline-analysis.c: Likewise.
17557 * ipa-inline-transform.c: Likewise.
17558 * ipa-inline.c: Likewise.
17559 * ipa-polymorphic-call.c: Likewise.
17560 * ipa-profile.c: Likewise.
17561 * ipa-prop.c: Likewise.
17562 * ipa-pure-const.c: Likewise.
17563 * ipa-ref.c: Likewise.
17564 * ipa-reference.c: Likewise.
17565 * ipa-split.c: Likewise.
17566 * ipa-utils.c: Likewise.
17567 * ipa-visibility.c: Likewise.
17568 * ipa.c: Likewise.
17569 * ira-build.c: Likewise.
17570 * ira-color.c: Likewise.
17571 * ira-conflicts.c: Likewise.
17572 * ira-costs.c: Likewise.
17573 * ira-emit.c: Likewise.
17574 * ira-lives.c: Likewise.
17575 * ira.c: Likewise.
17576 * jump.c: Likewise.
17577 * langhooks.c: Likewise.
17578 * lcm.c: Likewise.
17579 * loop-doloop.c: Likewise.
17580 * loop-init.c: Likewise.
17581 * loop-invariant.c: Likewise.
17582 * loop-iv.c: Likewise.
17583 * loop-unroll.c: Likewise.
17584 * lower-subreg.c: Likewise.
17585 * lra-assigns.c: Likewise.
17586 * lra-coalesce.c: Likewise.
17587 * lra-constraints.c: Likewise.
17588 * lra-eliminations.c: Likewise.
17589 * lra-lives.c: Likewise.
17590 * lra-remat.c: Likewise.
17591 * lra-spills.c: Likewise.
17592 * lra.c: Likewise.
17593 * lto-cgraph.c: Likewise.
17594 * lto-compress.c: Likewise.
17595 * lto-opts.c: Likewise.
17596 * lto-section-in.c: Likewise.
17597 * lto-section-out.c: Likewise.
17598 * lto-streamer-in.c: Likewise.
17599 * lto-streamer-out.c: Likewise.
17600 * lto-streamer.c: Likewise.
17601 * mcf.c: Likewise.
17602 * mode-switching.c: Likewise.
17603 * modulo-sched.c: Likewise.
17604 * omega.c: Likewise.
17605 * omp-low.c: Likewise.
17606 * optabs.c: Likewise.
17607 * opts-global.c: Likewise.
17608 * passes.c: Likewise.
17609 * plugin.c: Likewise.
17610 * postreload-gcse.c: Likewise.
17611 * postreload.c: Likewise.
17612 * predict.c: Likewise.
17613 * print-rtl.c: Likewise.
17614 * print-tree.c: Likewise.
17615 * profile.c: Likewise.
17616 * real.c: Likewise.
17617 * realmpfr.c: Likewise.
17618 * recog.c: Likewise.
17619 * ree.c: Likewise.
17620 * reg-stack.c: Likewise.
17621 * regcprop.c: Likewise.
17622 * reginfo.c: Likewise.
17623 * regrename.c: Likewise.
17624 * regstat.c: Likewise.
17625 * reload.c: Likewise.
17626 * reload1.c: Likewise.
17627 * reorg.c: Likewise.
17628 * resource.c: Likewise.
17629 * rtl-chkp.c: Likewise.
17630 * rtlanal.c: Likewise.
17631 * rtlhooks.c: Likewise.
17632 * sanopt.c: Likewise.
17633 * sched-deps.c: Likewise.
17634 * sched-ebb.c: Likewise.
17635 * sched-rgn.c: Likewise.
17636 * sched-vis.c: Likewise.
17637 * sdbout.c: Likewise.
17638 * sel-sched-dump.c: Likewise.
17639 * sel-sched-ir.c: Likewise.
17640 * sel-sched.c: Likewise.
17641 * sese.c: Likewise.
17642 * shrink-wrap.c: Likewise.
17643 * simplify-rtx.c: Likewise.
17644 * stack-ptr-mod.c: Likewise.
17645 * stmt.c: Likewise.
17646 * stor-layout.c: Likewise.
17647 * store-motion.c: Likewise.
17648 * stringpool.c: Likewise.
17649 * symtab.c: Likewise.
17650 * target-globals.c: Likewise.
17651 * targhooks.c: Likewise.
17652 * toplev.c: Likewise.
17653 * tracer.c: Likewise.
17654 * trans-mem.c: Likewise.
17655 * tree-affine.c: Likewise.
17656 * tree-browser.c: Likewise.
17657 * tree-call-cdce.c: Likewise.
17658 * tree-cfg.c: Likewise.
17659 * tree-cfgcleanup.c: Likewise.
17660 * tree-chkp-opt.c: Likewise.
17661 * tree-chkp.c: Likewise.
17662 * tree-chrec.c: Likewise.
17663 * tree-complex.c: Likewise.
17664 * tree-data-ref.c: Likewise.
17665 * tree-dfa.c: Likewise.
17666 * tree-diagnostic.c: Likewise.
17667 * tree-dump.c: Likewise.
17668 * tree-eh.c: Likewise.
17669 * tree-emutls.c: Likewise.
17670 * tree-if-conv.c: Likewise.
17671 * tree-inline.c: Likewise.
17672 * tree-into-ssa.c: Likewise.
17673 * tree-iterator.c: Likewise.
17674 * tree-loop-distribution.c: Likewise.
17675 * tree-nested.c: Likewise.
17676 * tree-nrv.c: Likewise.
17677 * tree-object-size.c: Likewise.
17678 * tree-outof-ssa.c: Likewise.
17679 * tree-parloops.c: Likewise.
17680 * tree-phinodes.c: Likewise.
17681 * tree-predcom.c: Likewise.
17682 * tree-pretty-print.c: Likewise.
17683 * tree-profile.c: Likewise.
17684 * tree-scalar-evolution.c: Likewise.
17685 * tree-sra.c: Likewise.
17686 * tree-ssa-address.c: Likewise.
17687 * tree-ssa-alias.c: Likewise.
17688 * tree-ssa-ccp.c: Likewise.
17689 * tree-ssa-coalesce.c: Likewise.
17690 * tree-ssa-copy.c: Likewise.
17691 * tree-ssa-copyrename.c: Likewise.
17692 * tree-ssa-dce.c: Likewise.
17693 * tree-ssa-dom.c: Likewise.
17694 * tree-ssa-dse.c: Likewise.
17695 * tree-ssa-forwprop.c: Likewise.
17696 * tree-ssa-ifcombine.c: Likewise.
17697 * tree-ssa-live.c: Likewise.
17698 * tree-ssa-loop-ch.c: Likewise.
17699 * tree-ssa-loop-im.c: Likewise.
17700 * tree-ssa-loop-ivcanon.c: Likewise.
17701 * tree-ssa-loop-ivopts.c: Likewise.
17702 * tree-ssa-loop-manip.c: Likewise.
17703 * tree-ssa-loop-niter.c: Likewise.
17704 * tree-ssa-loop-prefetch.c: Likewise.
17705 * tree-ssa-loop-unswitch.c: Likewise.
17706 * tree-ssa-loop.c: Likewise.
17707 * tree-ssa-math-opts.c: Likewise.
17708 * tree-ssa-operands.c: Likewise.
17709 * tree-ssa-phiopt.c: Likewise.
17710 * tree-ssa-phiprop.c: Likewise.
17711 * tree-ssa-pre.c: Likewise.
17712 * tree-ssa-propagate.c: Likewise.
17713 * tree-ssa-reassoc.c: Likewise.
17714 * tree-ssa-sccvn.c: Likewise.
17715 * tree-ssa-scopedtables.c: Likewise.
17716 * tree-ssa-sink.c: Likewise.
17717 * tree-ssa-strlen.c: Likewise.
17718 * tree-ssa-structalias.c: Likewise.
17719 * tree-ssa-tail-merge.c: Likewise.
17720 * tree-ssa-ter.c: Likewise.
17721 * tree-ssa-threadedge.c: Likewise.
17722 * tree-ssa-threadupdate.c: Likewise.
17723 * tree-ssa-uncprop.c: Likewise.
17724 * tree-ssa-uninit.c: Likewise.
17725 * tree-ssa.c: Likewise.
17726 * tree-ssanames.c: Likewise.
17727 * tree-stdarg.c: Likewise.
17728 * tree-streamer-in.c: Likewise.
17729 * tree-streamer-out.c: Likewise.
17730 * tree-streamer.c: Likewise.
17731 * tree-switch-conversion.c: Likewise.
17732 * tree-tailcall.c: Likewise.
17733 * tree-vect-data-refs.c: Likewise.
17734 * tree-vect-generic.c: Likewise.
17735 * tree-vect-loop-manip.c: Likewise.
17736 * tree-vect-loop.c: Likewise.
17737 * tree-vect-patterns.c: Likewise.
17738 * tree-vect-slp.c: Likewise.
17739 * tree-vect-stmts.c: Likewise.
17740 * tree-vectorizer.c: Likewise.
17741 * tree-vrp.c: Likewise.
17742 * tree.c: Likewise.
17743 * tsan.c: Likewise.
17744 * ubsan.c: Likewise.
17745 * valtrack.c: Likewise.
17746 * value-prof.c: Likewise.
17747 * var-tracking.c: Likewise.
17748 * varasm.c: Likewise.
17749 * varpool.c: Likewise.
17750 * vmsdbgout.c: Likewise.
17751 * vtable-verify.c: Likewise.
17752 * web.c: Likewise.
17753 * wide-int.cc: Likewise.
17754 * xcoffout.c: Likewise.
17755 * config/aarch64/aarch64-builtins.c: Likewise.
17756 * config/aarch64/aarch64.c: Likewise.
17757 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
17758 * config/alpha/alpha.c: Likewise.
17759 * config/arc/arc.c: Likewise.
17760 * config/arm/aarch-common.c: Likewise.
17761 * config/arm/arm-builtins.c: Likewise.
17762 * config/arm/arm-c.c: Likewise.
17763 * config/arm/arm.c: Likewise.
17764 * config/avr/avr-c.c: Likewise.
17765 * config/avr/avr-log.c: Likewise.
17766 * config/avr/avr.c: Likewise.
17767 * config/bfin/bfin.c: Likewise.
17768 * config/c6x/c6x.c: Likewise.
17769 * config/cr16/cr16.c: Likewise.
17770 * config/cris/cris.c: Likewise.
17771 * config/darwin-c.c: Likewise.
17772 * config/darwin.c: Likewise.
17773 * config/epiphany/epiphany.c: Likewise.
17774 * config/epiphany/mode-switch-use.c: Likewise.
17775 * config/epiphany/resolve-sw-modes.c: Likewise.
17776 * config/fr30/fr30.c: Likewise.
17777 * config/frv/frv.c: Likewise.
17778 * config/ft32/ft32.c: Likewise.
17779 * config/h8300/h8300.c: Likewise.
17780 * config/i386/i386-c.c: Likewise.
17781 * config/i386/i386.c: Likewise.
17782 * config/i386/msformat-c.c: Likewise.
17783 * config/i386/winnt-cxx.c: Likewise.
17784 * config/i386/winnt-stubs.c: Likewise.
17785 * config/i386/winnt.c: Likewise.
17786 * config/ia64/ia64-c.c: Likewise.
17787 * config/ia64/ia64.c: Likewise.
17788 * config/iq2000/iq2000.c: Likewise.
17789 * config/lm32/lm32.c: Likewise.
17790 * config/m32c/m32c-pragma.c: Likewise.
17791 * config/m32c/m32c.c: Likewise.
17792 * config/m32r/m32r.c: Likewise.
17793 * config/m68k/m68k.c: Likewise.
17794 * config/mcore/mcore.c: Likewise.
17795 * config/mep/mep-pragma.c: Likewise.
17796 * config/mep/mep.c: Likewise.
17797 * config/microblaze/microblaze-c.c: Likewise.
17798 * config/microblaze/microblaze.c: Likewise.
17799 * config/mips/mips.c: Likewise.
17800 * config/mmix/mmix.c: Likewise.
17801 * config/mn10300/mn10300.c: Likewise.
17802 * config/moxie/moxie.c: Likewise.
17803 * config/msp430/msp430-c.c: Likewise.
17804 * config/msp430/msp430.c: Likewise.
17805 * config/nds32/nds32-cost.c: Likewise.
17806 * config/nds32/nds32-fp-as-gp.c: Likewise.
17807 * config/nds32/nds32-intrinsic.c: Likewise.
17808 * config/nds32/nds32-isr.c: Likewise.
17809 * config/nds32/nds32-md-auxiliary.c: Likewise.
17810 * config/nds32/nds32-memory-manipulation.c: Likewise.
17811 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
17812 * config/nds32/nds32-predicates.c: Likewise.
17813 * config/nds32/nds32.c: Likewise.
17814 * config/nios2/nios2.c: Likewise.
17815 * config/nvptx/nvptx.c: Likewise.
17816 * config/pa/pa.c: Likewise.
17817 * config/pdp11/pdp11.c: Likewise.
17818 * config/rl78/rl78-c.c: Likewise.
17819 * config/rl78/rl78.c: Likewise.
17820 * config/rs6000/rs6000-c.c: Likewise.
17821 * config/rs6000/rs6000.c: Likewise.
17822 * config/rx/rx.c: Likewise.
17823 * config/s390/s390-c.c: Likewise.
17824 * config/s390/s390.c: Likewise.
17825 * config/sh/sh-c.c: Likewise.
17826 * config/sh/sh-mem.cc: Likewise.
17827 * config/sh/sh.c: Likewise.
17828 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
17829 * config/sh/sh_treg_combine.cc: Likewise.
17830 * config/sol2-c.c: Likewise.
17831 * config/sol2-cxx.c: Likewise.
17832 * config/sol2-stubs.c: Likewise.
17833 * config/sol2.c: Likewise.
17834 * config/sparc/sparc-c.c: Likewise.
17835 * config/sparc/sparc.c: Likewise.
17836 * config/spu/spu-c.c: Likewise.
17837 * config/spu/spu.c: Likewise.
17838 * config/stormy16/stormy16.c: Likewise.
17839 * config/tilegx/mul-tables.c: Likewise.
17840 * config/tilegx/tilegx-c.c: Likewise.
17841 * config/tilegx/tilegx.c: Likewise.
17842 * config/tilepro/mul-tables.c: Likewise.
17843 * config/tilepro/tilepro-c.c: Likewise.
17844 * config/tilepro/tilepro.c: Likewise.
17845 * config/v850/v850-c.c: Likewise.
17846 * config/v850/v850.c: Likewise.
17847 * config/vax/vax.c: Likewise.
17848 * config/visium/visium.c: Likewise.
17849 * config/vms/vms-c.c: Likewise.
17850 * config/vms/vms.c: Likewise.
17851 * config/vxworks.c: Likewise.
17852 * config/xtensa/xtensa.c: Likewise.
17853
17854 2015-07-07 Uros Bizjak <ubizjak@gmail.com>
17855
17856 * config/i386/i386.md (*jcc_bt<mode>): Only split before reload.
17857 Remove operand constraints. Change operand 2 predicate to
17858 nonmemory operand. Limit const_int values to mode bitsize. Only
17859 allow const_int values less than 32 when optimizing for size.
17860 (*jcc_bt<mode>_1, *jcc_bt<mode>_mask): Only split before reload.
17861 Remove operand constraints.
17862 (*bt<mode>): Use SImode for const_int values less than 32.
17863 (regmode): Remove mode attribute.
17864
17865 2015-07-07 Anatoly Sokolov <aesok@post.ru>
17866
17867 * config/moxie/moxie.h (GO_IF_LEGITIMATE_ADDRESS): Remove macros.
17868 * config/moxie/moxie.c (moxie_reg_ok_for_base_p,
17869 moxie_legitimate_address_p): New functions.
17870 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
17871
17872 2015-07-07 Tom de Vries <tom@codesourcery.com>
17873
17874 PR tree-optimization/66642
17875 * tree-parloops.c (transform_to_exit_first_loop_alt): Update function
17876 header comment. Rename split_edge variable to edge_at_split. Split
17877 exit edge to create new loop exit bb. Insert loop exit phis in new
17878 loop exit bb.
17879
17880 2015-07-07 Tom de Vries <tom@codesourcery.com>
17881
17882 * tree-cfg.c (get_virtual_phi): New function.
17883 * tree-cfg.h (get_virtual_phi): Declare.
17884 * tree-ssa-loop-manip.c (replace_uses_in_dominated_bbs)
17885 (rewrite_virtuals_into_loop_closed_ssa): New function.
17886 * tree-ssa-loop-manip.h (rewrite_virtuals_into_loop_closed_ssa):
17887 Declare.
17888 * tree-parloops.c (replace_uses_in_bbs_by): Remove.
17889 (transform_to_exit_first_loop_alt): Use
17890 rewrite_virtuals_into_loop_closed_ssa.
17891
17892 2015-07-07 Richard Biener <rguenther@suse.de>
17893
17894 * fold-const.c (fold_binary_loc): Move
17895 (X & C2) << C1 -> (X << C1) & (C2 << C1) simplification ...
17896 * match.pd: ... here.
17897 Add (X * C1) % C2 -> 0 simplification pattern derived from
17898 extract_muldiv_1.
17899
17900 2015-07-07 Kaz Kojima <kkojima@gcc.gnu.org>
17901
17902 PR target/66780
17903 * config/sh/sh.md (symGOT_load): Revert a part of 2015-03-03
17904 change for target/65249.
17905
17906 2015-07-07 Paulo Matos <pmatos@broadcom.com>
17907
17908 * symtab.c (address_matters_1): Fix typo in comment above.
17909 (can_increase_alignment_p): Likewise.
17910
17911 2015-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
17912
17913 * function.c (free_after_compilation): Clear PROP_cfg in
17914 f->curr_properties.
17915
17916 2015-07-07 Richard Biener <rguenther@suse.de>
17917
17918 * tree-ssa-propagate.c (add_ssa_edge): Dump what edge list we
17919 add which use to.
17920 (add_control_edge): Remove excessive vertical space in dumping.
17921 (process_ssa_edge_worklist): Simulate at most one statement and
17922 return whether we did. Do not simulate PHIs if they are in a
17923 BB not yet simulated.
17924 (ssa_propagate): Adjust to always drain the BB worklist whenever
17925 a BB is available there, likewise the VARYING edges list before
17926 the interesting edge list.
17927
17928 2015-07-07 Christian Bruel <christian.bruel@st.com>
17929
17930 PR target/52144
17931 * config/arm/elf.h (TARGET_ASM_FILE_START_APP_OFF): Delete.
17932
17933 2015-07-07 Richard Biener <rguenther@suse.de>
17934
17935 PR middle-end/66739
17936 * match.pd: Condition A - B ==/!= 0 -> A ==/!= B on single-use
17937 A - B.
17938
17939 2015-07-06 Uros Bizjak <ubizjak@gmail.com>
17940
17941 * config/i386/i386.md (insv<mode>): Rename from insv. Use SWI48
17942 modes for operands 0 and 3. Use SImode for operands 2 and 3.
17943 Copy operand 0 to a temporary if !ext_register_operand. Remove
17944 ancient extract_bit_field workaround.
17945 (insv<mode>_1): Rename from mov<mode>_insv_1.
17946 (*insvqi): Rename from *movqi_insv_2.
17947 * config/i386/i386.c (emit_i386_cw_initialization): Update calls
17948 for renamed insvsi_1.
17949 (promote_duplicated_reg): Ditto for renamed insv<mode>_1.
17950
17951 2015-07-06 Nathan Sidwell <nathan@codesourcery.com>
17952
17953 * config/nvptx/nvptx.c (nvptx_reorg): Remove unused vars. Fix
17954 call to nvptx_reorg_subreg.
17955
17956 2015-07-06 Jim Wilson <jim.wilson@linaro.org>
17957
17958 * graphite-blocking.c (HAVE_isl): Include <stddef.h>.
17959 * graphite-dependencies.c, graphite-interchange.c,
17960 graphite-isl-ast-to-gimple.c, graphite-optimize-isl.c, graphite-poly.c,
17961 graphite-scop-detection.c, graphite-sese-to-poly.c, graphite.c:
17962 Likewise.
17963
17964 2015-07-06 Marc Glisse <marc.glisse@inria.fr>
17965
17966 * match.pd: Remove element_mode inside HONOR_*.
17967 (~ (-A) -> A - 1, ~ (A - 1) -> -A): Handle complex types.
17968 (~X | X -> -1, ~X ^ X -> -1): Merge.
17969 * tree.c (build_each_one_cst): New function.
17970 * tree.h (build_each_one_cst): Likewise.
17971
17972 2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
17973
17974 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
17975 PROCESSOR_IAMCU.
17976
17977 2015-07-06 Steve Ellcey <sellcey@imgtec.com>
17978
17979 * config.gcc <mips*-*-*>: Add fused-madd.opt.
17980 * config/mips/mips.opt (mfused-madd): Remove.
17981 * config/mips/mips.c (mips_rtx_costs): Update cost calculations.
17982 * config/mips/mips.h (TARGET_MIPS8000): New.
17983 (ISA_HAS_FP_MADD4_MSUB4): Remove.
17984 (ISA_HAS_FP_MADDF_MSUBF): Remove.
17985 (ISA_HAS_FP_MADD3_MSUB3): Remove.
17986 (ISA_HAS_NMADD4_NMSUB4): Remove.
17987 (ISA_HAS_NMADD3_NMSUB3): Remove.
17988 (ISA_HAS_FUSED_MADD4): New.
17989 (ISA_HAS_UNFUSED_MADD4): New.
17990 (ISA_HAS_FUSED_MADDF): New.
17991 (ISA_HAS_FUSED_MADD3): New.
17992 * config/mips/mips.md: (fma<mode>4) Change from insn to expand.
17993 (*fma<mode>4_madd3) New.
17994 (*fma<mode>4_madd4) New.
17995 (*fma<mode>4_maddf) New.
17996 (fms<mode>4) New.
17997 (*fms<mode>4_msub3) New.
17998 (*fms<mode>4_msub4) New.
17999 (fnma<mode>4) New.
18000 (*fnma<mode>4_nmadd3) New.
18001 (*fnma<mode>4_nmadd4) New.
18002 (fnms<mode>4) New.
18003 (*fnms<mode>4_nmsub3) New.
18004 (*fnms<mode>4_nmsub4) New.
18005 (*madd4<mode>) Modify to be unfused only.
18006 (*msub4<mode>) Modify to be unfused only.
18007 (*nmadd4<mode>) Modify to be unfused only.
18008 (*nmsub4<mode>) Modify to be unfused only.
18009 (*madd3<mode>) Remove.
18010 (*msub3<mode>) Remove.
18011 (*nmadd3<mode>) Remove.
18012 (*nmsub3<mode>) Remove.
18013 (*nmadd3<mode>_fastmath) Remove.
18014 (*nmsub3<mode>_fastmath) Remove.
18015 (*nmadd4<mode>_fastmath) Update condition.
18016 (*nmsub4<mode>_fastmath) Update condition.
18017
18018 2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
18019
18020 PR target/65956
18021 * config/arm/arm.c (arm_needs_doubleword_align): Drop any outer
18022 alignment attribute, exploring one level down for records and arrays.
18023
18024 2015-07-06 Uros Bizjak <ubizjak@gmail.com>
18025
18026 * config/i386/i386.md (extv<mode>): Rename from extv. Use SWI24
18027 modes for operands 0 and 1. Use SImode for operands 2 and 3.
18028 Copy operand 1 to a temporary if !ext_register_operand. Remove
18029 ancient extract_bit_field workaround.
18030 (*extv<mode>): Rename from *mov<mode>_extv_1.
18031 (*extvqi): Rename from *movqi_extv_1.
18032 (extzv<mode>): Rename from extzv. Use SWI248 modes for
18033 operands 0 and 1. Use SImode for operands 2 and 3. Copy operand 1
18034 to a temporary if !ext_register_operand. Remove ancient
18035 extract_bit_field workaround.
18036 (*extzv<mode>): Rename from *mov<mode>_extzv_1.
18037 (*extzvqi): Rename from *movqi_extzv_2.
18038 (*testqi_ext_3): Remove modes from const_int_operand predicated
18039 operands. Add "n" constraint.
18040 (*btsq, *btrq, *btcq): Remove mode from const_0_to_63 predicated
18041 operand. Add "J" constraint.
18042 (*btsq, *btrq, *btcq peephole2s): Remove mode from
18043 const_0_to_63 predicated operand.
18044 (regmode): New insn attribute.
18045 (*bt<mode>): Use SImode for operand 1. Change operand 1 predicate
18046 to nonmemory_operand. Use regmode insn attribute.
18047 (*jcc_bt<mode>_1): Convert operand 2 to SImode.
18048 (*jcc_bt<mode>_mask): Remove mode from operand 3.
18049 (*jcc_btsi_1, *jcc_btsi_mask_1): Remove patterns.
18050 (tbm_bextri_<mode>): Remove modes from const_0_to_255 predicated
18051 operands. Use "N" constraint instead of "n".
18052
18053 2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
18054
18055 * config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state.
18056
18057 2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
18058
18059 PR target/66749
18060 * config/i386/i386.c (iamcu_cost): New.
18061 (m_IAMCU): Likewise.
18062 (initial_ix86_arch_features): Disable X86_ARCH_CMOV for m_IAMCU.
18063 (processor_target_table): Add an entry for "iamcu".
18064 (processor_alias_table): Likewise.
18065 (ix86_issue_rate): Handle PROCESSOR_IAMCU.
18066 (ix86_adjust_cost): Likewise.
18067 (ia32_multipass_dfa_lookahead): Likewise.
18068 * config/i386/i386.h (processor_type): Add PROCESSOR_IAMCU.
18069 * config/i386/x86-tune.def: Updated for m_IAMCU.
18070
18071 2015-07-06 Richard Biener <rguenther@suse.de>
18072
18073 PR tree-optimization/66772
18074 * tree-ssa-ccp.c (ccp_visit_phi_node): Make sure that copy
18075 values are available in the PHI node BB when there are
18076 still unexecutable edges.
18077
18078 2015-07-06 Richard Biener <rguenther@suse.de>
18079
18080 PR tree-optimization/66767
18081 * tree-vect-loop-manip.c (vect_create_cond_for_align_checks):
18082 Make sure to build the alignment test on a SSA name without
18083 final alignment info valid only if the alignment test
18084 evaluates to true.
18085
18086 2015-07-06 Bernd Schmidt <bernds@codesourcery.com>
18087
18088 PR target/66620
18089 * config/bfin/bfin.c (hwloop_optimize): Create new bb between jump and
18090 loop start when inserting LSETUP.
18091
18092 2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
18093
18094 PR target/53383
18095 * config/i386/i386.c (ix86_option_override_internal): Allow
18096 -mincoming-stack-boundary=3 for 64-bit if SSE is disabled.
18097
18098 2015-07-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18099
18100 * read-md.c (decimal_string): Rename to ...
18101 (md_decimal_string): ... this.
18102 (handle_enum): Reflect this.
18103
18104 2015-07-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
18105
18106 PR target/66731
18107 * config/aarch64/aarch64.md (fnmul<mode>3): Handle -frounding-math.
18108
18109 2015-07-06 Richard Biener <rguenther@suse.de>
18110
18111 PR middle-end/66759
18112 * match.pd: Add missing constraint of y to REAL_CST in
18113 REAL_CST - x CMP y to y - CST CMP x simplification.
18114
18115 2015-07-06 Eric Botcazou <ebotcazou@adacore.com>
18116
18117 PR tree-optimization/66757
18118 * match.pd: Add missing condition to ~X ^ C -> X ^ ~C.
18119
18120 2015-07-05 Chung-Lin Tang <cltang@codesourcery.com>
18121 Sandra Loosemore <sandra@codesourcery.com>
18122
18123 * config/nios2/nios2-protos.h (nios2_symbol_ref_in_small_data_p):
18124 Delete extern declaration.
18125 (gprel_constant_p): Add extern declaration.
18126 * config/nios2/constraints.md ("S"): Use gprel_constant_p
18127 instead of nios2_symbol_ref_in_small_data_p.
18128 * config/nios2/nios2.c (nios2_legitimate_address_p): Likewise.
18129 (nios2_symbol_ref_in_small_data_p): Make static.
18130 (gprel_constant_p): Make non-static.
18131
18132 2015-07-05 Gerald Pfeifer <gerald@pfeifer.com>
18133
18134 * doc/fragments.texi (Target Fragment): Convert debian.org
18135 link to use https.
18136 * doc/install.texi (Configuration): Ditto.
18137
18138 2015-07-05 Jakub Jelinek <jakub@redhat.com>
18139
18140 PR tree-optimization/66718
18141 * tree-vect-stmts.c (vectorizable_call): Replace uses of
18142 GOMP_SIMD_LANE outside of loop with vf - 1 rather than 0.
18143
18144 PR tree-optimization/66718
18145 * tree-vect-stmts.c (vectorizable_assignment, vectorizable_store,
18146 vectorizable_load, vectorizable_condition): Move vectype,
18147 nunits, ncopies computation after checking what kind of statement
18148 stmt is.
18149
18150 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
18151
18152 * target-insns.def (extv, extzv, insv): New targetm instruction
18153 patterns.
18154 * optabs.c (get_extraction_insn): Use them instead of HAVE_*/gen_*
18155 interface.
18156 * recog.c (simplify_while_replacing): Likewise.
18157
18158 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
18159
18160 * target-insns.def (doloop_begin, doloop_end): New targetm
18161 instruction patterns.
18162 * loop-init.c: Include target.h.
18163 (pass_loop2::gate): Use the new targetm patterns instead of
18164 HAVE_*/gen_* interface.
18165 (pass_rtl_doloop::gate): Likewise.
18166 (pass_rtl_doloop::execute): Remove preprocessor condition.
18167 * hw-doloop.c: Build unconditionally.
18168 * loop-doloop.c: Likewise.
18169 (doloop_optimize): Use the new targetm patterns instead of
18170 HAVE_*/gen_* interface.
18171 (doloop_modify): Likewise. Change type of doloop_seq to rtx_insn *.
18172 * modulo-sched.c (doloop_register_get): Likewise.
18173
18174 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
18175
18176 * target-insns.def (clear_cache): New targetm instruction pattern.
18177 * builtins.c (expand_builtin___clear_cache): Use it instead of
18178 HAVE_*/gen_* interface.
18179
18180 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
18181
18182 * target-insns.def (allocate_stack, check_stack, probe_stack)
18183 (probe_stack_address, split_stack_prologue, split_stack_space_check):
18184 New targetm instruction patterns.
18185 * explow.c (allocate_dynamic_stack_space): Use them instead of
18186 HAVE_*/gen_* interface.
18187 (emit_stack_probe): Likewise.
18188 (probe_stack_range): Likewise.
18189 * function.c (thread_prologue_and_epilogue_insns): Likewise.
18190
18191 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
18192
18193 * target-insns.def (stack_protect_set, stack_protect_test): New
18194 targetm instruction patterns.
18195 * cfgexpand.c (stack_protect_prologue): Use them instead of
18196 HAVE_*/gen_* interface.
18197 * function.c (stack_protect_epilogue): Likewise.
18198
18199 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
18200
18201 * expr.h (gen_move_insn_uncast): Delete.
18202 * expr.c (gen_move_insn_uncast): Delete.
18203
18204 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
18205
18206 * target-insns.def (restore_stack_block, restore_stack_function)
18207 (restore_stack_nonlocal, save_stack_block, save_stack_function)
18208 (save_stack_nonlocal): New targetm instruction patterns.
18209 * builtins.c (expand_builtin_apply): Use them instead of
18210 HAVE_*/gen_* interface.
18211 * explow.c (emit_stack_save, emit_stack_restore): Likewise.
18212
18213 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
18214
18215 * target-insns.def (trap): New targetm instruction pattern.
18216 * builtins.c (expand_builtin_trap): Use it instead of HAVE_*/gen_*
18217 interface.
18218 * explow.c (allocate_dynamic_stack_space): Likewise.
18219 * ifcvt.c (find_if_header): Likewise.
18220
18221 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
18222
18223 * target-insns.def (prefetch): New targetm instruction pattern.
18224 * tree-ssa-loop-prefetch.c: Include targeth.
18225 (tree_ssa_prefetch_arrays): Use prefetch targetm pattern instead
18226 of HAVE_*/gen_* interface.
18227 * builtins.c (expand_builtin_prefetch): Likewise.
18228 * toplev.c (process_options): Likewise.
18229
18230 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
18231
18232 * target-insns.def (untyped_call, untyped_return): New targetm
18233 instruction patterns.
18234 * builtins.c (expand_builtin_apply): Use them instead of
18235 HAVE_*/gen_* interface.
18236 (result_vector): Define unconditionally.
18237
18238 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
18239
18240 * target-insns.def (builtin_longjmp, builtin_setjmp_receiver)
18241 (builtin_setjmp_setup, exception_receiver, nonlocal_goto)
18242 (nonlocal_goto_receiver): New targetm instruction patterns.
18243 * builtins.c (expand_builtin_setjmp_setup): Use them instead
18244 of HAVE_*/gen_* interface.
18245 (expand_builtin_setjmp_receiver): Likewise.
18246 (expand_builtin_longjmp, expand_builtin_nonlocal_goto): Likewise.
18247 * except.c (expand_dw2_landing_pad_for_region): Likewise.
18248
18249 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
18250
18251 * target.def: Add code_for_* hooks.
18252 * gentarget-def.c (def_target_insn): Add TARGET_CODE_FOR_* macros.
18253 * defaults.h (HAVE_tablejump, gen_tablejump): Delete.
18254 * target-insns.def (casesi, tablejump): New targetm instruction
18255 patterns.
18256 * expr.c (try_casesi): Use them instead of HAVE_*/gen_* interface.
18257 (do_tablejump): Likewise.
18258 * stmt.c (expand_switch_as_decision_tree_p): Likewise.
18259 (expand_sjlj_dispatch_table): Likewise.
18260 * targhooks.c (default_case_values_threshold): Likewise.
18261
18262 2015-07-04 Sandra Loosemore <sandra@codesourcery.com>
18263
18264 * config/nios2/nios2.c (save_reg, restore_reg): Use plus_constant.
18265 Use rtx_insn * instead of rtx.
18266 (nios2_emit_add_constant): Use rtx_insn * instead of rtx.
18267 (nios2_expand_prologue, nios2_expand_epilogue): Likewise.
18268 (nios2_call_tls_get_addr): Likewise.
18269 (nios2_emit_expensive_div): Likewise.
18270 (nios2_emit_move_sequence): Change return type to bool.
18271 * config/nios2/nios2-protos.h (nios2_emit_move_sequence):
18272 Change return type to bool.
18273
18274 2015-07-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
18275
18276 PR target/66747
18277 * config/mips/mips.c (mips_find_gp_ref): Handle instruction sequences.
18278
18279 2015-07-04 John David Anglin <danglin@gcc.gnu.org>
18280
18281 PR target/66114
18282 * config/pa/pa.md (indirect_jump): Use pmode_register_operand instead
18283 of register_operand. Remove constraint.
18284
18285 2015-07-04 Marc Glisse <marc.glisse@inria.fr>
18286
18287 * tree-cfg.c (verify_gimple_assign_ternary) <VEC_COND_EXPR>: Check
18288 the first argument.
18289
18290 2015-07-03 Paolo Carlini <paolo.carlini@oracle.com>
18291
18292 * attribs.c (decl_attributes): Guard inform with the return value
18293 of the preceding warning.
18294
18295 2015-07-03 James Greenhalgh <james.greenhalgh@arm.com>
18296
18297 * doc/invoke.texi (moverride): Move to correct section.
18298
18299 2015-07-03 Richard Biener <rguenther@suse.de>
18300
18301 * genmatch.c (commutative_tree_code, commutative_ternary_tree_code):
18302 Copy from tree.c
18303 (dt_operand::gen_gimple_expr): After valueizing operands
18304 re-canonicalize operand order for commutative tree codes.
18305
18306 2015-07-03 H.J. Lu <hongjiu.lu@intel.com>
18307
18308 PR target/66746.
18309 * config/i386/ia32intrin.h (__crc32b): Don't define if __iamcu__
18310 is defined.
18311 (__crc32w): Likewise.
18312 (__crc32d): Likewise.
18313 (__rdpmc): Likewise.
18314 (__rdtscp): Likewise.
18315 (_rdpmc): Likewise.
18316 (_rdtscp): Likewise.
18317 * config/i386/x86intrin.h: Only include ia32intrin.h if __iamcu__
18318 is defined.
18319
18320 2015-07-03 Richard Biener <rguenther@suse.de>
18321
18322 * fold-const.c (fold_mathfn_compare): Remove.
18323 (fold_inf_compare): Likewise.
18324 (fold_comparison): Move floating point comparison simplifications...
18325 * match.pd: ... to patterns here. Introduce simple_comparisons
18326 operator list and use it for patterns formerly in fold_comparison.
18327
18328 2015-07-03 James Greenhalgh <james.greenhalgh@arm.com>
18329
18330 PR tree-optimization/66119
18331 * toplev.c (process_options): Don't set up default values for
18332 the sra_max_scalarization_size_{speed,size} parameters.
18333 * tree-sra (analyze_all_variable_accesses): If no values
18334 have been set for the sra_max_scalarization_size_{speed,size}
18335 parameters, call get_move_ratio to get target defaults.
18336
18337 2015-07-03 Richard Biener <rguenther@suse.de>
18338
18339 * fold-const.c (fold_binary_loc): Move (T)ptr & CST folding...
18340 * match.pd: ... here.
18341
18342 2015-07-03 Gerald Pfeifer <gerald@pfeifer.com>
18343
18344 PR target/37072
18345 * doc/invoke.texi (i386 and x86-64 Options): -mno-fancy-math-387
18346 is not actually the default on FreeBSD.
18347
18348 2015-07-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
18349
18350 * config/rs6000/rs6000-builtin.def (CMPGE_16QI): New built-in
18351 definition.
18352 (CMPGE_8HI): Likewise.
18353 (CMPGE_4SI): Likewise.
18354 (CMPGE_2DI): Likewise.
18355 (CMPGE_U16QI): Likewise.
18356 (CMPGE_U8HI): Likewise.
18357 (CMPGE_U4SI): Likewise.
18358 (CMPGE_U2DI): Likewise.
18359 (CMPLE_16QI): Likewise.
18360 (CMPLE_8HI): Likewise.
18361 (CMPLE_4SI): Likewise.
18362 (CMPLE_2DI): Likewise.
18363 (CMPLE_U16QI): Likewise.
18364 (CMPLE_U8HI): Likewise.
18365 (CMPLE_U4SI): Likewise.
18366 (CMPLE_U2DI): Likewise.
18367 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
18368 overloads for ALTIVEC_BUILTIN_VEC_CMPGE and
18369 ALTIVEC_BUILTIN_VEC_CMPLE.
18370 * config/rs6000/vector.md (vector_ge<mode>): Restrict to
18371 floating-point vector modes.
18372 (vector_nlt<mode>): New define_expand.
18373 (vector_nltu<mode>): Likewise.
18374 (vector_ngt<mode>): Likewise.
18375 (vector_ngtu<mode>): Likewise.
18376
18377 2015-07-02 Segher Boessenkool <segher@kernel.crashing.org>
18378
18379 PR rtl-optimization/66706
18380 * combine.c (make_compound_operation): If an AND of SUBREG of
18381 LSHIFTRT does not simplify, see if just the AND of SUBREG does.
18382
18383 2015-07-02 Alan Lawrence <alan.lawrence@arm.com>
18384
18385 * tree-pass.h (make_pass_ch_vect): New.
18386 * passes.def: Add pass_ch_vect just before pass_if_conversion.
18387
18388 * tree-ssa-loop-ch.c (ch_base, pass_ch_vect, pass_data_ch_vect,
18389 pass_ch::process_loop_p, pass_ch_vect::process_loop_p,
18390 make_pass_ch_vect): New.
18391 (pass_ch): Extend ch_base.
18392
18393 (pass_ch::execute): Move all but loop_optimizer_init/finalize to...
18394 (ch_base::copy_headers): ...here.
18395
18396 2015-07-02 Richard Biener <rguenther@suse.de>
18397
18398 * builtins.c (get_pointer_alignment_1): Handle POINTER_PLUS_EXPR.
18399 * fold-const.c (get_pointer_modulus_and_residue): Remove.
18400 (fold_binary_loc): Implement (T)ptr & CST in terms of
18401 get_pointer_alignment_1.
18402 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop):
18403 Make sure to build the alignment test on a SSA name without
18404 final alignment info valid only after the prologue.
18405
18406 2015-07-02 Hans-Peter Nilsson <hp@axis.com>
18407
18408 * config/cris/cris.md ("epilogue"): Remove condition.
18409 ("prologue"): Ditto.
18410
18411 2015-07-02 Richard Biener <rguenther@suse.de>
18412
18413 * tree-ssa-dom.c (build_and_record_new_cond): Add optional
18414 parameter to record a condition that is false.
18415 (record_conditions): When recording an extra NE_EXPR that is
18416 true also record a EQ_EXPR that is false.
18417
18418 2015-07-02 Bin Cheng <bin.cheng@arm.com>
18419
18420 * tree-ssa-loop-ivopts.c (struct ivopts_data): New field iv_obstack.
18421 (tree_ssa_iv_optimize_init): Initialize iv_obstack.
18422 (alloc_iv): New parameter. Allocate struct iv using obstack_alloc.
18423 (set_iv, find_interesting_uses_address, add_candidate_1): New
18424 argument to alloc_iv.
18425 (find_interesting_uses_op, find_interesting_uses_cond): Don't
18426 duplicate struct iv.
18427 (free_loop_data): Don't free struct iv explicitly.
18428 (tree_ssa_iv_optimize_finalize): Free iv_obstack.
18429
18430 2015-07-01 DJ Delorie <dj@redhat.com>
18431
18432 * config/s390/tpf.h (LIBSTDCXX): Change to CPP1.
18433 (LIB_SPEC): Add.
18434 (SUPPORTS_DISCRIMINATOR): Define.
18435
18436 2015-07-01 Richard Sandiford <richard.sandiford@arm.com>
18437
18438 PR bootstrap/66685
18439 * rtl.c (classify_insn): Only return JUMP_INSN for parallel returns if
18440 there are no CALLs in the same pattern.
18441
18442 2015-07-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
18443
18444 PR rtl-optimization/61047
18445 * rtlanal.c (get_initial_register_offset): New function.
18446 (rtx_addr_can_trap_p_1): Check offsets of stack references.
18447
18448 2015-07-01 Richard Biener <rguenther@suse.de>
18449
18450 * fold-const.c (fold_comparison): Move X - Y CMP 0 -> X CMP Y,
18451 X * C1 CMP 0 -> X CMP 0, X CMP X, ~X CMP ~Y -> Y CMP X and
18452 ~X CMP C -> X CMP' ~C to ...
18453 * match.pd: ... patterns here.
18454
18455 2015-07-01 Nick Clifton <nickc@redhat.com>
18456
18457 * config/msp430/msp430.md (zero_extendhipsi2): Use MOVX.A to store
18458 a 16-bit value into a 20-bit memory slot.
18459
18460 2015-07-01 Jiong Wang <jiong.wang@arm.com>
18461
18462 * doc/sourcebuild.texi (AArch64-specific attributes): Document
18463 "aarch64_tiny", "aarch64_small", "aarch64_large",
18464 "aarch64_little_endian", "aarch64_big_endian".
18465
18466 2015-07-01 Jiong Wang <jiong.wang@arm.com>
18467
18468 * doc/sourcebuild.texi (AArch64-specific attributes): New subsection.
18469 Document "aarch64_small_fpic".
18470
18471 2015-07-01 Jiong Wang <jiong.wang@arm.com>
18472
18473 * configure.ac: Add check for aarch64 assembler -fpic relocation
18474 modifier support.
18475 * configure: Regenerate.
18476 * config.in: Regenerate.
18477 * config/aarch64/aarch64.c (initialize_aarch64_code_model): Fall back
18478 to -fPIC if not support of -fpic relocation modifier in assembler.
18479
18480 2015-07-01 Richard Sandiford <richard.sandiford@arm.com>
18481
18482 PR bootstrap/66685
18483 * rtl.c (classify_insn): Handle returns in PARALLELs.
18484
18485 2015-07-01 Eric Botcazou <ebotcazou@adacore.com>
18486
18487 PR middle-end/66633
18488 * tree-nested.c (convert_nonlocal_omp_clauses): Initialize need_chain
18489 to true if the function is nested and if not optimizing.
18490 (convert_local_omp_clauses): Initialize need_frame to true if the
18491 function contains nested functions and if not optimizing.
18492
18493 2015-07-01 Richard Biener <rguenther@suse.de>
18494
18495 * fold-const.c (fold_binary_loc): Move ~X ^ X -> -1 and
18496 (X & Y) ^ Y -> ~X & Y transforms to ...
18497 * match.pd: ... here.
18498
18499 2015-07-01 Richard Biener <rguenther@suse.de>
18500
18501 * genmatch.c (expr::gen_transform): Shortcut re-simplifying
18502 of converts to avoid uninteresting noise from the conversion
18503 simplifying patterns.
18504
18505 2015-06-30 Sandra Loosemore <sandra@codesourcery.com>
18506
18507 * config/c6x/c6x.c (try_rename_operands): Do not depend on
18508 gcc_assert evaluating its argument for side-effect.
18509
18510 2015-06-30 Kaz Kojima <kkojima@gcc.gnu.org>
18511
18512 PR target/64833
18513 * config/sh/sh.md (casesi_worker_1): Set length to 8 when
18514 flag_pic is set.
18515
18516 2015-06-30 Eric Botcazou <ebotcazou@adacore.com>
18517
18518 * lto-streamer-out.c (class DFS): Adjust hash_scc method.
18519 (DFS::DFS): Pass this_ref_p and ref_p to hash_scc.
18520 (hash_scc): Add this_ref_p and ref_p parameters and pass them
18521 to the inner DFS walk.
18522
18523 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
18524
18525 * target-insns.def (jump): New targetm instruction pattern.
18526 * bb-reorder.c (get_uncond_jump_length): Use targetm.gen_jump
18527 instead of gen_jump.
18528 (fix_up_crossing_landing_pad): Likewise.
18529 (add_labels_and_missing_jumps): Likewise.
18530 (fix_crossing_conditional_branches): Likewise.
18531 * cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
18532 (force_nonfallthru_and_redirect): Likewise.
18533 * cse.c (cse_insn): Likewise.
18534 * expmed.c (expand_divmod): Likewise.
18535 * expr.c (store_expr_with_bounds, expand_expr_real_2): Likewise.
18536 * haifa-sched.c (init_before_recovery): Likewise.
18537 (sched_create_recovery_edges): Likewise.
18538 * ifcvt.c (find_cond_trap): Likewise.
18539 * optabs.c (expand_doubleword_shift, expand_doubleword_clz): Likewise.
18540 (expand_float, expand_fix): Likewise.
18541 * stmt.c (emit_jump): Likewise.
18542
18543 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
18544
18545 * defaults.h (HAVE_load_multiple, gen_load_multiple)
18546 (HAVE_store_multiple, gen_store_multiple): Delete.
18547 * target-insns.def (load_multiple, store_multiple): New targetm
18548 instruction patterns.
18549 * expr.c (move_block_to_reg, move_block_from_reg): Use them instead
18550 of HAVE_*/gen_* interface.
18551
18552 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
18553
18554 * defaults.h (HAVE_mem_thread_fence, gen_mem_thread_fence)
18555 (HAVE_memory_barrier, gen_memory_barrier, HAVE_mem_signal_fence)
18556 (gen_mem_signal_fence): Delete.
18557 * target-insns.def (mem_signal_fence, mem_thread_fence)
18558 (memory_barrier): New targetm instruction patterns.
18559 * optabs.c (expand_mem_thread_fence): Use them instead of HAVE_*/gen_*
18560 interface.
18561 (expand_mem_signal_fence): Likewise.
18562
18563 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
18564
18565 * defaults.h (HAVE_epilogue, gen_epilogue): Delete.
18566 * target-insns.def (epilogue, prologue, sibcall_prologue): New
18567 targetm instruction patterns.
18568 * alias.c (init_alias_analysis): Use them instead of HAVE_*/gen_*
18569 interface.
18570 * calls.c (expand_call): Likewise.
18571 * cfgrtl.c (cfg_layout_finalize): Likewise.
18572 * df-scan.c (df_get_entry_block_def_set): Likewise.
18573 (df_get_exit_block_use_set): Likewise.
18574 * dwarf2cfi.c (pass_dwarf2_frame::gate): Likewise.
18575 * final.c (final_start_function): Likewise.
18576 * function.c (thread_prologue_and_epilogue_insns): Likewise.
18577 (reposition_prologue_and_epilogue_notes): Likewise.
18578 * reorg.c (find_end_label): Likewise.
18579 * toplev.c (process_options): Likewise.
18580
18581 2015-06-30 David Malcolm <dmalcolm@redhat.com>
18582
18583 * typed-splay-tree.h: New file.
18584
18585 2015-06-30 Vladimir Makarov <vmakarov@redhat.com>
18586
18587 PR debug/66691
18588 * lra-int.h (lra_substitute_pseudo): Add a parameter.
18589 (lra_substitute_pseudo_within_insn): Ditto.
18590 * lra.c (lra_substitute_pseudo): Add a parameter. Simplify subreg
18591 of constant.
18592 (lra_substitute_pseudo_within_insn): Add a parameter. Transfer it
18593 to lra_substitute_pseudo.
18594 * lra-lives.c (process_bb_lives): Add an argument to
18595 lra_substitute_pseudo_within_insn call.
18596 * lra-constraints.c (inherit_reload_reg, split_reg): Add an
18597 argument to lra_substitute_pseudo and
18598 lra_substitute_pseudo_within_insn calls.
18599 (remove_inheritance_pseudos, undo_optional_reloads): Ditto.
18600
18601 2015-06-30 H.J. Lu <hongjiu.lu@intel.com>
18602
18603 * configure: Regenerated.
18604
18605 2015-06-30 H.J. Lu <hongjiu.lu@intel.com>
18606
18607 * config.gcc: Support i[34567]86-*-elfiamcu target.
18608 * config/i386/iamcu.h: New.
18609 * config/i386/i386.opt: Add -miamcu.
18610 * doc/invoke.texi: Document -miamcu.
18611 * common/config/i386/i386-common.c (ix86_handle_option): Turn
18612 off x87/MMX/SSE/AVX codegen for -miamcu.
18613 * config/i386/i386-c.c (ix86_target_macros_internal): Define
18614 __iamcu/__iamcu__ for -miamcu.
18615 * config/i386/i386.h (PREFERRED_STACK_BOUNDARY_DEFAULT): Set
18616 to MIN_STACK_BOUNDARY if TARGET_IAMCU is true.
18617 (BIGGEST_ALIGNMENT): Set to 32 if TARGET_IAMCU is true.
18618 * config/i386/i386.c (ix86_option_override_internal): Ignore and
18619 warn -mregparm for Intel MCU. Turn on -mregparm=3 for Intel
18620 MCU by default. Default long double to 64-bit for Intel MCU.
18621 Turn on -freg-struct-return for Intel MCU. Issue an error when
18622 -miamcu is used in 64-bit or x32 mode or if x87, MMX, SSE or
18623 AVX is turned on.
18624 (function_arg_advance_32): Pass value whose size is no larger
18625 than 8 bytes in registers for Intel MCU.
18626 (function_arg_32): Likewise.
18627 (ix86_return_in_memory): Return value whose size is no larger
18628 than 8 bytes in registers for Intel MCU.
18629 (iamcu_alignment): New function.
18630 (ix86_data_alignment): Call iamcu_alignment if TARGET_IAMCU is
18631 true.
18632 (ix86_local_alignment): Don't increase alignment for Intel MCU.
18633 (x86_field_alignment): Return iamcu_alignment if TARGET_IAMCU is
18634 true.
18635
18636 2015-06-30 Marek Polacek <polacek@redhat.com>
18637
18638 * match.pd (X - (X / Y) * Y): Use convert1 and convert2. Convert
18639 both operands of the resulting expression.
18640
18641 * match.pd (~x | x): Don't use tree_nop_conversion_p. Build
18642 the final expression with the operand's type and then convert
18643 it to the type of the expression.
18644
18645 2015-06-30 Richard Biener <rguenther@suse.de>
18646
18647 * fold-const.c (fold_binary_loc): Move ~x & ~y -> ~(x | y) and
18648 ~x | ~y -> ~(x & y), (x & CST) ^ (x & CST2) -> (x & CST) | (x & CST2),
18649 (X | Y) ^ X -> Y & ~ X, ~X ^ ~Y to X ^ Y and ~X ^ C to X ^ ~C ...
18650 * match.pd: ... to patterns here.
18651
18652 2015-06-30 Richard Biener <rguenther@suse.de>
18653
18654 PR tree-optimization/66704
18655 * tree-vect-data-refs.c (vect_setup_realignment): Use
18656 make_ssa_name for non-SSA name source.
18657
18658 2015-06-30 Jakub Jelinek <jakub@redhat.com>
18659
18660 PR middle-end/66702
18661 * omp-low.c (simd_clone_adjust): Handle addressable linear
18662 or uniform parameters or non-gimple type uniform parameters.
18663
18664 2015-06-30 Richard Biener <rguenther@suse.de>
18665
18666 * fold-const.c (fold_unary_loc): Move abs(abs(x)) -> abs(x),
18667 ~ (-A) to A - 1, ~ (A - 1) or ~ (A + -1) to -A and some cases of
18668 ~(X ^ Y) to ~X ^ Y or X ^ ~Y if ~X or ~Y simplify to ...
18669 * match.pd: ... here.
18670 Add a few cases of A - B -> A + (-B) when B "easily" negates.
18671 Move (x & y) | x -> x and friends before
18672 (x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2).
18673
18674 2015-06-30 Eric Botcazou <ebotcazou@adacore.com>
18675
18676 * config/sparc/leon.md (leon_load): Enable for all LEON variants if
18677 -mfix-ut699 is not specified.
18678 (leon3_load): Rename into...
18679 (ut699_load): ...this. Enable for all LEON variants if -mfix-ut699
18680 is specified.
18681
18682 2015-06-30 Marek Polacek <polacek@redhat.com>
18683
18684 * fold-const.c (fold_binary_loc): Move ~X | X folding ...
18685 * match.pd: ... here.
18686
18687 2015-06-30 Richard Biener <rguenther@suse.de>
18688
18689 * target-insns.def (canonicalize_funcptr_for_compare): Add.
18690 * fold-const.c (build_range_check): Replace uses of
18691 HAVE_canonicalize_funcptr_for_compare.
18692 (fold_widened_comparison): Likewise.
18693 (fold_sign_changed_comparison): Likewise.
18694 * dojump.c: Include "target.h".
18695 (do_compare_and_jump): Replace uses of
18696 HAVE_canonicalize_funcptr_for_compare and
18697 gen_canonicalize_funcptr_for_compare.
18698 * expr.c (do_store_flag): Likewise.
18699
18700 2015-06-30 Tom de Vries <tom@codesourcery.com>
18701
18702 PR tree-optimization/66652
18703 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Use
18704 max_loop_iterations to determine if nit + 1 overflows.
18705
18706 2015-06-30 Richard Biener <rguenther@suse.de>
18707
18708 * tree-vrp.c (register_edge_assert_for_2): Also register
18709 asserts for dominating conversion results.
18710
18711 2015-06-30 Bin Cheng <bin.cheng@arm.com>
18712
18713 * tree-ssa-loop-ivopts.c (record_sub_use): Don't reset ssa_name
18714 field in struct iv.
18715
18716 2015-06-29 Jack Howarth <howarth.at.gcc@gmail.com>
18717
18718 PR target/66509
18719 * configure.ac: Fix filds and fildq test for 64-bit.
18720 * configure: Regenerated.
18721
18722 2015-06-29 Nathan Sidwell <nathan@codesourcery.com>
18723
18724 * config/nvptx/nvptx.md (nvptx_reorg_subreg): New fn, broken out of ...
18725 (nvptx_reorg): Here. Keep the non-subreg pieces.
18726
18727 2015-06-29 H.J. Lu <hongjiu.lu@intel.com>
18728
18729 * config/gnu-user.h (GNU_USER_TARGET_ENDFILE_SPEC): Use
18730 PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
18731
18732 2015-06-29 Uros Bizjak <ubizjak@gmail.com>
18733
18734 * config/i386/i386.md (*jcc_1): Use %! in asm template.
18735 Set attribute "length_nobnd" instead of "length".
18736 (*jcc_2): Ditto.
18737 (jump): Ditto.
18738 (*jcc_1_bnd, *jcc_2_bnd, jump_bnd): Remove insn patterns.
18739
18740 2015-06-29 Sandra Loosemore <sandra@codesourcery.com>
18741
18742 * config/nios2/nios2.c (nios2_delegitimize_address): Make
18743 assert less restrictive.
18744
18745 2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
18746
18747 PR fortran/66605
18748 * cgraphunit.c (cgraph_node::finalize_function): Do not call
18749 do_warn_unused_parameter.
18750 * function.c (do_warn_unused_parameter): Move from here.
18751 * function.h (do_warn_unused_parameter): Do not declare.
18752
18753 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
18754
18755 PR target/65697
18756 * gcc.target/arm/armv-sync-comp-swap.c: New.
18757 * gcc.target/arm/armv-sync-op-acquire.c: New.
18758 * gcc.target/arm/armv-sync-op-full.c: New.
18759 * gcc.target/arm/armv-sync-op-release.c: New.
18760
18761 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
18762
18763 PR target/65697
18764 * config/armc/arm.c (arm_split_compare_and_swap): For ARMv8, replace an
18765 initial acquire barrier with final barrier.
18766
18767 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
18768
18769 PR target/65697
18770 * config/armc/arm.c (arm_split_atomic_op): For ARMv8, replace an
18771 initial acquire barrier with final barrier.
18772
18773 2015-06-29 Richard Henderson <rth@redhat.com>
18774
18775 * config/i386/constraints.md (Bf): New constraint.
18776 * config/i386/i386-c.c (ix86_target_macros): Define
18777 __GCC_ASM_FLAG_OUTPUTS__.
18778 * config/i386/i386.c (ix86_md_asm_adjust): Handle =@cc* constraints
18779 as flags outputs.
18780 * doc/extend.texi (FlagOutputOperands): Document them.
18781
18782 2015-06-29 Jiong Wang <jiong.wang@arm.com>
18783
18784 * config/arch64/aarch64.md (UNSPEC_TLSLE): New enumeration.
18785 * config/arch64/aarch64.md (tlsle_small): Rename to tlsle and use new
18786 unspec name.
18787 (tlsle_small_<mode>): Rename to tlsle_<mode> and use new unspec name.
18788 * config/arch64/aarch64-protos.h (arch64_symbol_type): Rename
18789 SYMBOL_SMALL_TPREL to SYMBOL_TLSLE.
18790 (aarch64_symbol_context): Ditto.
18791 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto
18792 and use new pattern name.
18793 (aarch64_expand_mov_immediate): Ditto.
18794 (aarch64_print_operand): Ditto.
18795 (aarch64_classify_tls_symbol): Ditto.
18796
18797 2015-06-29 Marek Polacek <polacek@redhat.com>
18798 Marc Glisse <marc.glisse@inria.fr>
18799
18800 * fold-const.c (fold_binary_loc): Move X - (X / Y) * Y -> X % Y to ...
18801 * match.pd: ... pattern here.
18802
18803 2015-06-29 Tom de Vries <tom@codesourcery.com>
18804
18805 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Simplify
18806 function structure.
18807
18808 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
18809
18810 * doc/invoke.texi (Aarch64 Options, -march): Split out arch and
18811 feature description, split out the native option, add a link to
18812 the feature documentation, rearrange and slightly rewrite text.
18813 (Aarch64 options, -mcpu): Likewise.
18814 (Aarch64 options, Feature Modifiers): Add an anchor. Mention
18815 +rdma implies Adv. SIMD.
18816
18817 2015-06-29 Marek Polacek <polacek@redhat.com>
18818
18819 PR c/66322
18820 * function.c (stack_protect_epilogue): Remove a cast to int.
18821 * doc/invoke.texi: Update -Wswitch-bool description.
18822
18823 2015-06-29 Richard Biener <rguenther@suse.de>
18824
18825 * genmatch.c (add_operator): Treat ADDR_EXPR as atom.
18826 * fold-const.c (fold_binary_loc): Move &A - &B simplification
18827 via ptr_difference_const ...
18828 * match.pd: ... here.
18829 When matching (X ^ Y) == Y also match with swapped operands.
18830
18831 2015-06-29 Richard Biener <rguenther@suse.de>
18832
18833 * lto-streamer.h (LTO_major_version): Bump to 5.
18834
18835 2015-06-29 Richard Biener <rguenther@suse.de>
18836
18837 PR tree-optimization/66677
18838 * tree-vect-stmts.c (vect_transform_stmt): Make assert about
18839 STMT_VINFO_VEC_STMT clobbering less strict.
18840
18841 2015-06-29 Kugan Vivekanandarajah <kuganv@linaro.org>
18842
18843 PR middle-end/64130
18844 * tree-vrp.c (extract_range_from_binary_expr_1): For unsigned
18845 division, compute max and min when value ranges for dividend and
18846 divisor are available.
18847
18848 2015-06-28 Chung-Lin Tang <cltang@codesourcery.com>
18849 Sandra Loosemore <sandra@codesourcery.com>
18850
18851 * regrename.h (regrename_do_replace): Change to return bool.
18852 * regrename.c (rename_chains): Check return value of
18853 regname_do_replace.
18854 (regrename_do_replace): Re-validate the modified insns and
18855 return bool status.
18856 * config/aarch64/cortex-a57-fma-steering.c (rename_single_chain):
18857 Update to match rename_chains changes.
18858 * config/c6x/c6x.c (try_rename_operands): Assert that
18859 regrename_do_replace returns true.
18860
18861 2015-06-28 Uros Bizjak <ubizjak@gmail.com>
18862
18863 * config/i386/i386.md (<mode>_ldx): Do not zero-extend non-Pmode
18864 operand 2 here. Use copy_addr_to_reg to copy non-index
18865 register operand 2 to a temporary.
18866 (<mode>_stx): Ditto for operand 1.
18867 (*<mode>_ldx, *<mode>_stx): Remove enclosing parallel.
18868 * config/i386/i386.c (ix86_load_bounds): Zero-extend non-Pmode ptr here.
18869 (ix86_store_bounds): Ditto.
18870
18871 2015-06-27 Patrick Palka <ppalka@gcc.gnu.org>
18872
18873 * print-tree.c (print_node) [TREE_VEC]: Print its length.
18874
18875 2015-06-26 Andrew MacLeod <amacleod@redhat.com>
18876
18877 * gimple.c (gimple_call_set_fndecl): Remove.
18878 * gimple.h (gimple_call_set_fndecl): Relocate to gimple.h and call
18879 build1_loc directly instead of build_fold_addr_expr_loc.
18880
18881 2015-06-26 Richard Sandiford <richard.sandiford@arm.com>
18882
18883 * hash-map.h (hash_map::traverse): Use the definition of the
18884 Key typedef rather than the typedef itself.
18885
18886 2015-06-26 Martin Jambor <mjambor@suse.cz>
18887
18888 PR debug/66301
18889 * tree-ssa-pre.c (before_dom_children): Check that dump_file is not
18890 NULL instead of calling dump_enabled_p.
18891
18892 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
18893
18894 * config/aarch64/aarch64.opt: (override): New.
18895 * doc/invoke.texi (override): Document.
18896 * config/aarch64/aarch64.c (aarch64_flag_desc): New
18897 (aarch64_fusible_pairs): Likewise.
18898 (aarch64_tuning_flags): Likewise.
18899 (aarch64_tuning_override_function): Likewise.
18900 (aarch64_tuning_override_functions): Likewise.
18901 (aarch64_parse_one_option_token): Likewise.
18902 (aarch64_parse_boolean_options): Likewise.
18903 (aarch64_parse_fuse_string): Likewise.
18904 (aarch64_parse_tune_string): Likewise.
18905 (aarch64_parse_one_override_token): Likewise.
18906 (aarch64_parse_override_string): Likewise.
18907 (aarch64_override_options): Parse the -override string if it
18908 is present.
18909
18910 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
18911
18912 * config/aarch64/aarch64-protos.h (tune_params): Remove
18913 const from members.
18914 (aarch64_tune_params): Remove const, change to no longer be
18915 a pointer.
18916 * config/aarch64/aarch64.c (aarch64_tune_params): Remove const,
18917 change to no longer be a pointer, initialize to generic_tunings.
18918 (aarch64_min_divisions_for_recip_mul): Change dereference of
18919 aarch64_tune_params to member access.
18920 (aarch64_reassociation_width): Likewise.
18921 (aarch64_rtx_mult_cost): Likewise.
18922 (aarch64_address_cost): Likewise.
18923 (aarch64_branch_cost): Likewise.
18924 (aarch64_rtx_costs): Likewise.
18925 (aarch64_register_move_cost): Likewise.
18926 (aarch64_memory_move_cost): Likewise.
18927 (aarch64_sched_issue_rate): Likewise.
18928 (aarch64_builtin_vectorization_cost): Likewise.
18929 (aarch64_override_options): Take a copy of the selected tuning
18930 struct in to aarch64_tune_params, rather than just setting
18931 a pointer, change dereferences of aarch64_tune_params to member
18932 accesses.
18933 (aarch64_override_options_after_change): Change dereferences of
18934 aarch64_tune_params to member access.
18935 (aarch64_macro_fusion_p): Likewise.
18936 (aarch_macro_fusion_pair_p): Likewise.
18937 * config/aarch64/cortex-a57-fma-steering.c (gate): Likewise.
18938
18939 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
18940
18941 * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Delete.
18942 (aarch64_tune_flags): Likewise.
18943 (AARCH64_TUNE_FMA_STEERING): Likewise.
18944 * config/aarch64/aarch64-cores.def (cortex-a57): Remove reference
18945 to AARCH64_FL_USE_FMA_STEERING_PASS.
18946 (cortex-a57.cortex-a53): Likewise.
18947 (cortex-a72): Use cortexa72_tunings.
18948 (cortex-a72.cortex-a53): Likewise.
18949 (exynos-m1): Likewise.
18950 * config/aarch64/aarch64-protos.h (tune_params): Add
18951 a field: extra_tuning_flags.
18952 * config/aarch64/aarch64-tuning-flags.def: New.
18953 * config/aarch64/aarch64-protos.h (AARCH64_EXTRA_TUNING_OPTION): New.
18954 (aarch64_extra_tuning_flags): Likewise.
18955 (aarch64_tune_params): Declare here.
18956 * config/aarch64/aarch64.c (generic_tunings): Set extra_tuning_flags.
18957 (cortexa53_tunings): Likewise.
18958 (cortexa57_tunings): Likewise.
18959 (thunderx_tunings): Likewise.
18960 (xgene1_tunings): Likewise.
18961 (cortexa72_tunings): New.
18962 * config/aarch64/cortex-a57-fma-steering.c: Include aarch64-protos.h.
18963 (gate): Check against aarch64_tune_params.
18964 * config/aarch64/t-aarch64 (cortex-a57-fma-steering.o): Depend on
18965 aarch64-protos.h.
18966
18967 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
18968
18969 * config/aarch64/aarch64-fusion-pairs.def: New.
18970 * config/aarch64/aarch64-protos.h (aarch64_fusion_pairs): New.
18971 * config/aarch64/aarch64.c (AARCH64_FUSE_NOTHING): Move to
18972 aarch64_fusion_pairs.
18973 (AARCH64_FUSE_MOV_MOVK): Likewise.
18974 (AARCH64_FUSE_ADRP_ADD): Likewise.
18975 (AARCH64_FUSE_MOVK_MOVK): Likewise.
18976 (AARCH64_FUSE_ADRP_LDR): Likewise.
18977 (AARCH64_FUSE_CMP_BRANCH): Likewise.
18978
18979 2015-06-26 Jiong Wang <jiong.wang@arm.com>
18980
18981 * config/aarch64/aarch64-protos.h (aarch64_symbol_type): New type
18982 SYMBOL_SMALL_GOT_28K.
18983 * config/aarch64/aarch64.md: (ldr_got_small_<mode>): Support new GOT
18984 relocation modifiers.
18985 (unspec): New enum "UNSPEC_GOTMALLPIC28K.
18986 (ldr_got_small_28k_<mode>): New.
18987 (ldr_got_small_28k_sidi): New.
18988 * config/aarch64/iterators.md (got_modifier): New mode iterator.
18989 * config/aarch64/aarch64-otps.h (aarch64_code_model): New model.
18990 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support
18991 SYMBOL_SMALL_GOT_28K.
18992 (aarch64_rtx_costs): Add costs for new instruction sequences.
18993 (initialize_aarch64_code_model): Initialize new model.
18994 (aarch64_classify_symbol): Recognize new model and new symbol classification.
18995 (aarch64_asm_preferred_eh_data_format): Support new model.
18996 (aarch64_load_symref_appropriately): Generate new instruction
18997 sequences for -fpic.
18998 (TARGET_USE_PSEUDO_PIC_REG): New definition.
18999 (aarch64_use_pseudo_pic_reg): New function.
19000
19001 2015-06-26 Jiong Wang <jiong.wang@arm.com>
19002
19003 * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename
19004 SYMBOL_SMALL_GOT to SYMBOL_SMALL_GOT_4G.
19005 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto.
19006 (aarch64_expand_mov_immediate): Ditto.
19007 (aarch64_print_operand): Ditto.
19008 (aarch64_classify_symbol): Ditto.
19009
19010 2015-06-26 Nathan Sidwell <nathan@codesourcery.com>
19011
19012 * config/nvptx/nvptx.md (call_operation): Remove unused variables.
19013
19014 2015-06-26 Bin Cheng <bin.cheng@arm.com>
19015
19016 PR bootstrap/66638
19017 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Skip if
19018 assertion failed. Remove assertion itself.
19019
19020 2015-06-26 Richard Biener <rguenther@suse.de>
19021
19022 * fold-const.c (fold_binary_loc): Remove -A CMP -B -> A CMP B
19023 and -A CMP CST -> A CMP -CST which is redundant with a pattern
19024 in match.pd.
19025 Move (A | C) == D where C & ~D != 0 -> 0, (X ^ Y) ==/!= 0 -> X ==/!= Y,
19026 (X ^ Y) ==/!= {Y,X} -> {X,Y} ==/!= 0 and
19027 (X ^ C1) op C2 -> X op (C1 ^ C2) to ...
19028 * match.pd: ... patterns here.
19029
19030 2015-06-26 Marek Polacek <polacek@redhat.com>
19031
19032 * match.pd ((x | y) & ~(x & y) -> x ^ y,
19033 (x | y) & (~x ^ y) -> x & y): New patterns.
19034
19035 2015-06-26 Richard Sandiford <richard.sandiford@arm.com>
19036
19037 * rtl.h (emit): Add an optional boolean parameter to control
19038 whether barriers are emitted.
19039 * emit-rtl.c (emit): Likewise.
19040 * gensupport.c (get_emit_function): Return null rather than "emit".
19041 * genemit.c (gen_emit_seq): Handle the null return value.
19042 Don't emit barriers after the final instruction in the sequence.
19043 * gentarget-def.c (main): Don't emit barriers after the instruction.
19044
19045 2015-06-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
19046
19047 * config/arm/arm.c (arm_output_multireg_pop): Fix use of
19048 TARGET_UNIFIED_ASM.
19049
19050 2015-06-26 Richard Biener <rguenther@suse.de>
19051
19052 * match.pd: Allow associating FLOAT_TYPE_P when flag_associative_math.
19053
19054 2015-06-26 Richard Biener <rguenther@suse.de>
19055
19056 * match.pd: Allow (p +p off1) +p off2 to (p +p (off1 + off2))
19057 irrespective on whether the inner operation has a single use
19058 of both off are constant.
19059
19060 2015-06-26 Uros Bizjak <ubizjak@gmail.com>
19061 Segher Boessenkool <segher@kernel.crashing.org>
19062
19063 PR target/66412
19064 * config/i386/i386.md (various splitters): Use shallow_copy_rtx
19065 before doing PUT_MODE or PUT_CODE on operands to avoid
19066 in-place RTX modification.
19067
19068 2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
19069
19070 * gentarget-def.c (def_target_insn): Cast return of strtol to
19071 unsigned int.
19072
19073 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
19074
19075 * gimple.h (gimple_call_set_fn): Move inline function.
19076 * gimple.c (gimple_call_set_fn): Relocate here.
19077
19078 2015-06-25 Oleg Endo <olegendo@gcc.gnu.org>
19079
19080 PR target/65979
19081 PR target/66611
19082 * config/sh/sh.md (tstsi_t peephole2): Use insn_invalid_p to check if
19083 the replacement insn will work.
19084
19085 2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
19086
19087 * gcc.c (driver_handle_option): Validate -pie if PIE is enabled
19088 by default.
19089
19090 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
19091
19092 * function.h (ipa_opt_pass, ipa_opt_pass_d): Move forward declarations.
19093 * cgraph.h: Include ipa-ref.h and plugin-api.h.
19094 (ipa_opt_pass, ipa_opt_pass_d)): Relocate forward declarations here.
19095 (symtab_node::address_can_be_compared_p): Move function.
19096 * cgraph.c (symtab_node::address_can_be_compared_p): Relocate function
19097 definition here.
19098 * asan.c: Remove ipa-ref.h and plugin-api.h from include list.
19099 * auto-profile.c: Likewise.
19100 * bb-reorder.c: Likewise.
19101 * builtins.c: Likewise.
19102 * calls.c: Likewise.
19103 * cfgexpand.c: Likewise.
19104 * cgraphbuild.c: Likewise.
19105 * cgraphclones.c: Likewise.
19106 * cgraphunit.c: Likewise.
19107 * combine.c: Likewise.
19108 * coverage.c: Likewise.
19109 * data-streamer-in.c: Likewise.
19110 * data-streamer-out.c: Likewise.
19111 * data-streamer.c: Likewise.
19112 * dbxout.c: Likewise.
19113 * dwarf2out.c: Likewise.
19114 * except.c: Likewise.
19115 * expr.c: Likewise.
19116 * final.c: Likewise.
19117 * fold-const.c: Likewise.
19118 * ggc-page.c: Likewise.
19119 * gimple-fold.c: Likewise.
19120 * gimple-iterator.c: Likewise.
19121 * gimple-pretty-print.c: Likewise.
19122 * gimple-streamer-in.c: Likewise.
19123 * gimple-streamer-out.c: Likewise.
19124 * gimple.c: Likewise.
19125 * gimplify.c: Likewise.
19126 * ipa-chkp.c: Likewise.
19127 * ipa-comdats.c: Likewise.
19128 * ipa-cp.c: Likewise.
19129 * ipa-devirt.c: Likewise.
19130 * ipa-icf-gimple.c: Likewise.
19131 * ipa-icf.c: Likewise.
19132 * ipa-inline-analysis.c: Likewise.
19133 * ipa-inline-transform.c: Likewise.
19134 * ipa-inline.c: Likewise.
19135 * ipa-polymorphic-call.c: Likewise.
19136 * ipa-profile.c: Likewise.
19137 * ipa-prop.c: Likewise.
19138 * ipa-pure-const.c: Likewise.
19139 * ipa-ref.c: Likewise.
19140 * ipa-reference.c: Likewise.
19141 * ipa-split.c: Likewise.
19142 * ipa-utils.c: Likewise.
19143 * ipa-visibility.c: Likewise.
19144 * ipa.c: Likewise.
19145 * langhooks.c: Likewise.
19146 * lto-cgraph.c: Likewise.
19147 * lto-compress.c: Likewise.
19148 * lto-opts.c: Likewise.
19149 * lto-section-in.c: Likewise.
19150 * lto-section-out.c: Likewise.
19151 * lto-streamer-in.c: Likewise.
19152 * lto-streamer-out.c: Likewise.
19153 * lto-streamer.c: Likewise.
19154 * omp-low.c: Likewise.
19155 * opts-global.c: Likewise.
19156 * passes.c: Likewise.
19157 * predict.c: Likewise.
19158 * print-tree.c: Likewise.
19159 * profile.c: Likewise.
19160 * ree.c: Likewise.
19161 * sanopt.c: Likewise.
19162 * stor-layout.c: Likewise.
19163 * symtab.c: Likewise.
19164 * toplev.c: Likewise.
19165 * trans-mem.c: Likewise.
19166 * tree-cfg.c: Likewise.
19167 * tree-chkp.c: Likewise.
19168 * tree-eh.c: Likewise.
19169 * tree-emutls.c: Likewise.
19170 * tree-inline.c: Likewise.
19171 * tree-nested.c: Likewise.
19172 * tree-parloops.c: Likewise.
19173 * tree-pretty-print.c: Likewise.
19174 * tree-profile.c: Likewise.
19175 * tree-sra.c: Likewise.
19176 * tree-ssa-alias.c: Likewise.
19177 * tree-ssa-live.c: Likewise.
19178 * tree-ssa-loop-ivcanon.c: Likewise.
19179 * tree-ssa-loop-ivopts.c: Likewise.
19180 * tree-ssa-pre.c: Likewise.
19181 * tree-ssa-sccvn.c: Likewise.
19182 * tree-ssa-strlen.c: Likewise.
19183 * tree-ssa-structalias.c: Likewise.
19184 * tree-streamer-in.c: Likewise.
19185 * tree-streamer-out.c: Likewise.
19186 * tree-streamer.c: Likewise.
19187 * tree-switch-conversion.c: Likewise.
19188 * tree-tailcall.c: Likewise.
19189 * tree-vect-data-refs.c: Likewise.
19190 * tree-vect-stmts.c: Likewise.
19191 * tree-vectorizer.c: Likewise.
19192 * tree.c: Likewise.
19193 * tsan.c: Likewise.
19194 * ubsan.c: Likewise.
19195 * value-prof.c: Likewise.
19196 * varasm.c: Likewise.
19197 * varpool.c: Likewise.
19198 * config/arm/arm.c: Likewise.
19199 * config/bfin/bfin.c: Likewise.
19200 * config/c6x/c6x.c: Likewise.
19201 * config/cris/cris.c: Likewise.
19202 * config/darwin-c.c: Likewise.
19203 * config/darwin.c: Likewise.
19204 * config/i386/i386.c: Likewise.
19205 * config/i386/winnt.c: Likewise.
19206 * config/microblaze/microblaze.c: Likewise.
19207 * config/mips/mips.c: Likewise.
19208 * config/rs6000/rs6000.c: Likewise.
19209 * config/rx/rx.c: Likewise.
19210 * config/s390/s390.c: Likewise.
19211 * config/tilegx/mul-tables.c: Likewise.
19212
19213 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19214
19215 * config/aarch64/aarch64.c, config/alpha/alpha.c,
19216 config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c,
19217 config/c6x/c6x.c, config/cr16/cr16.c, config/cris/cris.c,
19218 config/fr30/fr30.c, config/frv/frv.c, config/h8300/h8300.c,
19219 config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c,
19220 config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
19221 config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c,
19222 config/microblaze/microblaze.c, config/mips/mips.c,
19223 config/mmix/mmix.c, config/mn10300/mn10300.c,
19224 config/moxie/moxie.c, config/msp430/msp430.c,
19225 config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c,
19226 config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c,
19227 config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c,
19228 config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c,
19229 config/stormy16/stormy16.c, config/tilegx/tilegx.c,
19230 config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
19231 config/visium/visium.c, config/xtensa/xtensa.c: Add comment above
19232 target-def.h include.
19233 * config/ft32/ft32.c: Likewise. Fix misapplied hunk.
19234
19235 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19236
19237 * Makefile.in (TARGET_DEF): Add target-insns.def.
19238 (.PRECIOUS, simple_rtl_generated_h): Add insn-target-def.h.
19239 (build/gentarget-def.o): New rule.
19240 (genprogrtl): Add target-def.
19241 * target-insns.def, gentarget-def.c: New files.
19242 * target.def: Add targetm.have_* and targetm.gen_* hooks,
19243 based on the contents of target-insns.def.
19244 * defaults.h (HAVE_simple_return, gen_simple_return): Delete.
19245 (HAVE_return, gen_return): Delete.
19246 * target-def.h: Include insn-target-def.h.
19247 * cfgrtl.c (force_nonfallthru_and_redirect): Use targetm interface
19248 instead of direct calls. Rely on them to do the appropriate assertions.
19249 * function.c (gen_return_pattern): Likewise. Return an rtx_insn *.
19250 (convert_jumps_to_returns): Use targetm interface instead of
19251 direct calls.
19252 (thread_prologue_and_epilogue_insns): Likewise.
19253 * reorg.c (find_end_label, dbr_schedule): Likewise.
19254 * shrink-wrap.h (SHRINK_WRAPPING_ENABLED): Likewise.
19255 * shrink-wrap.c (convert_to_simple_return): Likewise.
19256 (try_shrink_wrapping): Use SHRINK_WRAPPING_ENABLED.
19257
19258 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19259
19260 * config/aarch64/aarch64.c, config/alpha/alpha.c, config/arm/arm.c,
19261 config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
19262 config/cr16/cr16.c, config/cris/cris.c, config/fr30/fr30.c,
19263 config/frv/frv.c, config/ft32/ft32.c, config/h8300/h8300.c,
19264 config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c,
19265 config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
19266 config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c,
19267 config/microblaze/microblaze.c, config/mips/mips.c, config/mmix/mmix.c,
19268 config/mn10300/mn10300.c, config/moxie/moxie.c, config/msp430/msp430.c,
19269 config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c,
19270 config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c,
19271 config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c,
19272 config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c,
19273 config/stormy16/stormy16.c, config/tilegx/tilegx.c,
19274 config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
19275 config/visium/visium.c, config/xtensa/xtensa.c: Move target-def.h
19276 includes to end.
19277
19278 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19279
19280 * hash-map-traits.h (simple_hashmap_traits::key_type): New typedef.
19281 (unbounded_int_hashmap_traits::key_type): Likewise.
19282 * hash-map.h (hash_map): Get the key type from the traits.
19283 * hash-traits.h (default_hash_traits): By default, inherit from the
19284 template parameter.
19285 * alias.c (alias_set_traits): Delete.
19286 (alias_set_entry_d::children): Use alias_set_hash as the first
19287 template parameter.
19288 (record_alias_subset): Update accordingly.
19289 * except.c (tree_hash_traits): Delete.
19290 (type_to_runtime_map): Use tree_hash as the first template parameter.
19291 (init_eh): Update accordingly.
19292 * genmatch.c (capture_id_map_hasher): Delete.
19293 (cid_map_t): Use nofree_string_hash as first template parameter.
19294 * ipa-icf.h (symbol_compare_hashmap_traits): Delete.
19295 * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
19296 Use symbol_compare_hash as the first template parameter in
19297 subdivide_hash_map.
19298 * mem-stats.h (mem_usage_pair::mem_alloc_hashmap_traits): Delete.
19299 (mem_usage_pair::mem_map_t): Use mem_location_hash as the first
19300 template parameter.
19301 * passes.c (pass_registry_hasher): Delete.
19302 (name_to_pass_map): Use nofree_string_hash as the first template
19303 parameter.
19304 (register_pass_name): Update accordingly.
19305 * sanopt.c (sanopt_tree_map_traits): Delete.
19306 (sanopt_tree_triplet_map_traits): Delete.
19307 (sanopt_ctx::asan_check_map): Use tree_operand_hash as the first
19308 template parameter.
19309 (sanopt_ctx::vptr_check_map): Use sanopt_tree_triplet_hash as
19310 the first template parameter.
19311 * sese.c (rename_map_hasher): Delete.
19312 (rename_map_type): Use tree_ssa_name_hash as the first template
19313 parameter.
19314 * symbol-summary.h (function_summary::summary_hashmap_traits): Delete.
19315 (function_summary::m_map): Use map_hash as the first template
19316 parameter.
19317 (function_summary::release): Update accordingly.
19318 * tree-if-conv.c (phi_args_hash_traits): Delete.
19319 (predicate_scalar_phi): Use tree_operand_hash as the first template
19320 parameter to phi_arg_map.
19321 * tree-inline.h (dependence_hasher): Delete.
19322 (copy_body_data::dependence_map): Use dependence_hash as the first
19323 template parameter.
19324 * tree-inline.c (remap_dependence_clique): Update accordingly.
19325 * tree-ssa-strlen.c (stridxlist_hash_traits): Delete.
19326 (decl_to_stridxlist_htab): Use tree_decl_hash as the first template
19327 parameter.
19328 (addr_stridxptr): Update accordingly.
19329 * value-prof.c (profile_id_traits): Delete.
19330 (cgraph_node_map): Use profile_id_hash as the first template
19331 parameter.
19332 (init_node_map): Update accordingly.
19333 * config/alpha/alpha.c (string_traits): Delete.
19334 (machine_function::links): Use nofree_string_hash as the first
19335 template parameter.
19336 (alpha_use_linkage, alpha_write_linkage): Update accordingly.
19337 * config/m32c/m32c.c (pragma_traits): Delete.
19338 (pragma_htab): Use nofree_string_hash as the first template parameter.
19339 (m32c_note_pragma_address): Update accordingly.
19340 * config/mep/mep.c (pragma_traits): Delete.
19341 (pragma_htab): Use nofree_string_hash as the first template parameter.
19342 (mep_note_pragma_flag): Update accordingly.
19343 * config/mips/mips.c (mips16_flip_traits): Delete.
19344 (mflip_mips16_htab): Use nofree_string_hash as the first template
19345 parameter.
19346 (mflip_mips16_use_mips16_p): Update accordingly.
19347 (local_alias_traits): Delete.
19348 (mips16_local_aliases): Use nofree_string_hash as the first template
19349 parameter.
19350 (mips16_local_alias): Update accordingly.
19351
19352 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19353
19354 * hash-map-traits.h (default_hashmap_traits): Delete.
19355
19356 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19357
19358 * hash-map-traits.h (unbounded_hashmap_traits): New class.
19359 (unbounded_int_hashmap_traits): Likewise.
19360 * cfgexpand.c (part_traits): Use unbounded_int_hashmap_traits.
19361
19362 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19363
19364 * ipa-icf.h (symbol_compare_hash): New class.
19365 (symbol_compare_hashmap_traits): Use it.
19366 * mem-stats.h (mem_alloc_description::mem_location_hash): New class.
19367 (mem_alloc_description::mem_alloc_hashmap_traits): Use it.
19368 (mem_alloc_description::reverse_mem_map_t): Remove redundant
19369 default_hashmap_traits.
19370 * sanopt.c (sanopt_tree_triplet_hash): New class.
19371 (sanopt_tree_triplet_map_traits): Use it.
19372
19373 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19374
19375 * gengtype-parse.c (require_template_declaration): Allow '+' in
19376 template parameters. Consolidate cases.
19377 * hash-traits.h (int_hash): New class.
19378 * alias.c (alias_set_hash): New structure.
19379 (alias_set_traits): Use it.
19380 * symbol-summary.h (function_summary::map_hash): New class.
19381 (function_summary::summary_hashmap_traits): Use it.
19382 * tree-inline.h (dependence_hash): New class.
19383 (dependence_hasher): Use it.
19384 * tree-ssa-reassoc.c (oecount_hasher): Use int_hash.
19385 * value-prof.c (profile_id_hash): New class.
19386 (profile_id_traits): Use it.
19387
19388 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19389
19390 * config/mips/mips.c (mips16_flip_traits): Use it.
19391 (local_alias_traits, mips16_local_aliases): Convert from a map of
19392 rtxes to a map of symbol names.
19393 (mips16_local_alias): Update accordingly.
19394
19395 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19396
19397 * hash-traits.h (string_hash, nofree_string_hash): New classes.
19398 * genmatch.c (capture_id_map_hasher): Use nofree_string_hash.
19399 * passes.c (pass_registry_hasher): Likewise.
19400 * config/alpha/alpha.c (string_traits): Likewise.
19401 * config/i386/winnt.c (i386_find_on_wrapper_list): Likewise.
19402 * config/m32c/m32c.c (pragma_traits): Likewise.
19403 * config/mep/mep.c (pragma_traits): Likewise.
19404
19405 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19406
19407 * tree-hash-traits.h (tree_hash): New class.
19408 * except.c: Include tree-hash-traits.h.
19409 (tree_hash_traits): Use tree_hash.
19410
19411 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19412
19413 * tree-hash-traits.h (tree_ssa_name_hasher): New class.
19414 * sese.c: Include tree-hash-traits.h.
19415 (rename_map_hasher): Use tree_ssa_name_hasher.
19416
19417 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19418
19419 * tree-hash-traits.h (tree_decl_hash): New class.
19420 * tree-ssa-strlen.c: Include tree-hash-traits.h.
19421 (stridxlist_hash_traits): Use tree_decl_hash.
19422
19423 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19424
19425 * tree-hash-traits.h: New file.
19426 (tree_operand_hash): New class.
19427 * sanopt.c: Include tree-hash-traits.h.
19428 (sanopt_tree_map_traits): Use tree_operand_hash.
19429 * tree-if-conv.c: Include tree-hash-traits.h.
19430 (phi_args_hash_traits): Use tree_operand_hash.
19431 * tree-ssa-uncprop.c: Include tree-hash-traits.h.
19432 (val_ssa_equiv_hash_traits): Use tree_operand_hash.
19433
19434 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19435
19436 * hash-map-traits.h: Include hash-traits.h.
19437 (simple_hashmap_traits): New class.
19438 * mem-stats.h (hash_map): Change the default traits to
19439 simple_hashmap_traits<default_hash_traits<Key> >.
19440
19441 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19442
19443 * hash-table.h: Update comments.
19444
19445 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19446
19447 * hash-traits.h (default_hash_traits): New structure.
19448 * hash-set.h (default_hashset_traits): Delete.
19449 (hash_set): Use default_hash_traits<Key> instead of
19450 default_hashset_traits. Delete hash_entry type and use Key directly.
19451 * ipa-devirt.c (pair_traits): Delete.
19452 (default_hash_traits <type_pair>): Override.
19453 (odr_subtypes_equivalent_p): Remove pair_types template parameter.
19454 (odr_types_equivalent_p, add_type_duplicate): Likewise.
19455
19456 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19457
19458 * hash-traits.h (typed_noop_remove): Don't require a pointer type.
19459
19460 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19461
19462 * hash-table.h (has_is_deleted, is_deleted_helper): Delete.
19463 (has_is_empty, is_empty_helper): Delete.
19464 (has_mark_deleted, mark_deleted_helper): Delete.
19465 (has_mark_empty, mark_empty_helper): Delete.
19466 (hash_table::is_deleted): Call the Descriptor unconditionally.
19467 (hash_table::is_empty): Likewise.
19468 (hash_table::mark_deleted): Likewise.
19469 (hash_table::mark_empty): Likewise.
19470
19471 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19472
19473 * cgraph.h (asmname_hasher): Inherit from ggc_ptr_hash. Remove
19474 redundant typedefs and members.
19475 * coverage.c (counts_entry): Inherit from pointer_hash. Remove
19476 redundant typedefs.
19477 * dwarf2out.c (cu_hash_table_entry_hasher): Likewise.
19478 * ipa-devirt.c (odr_name_hasher): Likewise.
19479 (polymorphic_call_target_hasher): Likewise.
19480 * ira-costs.c (cost_classes_hasher): Likewise.
19481 * statistics.c (stats_counter_hasher): Likewise.
19482 * trans-mem.c (log_entry_hasher): Likewise.
19483 * tree-ssa-dom.c (expr_elt_hasher): Likewise.
19484 * tree-ssa-sccvn.c (vn_phi_hasher, vn_reference_hasher): Likewise.
19485 * tree-ssa-tail-merge.c (same_succ_def): Likewise.
19486 * var-tracking.c (variable_hasher): Likewise.
19487 * valtrack.h (dead_debug_hash_descr): Inherit from free_ptr_hash.
19488 Remove redundant typedefs and members.
19489
19490 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19491
19492 * hash-traits.h (ggc_cache_hasher): Rename to...
19493 (ggc_cache_remove): ...this and remove typedefs.
19494 (ggc_cache_ptr_hash): New class.
19495 * hash-table.h: Update commentary.
19496 * emit-rtl.c (const_int_hasher): Inherit from ggc_cache_ptr_hash
19497 rather than ggc_cache_hasher.
19498 (const_wide_int_hasher, reg_attr_hasher): Likewise.
19499 (const_double_hasher, const_fixed_hasher): Likewise.
19500 * function.c (insn_cache_hasher): Likewise.
19501 * trans-mem.c (tm_wrapper_hasher): Likewise.
19502 * tree.h (tree_decl_map_cache_hasher): Likewise.
19503 * tree.c (type_cache_hasher, int_cst_hasher): Likewise.
19504 (cl_option_hasher, tree_vec_map_cache_hasher): Likewise.
19505 * ubsan.c (tree_type_map_cache_hasher): Likewise.
19506 * varasm.c (tm_clone_hasher): Likewise.
19507 * config/i386/i386.c (dllimport_hasher): Likewise.
19508 * config/nvptx/nvptx.c (declared_libfunc_hasher): Likewise.
19509 (tree_hasher): Likewise.
19510
19511 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19512
19513 * hash-traits.h (ggc_hasher): Rename to...
19514 (ggc_remover): ...this and remove typedefs.
19515 (ggc_cache_hasher): Update accordingly. Add typedefs.
19516 (ggc_ptr_hash): New class.
19517 * hash-table.h: Update comment.
19518 * cfgloop.h (loop_exit_hasher): Inherit from ggc_ptr_hash rather than
19519 ggc_hasher.
19520 * cgraph.h (section_name_hasher, cgraph_edge_hasher): Likewise.
19521 (tree_descriptor_hasher): Likewise.
19522 * cgraph.c (function_version_hasher): Likewise.
19523 * dwarf2out.c (indirect_string_hasher, dwarf_file_hasher): Likewise.
19524 (decl_die_hasher, block_die_hasher, decl_loc_hasher): Likewise.
19525 (dw_loc_list_hasher, addr_hasher): Likewise.
19526 * function.h (used_type_hasher): Likewise.
19527 * function.c (temp_address_hasher): Likewise.
19528 * gimple-ssa.h (tm_restart_hasher, ssa_name_hasher): Likewise.
19529 * libfuncs.h (libfunc_hasher): Likewise.
19530 * lto-streamer.h (decl_state_hasher): Likewise.
19531 * optabs.c (libfunc_decl_hasher): Likewise.
19532 * tree-scalar-evolution.c (scev_info_hasher): Likewise.
19533 * varasm.c (section_hasher, object_block_hasher): Likewise.
19534 (const_rtx_desc_hasher): Likewise.
19535 * config/darwin.c (indirection_hasher, cfstring_hasher): Likewise.
19536 * config/rs6000/rs6000.c (toc_hasher, builtin_hasher): Likewise.
19537
19538 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19539
19540 * hash-traits.h (free_ptr_hash): New class.
19541 * dwarf2out.c (decl_table_entry_hasher): Inherit from free_ptr_hash
19542 rather than typed_free_remove. Remove redudant typedefs.
19543 (external_ref_hasher): Likewise.
19544 * except.c (action_record_hasher, ttypes_filter_hasher): Likewise.
19545 (ehspec_hasher): Likewise.
19546 * ggc-common.c (saving_hasher): Likewise.
19547 * gimplify.c (gimplify_hasher): Likewise.
19548 * haifa-sched.c (delay_i2_hasher): Likewise.
19549 * loop-invariant.c (invariant_expr_hasher): Likewise.
19550 * loop-iv.c (biv_entry_hasher): Likewise.
19551 * loop-unroll.c (iv_split_hasher, var_expand_hasher): Likewise.
19552 * trans-mem.c (tm_mem_map_hasher, tm_memop_hasher): Likewise.
19553 * tree-cfg.c (locus_discrim_hasher): Likewise.
19554 * tree-eh.c (finally_tree_hasher): Likewise.
19555 * tree-into-ssa.c (var_info_hasher): Likewise.
19556 * tree-parloops.c (reduction_hasher, name_to_copy_hasher): Likewise.
19557 * tree-ssa-loop-ivopts.c (iv_inv_expr_hasher): Likewise.
19558 * tree-ssa-phiopt.c (ssa_names_hasher): Likewise.
19559 * tree-ssa-pre.c (expr_pred_trans_d): Likewise.
19560 * tree-ssa-sccvn.c (vn_constant_hasher): Likewise.
19561 * tree-ssa-structalias.c (equiv_class_hasher): Likewise.
19562 (shared_bitmap_hasher): Likewise.
19563 * tree-ssa-threadupdate.c (redirection_data): Likewise.
19564 * tree-vectorizer.h (peel_info_hasher): Likewise.
19565 * tree-vectorizer.c (simduid_to_vf, simd_array_to_simduid): Likewise.
19566 * config/mips/mips.c (mips_lo_sum_offset_hasher): Likewise.
19567
19568 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19569
19570 * hash-table.h: Update comments.
19571 * hash-traits.h (pointer_hash): Don't inherit from typed_noop_remove.
19572 (nofree_ptr_hash): New class.
19573 * asan.c (asan_mem_ref_hasher): Inherit from nofree_ptr_hash rather
19574 than typed_noop_remove. Remove redudant typedefs.
19575 * attribs.c (attribute_hasher): Likewise.
19576 * cfg.c (bb_copy_hasher): Likewise.
19577 * cselib.c (cselib_hasher): Likewise.
19578 * dse.c (invariant_group_base_hasher): Likewise.
19579 * dwarf2cfi.c (trace_info_hasher): Likewise.
19580 * dwarf2out.c (macinfo_entry_hasher): Likewise.
19581 (comdat_type_hasher, loc_list_hasher): Likewise.
19582 * gcse.c (pre_ldst_expr_hasher): Likewise.
19583 * genmatch.c (id_base): Likewise.
19584 * genrecog.c (test_pattern_hasher): Likewise.
19585 * gimple-ssa-strength-reduction.c (cand_chain_hasher): Likewise.
19586 * haifa-sched.c (delay_i1_hasher): Likewise.
19587 * hard-reg-set.h (simplifiable_subregs_hasher): Likewise.
19588 * ipa-icf.h (congruence_class_group_hash): Likewise.
19589 * ipa-profile.c (histogram_hash): Likewise.
19590 * ira-color.c (allocno_hard_regs_hasher): Likewise.
19591 * lto-streamer.h (string_slot_hasher): Likewise.
19592 * lto-streamer.c (tree_entry_hasher): Likewise.
19593 * plugin.c (event_hasher): Likewise.
19594 * postreload-gcse.c (expr_hasher): Likewise.
19595 * store-motion.c (st_expr_hasher): Likewise.
19596 * tree-sra.c (uid_decl_hasher): Likewise.
19597 * tree-ssa-coalesce.c (coalesce_pair_hasher): Likewise.
19598 (ssa_name_var_hash): Likewise.
19599 * tree-ssa-live.c (tree_int_map_hasher): Likewise.
19600 * tree-ssa-loop-im.c (mem_ref_hasher): Likewise.
19601 * tree-ssa-pre.c (pre_expr_d): Likewise.
19602 * tree-ssa-sccvn.c (vn_nary_op_hasher): Likewise.
19603 * vtable-verify.h (registration_hasher): Likewise.
19604 * vtable-verify.c (vtbl_map_hasher): Likewise.
19605 * config/arm/arm.c (libcall_hasher): Likewise.
19606 * config/i386/winnt.c (wrapped_symbol_hasher): Likewise.
19607 * config/ia64/ia64.c (bundle_state_hasher): Likewise.
19608 * config/sol2.c (comdat_entry_hasher): Likewise.
19609 * fold-const.c (fold): Use nofree_ptr_hash instead of pointer_hash.
19610 (print_fold_checksum, fold_checksum_tree): Likewise.
19611 (debug_fold_checksum, fold_build1_stat_loc): Likewise.
19612 (fold_build2_stat_loc, fold_build3_stat_loc): Likewise.
19613 (fold_build_call_array_loc): Likewise.
19614 * tree-ssa-ccp.c (gimple_htab): Likewise.
19615 * tree-browser.c (tree_upper_hasher): Inherit from nofree_ptr_hash
19616 rather than pointer_type.
19617
19618 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19619
19620 * hash-traits.h (pointer_hash::mark_deleted, pointer_hash::mark_empty)
19621 (pointer_hash::is_deleted, pointer_hash::is_empty): New functions.
19622
19623 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19624
19625 * hash-traits.h (ggc_hasher::remove): Take a reference parameter.
19626 (ggc_hasher::ggc_mx): Likewise.
19627 (ggc_cache_hasher): Inherit from ggc_hasher. Remove definitions
19628 that duplicate ggc_hasher ones.
19629
19630 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19631
19632 * hash-table.h (hash_table): Add gt_cleare_cache as a friend.
19633 (gt_cleare_cache): Check here for deleted and empty entries.
19634 Replace handle_cache_entry with a call to keep_cache_entry.
19635 * hash-traits.h (ggc_cache_hasher::handle_cache_entry): Delete.
19636 (ggc_cache_hasher::keep_cache_entry): New function.
19637 * trans-mem.c (tm_wrapper_hasher::handle_cache_entry): Delete.
19638 (tm_wrapper_hasher::keep_cache_entry): New function.
19639 * tree.h (tree_decl_map_cache_hasher::handle_cache_entry): Delete.
19640 (tree_vec_map_cache_hasher::keep_cache_entry): New function.
19641 * tree.c (type_cache_hasher::handle_cache_entry): Delete.
19642 (type_cache_hasher::keep_cache_entry): New function.
19643 (tree_vec_map_cache_hasher::handle_cache_entry): Delete.
19644 (tree_vec_map_cache_hasher::keep_cache_entry): New function.
19645 * ubsan.c (tree_type_map_cache_hasher::handle_cache_entry): Delete.
19646 (tree_type_map_cache_hasher::keep_cache_entry): New function.
19647 * varasm.c (tm_clone_hasher::handle_cache_entry): Delete.
19648 (tm_clone_hasher::keep_cache_entry): New function.
19649 * config/i386/i386.c (dllimport_hasher::handle_cache_entry): Delete.
19650 (dllimport_hasher::keep_cache_entry): New function.
19651
19652 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19653
19654 * hash-table.h: Include hash-traits.h.
19655 (typed_free_remove, typed_noop_remove, pointer_hash, ggc_hasher)
19656 (ggc_cache_hasher): Move to...
19657 * hash-traits.h: ...this new file.
19658
19659 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
19660
19661 * tree-core.h (struct tree_optimization_option): Make opts a pointer to
19662 struct cl_optimization.
19663 * tree.h (TREE_OPTIMIZATION): Return the pointer, not the address of it.
19664 * tree.c (make_node_stat): Allocate cl_optimization struct.
19665 (copy_node_stat): Allocate and copy cl_optimization struct.
19666
19667 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
19668
19669 * function.h (struct incoming_args): Move struct.
19670 (pass_by_reference, reference_callee_copied): Remove prototypes.
19671 * emit-rtl.h (struct incoming_args): Relocate struct here.
19672 * calls.h (pass_by_reference, reference_callee_copied): Relocate
19673 prototypes here.
19674 * function.c (pass_by_reference, reference_callee_copied): Move.
19675 * calls.c (pass_by_reference, reference_callee_copied): Relocate here.
19676 * cfgloop.h: Don't include tm.h or hard-reg-set.h.
19677 * ipa-chkp.c: Include calls.h.
19678
19679 2015-06-25 Andrew Macleod <amacleod@redhat.com>
19680
19681 * alias.h (alias_set_type): Move typedef.
19682 * coretypes.h (alias_set_type): Relocate typedef here.
19683 * rtl.h: Don't include alias.h.
19684
19685 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
19686
19687 * cgraph.h (cgraph_rtl_info): Move to rtl.h
19688 (cgraph_node): Maintain pointer to struct cgraph_rtl_info instead of
19689 and instance.
19690 * rtl.h (struct cgraph_rtl_info): Define when HARD_REG_SET available.
19691 * cgraph.c (cgraph_node::rtl_info): Allocate cgraph_rtl_info if one
19692 doesn't exist.
19693 * calls.c: Include hard-reg-set.h before rtl.h.
19694 * ira.c: Likewise.
19695
19696 2015-06-25 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
19697 Vladimir Makarov <vmakarov@redhat.com>
19698
19699 * ira-color.c (assign_hard_reg): Remove unecessary bitmap check.
19700 Add assert.
19701
19702 2015-06-25 Richard Biener <rguenther@suse.de>
19703
19704 * fold-const.c (fold_binary_loc): Move simplification of
19705 (X <<>> C1) & C2 ...
19706 * match.pd: ... here.
19707
19708 2015-06-25 Eric Botcazou <ebotcazou@adacore.com>
19709
19710 * lto-streamer-out.c (DFS::hash_scc): Fix typos & formatting glitches.
19711
19712 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19713
19714 * match.pd: Add patterns for vec_conds between 1 and 0.
19715
19716 2015-06-25 Richard Biener <rguenther@suse.de>
19717
19718 * tree-vect-stmts.c (vectorizable_conversion): Do not set
19719 STMT_VINFO_VEC_STMT for SLP.
19720 (vectorizable_store): Likewise.
19721 (vectorizable_load): Likewise.
19722 (vect_transform_stmt): Catch SLP vectorization clobbering
19723 STMT_VINFO_VEC_STMT.
19724
19725 2015-06-25 Richard Biener <rguenther@suse.de>
19726
19727 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Improve debug
19728 dumping.
19729 (vect_create_mask_and_perm): Do not set STMT_VINFO_VEC_STMT and
19730 cleanup resulting dead code and parameters.
19731 (vect_transform_slp_perm_load): Adjust.
19732
19733 2015-06-25 Nick Clifton <nickc@redhat.com>
19734
19735 * config/bfin/bfin.c (bfin_expand_prologue): Set
19736 current_function_static_stack_size if flag_stack_usage_info is set.
19737 * config/ft32/ft32.c (ft32_expand_prologue): Likewise.
19738 * config/h8300/h8300.c (h8300_expand_prologue): Likewise.
19739 * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
19740 * config/m32c/m32c.c (m32c_emit_prologue): Likewise.
19741
19742 2015-06-25 Tom de Vries <tom@codesourcery.com>
19743
19744 * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Don't claim in header
19745 comment that the generated IV is unsigned.
19746
19747 2015-06-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
19748
19749 PR target/29693
19750 * config/arm/arm.c (arm_dbx_register_number): Return
19751 DWARF_FRAME_REGISTERS by default.
19752
19753 2015-06-25 Tom de Vries <tom@codesourcery.com>
19754
19755 * dominance.c (calculate_dominance_info): Fix verify_dominators call
19756 argument. Call verify_dominator when reusing dominator info.
19757
19758 2015-06-24 Kaz Kojima <kkojima@gcc.gnu.org>
19759
19760 PR target/66563
19761 * config/sh/sh.md (GOTaddr2picreg): Add a new operand for
19762 an additional element of the unspec vector. Modify indices
19763 of operands.
19764 (builtin_setjmp_receiver): Pass const0_rtx to gen_GOTaddr2picreg.
19765 * config/sh/sh.c (prepare_move_operands): Pass incremented
19766 const_int to gen_GOTaddr2picreg.
19767 (sh_expand_prologue): Pass const0_rtx to gen_GOTaddr2picreg.
19768
19769 2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
19770
19771 * config/aarch64/aarch64.md (<optab><fcvt_target><GPF:mode>2):
19772 Condition on TARGET_FLOAT.
19773
19774 2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
19775
19776 * doc/invoke.texi: Clarify AArch64 feature modifiers (no)fp, (no)simd
19777 and (no)crypto.
19778
19779 2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
19780
19781 * config/aarch64/aarch64-protos.h (aarch64_err_no_fpadvsimd): New.
19782
19783 * config/aarch64/aarch64.md (mov<mode>/GPF, movtf): Use
19784 aarch64_err_no_fpadvsimd.
19785
19786 * config/aarch64/aarch64.c (aarch64_err_no_fpadvsimd): New.
19787 (aarch64_layout_arg, aarch64_init_cumulative_args): Use
19788 aarch64_err_no_fpadvsimd if !TARGET_FLOAT and we need FP regs.
19789 (aarch64_expand_builtin_va_start, aarch64_setup_incoming_varargs):
19790 Turn error into assert, test TARGET_FLOAT.
19791 (aarch64_gimplify_va_arg_expr): Use aarch64_err_no_fpadvsimd, test
19792 TARGET_FLOAT.
19793
19794 2015-06-24 Aldy Hernandez <aldyh@redhat.com>
19795
19796 PR debug/66482
19797 * dwarf2out.c (gen_formal_parameter_die): Remove assert.
19798
19799 2015-06-24 Ilya Enkovich <enkovich.gnu@gmail.com>
19800
19801 * tree-vect-slp.c (vect_build_slp_tree_1): Init vectype.
19802
19803 2015-06-24 Renlin Li <renlin.li@arm.com>
19804
19805 * config/aarch64/aarch64.h(TARGET_CPU_CPP_BUILTINS): Add
19806 __ARM_ALIGN_MAX_PWR, __ARM_ALIGN_MAX_STACK_PWR.
19807
19808 2015-06-24 Richard Biener <rguenther@suse.de>
19809
19810 * genmatch.c (enum tree_code): Add VIEW_CONVERT[012].
19811 (main): Likewise.
19812 (lower_opt_convert): Support lowering of conditional view_convert.
19813 (parser::parse_operation): Likewise.
19814 (parser::parse_for): Likewise.
19815
19816 2015-06-24 Renlin Li <renlin.li@arm.com>
19817
19818 * varasm.c (emit_local): Use unsigned int for align variable.
19819
19820 2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
19821
19822 PR target/63408
19823 * config/arm/arm.c (vfp3_const_double_for_fract_bits): Disable
19824 for negative numbers.
19825
19826 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
19827
19828 PR rtl-optimization/66306
19829 * reload.c (find_reloads): Swap the match_dup info for
19830 commutative operands.
19831
19832 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
19833
19834 * config/s390/vx-builtins.md
19835 ("vec_scatter_element<mode>_<non_vec_int>")
19836 ("vec_scatter_element<V_HW_64:mode>_SI"): Replace gf mode
19837 attribute with bhfgq.
19838
19839 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
19840
19841 * config/s390/s390-builtins.def: Fix vpopct instruction comments.
19842
19843 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
19844
19845 * config/s390/s390-builtin-types.def: Add flag to indicate the
19846 options under which the function type is needed.
19847 * config/s390/s390-builtins.def: Add flag to indicate the options
19848 under which the builtin is enabled.
19849 * config/s390/s390-builtins.h: Add flags parameter to macro
19850 definitions.
19851 (bflags_for_builtin): New function.
19852 (flags_for_builtin): Renamed to ...
19853 (opflags_for_builtin): ... this.
19854 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Rename
19855 flags_for_builtin to bflags_for_builtin and
19856 flags_overloaded_builtin_var to opflags_overloaded_builtin_var.
19857 * config/s390/s390.c: Add initialization of bflags_builtin and
19858 opflags_builtin arrays.
19859 Remove code for flags_builtin.
19860 (s390_init_builtins): Only create builtin function types if one of
19861 their flags is active.
19862 Only create builtins if all of their flags are active.
19863 (s390_expand_builtin): Rename flags_for_builtin to
19864 opflags_for_builtin.
19865
19866 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
19867
19868 * config/s390/vecintrin.h: Remove internal builtins.
19869
19870 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
19871
19872 * config/s390/s390.c (s390_secondary_reload): Fix check for
19873 GENERAL_REGS register class.
19874
19875 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
19876
19877 * config/s390/s390.c (s390_support_vector_misalignment): Call
19878 default implementation for !TARGET_VX.
19879
19880 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
19881
19882 * config/s390/s390.c (s390_legitimate_constant_p): Add
19883 TARGET_VX check.
19884
19885 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
19886
19887 * config/s390/s390.c (s390_vector_abi): New variable definition.
19888 (s390_check_type_for_vector_abi): New function.
19889 (TARGET_ASM_FILE_END): New macro definition.
19890 (s390_asm_file_end): New function.
19891 (s390_function_arg): Call s390_check_type_for_vector_abi.
19892 (s390_gimplify_va_arg): Likewise.
19893 * configure: Regenerate.
19894 * configure.ac: Check for .gnu_attribute Binutils feature.
19895
19896 2015-06-23 Chen Gang <gang.chen.5i5j@gmail.com>
19897
19898 PR target/65803
19899 * config/bfin/bfin.c (hwloop_optimize): Initialize
19900 JUMP_LABEL for newly created jump.
19901
19902 2015-06-23 Tristan Gingold <gingold@adacore.com>
19903
19904 * collect-utils.c (collect_wait): Unlink the response file here
19905 instead of...
19906 (do_wait): ...here.
19907 (utils_cleanup): ...and here.
19908
19909 2015-06-23 Richard Sandiford <richard.sandiford@arm.com>
19910
19911 * df-scan.c: Don't include target-def.h.
19912 * targhooks.c: Likewise.
19913 * config/arm/arm-c.c: Likewise.
19914 * config/i386/i386-c.c: Likewise.
19915 * config/nds32/nds32-cost.c: Likewise.
19916 * config/nds32/nds32-fp-as-gp.c: Likewise.
19917 * config/nds32/nds32-intrinsic.c: Likewise.
19918 * config/nds32/nds32-isr.c: Likewise.
19919 * config/nds32/nds32-md-auxiliary.c: Likewise.
19920 * config/nds32/nds32-memory-manipulation.c: Likewise.
19921 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
19922 * config/nds32/nds32-predicates.c: Likewise.
19923
19924 2015-06-23 Richard Biener <rguenther@suse.de>
19925
19926 PR tree-optimization/66636
19927 * tree-vect-stmts.c (vectorizable_store): Properly compute the
19928 def type for further defs for strided stores.
19929
19930 2015-06-23 Nathan Sidwell <nathan@codesourcery.com>
19931
19932 * config/nvptx/nvptx.md (sel_true<mode>, sel_false<mode>): New
19933 conditional selects.
19934 (setcc_int<mode>, setcc_float<mode>): Reformat.
19935
19936 2015-06-23 Marek Polacek <polacek@redhat.com>
19937
19938 * match.pd ((x + y) - (x | y) -> x & y,
19939 (x + y) - (x & y) -> x | y): New patterns.
19940
19941 2015-06-23 Ludovic Courtès <ludo@gnu.org>
19942
19943 PR 65711
19944 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Move
19945 '-dynamic-linker' within %{!shared: ...}.
19946
19947 2015-06-23 Uros Bizjak <ubizjak@gmail.com>
19948
19949 PR target/66560
19950 * config/i386/predicates.md (addsub_vm_operator): New predicate.
19951 (addsub_vs_operator): Ditto.
19952 (addsub_vs_parallel): Ditto.
19953 * config/i386/sse.md (ssedoublemode): Add V4SF and V2DF modes.
19954 (avx_addsubv4df3, avx_addsubv8sf3, sse3_addsubv2df3, sse3_addsubv4sf3):
19955 Put minus RTX before plus and adjust vec_merge selector.
19956 (*avx_addsubv4df3_1, *avx_addsubv4df3_1s, *sse3_addsubv2df3_1)
19957 (*sse_addsubv2df3_1s, *avx_addsubv8sf3_1, *avx_addsubv8sf3_1s)
19958 (*sse3_addsubv4sf3_1, *sse_addsubv4sf3_1s): Remove insn patterns.
19959 (addsub vec_merge splitters): New combiner splitters.
19960 (addsub vec_select/vec_concat splitters): Ditto.
19961
19962 2015-06-23 Bin Cheng <bin.cheng@arm.com>
19963
19964 PR tree-optimization/66449
19965 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Use
19966 POINTER_PLUS_EXPR for pointers.
19967
19968 2015-06-23 Alan Modra <amodra@gmail.com>
19969
19970 * rtlanal.c (commutative_operand_precedence): Correct comments.
19971 * simplify-rtx.c (simplify_plus_minus_op_data_cmp): Delete forward
19972 declaration. Return an int. Distinguish REG,REG return from
19973 others.
19974 (struct simplify_plus_minus_op_data): Make local to function.
19975 (simplify_plus_minus): Don't set canonicalized if merely sorting
19976 registers. Avoid packing ops if nothing changes. White space fixes.
19977
19978 2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
19979
19980 * gcc.c (default_compilers): Pass "-o %g.s" to cc1 for headers even if
19981 -fdump-ada-spec is passed but not if -fsyntax-only is.
19982
19983 2015-06-22 Vladimir Makarov <vmakarov@redhat.com>
19984
19985 PR bootstrap/63740
19986 * lra-lives.c (process_bb_lives): Check insn copying the same
19987 reload pseudo and don't create a copy for it.
19988
19989 2015-06-22 Tom de Vries <tom@codesourcery.com>
19990
19991 * tree-parloops.c (transform_to_exit_first_loop_alt): Add update_stmt
19992 for cond_stmt.
19993
19994 2015-06-22 Tom de Vries <tom@codesourcery.com>
19995
19996 * builtins.def (DEF_GOMP_BUILTIN): Test
19997 'flag_tree_parallelize_loops > 1' instead of
19998 'flag_tree_parallelize_loops'. Test flag_cilkplus.
19999
20000 2015-06-22 Tom de Vries <tom@codesourcery.com>
20001
20002 * dominance.c (calculate_dominance_info): Verify dominators if
20003 early-out.
20004
20005 2015-06-22 Marek Polacek <polacek@redhat.com>
20006
20007 * match.pd ((x ^ y) ^ (x | y) -> x & y,
20008 (x & y) + (x ^ y) -> x | y, (x & y) | (x ^ y) -> x | y,
20009 (x & y) ^ (x ^ y) -> x | y, (x & y) + (x | y) -> x + y,
20010 (x | y) - (x ^ y) -> x & y, (x | y) - (x & y) -> x ^ y): New patterns.
20011
20012 2015-06-22 Uros Bizjak <ubizjak@gmail.com>
20013
20014 PR target/65871
20015 * config/i386/i386.c (ix86_rtx_costs) <case COMPARE>: Ignore the
20016 cost of embedded comparison.
20017
20018 2015-06-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
20019
20020 PR target/65914
20021 * config/rs6000/predicates.md (altivec_register_operand): Permit
20022 virtual stack registers.
20023 (vsx_register_operand): Likewise.
20024 (vfloat_operand): Likewise.
20025 (vint_operand): Likewise.
20026 (vlogical_operand): Likewise.
20027
20028 2015-06-22 Richard Biener <rguenther@suse.de>
20029
20030 * tree-vectorizer.h (_loop_vec_info): Add scalar_cost_vec
20031 and single_scalar_iteration_cost members.
20032 (LOOP_VINFO_SCALAR_ITERATION_COST): New.
20033 (LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST): Likewise.
20034 (vect_get_single_scalar_iteration_cost): Remove.
20035 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
20036 Use LOOP_VINFO_SCALAR_ITERATION_COST.
20037 * tree-vect-loop.c (destroy_loop_vec_info): Free
20038 scalar_cost_vec.
20039 (vect_get_single_scalar_iteration_cost): Compute result into
20040 LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST and
20041 LOOP_VINFO_SCALAR_ITERATION_COST. Make static.
20042 (vect_analyze_loop_2): Call vect_get_single_scalar_iteration_cost.
20043 (vect_estimate_min_profitable_iters): Use them.
20044
20045 2015-06-22 Christian Bruel <christian.bruel@st.com>
20046
20047 PR target/52144
20048 * config/arm/arm.c (add_attribute, arm_insert_attributes): New functions
20049 (TARGET_INSERT_ATTRIBUTES): Define.
20050 (thumb_flipper): New var.
20051 * config/arm/arm.opt (-mflip-thumb): New switch.
20052
20053 2015-06-22 Jan Hubicka <hubicka@ucw.cz>
20054 Martin Liska <mliska@suse.cz>
20055
20056 PR ipa/65908
20057 * ipa-icf.c (sem_item::target_supports_symbol_aliases): Remove
20058 construction of arg_types.
20059 (sem_function::sem_function): Likewise.
20060 (sem_function::~sem_function): Remove destruction of arg_types.
20061 (sem_function::compatible_parm_types_p): New function.
20062 (sem_function::equals_wpa): Reorg matching of return values
20063 and parameter types.
20064 (sem_function::equals_private): Reorg mathcing of argument types.
20065 (sem_function::parse_tree_args): Remove.
20066 * ipa-icf.h (init_wpa): Do not call it.
20067 (parse_tree_args): Remove.
20068 (compatible_parm_types_p): Declare.
20069 (result_type): Remove.
20070 (arg_types): Remove.
20071
20072 2015-06-22 Jan Hubicka <hubicka@ucw.cz>
20073
20074 PR ipa/66351
20075 * ipa-polymorphic-call.c
20076 (ipa_polymorphic_call_context::get_dynamic_type): Fix thinko when
20077 initializing alias oracle; fix formating; set base_alias_set if it
20078 is known.
20079
20080 2015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
20081
20082 * auto-inc-dec.c (reverse_mem, reverse_inc): Remove.
20083 (parse_add_or_inc): Use std::swap instead of reverse_{mem,inc}.
20084 (find_inc): Likewise.
20085 * combine.c (combine_simplify_rtx): Use std::swap instead of manually
20086 swapping.
20087 * df-core.c (df_worklist_dataflow_doublequeue): Likewise.
20088 * df-scan.c (df_swap_refs): Remove.
20089 (df_sort_and_compress_refs): Use std::swap instead of df_swap_refs.
20090 * dominance.c (link_roots): Use std::swap instead of manually swapping.
20091 * expr.c (expand_expr_real_2, do_store_flag): Likewise.
20092 * fold-const.c (fold_relational_const): Likewise.
20093 * genattrtab.c (simplify_test_exp): Likewise.
20094 * gimple-match-head.c (gimple_resimplify2, gimple_resimplify3,
20095 gimple_simplify): Likewise.
20096 * ifcvt.c (noce_try_abs, find_if_header): Likewise.
20097 * internal-fn.c (expand_addsub_overflow, expand_mul_overflow): Likewise.
20098 * ipa-devirt.c (add_type_duplicate): Likewise.
20099 * loop-iv.c (get_biv_step_1, iv_number_of_iterations): Likewise.
20100 * lra-lives.c (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
20101 * lra.c (lra_create_copy): Likewise.
20102 * lto-streamer-out.c (DFS::DFS): Likewise.
20103 * modulo-sched.c (get_sched_window): Likewise.
20104 * omega.c (omega_pretty_print_problem): Likewise.
20105 * optabs.c (prepare_float_lib_cmp, expand_mult_highpart): Likewise.
20106 * reload1.c (reloads_unique_chain_p): Likewise.
20107 * sel-sched-ir.c (exchange_lv_sets, exchange_av_sets): Remove.
20108 (exchange_data_sets): Move logic from exchange_{av,lv}_sets here and
20109 use std::swap.
20110 * simplify-rtx.c (simplify_unary_operation_1): Use std::swap instead of
20111 manually swapping.
20112 * tree-if-conv.c (is_cond_scalar_reduction, predicate_scalar_phi,
20113 predicate_mem_writes): Likewise.
20114 * tree-loop-distribution.c (pg_add_dependence_edges): Likewise.
20115 * tree-predcom.c (combine_chains): Likewise.
20116 * tree-ssa-alias.c (nonoverlapping_component_refs_p,
20117 refs_may_alias_p_1): Likewise.
20118 * tree-ssa-ifcombine.c (recognize_if_then_else): Likewise.
20119 * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
20120 * tree-ssa-loop-niter.c (refine_bounds_using_guard,
20121 number_of_iterations_cond): Likewise.
20122 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
20123 * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Likewise.
20124 * tree-vect-slp.c (vect_build_slp_tree): Likewise.
20125 * tree-vect-stmts.c (supportable_widening_operation): Likewise.
20126 * tree-vrp.c (extract_range_from_binary_expr_1,
20127 extract_range_from_unary_expr_1): Likewise.
20128
20129 2015-06-20 Marek Polacek <polacek@redhat.com>
20130
20131 * common.opt (fsanitize-undefined-trap-on-error): Add Driver.
20132
20133 2015-06-19 Kaz Kojima <kkojima@gcc.gnu.org>
20134
20135 PR target/66591
20136 * config/sh/sh.c (prepare_move_operands): Replace subreg
20137 index term with R0 for base and index addressing.
20138
20139 2015-06-19 Jim Wilson <jim.wilson@linaro.org>
20140
20141 * config/aarch64/aarch64.md (mov<mode>:GPF): Don't call force_reg if
20142 op1 is an fp zero.
20143 (movsf_aarch64): Change condition from register_operand to
20144 aarch64_reg_or_fp_zero for op1. Change type for alternative 6 to
20145 load1. Change type for alternative 7 to store1.
20146 (movdf_aarch64): Likewise.
20147
20148 2015-06-19 James Greenhalgh <james.greenhalgh@arm.com>
20149
20150 * config/vax/vax.md: Adjust sign/zero extend patterns to
20151 handle SUBREGs in operands[1].
20152
20153 2015-06-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20154
20155 * config/i386/i386.c (ix86_function_versions): Use std::swap instead
20156 of manually swapping.
20157 (expand_vec_perm_interleave2): Likewise.
20158
20159 2015-06-19 Ilya Enkovich <enkovich.gnu@gmail.com>
20160
20161 * tree-chkp.c (chkp_compute_bounds_for_assignment): Don't
20162 reuse bounds created for abnormal ssa names.
20163
20164 2015-06-19 Jakub Jelinek <jakub@redhat.com>
20165
20166 * config/nvptx/nvptx.md (allocate_stack): Rename to...
20167 (allocate_stack_<mode>): ... this, and add :P on both
20168 match_operand and unspec.
20169 (allocate_stack): New expander.
20170
20171 2015-06-19 Christian Bruel <christian.bruel@st.com>
20172
20173 PR target/66541
20174 PR target/52144
20175 * config/arm/arm.c (arm_set_current_function): Handle
20176 explicit default options.
20177
20178 2015-06-18 Uros Bizjak <ubizjak@gmail.com>
20179
20180 * config/i386/i386.md (*movsicc_noc_zext): New insn.
20181 (zero-extended cmove with mem peephole2): New pattern.
20182 (cmove with mem peephole2): Merge patterns.
20183
20184 2015-06-18 Segher Boessenkool <segher@kernel.crashing.org>
20185
20186 * config/rs6000/rs6000.h (WORD_REGISTER_OPERATIONS): Delete.
20187
20188 2015-06-18 Steve Ellcey <sellcey@imgtec.com>
20189
20190 * config/mips/mips.c (mips_rtx_costs): Remove HONOR_NAN check.
20191 * config/mips/mips.md (*madd4<mode>): Ditto.
20192 (*nmadd3<mode>) Ditto.
20193 (*nmadd4<mode>_fastmath): Ditto.
20194 (*nmadd3<mode>_fastmath): Ditto.
20195 (*nmsub4<mode>): Ditto.
20196 (*nmsub3<mode>): Ditto.
20197 (*nmsub4<mode>_fastmath): Ditto.
20198 (*nmsub3<mode>_fastmath): Ditto.
20199
20200 2015-06-18 Michael Matz <matz@suse.de>
20201
20202 PR middle-end/66253
20203 * tree-vect-stmts.c (vectorizable_store): Implement non-SLP
20204 grouped strided stores.
20205 (vectorizable_load): Don't use the DR from first_stmt in
20206 the non-SLP grouped strided case.
20207
20208 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
20209
20210 PR target/66569
20211 * function.c (assign_bounds): Add arguments assign_regs,
20212 assign_special, assign_bt.
20213 (assign_parms): For vararg functions handle bounds in BT
20214 and special slots after incoming vararg bounds.
20215
20216 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
20217
20218 PR middle-end/66568
20219 * cfgexpand.c (expand_return): Handle missing bounds.
20220 (expand_gimple_stmt_1): Likewise.
20221 * tree-chkp.c (chkp_expand_zero_bounds): New.
20222 * tree-chkp.h (chkp_expand_zero_bounds): New.
20223
20224 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
20225
20226 PR middle-end/66567
20227 * ipa-chkp.c (chkp_maybe_create_clone): Require
20228 functions to be instrumentable.
20229 * tree-chkp.c (chkp_replace_function_pointer): Use
20230 chkp_instrumentable_p instead of attribute check.
20231
20232 2015-06-18 Richard Biener <rguenther@suse.de>
20233
20234 PR tree-optimization/66510
20235 * tree-vect-stmts.c (vectorizable_load): Properly compute the
20236 number of vector loads for SLP permuted loads.
20237 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Also
20238 check the stride for loop vectorization.
20239 (vect_enhance_data_refs_alignment): Deal with SLP adjusted
20240 vectorization factor.
20241 (vect_analyze_group_access): If the group size is not a power
20242 of two require a epilogue loop.
20243 * tree-vect-loop.c (vect_analyze_loop_2): Move alignment
20244 compute and optimizing and alias test pruning after final
20245 vectorization factor computation.
20246 * tree-vect-slp.c (vect_build_slp_tree_1): Remove check on
20247 vector alignment.
20248 (vect_transform_slp_perm_load): Properly compute the original
20249 number of vector load stmts.
20250
20251 2015-06-18 Uros Bizjak <ubizjak@gmail.com>
20252
20253 * doc/invoke.texi (-fsanitize-sections): Split @var to avoid
20254 "unlikely character , in @var" warning.
20255
20256 2015-06-17 Uros Bizjak <ubizjak@gmail.com>
20257
20258 * config/i386/i386.c (ix86_function_arg): Nest TARGET_64BIT code.
20259 (ix86_function_arg_advance): Ditto.
20260 (ix86_pass_by_reference): Ditto. Rewrite MS_ABI part.
20261
20262 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
20263
20264 * function.h (struct rtl_data): Remove struct and accessor macros.
20265 * emit-rtl.h (struct rtl_data): Relocate to here.
20266 * Makefile.in (GTFILES): Add emit-rtl.h.
20267 * df-core.c: Include emit-rtl.h.
20268 * genattrtab.c: Likewise.
20269 * genconditions.c: Likewise.
20270 * genpreds.c: Likewise.
20271 * genrecog.c: Likewise.
20272 * regcprop.c: Likewise.
20273 * resource.c: Likewise.
20274 * sched-rgn.c: Likewise.
20275 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
20276 * config/i386/winnt.c: Likewise.
20277
20278 2015-06-17 Jakub Jelinek <jakub@redhat.com>
20279
20280 PR middle-end/66429
20281 * omp-low.c (expand_omp_taskreg, expand_omp_target): Use child_cfun
20282 instead of DECL_STRUCT_FUNCTION (child_fn). Or in has_simduid_loops
20283 and has_force_vectorize_loops flags from cfun into
20284 child_cfun.
20285 (expand_omp_simd): For broken loop, set cfun->has_simduid_loops
20286 if simduid is non-NULL.
20287 * tree-pass.h (make_pass_simduid_cleanup): New prototype.
20288 * passes.def (pass_simduid_cleanup): Add new pass after loop
20289 passes.
20290 * tree-vectorizer.c (adjust_simduid_builtins): Remove one unnecessary
20291 indirection from htab argument's type.
20292 (shrink_simd_arrays): New function.
20293 (vectorize_loops): Use it. Adjust adjust_simduid_builtins caller.
20294 Don't call adjust_simduid_builtins if there are no loops.
20295 (pass_data_simduid_cleanup, pass_simduid_cleanup): New variables.
20296 (pass_simduid_cleanup::execute): New method.
20297 (make_pass_simduid_cleanup): New function.
20298
20299 2017-06-17 Andrew MacLeod <amacleod@redhat.com>
20300
20301 * tree-core.h (tree_target_option): Make opts field a pointer to a
20302 cl_target_option instead of an instance of the struct.
20303 * tree.h (TREE_TARGET_OPTION): Return the pointer, not an address of
20304 the structure.
20305 * tree.c (make_node_stat ): Allocate a cl_target_option struct for
20306 TARGET_OPTION_NODE.
20307 (copy_node_stat): Allocate and copy struct cl_target_option.
20308
20309 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
20310
20311 * tree.h (merge_dllimport_decl_attributes, handle_dll_attribute):
20312 Remove conditional exposure of prototypes.
20313 (ANON_AGGRNAME_FORMAT, ANON_AGGRNAME_P): Delete.
20314 * tree.c (anon_aggrname_format, anon_aggrname_p): New. Replace macro
20315 definitions in tree.h with functions.
20316 * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Use
20317 anon_aggrname_p.
20318 * tree-streamer-out.c (write_ts_decl_minimal_tree_pointers): Likewise.
20319
20320 2015-06-17 Segher Boessenkool <segher@kernel.crashing.org>
20321
20322 * config/rs6000/rs6000.md (*cmp<mode>_internal1): Rename to...
20323 (*cmp<mode>_signed): ... this.
20324 (*cmpsi_internal2, *cmpdi_internal2): Merge, rename to...
20325 (*cmp<mode>_unsigned): ... this. Remove %b.
20326
20327 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
20328
20329 * coretypes.h: Include input.h and as-a.h.
20330 * rtl.h: Include input.h and as-a.h for generator files.
20331 * hwint.c: Include coretypes.h, don't include diagnostic-core.h.
20332 * vec.c: Don't include diagnostic-core.h.
20333 * alias.c: Do not include input.h, line-map.h or is-a.h.
20334 * asan.c: Likewise.
20335 * attribs.c: Likewise.
20336 * auto-inc-dec.c: Likewise.
20337 * auto-profile.c: Likewise.
20338 * bb-reorder.c: Likewise.
20339 * bt-load.c: Likewise.
20340 * builtins.c: Likewise.
20341 * caller-save.c: Likewise.
20342 * calls.c: Likewise.
20343 * ccmp.c: Likewise.
20344 * cfg.c: Likewise.
20345 * cfganal.c: Likewise.
20346 * cfgbuild.c: Likewise.
20347 * cfgcleanup.c: Likewise.
20348 * cfgexpand.c: Likewise.
20349 * cfghooks.c: Likewise.
20350 * cfgloop.c: Likewise.
20351 * cfgloop.h: Likewise.
20352 * cfgloopanal.c: Likewise.
20353 * cfgloopmanip.c: Likewise.
20354 * cfgrtl.c: Likewise.
20355 * cgraph.c: Likewise.
20356 * cgraphbuild.c: Likewise.
20357 * cgraphclones.c: Likewise.
20358 * cgraphunit.c: Likewise.
20359 * cilk-common.c: Likewise.
20360 * combine-stack-adj.c: Likewise.
20361 * combine.c: Likewise.
20362 * compare-elim.c: Likewise.
20363 * convert.c: Likewise.
20364 * coverage.c: Likewise.
20365 * cppbuiltin.c: Likewise.
20366 * cprop.c: Likewise.
20367 * cse.c: Likewise.
20368 * cselib.c: Likewise.
20369 * data-streamer-in.c: Likewise.
20370 * data-streamer-out.c: Likewise.
20371 * data-streamer.c: Likewise.
20372 * dbxout.c: Likewise.
20373 * dce.c: Likewise.
20374 * ddg.c: Likewise.
20375 * debug.c: Likewise.
20376 * df-core.c: Likewise.
20377 * df-problems.c: Likewise.
20378 * df-scan.c: Likewise.
20379 * df.h: Likewise.
20380 * dfp.c: Likewise.
20381 * diagnostic-core.h: Likewise.
20382 * diagnostic.c: Likewise.
20383 * dojump.c: Likewise.
20384 * dominance.c: Likewise.
20385 * domwalk.c: Likewise.
20386 * double-int.c: Likewise.
20387 * dse.c: Likewise.
20388 * dumpfile.c: Likewise.
20389 * dumpfile.h: Likewise.
20390 * dwarf2asm.c: Likewise.
20391 * dwarf2cfi.c: Likewise.
20392 * dwarf2out.c: Likewise.
20393 * emit-rtl.c: Likewise.
20394 * et-forest.c: Likewise.
20395 * except.c: Likewise.
20396 * explow.c: Likewise.
20397 * expmed.c: Likewise.
20398 * expr.c: Likewise.
20399 * final.c: Likewise.
20400 * fixed-value.c: Likewise.
20401 * fold-const.c: Likewise.
20402 * function.c: Likewise.
20403 * fwprop.c: Likewise.
20404 * gcc-plugin.h: Likewise.
20405 * gcse.c: Likewise.
20406 * generic-match-head.c: Likewise.
20407 * ggc-page.c: Likewise.
20408 * gimple-builder.c: Likewise.
20409 * gimple-expr.c: Likewise.
20410 * gimple-fold.c: Likewise.
20411 * gimple-iterator.c: Likewise.
20412 * gimple-low.c: Likewise.
20413 * gimple-match-head.c: Likewise.
20414 * gimple-pretty-print.c: Likewise.
20415 * gimple-ssa-isolate-paths.c: Likewise.
20416 * gimple-ssa-strength-reduction.c: Likewise.
20417 * gimple-streamer-in.c: Likewise.
20418 * gimple-streamer-out.c: Likewise.
20419 * gimple-streamer.h: Likewise.
20420 * gimple-walk.c: Likewise.
20421 * gimple.c: Likewise.
20422 * gimplify-me.c: Likewise.
20423 * gimplify.c: Likewise.
20424 * godump.c: Likewise.
20425 * graph.c: Likewise.
20426 * graphite-blocking.c: Likewise.
20427 * graphite-dependences.c: Likewise.
20428 * graphite-interchange.c: Likewise.
20429 * graphite-isl-ast-to-gimple.c: Likewise.
20430 * graphite-optimize-isl.c: Likewise.
20431 * graphite-poly.c: Likewise.
20432 * graphite-scop-detection.c: Likewise.
20433 * graphite-sese-to-poly.c: Likewise.
20434 * graphite.c: Likewise.
20435 * haifa-sched.c: Likewise.
20436 * hw-doloop.c: Likewise.
20437 * ifcvt.c: Likewise.
20438 * init-regs.c: Likewise.
20439 * input.c: Likewise.
20440 * internal-fn.c: Likewise.
20441 * ipa-chkp.c: Likewise.
20442 * ipa-comdats.c: Likewise.
20443 * ipa-cp.c: Likewise.
20444 * ipa-devirt.c: Likewise.
20445 * ipa-icf-gimple.c: Likewise.
20446 * ipa-icf.c: Likewise.
20447 * ipa-inline-analysis.c: Likewise.
20448 * ipa-inline-transform.c: Likewise.
20449 * ipa-inline.c: Likewise.
20450 * ipa-polymorphic-call.c: Likewise.
20451 * ipa-profile.c: Likewise.
20452 * ipa-prop.c: Likewise.
20453 * ipa-pure-const.c: Likewise.
20454 * ipa-ref.c: Likewise.
20455 * ipa-reference.c: Likewise.
20456 * ipa-split.c: Likewise.
20457 * ipa-utils.c: Likewise.
20458 * ipa-visibility.c: Likewise.
20459 * ipa.c: Likewise.
20460 * ira-build.c: Likewise.
20461 * ira-color.c: Likewise.
20462 * ira-conflicts.c: Likewise.
20463 * ira-costs.c: Likewise.
20464 * ira-emit.c: Likewise.
20465 * ira-lives.c: Likewise.
20466 * ira.c: Likewise.
20467 * jump.c: Likewise.
20468 * langhooks.c: Likewise.
20469 * lcm.c: Likewise.
20470 * loop-doloop.c: Likewise.
20471 * loop-init.c: Likewise.
20472 * loop-invariant.c: Likewise.
20473 * loop-iv.c: Likewise.
20474 * loop-unroll.c: Likewise.
20475 * lower-subreg.c: Likewise.
20476 * lra-assigns.c: Likewise.
20477 * lra-coalesce.c: Likewise.
20478 * lra-constraints.c: Likewise.
20479 * lra-eliminations.c: Likewise.
20480 * lra-lives.c: Likewise.
20481 * lra-remat.c: Likewise.
20482 * lra-spills.c: Likewise.
20483 * lra.c: Likewise.
20484 * lto-cgraph.c: Likewise.
20485 * lto-compress.c: Likewise.
20486 * lto-opts.c: Likewise.
20487 * lto-section-in.c: Likewise.
20488 * lto-section-out.c: Likewise.
20489 * lto-streamer-in.c: Likewise.
20490 * lto-streamer-out.c: Likewise.
20491 * lto-streamer.c: Likewise.
20492 * mcf.c: Likewise.
20493 * mode-switching.c: Likewise.
20494 * modulo-sched.c: Likewise.
20495 * omega.c: Likewise.
20496 * omp-low.c: Likewise.
20497 * optabs.c: Likewise.
20498 * opts-global.c: Likewise.
20499 * opts.h: Likewise.
20500 * passes.c: Likewise.
20501 * plugin.c: Likewise.
20502 * postreload-gcse.c: Likewise.
20503 * postreload.c: Likewise.
20504 * predict.c: Likewise.
20505 * pretty-print.h: Likewise.
20506 * print-rtl.c: Likewise.
20507 * print-tree.c: Likewise.
20508 * profile.c: Likewise.
20509 * real.c: Likewise.
20510 * realmpfr.c: Likewise.
20511 * recog.c: Likewise.
20512 * ree.c: Likewise.
20513 * reg-stack.c: Likewise.
20514 * regcprop.c: Likewise.
20515 * reginfo.c: Likewise.
20516 * regrename.c: Likewise.
20517 * regstat.c: Likewise.
20518 * reload.c: Likewise.
20519 * reload1.c: Likewise.
20520 * reorg.c: Likewise.
20521 * resource.c: Likewise.
20522 * rtl-chkp.c: Likewise.
20523 * rtl-error.c: Likewise.
20524 * rtlanal.c: Likewise.
20525 * rtlhooks.c: Likewise.
20526 * sanopt.c: Likewise.
20527 * sched-deps.c: Likewise.
20528 * sched-ebb.c: Likewise.
20529 * sched-rgn.c: Likewise.
20530 * sched-vis.c: Likewise.
20531 * sdbout.c: Likewise.
20532 * sel-sched-dump.c: Likewise.
20533 * sel-sched-ir.c: Likewise.
20534 * sel-sched.c: Likewise.
20535 * sese.c: Likewise.
20536 * shrink-wrap.c: Likewise.
20537 * simplify-rtx.c: Likewise.
20538 * stack-ptr-mod.c: Likewise.
20539 * statistics.c: Likewise.
20540 * stmt.c: Likewise.
20541 * stor-layout.c: Likewise.
20542 * store-motion.c: Likewise.
20543 * streamer-hooks.c: Likewise.
20544 * stringpool.c: Likewise.
20545 * symtab.c: Likewise.
20546 * target-globals.c: Likewise.
20547 * targhooks.c: Likewise.
20548 * toplev.c: Likewise.
20549 * tracer.c: Likewise.
20550 * trans-mem.c: Likewise.
20551 * tree-affine.c: Likewise.
20552 * tree-browser.c: Likewise.
20553 * tree-call-cdce.c: Likewise.
20554 * tree-cfg.c: Likewise.
20555 * tree-cfgcleanup.c: Likewise.
20556 * tree-chkp-opt.c: Likewise.
20557 * tree-chkp.c: Likewise.
20558 * tree-chrec.c: Likewise.
20559 * tree-complex.c: Likewise.
20560 * tree-data-ref.c: Likewise.
20561 * tree-dfa.c: Likewise.
20562 * tree-diagnostic.c: Likewise.
20563 * tree-dump.c: Likewise.
20564 * tree-eh.c: Likewise.
20565 * tree-emutls.c: Likewise.
20566 * tree-if-conv.c: Likewise.
20567 * tree-inline.c: Likewise.
20568 * tree-into-ssa.c: Likewise.
20569 * tree-iterator.c: Likewise.
20570 * tree-loop-distribution.c: Likewise.
20571 * tree-nested.c: Likewise.
20572 * tree-nrv.c: Likewise.
20573 * tree-object-size.c: Likewise.
20574 * tree-outof-ssa.c: Likewise.
20575 * tree-parloops.c: Likewise.
20576 * tree-phinodes.c: Likewise.
20577 * tree-predcom.c: Likewise.
20578 * tree-pretty-print.c: Likewise.
20579 * tree-profile.c: Likewise.
20580 * tree-scalar-evolution.c: Likewise.
20581 * tree-sra.c: Likewise.
20582 * tree-ssa-address.c: Likewise.
20583 * tree-ssa-alias.c: Likewise.
20584 * tree-ssa-ccp.c: Likewise.
20585 * tree-ssa-coalesce.c: Likewise.
20586 * tree-ssa-copy.c: Likewise.
20587 * tree-ssa-copyrename.c: Likewise.
20588 * tree-ssa-dce.c: Likewise.
20589 * tree-ssa-dom.c: Likewise.
20590 * tree-ssa-dse.c: Likewise.
20591 * tree-ssa-forwprop.c: Likewise.
20592 * tree-ssa-ifcombine.c: Likewise.
20593 * tree-ssa-live.c: Likewise.
20594 * tree-ssa-loop-ch.c: Likewise.
20595 * tree-ssa-loop-im.c: Likewise.
20596 * tree-ssa-loop-ivcanon.c: Likewise.
20597 * tree-ssa-loop-ivopts.c: Likewise.
20598 * tree-ssa-loop-manip.c: Likewise.
20599 * tree-ssa-loop-niter.c: Likewise.
20600 * tree-ssa-loop-prefetch.c: Likewise.
20601 * tree-ssa-loop-unswitch.c: Likewise.
20602 * tree-ssa-loop.c: Likewise.
20603 * tree-ssa-math-opts.c: Likewise.
20604 * tree-ssa-operands.c: Likewise.
20605 * tree-ssa-phiopt.c: Likewise.
20606 * tree-ssa-phiprop.c: Likewise.
20607 * tree-ssa-pre.c: Likewise.
20608 * tree-ssa-propagate.c: Likewise.
20609 * tree-ssa-reassoc.c: Likewise.
20610 * tree-ssa-sccvn.c: Likewise.
20611 * tree-ssa-scopedtables.c: Likewise.
20612 * tree-ssa-sink.c: Likewise.
20613 * tree-ssa-strlen.c: Likewise.
20614 * tree-ssa-structalias.c: Likewise.
20615 * tree-ssa-tail-merge.c: Likewise.
20616 * tree-ssa-ter.c: Likewise.
20617 * tree-ssa-threadedge.c: Likewise.
20618 * tree-ssa-threadupdate.c: Likewise.
20619 * tree-ssa-uncprop.c: Likewise.
20620 * tree-ssa-uninit.c: Likewise.
20621 * tree-ssa.c: Likewise.
20622 * tree-ssanames.c: Likewise.
20623 * tree-stdarg.c: Likewise.
20624 * tree-streamer-in.c: Likewise.
20625 * tree-streamer-out.c: Likewise.
20626 * tree-streamer.c: Likewise.
20627 * tree-switch-conversion.c: Likewise.
20628 * tree-tailcall.c: Likewise.
20629 * tree-vect-data-refs.c: Likewise.
20630 * tree-vect-generic.c: Likewise.
20631 * tree-vect-loop-manip.c: Likewise.
20632 * tree-vect-loop.c: Likewise.
20633 * tree-vect-patterns.c: Likewise.
20634 * tree-vect-slp.c: Likewise.
20635 * tree-vect-stmts.c: Likewise.
20636 * tree-vectorizer.c: Likewise.
20637 * tree-vrp.c: Likewise.
20638 * tree.c: Likewise.
20639 * tsan.c: Likewise.
20640 * ubsan.c: Likewise.
20641 * valtrack.c: Likewise.
20642 * value-prof.c: Likewise.
20643 * var-tracking.c: Likewise.
20644 * varasm.c: Likewise.
20645 * varpool.c: Likewise.
20646 * vmsdbgout.c: Likewise.
20647 * vtable-verify.c: Likewise.
20648 * web.c: Likewise.
20649 * wide-int.cc: Likewise.
20650 * xcoffout.c: Likewise.
20651 * common/common-target.h: Do not include input.h, line-map.h or is-a.h.
20652 * common/common-targhooks.c: Likewise.
20653 * config/aarch64/aarch64-builtins.c: Likewise.
20654 * config/aarch64/aarch64.c: Likewise.
20655 * config/alpha/alpha.c: Likewise.
20656 * config/arc/arc.c: Likewise.
20657 * config/arm/aarch-common.c: Likewise.
20658 * config/arm/arm-builtins.c: Likewise.
20659 * config/arm/arm-c.c: Likewise.
20660 * config/arm/arm.c: Likewise.
20661 * config/avr/avr-c.c: Likewise.
20662 * config/avr/avr-log.c: Likewise.
20663 * config/avr/avr.c: Likewise.
20664 * config/bfin/bfin.c: Likewise.
20665 * config/c6x/c6x.c: Likewise.
20666 * config/cr16/cr16.c: Likewise.
20667 * config/cris/cris.c: Likewise.
20668 * config/darwin-c.c: Likewise.
20669 * config/darwin.c: Likewise.
20670 * config/default-c.c: Likewise.
20671 * config/epiphany/epiphany.c: Likewise.
20672 * config/epiphany/mode-switch-use.c: Likewise.
20673 * config/epiphany/resolve-sw-modes.c: Likewise.
20674 * config/fr30/fr30.c: Likewise.
20675 * config/frv/frv.c: Likewise.
20676 * config/ft32/ft32.c: Likewise.
20677 * config/glibc-c.c: Likewise.
20678 * config/h8300/h8300.c: Likewise.
20679 * config/i386/i386-c.c: Likewise.
20680 * config/i386/i386.c: Likewise.
20681 * config/i386/msformat-c.c: Likewise.
20682 * config/i386/winnt-cxx.c: Likewise.
20683 * config/i386/winnt-stubs.c: Likewise.
20684 * config/i386/winnt.c: Likewise.
20685 * config/ia64/ia64-c.c: Likewise.
20686 * config/ia64/ia64.c: Likewise.
20687 * config/iq2000/iq2000.c: Likewise.
20688 * config/lm32/lm32.c: Likewise.
20689 * config/m32c/m32c-pragma.c: Likewise.
20690 * config/m32c/m32c.c: Likewise.
20691 * config/m32r/m32r.c: Likewise.
20692 * config/m68k/m68k.c: Likewise.
20693 * config/mcore/mcore.c: Likewise.
20694 * config/mep/mep-pragma.c: Likewise.
20695 * config/mep/mep.c: Likewise.
20696 * config/microblaze/microblaze-c.c: Likewise.
20697 * config/microblaze/microblaze.c: Likewise.
20698 * config/mips/mips.c: Likewise.
20699 * config/mmix/mmix.c: Likewise.
20700 * config/mn10300/mn10300.c: Likewise.
20701 * config/moxie/moxie.c: Likewise.
20702 * config/msp430/msp430-c.c: Likewise.
20703 * config/msp430/msp430.c: Likewise.
20704 * config/nds32/nds32-cost.c: Likewise.
20705 * config/nds32/nds32-fp-as-gp.c: Likewise.
20706 * config/nds32/nds32-intrinsic.c: Likewise.
20707 * config/nds32/nds32-isr.c: Likewise.
20708 * config/nds32/nds32-md-auxiliary.c: Likewise.
20709 * config/nds32/nds32-memory-manipulation.c: Likewise.
20710 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
20711 * config/nds32/nds32-predicates.c: Likewise.
20712 * config/nds32/nds32.c: Likewise.
20713 * config/nios2/nios2.c: Likewise.
20714 * config/nvptx/nvptx.c: Likewise.
20715 * config/pa/pa.c: Likewise.
20716 * config/pdp11/pdp11.c: Likewise.
20717 * config/rl78/rl78-c.c: Likewise.
20718 * config/rl78/rl78.c: Likewise.
20719 * config/rs6000/rs6000-c.c: Likewise.
20720 * config/rs6000/rs6000.c: Likewise.
20721 * config/rx/rx.c: Likewise.
20722 * config/s390/s390-c.c: Likewise.
20723 * config/s390/s390.c: Likewise.
20724 * config/sh/sh-c.c: Likewise.
20725 * config/sh/sh-mem.cc: Likewise.
20726 * config/sh/sh.c: Likewise.
20727 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
20728 * config/sh/sh_treg_combine.cc: Likewise.
20729 * config/sol2-c.c: Likewise.
20730 * config/sol2-cxx.c: Likewise.
20731 * config/sol2-stubs.c: Likewise.
20732 * config/sol2.c: Likewise.
20733 * config/sparc/sparc-c.c: Likewise.
20734 * config/sparc/sparc.c: Likewise.
20735 * config/spu/spu-c.c: Likewise.
20736 * config/spu/spu.c: Likewise.
20737 * config/stormy16/stormy16.c: Likewise.
20738 * config/tilegx/mul-tables.c: Likewise.
20739 * config/tilegx/tilegx-c.c: Likewise.
20740 * config/tilegx/tilegx.c: Likewise.
20741 * config/tilepro/mul-tables.c: Likewise.
20742 * config/tilepro/tilepro-c.c: Likewise.
20743 * config/tilepro/tilepro.c: Likewise.
20744 * config/v850/v850-c.c: Likewise.
20745 * config/v850/v850.c: Likewise.
20746 * config/vax/vax.c: Likewise.
20747 * config/visium/visium.c: Likewise.
20748 * config/vms/vms-c.c: Likewise.
20749 * config/vms/vms.c: Likewise.
20750 * config/vxworks.c: Likewise.
20751 * config/winnt-c.c: Likewise.
20752 * config/xtensa/xtensa.c: Likewise.
20753
20754 2015-06-17 Robert Suchanek <robert.suchanek@imgtec.com>
20755
20756 * config/mips/mips.c (mips_ira_change_pseudo_allocno_class): New
20757 function.
20758 (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Define macro.
20759
20760 2015-06-17 Richard Biener <rguenther@suse.de>
20761
20762 PR tree-optimization/66251
20763 * tree-vect-stmts.c (vectorizable_store): Fix gathering of vectorized
20764 stmts for SLP strided stores.
20765
20766 Revert
20767 2015-05-22 Richard Biener <rguenther@suse.de>
20768
20769 PR tree-optimization/66251
20770 * tree-vect-stmts.c (vectorizable_conversion): Properly
20771 set STMT_VINFO_VEC_STMT even for the SLP case.
20772
20773 2015-05-26 Michael Matz <matz@suse.de>
20774
20775 PR middle-end/66251
20776 * tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set
20777 STMT_VINFO_VEC_STMT, also with SLP.
20778
20779 2015-06-16 Uros Bizjak <ubizjak@gmail.com>
20780
20781 PR target/56766
20782 * config/i386/sse.md (*avx_addsubv4df3_1): New insn pattern.
20783 (*avx_addsubv4df3_1s): Ditto.
20784 (*sse3_addsubv2df3_1): Ditto.
20785 (*sse3_addsubv2df3_1s): Ditto.
20786 (*avx_addsubv8sf3_1): Ditto.
20787 (*avx_addsubv8sf3_1s): Ditto.
20788 (*sse3_addsubv4sf3_1): Ditto.
20789 (*sse3_addsubv4sf3_1s): Ditto.
20790
20791 2015-06-16 Steve Ellcey <sellcey@imgtec.com>
20792
20793 * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): New.
20794 (SYSROOT_SUFFIX_SPEC): Update.
20795 (SYSROOT_HEADERS_SUFFIX_SPEC): New.
20796 (STARTFILE_PREFIX_SPEC): Update.
20797 * config/mips/t-mti-linux (MULTILIB_EXCEPTIONS): Remove.
20798 (MULTILIB_REQUIRED): New.
20799 (MULTILIB_OSDIRNAMES): New.
20800 * config/mips/t-img-linux (MULTILIB_EXCEPTIONS): Remove.
20801 (MULTILIB_REQUIRED): New.
20802 (MULTILIB_OSDIRNAMES): New.
20803
20804 2015-06-16 Matthew Wahab <matthew.wahab@arm.com>
20805
20806 * config/aarch64/aarch64-arches.def: Add "armv8.1-a".
20807 * config/aarch64/aarch64-options-extensions.def: Update "fP",
20808 "simd" and "crypto". Add "lse", "pan", "lor" and "rdma".
20809 * config/aarch64/aarch64.h (AARCH64_FL_LSE): New.
20810 (AARCH64_FL_PAN): New.
20811 (AARCH64_FL_LOR): New.
20812 (AARCH64_FL_RDMA): New.
20813 (AARCH64_FL_FOR_ARCH8_1): New.
20814 * doc/invoke.texi (AArch64 Options): Add "armv8.1-a" to
20815 -march. Add "lse", "pan", "lor", "rdma" to feature modifiers.
20816
20817 2015-06-16 Martin Liska <mliska@suse.cz>
20818
20819 * bitmap.c (dump_bitmap_statistics): Fix GNU coding style.
20820 * hash-table.c (void dump_hash_table_loc_statistics): Add missing
20821 guard.
20822
20823 2015-06-16 Richard Biener <rguenther@suse.de>
20824
20825 * tree-vect-stmts.c (vectorizable_store): Adjust.
20826 (vectorizable_load): Likewise.
20827 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
20828 Simplify.
20829 (vect_create_data_ref_ptr): Likewise.
20830 (bump_vector_ptr): Adjust.
20831
20832 2015-06-16 Richard Biener <rguenther@suse.de>
20833
20834 * tree-vect-stmts.c (vectorizable_load): Properly start loads
20835 with the first element if this is grouped loads.
20836
20837 2015-06-16 James Greenhalgh <james.greenhalgh@arm.com>
20838
20839 * config/arm/arm-protos.h (struct tune_params): Rename
20840 log_op_non_sc to log_op_non_short_circuit, and rename enum
20841 values to expand SC to SHORT_CIRCUIT.
20842 * config/arm/arm.c (arm_slowmul_tune): Expand LOG_OP_NON_SC
20843 to LOG_OP_NON_SHORT_CIRCUIT.
20844 (arm_fastmul_tune):Likewise
20845 (arm_strongarm_tune): Likewise.
20846 (arm_xscale_tune): Likewise.
20847 (arm_9e_tune): Likewise.
20848 (arm_marvell_pj4_tune): Likewise.
20849 (arm_v6t2_tune): Likewise.
20850 (arm_cortex_tune): Likewise.
20851 (arm_cortex_a8_tune): Likewise.
20852 (arm_cortex_a7_tune): Likewise.
20853 (arm_cortex_a15_tune): Likewise.
20854 (arm_cortex_a53_tune): Likewise.
20855 (arm_cortex_a57_tune): Likewise.
20856 (arm_xgene1_tune): Likewise.
20857 (arm_cortex_a5_tune): Likewise.
20858 (arm_cortex_a9_tune): Likewise.
20859 (arm_cortex_a12_tune): Likewise.
20860 (arm_v7m_tune): Likewise.
20861 (arm_cortex_m7_tune): Likewise.
20862 (arm_v6m_tune): Likewise.
20863 (arm_fa726te_tune): Likewise.
20864
20865 2015-06-15 David Edelsohn <dje.gcc@gmail.com>
20866
20867 * altivec.md: Delete UNSPEC_VMLADDUHM.
20868 (mulv4si3_p8): New pattern.
20869 (mulv4si3): Use it for POWER8.
20870 (mulv8hi3): Use vmladduhm with zero addend.
20871 (altivec_vmladduhm): Descriptive RTL.
20872
20873 2015-06-15 Jim Wilson <jim.wilson@linaro.org>
20874
20875 * config/aarch64/aarch64.md (mov<mode>_aarch64): Change alternative 2
20876 to use neon_move instead of mov_imm.
20877 (movdi_aarch64): Change alternative 14 to use neon_move not fmov.
20878 (movtf_aarch64): Change alternative 4 to use neon_move_q not fconstd.
20879
20880 * config/aarch64/aarch64.c (aarch64_valid_floating_const): Move
20881 aarch64_float_const_zero_rtx_p check before TFmode check.
20882 * config/aarch64/aarch64.md (movtf): Don't call force_reg if op1 is
20883 an fp zero.
20884 (movtf_aarch64): Separate ?rY alternative into two. Adjust assembly
20885 code and attributes to match. Change condition from register_operand
20886 to aarch64_reg_or_fp_zero for op1. Change type for ldp from
20887 neon_load1_2reg to load2. Change type for stp from neon_store1_2reg
20888 to store2.
20889
20890 2015-06-15 Aldy Hernandez <aldyh@redhat.com>
20891
20892 PR debug/66535
20893 * dwarf2out.c (gen_subprogram_die): Do not check a parent's tag if
20894 there is no parent.
20895
20896 2015-06-14 Shiva Chen <shiva0217@gmail.com>
20897
20898 * aarch64.c (aarch64_simd_lane_bounds): Change %ld to %wd for
20899 HOST_WIDE_INT parameter.
20900
20901 2015-06-14 Jan Hubicka <hubicka@ucw.cz>
20902
20903 PR ipa/66181
20904 * lto-streamer-out.c (hash_tree): Do not hash TYPE_NO_FORCE_BLK.
20905 * tree-streamer-out.c (pack_ts_type_common_value_fields): Do not stream
20906 TYPE_NO_FORCE_BLK.
20907 * tree-streamer-in.c (unpack_ts_type_common_value_fields): Likewise.
20908
20909 2015-06-14 Richard Sandiford <richard.sandiford@arm.com>
20910
20911 * rtl.h (classify_insn): Declare.
20912 * emit-rtl.c (classify_insn): Move to...
20913 * rtl.c: ...here and add generator support.
20914 * gensupport.h (get_emit_function, needs_barrier_p): Declare.
20915 * gensupport.c (get_emit_function, needs_barrier_p): New functions.
20916 * genemit.c (gen_emit_seq): New function.
20917 (gen_expand, gen_split): Use it.
20918
20919 2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
20920
20921 * tree.c (make_vector_stat): Fix comment to state that the
20922 function returns a VECTOR_CST.
20923
20924 2015-06-13 Richard Sandiford <richard.sandiford@arm.com>
20925
20926 * gensupport.h (add_implicit_parallel): Declare.
20927 * genrecog.c (add_implicit_parallel): Move to...
20928 * gensupport.c (add_implicit_parallel): ...here.
20929 (process_one_cond_exec): Use it.
20930 * genemit.c (gen_insn): Likewise.
20931
20932 2015-06-13 Iain Sandoe <iain@codesourcery.com>
20933
20934 PR bootstrap/66448
20935 * passes.c (rest_of_decl_compilation): Do not register globals for
20936 early debug if they are declared in built-ins.
20937
20938 2015-06-12 Aldy Hernandez <aldyh@redhat.com>
20939
20940 * dwarf2out.c (check_die): Protect with ENABLE_CHECKING.
20941
20942 2015-06-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20943
20944 * ifcvt.c (noce_try_store_flag_constants): Use std::swap instead of
20945 manually swapping.
20946 (noce_try_cmove_arith): Likewise.
20947 (noce_get_alt_condition): Likewise.
20948
20949 2015-06-12 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
20950
20951 * common/config/i386/i386-common.c
20952 (OPTION_MASK_ISA_MWAITX_SET): New.
20953 (ix86_handle_option): Handle mwaitx.
20954 * config.gcc (i[34567]86-*-*): Add mwaitxintrin.h,
20955 (x86_64-*-*): Likewise.
20956 * config/i386/mwaitxintrin.h: New header.
20957 * config/i386/cpuid.h (bit_MWAITX): Define.
20958 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
20959 MWAITX support.
20960 * config/i386/i386.opt (mwaitx): New.
20961 * config/i386/i386-builtin-types.def
20962 (VOID_FTYPE_UNSIGNED_ UNSIGNED_UNSIGNED): New function type.
20963 * config/i386/i386-c.c: Define __MWAITX__ if needed.
20964 * config/i386/i386.c (ix86_target_string): Define -mmwaitx option.
20965 (PTA_MWAITX): New.
20966 (ix86_option_override_internal): Handle new option.
20967 (processor_alias_table): Added PTA_MWAITX.
20968 (ix86_valid_target_attribute_inner_p): Add OPT_mmwaitx.
20969 (ix86_builtins): Add IX86_BUILTIN_MWAITX, IX86_BUILTIN_MONITORX.
20970 (ix86_expand_builtin): Handle IX86_BUILTIN_MWAITX and
20971 IX86_BUILTIN_MONITORX built-ins.
20972 * config/i386/i386.h (TARGET_MWAITX): New.
20973 * config/i386/i386.md (unspecv): Add UNSPEC_MWAITX and
20974 UNSPEC_MONITORX.
20975 (mwaitx): New pattern.
20976 (monitorx_<mode>): New pattern.
20977 * config/i386/x86intrin.h: Include mwaitxintrin.h.
20978 * doc/extend.texi: Document monitorx and mwaitx builtins.
20979 * doc/invoke.texi: Document -mmwaitx option.
20980
20981 2015-06-12 Uros Bizjak <ubizjak@gmail.com>
20982
20983 * emit-rtl.c (need_atomic_barrier_p): Mask model with
20984 MEMMODEL_BASE_MASK. Remove MEMMODEL_SYNC_* cases.
20985
20986 2015-06-11 David Edelsohn <dje.gcc@gmail.com>
20987
20988 * dbxout.c (xcoff_debug_hooks): Provide a function for
20989 register_main_translation_unit hook.
20990
20991 2015-06-11 David Edelsohn <dje.gcc@gmail.com>
20992
20993 * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier): Remove SYNC
20994 variants cases from switch.
20995 (rs6000_post_atomic_barrier): Same.
20996 (rs6000_expand_atomic_compare_and_swap): Use memmodel_base.
20997 (rs6000_expand_atomic_exchange): Same.
20998 (rs6000_expand_atomic_op): Same.
20999 * config/rs6000/sync.md (mem_thread_fence): Use memodel_base. Remove
21000 SYNC variants cases from switch.
21001 (atomic_load): Same.
21002 (atomic_store): Same.
21003
21004 2015-06-11 John David Anglin <danglin@gcc.gnu.org>
21005
21006 * config/pa/pa.c (pa_output_global_address): Handle LABEL_REF plus
21007 CONST_INT for goto.
21008
21009 2015-06-11 Aldy Hernandez <aldyh@redhat.com>
21010
21011 PR bootstrap/66448
21012 * dwarf2out.c (check_die): Check for common duplicate attributes.
21013 (add_location_or_const_value_attribute): Do not add duplicate
21014 attributes.
21015 (gen_formal_parameter_die): Do not add DW_AT_artificial the second
21016 time around.
21017 (gen_struct_or_union_type_die): Bail early if TREE_ASM_WRITTEN.
21018 (gen_type_die_with_usage): Call check_die.
21019 (dwarf2out_decl): Only call check_die() when ENABLE_CHECKING.
21020
21021 2015-06-11 Jason Merrill <jason@redhat.com>
21022
21023 * dwarf2out.c (prune_unused_types): Handle unused top-level limbo
21024 dies.
21025
21026 2015-06-11 Marek Polacek <polacek@redhat.com>
21027
21028 * match.pd ((x & y) ^ (x | y)): Don't check for single_use.
21029
21030 2015-06-11 Eric Botcazou <ebotcazou@adacore.com>
21031
21032 PR bootstrap/66252
21033 * config/sparc/sparc.c (hard_regno_mode_classes): Add ??? comment.
21034 * config/sparc/sparc.md (zero_extendsidi2_insn_sp32): Use single order.
21035 (*addx_extend_sp32): Fix pasto.
21036 (*subx_extend): Rename into...
21037 (*subx_extend_sp32): ...this.
21038 (*adddi3_extend_sp32): Add earlyclobber.
21039 (*subdi3_insn_sp32): Likewise.
21040 (*subdi3_extend_sp32): Likewise.
21041 (*and_not_di_sp32): Likewise.
21042 (*or_not_di_sp32): Likewise.
21043 (*xor_not_di_sp32): Likewise.
21044 (*negdi2_sp32): Likewise.
21045 (*one_cmpldi2_sp32): Likewise.
21046
21047 2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
21048
21049 * debug.h (struct gcc_debug_hooks): Add a
21050 register_main_translation_unit hook.
21051 * debug.c (do_nothing_debug_hooks): Provide a function for this
21052 new hook.
21053 * dbxout.c (dbx_debug_hooks): Likewise.
21054 * sdbout.c (sdb_debug_hooks): Likewise.
21055 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
21056 * dwarf2out.c (main_translation_unit): New global variable.
21057 (dwarf2out_register_main_translation_unit): New function
21058 implementing the new hook.
21059 (dwarf2_debug_hooks): Assign
21060 dwarf2out_register_main_translation_unit to this new hook.
21061 (dwarf2out_init): Associate any main translation unit to
21062 comp_unit_die ().
21063
21064 2015-06-11 Marek Polacek <polacek@redhat.com>
21065
21066 * match.pd ((x & y) ^ (x | y) -> x ^ y): New pattern.
21067
21068 2015-06-11 Marek Polacek <polacek@redhat.com>
21069
21070 * match.pd: Use single_use throughout.
21071
21072 2015-06-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21073
21074 * config/arm/arm.c (arm_option_params_internal): When optimising
21075 for speed set max_insns_skipped when arm_restrict_it.
21076
21077 2015-06-11 Christian Bruel <christian.bruel@st.com>
21078
21079 PR target/52144
21080 * config/arm/arm-c.c (arm_cpu_cpp_builtins): Conditionally define
21081 macros in ...
21082 (arm_cpu_builtins): New function.
21083 (arm_pragma_target_parse): Call arm_cpu_builtins.
21084 * config/arm/arm-protos.h (arm_cpu_builtins): Declare.
21085 (arm_register_target_pragmas): Likewise.
21086 * config/arm/arm.h (REGISTER_TARGET_PRAGMAS):
21087 Call arm_register_target_pragmas.
21088 * config/arm/arm-c.c (arm_register_target_pragmas): New function.
21089 (arm_pragma_target_parse): Likewise.
21090
21091 2015-06-10 Kaz Kojima <kkojima@gcc.gnu.org>
21092
21093 * config/sh/sh.md (tstsi_t): Add '?' modifier to 'r' alternative
21094 of the second operand.
21095
21096 2015-06-10 Uros Bizjak <ubizjak@gmail.com>
21097
21098 PR target/66473
21099 * config/i386/i386.c (ix86_expand_vector_set): Use gen_int_mode
21100 to prepare mask operand for AVX512 modes.
21101
21102 2015-06-10 Michael Meissner <meissner@linux.vnet.ibm.com>
21103
21104 PR target/66474
21105 * doc/md.texi (Machine Constraints): Document that on the PowerPC
21106 if you use a constraint that targets a VSX register, you must use
21107 %x<n> in the template.
21108
21109 2015-06-10 Max Filippov <jcmvbkbc@gmail.com>
21110
21111 * config/xtensa/xtensa.h (TARGET_DEBUG): New definition.
21112 * config/xtensa/xtensa.md (define_attr "type"): New type "trap".
21113 (define_insn "trap"): New definition.
21114
21115 2015-06-10 Richard Biener <rguenther@suse.de>
21116
21117 * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Split
21118 out from ...
21119 (vect_supported_load_permutation_p): ... here. Handle
21120 supportable permutations in reductions.
21121 * tree-vect-stmts.c (vectorizable_load): Handle SLP permutations
21122 for vectorizing strided group loads.
21123
21124 2015-06-10 Jakub Jelinek <jakub@redhat.com>
21125
21126 PR target/66470
21127 * config/i386/i386.c (ix86_split_long_move): For collisions
21128 involving direct tls segment refs, move the UNSPEC_TP possibly
21129 wrapped in ZERO_EXTEND out of the address for lea, to each of
21130 the memory loads.
21131
21132 2015-06-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
21133
21134 * config/arm/sync.md (*memory_barrier): Use dmb ish instead of
21135 dmb sy. Adjust tabs.
21136
21137 2015-06-10 Tom de Vries <tom@codesourcery.com>
21138
21139 * omp-low.c (expand_omp_target): Remove duplicate declaration of node.
21140
21141 2015-06-10 Martin Liska <mliska@suse.cz>
21142
21143 PR bootstrap/66471
21144 * mem-stats-traits.h (enum mem_alloc_origin): Add _ORIGIN suffix for
21145 all enum values in mem_alloc_origin.
21146 * alloc-pool.c (dump_alloc_pool_statistics): Use newly changed enum
21147 name.
21148 * alloc-pool.h (pool_allocator::pool_allocator): Likewise.
21149 * bitmap.c (bitmap_register): Likewise.
21150 (dump_bitmap_statistics): Likewise.
21151 * ggc-common.c (dump_ggc_loc_statistics): Likewise.
21152 (ggc_record_overhead): Likewise.
21153 * hash-map.h: Likewise.
21154 * hash-set.h: Likewise.
21155 * hash-table.c (void dump_hash_table_loc_statistics): Likewise.
21156 * hash-table.h: Likewise.
21157 * vec.c (vec_prefix::register_overhead): Likewise.
21158 (vec_prefix::release_overhead): Likewise.
21159 (dump_vec_loc_statistics): Likewise.
21160
21161 2015-06-09 Christian Bruel <christian.bruel@st.com>
21162
21163 PR target/52144
21164 * config/arm/arm.opt (THUMB, arm_restrict_it, inline_asm_unified): Save.
21165 * config/arm/arm-protos.h (arm_valid_target_attribute_tree): Declare.
21166 (arm_reset_previous_fndecl, arm_change_mode_p): Likewise.
21167 * config/arm/arm.h (SWITCHABLE_TARGET): Define.
21168 * config/arm/arm.c (arm_reset_previous_fndecl): New functions.
21169 (arm_valid_target_attribute_tree, arm_change_mode_p): Likewise.
21170 (arm_valid_target_attribute_p): Likewise.
21171 (arm_set_current_function, arm_can_inline_p): Likewise.
21172 (arm_valid_target_attribute_rec): Likewise.
21173 (arm_previous_fndecl): New variable.
21174 (TARGET_SET_CURRENT_FUNCTION, TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
21175 (TARGET_CAN_INLINE_P): Define.
21176 (arm_asm_trampoline_template): Emit mode.
21177 (arm_file_start): Don't set unified syntax.
21178 (arm_declare_function_name): Set unified syntax and mode.
21179 (arm_option_override): Init target_option_default_node.
21180 and target_option_current_node.
21181 * config/arm/arm.md (*call_value_symbol): Set mode when possible.
21182 (*call_symbol): Likewise.
21183 * doc/extend.texi: Document ARM/Thumb target attribute.
21184 * doc/invoke.texi: Likewise.
21185
21186 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
21187
21188 Revert:
21189 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
21190 PR rtl-optimization/64164
21191 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
21192 * tree-ssa-copyrename.c: Removed.
21193 * opts.c (default_options_table): Drop -ftree-copyrename. Add
21194 -ftree-coalesce-vars.
21195 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
21196 * common.opt (ftree-copyrename): Ignore.
21197 (ftree-coalesce-inlined-vars): Likewise.
21198 * doc/invoke.texi: Remove the ignored options above.
21199 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
21200 * tree-ssa-coalesce.h: ... here.
21201 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
21202 headers required by it.
21203 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
21204 across variables when flag_tree_coalesce_vars. Check register
21205 use and promoted modes to allow coalescing. Moved to
21206 tree-ssa-coalesce.c.
21207 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
21208 with its member functions to tree-ssa-coalesce.c.
21209 (var_map_base_init): Likewise. Renamed to
21210 compute_samebase_partition_bases.
21211 (partition_view_normal): Drop want_bases parameter.
21212 (partition_view_bitmap): Likewise.
21213 * tree-ssa-live.h: Adjust declarations.
21214 * tree-ssa-coalesce.c: Include explow.h.
21215 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
21216 default defs at the entry point.
21217 (dump_part_var_map): New.
21218 (compute_optimized_partition_bases): New, called by...
21219 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
21220 of compute_samebase_partition_bases. Adjust.
21221 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
21222 * cfgexpand.c (leader_merge): New.
21223 (get_rtl_for_parm_ssa_default_def): New.
21224 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
21225 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
21226 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
21227 redundant MEM attr setting.
21228 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
21229 from...
21230 (expand_one_stack_var): ... this. New wrapper to check and
21231 skip already expanded SSA partitions.
21232 (record_alignment_for_reg_var): New, factored out of...
21233 (expand_one_var): ... this.
21234 (expand_one_ssa_partition): New.
21235 (adjust_one_expanded_partition_var): New.
21236 (expand_one_register_var): Check and skip already expanded SSA
21237 partitions.
21238 (expand_used_vars): Don't create DECLs for anonymous SSA
21239 names. Expand all SSA partitions, then adjust all SSA names.
21240 (pass::execute): Replace the loops that set
21241 SA.partition_to_pseudo from partition leaders and cleared
21242 DECL_RTL for multi-location variables, and that which used to
21243 rename vars and set attrs, with one that clears DECL_RTL and
21244 checks that PARMs and RESULTs default_defs match DECL_RTL.
21245 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
21246 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
21247 * explow.c (promote_ssa_mode): New.
21248 * explow.h (promote_ssa_mode): Declare.
21249 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
21250 * function.c: Include cfgexpand.h.
21251 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
21252 (use_register_for_parm_decl): Wrapper for the above to
21253 special-case the result_ptr.
21254 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
21255 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
21256 multiple locations.
21257 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
21258 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
21259 (assign_parm_setup_block): Prefer SSA-assigned location.
21260 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
21261 if stack_parm is NULL.
21262 (assign_parm_setup_stack): Prefer SSA-assigned location.
21263 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
21264 rtl before testing for pointer bounds. Special-case result_ptr.
21265 (expand_function_start): Maybe reset DECL_RTL of result.
21266 Prefer SSA-assigned location for result and static chain.
21267 Factor out DECL_RESULT and SET_DECL_RTL.
21268 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
21269 anonymous SSA names. Use promote_ssa_mode.
21270 (get_temp_reg): Likewise.
21271 (remove_ssa_form): Adjust.
21272 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
21273 and get its reg_usage for reg invalidation.
21274 (compute_bb_dataflow): Pass it insn.
21275 (emit_notes_in_bb): Likewise.
21276 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
21277 fail assert on conversion between unsigned types.
21278
21279 2015-06-09 Tom de Vries <tom@codesourcery.com>
21280
21281 PR tree-optimization/65460
21282 * omp-low.c (expand_omp_target): Set parallelized_function on
21283 cgraph_node for child_fn.
21284
21285 2015-06-09 Tom de Vries <tom@codesourcery.com>
21286
21287 * omp-low.c (finalize_task_copyfn, expand_omp_taskreg): Mark function
21288 parallelized_function before add_new_function.
21289
21290 2015-06-09 Andrew MacLeod <amacleod@redhat.com>
21291
21292 * gcc-plugin.h: Move decls to plugin.h and include it.
21293 * plugin.h: Relocate decls from gcc-plugin.h
21294 * ggc-page.c: Include required header files.
21295 * passes.c: Likewise.
21296 * cgraphunit.c: Likewise.
21297
21298 2015-06-09 Tom de Vries <tom@codesourcery.com>
21299
21300 * tree-stdarg.c (expand_ifn_va_arg_1): Handle location.
21301
21302 2015-06-09 Jason Merrill <jason@redhat.com>
21303
21304 PR bootstrap/66448
21305 * toplev.c (check_global_declaration): Don't warn about a clone.
21306
21307 2015-06-09 Marek Polacek <polacek@redhat.com>
21308
21309 PR tree-optimization/66299
21310 * match.pd ((CST1 << A) == CST2 -> A == ctz (CST2) - ctz (CST1)
21311 ((CST1 << A) != CST2 -> A != ctz (CST2) - ctz (CST1)): New
21312 patterns.
21313
21314 2015-06-09 Richard Biener <rguenther@suse.de>
21315
21316 * tree-vect-slp.c (vect_build_slp_tree_1): Remove bailout on gaps.
21317 (vect_analyze_slp_instance): Instead do not falsely drop
21318 load permutations.
21319
21320 2015-06-09 Richard Biener <rguenther@suse.de>
21321
21322 PR middle-end/66423
21323 * match.pd: Handle A % (unsigned)(1 << B).
21324
21325 2015-06-09 Aldy Hernandez <aldyh@redhat.com>
21326
21327 * varasm.c (output_object_block_htab): Remove.
21328 (output_object_block_compare): New.
21329 (output_object_blocks): Sort named object_blocks before outputting
21330 them.
21331
21332 2015-06-09 Richard Biener <rguenther@suse.de>
21333
21334 PR tree-optimization/66419
21335 * tree-vect-slp.c (vect_supported_load_permutation_p): Properly
21336 consider GROUP_GAP when detecting a perfect subchain.
21337
21338 2015-06-09 Nick Clifton <nickc@redhat.com>
21339
21340 * config/rl78/rl78.c (rl78_select_section): When -mes0 is active
21341 place read only data in the .frodata section.
21342
21343 2015-06-09 Shiva Chen <shiva0217@gmail.com>
21344
21345 * sync.md (atomic_load<mode>): Add conditional code for lda/ldr
21346 (atomic_store<mode>): Likewise.
21347
21348 2015-06-09 Richard Biener <rguenther@suse.de>
21349
21350 * cfgloop.c (get_loop_body_in_bfs_order): Fix assert.
21351
21352 2015-06-09 Richard Biener <rguenther@suse.de>
21353
21354 PR middle-end/66413
21355 * tree-inline.c (insert_init_debug_bind): Unshare value.
21356
21357 2015-06-09 Richard Biener <rguenther@suse.de>
21358
21359 PR tree-optimization/66396
21360 * graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl):
21361 Rename virtual operands.
21362
21363 2015-06-09 Tom de Vries <tom@codesourcery.com>
21364
21365 * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Don't
21366 always return false.
21367
21368 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
21369
21370 PR rtl-optimization/64164
21371 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
21372 * tree-ssa-copyrename.c: Removed.
21373 * opts.c (default_options_table): Drop -ftree-copyrename. Add
21374 -ftree-coalesce-vars.
21375 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
21376 * common.opt (ftree-copyrename): Ignore.
21377 (ftree-coalesce-inlined-vars): Likewise.
21378 * doc/invoke.texi: Remove the ignored options above.
21379 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
21380 * tree-ssa-coalesce.h: ... here.
21381 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
21382 headers required by it.
21383 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
21384 across variables when flag_tree_coalesce_vars. Check register
21385 use and promoted modes to allow coalescing. Moved to
21386 tree-ssa-coalesce.c.
21387 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
21388 with its member functions to tree-ssa-coalesce.c.
21389 (var_map_base_init): Likewise. Renamed to
21390 compute_samebase_partition_bases.
21391 (partition_view_normal): Drop want_bases parameter.
21392 (partition_view_bitmap): Likewise.
21393 * tree-ssa-live.h: Adjust declarations.
21394 * tree-ssa-coalesce.c: Include explow.h.
21395 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
21396 default defs at the entry point.
21397 (dump_part_var_map): New.
21398 (compute_optimized_partition_bases): New, called by...
21399 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
21400 of compute_samebase_partition_bases. Adjust.
21401 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
21402 * cfgexpand.c (leader_merge): New.
21403 (get_rtl_for_parm_ssa_default_def): New.
21404 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
21405 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
21406 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
21407 redundant MEM attr setting.
21408 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
21409 from...
21410 (expand_one_stack_var): ... this. New wrapper to check and
21411 skip already expanded SSA partitions.
21412 (record_alignment_for_reg_var): New, factored out of...
21413 (expand_one_var): ... this.
21414 (expand_one_ssa_partition): New.
21415 (adjust_one_expanded_partition_var): New.
21416 (expand_one_register_var): Check and skip already expanded SSA
21417 partitions.
21418 (expand_used_vars): Don't create DECLs for anonymous SSA
21419 names. Expand all SSA partitions, then adjust all SSA names.
21420 (pass::execute): Replace the loops that set
21421 SA.partition_to_pseudo from partition leaders and cleared
21422 DECL_RTL for multi-location variables, and that which used to
21423 rename vars and set attrs, with one that clears DECL_RTL and
21424 checks that PARMs and RESULTs default_defs match DECL_RTL.
21425 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
21426 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
21427 * explow.c (promote_ssa_mode): New.
21428 * explow.h (promote_ssa_mode): Declare.
21429 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
21430 * function.c: Include cfgexpand.h.
21431 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
21432 (use_register_for_parm_decl): Wrapper for the above to
21433 special-case the result_ptr.
21434 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
21435 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
21436 multiple locations.
21437 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
21438 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
21439 (assign_parm_setup_block): Prefer SSA-assigned location.
21440 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
21441 if stack_parm is NULL.
21442 (assign_parm_setup_stack): Prefer SSA-assigned location.
21443 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
21444 rtl before testing for pointer bounds. Special-case result_ptr.
21445 (expand_function_start): Maybe reset DECL_RTL of result.
21446 Prefer SSA-assigned location for result and static chain.
21447 Factor out DECL_RESULT and SET_DECL_RTL.
21448 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
21449 anonymous SSA names. Use promote_ssa_mode.
21450 (get_temp_reg): Likewise.
21451 (remove_ssa_form): Adjust.
21452 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
21453 and get its reg_usage for reg invalidation.
21454 (compute_bb_dataflow): Pass it insn.
21455 (emit_notes_in_bb): Likewise.
21456 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
21457 fail assert on conversion between unsigned types.
21458
21459 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
21460
21461 PR debug/58315
21462 * tree-inline.c (reset_debug_binding): New.
21463 (reset_debug_bindings): Likewise.
21464 (expand_call_inline): Call it.
21465
21466 2015-06-08 Jan Hubicka <hubicka@ucw.cz>
21467
21468 * tree.c (gimple_canonical_types_compatible_p): Drop comparsion of
21469 TYPE_STRING_FLAG.
21470
21471 2015-06-08 Jan Hubicka <hubicka@ucw.cz>
21472
21473 * lto-streamer-out.c (lto_output_location): Stream
21474 reserved locations correctly.
21475 * lto-streamer-in.c (lto_output_location): Likewise.
21476
21477 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
21478
21479 * coretypes.h: Include hash-table.h and hash-set.h for host files.
21480 * ggc.h: Don't include statistics.h>
21481 * hash-map.h: Remove all includes.
21482 * hash-set.h: Likewise.
21483 * hash-table.h: Add statistics.h, inchash.h and hash-map-traits.h to
21484 the include list. Remove <new>.
21485 * inchash.h: Remove all includes.
21486 * mem-stats.h: Likewise.
21487 * vec.h: No special processing for generators or ggc.
21488 * alias.c : Adjust include files.
21489 * alloc-pool.c : Likewise.
21490 * alloc-pool.h : Likewise.
21491 * asan.c : Likewise.
21492 * attribs.c : Likewise.
21493 * auto-inc-dec.c : Likewise.
21494 * auto-profile.c : Likewise.
21495 * bb-reorder.c : Likewise.
21496 * bitmap.c : Likewise.
21497 * bitmap.h : Likewise.
21498 * bt-load.c : Likewise.
21499 * builtins.c : Likewise.
21500 * caller-save.c : Likewise.
21501 * calls.c : Likewise.
21502 * ccmp.c : Likewise.
21503 * cfg.c : Likewise.
21504 * cfganal.c : Likewise.
21505 * cfgbuild.c : Likewise.
21506 * cfgcleanup.c : Likewise.
21507 * cfgexpand.c : Likewise.
21508 * cfghooks.c : Likewise.
21509 * cfgloop.c : Likewise.
21510 * cfgloop.h : Likewise.
21511 * cfgloopanal.c : Likewise.
21512 * cfgloopmanip.c : Likewise.
21513 * cfgrtl.c : Likewise.
21514 * cgraph.c : Likewise.
21515 * cgraphbuild.c : Likewise.
21516 * cgraphclones.c : Likewise.
21517 * cgraphunit.c : Likewise.
21518 * cilk-common.c : Likewise.
21519 * combine-stack-adj.c : Likewise.
21520 * combine.c : Likewise.
21521 * compare-elim.c : Likewise.
21522 * context.c : Likewise.
21523 * convert.c : Likewise.
21524 * coverage.c : Likewise.
21525 * cppbuiltin.c : Likewise.
21526 * cprop.c : Likewise.
21527 * cse.c : Likewise.
21528 * cselib.c : Likewise.
21529 * data-streamer-in.c : Likewise.
21530 * data-streamer-out.c : Likewise.
21531 * data-streamer.c : Likewise.
21532 * data-streamer.h : Likewise.
21533 * dbxout.c : Likewise.
21534 * dce.c : Likewise.
21535 * ddg.c : Likewise.
21536 * debug.c : Likewise.
21537 * df-core.c : Likewise.
21538 * df-problems.c : Likewise.
21539 * df-scan.c : Likewise.
21540 * df.h : Likewise.
21541 * dfp.c : Likewise.
21542 * dojump.c : Likewise.
21543 * dominance.c : Likewise.
21544 * domwalk.c : Likewise.
21545 * double-int.c : Likewise.
21546 * dse.c : Likewise.
21547 * dumpfile.c : Likewise.
21548 * dwarf2asm.c : Likewise.
21549 * dwarf2cfi.c : Likewise.
21550 * dwarf2out.c : Likewise.
21551 * emit-rtl.c : Likewise.
21552 * et-forest.c : Likewise.
21553 * except.c : Likewise.
21554 * except.h : Likewise.
21555 * explow.c : Likewise.
21556 * expmed.c : Likewise.
21557 * expr.c : Likewise.
21558 * final.c : Likewise.
21559 * fixed-value.c : Likewise.
21560 * fold-const.c : Likewise.
21561 * function.c : Likewise.
21562 * fwprop.c : Likewise.
21563 * gcc-plugin.h : Likewise.
21564 * gcc.c : Likewise.
21565 * gcse-common.c : Likewise.
21566 * gcse.c : Likewise.
21567 * genattrtab.c : Likewise.
21568 * genautomata.c : Likewise.
21569 * genconditions.c : Likewise.
21570 * genemit.c : Likewise.
21571 * generic-match-head.c : Likewise.
21572 * genextract.c : Likewise.
21573 * gengtype-state.c : Likewise.
21574 * gengtype.c : Likewise.
21575 * genhooks.c : Likewise.
21576 * genmatch.c : Likewise.
21577 * genmodes.c : Likewise.
21578 * genrecog.c : Likewise.
21579 * gensupport.c : Likewise.
21580 * ggc-common.c : Likewise.
21581 * ggc-internal.h : Likewise.
21582 * ggc-none.c : Likewise.
21583 * ggc-page.c : Likewise.
21584 * gimple-builder.c : Likewise.
21585 * gimple-expr.c : Likewise.
21586 * gimple-fold.c : Likewise.
21587 * gimple-iterator.c : Likewise.
21588 * gimple-low.c : Likewise.
21589 * gimple-match-head.c : Likewise.
21590 * gimple-pretty-print.c : Likewise.
21591 * gimple-ssa-isolate-paths.c : Likewise.
21592 * gimple-ssa-strength-reduction.c : Likewise.
21593 * gimple-ssa.h : Likewise.
21594 * gimple-streamer-in.c : Likewise.
21595 * gimple-streamer-out.c : Likewise.
21596 * gimple-streamer.h : Likewise.
21597 * gimple-walk.c : Likewise.
21598 * gimple.c : Likewise.
21599 * gimplify-me.c : Likewise.
21600 * gimplify.c : Likewise.
21601 * godump.c : Likewise.
21602 * graph.c : Likewise.
21603 * graphds.c : Likewise.
21604 * graphite-blocking.c : Likewise.
21605 * graphite-dependences.c : Likewise.
21606 * graphite-interchange.c : Likewise.
21607 * graphite-isl-ast-to-gimple.c : Likewise.
21608 * graphite-optimize-isl.c : Likewise.
21609 * graphite-poly.c : Likewise.
21610 * graphite-scop-detection.c : Likewise.
21611 * graphite-sese-to-poly.c : Likewise.
21612 * graphite.c : Likewise.
21613 * haifa-sched.c : Likewise.
21614 * hard-reg-set.h : Likewise.
21615 * hw-doloop.c : Likewise.
21616 * ifcvt.c : Likewise.
21617 * inchash.c : Likewise.
21618 * incpath.c : Likewise.
21619 * init-regs.c : Likewise.
21620 * input.c : Likewise.
21621 * internal-fn.c : Likewise.
21622 * ipa-chkp.c : Likewise.
21623 * ipa-comdats.c : Likewise.
21624 * ipa-cp.c : Likewise.
21625 * ipa-devirt.c : Likewise.
21626 * ipa-icf-gimple.c : Likewise.
21627 * ipa-icf.c : Likewise.
21628 * ipa-inline-analysis.c : Likewise.
21629 * ipa-inline-transform.c : Likewise.
21630 * ipa-inline.c : Likewise.
21631 * ipa-polymorphic-call.c : Likewise.
21632 * ipa-profile.c : Likewise.
21633 * ipa-prop.c : Likewise.
21634 * ipa-pure-const.c : Likewise.
21635 * ipa-ref.c : Likewise.
21636 * ipa-reference.c : Likewise.
21637 * ipa-split.c : Likewise.
21638 * ipa-utils.c : Likewise.
21639 * ipa-visibility.c : Likewise.
21640 * ipa.c : Likewise.
21641 * ira-build.c : Likewise.
21642 * ira-color.c : Likewise.
21643 * ira-conflicts.c : Likewise.
21644 * ira-costs.c : Likewise.
21645 * ira-emit.c : Likewise.
21646 * ira-lives.c : Likewise.
21647 * ira.c : Likewise.
21648 * jump.c : Likewise.
21649 * langhooks.c : Likewise.
21650 * lcm.c : Likewise.
21651 * libfuncs.h : Likewise.
21652 * lists.c : Likewise.
21653 * loop-doloop.c : Likewise.
21654 * loop-init.c : Likewise.
21655 * loop-invariant.c : Likewise.
21656 * loop-iv.c : Likewise.
21657 * loop-unroll.c : Likewise.
21658 * lower-subreg.c : Likewise.
21659 * lra-assigns.c : Likewise.
21660 * lra-coalesce.c : Likewise.
21661 * lra-constraints.c : Likewise.
21662 * lra-eliminations.c : Likewise.
21663 * lra-lives.c : Likewise.
21664 * lra-remat.c : Likewise.
21665 * lra-spills.c : Likewise.
21666 * lra.c : Likewise.
21667 * lto-cgraph.c : Likewise.
21668 * lto-compress.c : Likewise.
21669 * lto-opts.c : Likewise.
21670 * lto-section-in.c : Likewise.
21671 * lto-section-out.c : Likewise.
21672 * lto-streamer-in.c : Likewise.
21673 * lto-streamer-out.c : Likewise.
21674 * lto-streamer.c : Likewise.
21675 * lto-streamer.h : Likewise.
21676 * mcf.c : Likewise.
21677 * mode-switching.c : Likewise.
21678 * modulo-sched.c : Likewise.
21679 * omega.c : Likewise.
21680 * omp-low.c : Likewise.
21681 * optabs.c : Likewise.
21682 * opts-global.c : Likewise.
21683 * opts.h : Likewise.
21684 * passes.c : Likewise.
21685 * plugin.c : Likewise.
21686 * postreload-gcse.c : Likewise.
21687 * postreload.c : Likewise.
21688 * predict.c : Likewise.
21689 * print-rtl.c : Likewise.
21690 * print-tree.c : Likewise.
21691 * profile.c : Likewise.
21692 * read-md.c : Likewise.
21693 * read-md.h : Likewise.
21694 * read-rtl.c : Likewise.
21695 * real.c : Likewise.
21696 * realmpfr.c : Likewise.
21697 * recog.c : Likewise.
21698 * ree.c : Likewise.
21699 * reg-stack.c : Likewise.
21700 * regcprop.c : Likewise.
21701 * reginfo.c : Likewise.
21702 * regrename.c : Likewise.
21703 * regstat.c : Likewise.
21704 * reload.c : Likewise.
21705 * reload1.c : Likewise.
21706 * reorg.c : Likewise.
21707 * resource.c : Likewise.
21708 * rtl-chkp.c : Likewise.
21709 * rtl.c : Likewise.
21710 * rtl.h : Likewise.
21711 * rtlanal.c : Likewise.
21712 * rtlhash.c : Likewise.
21713 * rtlhash.h : Likewise.
21714 * rtlhooks.c : Likewise.
21715 * sanopt.c : Likewise.
21716 * sched-deps.c : Likewise.
21717 * sched-ebb.c : Likewise.
21718 * sched-rgn.c : Likewise.
21719 * sched-vis.c : Likewise.
21720 * sdbout.c : Likewise.
21721 * sel-sched-dump.c : Likewise.
21722 * sel-sched-ir.c : Likewise.
21723 * sel-sched-ir.h : Likewise.
21724 * sel-sched.c : Likewise.
21725 * sese.c : Likewise.
21726 * shrink-wrap.c : Likewise.
21727 * shrink-wrap.h : Likewise.
21728 * simplify-rtx.c : Likewise.
21729 * stack-ptr-mod.c : Likewise.
21730 * statistics.c : Likewise.
21731 * stmt.c : Likewise.
21732 * stor-layout.c : Likewise.
21733 * store-motion.c : Likewise.
21734 * stringpool.c : Likewise.
21735 * symtab.c : Likewise.
21736 * target-globals.c : Likewise.
21737 * targhooks.c : Likewise.
21738 * tlink.c : Likewise.
21739 * toplev.c : Likewise.
21740 * tracer.c : Likewise.
21741 * trans-mem.c : Likewise.
21742 * tree-affine.c : Likewise.
21743 * tree-affine.h : Likewise.
21744 * tree-browser.c : Likewise.
21745 * tree-call-cdce.c : Likewise.
21746 * tree-cfg.c : Likewise.
21747 * tree-cfgcleanup.c : Likewise.
21748 * tree-chkp-opt.c : Likewise.
21749 * tree-chkp.c : Likewise.
21750 * tree-chrec.c : Likewise.
21751 * tree-complex.c : Likewise.
21752 * tree-data-ref.c : Likewise.
21753 * tree-dfa.c : Likewise.
21754 * tree-diagnostic.c : Likewise.
21755 * tree-dump.c : Likewise.
21756 * tree-eh.c : Likewise.
21757 * tree-eh.h : Likewise.
21758 * tree-emutls.c : Likewise.
21759 * tree-hasher.h : Likewise.
21760 * tree-if-conv.c : Likewise.
21761 * tree-inline.c : Likewise.
21762 * tree-inline.h : Likewise.
21763 * tree-into-ssa.c : Likewise.
21764 * tree-iterator.c : Likewise.
21765 * tree-loop-distribution.c : Likewise.
21766 * tree-nested.c : Likewise.
21767 * tree-nrv.c : Likewise.
21768 * tree-object-size.c : Likewise.
21769 * tree-outof-ssa.c : Likewise.
21770 * tree-parloops.c : Likewise.
21771 * tree-phinodes.c : Likewise.
21772 * tree-predcom.c : Likewise.
21773 * tree-pretty-print.c : Likewise.
21774 * tree-profile.c : Likewise.
21775 * tree-scalar-evolution.c : Likewise.
21776 * tree-sra.c : Likewise.
21777 * tree-ssa-address.c : Likewise.
21778 * tree-ssa-alias.c : Likewise.
21779 * tree-ssa-ccp.c : Likewise.
21780 * tree-ssa-coalesce.c : Likewise.
21781 * tree-ssa-copy.c : Likewise.
21782 * tree-ssa-copyrename.c : Likewise.
21783 * tree-ssa-dce.c : Likewise.
21784 * tree-ssa-dom.c : Likewise.
21785 * tree-ssa-dse.c : Likewise.
21786 * tree-ssa-forwprop.c : Likewise.
21787 * tree-ssa-ifcombine.c : Likewise.
21788 * tree-ssa-live.c : Likewise.
21789 * tree-ssa-loop-ch.c : Likewise.
21790 * tree-ssa-loop-im.c : Likewise.
21791 * tree-ssa-loop-ivcanon.c : Likewise.
21792 * tree-ssa-loop-ivopts.c : Likewise.
21793 * tree-ssa-loop-manip.c : Likewise.
21794 * tree-ssa-loop-niter.c : Likewise.
21795 * tree-ssa-loop-prefetch.c : Likewise.
21796 * tree-ssa-loop-unswitch.c : Likewise.
21797 * tree-ssa-loop.c : Likewise.
21798 * tree-ssa-math-opts.c : Likewise.
21799 * tree-ssa-operands.c : Likewise.
21800 * tree-ssa-phiopt.c : Likewise.
21801 * tree-ssa-phiprop.c : Likewise.
21802 * tree-ssa-pre.c : Likewise.
21803 * tree-ssa-propagate.c : Likewise.
21804 * tree-ssa-reassoc.c : Likewise.
21805 * tree-ssa-sccvn.c : Likewise.
21806 * tree-ssa-scopedtables.c : Likewise.
21807 * tree-ssa-sink.c : Likewise.
21808 * tree-ssa-strlen.c : Likewise.
21809 * tree-ssa-structalias.c : Likewise.
21810 * tree-ssa-tail-merge.c : Likewise.
21811 * tree-ssa-ter.c : Likewise.
21812 * tree-ssa-threadedge.c : Likewise.
21813 * tree-ssa-threadupdate.c : Likewise.
21814 * tree-ssa-uncprop.c : Likewise.
21815 * tree-ssa-uninit.c : Likewise.
21816 * tree-ssa.c : Likewise.
21817 * tree-ssanames.c : Likewise.
21818 * tree-stdarg.c : Likewise.
21819 * tree-streamer-in.c : Likewise.
21820 * tree-streamer-out.c : Likewise.
21821 * tree-streamer.c : Likewise.
21822 * tree-streamer.h : Likewise.
21823 * tree-switch-conversion.c : Likewise.
21824 * tree-tailcall.c : Likewise.
21825 * tree-vect-data-refs.c : Likewise.
21826 * tree-vect-generic.c : Likewise.
21827 * tree-vect-loop-manip.c : Likewise.
21828 * tree-vect-loop.c : Likewise.
21829 * tree-vect-patterns.c : Likewise.
21830 * tree-vect-slp.c : Likewise.
21831 * tree-vect-stmts.c : Likewise.
21832 * tree-vectorizer.c : Likewise.
21833 * tree-vectorizer.h : Likewise.
21834 * tree-vrp.c : Likewise.
21835 * tree.c : Likewise.
21836 * tsan.c : Likewise.
21837 * ubsan.c : Likewise.
21838 * valtrack.c : Likewise.
21839 * valtrack.h : Likewise.
21840 * value-prof.c : Likewise.
21841 * var-tracking.c : Likewise.
21842 * varasm.c : Likewise.
21843 * varpool.c : Likewise.
21844 * vec.c: Likewise.
21845 * vmsdbgout.c : Likewise.
21846 * vtable-verify.c : Likewise.
21847 * vtable-verify.h : Likewise.
21848 * web.c : Likewise.
21849 * wide-int.cc : Likewise.
21850 * xcoffout.c : Likewise.
21851 * config/aarch64/aarch64-builtins.c : Likewise.
21852 * config/aarch64/aarch64.c : Likewise.
21853 * config/aarch64/cortex-a57-fma-steering.c : Likewise.
21854 * config/alpha/alpha.c : Likewise.
21855 * config/arc/arc.c : Likewise.
21856 * config/arm/aarch-common.c : Likewise.
21857 * config/arm/arm-builtins.c : Likewise.
21858 * config/arm/arm-c.c : Likewise.
21859 * config/arm/arm.c : Likewise.
21860 * config/avr/avr-c.c : Likewise.
21861 * config/avr/avr-log.c : Likewise.
21862 * config/avr/avr.c : Likewise.
21863 * config/bfin/bfin.c : Likewise.
21864 * config/c6x/c6x.c : Likewise.
21865 * config/cr16/cr16.c : Likewise.
21866 * config/cris/cris.c : Likewise.
21867 * config/darwin-c.c : Likewise.
21868 * config/darwin.c : Likewise.
21869 * config/default-c.c : Likewise.
21870 * config/epiphany/epiphany.c : Likewise.
21871 * config/epiphany/mode-switch-use.c : Likewise.
21872 * config/epiphany/resolve-sw-modes.c : Likewise.
21873 * config/fr30/fr30.c : Likewise.
21874 * config/frv/frv.c : Likewise.
21875 * config/ft32/ft32.c : Likewise.
21876 * config/glibc-c.c : Likewise.
21877 * config/h8300/h8300.c : Likewise.
21878 * config/i386/i386-c.c : Likewise.
21879 * config/i386/i386.c : Likewise.
21880 * config/i386/msformat-c.c : Likewise.
21881 * config/i386/winnt-cxx.c : Likewise.
21882 * config/i386/winnt-stubs.c : Likewise.
21883 * config/i386/winnt.c : Likewise.
21884 * config/ia64/ia64-c.c : Likewise.
21885 * config/ia64/ia64.c : Likewise.
21886 * config/iq2000/iq2000.c : Likewise.
21887 * config/lm32/lm32.c : Likewise.
21888 * config/m32c/m32c-pragma.c : Likewise.
21889 * config/m32c/m32c.c : Likewise.
21890 * config/m32r/m32r.c : Likewise.
21891 * config/m68k/m68k.c : Likewise.
21892 * config/mcore/mcore.c : Likewise.
21893 * config/mep/mep-pragma.c : Likewise.
21894 * config/mep/mep.c : Likewise.
21895 * config/microblaze/microblaze-c.c : Likewise.
21896 * config/microblaze/microblaze.c : Likewise.
21897 * config/mips/mips.c : Likewise.
21898 * config/mmix/mmix.c : Likewise.
21899 * config/mn10300/mn10300.c : Likewise.
21900 * config/moxie/moxie.c : Likewise.
21901 * config/msp430/msp430-c.c : Likewise.
21902 * config/msp430/msp430.c : Likewise.
21903 * config/nds32/nds32-cost.c : Likewise.
21904 * config/nds32/nds32-fp-as-gp.c : Likewise.
21905 * config/nds32/nds32-intrinsic.c : Likewise.
21906 * config/nds32/nds32-isr.c : Likewise.
21907 * config/nds32/nds32-md-auxiliary.c : Likewise.
21908 * config/nds32/nds32-memory-manipulation.c : Likewise.
21909 * config/nds32/nds32-pipelines-auxiliary.c : Likewise.
21910 * config/nds32/nds32-predicates.c : Likewise.
21911 * config/nds32/nds32.c : Likewise.
21912 * config/nios2/nios2.c : Likewise.
21913 * config/nvptx/nvptx.c : Likewise.
21914 * config/pa/pa.c : Likewise.
21915 * config/pdp11/pdp11.c : Likewise.
21916 * config/rl78/rl78-c.c : Likewise.
21917 * config/rl78/rl78.c : Likewise.
21918 * config/rs6000/rs6000-c.c : Likewise.
21919 * config/rs6000/rs6000.c : Likewise.
21920 * config/rx/rx.c : Likewise.
21921 * config/s390/s390-c.c : Likewise.
21922 * config/s390/s390.c : Likewise.
21923 * config/sh/sh-c.c : Likewise.
21924 * config/sh/sh-mem.cc : Likewise.
21925 * config/sh/sh.c : Likewise.
21926 * config/sh/sh_optimize_sett_clrt.cc : Likewise.
21927 * config/sh/sh_treg_combine.cc : Likewise.
21928 * config/sol2-c.c : Likewise.
21929 * config/sol2-cxx.c : Likewise.
21930 * config/sol2-stubs.c : Likewise.
21931 * config/sol2.c : Likewise.
21932 * config/sparc/sparc-c.c : Likewise.
21933 * config/sparc/sparc.c : Likewise.
21934 * config/spu/spu-c.c : Likewise.
21935 * config/spu/spu.c : Likewise.
21936 * config/stormy16/stormy16.c : Likewise.
21937 * config/tilegx/mul-tables.c : Likewise.
21938 * config/tilegx/tilegx-c.c : Likewise.
21939 * config/tilegx/tilegx.c : Likewise.
21940 * config/tilepro/mul-tables.c : Likewise.
21941 * config/tilepro/tilepro-c.c : Likewise.
21942 * config/tilepro/tilepro.c : Likewise.
21943 * config/v850/v850-c.c : Likewise.
21944 * config/v850/v850.c : Likewise.
21945 * config/vax/vax.c : Likewise.
21946 * config/visium/visium.c : Likewise.
21947 * config/vms/vms-c.c : Likewise.
21948 * config/vms/vms.c : Likewise.
21949 * config/vxworks.c : Likewise.
21950 * config/winnt-c.c : Likewise.
21951 * config/xtensa/xtensa.c : Likewise.
21952
21953 2015-06-08 Jan Hubicka <hubicka@ucw.cz>
21954
21955 PR lto/65378
21956 * ipa-utils.h (warn_types_mismatch): Update prototype.
21957 * ipa-devirt.c (odr_types_equivalent_p): Add loc1/loc2
21958 parameters.
21959 (type_mismatch_p): New function.
21960 (warn_types_mismatch): Reorg to work better on non-C++ types.
21961 (odr_types_equivalent_p): Add loc1/loc2 parameters.
21962 (add_type_duplicate): Update.
21963
21964 2015-06-08 Tom de Vries <tom@codesourcery.com>
21965
21966 PR rtl-optimization/66444
21967 * postreload.c (reload_combine): Use get_call_reg_set_usage instead of
21968 call_used_regs.
21969
21970 2015-06-08 Richard Biener <rguenther@suse.de>
21971
21972 PR tree-optimization/66422
21973 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Split
21974 block after inserted gcc_unreachable.
21975
21976 2015-06-08 Nick Clifton <nickc@redhat.com>
21977
21978 * config/rx/rx.c (rx_function_value): Do not promote vector types.
21979 (rx_promote_function_mode): Likewise.
21980 * config/rx/rx.h (LIBCALL_VALUE): Likewise.
21981
21982 2015-06-08 Jakub Jelinek <jakub@redhat.com>
21983
21984 * genattrtab.c (insn_alternatives): Change type from int *
21985 to uint64_t *.
21986 (check_attr_test): Shift ((uint64_t) 1) instead of 1 up.
21987 (get_attr_value): Change type of num_alt to uint64_t.
21988 (compute_alternative_mask): Change return type from
21989 int to uint64_t, shift ((uint64_t) 1) instead of 1 up.
21990 (make_alternative_compare, mk_attr_alt): Change argument type
21991 from int to uint64_t.
21992 (simplify_test_exp): Change type of i from int to uint64_t.
21993 Shift ((uint64_t) 1) instead of 1 up.
21994 (main): Adjust oballocvec first argument from int to uint64_t.
21995 Shift ((uint64_t) 1) instead of 1 up.
21996
21997 2015-06-08 Jan Kratochvil <jan.kratochvil@redhat.com>
21998
21999 PR other/65366
22000 * gdbhooks.py: Import sys.
22001 (intptr): New function. Replace int(...) by intptr(...).
22002
22003 2015-06-08 Richard Biener <rguenther@suse.de>
22004
22005 * tree-vect-stmts.c (vectorizable_load): Compute the pointer
22006 adjustment for gaps at the end of a SLP load group properly.
22007 * tree-vect-slp.c (vect_supported_load_permutation_p): Allow
22008 all permutations we can generate.
22009 (vect_transform_slp_perm_load): Use the correct group-size.
22010
22011 2015-06-08 Marc Glisse <marc.glisse@inria.fr>
22012
22013 * genmatch.c (expr::gen_transform): For conditions, guess the type
22014 from the second operand.
22015
22016 2015-06-08 Tom de Vries <tom@codesourcery.com>
22017
22018 PR tree-optimization/66442
22019 * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Add function.
22020 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Return false
22021 if the loop latch is not a singleton. Use
22022 gimple_seq_nondebug_singleton_p instead of gimple_seq_singleton_p.
22023
22024 2015-06-08 Marek Polacek <polacek@redhat.com>
22025
22026 PR sanitizer/66452
22027 * toplev.c (check_global_declaration): Don't warn about artificial
22028 decls.
22029
22030 2015-06-08 Tom de Vries <tom@codesourcery.com>
22031
22032 PR tree-optimization/66436
22033 * cgraphunit.c (cgraph_node::analyze): Don't dump function to gimple
22034 dump file.
22035 * gimplify.c: Add tree-dump.h include.
22036 (gimplify_function_tree): Dump function to gimple dump file.
22037 * stor-layout.c (finalize_size_functions): Don't dump function to gimple
22038 dump file.
22039
22040 2015-06-08 Tom de Vries <tom@codesourcery.com>
22041
22042 PR tree-optimization/66435
22043 * cgraphunit.c (cgraph_node::add_new_function): Dump message on new
22044 function.
22045
22046 2015-06-06 Jan Hubicka <hubicka@ucw.cz>
22047
22048 * alias.c (get_alias_set): Be ready for TYPE_CANONICAL
22049 of ptr_type_node to not be ptr_to_node.
22050 * tree.c (gimple_types_compatible_p): Do not match TREE_CODE of
22051 TREE_TYPE of pointers.
22052 * gimple-expr.c (useless_type_conversion): Reorder the check for
22053 function pointers and TYPE_CANONICAL.
22054
22055 2015-06-06 John David Anglin <danglin@gcc.gnu.org>
22056
22057 PR bootstrap/66319
22058 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Rearrange builtin
22059 defines. Define _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE for c++.
22060 Define _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for c++ if unix95 or
22061 later.
22062 * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Likewise.
22063 Define _INCLUDE_STDC_SOURCE_PRE_199901, _INCLUDE_STDC_SOURCE_199901,
22064 _INCLUDE_XOPEN_SOURCE_PRE_500, _INCLUDE_XOPEN_SOURCE_520,
22065 _INCLUDE_XOPEN_SOURCE_PRE_600 and _INCLUDE_XOPEN_SOURCE_600 for c++
22066 and non iso if unix2003.
22067
22068 2015-06-06 Aldy Hernandez <aldyh@redhat.com>
22069
22070 * dwarf2out.c (gen_lexical_block_die): Initialize stmt_die.
22071
22072 2015-06-06 Richard Sandiford <richard.sandiford@arm.com>
22073
22074 * emit-rtl.c, expr.c, gcse.c, optabs.c, optabs.h, print-rtl.c,
22075 rtl.h, bb-reorder.c, builtins.c, calls.c, cfgbuild.c, cfgexpand.c,
22076 cfgrtl.c, cilk-common.c, config/i386/i386.md, cse.c, dwarf2cfi.c,
22077 except.c, final.c, function.c, gcse-common.c, genemit.c,
22078 haifa-sched.c, ifcvt.c, jump.c, loop-invariant.c, loop-iv.c,
22079 lra-constraints.c, lra.c, reload1.c, resource.c, rtlanal.c,
22080 sched-deps.c, sched-ebb.c, sel-sched-ir.c, sel-sched.c,
22081 shrink-wrap.c, stmt.c, store-motion.c: Replace rtx base types with
22082 more derived ones.
22083
22084 2015-06-06 Mikhail Maltsev <maltsevm@gmail.com>
22085
22086 * combine.c (combine_split_insns): Remove cast.
22087 * config/bfin/bfin.c (hwloop_fail): Add cast in try_split call.
22088 * config/sh/sh.c (sh_try_split_insn_simple): Remove cast.
22089 * config/sh/sh_treg_combine.cc (sh_treg_combine::execute): Add cast.
22090 * emit-rtl.c (try_split): Promote type of trial argument to rtx_insn.
22091 * genemit.c (gen_split): Change return type of generated functions to
22092 rtx_insn.
22093 * genrecog.c (get_failure_return): Use NULL instead of NULL_RTX.
22094 (print_subroutine_start): Promote rtx to rtx_insn in gen_split_* and
22095 gen_peephole2_* functions.
22096 (print_subroutine, main): Likewise.
22097 * recog.c (peephole2_optimize): Remove cast.
22098 (peep2_next_insn): Promote return type to rtx_insn.
22099 * recog.h (peep2_next_insn): Fix prototype.
22100 * rtl.h (try_split, split_insns): Likewise.
22101
22102 2015-06-06 DJ Delorie <dj@redhat.com>
22103
22104 * config/msp430/msp430.c (msp430_asm_integer): Support addition
22105 and subtraction too.
22106
22107 2015-06-05 Kaz Kojima <kkojima@gcc.gnu.org>
22108
22109 PR target/66410
22110 * config/sh/constraints.md (Sid, Ssd): New memory constraints.
22111 * config/sh/sh.md (*mov<mode>): Use Sid and Ssd alternatives
22112 instead of Snd. Disparage Sid/z alternative with '^'.
22113
22114 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
22115
22116 * dwarf2out.c: Remove deferred_locations*.
22117 (dwarf2_debug_hooks): Add early_finish hook.
22118 Remove global_decl hook.
22119 Add early_global_decl and late_global_decl hook.
22120 New global early_dwarf.
22121 New structure set_early_dwarf.
22122 (output_die): Indicate whether a DIE was generated early
22123 when generating assembly with -dA.
22124 (struct limbo_die_struct): Document created_for field.
22125 Remove file_table_last_lookup.
22126 (remove_AT): Return TRUE if successful.
22127 (remove_child_TAG): Clear die_parent.
22128 (reparent_child): New function abstracted from...
22129 (splice_child_die): ...here.
22130 (new_die): ICE if a DIE ends up in limbo too late.
22131 (check_die): New.
22132 (defer_location): Remove.
22133 (add_subscript_info): Reuse DW_TAG_subrange_type if available.
22134 (fill_variable_array_bounds): New.
22135 (decl_start_label): Call fill_variable_array_bounds.
22136 (gen_formal_parameter_die): Rewrite to reuse previously generated
22137 DIEs.
22138 (gen_subprogram_die): Same.
22139 (gen_variable_die): Same.
22140 (gen_const_die): Same.
22141 (gen_label_die): Same.
22142 (gen_lexical_block_die): Same.
22143 (decl_will_get_specification_p): New.
22144 (local_function_static): New.
22145 (gen_struct_or_union_type_die): Fill in variable-length fields.
22146 (gen_typedef_die): Fill in variable-length typedefs.
22147 (gen_tagged_type_die): Gracefully return on error_mark_node.
22148 Handle re-entrancy.
22149 (gen_type_die_with_usage): Handle variable-length types.
22150 Remove duplicate code for ARRAY_TYPE case.
22151 (process_scope_var): Only process imported modules during early
22152 dwarf.
22153 (dwarf2out_early_global_decl): New.
22154 (dwarf2out_late_global_decl): Rename from dwarf2out_global_decl.
22155 (dwarf2out_type_decl): Set early_dwarf while calling
22156 dwarf2out_decl.
22157 (dwarf2out_decl): Verify that we did not recreate a previously
22158 generated DIE.
22159 Do not return on DECL_EXTERNALs in VAR_DECLs.
22160 Abstract some code to local_function_static.
22161 (lookup_filename): Remove use of file_table_last_lookup.
22162 Gracefully exit on missing file_name.
22163 (dwarf2out_finish): Verify limbo list.
22164 Remove deferred_locations_list use.
22165 Move deferred_asm_name and limbo flushing to...
22166 (dwarf2out_early_finish): ...here. New.
22167 (dwarf2out_c_finalize): Remove set of deferred_location_list,
22168 deferred_asm_name, and file_table_last_lookup.
22169 * cgraph.h (referred_to_p): Add default argument.
22170 * cgraphunit.c (referred_to_p): Add and handle include_self
22171 argument.
22172 (analyze_functions): Add first_time argument.
22173 Call check_global_declaration for all symbols.
22174 Call late_global_decl for nodes for moribund nodes.
22175 (finalize_compilation_unit): Add new argument to
22176 analyze_functions.
22177 Call early_global_decl for functions.
22178 Call early_finish debug hook.
22179 * dbxout.c (dbxout_early_global_decl): New.
22180 (dbxout_late_global_decl): New. Adapted from dbxout_global_decl.
22181 (dbx_debug_hooks): Add new hooks.
22182 (xcoff_debug_hooks): Same.
22183 * debug.c (do_nothing_debug_hooks): Add early_finish field.
22184 Add early and late debug hooks.
22185 Remove global_decl hook.
22186 * debug.h (struct gcc_debug_hooks): Add early_finish,
22187 early_global_decl, and late_global_decl fields.
22188 Remove global_decl field.
22189 Document gcc_debug_hooks.
22190 * gengtype.c (output_typename): Remove.
22191 * godump.c (go_early_global_decl): New.
22192 (go_late_global_decl): New.
22193 (go_global_decl): Remove.
22194 (dump_go_spec_init): Remove global_decl. Add
22195 {early,late}_global_decl.
22196 * langhooks-def.h (LANG_HOOKS_WRITE_GLOBALS): Remove.
22197 (LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): New.
22198 * langhooks.c (lhd_warn_unused_global_decl): Adjust comment.
22199 (write_global_declarations): Remove.
22200 (global_decl_processing): New.
22201 * langhooks.h (struct lang_hooks_for_decls): Remove
22202 final_write_globals field.
22203 Add post_compilation_parsing_cleanups field.
22204 * passes.c (rest_of_decl_compilation): Call early_global_decl.
22205 * sdbout.c: Add early and late_global_decl hooks. Remove
22206 sdbout_global_decl hook.
22207 Add early_finish field for sdb_debug_hooks.
22208 (sdbout_global_decl): Remove.
22209 (sdbout_early_global_decl): New.
22210 (sdbout_late_global_decl): New.
22211 * timevar.def (TV_PHASE_LATE_PARSING_CLEANUPS): New.
22212 * toplev.c (check_global_declaration): Rename from
22213 check_global_declaration_1.
22214 Adapt to use symtab infrastructure.
22215 (check_global_declarations): Remove.
22216 (emit_debug_global_declarations): Remove.
22217 (compile_file): Remove call to final_write_globals langhook.
22218 Run the actual compilation process.
22219 Perform any post compilation parser cleanups.
22220 Generate late debug info.
22221 * toplev.h (check_global_declaration): New.
22222 (check_global_declaration_1): Remove.
22223 (check_global_declarations): Remove.
22224 (write_global_declarations): Remove.
22225 (emit_debug_global_declarations): Remove.
22226 (global_decl_processing): New.
22227 * tree-core.h (struct tree_block): Add DIE field.
22228 * tree.h (BLOCK_DIE): New.
22229 * vmsdbgout.c (vmsdbgout_global_decl): Remove function and its use
22230 throughout.
22231 (vmsdbgout_early_global_decl): New.
22232 (vmsdbgout_late_global_decl): New.
22233 Add early_finish debug hook field to vmsdbg_debug_hooks.
22234 Remove vmsdbgout_decl to vmsdbgout_function_decl.
22235 Add early and late_global_decl debug hooks.
22236
22237 2015-06-05 Julian Brown <julian@codesourcery.com>
22238 Sandra Loosemore <sandra@codesourcery.com>
22239
22240 * config/print-sysroot-suffix.sh: Handle MULTILIB_REUSE settings.
22241 * config/t-sysroot-suffix (sysroot-suffix.h): Pass MULTILIB_REUSE
22242 to print-sysroot-suffix.sh script.
22243
22244 2015-06-05 Tom de Vries <tom@codesourcery.com>
22245
22246 merge from gomp4 branch:
22247 2015-05-28 Tom de Vries <tom@codesourcery.com>
22248
22249 PR tree-optimization/65443
22250 * tree-parloops.c (replace_imm_uses, replace_uses_in_bb_by)
22251 (replace_uses_in_bbs_by, transform_to_exit_first_loop_alt)
22252 (try_transform_to_exit_first_loop_alt): New function.
22253 (transform_to_exit_first_loop): Use
22254 try_transform_to_exit_first_loop_alt.
22255
22256 2015-06-05 James Greenhalgh <james.greenhalgh@arm.com>
22257
22258 * builtins.c (expand_builtin_atomic_compare_exchange): Call
22259 emit_cmp_and_jump_insns with the mode of target.
22260
22261 2015-06-05 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
22262
22263 * config/i386/sse.md (sse3_mwait): Swap the operand constriants.
22264
22265 2015-06-04 DJ Delorie <dj@redhat.com>
22266
22267 * config/msp430/msp430.md (movsi_s): New. Special case for
22268 storing a 20-bit symbol into a 32-bit register.
22269 * config/msp430/msp430.c (msp430_subreg): Add support for it.
22270 * config/msp430/predicates.md (msp430_symbol_operand): New.
22271
22272 2015-06-04 Sriraman Tallam <tmsriram@google.com>
22273
22274 * c-family/c-common.c (noplt): New attribute.
22275 (handle_noplt_attribute): New handler.
22276 * calls.c (prepare_call_address): Check for noplt
22277 attribute.
22278 * config/i386/i386.c (ix86_expand_call): Check
22279 for noplt attribute.
22280 (ix86_nopic_noplt_attribute_p): New function.
22281 (ix86_output_call_insn): Output indirect call for non-pic
22282 no plt calls.
22283 * doc/extend.texi (noplt): Document new attribute.
22284 * doc/invoke.texi: Document new attribute.
22285
22286 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
22287
22288 * coretypes.h: Include machmode.h, signop.h, wide-int.h, double-int.h,
22289 real.h, and fixed-value.h when included in host source files.
22290 * double-int.h: Remove redundant #includes listed above.
22291 * fixed-value.h: Likewise.
22292 * real.h: Likewise.
22293 * wide-int.h: Likewise.
22294 * inchash.h: Likewise.
22295 * rtl.h: Add some include files When included from a generator file.
22296 * target.h: Remove wide-int.h and insn-modes.h from the include list.
22297 * internal-fn.h: Don't include coretypes.h.
22298 * alias.c: Adjust includes for restructured coretypes.h.
22299 * asan.c: Likewise.
22300 * attribs.c: Likewise.
22301 * auto-inc-dec.c: Likewise.
22302 * auto-profile.c: Likewise.
22303 * bb-reorder.c: Likewise.
22304 * bt-load.c: Likewise.
22305 * builtins.c: Likewise.
22306 * caller-save.c: Likewise.
22307 * calls.c: Likewise.
22308 * ccmp.c: Likewise.
22309 * cfg.c: Likewise.
22310 * cfganal.c: Likewise.
22311 * cfgbuild.c: Likewise.
22312 * cfgcleanup.c: Likewise.
22313 * cfgexpand.c: Likewise.
22314 * cfghooks.c: Likewise.
22315 * cfgloop.c: Likewise.
22316 * cfgloop.h: Likewise.
22317 * cfgloopanal.c: Likewise.
22318 * cfgloopmanip.c: Likewise.
22319 * cfgrtl.c: Likewise.
22320 * cgraph.c: Likewise.
22321 * cgraphbuild.c: Likewise.
22322 * cgraphclones.c: Likewise.
22323 * cgraphunit.c: Likewise.
22324 * cilk-common.c: Likewise.
22325 * combine-stack-adj.c: Likewise.
22326 * combine.c: Likewise.
22327 * compare-elim.c: Likewise.
22328 * convert.c: Likewise.
22329 * coverage.c: Likewise.
22330 * cppbuiltin.c: Likewise.
22331 * cprop.c: Likewise.
22332 * cse.c: Likewise.
22333 * cselib.c: Likewise.
22334 * data-streamer-in.c: Likewise.
22335 * data-streamer-out.c: Likewise.
22336 * data-streamer.c: Likewise.
22337 * dbxout.c: Likewise.
22338 * dce.c: Likewise.
22339 * ddg.c: Likewise.
22340 * debug.c: Likewise.
22341 * df-core.c: Likewise.
22342 * df-problems.c: Likewise.
22343 * df-scan.c: Likewise.
22344 * df.h: Likewise.
22345 * dfp.c: Likewise.
22346 * dojump.c: Likewise.
22347 * dominance.c: Likewise.
22348 * domwalk.c: Likewise.
22349 * double-int.c: Likewise.
22350 * dse.c: Likewise.
22351 * dumpfile.c: Likewise.
22352 * dwarf2asm.c: Likewise.
22353 * dwarf2cfi.c: Likewise.
22354 * dwarf2out.c: Likewise.
22355 * dwarf2out.h: Likewise.
22356 * emit-rtl.c: Likewise.
22357 * et-forest.c: Likewise.
22358 * except.c: Likewise.
22359 * explow.c: Likewise.
22360 * expmed.c: Likewise.
22361 * expr.c: Likewise.
22362 * final.c: Likewise.
22363 * fixed-value.c: Likewise.
22364 * fold-const.c: Likewise.
22365 * function.c: Likewise.
22366 * fwprop.c: Likewise.
22367 * gcc-plugin.h: Likewise.
22368 * gcse.c: Likewise.
22369 * generic-match-head.c: Likewise.
22370 * ggc-page.c: Likewise.
22371 * gimple-builder.c: Likewise.
22372 * gimple-expr.c: Likewise.
22373 * gimple-fold.c: Likewise.
22374 * gimple-iterator.c: Likewise.
22375 * gimple-low.c: Likewise.
22376 * gimple-match-head.c: Likewise.
22377 * gimple-pretty-print.c: Likewise.
22378 * gimple-ssa-isolate-paths.c: Likewise.
22379 * gimple-ssa-strength-reduction.c: Likewise.
22380 * gimple-streamer-in.c: Likewise.
22381 * gimple-streamer-out.c: Likewise.
22382 * gimple-streamer.h: Likewise.
22383 * gimple-walk.c: Likewise.
22384 * gimple.c: Likewise.
22385 * gimplify-me.c: Likewise.
22386 * gimplify.c: Likewise.
22387 * godump.c: Likewise.
22388 * graph.c: Likewise.
22389 * graphite-blocking.c: Likewise.
22390 * graphite-dependences.c: Likewise.
22391 * graphite-interchange.c: Likewise.
22392 * graphite-isl-ast-to-gimple.c: Likewise.
22393 * graphite-optimize-isl.c: Likewise.
22394 * graphite-poly.c: Likewise.
22395 * graphite-scop-detection.c: Likewise.
22396 * graphite-sese-to-poly.c: Likewise.
22397 * graphite.c: Likewise.
22398 * haifa-sched.c: Likewise.
22399 * hooks.h: Likewise.
22400 * hw-doloop.c: Likewise.
22401 * ifcvt.c: Likewise.
22402 * incpath.c: Likewise.
22403 * init-regs.c: Likewise.
22404 * internal-fn.c: Likewise.
22405 * ipa-chkp.c: Likewise.
22406 * ipa-comdats.c: Likewise.
22407 * ipa-cp.c: Likewise.
22408 * ipa-devirt.c: Likewise.
22409 * ipa-icf-gimple.c: Likewise.
22410 * ipa-icf.c: Likewise.
22411 * ipa-inline-analysis.c: Likewise.
22412 * ipa-inline-transform.c: Likewise.
22413 * ipa-inline.c: Likewise.
22414 * ipa-polymorphic-call.c: Likewise.
22415 * ipa-profile.c: Likewise.
22416 * ipa-prop.c: Likewise.
22417 * ipa-pure-const.c: Likewise.
22418 * ipa-ref.c: Likewise.
22419 * ipa-reference.c: Likewise.
22420 * ipa-split.c: Likewise.
22421 * ipa-utils.c: Likewise.
22422 * ipa-visibility.c: Likewise.
22423 * ipa.c: Likewise.
22424 * ira-build.c: Likewise.
22425 * ira-color.c: Likewise.
22426 * ira-conflicts.c: Likewise.
22427 * ira-costs.c: Likewise.
22428 * ira-emit.c: Likewise.
22429 * ira-lives.c: Likewise.
22430 * ira.c: Likewise.
22431 * jump.c: Likewise.
22432 * langhooks.c: Likewise.
22433 * lcm.c: Likewise.
22434 * loop-doloop.c: Likewise.
22435 * loop-init.c: Likewise.
22436 * loop-invariant.c: Likewise.
22437 * loop-iv.c: Likewise.
22438 * loop-unroll.c: Likewise.
22439 * lower-subreg.c: Likewise.
22440 * lra-assigns.c: Likewise.
22441 * lra-coalesce.c: Likewise.
22442 * lra-constraints.c: Likewise.
22443 * lra-eliminations.c: Likewise.
22444 * lra-lives.c: Likewise.
22445 * lra-remat.c: Likewise.
22446 * lra-spills.c: Likewise.
22447 * lra.c: Likewise.
22448 * lto-cgraph.c: Likewise.
22449 * lto-compress.c: Likewise.
22450 * lto-opts.c: Likewise.
22451 * lto-section-in.c: Likewise.
22452 * lto-section-out.c: Likewise.
22453 * lto-streamer-in.c: Likewise.
22454 * lto-streamer-out.c: Likewise.
22455 * lto-streamer.c: Likewise.
22456 * mcf.c: Likewise.
22457 * mode-switching.c: Likewise.
22458 * modulo-sched.c: Likewise.
22459 * omega.c: Likewise.
22460 * omp-low.c: Likewise.
22461 * optabs.c: Likewise.
22462 * opts-global.c: Likewise.
22463 * passes.c: Likewise.
22464 * plugin.c: Likewise.
22465 * postreload-gcse.c: Likewise.
22466 * postreload.c: Likewise.
22467 * predict.c: Likewise.
22468 * print-rtl.c: Likewise.
22469 * print-tree.c: Likewise.
22470 * profile.c: Likewise.
22471 * real.c: Likewise.
22472 * realmpfr.c: Likewise.
22473 * realmpfr.h: Likewise.
22474 * recog.c: Likewise.
22475 * ree.c: Likewise.
22476 * reg-stack.c: Likewise.
22477 * regcprop.c: Likewise.
22478 * reginfo.c: Likewise.
22479 * regrename.c: Likewise.
22480 * regs.h: Likewise.
22481 * regstat.c: Likewise.
22482 * reload.c: Likewise.
22483 * reload1.c: Likewise.
22484 * reorg.c: Likewise.
22485 * resource.c: Likewise.
22486 * rtl-chkp.c: Likewise.
22487 * rtlanal.c: Likewise.
22488 * rtlhooks.c: Likewise.
22489 * sanopt.c: Likewise.
22490 * sched-deps.c: Likewise.
22491 * sched-ebb.c: Likewise.
22492 * sched-rgn.c: Likewise.
22493 * sched-vis.c: Likewise.
22494 * sdbout.c: Likewise.
22495 * sel-sched-dump.c: Likewise.
22496 * sel-sched-ir.c: Likewise.
22497 * sel-sched.c: Likewise.
22498 * sese.c: Likewise.
22499 * shrink-wrap.c: Likewise.
22500 * shrink-wrap.h: Likewise.
22501 * simplify-rtx.c: Likewise.
22502 * stack-ptr-mod.c: Likewise.
22503 * statistics.c: Likewise.
22504 * stmt.c: Likewise.
22505 * stor-layout.c: Likewise.
22506 * store-motion.c: Likewise.
22507 * stringpool.c: Likewise.
22508 * symtab.c: Likewise.
22509 * target-globals.c: Likewise.
22510 * targhooks.c: Likewise.
22511 * toplev.c: Likewise.
22512 * tracer.c: Likewise.
22513 * trans-mem.c: Likewise.
22514 * tree-affine.c: Likewise.
22515 * tree-affine.h: Likewise.
22516 * tree-browser.c: Likewise.
22517 * tree-call-cdce.c: Likewise.
22518 * tree-cfg.c: Likewise.
22519 * tree-cfgcleanup.c: Likewise.
22520 * tree-chkp-opt.c: Likewise.
22521 * tree-chkp.c: Likewise.
22522 * tree-chrec.c: Likewise.
22523 * tree-complex.c: Likewise.
22524 * tree-data-ref.c: Likewise.
22525 * tree-dfa.c: Likewise.
22526 * tree-diagnostic.c: Likewise.
22527 * tree-dump.c: Likewise.
22528 * tree-eh.c: Likewise.
22529 * tree-emutls.c: Likewise.
22530 * tree-if-conv.c: Likewise.
22531 * tree-inline.c: Likewise.
22532 * tree-into-ssa.c: Likewise.
22533 * tree-iterator.c: Likewise.
22534 * tree-loop-distribution.c: Likewise.
22535 * tree-nested.c: Likewise.
22536 * tree-nrv.c: Likewise.
22537 * tree-object-size.c: Likewise.
22538 * tree-outof-ssa.c: Likewise.
22539 * tree-parloops.c: Likewise.
22540 * tree-phinodes.c: Likewise.
22541 * tree-predcom.c: Likewise.
22542 * tree-pretty-print.c: Likewise.
22543 * tree-pretty-print.h: Likewise.
22544 * tree-profile.c: Likewise.
22545 * tree-scalar-evolution.c: Likewise.
22546 * tree-sra.c: Likewise.
22547 * tree-ssa-address.c: Likewise.
22548 * tree-ssa-alias.c: Likewise.
22549 * tree-ssa-ccp.c: Likewise.
22550 * tree-ssa-coalesce.c: Likewise.
22551 * tree-ssa-copy.c: Likewise.
22552 * tree-ssa-copyrename.c: Likewise.
22553 * tree-ssa-dce.c: Likewise.
22554 * tree-ssa-dom.c: Likewise.
22555 * tree-ssa-dse.c: Likewise.
22556 * tree-ssa-forwprop.c: Likewise.
22557 * tree-ssa-ifcombine.c: Likewise.
22558 * tree-ssa-live.c: Likewise.
22559 * tree-ssa-loop-ch.c: Likewise.
22560 * tree-ssa-loop-im.c: Likewise.
22561 * tree-ssa-loop-ivcanon.c: Likewise.
22562 * tree-ssa-loop-ivopts.c: Likewise.
22563 * tree-ssa-loop-manip.c: Likewise.
22564 * tree-ssa-loop-niter.c: Likewise.
22565 * tree-ssa-loop-prefetch.c: Likewise.
22566 * tree-ssa-loop-unswitch.c: Likewise.
22567 * tree-ssa-loop.c: Likewise.
22568 * tree-ssa-loop.h: Likewise.
22569 * tree-ssa-math-opts.c: Likewise.
22570 * tree-ssa-operands.c: Likewise.
22571 * tree-ssa-phiopt.c: Likewise.
22572 * tree-ssa-phiprop.c: Likewise.
22573 * tree-ssa-pre.c: Likewise.
22574 * tree-ssa-propagate.c: Likewise.
22575 * tree-ssa-reassoc.c: Likewise.
22576 * tree-ssa-sccvn.c: Likewise.
22577 * tree-ssa-scopedtables.c: Likewise.
22578 * tree-ssa-sink.c: Likewise.
22579 * tree-ssa-strlen.c: Likewise.
22580 * tree-ssa-structalias.c: Likewise.
22581 * tree-ssa-tail-merge.c: Likewise.
22582 * tree-ssa-ter.c: Likewise.
22583 * tree-ssa-threadedge.c: Likewise.
22584 * tree-ssa-threadupdate.c: Likewise.
22585 * tree-ssa-uncprop.c: Likewise.
22586 * tree-ssa-uninit.c: Likewise.
22587 * tree-ssa.c: Likewise.
22588 * tree-ssanames.c: Likewise.
22589 * tree-stdarg.c: Likewise.
22590 * tree-streamer-in.c: Likewise.
22591 * tree-streamer-out.c: Likewise.
22592 * tree-streamer.c: Likewise.
22593 * tree-switch-conversion.c: Likewise.
22594 * tree-tailcall.c: Likewise.
22595 * tree-vect-data-refs.c: Likewise.
22596 * tree-vect-generic.c: Likewise.
22597 * tree-vect-loop-manip.c: Likewise.
22598 * tree-vect-loop.c: Likewise.
22599 * tree-vect-patterns.c: Likewise.
22600 * tree-vect-slp.c: Likewise.
22601 * tree-vect-stmts.c: Likewise.
22602 * tree-vectorizer.c: Likewise.
22603 * tree-vrp.c: Likewise.
22604 * tree.c: Likewise.
22605 * tsan.c: Likewise.
22606 * ubsan.c: Likewise.
22607 * valtrack.c: Likewise.
22608 * value-prof.c: Likewise.
22609 * var-tracking.c: Likewise.
22610 * varasm.c: Likewise.
22611 * varpool.c: Likewise.
22612 * vmsdbgout.c: Likewise.
22613 * vtable-verify.c: Likewise.
22614 * web.c: Likewise.
22615 * wide-int-print.cc: Likewise.
22616 * wide-int-print.h: Likewise.
22617 * wide-int.cc: Likewise.
22618 * xcoffout.c: Likewise.
22619 * config/aarch64/aarch64-builtins.c: Likewise.
22620 * config/aarch64/aarch64.c: Likewise.
22621 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
22622 * config/alpha/alpha.c: Likewise.
22623 * config/arc/arc.c: Likewise.
22624 * config/arm/aarch-common.c: Likewise.
22625 * config/arm/arm-builtins.c: Likewise.
22626 * config/arm/arm-c.c: Likewise.
22627 * config/arm/arm.c: Likewise.
22628 * config/avr/avr-c.c: Likewise.
22629 * config/avr/avr-log.c: Likewise.
22630 * config/avr/avr.c: Likewise.
22631 * config/bfin/bfin.c: Likewise.
22632 * config/c6x/c6x.c: Likewise.
22633 * config/cr16/cr16.c: Likewise.
22634 * config/cris/cris.c: Likewise.
22635 * config/darwin-c.c: Likewise.
22636 * config/darwin.c: Likewise.
22637 * config/default-c.c: Likewise.
22638 * config/epiphany/epiphany.c: Likewise.
22639 * config/epiphany/mode-switch-use.c: Likewise.
22640 * config/epiphany/resolve-sw-modes.c: Likewise.
22641 * config/fr30/fr30.c: Likewise.
22642 * config/frv/frv.c: Likewise.
22643 * config/ft32/ft32.c: Likewise.
22644 * config/glibc-c.c: Likewise.
22645 * config/h8300/h8300.c: Likewise.
22646 * config/i386/i386-c.c: Likewise.
22647 * config/i386/i386.c: Likewise.
22648 * config/i386/msformat-c.c: Likewise.
22649 * config/i386/winnt-cxx.c: Likewise.
22650 * config/i386/winnt-stubs.c: Likewise.
22651 * config/i386/winnt.c: Likewise.
22652 * config/ia64/ia64-c.c: Likewise.
22653 * config/ia64/ia64.c: Likewise.
22654 * config/iq2000/iq2000.c: Likewise.
22655 * config/lm32/lm32.c: Likewise.
22656 * config/m32c/m32c-pragma.c: Likewise.
22657 * config/m32c/m32c.c: Likewise.
22658 * config/m32r/m32r.c: Likewise.
22659 * config/m68k/m68k.c: Likewise.
22660 * config/mcore/mcore.c: Likewise.
22661 * config/mep/mep-pragma.c: Likewise.
22662 * config/mep/mep.c: Likewise.
22663 * config/microblaze/microblaze-c.c: Likewise.
22664 * config/microblaze/microblaze.c: Likewise.
22665 * config/mips/mips.c: Likewise.
22666 * config/mmix/mmix.c: Likewise.
22667 * config/mn10300/mn10300.c: Likewise.
22668 * config/moxie/moxie.c: Likewise.
22669 * config/msp430/msp430-c.c: Likewise.
22670 * config/msp430/msp430.c: Likewise.
22671 * config/nds32/nds32-cost.c: Likewise.
22672 * config/nds32/nds32-fp-as-gp.c: Likewise.
22673 * config/nds32/nds32-intrinsic.c: Likewise.
22674 * config/nds32/nds32-isr.c: Likewise.
22675 * config/nds32/nds32-md-auxiliary.c: Likewise.
22676 * config/nds32/nds32-memory-manipulation.c: Likewise.
22677 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
22678 * config/nds32/nds32-predicates.c: Likewise.
22679 * config/nds32/nds32.c: Likewise.
22680 * config/nios2/nios2.c: Likewise.
22681 * config/nvptx/nvptx.c: Likewise.
22682 * config/pa/pa.c: Likewise.
22683 * config/pdp11/pdp11.c: Likewise.
22684 * config/rl78/rl78-c.c: Likewise.
22685 * config/rl78/rl78.c: Likewise.
22686 * config/rs6000/rs6000-c.c: Likewise.
22687 * config/rs6000/rs6000.c: Likewise.
22688 * config/rx/rx.c: Likewise.
22689 * config/s390/s390-c.c: Likewise.
22690 * config/s390/s390.c: Likewise.
22691 * config/sh/sh-c.c: Likewise.
22692 * config/sh/sh-mem.cc: Likewise.
22693 * config/sh/sh.c: Likewise.
22694 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
22695 * config/sh/sh_treg_combine.cc: Likewise.
22696 * config/sol2-c.c: Likewise.
22697 * config/sol2-cxx.c: Likewise.
22698 * config/sol2-stubs.c: Likewise.
22699 * config/sol2.c: Likewise.
22700 * config/sparc/sparc-c.c: Likewise.
22701 * config/sparc/sparc.c: Likewise.
22702 * config/spu/spu-c.c: Likewise.
22703 * config/spu/spu.c: Likewise.
22704 * config/stormy16/stormy16.c: Likewise.
22705 * config/tilegx/mul-tables.c: Likewise.
22706 * config/tilegx/tilegx-c.c: Likewise.
22707 * config/tilegx/tilegx.c: Likewise.
22708 * config/tilepro/mul-tables.c: Likewise.
22709 * config/tilepro/tilepro-c.c: Likewise.
22710 * config/tilepro/tilepro.c: Likewise.
22711 * config/v850/v850-c.c: Likewise.
22712 * config/v850/v850.c: Likewise.
22713 * config/vax/vax.c: Likewise.
22714 * config/visium/visium.c: Likewise.
22715 * config/vms/vms-c.c: Likewise.
22716 * config/vms/vms.c: Likewise.
22717 * config/vxworks.c: Likewise.
22718 * config/winnt-c.c: Likewise.
22719 * config/xtensa/xtensa.c: Likewise.
22720 * common/config/bfin/bfin-common.c: Likewise.
22721
22722 2015-06-04 Jan Hubicka <hubicka@ucw.cz>
22723
22724 * tree.h (tree_code_for_canonical_type_merging): New function.
22725 * tree.c (gimple_canonical_types_compatible_p): Use
22726 tree_code_for_canonical_type_merging..
22727
22728 2015-06-04 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
22729
22730 PR c++/66192
22731 PR target/66200
22732 * doc/tm.texi: Regenerate.
22733 * doc/tm.texi.in (TARGET_RELAXED_ORDERING): Delete.
22734 * target.def (TARGET_RELAXED_ORDERING): Likewise.
22735 * config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Likewise.
22736 * config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Likewise.
22737 * config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Likewise.
22738 * config/sparc/linux.h (SPARC_RELAXED_ORDERING): Likewise.
22739 * config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
22740 * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Likewise.
22741 * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Likewise.
22742
22743 2015-06-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
22744
22745 * config/aarch64/aarch64.c (aarch64_override_options): Unconditionally
22746 register fma steering pass.
22747 * config/aarch64/cortex-a57-fma-steering.c (gate): Add gating on
22748 AARCH64_TUNE_FMA_STEERING.
22749
22750 2015-06-03 Jan Hubicka <hubicka@ucw.cz>
22751
22752 * tree.c (verify_type_variant): Verify that type and variant is
22753 compatible.
22754 (gimple_canonical_types_compatible_p): Look for main variants.
22755
22756 2015-06-03 Michael Meissner <meissner@linux.vnet.ibm.com>
22757
22758 * config.gcc (powerpc*-*-*): Add support for a new configure
22759 option --with-advance-toolchain=<xxx> which overrides using the
22760 default header files, libraries and dynamic linker.
22761
22762 * config/rs6000/linux64.h (SUBSUBTARGET_EXTRA_SPECS): Add new
22763 specs to support the configure --with-advance-toolchain=<xxx>
22764 option.
22765 (INCLUDE_EXTRA_SPEC): Likewise.
22766 (LINK_OS_EXTRA_SPEC32): Likewise.
22767 (LINK_OK_EXTRA_SPEC64): Likewise.
22768 (LINK_OS_NEW_DTAGS_SPEC): Likewise.
22769 (DYNAMIC_LINKER_PREFIX): Likewise.
22770 (CPP_OS_DEFAULT_SPEC): Use the new specs for providing advance
22771 toolchain support.
22772 (GLIBC_DYNAMIC_LINKER32): Likewise.
22773 (GLIBC_DYNAMIC_LINKER64): Likewise.
22774 (LINK_OS_LINUX_SPEC32): Likewise.
22775 (LINK_OS_LINUX_SPEC64): Likewise.
22776
22777 * doc/install.texi (--enable-advance-toolchain=<xx>): Document new
22778 configuration option.
22779
22780 2015-06-03 Uros Bizjak <ubizjak@gmail.com>
22781
22782 PR target/66275
22783 * config/i386/i386.c (ix86_function_arg_regno): Use ix86_cfun_abi
22784 to determine current function ABI.
22785 (ix86_function_value_regno_p): Ditto.
22786
22787 2015-06-03 Martin Liska <mliska@suse.cz>
22788
22789 * alloc-pool.h (struct pool_usage): Correct GNU coding style.
22790 * bitmap.h (struct bitmap_usage): Likewise.
22791 * ggc-common.c (struct ggc_usage): Likewise.
22792 * mem-stats.h (struct mem_location): Likewise.
22793 (struct mem_usage): Likewise.
22794 * vec.c (struct vec_usage): Likewise.
22795
22796 2015-06-03 Benigno B. Junior <bbj@gentoo.org>
22797
22798 * config/netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Turn -symbolic into
22799 -Bsymbolic.
22800
22801 2015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
22802
22803 * doc/plugins.texi (enum plugin_event): New event.
22804 * plugin.c (register_callback): Handle PLUGIN_START_PARSE_FUNCTION
22805 and PLUGIN_FINISH_FUNCTION.
22806 * plugin.def (PLUGIN_START_PARSE_FUNCTION): Add plugin event
22807 (PLUGIN_FINISH_PARSE_FUNCTION): Likewise.
22808
22809 2015-06-03 Richard Biener <rguenther@suse.de>
22810
22811 * tree-vect-data-refs.c (vect_analyze_group_access): Properly
22812 compute GROUP_GAP for the first element.
22813 * tree-vect-slp.c (vect_build_slp_tree_1): Remove restriction
22814 on in-group gaps.
22815
22816 2015-06-03 Nick Clifton <nickc@redhat.com>
22817
22818 * config/rl78/rl78-real.md: Add peepholes to avoid a register
22819 copy when calling a function.
22820 * config/rl78/rl78.c (need_to_save): Do not push the frame
22821 pointer in an interrupt handler prologue if it is never used.
22822
22823 2015-06-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
22824
22825 * ifcvt (end_ifcvt_sequence): Fix typo in comment above.
22826
22827 2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
22828
22829 * ipa-chkp.c (chkp_maybe_create_clone): Create alias
22830 reference when cloning alias node.
22831
22832 2015-06-03 Martin Liska <mliska@suse.cz>
22833
22834 * alloc-pool.h (struct pool_usage): Correct space padding.
22835 * ggc-page.c (ggc_print_statistics): Align columns in a report.
22836 * mem-stats.h (struct mem_usage): Add argument to print_dash_line.
22837 * tree.c (dump_tree_statistics): Align columns in a report.
22838
22839 2015-06-03 Martin Liska <mliska@suse.cz>
22840
22841 * alloc-pool.c (allocate_pool_descriptor): Remove.
22842 (struct pool_output_info): Likewise.
22843 (print_alloc_pool_statistics): Likewise.
22844 (dump_alloc_pool_statistics): Likewise.
22845 * alloc-pool.h (struct pool_usage): New struct.
22846 (pool_allocator::initialize): Change usage of memory statistics
22847 to a new interface.
22848 (pool_allocator::release): Likewise.
22849 (pool_allocator::allocate): Likewise.
22850 (pool_allocator::remove): Likewise.
22851 * mem-stats-traits.h (enum mem_alloc_origin): Add new enum value
22852 for a pool allocator.
22853 * mem-stats.h (struct mem_location): Add new ctor.
22854 (struct mem_usage): Add counter for number of
22855 instances.
22856 (mem_alloc_description::register_descriptor): New overload of
22857 * mem-stats.h (mem_location::to_string): New function.
22858 * bitmap.h (struct bitmap_usage): Use this new function.
22859 * ggc-common.c (struct ggc_usage): Likewise.
22860 the function.
22861
22862 2015-06-03 Richard Sandiford <richard.sandiford@arm.com>
22863
22864 * defaults.h (SWITCHABLE_TARGET, TARGET_SUPPORTS_WIDE_INT): Move out
22865 of GCC_INSN_FLAGS_H block.
22866
22867 2015-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
22868
22869 * explow.c (plus_constant): Update check after force_const_mem call
22870 to see if the value returned is not a NULL_RTX.
22871
22872 2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
22873
22874 * ipa.c (symbol_table::remove_unreachable_nodes): Don't
22875 remove instumentation thunks calling reachable functions.
22876 * lto-cgraph.c (output_refs): Always output IPA_REF_CHKP.
22877 * lto/lto-partition.c (privatize_symbol_name_1): New.
22878 (privatize_symbol_name): Privatize both decl and orig_decl
22879 names for instrumented functions.
22880 * cgraph.c (cgraph_node::verify_node): Add transparent
22881 alias chain check for instrumented node.
22882
22883 2015-06-03 Marek Polacek <polacek@redhat.com>
22884
22885 PR c/64223
22886 PR c/29358
22887 * tree.c (attribute_value_equal): Handle attribute format.
22888 (cmp_attrib_identifiers): Factor out of lookup_ident_attribute.
22889
22890 2015-06-03 Richard Biener <rguenther@suse.de>
22891
22892 PR tree-optimization/63916
22893 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
22894 Forward-propagate non-invariant addresses by splicing their
22895 reference ops if the result isn't going to be used by PRE.
22896 (vn_reference_lookup_3): Remove pointless assert.
22897
22898 2015-06-03 Richard Biener <rguenther@suse.de>
22899
22900 PR tree-optimization/66375
22901 * tree-scalar-evolution.c (follow_ssa_edge_binary): First
22902 add to the evolution before following SSA edges.
22903
22904 2015-06-03 Bin Cheng <bin.cheng@arm.com>
22905
22906 * tree-ssa-loop-ivopts.c (dump_iv): New parameter.
22907 (dump_use, dump_cand, find_induction_variables): Pass new argument
22908 to dump_iv.
22909 (record_use): Preserve the ssa name information in IV.
22910
22911 2015-06-03 Richard Sandiford <richard.sandiford@arm.com>
22912
22913 * genpreds.c (mark_mode_tests): Mark all MATCH_CODEs as
22914 NO_MODE_TEST.
22915 (add_mode_tests): Don't add mode tests if the predicate only
22916 accepts scalar constant integers. Otherwise, allow the mode
22917 of "op" to be VOIDmode if the predicate does accept such integers.
22918
22919 2015-06-02 Jim Wilson <jim.wilson@linaro.org>
22920
22921 PR target/66258
22922 * config/aarch64/aarch64.c (aarch64_function_value_regno_p): Change
22923 !TARGET_GENERAL_REGS_ONLY to TARGET_FLOAT.
22924 (aarch64_secondary_reload): Likewise
22925 (aarch64_expand_builtin_va_start): Change TARGET_GENERAL_REGS_ONLY
22926 to !TARGET_FLOAT.
22927 (aarch64_gimplify_va_arg_expr, aarch64_setup_incoming_varargs):
22928 Likewise.
22929
22930 2015-06-03 Kugan Vivekanandarajah <kuganv@linaro.org>
22931 Zhenqiang Chen <zhenqiang.chen@linaro.org>
22932
22933 PR target/65768
22934 * cprop.c (try_replace_reg): Check cost of constants before propagating.
22935
22936 2015-06-02 Michael Meissner <meissner@linux.vnet.ibm.com>
22937
22938 * config/rs6000/rs6000-modes.def (IFmode): Define IFmode to
22939 provide access to the IBM extended double floating point mode if
22940 long double is IEEE 128-bit floating point.
22941 (KFmode): Define KFmode to provide access to IEEE 128-bit floating
22942 point if long double is the IBM extended double type.
22943
22944 * config/rs6000/rs6000.opt (-mfloat128-none): New switches to
22945 enable adding IEEE 128-bit floating point support.
22946 (-mfloat128-software): Likewise.
22947 (-mfloat128-sw): Likewise.
22948
22949 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Do not allow
22950 128-bit floating point types to occupy any register if
22951 -mlong-double-64. Do not allow use of IFmode/KFmode unless
22952 -mfloat128-software is enabled.
22953 (rs6000_debug_reg_global): Add IEEE 128-bit floating point debug
22954 support.
22955 (rs6000_option_override_internal): Add -mfloat128-* support.
22956 (rs6000_init_builtins): Setup __ibm128 and __float128 type modes.
22957
22958 * config/rs6000/rs6000.h (rs6000_builtin_type_index): Add ibm128
22959 and float128 type nodes.
22960 (ieee128_float_type_node): Likewise.
22961 (ibm128_float_type_node): Likewise.
22962
22963 2015-06-02 Szabolcs Nagy <szabolcs.nagy@arm.com>
22964
22965 PR target/66136
22966 * config/aarch64/geniterators.sh: Rewrite in awk.
22967
22968 2015-06-02 Martin Liska <mliska@suse.cz>
22969
22970 * alloc-pool.h (pool_allocator::pool_allocator): Set implicit
22971 values to avoid -Wmaybe-uninitialized errors.
22972
22973 2015-06-02 Richard Biener <rguenther@suse.de>
22974
22975 PR debug/65549
22976 * dwarf2out.c (lookup_context_die): New function.
22977 (resolve_addr): Avoid forcing a full DIE for the
22978 target of a DW_TAG_GNU_call_site during late compilation.
22979 Instead create a stub DIE without a type if we have a
22980 context DIE present.
22981
22982 2015-06-02 Uros Bizjak <ubizjak@gmail.com>
22983
22984 * df-scan.c (df_scan_start_dump): Add space between regno and regname.
22985
22986 2015-06-02 Bin Cheng <bin.cheng@arm.com>
22987
22988 PR tree-optimization/48052
22989 * cfgloop.h (struct control_iv): New.
22990 (struct loop): New field control_ivs.
22991 * tree-ssa-loop-niter.c : Include "stor-layout.h".
22992 (number_of_iterations_lt): Set no_overflow information.
22993 (number_of_iterations_exit): Init control iv in niter struct.
22994 (record_control_iv): New.
22995 (estimate_numbers_of_iterations_loop): Call record_control_iv.
22996 (loop_exits_before_overflow): New. Interface factored out of
22997 scev_probably_wraps_p.
22998 (scev_probably_wraps_p): Factor loop niter related code into
22999 loop_exits_before_overflow.
23000 (free_numbers_of_iterations_estimates_loop): Free control ivs.
23001 * tree-ssa-loop-niter.h (free_loop_control_ivs): New.
23002
23003 2015-06-02 Eric Botcazou <ebotcazou@adacore.com>
23004
23005 * gimplify.c (gimplify_modify_expr): Do not create a DECL_DEBUG_EXPR if
23006 the target doesn't belong to the current function.
23007
23008 2015-06-02 Marek Polacek <polacek@redhat.com>
23009
23010 PR middle-end/66345
23011 * gimple-fold.c (gimple_fold_builtin_snprintf): Return false if
23012 get_maxval_strlen does not produce an INTEGER_CST.
23013
23014 2015-06-02 Richard Sandiford <richard.sandiford@arm.com>
23015
23016 * config/arc/constraints.md: Use lower-case names in match_code.
23017 * config/mmix/constraints.md: Likewise.
23018
23019 2015-06-02 Richard Biener <rguenther@suse.de>
23020
23021 PR tree-optimization/65961
23022 * tree-vect-slp.c (vect_get_and_check_slp_defs): Remove bogus
23023 check and clarify dump message.
23024 (vect_build_slp_tree): If all children are built up from scalars
23025 build up the parent from scalars instead.
23026 * tree-vect-stmts.c (vect_is_simple_use): Cleanup.
23027
23028 2015-06-02 Jan Kratochvil <jan.kratochvil@redhat.com>
23029
23030 PR other/65366
23031 * gdbhooks.py: Use int(...) instead of long(...). Use print(...)
23032 instead of print ... .
23033
23034 2015-06-02 Alan Modra <amodra@gmail.com>
23035
23036 * config/rs6000/vsx.md (vsx_extract_v4sf): Revert accidental
23037 2014-08-11 change.
23038
23039 2015-06-02 Bin Cheng <bin.cheng@arm.com>
23040
23041 PR tree-optimization/52563
23042 PR tree-optimization/62173
23043 * tree-ssa-loop-ivopts.c (struct iv): New field. Reorder fields.
23044 (alloc_iv, set_iv): New parameter.
23045 (determine_biv_step): Delete.
23046 (find_bivs): Inline original determine_biv_step. Pass new
23047 argument to set_iv.
23048 (idx_find_step): Use no_overflow information for conversion.
23049 * tree-scalar-evolution.c (analyze_scalar_evolution_in_loop): Let
23050 resolve_mixers handle folded_casts.
23051 (instantiate_scev_name): Change bool parameter to bool pointer.
23052 (instantiate_scev_poly, instantiate_scev_binary): Ditto.
23053 (instantiate_array_ref, instantiate_scev_not): Ditto.
23054 (instantiate_scev_3, instantiate_scev_2): Ditto.
23055 (instantiate_scev_1, instantiate_scev_r): Ditto.
23056 (instantiate_scev_convert, ): Change parameter. Pass argument
23057 to chrec_convert_aggressive.
23058 (instantiate_scev): Change argument.
23059 (resolve_mixers): New parameter and set it.
23060 (scev_const_prop): New argument.
23061 * tree-scalar-evolution.h (resolve_mixers): New parameter.
23062 * tree-chrec.c (convert_affine_scev): Call chrec_convert instead
23063 of chrec_conert_1.
23064 (chrec_convert): New parameter. Move definition below.
23065 (chrec_convert_aggressive): New parameter and set it. Call
23066 convert_affine_scev.
23067 * tree-chrec.h (chrec_convert): New parameter.
23068 (chrec_convert_aggressive): Ditto.
23069
23070 2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
23071
23072 * gimplify.c (gimplify_modify_expr_rhs): Use simple test on the size.
23073 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Do not remove
23074 the LHS of a no-return call if its type has variable size.
23075 * tree-cfgcleanup.c (fixup_noreturn_call): Likewise.
23076 * tree-cfg.c (verify_gimple_call): Accept these no-return calls.
23077
23078 2015-06-01 Andreas Tobler <andreast@gcc.gnu.org>
23079
23080 * read-rtl.c: Adapt to use HAVE_DECL_ATOLL instead of HAVE_ATOLL.
23081 * config.in: Regenerate.
23082
23083 2015-06-01 Yuri Rumyantsev <ysrumyan@gmail.com>
23084
23085 * tree-vect-data-refs.c (vect_analyze_data_ref_access): Allow
23086 consecutive accesses within outer-loop with force_vectorize
23087 for references with zero step in inner-loop.
23088
23089 2015-06-01 Vidya Praveen <vidyapraveen@arm.com>
23090
23091 * Makefile.in: Pick up gcov-dump dependencies from gcc/ directory
23092 rather than from gcc/build directory.
23093
23094 2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
23095
23096 PR target/65697
23097 * config/aarch64/aarch64.c (aarch64_split_compare_and_swap): Check
23098 for __sync memory models, emit initial loads and final barriers as
23099 appropriate.
23100
23101 2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
23102
23103 PR target/65697
23104 * config/aarch64/aarch64.c (aarch64_emit_post_barrier):New.
23105 (aarch64_split_atomic_op): Check for __sync memory models, emit
23106 appropriate initial loads and final barriers.
23107
23108 2015-06-01 Vidya Praveen <vidyapraveen@arm.com>
23109
23110 * Makefile.in: Fix gcov dependencies that should
23111 not point to a build folder.
23112
23113 2015-06-01 Richard Biener <rguenther@suse.de>
23114
23115 Revert
23116 2015-05-29 Richard Biener <rguenther@suse.de>
23117
23118 PR tree-optimization/66314
23119 * tree-ssa-threadupdate.c (create_block_for_threading): Add
23120 parameter that says which loop the new block belongs to.
23121 (ssa_create_duplicates): Blocks duplicated for the threaded
23122 path belong to the loop of the thread destination.
23123
23124 2015-06-01 Martin Liska <mliska@suse.cz>
23125
23126 * sched-deps.c: Include pool-alloc.h before
23127 cselib.h header file is included.
23128
23129 2015-06-01 Richard Biener <rguenther@suse.de>
23130
23131 * tree-ssa-structalias.c (ipa_pta_execute): Handle address-taken
23132 functions.
23133
23134 2015-06-01 Martin Liska <mliska@suse.cz>
23135
23136 * alloc-pool.h: Add ATTRIBUTE_UNUSED for
23137 a function local variable.
23138
23139 2015-06-01 Martin Liska <mliska@suse.cz>
23140
23141 * alloc-pool.c (create_alloc_pool): Remove.
23142 (empty_alloc_pool): Likewise.
23143 (free_alloc_pool): Likewise.
23144 (free_alloc_pool_if_empty): Likewise.
23145 (pool_alloc): Likewise.
23146 (pool_free): Likewise.
23147 * alloc-pool.h: Remove old declarations.
23148
23149 2015-06-01 Martin Liska <mliska@suse.cz>
23150
23151 * ira-build.c (initiate_allocnos): Use new type-based pool allocator.
23152 (ira_create_object): Likewise.
23153 (ira_create_allocno): Likewise.
23154 (ira_create_live_range): Likewise.
23155 (copy_live_range): Likewise.
23156 (ira_finish_live_range): Likewise.
23157 (ira_free_allocno_costs): Likewise.
23158 (finish_allocno): Likewise.
23159 (finish_allocnos): Likewise.
23160 (initiate_prefs): Likewise.
23161 (ira_create_pref): Likewise.
23162 (finish_pref): Likewise.
23163 (finish_prefs): Likewise.
23164 (initiate_copies): Likewise.
23165 (ira_create_copy): Likewise.
23166 (finish_copy): Likewise.
23167 (finish_copies): Likewise.
23168 (finish_prefs): Likewise.
23169
23170 2015-06-01 Martin Liska <mliska@suse.cz>
23171
23172 * ipa-cp.c (ipcp_value::add_source): Use new type-based pool allocator.
23173 (allocate_and_init_ipcp_value): Likewise.
23174 (ipcp_lattice::add_value): Likewise.
23175 (merge_agg_lats_step): Likewise.
23176 (ipcp_driver): Likewise.
23177 * ipa-prop.c (ipa_free_all_structures_after_ipa_cp): Likewise.
23178 (ipa_free_all_structures_after_iinln): Likewise.
23179 * ipa-prop.h: Likewise.
23180
23181 2015-06-01 Martin Liska <mliska@suse.cz>
23182
23183 * ipa-inline-analysis.c (edge_set_predicate): Use new type-based
23184 pool allocator.
23185 (set_hint_predicate): Likewise.
23186 (inline_summary_alloc): Likewise.
23187 (reset_inline_edge_summary): Likewise.
23188 (reset_inline_summary): Likewise.
23189 (set_cond_stmt_execution_predicate): Likewise.
23190 (set_switch_stmt_execution_predicate): Likewise.
23191 (compute_bb_predicates): Likewise.
23192 (estimate_function_body_sizes): Likewise.
23193 (inline_free_summary): Likewise.
23194
23195 2015-06-01 Martin Liska <mliska@suse.cz>
23196
23197 * ipa-prop.c (ipa_set_jf_constant): Use new type-based pool allocator.
23198 (ipa_edge_duplication_hook): Likewise.
23199 (ipa_free_all_structures_after_ipa_cp): Likewise.
23200 (ipa_free_all_structures_after_iinln): Likewise.
23201
23202 2015-06-01 Martin Liska <mliska@suse.cz>
23203
23204 * ipa-profile.c (account_time_size): Use new type-based pool allocator.
23205 (ipa_profile_generate_summary): Likewise.
23206 (ipa_profile_read_summary): Likewise.
23207 (ipa_profile): Likewise.
23208
23209 2015-06-01 Martin Liska <mliska@suse.cz>
23210
23211 * tree-ssa-structalias.c (new_var_info): Use new type-based
23212 pool allocator.
23213 (new_constraint): Likewise.
23214 (init_alias_vars): Likewise.
23215 (delete_points_to_sets): Likewise.
23216
23217 2015-06-01 Martin Liska <mliska@suse.cz>
23218
23219 * tree-ssa-strlen.c (new_strinfo): Use new type-based pool allocator.
23220 (free_strinfo): Likewise.
23221 (pass_strlen::execute): Likewise.
23222
23223 2015-06-01 Martin Liska <mliska@suse.cz>
23224
23225 * tree-ssa-sccvn.c (vn_reference_insert): Use new type-based
23226 pool allocator.
23227 (vn_reference_insert_pieces): Likewise.
23228 (vn_phi_insert): Likewise.
23229 (visit_reference_op_call): Likewise.
23230 (copy_phi): Likewise.
23231 (copy_reference): Likewise.
23232 (process_scc): Likewise.
23233 (allocate_vn_table): Likewise.
23234 (free_vn_table): Likewise.
23235
23236 2015-06-01 Martin Liska <mliska@suse.cz>
23237
23238 * tree-ssa-reassoc.c (add_to_ops_vec): Use new type-based
23239 pool allocator.
23240 (add_repeat_to_ops_vec): Likewise.
23241 (get_ops): Likewise.
23242 (maybe_optimize_range_tests): Likewise.
23243 (init_reassoc): Likewise.
23244 (fini_reassoc): Likewise.
23245
23246 2015-06-01 Martin Liska <mliska@suse.cz>
23247
23248 * tree-ssa-pre.c (get_or_alloc_expr_for_name): Use new type-based
23249 pool allocator.
23250 (bitmap_set_new): Likewise.
23251 (get_or_alloc_expr_for_constant): Likewise.
23252 (get_or_alloc_expr_for): Likewise.
23253 (phi_translate_1): Likewise.
23254 (compute_avail): Likewise.
23255 (init_pre): Likewise.
23256 (fini_pre): Likewise.
23257
23258 2015-06-01 Martin Liska <mliska@suse.cz>
23259
23260 * sched-deps.c (create_dep_node): Use new type-based pool allocator.
23261 (delete_dep_node): Likewise.
23262 (create_deps_list): Likewise.
23263 (free_deps_list): Likewise.
23264 (sched_deps_init): Likewise.
23265 (sched_deps_finish): Likewise.
23266
23267 2015-06-01 Martin Liska <mliska@suse.cz>
23268
23269 * regcprop.c (free_debug_insn_changes): Use new type-based
23270 pool allocator.
23271 (replace_oldest_value_reg): Likewise.
23272 (pass_cprop_hardreg::execute): Likewise.
23273
23274 2015-06-01 Martin Liska <mliska@suse.cz>
23275
23276 * ira-build.c (initiate_cost_vectors): Use new type-based
23277 pool allocator.
23278 (ira_allocate_cost_vector): Likewise.
23279 (ira_free_cost_vector): Likewise.
23280 (finish_cost_vectors): Likewise.
23281
23282 2015-06-01 Martin Liska <mliska@suse.cz>
23283
23284 * sel-sched-ir.c (alloc_sched_pools): Use new type-based
23285 pool allocator.
23286 (free_sched_pools): Likewise.
23287 * sel-sched-ir.h (_list_alloc): Likewise.
23288 (_list_remove): Likewise.
23289
23290 2015-06-01 Martin Liska <mliska@suse.cz>
23291
23292 * stmt.c (add_case_node): Use new type-based pool allocator.
23293 (expand_case): Likewise.
23294 (expand_sjlj_dispatch_table): Likewise.
23295
23296 2015-06-01 Martin Liska <mliska@suse.cz>
23297
23298 * tree-ssa-math-opts.c (occ_new): Use new type-based pool allocator.
23299 (free_bb): Likewise.
23300 (pass_cse_reciprocals::execute): Likewise.
23301
23302 2015-06-01 Martin Liska <mliska@suse.cz>
23303
23304 * tree-sra.c (sra_initialize): Use new type-based pool allocator.
23305 (sra_deinitialize) Likewise.
23306 (create_access_1) Likewise.
23307 (build_accesses_from_assign) Likewise.
23308 (create_artificial_child_access) Likewise.
23309
23310 2015-06-01 Martin Liska <mliska@suse.cz>
23311
23312 * dse.c (get_group_info):Use new type-based pool allocator.
23313 (dse_step0) Likewise.
23314 (free_store_info) Likewise.
23315 (delete_dead_store_insn) Likewise.
23316 (free_read_records) Likewise.
23317 (record_store) Likewise.
23318 (replace_read) Likewise.
23319 (check_mem_read_rtx) Likewise.
23320 (scan_insn) Likewise.
23321 (dse_step1) Likewise.
23322 (dse_step7) Likewise.
23323
23324 2015-06-01 Martin Liska <mliska@suse.cz>
23325
23326 * df-scan.c (struct df_scan_problem_data):Use new type-based
23327 pool allocator.
23328 (df_scan_free_internal) Likewise.
23329 (df_scan_alloc) Likewise.
23330 (df_grow_reg_info) Likewise.
23331 (df_free_ref) Likewise.
23332 (df_insn_create_insn_record) Likewise.
23333 (df_mw_hardreg_chain_delete) Likewise.
23334 (df_insn_info_delete) Likewise.
23335 (df_free_collection_rec) Likewise.
23336 (df_mw_hardreg_chain_delete_eq_uses) Likewise.
23337 (df_sort_and_compress_mws) Likewise.
23338 (df_ref_create_structure) Likewise.
23339 (df_ref_record) Likewise.
23340
23341 2015-06-01 Martin Liska <mliska@suse.cz>
23342
23343 * df-problems.c (df_chain_create):Use new type-based pool allocator.
23344 (df_chain_unlink_1) Likewise.
23345 (df_chain_unlink) Likewise.
23346 (df_chain_remove_problem) Likewise.
23347 (df_chain_alloc) Likewise.
23348 (df_chain_free) Likewise.
23349 * df.h (struct dataflow) Likewise.
23350
23351 2015-06-01 Martin Liska <mliska@suse.cz>
23352
23353 * cselib.c (new_elt_list):Use new type-based pool allocator.
23354 (new_elt_loc_list) Likewise.
23355 (unchain_one_elt_list) Likewise.
23356 (unchain_one_elt_loc_list) Likewise.
23357 (unchain_one_value) Likewise.
23358 (new_cselib_val) Likewise.
23359 (cselib_init) Likewise.
23360 (cselib_finish) Likewise.
23361
23362 2015-06-01 Martin Liska <mliska@suse.cz>
23363
23364 * config/sh/sh.c (add_constant):Use new type-based pool allocator.
23365 (sh_reorg) Likewise.
23366
23367 2015-06-01 Martin Liska <mliska@suse.cz>
23368
23369 * cfg.c (initialize_original_copy_tables):Use new type-based
23370 pool allocator.
23371 (free_original_copy_tables) Likewise.
23372 (copy_original_table_clear) Likewise.
23373 (copy_original_table_set) Likewise.
23374
23375 2015-06-01 Martin Liska <mliska@suse.cz>
23376
23377 * asan.c (asan_mem_ref_get_alloc_pool):Use new type-based
23378 pool allocator.
23379 (asan_mem_ref_new) Likewise.
23380 (free_mem_ref_resources) Likewise.
23381
23382 2015-06-01 Martin Liska <mliska@suse.cz>
23383
23384 * var-tracking.c (variable_htab_free):Use new type-based
23385 pool allocator.
23386 (attrs_list_clear) Likewise.
23387 (attrs_list_insert) Likewise.
23388 (attrs_list_copy) Likewise.
23389 (shared_hash_unshare) Likewise.
23390 (shared_hash_destroy) Likewise.
23391 (unshare_variable) Likewise.
23392 (var_reg_delete_and_set) Likewise.
23393 (var_reg_delete) Likewise.
23394 (var_regno_delete) Likewise.
23395 (drop_overlapping_mem_locs) Likewise.
23396 (variable_union) Likewise.
23397 (insert_into_intersection) Likewise.
23398 (canonicalize_values_star) Likewise.
23399 (variable_merge_over_cur) Likewise.
23400 (dataflow_set_merge) Likewise.
23401 (remove_duplicate_values) Likewise.
23402 (variable_post_merge_new_vals) Likewise.
23403 (dataflow_set_preserve_mem_locs) Likewise.
23404 (dataflow_set_remove_mem_locs) Likewise.
23405 (variable_from_dropped) Likewise.
23406 (variable_was_changed) Likewise.
23407 (set_slot_part) Likewise.
23408 (clobber_slot_part) Likewise.
23409 (delete_slot_part) Likewise.
23410 (loc_exp_insert_dep) Likewise.
23411 (notify_dependents_of_changed_value) Likewise.
23412 (emit_notes_for_differences_1) Likewise.
23413 (vt_emit_notes) Likewise.
23414 (vt_initialize) Likewise.
23415 (vt_finalize) Likewise.
23416
23417 2015-06-01 Martin Liska <mliska@suse.cz>
23418
23419 * ira-color.c (init_update_cost_records):Use new type-based
23420 pool allocator.
23421 (get_update_cost_record) Likewise.
23422 (free_update_cost_record_list) Likewise.
23423 (finish_update_cost_records) Likewise.
23424 (initiate_cost_update) Likewise.
23425
23426 2015-06-01 Martin Liska <mliska@suse.cz>
23427
23428 * lra.c (init_insn_regs): Use new type-based pool allocator.
23429 (new_insn_reg) Likewise.
23430 (free_insn_reg) Likewise.
23431 (free_insn_regs) Likewise.
23432 (finish_insn_regs) Likewise.
23433 (init_insn_recog_data) Likewise.
23434 (init_reg_info) Likewise.
23435 (finish_reg_info) Likewise.
23436 (lra_free_copies) Likewise.
23437 (lra_create_copy) Likewise.
23438 (invalidate_insn_data_regno_info) Likewise.
23439
23440 2015-06-01 Martin Liska <mliska@suse.cz>
23441
23442 * lra-lives.c (free_live_range): Use new type-based pool allocator.
23443 (free_live_range_list) Likewise.
23444 (create_live_range) Likewise.
23445 (copy_live_range) Likewise.
23446 (lra_merge_live_ranges) Likewise.
23447 (remove_some_program_points_and_update_live_ranges) Likewise.
23448 (lra_live_ranges_init) Likewise.
23449 (lra_live_ranges_finish) Likewise.
23450
23451 2015-06-01 Martin Liska <mliska@suse.cz>
23452
23453 * et-forest.c (et_new_occ): Use new type-based pool allocator.
23454 (et_new_tree): Likewise.
23455 (et_free_tree): Likewise.
23456 (et_free_tree_force): Likewise.
23457 (et_free_pools): Likewise.
23458 (et_split): Likewise.
23459
23460 2015-06-01 Martin Liska <mliska@suse.cz>
23461
23462 * alloc-pool.c (struct alloc_pool_descriptor): Move definition
23463 to header file.
23464 * alloc-pool.h (pool_allocator::pool_allocator): New function.
23465 (pool_allocator::release): Likewise.
23466 (inline pool_allocator::release_if_empty): Likewise.
23467 (inline pool_allocator::~pool_allocator): Likewise.
23468 (pool_allocator::allocate): Likewise.
23469 (pool_allocator::remove): Likewise.
23470
23471 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
23472
23473 * sched-deps.c (sched_analyze_2): Replace fuseable with fusible
23474 in comment.
23475
23476 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
23477
23478 * config/arm/arm-protos.h (tune_params): Rename fuseable_ops
23479 to fusible_ops.
23480 * config/arm/arm.c (arm_print_tune_info): Likewise.
23481 (arm_macro_fusion_p): Likewise.
23482 (arm_macro_fusion_pair_p): Likewise.
23483
23484 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
23485
23486 * config/aarch64/aarch64-protos.h (tune_params): Rename
23487 fuseable_ops to fusible_ops.
23488 * config/aarch64/aarch64.c (generic_tunings): Rename
23489 fuseable_ops to fusible_ops.
23490 (cortexa53_tunings): Likewise.
23491 (cortexa57_tunings): Likewise.
23492 (thunderx_tunings): Likewise.
23493 (xgene1_tunings): Likewise.
23494 (aarch64_macro_fusion_p): Likewise.
23495 (aarch64_macro_fusion_pair_p): Likewise.
23496
23497 2015-06-01 Dominik Vogt <vogt@linux.vnet.ibm.com>
23498
23499 * config/s390/driver-native.c: New file.
23500 * config/s390/x-native: New file.
23501 * config.host: Add new files for s390.
23502 * config/s390/s390.h (DRIVER_SELF_SPECS): Add support for -mtune=native
23503 and -march=native
23504 * config.gcc: Likewise.
23505 * config/s390/s390.opt (march): Likewise; add PROCESSOR_NATIVE
23506 * config/s390/s390-opts.h (enum processor_type): Ditto.
23507 * config/s390/s390.c (s390_option_override): Catch unhandled
23508 PROCESSOR_NATIVE
23509
23510 2015-06-01 Ilya Enkovich <ilya.enkovich@intel.com>
23511
23512 PR target/65527
23513 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Add
23514 redirection for instrumented calls.
23515 * lto-wrapper.c (merge_and_complain): Merge -fcheck-pointer-bounds.
23516 (append_compiler_options): Append -fcheck-pointer-bounds.
23517 * tree-chkp.h (chkp_copy_call_skip_bounds): New.
23518 (chkp_redirect_edge): New.
23519 * tree-chkp.c (chkp_copy_call_skip_bounds): New.
23520 (chkp_redirect_edge): New.
23521
23522 2015-06-01 Richard Biener <rguenther@suse.de>
23523
23524 PR tree-optimization/66280
23525 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Fix pattern
23526 def-use walking.
23527
23528 2015-06-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
23529
23530 * config/aarch64/aarch64.md
23531 (*<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Change type to
23532 logic_shift_imm.
23533
23534 2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
23535
23536 * config/i386/winnt.c (i386_pe_encode_section_info) <FUNCTION_DECL>:
23537 Remove obsolete kludge.
23538
23539 2015-06-01 Richard Biener <rguenther@suse.de>
23540
23541 * tree-ssa-reassoc.c (get_rank): Simplify.
23542
23543 2015-05-31 H.J. Lu <hongjiu.lu@intel.com>
23544
23545 * configure.ac (NO_PIE_CFLAGS): Check CXXFLAGS instead of CFLAGS.
23546 * configure: Regenerated.
23547
23548 2015-05-31 Mikhail Maltsev <maltsevm@gmail.com>
23549
23550 * config/cris/cris.h (CRIS_ARCH_CPP_DEFAULT): Fix C++11 compatibility
23551 issue (add space between string literal and macro).
23552 * config/i386/mingw32.h (REAL_LIBGCC_SPEC): Likewise.
23553
23554 2015-05-30 Andreas Schwab <schwab@linux-m68k.org>
23555
23556 * config/m68k/m68k.h (ASM_PCREL_SPEC): Pass --pcrel also for
23557 implict or explicit -fPIE or -fpie.
23558
23559 2015-05-30 Mike Frysinger <vapier@gentoo.org>
23560
23561 * config/alpha/elf.h (ASM_SPEC): Add %{mcpu=*:-m%*}.
23562
23563 2015-05-28 DJ Delorie <dj@redhat.com>
23564
23565 * expmed.c (extract_bit_field_1): Avoid clobbering a
23566 yet-to-be-used base/index register.
23567
23568 2015-05-30 Jan Hubicka <hubicka@ucw.cz>
23569
23570 * alias.c (alias_set_entry_d): Add is_pointer and has_pointer.
23571 (alias_stats): Add num_universal.
23572 (alias_set_subset_of): Special case pointers; be ready for NULL
23573 children.
23574 (alias_sets_conflict_p): Special case pointers; be ready for NULL
23575 children.
23576 (init_alias_set_entry): Break out from ...
23577 (record_alias_subset): ... here; propagate new fields;
23578 allocate children only when really needed.
23579 (get_alias_set): Do less generous pointer globbing.
23580 (dump_alias_stats_in_alias_c): Update statistics.
23581
23582 2015-05-30 Alan Modra <amodra@gmail.com>
23583
23584 * config/rs6000/rs6000.c (split_stack_arg_pointer_used_p): Scan
23585 correct block for use of r12.
23586 (rs6000_expand_split_stack_prologue): Error on r29 asm global reg.
23587
23588 2015-05-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
23589
23590 PR target/66215
23591 * config/s390/s390.c (s390_reorg): Fix placement of post-label NOPs
23592 with -mhotpatch=.
23593
23594 2015-05-29 Jakub Jelinek <jakub@redhat.com>
23595
23596 PR tree-optimization/66142
23597 * tree-if-conv.c (if_convertible_phi_p): Don't give up on
23598 virtual phis that feed themselves.
23599
23600 2015-05-29 Richard Biener <rguenther@suse.de>
23601
23602 PR tree-optimization/66314
23603 * tree-ssa-threadupdate.c (create_block_for_threading): Add
23604 parameter that says which loop the new block belongs to.
23605 (ssa_create_duplicates): Blocks duplicated for the threaded
23606 path belong to the loop of the thread destination.
23607
23608 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
23609
23610 * config/arm/neon-testgen.ml (emit_epilogue): Remove manual call
23611 to cleanup-saved-temps.
23612 * doc/sourcebuild.texi (Clean up generated test files): Expand
23613 introduction.
23614 (dg-keep-saved-temps): Document new proc.
23615 (cleanup-ipa-dump, cleanup-rtl-dump, cleanup-tree-dump,
23616 cleanup-saved-temps): Remove.
23617
23618 2015-05-28 Andreas Tobler <andreast@gcc.gnu.org>
23619
23620 * configure.ac: Move the atoll check from AC_CHECK_FUNCS to
23621 gcc_AC_CHECK_DECLS.
23622 * configure: Regenerate.
23623
23624 2015-05-28 Mike Frysinger <vapier@gentoo.org>
23625
23626 * config/nios2/linux.h (CPP_SPEC): Define.
23627
23628 2015-05-28 Mike Frysinger <vapier@gentoo.org>
23629
23630 * config/microblaze/linux.h (CPP_SPEC): Define.
23631
23632 2015-05-28 Mike Frysinger <vapier@gentoo.org>
23633
23634 * config/pa/pa-linux.h (CPP_SPEC): Change so -D_REENTRANT is used when
23635 -pthread is specified.
23636
23637 2015-05-28 Richard Biener <rguenther@suse.de>
23638
23639 * tree-vect-loop.c (vect_fixup_reduc_chain): New function.
23640 (vect_fixup_scalar_cycles_with_patterns): Likewise.
23641 (vect_analyze_loop_2): Call vect_fixup_scalar_cycles_with_patterns
23642 after pattern recog.
23643 (vect_create_epilog_for_reduction): Properly handle reductions
23644 with patterns.
23645 (vectorizable_reduction): Likewise.
23646 * tree-vect-slp.c (vect_analyze_slp_instance): Properly mark
23647 reduction chains.
23648 (vect_get_constant_vectors): Create the correct number of
23649 initial values for reductions.
23650 (vect_schedule_slp_instance): Handle reduction chains that are
23651 type changing properly.
23652 * tree-vect-stmts.c (vect_analyze_stmt): Adjust.
23653
23654 2015-05-28 Richard Biener <rguenther@suse.de>
23655
23656 PR tree-optimization/66142
23657 * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle non-GIMPLE
23658 values better in memcpy destination handling. Handle non-aliasing
23659 we discover here.
23660
23661 2015-05-28 Lawrence Velázquez <vq@larryv.me>
23662
23663 PR target/63810
23664 * config/darwin-c.c (version_components): New global enum.
23665 (parse_version, version_as_legacy_macro)
23666 (version_as_modern_macro, macosx_version_as_macro): New functions.
23667 (version_as_macro): Remove.
23668 (darwin_cpp_builtins): Use new function.
23669
23670 2015-05-28 H.J. Lu <hongjiu.lu@intel.com>
23671
23672 * builtins.c (expand_builtin_acc_on_device): Mark parameters
23673 with ATTRIBUTE_UNUSED.
23674
23675 2015-05-28 Julian Brown <julian@codesourcery.com>
23676
23677 PR libgomp/65742
23678
23679 * builtins.c (expand_builtin_acc_on_device): Don't use open-coded
23680 sequence for !ACCEL_COMPILER.
23681
23682 2015-05-28 Nick Clifton <nickc@redhat.com>
23683
23684 * config/rx/rx.c (push_regs): New function. Extracts code from...
23685 (rx_expand_prologue): ... here. Use push_regs to push even small
23686 spans of registers.
23687 (pop_regs): New function.
23688 (rx_expand_epilogue): Use pop_regs to pop even small spans of
23689 registers.
23690
23691 2015-05-28 Richard Biener <rguenther@suse.de>
23692
23693 * tree-vectorizer.h (struct _slp_instance): Remove body_cost_vec
23694 member.
23695 (SLP_INSTANCE_BODY_COST_VEC): Remove.
23696 (vect_update_slp_costs_according_to_vf): Likewise.
23697 (vect_slp_analyze_operations): Update prototype.
23698 * tree-vect-loop.c (vect_analyze_loop_2): Remove call to
23699 vect_update_slp_costs_according_to_vf, adjust.
23700 * tree-vect-slp.c (vect_free_slp_instance): Adjust.
23701 (vect_analyze_slp_cost_1): Likewise.
23702 (vect_analyze_slp_cost): Likewise. Properly deal with
23703 widening reduction ops. Commit body costs.
23704 (vect_analyze_slp_instance): Adjust. Do not analyze SLP
23705 cost for loops from here.
23706 (vect_slp_analyze_operations): But do it from here when
23707 the vectorization factor is known and stmts are analyzed.
23708 (vect_bb_vectorization_profitable_p): Simplify.
23709 (vect_slp_analyze_bb_1): Do not compute SLP cost here.
23710 (vect_update_slp_costs_according_to_vf): Remove.
23711
23712 2015-05-27 Magnus Granberg <zorry@gentoo.org>
23713 H.J. Lu <hongjiu.lu@intel.com>
23714
23715 * Makefile.in (COMPILER): Add @NO_PIE_CFLAGS@.
23716 (BUILD_CFLAGS): Likewise.
23717 (BUILD_CXXFLAGS): Likewise.
23718 (LINKER): Add @NO_PIE_FLAG@.
23719 (BUILD_LDFLAGS): Likewise.
23720 (libgcc.mvars): Set NO_PIE_CFLAGS to -fno-PIE for
23721 --enable-default-pie.
23722 * common.opt (fPIE): Initialize to -1.
23723 (fpie): Likewise.
23724 (no-pie): New option.
23725 (pie): Replace "Negative(shared)" with "Negative(no-pie)".
23726 * configure.ac: Add --enable-default-pie.
23727 (NO_PIE_CFLAGS): New. Check if -fno-PIE works. AC_SUBST.
23728 (NO_PIE_FLAG): New. Check if -no-pie works. AC_SUBST.
23729 * defaults.h (DEFAULT_FLAG_PIE): New. Default PIE to -fPIE.
23730 * gcc.c (NO_PIE_SPEC): New.
23731 (PIE_SPEC): Likewise.
23732 (NO_FPIE1_SPEC): Likewise.
23733 (FPIE1_SPEC): Likewise.
23734 (NO_FPIE2_SPEC): Likewise.
23735 (FPIE2_SPEC): Likewise.
23736 (NO_FPIE2_SPEC): Likewise.
23737 (FPIE_SPEC): Likewise.
23738 (NO_FPIE_SPEC): Likewise.
23739 (NO_FPIC1_SPEC): Likewise.
23740 (FPIC1_SPEC): Likewise.
23741 (NO_FPIC2_SPEC): Likewise.
23742 (FPIC2_SPEC): Likewise.
23743 (NO_FPIC2_SPEC): Likewise.
23744 (FPIC_SPEC): Likewise.
23745 (NO_FPIC_SPEC): Likewise.
23746 (NO_FPIE1_AND_FPIC1_SPEC): Likewise.
23747 (FPIE1_OR_FPIC1_SPEC): Likewise.
23748 (NO_FPIE2_AND_FPIC2_SPEC): Likewise.
23749 (FPIE2_OR_FPIC2_SPEC): Likewise.
23750 (NO_FPIE_AND_FPIC_SPEC): Likewise.
23751 (FPIE_OR_FPIC_SPEC): Likewise.
23752 (LD_PIE_SPEC): Likewise.
23753 (LINK_PIE_SPEC): Handle -no-pie. Use PIE_SPEC and LD_PIE_SPEC.
23754 * opts.c (finish_options): Update opts->x_flag_pie if it is -1.
23755 * config/darwin.h (PIE_SPEC): Renamed to ...
23756 (DARWIN_PIE_SPEC): This.
23757 (LINK_SPEC): Replace PIE_SPEC with DARWIN_PIE_SPEC.
23758 * config/darwin9.h (PIE_SPEC): Renamed to ...
23759 (DARWIN_PIE_SPEC): This.
23760 * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Use
23761 PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
23762 * config/openbsd.h (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and
23763 FPIE2_OR_FPIC2_SPEC.
23764 * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
23765 * config/m68k/openbsd.h (ASM_SPEC): Likewise.
23766 * config/sol2.h (ASM_PIC_SPEC): Likewise.
23767 * config/arm/freebsd.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
23768 * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
23769 * config/arm/semi.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
23770 * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
23771 * config/m32r/m32r.h (ASM_SPEC): Likewise.
23772 * config/m68k/uclinux.h (DRIVER_SELF_SPECS): Likewise.
23773 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
23774 * config/rs6000/sysv4.h (ASM_SPEC): Likewise.
23775 * config/sparc/freebsd.h (ASM_SPEC): Likewise.
23776 * config/sparc/linux.h (ASM_SPEC): Likewise.
23777 * config/sparc/linux64.h (ASM_SPEC): Likewise.
23778 * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
23779 * config/sparc/openbsd64.h (ASM_SPEC): Likewise.
23780 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
23781 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
23782 * config/sparc/sparc.h (ASM_SPEC): Likewise.
23783 * config/sparc/sysv4.h (ASM_SPEC): Likewise.
23784 * config/sparc/vxworks.h (ASM_SPEC): Likewise.
23785 * config/c6x/elf-common.h (ASM_SPEC): Use NO_FPIC2_SPEC,
23786 FPIC2_SPEC, FPIC1_SPEC and FPIC2_SPEC.
23787 * config/c6x/uclinux-elf.h (LINK_SPEC): Use FPIE_SPEC.
23788 * config/frv/frv.h (DRIVER_SELF_SPECS): Use FPIC_SPEC,
23789 NO_FPIC_SPEC and NO_FPIE1_AND_FPIC1_SPEC.
23790 (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and FPIE2_OR_FPIC2_SPEC.
23791 * config/m68k/m68k.h (ASM_PCREL_SPEC): Use FPIC_SPEC and NO_FPIC_SPEC.
23792 * config/mips/gnu-user.h (NO_SHARED_SPECS): Use NO_FPIE_AND_FPIC_SPEC.
23793 * config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Use FPIC_SPEC.
23794 * config/rs6000/freebsd64.h (ASM_SPEC32): Likewise.
23795 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
23796 * config/vax/linux.h (ASM_SPEC): Likewise.
23797 * doc/install.texi: Document --enable-default-pie.
23798 * doc/invoke.texi: Document -no-pie.
23799 * config.in: Regenerated.
23800 * configure: Likewise.
23801
23802 2015-05-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
23803
23804 PR rtl-optimization/66168
23805 * loop-invariant.c (move_invariant_reg): Pass dest rather than reg to
23806 can_move_invariant_reg.
23807
23808 2015-05-27 John David Anglin <danglin@gcc.gnu.org>
23809
23810 PR target/66148
23811 * config/pa/pa.c (pa_emit_move_sequence): Correct placement of
23812 REG_EQUAL note when doing insert.
23813
23814 * config/pa/pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC
23815 instead of "%d" for 'o' operand.
23816
23817 2015-05-27 Nathan Sidwell <nathan@acm.org>
23818
23819 PR c++/66270
23820 * tree.c (build_pointer_type_for_mode): Canonical type does not
23821 inherit can_alias_all.
23822 (build_reference_type_for_mode): Likewise.
23823
23824 2015-05-27 Eric Botcazou <ebotcazou@adacore.com>
23825
23826 * expr.h (array_at_struct_end_p): Move to...
23827 (array_ref_element_size): Likewise.
23828 (component_ref_field_offset): Likewise.
23829 * tree.h (array_ref_element_size): ...here.
23830 (array_at_struct_end_p): Likewise.
23831 (component_ref_field_offset): Likewise.
23832 * expr.c (array_ref_element_size): Move to...
23833 (array_ref_low_bound): Likewise.
23834 (array_at_struct_end_p): Likewise.
23835 (array_ref_up_bound): Likewise.
23836 (component_ref_field_offset): Likewise.
23837 * tree.c (array_ref_element_size): ...here.
23838 (array_ref_low_bound): Likewise.
23839 (array_ref_up_bound): Likewise.
23840 (array_at_struct_end_p): Likewise.
23841 (component_ref_field_offset): Likewise.
23842
23843 2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
23844 Szabolcs Nagy <szabolcs.nagy@arm.com>
23845
23846 * config/aarch64/aarch64-linux.h (MUSL_DYNAMIC_LINKER): Define.
23847
23848 2015-05-27 Jason Merrill <jason@redhat.com>
23849
23850 PR bootstrap/66304
23851 * configure.ac: Use ACX_PROG_CXX_WARNING_OPTS,
23852 ACX_PROG_CXX_WARNING_ALMOST_PEDANTIC, and
23853 ACX_PROG_CXX_WARNINGS_ARE_ERRORS.
23854
23855 2015-05-22 Aditya Kumar <hiraditya@msn.com>
23856
23857 * auto-profile.c (afdo_calculate_branch_prob): Break once has_sample
23858 is true.
23859
23860 * statistics.c (statistics_fini_pass): Print pass name.
23861
23862 2015-05-27 Richard Biener <rguenther@suse.de>
23863
23864 PR tree-optimization/66272
23865 Revert parts of
23866 2014-08-15 Richard Biener <rguenther@suse.de>
23867
23868 PR tree-optimization/62031
23869 * tree-data-ref.c (dr_analyze_indices): Do not set
23870 DR_UNCONSTRAINED_BASE.
23871 (dr_may_alias_p): All indirect accesses have to go the
23872 formerly DR_UNCONSTRAINED_BASE path.
23873 * tree-data-ref.h (struct indices): Remove
23874 unconstrained_base member.
23875 (DR_UNCONSTRAINED_BASE): Remove.
23876
23877 2015-05-27 Aldy Hernandez <aldyh@redhat.com>
23878
23879 * dwarf2out.c: Remove block_map.
23880 (gen_call_site_die): Replace block_map use with BLOCK_DIE.
23881 (gen_lexical_block_die): Same.
23882 (dwarf2out_function_decl): Remove block_map use.
23883 (dwarf2out_c_finalize): Same.
23884 * tree-core.h (struct tree_block): Add die field.
23885 * tree.h (BLOCK_DIE): New.
23886
23887 2015-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
23888
23889 PR target/65358
23890 * expr.c (memory_load_overlap): New function.
23891 (emit_push_insn): When pushing partial args to the stack would
23892 clobber the register part load the overlapping part into a pseudo
23893 and put it into the hard reg after pushing. Change return type
23894 to bool. Add bool argument.
23895 * expr.h (emit_push_insn): Change return type to bool.
23896 Add bool argument.
23897 * calls.c (expand_call): Cancel sibcall optimization when encountering
23898 partial argument on targets with ARGS_GROW_DOWNWARD and
23899 !STACK_GROWS_DOWNWARD.
23900 (emit_library_call_value_1): Update callsite of emit_push_insn.
23901 (store_one_arg): Likewise.
23902
23903 2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
23904
23905 * config/arm/linux-eabi.h (MUSL_DYNAMIC_LINKER): Define.
23906
23907 2015-05-27 Martin Liska <mliska@suse.cz>
23908
23909 * Makefile.in: Add additional dependencies related to memory report
23910 enhancement.
23911 * alloc-pool.c (allocate_pool_descriptor): Use new ctor.
23912 * bitmap.c (struct bitmap_descriptor_d): Remove.
23913 (struct loc): Likewise.
23914 (struct bitmap_desc_hasher): Likewise.
23915 (bitmap_desc_hasher::hash): Likewise.
23916 (bitmap_desc_hasher::equal): Likewise.
23917 (get_bitmap_descriptor): Likewise.
23918 (bitmap_register): User new memory descriptor API.
23919 (register_overhead): Likewise.
23920 (bitmap_find_bit): Register nsearches and search_iter statistics.
23921 (struct bitmap_output_info): Remove.
23922 (print_statistics): Likewise.
23923 (dump_bitmap_statistics): Use new memory descriptor.
23924 * bitmap.h (struct bitmap_usage): New class.
23925 * genmatch.c: Extend header file inclusion.
23926 * genpreds.c: Likewise.
23927 * ggc-common.c (struct ggc_usage): New class.
23928 (struct ggc_loc_desc_hasher): Remove.
23929 (ggc_loc_desc_hasher::hash): Likewise.
23930 (ggc_loc_desc_hasher::equal): Likewise.
23931 (struct ggc_ptr_hash_entry): Likewise.
23932 (struct ptr_hash_hasher): Likewise.
23933 (ptr_hash_hasher::hash): Likewise.
23934 (ptr_hash_hasher::equal): Likewise.
23935 (make_loc_descriptor): Likewise.
23936 (ggc_prune_ptr): Likewise.
23937 (dump_ggc_loc_statistics): Use new memory descriptor.
23938 (ggc_record_overhead): Likewise.
23939 (ggc_free_overhead): Likewise.
23940 (final_cmp_statistic): Remove.
23941 (cmp_statistic): Likewise.
23942 (ggc_add_statistics): Liekwise.
23943 (ggc_prune_overhead_list): Likewise.
23944 * hash-map-traits.h: New file.
23945 * hash-map.h (struct default_hashmap_traits): Move the traits to a
23946 separate header file.
23947 * hash-set.h: Pass memory statistics info to ctor.
23948 * hash-table.c (void dump_hash_table_loc_statistics): New function.
23949 * hash-table.h (hash_table::hash_table): Add new ctor arguments.
23950 (hash_table::~hash_table): Register memory release operation.
23951 (hash_table::alloc_entries): Handle memory allocation operation.
23952 (hash_table::expand): Likewise.
23953 * inchash.c (iterative_hash_hashval_t): Move implementation to header
23954 file.
23955 (iterative_hash_host_wide_int): Likewise.
23956 * inchash.h (class hash): Likewise.
23957 * mem-stats-traits.h: New file.
23958 * mem-stats.h: New file.
23959 (mem_location): Add new class.
23960 (mem_usage): Likewise.
23961 (mem_alloc_description): Likewise.
23962 * sese.c: Add new header file inclusision.
23963 * toplev.c (dump_memory_report): Add report for hash_table, hash_map
23964 and hash_set.
23965 * tree-sra.c: Add new header file inclusision.
23966 * vec.c (struct vec_descriptor): Remove.
23967 (hash_descriptor): Likewise.
23968 (struct vec_usage): Likewise.
23969 (struct ptr_hash_entry): Likewise.
23970 (hash_ptr): Likewise.
23971 (eq_ptr): Likewise.
23972 (vec_prefix::register_overhead): Use new memory descriptor API.
23973 (vec_prefix::release_overhead): Likewise.
23974 (add_statistics): Remove.
23975 (dump_vec_loc_statistics): Use new memory descriptor API.
23976 * vec.h (struct vec_prefix): Likewise.
23977 (va_heap::reserve): Likewise.
23978 (va_heap::release): Likewise.
23979 * emit-rtl.c (gen_raw_REG): Fix passing MEM_STAT.
23980
23981 2015-05-27 Richard Biener <rguenther@suse.de>
23982
23983 * tree-vect-stmts.c (vectorizable_load): Initialize slp_perm
23984 earlier and remove ??? comment.
23985 (vect_analyze_stmt): If we are analyzing a pure SLP stmt
23986 and got called from loop analysis bail out. Always pass the SLP
23987 node to the vectorizable_* functions.
23988 * tree-vect-loop.c (vect_analyze_loop_operations): Remove
23989 the premature SLP check here.
23990 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Dump hybrid
23991 detected SLP stmts.
23992 (vect_detect_hybrid_slp_1): Likewise.
23993
23994 2015-05-26 Jeff Law <law@redhat.com>
23995
23996 * combine.c (find_split_point): Verify that the shift count is a
23997 constant when choosing (plus (ashift ...)) as a split point.
23998
23999 * tree-ssa-threadupdate.c: Replace 8 space sequences with tabs.
24000 No functional changes.
24001
24002 2015-05-26 Jan Hubicka <hubicka@ucw.cz>
24003
24004 * ipa-polymorphic-call.c
24005 (ipa_polymorphic_call_context::get_dynamic_type): Short circuit the
24006 case when call target is already known.
24007
24008 2015-05-26 Oleg Endo <olegendo@gcc.gnu.org>
24009
24010 PR target/65979
24011 * config/sh/sh.md (tstsi_t peephole2): Use gen_rtx_SET and
24012 take into account the case that operands[1] and operands[2]
24013 are the same register.
24014
24015 2015-05-26 Michael Matz <matz@suse.de>
24016
24017 PR middle-end/66251
24018
24019 * tree-vect-stmts.c (vect_model_store_cost): Handled strided group
24020 stores.
24021 (vect_create_vectorized_demotion_stmts): Always set
24022 STMT_VINFO_VEC_STMT, also with SLP.
24023 (vectorizable_store): Handle strided group stores.
24024
24025 2015-05-26 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
24026
24027 PR target/66049
24028 * config/aarch64/aarch64.md
24029 (*adds_shift_imm_<mode>): New pattern.
24030 (*subs_shift_imm_<mode>): Likewise.
24031 (*adds_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
24032 (*subs_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
24033 (*add_uxt<mode>_shift2): Likewise.
24034 (*add_uxtsi_shift2_uxtw): Likewise.
24035 (*sub_uxt<mode>_shift2): Likewise.
24036 (*sub_uxtsi_shift2_uxtw): Likewise.
24037
24038 2015-05-26 David Edelsohn <dje.gcc@gmail.com>
24039
24040 * config/rs6000/constraints.md (Y, U): Use match_test.
24041
24042 2015-05-26 Christian Bruel <christian.bruel@st.com>
24043
24044 PR target/52144
24045 * config/arm/arm.c (arm_option_check_internal)
24046 (arm_option_params_internal): Check opts->target_flags to set macros.
24047 (TREE_TARGET_ARM, TREE_TARGET_THUMB)
24048 (TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Replace with...
24049 (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
24050 (builtin_define): Replaced with def_or_undef_macro.
24051 * config/arm/arm.h (TREE_TARGET_ARM, TREE_TARGET_THUMB)
24052 TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Redefine with...
24053 (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
24054 (TARGET_32BIT_P, TARGET_ARM_QBIT_P, TARGET_ARM_SAT_P, TARGET_IDIV_P)
24055 (TARGET_HAVE_LDREX_P, TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P)
24056 (TARGET_ARM_FEATURE_LDREX_P)
24057 (TARGET_DSP_MULTIPLY_P, TARGET_INT_SIMD_P): New macros.
24058 * config/arm/arm-c.c (def_or_undef_macro): New function.
24059 (arm_cpu_cpp_builtins): Use def_or_undef_macro for macros definition.
24060
24061 2015-05-26 Christian Bruel <christian.bruel@st.com>
24062
24063 * c-common.h (builtin_define_with_int_value)
24064 (builtin_define_type_sizeof): Declare.
24065 * c-cppbuiltin.c (builtin_define_with_int_value)
24066 (builtin_define_type_sizeof): Externalize.
24067 (builtin_define_std): Cleanup declaration.
24068 * config/arm/arm-protos.h (arm_cpu_cpp_builtins): Declare.
24069 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Move macro defines into...
24070 * config/arm/arm-c.c (arm_cpu_cpp_builtins): New function.
24071 (builtin_define, builtin_assert): New macros.
24072
24073 2015-05-26 Richard Biener <rguenther@suse.de>
24074
24075 PR tree-optimization/66142
24076 * tree-ssa-sccvn.c (vn_reference_lookup_3): Manually compare
24077 MEM_REFs for the same base address.
24078
24079 2015-05-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
24080
24081 PR ipa/66181
24082 * tree.c (verify_type_variant): Do not check TYPE_NO_FORCE_BLK.
24083
24084 2015-05-26 Jason Merrill <jason@redhat.com>
24085
24086 * configure.ac: Set CXXFLAGS for ISL test.
24087 * configure: Regenerate.
24088
24089 * configure.ac: Use C++ for all tests. Use AC_CHECK_DECLS for
24090 strstr and basename.
24091 * configure: Regenerate.
24092
24093 2015-05-26 Richard Biener <rguenther@suse.de>
24094
24095 * fold-const.c (fold_binary_loc): Move X % -Y -> X % Y and
24096 X % C -> X & (C - 1) for C being a power-of two to ...
24097 * match.pd: ... patterns.
24098
24099 2015-05-26 Marc Glisse <marc.glisse@inria.fr>
24100
24101 * match.pd (swapped_tcc_comparison): New operator list.
24102 (-A CMP -B): New simplification.
24103 * fold-const.c (fold_comparison): Remove corresponding code.
24104
24105 2015-05-26 Richard Sandiford <richard.sandiford@arm.com>
24106
24107 * caller-save.c (init_caller_save): Base temporary register numbers
24108 on LAST_VIRTUAL_REGISTER + 1 rather than FIRST_PSEUDO_REGISTER.
24109 * cfgloopanal.c (init_set_costs): Likewise.
24110 * dojump.c (prefer_and_bit_test): Likewise.
24111 * expr.c (init_expr_target): Likewise.
24112 * ira.c (setup_prohibited_mode_move_regs): Likewise.
24113 * lower-subreg.c (init_lower_subreg): Likewise.
24114 * postreload.c (reload_cse_regs_1): Likewise.
24115
24116 2015-05-26 Richard Sandiford <richard.sandiford@arm.com>
24117
24118 * gensupport.h (compute_test_codes): Declare.
24119 * gensupport.c (compute_predicate_codes): Rename to...
24120 (compute_test_codes): ...this. Generalize error message.
24121 (process_define_predicate): Update accordingly.
24122 * genpreds.c (compute_maybe_allows): Delete.
24123 (add_constraint): Use compute_test_codes to determine whether
24124 something can accept a SUBREG, REG or MEM.
24125
24126 2015-05-26 Torvald Riegel <triegel@redhat.com>
24127
24128 * doc/extend.texi (__atomic Builtins): Use 'memory order' instead of
24129 'memory model' to align with C++11; fix description of memory orders;
24130 fix a few typos.
24131
24132 2015-05-26 Richard Biener <rguenther@suse.de>
24133
24134 * tree-vect-loop.c (vect_update_vf_for_slp): Split out from ...
24135 (vect_analyze_loop_operations): ... here. Remove slp parameter,
24136 detect whether we apply SLP. Remove call to
24137 vect_update_slp_costs_according_to_vf.
24138 (vect_analyze_loop_2): Call vect_update_vf_for_slp and
24139 vect_update_slp_costs_according_to_vf from here. Dispatch
24140 to vect_slp_analyze_operations to analyze SLP stmts.
24141 * tree-vect-slp.c (vect_slp_analyze_node_operations): Drop
24142 unused bb_vec_info parameter, adjust assert.
24143 (vect_slp_analyze_operations): Pass in the slp instance tree
24144 instead of bb_vec_info.
24145 (vect_slp_analyze_bb_1): Adjust call to vect_slp_analyze_operations.
24146 * tree-vectorizer.h (vect_slp_analyze_operations): Declare.
24147
24148 2015-05-25 Alexander Monakov <amonakov@ispras.ru>
24149
24150 * config/i386/i386.h (enum reg_class): Move CLOBBERED_REGS prior to
24151 Q_REGS. Expand comment.
24152 (REG_CLASS_NAMES): Ditto.
24153 (REG_CLASS_CONTENTS): Ditto.
24154
24155 2015-05-25 Uros Bizjak <ubizjak@gmail.com>
24156
24157 PR target/66274
24158 * config/i386/i386.c (print_reg): Only print "r" for TARGET_64BIT
24159 when LEGACY_INT_REGNO_P is processed.
24160
24161 2015-05-25 Alexander Monakov <amonakov@ispras.ru>
24162
24163 * config/i386/i386.c (ix86_function_ok_for_sibcall): Check flag_plt.
24164
24165 2015-05-25 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
24166
24167 * config/avr/avr.c (avr_out_load_psi_reg_no_disp_tiny): Restore base
24168 register if not marked dead/unused, before return.
24169
24170 2015-05-24 Jan Hubicka <hubicka@ucw.cz>
24171
24172 PR lto/66180
24173 * ipa-devirt.c (type_with_linkage): Check that TYPE_STUB_DECL
24174 is set; check for assembler name at LTO time.
24175 (type_in_anonymous_namespace): Remove hacks, check that all
24176 anonymous types are called "<anon>"
24177 (odr_type_p): Simplify; add check for "<anon>"
24178 (odr_subtypes_equivalent): Add odr_type_p check.
24179 * tree.c (need_assembler_name_p): Even anonymous namespace needs
24180 assembler name.
24181
24182 2015-05-24 Jan Hubicka <hubicka@ucw.cz>
24183
24184 * ipa-utils.h (method_class_type): Remove.
24185 * cgraphunit.c (walk_polymorphic_call_targets): Use
24186 TYPE_METHOD_BASETYPE.
24187 * ipa-devirt.c (type_in_anonymous_namespace_p): Check that it is called
24188 on main variants only.
24189 (method_class_type): Remove.
24190 (update_type_inheritance_graph): Use TYPE_METHOD_BASETYPE.
24191 (build_type_inheritance_graph): Likewise.
24192 * ipa-icf.c (sem_function::equals_wpa): Likewise.
24193 * pa-polymorphic-call.c (decl_maybe_in_construction_p,
24194 check_stmt_for_type_change): Use TYPE_METHOD_BASETYPE.
24195
24196 2015-05-24 Jan Hubicka <hubicka@ucw.cz>
24197
24198 * tree.c (prototype_p, virtual_method_call_p, obj_type_ref_class,
24199 is_typedef_decl, typedef_variant_p): Constify.
24200 * tree.h (prototype_p, virtual_method_call_p, obj_type_ref_class,
24201 is_typedef_decl, typedef_variant_p): Constify.
24202
24203 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
24204
24205 * defaults.h (gen_tablejump): New function.
24206 (HAVE_tablejump): Add default value.
24207 * expr.c: Adjust.
24208 * stmt.c: Likewise.
24209
24210 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
24211
24212 * defaults.h (gen_store_multiple): New function.
24213 (HAVE_store_multiple): Add default value.
24214 * expr.c (move_block_from_reg): Adjust.
24215
24216 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
24217
24218 * defaults.h (gen_load_multiple): New function.
24219 (HAVE_load_multiple): Add default value.
24220 * expr.c (move_block_to_reg): Adjust.
24221
24222 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
24223
24224 * defaults.h (gen_mem_signal_fence): New function.
24225 (HAVE_mem_signal_fence): Add default value.
24226 * optabs.c: Adjust.
24227
24228 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
24229
24230 * defaults.h (gen_memory_barrier): New function.
24231 (HAVE_memory_barrier): Add default value.
24232 * optabs.c: Adjust.
24233
24234 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
24235
24236 * defaults.h (gen_mem_thread_fence): New function.
24237 (HAVE_mem_thread_fence): Add default definition.
24238 * optabs.c: Adjust.
24239
24240 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
24241
24242 * combine.c (find_split_point): Check the value of HAVE_lo_sum
24243 instead of if it is defined.
24244 (combine_simplify_rtx): Likewise.
24245 * lra-constraints.c (process_address_1): Likewise.
24246 * config/darwin.c: Adjust.
24247 * genconfig.c (main): Always define HAVE_lo_sum.
24248
24249 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
24250
24251 * genmatch.c (parser::parse_operation): Reject expanding
24252 operator-list inside 'for'.
24253
24254 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
24255
24256 * genmatch.c (parser::parse_for): Reject iterator if used as
24257 operator-list.
24258
24259 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
24260
24261 * genmatch.c (parser::parse_operator_list): Check for CPP_CLOSE_PAREN
24262 after end of id-list.
24263
24264 2015-05-22 Jan Hubicka <hubicka@ucw.cz>
24265
24266 * tree.c (gimple_canonical_types_compatible_p): Sanity check that
24267 we do not try to compute canonical type for type that does not need
24268 alias set.
24269 (verify_type): Drop FIXME for METHOD_TYPE, update FIXME for
24270 FUNCITON_TYPE.
24271 * tree.h (type_with_alias_set_p): New.
24272
24273 2015-05-22 Jan Hubicka <hubicka@ucw.cz>
24274
24275 * tree.c (gimple_canonical_types_compatible_p): Do not compare
24276 function attributes.
24277 (verify_type): Remove METHOD_TYPE FIXME; update FUNCTION_TYPE.
24278
24279 2015-05-22 Jim Wilson <jim.wilson@linaro.org>
24280
24281 * Makefile.in (check_gcc_parallelize): Delete.
24282 (lang_checks_parallelized): Update comment.
24283
24284 2015-05-22 Mikhail Maltsev <maltsevm@gmail.com>
24285
24286 PR rtl-optimization/66237
24287 * bb-reorder.c (fix_crossing_conditional_branches): Fix wrong
24288 location of an "as_a" cast.
24289
24290 2015-05-22 Jeff Law <law@redhat.com>
24291
24292 * config/pa/pa.md (non-canonical shift-add insns): Remove.
24293 (peepholes with non-canonical RTL sources): Remove.
24294 (peepholes for indexed stores of FP regs in integer modes): Match and
24295 generate canonical RTL.
24296
24297 2015-05-22 Marc Glisse <marc.glisse@inria.fr>
24298
24299 PR tree-optimization/63387
24300 * match.pd ((X /[ex] A) * A -> X): Remove unnecessary condition.
24301 ((x ord x) & (y ord y) -> (x ord y),
24302 (x ord x) & (x ord y) -> (x ord y)): New simplifications.
24303 * fold-const.c (tree_unary_nonnegative_warnv_p) <ABS_EXPR>: Handle
24304 vectors like scalars.
24305
24306 2015-05-22 Marc Glisse <marc.glisse@inria.fr>
24307
24308 * convert.c (convert_to_integer, convert_to_vector): Include the
24309 types in the error message.
24310
24311 2015-05-22 Marc Glisse <marc.glisse@inria.fr>
24312
24313 * match.pd ((x | y) & ~x -> y & ~x, (x & y) | ~x -> y | ~x): New
24314 simplifications.
24315
24316 2015-05-22 Jeff Law <law@redhat.com>
24317
24318 * config/pa/pa.md (integer_indexed_store splitters): Use
24319 mem_shadd_operand. Use ASHIFT rather than MULT in the resulting
24320 insns -- adjusting the constant 2nd operand accordingly.
24321
24322 * combine.c (try_combine): Canonicalize (plus (mult X pow2) Y) into
24323 (plus (ashift X log2) Y) if it is a split point.
24324
24325 * config/pa/pa.c (mem_shadd_or_shadd_rtx_p): New function factoredx
24326 out of hppa_legitimize_address to handle both forms of a multiply
24327 by 2, 4 or 8.
24328 (hppa_legitimize_address): Use mem_shadd_or_shadd_rtx_p.
24329 Always generate the ASHIFT variant as the result is not directly
24330 used in a MEM. Update comments and refactor slightly to improve
24331 readability.
24332
24333 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
24334
24335 PR target/65491
24336 * config/aarch64/aarch64.c (aarch64_short_vector_p): Move above
24337 aarch64_composite_type_p. Remove check for aarch64_composite_type_p.
24338 (aarch64_composite_type_p): Return false if given type and mode are
24339 for a short vector.
24340
24341 2015-05-22 Richard Biener <rguenther@suse.de>
24342
24343 * tree-vectorizer.h (struct _slp_oprnd_info): Add second_pattern
24344 member.
24345 * tree-vect-loop.c (vect_analyze_loop_operations): Look at
24346 patterns when determining whether SLP is pure.
24347 (vect_is_slp_reduction): Remove check for pattern stmts.
24348 (vect_is_simple_reduction_1): Remove dead code.
24349 * tree-vect-slp.c (vect_create_oprnd_info): Initialize second_pattern.
24350 (vect_get_and_check_slp_defs): Pass in the stmt number.
24351 Allow the first def in a reduction to be not a pattern stmt when
24352 the rest of the stmts def are patterns.
24353 (vect_build_slp_tree_1): Allow tcc_expression codes like
24354 SAD_EXPR and DOT_PROD_EXPR.
24355 (vect_build_slp_tree): Adjust.
24356 (vect_analyze_slp): Refactor and move BB vect error message ...
24357 (vect_slp_analyze_bb_1): ... here.
24358
24359 2015-05-22 Aldy Hernandez <aldyh@redhat.com>
24360
24361 * tree-switch-conversion.c (build_one_array): Set DECL_IGNORED_P
24362 for CSWTCH temporary.
24363
24364 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
24365
24366 * config/arm/arm.c (arm_new_rtx_costs): Handle UNSPEC_VOLATILE.
24367 (arm_unspec_cost): Allow UNSPEC_VOLATILE. Do not recurse inside
24368 unknown unspecs.
24369
24370 2015-05-22 Richard Biener <rguenther@suse.de>
24371
24372 PR tree-optimization/66251
24373 * tree-vect-stmts.c (vectorizable_conversion): Properly
24374 set STMT_VINFO_VEC_STMT even for the SLP case.
24375
24376 2015-05-22 Marek Polacek <polacek@redhat.com>
24377
24378 * doc/extend.texi: Use @pxref instead of @xref.
24379
24380 2015-05-22 hiraditya <hiraditya@msn.com>
24381
24382 * gimple.h (gimple_expr_type): Refactor to make it concise. Remove
24383 redundant if.
24384
24385 2015-05-22 Richard Biener <rguenther@suse.de>
24386
24387 PR tree-optimization/65701
24388 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
24389 Move peeling cost models into one place. Peel for alignment
24390 for single loads only if an aligned load is cheaper than
24391 an unaligned load.
24392
24393 2015-05-22 Marek Polacek <polacek@redhat.com>
24394
24395 PR c/47043
24396 * doc/extend.texi (Enumerator Attributes): New section.
24397 Document syntax of enumerator attributes.
24398
24399 2015-05-22 Richard Biener <rguenther@suse.de>
24400
24401 * tree-vect-loop.c (get_reduction_op): New function.
24402 (vect_model_reduction_cost): Use it, add reduc_index parameter.
24403 Make ready for BB reductions.
24404 (vect_create_epilog_for_reduction): Use get_reduction_op.
24405 (vectorizable_reduction): Init reduc_index to a valid value.
24406 Adjust vect_model_reduction_cost call.
24407 * tree-vect-slp.c (vect_get_constant_vectors): Use the proper
24408 operand for reduction defaults. Add SAD_EXPR support.
24409 Assert we have a neutral op for SLP reductions.
24410 * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): When
24411 walking pattern stmt ops only recurse to SSA names.
24412
24413 2015-05-22 Richard Biener <rguenther@suse.de>
24414
24415 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Replace
24416 assert with guard, remove check on detected reduction.
24417 (vect_recog_sad_pattern): Likewise.
24418 (vect_recog_widen_sum_pattern): Likewise.
24419
24420 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
24421
24422 * config/aarch64/arm_neon.h (vaeseq_u8): Add __extension__ and
24423 __always_inline__ attribute.
24424 (vaesdq_u8): Likewise.
24425 (vaesmcq_u8): Likewise.
24426 (vaesimcq_u8): Likewise.
24427 (vsha1cq_u32): Likewise.
24428 (vsha1mq_u32): Likewise.
24429 (vsha1pq_u32): Likewise.
24430 (vsha1h_u32): Likewise.
24431 (vsha1su0q_u32): Likewise.
24432 (vsha1su1q_u32): Likewise.
24433 (vsha256hq_u32): Likewise.
24434 (vsha256h2q_u32): Likewise.
24435 (vsha256su0q_u32): Likewise.
24436 (vsha256su1q_u32): Likewise.
24437 (vmull_p64): Likewise.
24438 (vmull_high_p64): Likewise.
24439
24440 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
24441
24442 * final.c (final_scan_insn): Don't check HAVE_peephole with the
24443 preprocessor.
24444 * output.h: Likewise.
24445 * genconfig.c (main): Alwways define HAVE_peephole.
24446 * genpeep.c: Don't emit checks of HAVE_peephole.
24447
24448 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
24449
24450 * combine.c, expmed.c, expr.c, optabs.c optabs.h, toplev.c: DOn't
24451 check HAVE_conditional_move with the preprocessor.
24452
24453 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
24454
24455 * genconfig.c (main): Always define HAVE_conditional_move.
24456 * combine.c, expmed.c, expr.c, ifcvt.c, optabs.c, optabs.h,
24457 toplev.c, tree-ssa-phiopt.c: Don't check if HAVE_conditional_move
24458 is defined.
24459
24460 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
24461
24462 * combine.c, df-problems.c, df-scan.c, emit-rtl.c, reginfo.c,
24463 reload.c, rtlanal.c: Remove comparison of ARG_FRAME_POINTER_REGNUM
24464 and FRAME_POINTER_REGNUM with the preprocessor.
24465
24466 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
24467
24468 * defaults.h: Add default for STACK_PUSH_CODE.
24469 * expr.c: Don't redefine STACK_PUSH_CODE.
24470 * recog.c: Likewise.
24471
24472 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
24473
24474 * builtins.c, dwarf2cfi.c, explow.c, expr.c, recog.c,
24475 sched-deps.c: Use if instead of preprocessor checks with
24476 STACK_GROWS_DOWNWARD.
24477
24478 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
24479
24480 * *.c: Check the value of STACK_GROWS_DOWNWARD rather than if it
24481 is defined.
24482 * config/**/*.h: Define STACK_GROWS_DOWNWARD to an integer.
24483 * defaults.h: Provide default for STACK_GROWS_DOWNWARD.
24484 * doc/tm.texi.in: Update references to STACK_GROWS_DOWNWARD.
24485 * doc/tm.texi: Regenerate.
24486
24487 2015-05-21 H.J. Lu <hongjiu.lu@intel.com>
24488
24489 PR target/66232
24490 * config/i386/constraints.md (Bg): New constraint for GOT memory
24491 operand.
24492 * config/i386/i386.md (*call_got_x32): New pattern.
24493 (*call_value_got_x32): Likewise.
24494 * config/i386/predicates.md (GOT_memory_operand): New predicate.
24495
24496 2015-05-21 Jakub Jelinek <jakub@redhat.com>
24497
24498 PR tree-optimization/66233
24499 * match.pd (ocvt (icvt@1 @0)): Don't handle vector types.
24500 Simplify.
24501
24502 2015-05-21 Jeff Law <law@redhat.com>
24503
24504 * config/pa/pa.md (add-with-constant splitter): Use ASHIFT rather
24505 than MULT for shadd sequences.
24506
24507 2015-05-08 Jan Hubicka <hubicka@ucw.cz>
24508
24509 * alias.c (alias_stats): New static var.
24510 (alias_sets_conflict_p, alias_sets_must_conflict_p): Update stats.
24511 (dump_alias_stats_in_alias_c): New function.
24512 * alias.h (dump_alias_stats_in_alias_c): Declare.
24513 * tree-ssa-alias.c (dump_alias_stats): Call it.
24514
24515 2015-05-08 Michael Matz <matz@suse.de>
24516
24517 * tree-vectorizer.h (struct _stmt_vec_info): Rename stride_load_p
24518 to strided_p.
24519 (STMT_VINFO_STRIDE_LOAD_P): Rename to ...
24520 (STMT_VINFO_STRIDED_P): ... this.
24521 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust.
24522 (vect_verify_datarefs_alignment): Likewise.
24523 (vect_enhance_data_refs_alignment): Likewise.
24524 (vect_analyze_data_ref_access): Likewise.
24525 (vect_analyze_data_refs): Accept strided stores.
24526 * tree-vect-stmts.c (vect_model_store_cost): Count strided stores.
24527 (vect_model_load_cost): Adjust for macro rename.
24528 (vectorizable_mask_load_store): Likewise.
24529 (vectorizable_load): Likewise.
24530 (vectorizable_store): Open code strided stores.
24531
24532 2015-05-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
24533
24534 * doc/sourcebuild.texi (7.2.3.9 Other hardware attributes):
24535 Document sqrt_insn.
24536
24537 2015-05-21 Richard Biener <rguenther@suse.de>
24538
24539 PR c++/66211
24540 * match.pd: Guard pattern optimzing (int)(float)int
24541 conversions to apply only on GIMPLE.
24542
24543 2015-05-21 Jeff Law <law@redhat.com>
24544
24545 * combine.c (find_split_point): Handle ASHIFT like MULT to encourage
24546 multiply-accumulate/shift-add insn generation.
24547
24548 2015-05-21 Oleg Endo <olegendo@gcc.gnu.org>
24549
24550 PR target/54236
24551 * config/sh/sh.md (*round_int_even): Reject pattern if operands[0] and
24552 operands[1] are the same.
24553
24554 2015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com>
24555
24556 PR middle-end/66221
24557 * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Use
24558 build_distinct_type_copy to copy bounds.
24559
24560 2015-05-21 Thomas Schwinge <thomas@codesourcery.com>
24561
24562 * genrecog.c (MAX_DEPTH, MIN_NUM_STATEMENTS, MAX_NUM_STATEMENTS):
24563 Change to unsigned int.
24564
24565 2015-05-20 Jeff Law <law@redhat.com>
24566
24567 * config/pa/pa.c (pa_print_operand): New 'o' output modifier.
24568 (pa_mem_shadd_constant_p): Renamed from pa_shadd_constant_p.
24569 (pa_shadd_constant_p): Allow constants for shadd insns rather
24570 than valid scaling constants for memory addresses.
24571 * config/pa/pa-protos.h (pa_mem_shadd_constant_p): Add prototype.
24572 * config/pa/predicates.md (mem_shadd_operand): New predicate.
24573 * config/pa/pa.md (shift-add insns using MULT): Use mem_shadd_operand.
24574 (shift-add insns using ASHIFT): New patterns.
24575
24576 2015-05-20 Mikhail Maltsev <maltsevm@gmail.com>
24577
24578 * bb-reorder.c (set_edge_can_fallthru_flag): Use rtx_jump_insn where
24579 feasible.
24580 (fix_up_fall_thru_edges): Likewise.
24581 (fix_crossing_conditional_branches): Likewise. Promote jump targets
24582 from to rtx_insn to rtx_code_label where feasible.
24583 * bt-load.c (move_btr_def): Remove as-a cast of the value returned by
24584 gen_move_insn (returned type changed to rtx_insn).
24585 * builtins.c (expand_errno_check): Fix arguments of
24586 do_compare_rtx_and_jump (now expects rtx_code_label).
24587 (expand_builtin_acc_on_device): Likewise.
24588 * cfgcleanup.c (try_simplify_condjump): Add cast when calling
24589 invert_jump (now exprects rtx_jump_insn).
24590 * cfgexpand.c (label_rtx_for_bb): Promote return type to rtx_code_label.
24591 (construct_init_block): Use rtx_code_label.
24592 * cfgrtl.c (block_label): Promote return type to rtx_code_label.
24593 (try_redirect_by_replacing_jump): Use cast to rtx_jump_insn when
24594 calling redirect_jump.
24595 (patch_jump_insn): Likewise.
24596 (redirect_branch_edge): Likewise.
24597 (force_nonfallthru_and_redirect): Likewise.
24598 (fixup_reorder_chain): Explicitly use rtx_jump_insn instead of rtx_insn
24599 when suitable.
24600 (rtl_lv_add_condition_to_bb): Update call of do_compare_rtx_and_jump.
24601 * cfgrtl.h: Promote return type of block_label to rtx_code_label.
24602 * config/bfin/bfin.c (hwloop_optimize): Fix call of emit_label_before.
24603 * config/i386/i386.c (ix86_emit_cmove): Explicitly use rtx_code_label
24604 to store the value retured by gen_label_rtx.
24605 * config/mips/mips.c (mips16_split_long_branches): Promote rtx_insn to
24606 rtx_jump_insn.
24607 * config/sh/sh.c (gen_far_branch): Likewise. Fix call of invert_jump.
24608 (split_branches): Fix calls of redirect_jump.
24609 * dojump.c (jumpifnot): Promote argument type from rtx to
24610 rtx_code_label.
24611 (jumpifnot_1): Likewise.
24612 (jumpif): Likewise.
24613 (jumpif_1): Likewise.
24614 (do_jump_1): Likewise.
24615 (do_jump): Likewise. Use rtx_code_label when feasible.
24616 (do_jump_by_parts_greater_rtx): Likewise.
24617 (do_jump_by_parts_zero_rtx): Likewise.
24618 (do_jump_by_parts_equality_rtx): Likewise.
24619 (do_compare_rtx_and_jump): Likewise.
24620 * dojump.h: Update function prototypes.
24621 * dse.c (emit_inc_dec_insn_before): Remove case (gen_move_insn now
24622 returns rtx_insn).
24623 * emit-rtl.c (emit_jump_insn_before_noloc): Promote return type to
24624 rtx_jump_insn.
24625 (emit_label_before): Likewise.
24626 (emit_jump_insn_after_noloc): Likewise.
24627 (emit_jump_insn_after_setloc): Likewise.
24628 (emit_jump_insn_after): Likewise
24629 (emit_jump_insn_before_setloc): Likewise.
24630 (emit_jump_insn_before): Likewise.
24631 (emit_label_before): Promote return type to rtx_code_label.
24632 (emit_label): Likewise.
24633 * except.c (sjlj_emit_dispatch_table): Use jump_target_rtx.
24634 * explow.c (emit_stack_save): Use gen_move_insn_uncast instead of
24635 gen_move_insn.
24636 (emit_stack_restore): Likewise.
24637 * expmed.c (emit_store_flag_force): Fix calls of do_compare_rtx_and_jump.
24638 (do_cmp_and_jump): Likewise.
24639 * expr.c (expand_expr_real_2): Likewise. Promote some local variables
24640 from rtx to rtx_code_label.
24641 (gen_move_insn_uncast): New function.
24642 * expr.h: Update return type of gen_move_insn (promote to rtx_insn).
24643 * function.c (convert_jumps_to_returns): Fix call of redirect_jump.
24644 * gcse.c (pre_insert_copy_insn): Use rtx_insn instead of rtx.
24645 * ifcvt.c (dead_or_predicable): Use rtx_jump_insn when calling
24646 invert_jump_1 and redirect_jump_1.
24647 * internal-fn.c (expand_arith_overflow_result_store): Fix call of
24648 do_compare_rtx_and_jump.
24649 (expand_addsub_overflow): Likewise.
24650 (expand_neg_overflow): Likewise.
24651 (expand_mul_overflow): Likewise.
24652 * ira.c (split_live_ranges_for_shrink_wrap): Use rtx_insn for
24653 return value of gen_move_insn.
24654 * jump.c (redirect_jump): Promote argument from rtx to rtx_jump_insn.
24655 * loop-doloop.c (add_test): Use rtx_code_label.
24656 (doloop_modify): Likewise.
24657 (doloop_optimize): Likewise.
24658 * loop-unroll.c (compare_and_jump_seq): Promote rtx to rtx_code_label.
24659 * lra-constraints.c (emit_spill_move): Remove cast of value returned
24660 by gen_move_insn.
24661 (inherit_reload_reg): Add cast when calling dump_insn_slim.
24662 (split_reg): Likewise.
24663 * modulo-sched.c (schedule_reg_moves): Remove cast of value returned by
24664 gen_move_insn.
24665 * optabs.c (expand_binop_directly): Remove casts of values returned by
24666 maybe_gen_insn.
24667 (expand_unop_direct): Likewise.
24668 (expand_abs): Likewise.
24669 (maybe_emit_unop_insn): Likewise.
24670 (maybe_gen_insn): Promote return type to rtx_insn.
24671 * optabs.h: Update prototype of maybe_gen_insn.
24672 * postreload-gcse.c (eliminate_partially_redundant_load): Remove
24673 redundant cast.
24674 * recog.c (struct peep2_insn_data): Promote type of insn field to
24675 rtx_insn.
24676 (peep2_reinit_state): Use NULL instead of NULL_RTX.
24677 (peep2_attempt): Remove casts of insn in peep2_insn_data.
24678 (peep2_fill_buffer): Promote argument from rtx to rtx_insn
24679 * recog.h (struct insn_gen_fn): Promote return types of function
24680 pointers and operator ().from rtx to rtx_insn.
24681 * reorg.c (fill_simple_delay_slots): Promote rtx_insn to rtx_jump_insn.
24682 (fill_eager_delay_slots): Likewise.
24683 (relax_delay_slots): Likewise.
24684 (make_return_insns): Likewise.
24685 (dbr_schedule): Likewise.
24686 (optimize_skips): Likewise.
24687 (reorg_redirect_jump): Likewise.
24688 (fill_slots_from_thread): Likewise.
24689 * reorg.h: Update prototypes.
24690 * resource.c (find_dead_or_set_registers): Use dyn_cast to
24691 rtx_jump_insn instead of check. Use it's jump_target method.
24692 * rtl.h (rtx_jump_insn::jump_label): Define new method.
24693 (rtx_jump_insn::jump_target): Define new method.
24694 (rtx_jump_insn::set_jump_target): Define new method.
24695 * rtlanal.c (tablejump_p): Promote type of one local variable.
24696 * sched-deps.c (sched_analyze_2): Promote rtx to rtx_insn_list.
24697 (sched_analyze_insn): Likewise.
24698 * sched-vis.c (print_insn_with_notes): Promote rtx to rtx_insn.
24699 (print_insn): Likewise.
24700 * stmt.c (label_rtx): Promote return type to rtx_insn.
24701 (force_label_rtx): Likewise.
24702 (jump_target_rtx): Define new function.
24703 (expand_label): Use it, get rid of one cast.
24704 (expand_naked_return): Promote rtx to rtx_code_label.
24705 (do_jump_if_equal): Fix do_compare_rtx_and_jump call.
24706 (expand_case): Use rtx_code_label instread of rtx where feasible.
24707 (expand_sjlj_dispatch_table): Likewise.
24708 (emit_case_nodes): Likewise.
24709 * stmt.h: Declare jump_target_rtx. Update prototypes. Fix comments.
24710 * store-motion.c (insert_store): Make use of new return type of
24711 gen_move_insn and remove a cast.
24712 (replace_store_insn): Likewise.
24713
24714 2015-05-20 Max Filippov <jcmvbkbc@gmail.com>
24715
24716 * config/xtensa/xtensa.c (init_alignment_context): Replace MULT
24717 by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT).
24718
24719 2015-05-20 Jeff Law <law@redhat.com>
24720
24721 * tree-ssa-threadupdate.c (mark_threaded_blocks): Properly
24722 dispose of the jump thread path when the jump threading
24723 opportunity is cancelled.
24724
24725 2015-05-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
24726
24727 * diagnostic.c (diagnostic_print_caret_line): Fix off-by-one error
24728 when printing the caret character.
24729
24730 2015-05-20 Marek Polacek <polacek@redhat.com>
24731
24732 * cfgexpand.c (expand_debug_expr): Use UNARY_CLASS_P.
24733
24734 2015-05-20 Marek Polacek <polacek@redhat.com>
24735
24736 * expr.c (expand_cond_expr_using_cmove): Use COMPARISON_CLASS_P.
24737 * gimple-expr.c (gimple_cond_get_ops_from_tree): Likewise.
24738 * gimple-fold.c (canonicalize_bool): Likewise.
24739 (same_bool_result_p): Likewise.
24740 * tree-if-conv.c (parse_predicate): Likewise.
24741
24742 2015-05-20 Marek Polacek <polacek@redhat.com>
24743
24744 * gimple-fold.c (fold_const_aggregate_ref_1): Use DECL_P.
24745 * gimplify.c (gimplify_modify_expr_rhs): Likewise.
24746
24747 2015-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
24748
24749 * config/aarch64/aarch64.c (aarch64_class_max_nregs):
24750 Use UNITS_PER_VREG and UNITS_PER_WORD instead of their direct
24751 values.
24752
24753 2015-05-20 Robert Suchanek <robert.suchanek@imgtec.com>
24754
24755 * config/mips/mips.h (micromips_globals): Declare.
24756
24757 2015-05-20 David Malcolm <dmalcolm@redhat.com>
24758
24759 * timevar.def (TV_INITIALIZE_RTL): New.
24760 * toplev.c (initialize_rtl): Use an auto_timevar to account this
24761 function's time to TV_INITIALIZE_RTL.
24762
24763 2015-05-20 Ilya Enkovich <enkovich.gnu@gmail.com>
24764
24765 * tree-chkp.c (chkp_maybe_copy_and_register_bounds): Remove useless
24766 gimple_build_nop calls.
24767 (chkp_find_bounds_for_elem): Likewise.
24768 (chkp_get_zero_bounds): Likewise.
24769 (chkp_get_none_bounds): Likewise.
24770 (chkp_get_bounds_by_definition): Likewise.
24771 (chkp_generate_extern_var_bounds): Likewise.
24772 (chkp_get_bounds_for_decl_addr): Likewise.
24773 (chkp_get_bounds_for_string_cst): Likewise.
24774
24775 2015-05-20 Bin Cheng <bin.cheng@arm.com>
24776
24777 PR tree-optimization/65447
24778 * tree-ssa-loop-ivopts.c (struct iv_use): New fields.
24779 (dump_use, dump_uses): Support to dump sub use.
24780 (record_use): New parameters to support sub use. Remove call to
24781 dump_use.
24782 (record_sub_use, record_group_use): New functions.
24783 (compute_max_addr_offset, split_all_small_groups): New functions.
24784 (group_address_uses, rewrite_use_address): New functions.
24785 (strip_offset): New declaration.
24786 (find_interesting_uses_address): Call record_group_use.
24787 (add_candidate): New assertion.
24788 (infinite_cost_p): Move definition forward.
24789 (add_costs): Check INFTY cost and return immediately.
24790 (get_computation_cost_at): Clear setup cost and dependent bitmap
24791 for sub uses.
24792 (determine_use_iv_cost_address): Compute cost for sub uses.
24793 (rewrite_use_address_1): Rename from old rewrite_use_address.
24794 (free_loop_data): Free sub uses.
24795 (tree_ssa_iv_optimize_loop): Call group_address_uses.
24796
24797 2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org>
24798 Jim Wilson <jim.wilson@linaro.org>
24799
24800 * config/arm/aarch-common-protos.h (struct mem_cost_table): Added
24801 new fields loadv and storev.
24802 * config/aarch64/aarch64-cost-tables.h (thunderx_extra_costs):
24803 Initialize loadv and storev.
24804 * config/arm/aarch-cost-tables.h (generic_extra_costs): Likewise.
24805 (cortexa53_extra_costs): Likewise.
24806 (cortexa57_extra_costs): Likewise.
24807 (xgene1_extra_costs): Likewise.
24808 * config/aarch64/aarch64.c (aarch64_rtx_costs): Update vector
24809 rtx_costs.
24810
24811 2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org>
24812
24813 * config/arm/arm.c (cortexa9_extra_costs): Initialize loadv and
24814 storev.
24815 (cortexa8_extra_costs): Likewise.
24816 (cortexa5_extra_costs): Likewise.
24817 (cortexa7_extra_costs): Likewise.
24818 (cortexa12_extra_costs): Likewise.
24819 (cortexa15_extra_costs): Likewise.
24820 (v7m_extra_costs): Likewise.
24821
24822 2015-05-20 Jeff Law <law@redhat.com>
24823
24824 * tree-ssa-threadupdate.c (thread_single_edge): Use delete_jump_thread
24825 instead of open-coded version. Also delete the jump thread created
24826 within this function.
24827
24828 2015-05-20 Alan Modra <amodra@gmail.com>
24829
24830 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Return
24831 stack adjusting insn. Formatting.
24832 (rs6000_emit_prologue): Track stack adjusting insn, and use of
24833 r12. If possible, emit first -fsplit-stack arg pointer insn
24834 before stack adjust. Don't use r12 to save cr if split-stack.
24835
24836 2015-05-20 Alan Modra <amodra@gmail.com>
24837
24838 * common/config/rs6000/rs6000-common.c (TARGET_SUPPORTS_SPLIT_STACK):
24839 Define.
24840 (rs6000_supports_split_stack): New function.
24841 * config/rs6000/rs6000.c (machine_function): Add
24842 split_stack_arg_pointer.
24843 (TARGET_EXTRA_LIVE_ON_ENTRY, TARGET_INTERNAL_ARG_POINTER): Define.
24844 (setup_incoming_varargs): Use crtl->args.internal_arg_pointer
24845 rather than virtual_incoming_args_rtx.
24846 (rs6000_va_start): Likewise.
24847 (split_stack_arg_pointer_used_p): New function.
24848 (rs6000_emit_prologue): Set up arg pointer for -fsplit-stack.
24849 (morestack_ref): New var.
24850 (gen_add3_const, rs6000_expand_split_stack_prologue,
24851 rs6000_internal_arg_pointer, rs6000_live_on_entry,
24852 rs6000_split_stack_space_check): New functions.
24853 (rs6000_elf_file_end): Call file_end_indicate_split_stack.
24854 * config/rs6000/rs6000.md (UNSPEC_STACK_CHECK): Define.
24855 (UNSPECV_SPLIT_STACK_RETURN): Define.
24856 (split_stack_prologue, load_split_stack_limit,
24857 load_split_stack_limit_di, load_split_stack_limit_si,
24858 split_stack_return, split_stack_space_check): New expands and insns.
24859 * config/rs6000/rs6000-protos.h
24860 (rs6000_expand_split_stack_prologue): Declare.
24861 (rs6000_split_stack_space_check): Declare.
24862
24863 2015-05-20 Alan Modra <amodra@gmail.com>
24864
24865 * config/rs6000/rs6000.c (struct rs6000_stack): Correct comments.
24866 (direct_return): Test vrsave_size rather than vrsave_mask.
24867 (rs6000_emit_prologue): Likewise. Remove redundant altivec tests.
24868 (rs6000_emit_epilogue): Likewise.
24869
24870 2015-05-20 Alan Modra <amodra@gmail.com>
24871
24872 * config/rs6000/rs6000.c (rs6000_stack_info): Don't zero offsets
24873 when not saving registers.
24874 (debug_stack_info): Adjust to omit printing unused offsets,
24875 as before.
24876 (rs6000_emit_epilogue): Adjust use_backchain_to_restore_sp
24877 expression.
24878
24879 2015-05-19 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
24880
24881 PR c++/65835
24882 * config/i386/winnt.c (struct wrapped_symbol_hasher): Change
24883 value_type to const char *.
24884
24885 2015-05-19 Sandra Loosemore <sandra@codesourcery.com>
24886
24887 * config.gcc [powerpc*-*-linux*]: Allow --enable-targets=all
24888 to build a biarch toolchain again.
24889
24890 2015-05-19 Jan Hubicka <hubicka@ucw.cz>
24891
24892 * ipa-devirt.c (type_in_anonymous_namespace_p): Return true
24893 or implicit declarations.
24894 (odr_type_p): Check that TYPE_NAME is TYPE_DECL before looking
24895 into it.
24896 (get_odr_type): Check type has linkage before adding bases.
24897 (register_odr_type): Check that type has linkage before adding it.
24898 (type_known_to_have_no_deriavations_p): Rename to ..
24899 (type_known_to_have_no_derivations_p): This one.
24900 * ipa-utils.h (type_known_to_have_no_deriavations_p): Rename to ..
24901 (type_known_to_have_no_derivations_p): This one.
24902 * ipa-polymorphic-call.c
24903 (ipa_polymorphic_call_context::restrict_to_inner_type): Check that
24904 type has linkage.
24905
24906 2015-05-19 Eric Botcazou <ebotcazou@adacore.com>
24907
24908 * stor-layout.c (finalize_type_size): Use AGGREGATE_TYPE_P.
24909 (layout_type): Use RECORD_OR_UNION_TYPE_P.
24910
24911 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
24912
24913 * config/s390/s390.c (s390_vector_bool_type_p): New function.
24914 (s390_invalid_binary_op): New function.
24915 (TARGET_INVALID_BINARY_OP): Define macro.
24916
24917 2015-05-19 David Sherwood <david.sherwood@arm.com>
24918
24919 * loop-invariant.c (create_new_invariant): Don't calculate address cost
24920 if mode is not a scalar integer.
24921 (get_inv_cost): Increase computational cost for unused invariants.
24922
24923 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
24924
24925 * config.gcc: Add vecintrin.h to extra_headers. Add s390-c.o to
24926 c_target_objs and cxx_target_objs. Add t-s390 to tmake_file.
24927 * config/s390/s390-builtin-types.def: New file.
24928 * config/s390/s390-builtins.def: New file.
24929 * config/s390/s390-builtins.h: New file.
24930 * config/s390/s390-c.c: New file.
24931 * config/s390/s390-modes.def: Add modes CCVEQANY, CCVH,
24932 CCVHANY, CCVHU, CCVHUANY, CCVFHANY, CCVFHEANY.
24933 * config/s390/s390-protos.h (s390_expand_vec_compare_cc)
24934 (s390_cpu_cpp_builtins, s390_register_target_pragmas): Add
24935 prototypes.
24936 * config/s390/s390.c (s390-builtins.h, s390-builtins.def):
24937 Include.
24938 (flags_builtin, flags_overloaded_builtin_var, s390_builtin_types)
24939 (s390_builtin_fn_types, s390_builtin_decls, code_for_builtin): New
24940 variable definitions.
24941 (s390_const_operand_ok): New function.
24942 (s390_expand_builtin): Rewrite.
24943 (s390_init_builtins): New function.
24944 (s390_handle_vectorbool_attribute): New function.
24945 (s390_attribute_table): Add s390_vector_bool attribute.
24946 (s390_match_ccmode_set): Handle new cc modes CCVH, CCVHU.
24947 (s390_branch_condition_mask): Generate masks for new modes.
24948 (s390_expand_vec_compare_cc): New function.
24949 (s390_mangle_type): Add mangling for vector bool types.
24950 (enum s390_builtin): Remove.
24951 (s390_atomic_assign_expand_fenv): Rename constants for sfpc and
24952 efpc builtins.
24953 * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Call
24954 s390_cpu_cpp_builtins.
24955 (REGISTER_TARGET_PRAGMAS): New macro.
24956 * config/s390/s390.md: Define more UNSPEC_VEC_* constants.
24957 (insn_cmp mode attribute): Add new CC modes.
24958 (s390_sfpc, s390_efpc): Rename patterns to sfpc and efpc.
24959 (lcbb): New pattern definition.
24960 * config/s390/s390intrin.h: Include vecintrin.h.
24961 * config/s390/t-s390: New file.
24962 * config/s390/vecintrin.h: New file.
24963 * config/s390/vector.md: Include vx-builtins.md.
24964 * config/s390/vx-builtins.md: New file.S/390 zvector builtin
24965 support.
24966
24967 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
24968
24969 * config/s390/s390-modes.def: Add new modes CCVEQ, CCVFH, and
24970 CCVFHE.
24971 * config/s390/s390.c (s390_match_ccmode_set): Handle new modes.
24972 (s390_select_ccmode): Likewise.
24973 (s390_canonicalize_comparison): Swap operands if necessary.
24974 (s390_expand_vec_compare_scalar): Expand DFmode compare using
24975 single element vector instructions.
24976 (s390_emit_compare): Call s390_expand_vec_compare_scalar.
24977 (s390_branch_condition_mask): Generate CC masks for the new modes.
24978 * config/s390/s390.md (v0, vf, vd): New mode attributes.
24979 (VFCMP, asm_fcmp, insn_cmp): New mode iterator and attributes.
24980 (*vec_cmp<insn_cmp>df_cconly, *fixuns_truncdfdi2_z13)
24981 (*fix_trunc<BFP:mode><GPR:mode>2_bfp, *floatunsdidf2_z13)
24982 (*floatuns<GPR:mode><FP:mode>2, *extendsfdf2_z13)
24983 (*extend<DSF:mode><BFP:mode>2): New insn definition.
24984 (fix_trunc<BFP:mode><GPR:mode>2_bfp, loatuns<GPR:mode><FP:mode>2)
24985 (extend<DSF:mode><BFP:mode>2): Turn into expander.
24986 (floatdi<mode>2, truncdfsf2, add<mode>3, sub<mode>3, mul<mode>3)
24987 (div<mode>3, *neg<mode>2, *abs<mode>2, *negabs<mode>2)
24988 (sqrt<mode>2): Add vector instruction.
24989
24990 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
24991
24992 * config/s390/constraints.md (j00, jm1, jxx, jyy, v): New
24993 constraints.
24994 * config/s390/predicates.md (const0_operand, constm1_operand)
24995 (constable_operand): Accept vector operands.
24996 * config/s390/s390-modes.def: Add supported vector modes.
24997 * config/s390/s390-protos.h (s390_cannot_change_mode_class)
24998 (s390_function_arg_vector, s390_contiguous_bitmask_vector_p)
24999 (s390_bytemask_vector_p, s390_expand_vec_strlen)
25000 (s390_expand_vec_compare, s390_expand_vcond)
25001 (s390_expand_vec_init): Add prototypes.
25002 * config/s390/s390.c (VEC_ARG_NUM_REG): New macro.
25003 (s390_vector_mode_supported_p): New function.
25004 (s390_contiguous_bitmask_p): Mask out the irrelevant bits.
25005 (s390_contiguous_bitmask_vector_p): New function.
25006 (s390_bytemask_vector_p): New function.
25007 (s390_split_ok_p): Vector regs don't work either.
25008 (regclass_map): Add VEC_REGS.
25009 (s390_legitimate_constant_p): Handle vector constants.
25010 (s390_cannot_force_const_mem): Handle CONST_VECTOR.
25011 (legitimate_reload_vector_constant_p): New function.
25012 (s390_preferred_reload_class): Handle CONST_VECTOR.
25013 (s390_reload_symref_address): Likewise.
25014 (s390_secondary_reload): Vector memory instructions only support
25015 short displacements. Rename reload*_nonoffmem* to reload*_la*.
25016 (s390_emit_ccraw_jump): New function.
25017 (s390_expand_vec_strlen): New function.
25018 (s390_expand_vec_compare): New function.
25019 (s390_expand_vcond): New function.
25020 (s390_expand_vec_init): New function.
25021 (s390_dwarf_frame_reg_mode): New function.
25022 (print_operand): Handle addresses with 'O' and 'R' constraints.
25023 (NR_C_MODES, constant_modes): Add vector modes.
25024 (s390_output_pool_entry): Handle vector constants.
25025 (s390_hard_regno_mode_ok): Handle vector registers.
25026 (s390_class_max_nregs): Likewise.
25027 (s390_cannot_change_mode_class): New function.
25028 (s390_invalid_arg_for_unprototyped_fn): New function.
25029 (s390_function_arg_vector): New function.
25030 (s390_function_arg_float): Remove size variable.
25031 (s390_pass_by_reference): Handle vector arguments.
25032 (s390_function_arg_advance): Likewise.
25033 (s390_function_arg): Likewise.
25034 (s390_return_in_memory): Vector values are returned in a VR if
25035 possible.
25036 (s390_function_and_libcall_value): Handle vector arguments.
25037 (s390_gimplify_va_arg): Likewise.
25038 (s390_call_saved_register_used): Consider the arguments named.
25039 (s390_conditional_register_usage): Disable v16-v31 for non-vec
25040 targets.
25041 (s390_preferred_simd_mode): New function.
25042 (s390_support_vector_misalignment): New function.
25043 (s390_vector_alignment): New function.
25044 (TARGET_STRICT_ARGUMENT_NAMING, TARGET_DWARF_FRAME_REG_MODE)
25045 (TARGET_VECTOR_MODE_SUPPORTED_P)
25046 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN)
25047 (TARGET_VECTORIZE_PREFERRED_SIMD_MODE)
25048 (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT)
25049 (TARGET_VECTOR_ALIGNMENT): Define target macro.
25050 * config/s390/s390.h (FUNCTION_ARG_PADDING): Define macro.
25051 (FIRST_PSEUDO_REGISTER): Increase value.
25052 (VECTOR_NOFP_REGNO_P, VECTOR_REGNO_P, VECTOR_NOFP_REG_P)
25053 (VECTOR_REG_P): Define macros.
25054 (FIXED_REGISTERS, CALL_USED_REGISTERS)
25055 (CALL_REALLY_USED_REGISTERS, REG_ALLOC_ORDER)
25056 (HARD_REGNO_CALL_PART_CLOBBERED, REG_CLASS_NAMES)
25057 (FUNCTION_ARG_REGNO_P, FUNCTION_VALUE_REGNO_P, REGISTER_NAMES):
25058 Add vector registers.
25059 (CANNOT_CHANGE_MODE_CLASS): Call C function.
25060 (enum reg_class): Add VEC_REGS, ADDR_VEC_REGS, GENERAL_VEC_REGS.
25061 (SECONDARY_MEMORY_NEEDED): Allow SF<->SI mode moves without
25062 memory.
25063 (DBX_REGISTER_NUMBER, FIRST_VEC_ARG_REGNO, LAST_VEC_ARG_REGNO)
25064 (SHORT_DISP_IN_RANGE, VECTOR_STORE_FLAG_VALUE): Define macro.
25065 * config/s390/s390.md (UNSPEC_VEC_*): New constants.
25066 (VR*_REGNUM): New constants.
25067 (ALL): New mode iterator.
25068 (INTALL): Remove mode iterator.
25069 Include vector.md.
25070 (movti): Implement TImode moves for VRs.
25071 Disable TImode splitter for VR targets.
25072 Implement splitting TImode GPR<->VR moves.
25073 (reload*_tomem_z10, reload*_toreg_z10): Replace INTALL with ALL.
25074 (reload<mode>_nonoffmem_in, reload<mode>_nonoffmem_out): Rename to
25075 reload<mode>_la_in, reload<mode>_la_out.
25076 (*movdi_64, *movsi_zarch, *movhi, *movqi, *mov<mode>_64dfp)
25077 (*mov<mode>_64, *mov<mode>_31): Add vector instructions.
25078 (TD/TF mode splitter): Enable for GPRs only (formerly !FP).
25079 (mov<mode> SF SD): Prefer lder, lde for loading.
25080 Add lrl and strl instructions.
25081 Add vector instructions.
25082 (strlen<mode>): Rename old strlen<mode> to strlen_srst<mode>.
25083 Call s390_expand_vec_strlen on z13.
25084 (*cc_to_int): Change predicate to nonimmediate_operand.
25085 (addti3): Rename to *addti3. New expander.
25086 (subti3): Rename to *subti3. New expander.
25087 * config/s390/vector.md: New file.
25088
25089 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
25090
25091 * common/config/s390/s390-common.c (processor_flags_table): Add
25092 z13.
25093 * config.gcc: Add z13.
25094 * config/s390/s390-opts.h (enum processor_type): Add
25095 PROCESSOR_2964_Z13.
25096 * config/s390/s390.c (s390_adjust_priority): Check for
25097 PROCESSOR_2964_Z13.
25098 (s390_reorg): Likewise.
25099 (s390_sched_reorder): Likewise.
25100 (s390_sched_variable_issue): Likewise.
25101 (s390_loop_unroll_adjust): Likewise.
25102 (s390_option_override): Likewise. Default to -mvx when available.
25103 * config/s390/s390.h (enum processor_flags): Add PF_Z13 and PF_VX.
25104 (TARGET_CPU_Z13, TARGET_CPU_VX, TARGET_Z13, TARGET_VX)
25105 (TARGET_VX_ABI): Define macros.
25106 macros.
25107 (TARGET_DEFAULT): Add MASK_OPT_VX.
25108 * config/s390/s390.md ("cpu" attribute): Add z13.
25109 ("cpu_facility" attribute): Add vec.
25110 * config/s390/s390.opt (processor_type): Add z13.
25111 (mvx): New options.
25112 * doc/invoke.texi: Add z13 option for -march.
25113
25114 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
25115
25116 * config/s390/predicates.md (shift_count_or_setmem_operand): Add
25117 mode check to make sure that only scalar integer values are
25118 accepted.
25119
25120 2015-05-19 Jan Hubicka <hubicka@ucw.cz>
25121
25122 * tree.c (verify_type_variant): Fix #undef.
25123 (gimple_canonical_types_compatible_p): Move here from lto.c
25124 (verify_type): Verify TYPE_CANONICAL compatibility.
25125 * tree.h (gimple_canonical_types_compatible_p): Declare.
25126
25127 2015-05-19 Jakub Jelinek <jakub@redhat.com>
25128
25129 PR middle-end/66199
25130 * tree.h (OMP_TEAMS_COMBINED): Define.
25131 * gimplify.c (enum gimplify_omp_var_data): Add
25132 GOVD_LINEAR_LASTPRIVATE_NO_OUTER.
25133 (enum omp_region_type): Add ORT_COMBINED_TEAMS.
25134 (omp_notice_variable): Accept both ORT_TEAMS
25135 and ORT_COMBINED_TEAMS. Don't recurse if
25136 GOVD_LINEAR_LASTPRIVATE_NO_OUTER is set and either
25137 GOVD_LINEAR is set, or GOVD_LASTPRIVATE without
25138 GOVD_FIRSTPRIVATE.
25139 (omp_no_lastprivate): New function.
25140 (gimplify_scan_omp_clauses): For OMP_CLAUSE_LASTPRIVATE
25141 and OMP_CLAUSE_LINEAR, if omp_no_lastprivate, don't
25142 notice_outer and set appropriate bits, otherwise make
25143 sure default(none) combined constructs won't complain.
25144 (gimplify_adjust_omp_clauses): Remove OMP_CLAUSE_LINEAR
25145 outer special casing, for OMP_CLAUSE_LASTPRIVATE if
25146 omp_no_lastprivate either remove the clause or turn it
25147 into OMP_CLAUSE_PRIVATE.
25148 (gimplify_omp_for): Fix up handling of implicit
25149 lastprivate or linear iterators.
25150 (gimplify_omp_workshare): For OMP_TEAMS_COMBINED use
25151 ORT_COMBINED_TEAMS.
25152 * omp-low.c (lower_omp_for_lastprivate): For combined
25153 for simd use fd.loop.n2 from the for rather than simd.
25154
25155 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
25156
25157 * config/cris/cris.c (cris_expand_prologue): Use gen_raw_REG
25158 instead of gen_rtx_raw_REG.
25159 (cris_expand_epilogue): Likewise.
25160 * config/microblaze/microblaze.c (microblaze_classify_address):
25161 Likewise.
25162 * config/sparc/sparc.md: Likewise.
25163
25164 2015-05-19 Uros Bizjak <ubizjak@gmail.com>
25165
25166 * config/alpha/alpha.c (alpha_legitimize_reload_address)
25167 (alpha_preferred_reload_class, alpha_legitimate_constant_p): Use
25168 CONST_INT_P, CONST_SCALAR_INT_P and CONST_DOUBLE_P predicates.
25169 (alpha_split_reload_pair) <case CONST_INT, case CONST_WIDE_INT>:
25170 Use CASE_CONST_SCALAR_INT.
25171 (print_operand) <case 'M'>: Use mode_width_operand to check the
25172 value of the constant.
25173 * config/alpha/alpha.md (movti): Use CONST_SCALAR_INT_P predicate.
25174 * config/alpha/predicates.md (input_operand): Use general_operand
25175 instead of match_code as operand check.
25176 (symbolic_operand): Use match_code with subexpression digits.
25177 * config/alpha/constraints.md (Q): Ditto.
25178
25179 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
25180
25181 * optabs.c (expand_vec_perm): Don't re-use SEL as target operand.
25182
25183 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
25184
25185 * config/s390/s390.c (s390_secondary_reload): Fix check for
25186 load/store relative.
25187
25188 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
25189
25190 * recog.h: Increase MAX_RECOG_ALTERNATIVES. Change type of
25191 alternative_mask to uint64_t.
25192
25193 2015-05-19 Jakub Jelinek <jakub@redhat.com>
25194
25195 PR tree-optimization/66187
25196 * match.pd ((bit_and (plus/minus (convert @0) (convert @1)) mask)):
25197 Pass TYPE_SIGN to tree_int_cst_min_precision. If
25198 !TYPE_OVERFLOW_WRAPS, ensure @4 is non-negative.
25199
25200 2015-05-19 David Malcolm <dmalcolm@redhat.com>
25201
25202 * diagnostic.c (diagnostic_report_current_module): Strengthen
25203 local "new_map" from const line_map * to
25204 const line_map_ordinary *.
25205 * genmatch.c (error_cb): Likewise for local "map".
25206 (output_line_directive): Likewise for local "map".
25207 * input.c (expand_location_1): Likewise for local "map".
25208 Pass NULL rather than &map to
25209 linemap_unwind_to_first_non_reserved_loc, since the value is never
25210 read from there, and the value written back not read from here.
25211 (is_location_from_builtin_token): Strengthen local "map" from
25212 const line_map * to const line_map_ordinary *.
25213 (dump_location_info): Strengthen locals "map" from
25214 line_map *, one to const line_map_ordinary *, the other
25215 to const line_map_macro *.
25216 * tree-diagnostic.c (loc_map_pair): Strengthen field "map" from
25217 const line_map * to const line_map_macro *.
25218 (maybe_unwind_expanded_macro_loc): Add a call to
25219 linemap_check_macro when writing to the "map" field of the
25220 loc_map_pair.
25221 Introduce local const line_map_ordinary * "ord_map", using it in
25222 place of "map" in the part of the function where we know we have
25223 an ordinary map. Strengthen local "m" from const line_map * to
25224 const line_map_ordinary *.
25225
25226 2015-05-19 Nick Clifton <nickc@redhat.com>
25227
25228 PR target/66156
25229 * config/msp430/msp430.md (zero_extendhisi2): Add support for
25230 separate source and destination registers.
25231
25232 2015-05-19 Richard Biener <rguenther@suse.de>
25233
25234 PR tree-optimization/66165
25235 * tree-vect-slp.c (vect_supported_load_permutation_p): Add guard
25236 for no load permutation.
25237
25238 PR tree-optimization/66185
25239 * tree-vect-slp.c (vect_build_slp_tree): Properly roll back
25240 when building the SLP node from scalars.
25241
25242 2015-05-19 Eric Botcazou <ebotcazou@adacore.com>
25243 Tristan Gingold <gingold@adacore.com>
25244
25245 * insn-notes.def (UPDATE_SJLJ_CONTEXT): New note.
25246 * builtins.c (expand_builtin_update_setjmp_buf): Make global.
25247 (expand_stack_restore): Call record_new_stack_level.
25248 (expand_stack_save): Do not call do_pending_stack_adjust.
25249 * builtins.h (expand_builtin_update_setjmp_buf): Declare.
25250 * calls.c (expand_call): Call record_new_stack_level for alloca.
25251 * except.c (sjlj_mark_call_sites): Expand builtin_update_setjmp_buf
25252 wherever a NOTE_INSN_UPDATE_SJLJ_CONTEXT note is present.
25253 (update_sjlj_context): New global function.
25254 * except.h (update_sjlj_context): Declare.
25255 * explow.c (record_new_stack_level): New global function.
25256 (allocate_dynamic_stack_space): Call record_new_stack_level.
25257 * explow.h (record_new_stack_level): Declare.
25258 * final.c (final_scan_insn): Deal with NOTE_INSN_UPDATE_SJLJ_CONTEXT.
25259 * cfgrtl.c (duplicate_insn_chain): Likewise.
25260
25261 2015-05-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
25262
25263 * calls.c: Always define STACK_GROWS_DOWNWARD as 0 or 1.
25264 (mem_overlaps_already_clobbered_arg_p): Rewrite ifdef
25265 STACK_GROWS_DOWNWARD as normal if.
25266 (expand_call): Likewise.
25267
25268 2015-05-19 Oleg Endo <olegendo@gcc.gnu.org>
25269
25270 PR target/54236
25271 * config/sh/sh.md (*round_int_even): New insn_and_split and
25272 accompanying new unnamed split.
25273
25274 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
25275
25276 * bitmap.c (bitmap_set_range): Handle count==1 specially.
25277 (bitmap_clear_range): Likewise.
25278 * cfgcleanup.c (mark_effect): Use bitmap_clear_range and
25279 bitmap_set_range unconditionally.
25280 * df-problems.c (df_simulate_one_insn_forwards): Likewise.
25281 * df-scan.c (df_mark_reg): Likewise.
25282 * haifa-sched.c (setup_ref_regs): Likewise.
25283 * sched-rgn.c (update_live_1): Likewise.
25284
25285 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
25286
25287 * regs.h (END_HARD_REGNO): Delete.
25288 (END_REGNO): Move to...
25289 * rtl.h: ...here.
25290 * bt-load.c (note_btr_set): Use END_REGNO instead of END_HARD_REGNO.
25291 * caller-save.c (mark_set_regs): Likewise.
25292 * combine.c (move_deaths, distribute_notes): Likewise.
25293 * cse.c (invalidate, invalidate_for_call): Likewise.
25294 * df-scan.c (df_ref_record): Likewise.
25295 * postreload-gcse.c (reg_changed_after_insn_p): Likewise.
25296 (record_last_reg_set_info): Likewise.
25297 * reg-stack.c (convert_regs_exit): Likewise.
25298 * reload.c (reg_overlap_mentioned_for_reload_p): Likewise.
25299 * resource.c (update_live_status): Likewise.
25300 * rtlanal.c (find_reg_fusage, find_regno_fusage): Likewise.
25301
25302 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
25303
25304 * rtl.h (reg_info): Add an nregs field.
25305 (REG_NREGS): Use it.
25306 (SET_REGNO_RAW): Delete.
25307 (set_regno_raw): New function.
25308 * regs.h (END_HARD_REGNO): Make equivalent to END_REGNO.
25309 (END_REGNO): Redefine in terms of REG_NREGS.
25310 * read-rtl.c (read_rtx_code): Call set_regno_raw instead of
25311 SET_REGNO_RAW.
25312 * emit-rtl.c (set_mode_and_regno): Likewise.
25313 * df-scan.c (df_ref_change_reg_with_loc): Use set_mode_and_regno
25314 instead of SET_REGNO_RAW.
25315
25316 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
25317
25318 * rtl.h (PUT_MODE_RAW): New macro.
25319 (PUT_REG_NOTE_KIND): Use it.
25320 (set_mode_and_regno): Declare.
25321 (gen_raw_REG): Change regno to "unsigned int".
25322 (gen_rtx_REG): Change "unsigned" to "unsigned int".
25323 (PUT_MODE): Forward to PUT_MODE_RAW for generators, otherwise
25324 use set_mode_and_regno to change the mode of registers.
25325 * gengenrtl.c (gendef): Use PUT_MODE_RAW.
25326 * emit-rtl.c (set_mode_and_regno): New function.
25327 (gen_raw_REG): Change regno to unsigned int. Use set_mode_and_regno.
25328 * caller-save.c (reg_save_code): Use set_mode_and_regno.
25329 * expr.c (init_expr_target): Likewise.
25330 * ira.c (setup_prohibited_mode_move_regs): Likewise.
25331 * postreload.c (reload_cse_simplify_operands): Likewise.
25332
25333 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
25334
25335 * caller-save.c (init_caller_save): Use word_mode and
25336 FIRST_PSEUDO_REGISTER when creating temporary rtxes.
25337 * expr.c (init_expr_target): Likewise.
25338 * ira.c (setup_prohibited_mode_move_regs): Likewise.
25339 * postreload.c (reload_cse_regs_1): Likewise.
25340
25341 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
25342
25343 * rtl.def (REG): Change format to "r".
25344 * rtl.h (rtunion): Remove rt_reg.
25345 (reg_info): New structure.
25346 (rtx_def): Add reg field to main union.
25347 (X0REGATTR): Delete.
25348 (REG_CHECK): New macro.
25349 (SET_REGNO_RAW, rhs_regno, REG_ATTRS): Use it.
25350 * rtl.c (rtx_format): Document "r".
25351 (rtx_code_size): Handle REG specially.
25352 * gengenrtl.c (special_format): Return true for formats
25353 that include 'r'.
25354 * gengtype.c (adjust_field_rtx_def): Handle 'r' fields.
25355 Deal with REG_ATTRS after the field loop.
25356 * emit-rtl.c (gen_raw_REG): Call rtx_alloc_stat directly.
25357 * expmed.c (init_expmed): Call gen_raw_REG instead of
25358 gen_rtx_raw_REG.
25359 * expr.c (init_expr_target): Likewise.
25360 * regcprop.c (maybe_mode_change): Likewise.
25361 * varasm.c (make_decl_rtl): Likewise.
25362 * final.c (leaf_renumber_regs_insn): Return early after
25363 handling REGs.
25364 * genemit.c (gen_exp): Handle 'r' fields.
25365 * genpeep.c (match_rtx): Likewise.
25366 * gensupport.c (subst_pattern_match): Likewise.
25367 (get_alternatives_number, collect_insn_data, alter_predicate_for_insn)
25368 (alter_constraints, subst_dup): Likewise.
25369 * read-rtl.c (read_rtx_code): Likewise.
25370 * print-rtl.c (print_rtx): Likewise.
25371 * genrecog.c (find_operand, find_matching_operand): Likewise.
25372 (validate_pattern, match_pattern_2): Likewise.
25373 (parameter::UINT, rtx_test::REGNO_FIELD): New enum values.
25374 (rtx_test::regno_field): New function.
25375 (operator ==, safe_to_hoist_p, transition_parameter_type)
25376 (parameter_type_string, print_parameter_value)
25377 (print_nonbool_test, print_test): Handle new enum values.
25378 * cselib.c (rtx_equal_for_cselib_1): Handle REG specially.
25379 * lra-constraints.c (operands_match_p): Likewise.
25380
25381 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
25382
25383 * df.h (df_ref_change_reg_with_loc): Remove old_regno parameter.
25384 Change type of new_regno to unsigned int.
25385 * df-scan.c (df_ref_change_reg_with_loc_1): Change type of
25386 new_regno to unsigned int.
25387 (df_ref_change_reg_with_loc): Remove old_regno parameter.
25388 Change type of new_regno to unsigned int. Use SET_REGNO_RAW.
25389 * rtl.h (SET_REGNO): Update call to df_ref_change_reg_with_loc.
25390 (SET_REGNO_RAW): Add space after ",".
25391
25392 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
25393
25394 * rtl.h (REG_NREGS): New macro
25395 * alias.c (record_set): Use it.
25396 * cfgcleanup.c (mark_effect): Likewise.
25397 * combine.c (likely_spilled_retval_1): Likewise.
25398 (likely_spilled_retval_p, can_change_dest_mode): Likewise.
25399 (move_deaths, distribute_notes): Likewise.
25400 * cselib.c (cselib_record_set): Likewise.
25401 * df-problems.c (df_simulate_one_insn_forwards): Likewise.
25402 * df-scan.c (df_mark_reg): Likewise.
25403 * dse.c (look_for_hardregs): Likewise.
25404 * dwarf2out.c (reg_loc_descriptor): Likewise.
25405 (multiple_reg_loc_descriptor): Likewise.
25406 * expr.c (write_complex_part, read_complex_part): Likewise.
25407 (emit_move_complex): Likewise.
25408 * haifa-sched.c (setup_ref_regs): Likewise.
25409 * ira-lives.c (mark_hard_reg_live): Likewise.
25410 * lra.c (lra_set_insn_recog_data): Likewise.
25411 * mode-switching.c (create_pre_exit): Likewise.
25412 * postreload.c (reload_combine_recognize_const_pattern): Likewise.
25413 (reload_combine_recognize_pattern): Likewise.
25414 (reload_combine_note_use, move2add_record_mode): Likewise.
25415 (reload_cse_move2add): Likewise.
25416 * reg-stack.c (subst_stack_regs_pat): Likewise.
25417 * regcprop.c (kill_value, copy_value): Likewise.
25418 (copyprop_hardreg_forward_1): Likewise.
25419 * regrename.c (verify_reg_in_set, scan_rtx_reg): Likewise.
25420 (build_def_use): Likewise.
25421 * sched-deps.c (mark_insn_reg_birth, mark_reg_death): Likewise.
25422 (deps_analyze_insn): Likewise.
25423 * sched-rgn.c (check_live_1, update_live_1): Likewise.
25424 * sel-sched.c (count_occurrences_equiv): Likewise.
25425 * valtrack.c (dead_debug_insert_temp): Likewise.
25426
25427 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
25428
25429 * cfgcleanup.c (mentions_nonequal_regs): Use END_REGNO.
25430 * dse.c (note_add_store): Likewise.
25431 * ira-lives.c (mark_hard_reg_dead): Likewise.
25432 * loop-invariant.c (mark_reg_store): Likewise.
25433 (mark_reg_death): Likewise.
25434 * postreload.c (reload_combine): Likewise.
25435 (reload_combine_note_store): Likewise.
25436 (reload_combine_note_use): Likewise.
25437 * recog.c (peep2_reg_dead_p): Likewise.
25438
25439 2015-05-19 Alan Modra <amodra@gmail.com>
25440
25441 * config/rs6000/predicates.md (gpc_reg_operand): Don't allow all
25442 hard registers numbered greater or equal to ARG_POINTER_REGNUM.
25443 (reg_or_neg_short_operand, fix_trunc_dest_operand): Delete
25444 unused predicates.
25445 * config/rs6000/altivec.md (save_vregs_*, restore_vregs_*):
25446 Use altivec_register_operand. Make insn predicate TARGET_ALTIVEC.
25447 * config/rs6000/rs6000.md (extzvdi_internal2): Use cc_reg_operand.
25448 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Expand comment.
25449
25450 2015-05-19 Sameera Deshpande <Sameera.Deshpande@imgtec.com>
25451
25452 * config/mips/mips.md (JOIN_MODE): New mode iterator.
25453 (join2_load_Store<JOIN_MODE:mode>): New pattern.
25454 (join2_loadhi): Likewise.
25455 (define_peehole2): Add peephole2 patterns to join 2 HI/SI/SF/DF-mode
25456 load-load and store-stores.
25457 * config/mips/mips.opt (mload-store-pairs): New option.
25458 (TARGET_LOAD_STORE_PAIRS): New macro.
25459 * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Likewise.
25460 * config/mips/mips-protos.h (mips_load_store_bonding_p): New prototype.
25461 * config/mips/mips.c (mips_load_store_bonding_p): New function.
25462
25463 2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
25464
25465 * bb-reorder.c (fix_up_fall_thru_edges): Use std::swap instead of
25466 explicit swaps.
25467 * dojump.c (do_compare_rtx_and_jump): Likewise.
25468 * expmed.c (emit_store_flag_1): Likewise.
25469 * fibonacci_heap.h (fibonacci_heap::union_with): Likewise.
25470 * final.c (sprint_ul): Use std::reverse for reversing a string.
25471 * fold-const.c (extract_muldiv_1): Use std::swap.
25472 * genmodes.c (emit_mode_int_n): Likewise.
25473 * ifcvt.c (dead_or_predicable): Likewise.
25474 * ira-build.c (ira_merge_live_ranges): Likewise.
25475 (swap_allocno_copy_ends_if_necessary): Likewise.
25476 * ira.c (ira_setup_alts): Likewise.
25477 * loop-iv.c (iv_analyze_expr): Likewise.
25478 (implies_p): Likewise.
25479 (canon_condition): Likewise.
25480 * lra-constraints.c (swap_operands): Likewise.
25481 * lra-lives.c (lra_merge_live_ranges): Likewise.
25482 * omega.c (swap): Remove.
25483 (bswap): Remove.
25484 (omega_unprotect_1): Use std::swap.
25485 (omega_solve_geq): Likewise.
25486 * optabs.c (expand_binop_directly): Likewise.
25487 (expand_binop): Likewise.
25488 (emit_conditional_move): Likewise.
25489 (emit_conditional_add): Likewise.
25490 * postreload.c (reload_cse_simplify_operands): Likewise.
25491 * reg-stack.c (emit_swap_insn): Likewise.
25492 (swap_to_top): Likewise.
25493 (compare_for_stack_reg): Likewise.
25494 (subst_asm_stack_regs): Likewise.
25495 * reload.c (find_reloads): Likewise.
25496 * reload1.c (gen_reload_chain_without_interm_reg_p): Likewise.
25497 * sel-sched.c (invoke_reorder_hooks): Likewise.
25498 (create_block_for_bookkeeping): Likewise.
25499 * tree-data-ref.c (lambda_matrix_row_exchange): Remove.
25500 (lambda_matrix_right_hermite): Use std::swap.
25501 * tree-ssa-coalesce.c (sort_coalesce_list): Likewise.
25502 * tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
25503 * tree-ssa-loop-ivopts.c (iv_ca_delta_reverse): Likewise.
25504 * tree-ssa-math-opts.c (is_widening_mult_p): Likewise.
25505 * tree-ssa-phiopt.c (hoist_adjacent_loads): Likewise.
25506 * tree-ssa-reassoc.c (linearize_expr_tree): Likewise.
25507 * tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise.
25508 * tree-vrp.c (compare_ranges): Likewise.
25509 * var-tracking.c (add_with_sets): Likewise.
25510 (vt_find_locations): Likewise.
25511
25512 2015-05-18 Andreas Tobler <andreast@gcc.gnu.org>
25513
25514 * config/freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build
25515 pie executables.
25516 (FBSD_ENDFILE_SPEC): Likewise.
25517 * config/i386/freebsd.h (STARTFILE_SPEC): Remove and use the one from
25518 config/freebsd-spec.h.
25519 (ENDFILE_SPEC): Likewise.
25520
25521 2015-05-18 Uros Bizjak <ubizjak@gmail.com>
25522 Richard Henderson <rth@redhat.com>
25523
25524 PR target/57032
25525 * config/alpha/constraints.md (Q): Rewrite as define_memory_constraint.
25526 Check for a memory location that is not a reference (using an AND)
25527 to an unaligned location here.
25528 * config/alpha/predicates.md (normal_memory_operand): Remove.
25529
25530 2015-05-18 Alex Velenko <Alex.Velenko@arm.com>
25531
25532 * config/arm/arm.md (andsi_not_shiftsi_si_scc): New pattern.
25533 (andsi_not_shiftsi_si_scc_no_reuse): New pattern.
25534
25535 2015-05-18 Robert Suchanek <robert.suchanek@imgtec.com>
25536
25537 * config/mips/mips.c (micromips_globals): New variable.
25538 (mips_set_compression_mode): Save and reinitialize target-dependent
25539 state for microMIPS.
25540
25541 2015-05-18 Martin Liska <mliska@suse.cz>
25542
25543 * dbgcnt.def: Add new counter.
25544 * ipa-icf.c (sem_item_optimizer::merge_classes): Use the counter.
25545
25546 2015-05-18 Martin Liska <mliska@suse.cz>
25547
25548 * dbgcnt.def: Sort counters.
25549 * opts.c (common_handle_option): Do not compile if
25550 -fdbg-cnt-list is enabled.
25551
25552 2015-05-18 Tom de Vries <tom@codesourcery.com>
25553
25554 * gimplify.c (gimplify_modify_expr): Remove do_deref handling.
25555 (gimplify_va_arg_expr): Remove do_deref handling. Remove adding of
25556 address operator to va_list operand.
25557 * tree-stdarg.c (expand_ifn_va_arg_1): Do deref of va_list operand
25558 unconditionally.
25559 * config/i386/i386.c (ix86_gimplify_va_arg): Remove deref on va_list
25560 operand.
25561 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Same.
25562 * config/s390/s390.c (s390_gimplify_va_arg): Same.
25563 * config/spu/spu.c (spu_gimplify_va_arg_expr): Same.
25564
25565 2015-05-18 Tom de Vries <tom@codesourcery.com>
25566
25567 * tree-ssa-tail-merge.c: Fix whitespace.
25568
25569 2015-05-17 Jim Wilson <jim.wilson@linaro.org>
25570
25571 * doc/invoke.texi (ARM Options, mtune): Add generic-armv7-a,
25572 cortex-a17, and cortex-a17.cortex-a7.
25573
25574 2015-05-17 Oleg Endo <olegendo@gcc.gnu.org>
25575
25576 PR target/54236
25577 * config/sh/sh.md (*addc_2r_t): Use ashift instead of mult.
25578
25579 2015-05-17 Uros Bizjak <ubizjak@gmail.com>
25580
25581 PR target/66174
25582 * config/i386/i386.c (expand_vec_perm_blend): Enable HImode and
25583 QImode inner modes for TARGET_AVX512BW. Force mask operand
25584 to a register for AVX512F modes.
25585
25586 2015-05-16 Jan Hubicka <hubicka@ucw.cz>
25587
25588 * toplev.c (emit_debug_global_declarations): Do not output debug info
25589 when doing slim LTO objects.
25590
25591 2015-05-16 Jan Hubicka <hubicka@ucw.cz>
25592
25593 * ipa-utils.h (warn_types_mismatch, odr_or_derived_type_p,
25594 odr_types_equivalent_p): Declare.
25595 (odr_type_p): Use gcc_checking_assert.
25596 (type_in_anonymous_namespace_p) Declare.
25597 (type_with_linkage_p): Declare.
25598 * common.opt (Wlto-type-mismatch): New warning.
25599 * ipa-devirt.c (compound_type_base): New function.
25600 (odr_or_derived_type_p): New function.
25601 (odr_types_equivalent_p): New function.
25602 (add_type_duplicate): Simplify.
25603 (type_with_linkage_p): Add hack to prevent false positives on C types
25604 (type_in_anonymous_namespace_p): Likewise.
25605 * tree.c (need_assembler_name_p): Use type_with_linkage.
25606 * tree.h (type_in_anonymous_namespace_p): Remove.
25607 * doc/invoke.texi (-Wlto-type-mismatch): Document
25608
25609 2015-05-16 Jan Hubicka <hubicka@ucw.cz>
25610
25611 * tree.c (verify_type_variant): Verify tree_base and type_common flags.
25612 (verify_type): Verify STRING_FLAG.
25613
25614 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
25615
25616 PR fortran/44054
25617 * tree-pretty-print.c (percent_K_format): Replace locus pointer
25618 with accessor function.
25619 * tree-diagnostic.c (diagnostic_report_current_function): Use
25620 diagnostic_location function.
25621 (maybe_unwind_expanded_macro_loc): Likewise.
25622 (virt_loc_aware_diagnostic_finalizer): Likewise.
25623 (default_tree_printer): Replace locus pointer with accessor function.
25624 * diagnostic.c (diagnostic_initialize): Initialize caret_chars array.
25625 (diagnostic_set_info_translated): Initialize second location.
25626 (diagnostic_build_prefix): Use CARET_LINE_MARGIN.
25627 (diagnostic_show_locus): Handle two locations. Call
25628 diagnostic_print_caret_line.
25629 (diagnostic_print_caret_line): New.
25630 (default_diagnostic_starter): Use diagnostic_location function.
25631 (diagnostic_report_diagnostic): Use diagnostic_location function.
25632 (verbatim): Do not set text.locus.
25633 * diagnostic.h (struct diagnostic_info): Remove location field.
25634 (struct diagnostic_context): Make caret_chars an array of two.
25635 (diagnostic_location): New inline.
25636 (diagnostic_expand_location): Handle two locations.
25637 (diagnostic_same_line): New inline.
25638 (diagnostic_print_caret_line): Declare.
25639 (CARET_LINE_MARGIN): New constant.
25640 * pretty-print.c (pp_printf): Do not set text.locus.
25641 (pp_verbatim): Do not set text.locus.
25642 * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): New constant.
25643 (struct text_info): Replace locus pointer with locations
25644 array. Add accessor functions.
25645
25646 2015-05-16 Kugan Vivekanandarajah <kuganv@linaro.org>
25647 Zhenqiang Chen <zhenqiang.chen@linaro.org>
25648
25649 PR target/65768
25650 * config/arm/arm.h (DONT_EARLY_SPLIT_CONSTANT): New macro.
25651 * config/arm/arm.md (subsi3, andsi3, iorsi3, xorsi3, movsi): Keep some
25652 large constants in register instead of splitting them.
25653
25654 2015-05-16 Uros Bizjak <ubizjak@gmail.com>
25655
25656 PR target/66140
25657 * config/alpha/alpha.c (get_aligned_mem): Also look for reload
25658 replacements in memory addresses.
25659 (get_unaligned_address): Ditto.
25660
25661 2015-05-16 James Bowman <james.bowman@ftdichip.com>
25662
25663 * config/ft32/*: New files for FT32 port.
25664 * doc/install.texi: Add FT32 information.
25665 * doc/invoke.texi: Add FT32 information.
25666 * doc/md.texi: Add FT32 information.
25667 * doc/contrib.texi: Self added.
25668
25669 2015-05-15 Marc Glisse <marc.glisse@inria.fr>
25670
25671 PR tree-optimization/64454
25672 * match.pd ((X % Y) % Y, (X % Y) < Y): New patterns.
25673 (-1 - A -> ~A): Remove unnecessary condition.
25674
25675 2015-05-15 Gregor Richards <gregor.richards@uwaterloo.ca>
25676
25677 * config/i386/linux.h (MUSL_DYNAMIC_LINKER): Define.
25678 * config/i386/linux64.h (MUSL_DYNAMIC_LINKER32): Define.
25679 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32): Define.
25680
25681 2015-05-15 Ilya Enkovich <ilya.enkovich@intel.com>
25682
25683 * ipa-chkp.h (chkp_wrap_function): New.
25684 * ipa-chkp.c (chkp_wrap_function): Remove 'static'.
25685 (chkp_wrap_function_name): New.
25686 (chkp_build_instrumented_fndecl): Use chkp_wrap_function_name
25687 to get wrapper name.
25688 * lto-cgraph.c: Include ipa-chkp.h.
25689 (input_cgraph_1): Avoid alias chain for wrappers.
25690
25691 2015-05-15 Ilya Enkovich <enkovich.gnu@gmail.com>
25692
25693 PR middle-end/66134
25694 * tree-chkp.c (chkp_get_orginal_bounds_for_abnormal_copy): New.
25695 (chkp_maybe_copy_and_register_bounds): Don't copy abnormal copy.
25696
25697 2015-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
25698
25699 * config/aarch64/aarch64.h (AARCH64_TUNE_SLOWMUL): Delete.
25700 (AARCH64_FL_SLOWMUL): Delete.
25701 (AARCH64_FL_CRC): Redefine to 1<<3.
25702 (AARCH64_FL_USE_FMA_STEERING_PASS): Redefine to 1<<4.
25703
25704 2015-05-15 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
25705
25706 * config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Add appropriate
25707 casting.
25708
25709 2015-05-15 Uros Bizjak <ubizjak@gmail.com>
25710
25711 * config/alpha/alpha.md (extendqidi2): Use general_operand
25712 instead of some_operand for operand[1] predicate.
25713 (extendhidi2): Ditto.
25714 (cbranchdi4): Use general_operand instead of some_operand
25715 for operand[1] and operands[2] predicates.
25716 (cstoredi4): Ditto.
25717 * config/alpha/predicates.md (some_operand): Remove unused predicate.
25718 (some_ni_operand): Ditto.
25719
25720 2015-05-15 Uros Bizjak <ubizjak@gmail.com>
25721
25722 * config/alpha/alpha.c (alpha_extract_integer): Do not handle
25723 CONST_WIDE_INT and CONST_DOUBLE. Assert CONST_INT_P (x).
25724 (alpha_legitimate_constant_p) <case CONST_WIDE_INT>: Check high and
25725 low part of the constant using alpha_emit_set_const_1.
25726 (alpha_expand_mov): Do not handle CONST_WIDE_INT and CONST_DOUBLE.
25727
25728 2015-05-14 Rohit Arul Raj <rohitrulraj@freescale.com>
25729
25730 * varasm.c (output_constant_pool_1): Pass down alignment from
25731 constant pool entry's descriptor to output_constant_pool_2.
25732 (output_object_block): Add comment prior to call to
25733 output_constant_pool_1.
25734
25735 2015-05-14 Vladimir Makarov <vmakarov@redhat.com>
25736
25737 PR rtl-optimization/65862
25738 * target.def (ira_change_pseudo_allocno_class): New hook.
25739 * targhooks.c (default_ira_change_pseudo_allocno_class): Default
25740 value of the hook.
25741 * targhooks.h (default_ira_change_pseudo_allocno_class): New extern.
25742 * doc/tm.texi.in (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Add the
25743 hook.
25744 * ira-costs.c (find_costs_and_classes): Call the hook and change
25745 classes when it is necessary.
25746 * doc/tm.texi: Update.
25747
25748 2015-05-14 Alexander Monakov <amonakov@ispras.ru>
25749
25750 * config/i386/i386.md (sibcall_memory): Check that register with
25751 callee address is not also used as one of the arguments, instead
25752 of checking that it is not live after the sibcall.
25753 (sibcall_pop_memory): Ditto.
25754 (sibcall_value_memory): Ditto.
25755 (sibcall_value_pop_memory): Ditto.
25756
25757 2015-05-14 Marc Glisse <marc.glisse@inria.fr>
25758
25759 * generic-match-head.c (types_match): Handle non-types.
25760 * gimple-match-head.c (types_match): Likewise.
25761 * match.pd: Remove unnecessary TREE_TYPE for types_match.
25762
25763 2015-05-14 Wilco Dijkstra <wdijkstr@arm.com>
25764
25765 * config/aarch64/aarch64.md (absdi2): Optimize abs expansion.
25766 (csneg3<mode>_insn): Enable expansion of pattern.
25767
25768 2015-05-14 Nick Clifton <nickc@redhat.com>
25769
25770 * config/rl78/rl78.c (rl78_select_section): Select the correct
25771 default section based upon the category of the decl.
25772
25773 2015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
25774
25775 PR rtl-optimization/30967
25776 * config/rs6000/rs6000.c (rs6000_rtx_costs): Don't consider
25777 destination mode for the cost of scc patterns.
25778
25779 2015-05-13 Uros Bizjak <ubizjak@gmail.com>
25780
25781 * config/i386/i386.md (*mul<mode>3_1): Merge with *mulhi3_1
25782 using SWIM248 mode iterator.
25783 (*mulv<mode>4): Use x86_64_sext_operand for operand[2] constraint.
25784 (*mulvhi4): mark operand[1] as commutative. Use nonimmediate_operand
25785 for operand[2] constraint.
25786 (*mulv<mode>4_1): Merge with *mulvhi4_1 using SWI248 mode iterator.
25787
25788 2015-05-13 Jakub Jelinek <jakub@redhat.com>
25789
25790 PR middle-end/66133
25791 * omp-low.c (expand_omp_taskreg): For GIMPLE_OMP_TASK expansion,
25792 make sure it is never noreturn, even when the task body does not
25793 return.
25794 (lower_omp_taskreg): For GIMPLE_OMP_TASK, emit GIMPLE_OMP_CONTINUE
25795 right before GIMPLE_OMP_RETURN.
25796 (make_gimple_omp_edges): Accept GIMPLE_OMP_CONTINUE as ->cont
25797 for GIMPLE_OMP_TASK. For GIMPLE_OMP_RETURN corresponding to
25798 GIMPLE_OMP_TASK add an EDGE_ABNORMAL edge from entry to exit.
25799
25800 2015-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
25801
25802 * params.def (PARAM_MAX_POW_SQRT_DEPTH): New param.
25803 * tree-ssa-math-opts.c: Include params.h
25804 (pow_synth_sqrt_info): New struct.
25805 (representable_as_half_series_p): New function.
25806 (get_fn_chain): Likewise.
25807 (print_nested_fn): Likewise.
25808 (dump_fractional_sqrt_sequence): Likewise.
25809 (dump_integer_part): Likewise.
25810 (expand_pow_as_sqrts): Likewise.
25811 (gimple_expand_builtin_pow): Use above to attempt to expand
25812 pow as series of square roots. Removed now unused variables.
25813
25814 2015-05-13 Uros Bizjak <ubizjak@gmail.com>
25815
25816 * config/alpha/alpha.c (alpha_emit_set_long_const): Remove c1 argument.
25817 (alpha_extract_integer): Redeclare as static HOST_WIDE_INT.
25818 Remove *p0 and *p1 arguments. Rewrite function.
25819 (alpha_legitimate_constant_p): Update call to alpha_extract_integer.
25820 (alpha_split_const_mov): Update calls to alpha_extract_integer and
25821 alpha_emit_set_long_const.
25822 (alpha_expand_epilogue): Update calls to alpha_emit_set_long_const.
25823 (alpha_output_mi_thunk_osf): Ditto.
25824 * config/alpha/alpha.md (movti): Do not check operands[1]
25825 for CONST_DOUBLE.
25826
25827 2015-05-13 Richard Biener <rguenther@suse.de>
25828
25829 PR tree-optimization/66129
25830 * tree-vect-slp.c (vect_build_slp_tree): Make sure all ops are
25831 commutative.
25832 (vect_schedule_slp_instance): Fix typo.
25833
25834 2015-05-13 David Malcolm <dmalcolm@redhat.com>
25835
25836 * common.opt (fdump-internal-locations): New option.
25837 * input.c: Include diagnostic-core.h.
25838 (get_end_location): New function.
25839 (write_digit): New function.
25840 (write_digit_row): New function.
25841 (dump_location_range): New function.
25842 (dump_labelled_location_range): New function.
25843 (dump_location_info): New function.
25844 * input.h (dump_location_info): New prototype.
25845 * toplev.c (compile_file): Handle flag_dump_locations.
25846
25847 2015-05-13 Eric Botcazou <ebotcazou@adacore.com>
25848
25849 * gimple-expr.h (is_gimple_constant): Reorder.
25850 * tree-ssa-propagate.c (before_dom_children): Use inline accessor.
25851
25852 2015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
25853
25854 * combine.c (simplify_set): When generating a CC set, if the
25855 source already is in the correct mode, do not wrap it in a
25856 compare. Simplify the rest of that code.
25857
25858 2015-05-13 Richard Biener <rguenther@suse.de>
25859
25860 PR tree-optimization/66123
25861 * tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found
25862 a taken edge.
25863
25864 2015-05-13 Richard Biener <rguenther@suse.de>
25865
25866 PR middle-end/66110
25867 * alias.c (alias_sets_conflict_p): Do not treat has_zero_child
25868 specially.
25869 * Makefile.in (dfp.o-warn): Add -Wno-strict-aliasing.
25870
25871 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
25872
25873 * doc/install.texi: Bump latest automake 1.11 version to 1.11.6.
25874 * aclocal.m4: Regenerated with automake-1.11.6.
25875
25876 2015-05-13 Tom de Vries <tom@codesourcery.com>
25877
25878 PR tree-optimization/66010
25879 * gimplify.h (gimplify_va_arg_internal): Remove declaration.
25880 * gimplify.c (gimplify_va_arg_internal): Remove and inline into ...
25881 * tree-stdarg.c (expand_ifn_va_arg_1): ... here. Choose between lval
25882 and rval based on do_deref.
25883
25884 2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
25885
25886 PR target/65103
25887 * config/i386/i386.c (ix86_rtx_costs): We want to propagate
25888 link time constants into adress expressions and therefore set
25889 their cost to 0.
25890
25891 2015-05-13 Jakub Jelinek <jakub@redhat.com>
25892
25893 PR target/66112
25894 * config/i386/i386.md (mulv<mode>4, umulv<mode>4, *umulv<mode>4):
25895 Use SWI248 iterator instead of SWI.
25896 (*mulv<mode>4_1): Use SWI48 instead of SWI. Simplify output template.
25897 Use eq_attr "alternative" "0" instead of match_test in
25898 length_immediate attribute computation.
25899 (*mulvhi4, *mulvhi4_1): New define_insns.
25900
25901 PR target/66112
25902 * internal-fn.c (get_min_precision): Use UNSIGNED instead of
25903 SIGNED to get precision of non-negative value.
25904
25905 2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
25906
25907 PR target/66048
25908 * function.c (diddle_return_value_1): Process bounds first.
25909 * config/i38/i386.c (ix86_function_value_regno_p): Add bnd1
25910 register.
25911
25912 2015-05-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
25913
25914 PR rtl-optimization/64616
25915 * loop-invariant.c (can_move_invariant_reg): New.
25916 (move_invariant_reg): Call above new function to decide whether
25917 instruction can just be moved, skipping creation of temporary
25918 register.
25919
25920 2015-05-12 Jan Hubicka <hubicka@ucw.cz>
25921
25922 PR target/pr66047.c
25923 * i386.c (ix86_function_sseregparm): Only return -1 if local function
25924 with implied regparm is called from -mno-sse function.
25925 (init_cumulative_args): Output error if ix86_function_sseregparm
25926 return -1 and SSE register would be needed.
25927 (function_arg_advance_32): Likewise.
25928 (function_arg_32): Likewise.
25929 * i386.h (ix86_args): Add decl field.
25930
25931 2015-05-12 Jan Hubicka <hubicka@ucw.cz>
25932
25933 PR ipa/65873
25934 * ipa-inline.c (can_inline_edge_p): Allow early inlining of always
25935 inlines across optimization boundary.
25936
25937 2015-05-12 Jason Merrill <jason@redhat.com>
25938
25939 * config/mmix/mmix.c, config/msp430/msp430.c: Add space between
25940 string literal and macro name.
25941
25942 2015-05-12 Steve Ellcey <sellcey@imgtec.com>
25943
25944 * config/mips/mips.c (mips_print_operand): Remove 'y' operand code.
25945 * config/mips/mips.md (<GPR:d>lsa): Rewrite with shift operator.
25946 * config/mips/predicates.md (const_immlsa_operand): Remove log call.
25947
25948 2015-05-12 David Malcolm <dmalcolm@redhat.com>
25949
25950 * doc/invoke.texi (Warning Options): Add -Wmisleading-indentation.
25951 (-Wmisleading-indentation): New option.
25952 * Makefile.in (C_COMMON_OBJS): Add c-family/c-indentation.o.
25953
25954 2015-05-12 Uros Bizjak <ubizjak@gmail.com>
25955
25956 * config/alpha/alpha.h (TARGET_SUPPORTS_WIDE_INT): New define.
25957 * config/alpha/alpha.c (alpha_rtx_costs): Handle CONST_WIDE_INT.
25958 (alpha_extract_integer): Ditto.
25959 (alpha_legitimate_constant_p): Ditto.
25960 (alpha_split_tmode_pair): Ditto.
25961 (alpha_preferred_reload_class): Add CONST_WIDE_INT.
25962 (alpha_expand_mov): Ditto.
25963 (print_operand): Remove handling of 'H' modifier.
25964 <case 'm'>: Remove CONST_DOUBLE handling.
25965 (summarize_insn): Handle CONST_WIDE_INT.
25966 * config/alpha/alpha.md (*andsi_internal): Remove H constraint.
25967 (anddi3): Ditto.
25968 (movti): Handle CONST_WIDE_INT.
25969 * config/alpha/constraints.md ('H'): Remove constraint definition.
25970 ('G'): Do not match MODE_FLOAT class.
25971 * config/alpha/predicates.md (const0_operand): Also match
25972 const_wide_int.
25973 (non_add_const_operand): Ditto.
25974 (non_zero_const_operand): Ditto.
25975 (some_operand): Ditto.
25976 (input_operand): Ditto. Handle CONST_WIDE_INT.
25977 (and_operand): Do not match const_double.
25978 * config/alpha/sync.md (fetchop_constr): Remove H constraint.
25979
25980 2015-05-12 Andrew MacLeod <amacleod@redhat.com>
25981
25982 PR target/65697
25983 * coretypes.h (MEMMODEL_SYNC, MEMMODEL_BASE_MASK): New macros.
25984 (enum memmodel): Add SYNC_{ACQUIRE,RELEASE,SEQ_CST}.
25985 * tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed,
25986 is_mm_consume,is_mm_acquire, is_mm_release, is_mm_acq_rel,
25987 is_mm_seq_cst, is_mm_sync): New accessor functions.
25988 * builtins.c (expand_builtin_sync_operation,
25989 expand_builtin_compare_and_swap): Use MEMMODEL_SYNC_SEQ_CST.
25990 (expand_builtin_sync_lock_release): Use MEMMODEL_SYNC_RELEASE.
25991 (get_memmodel, expand_builtin_atomic_compare_exchange,
25992 expand_builtin_atomic_load, expand_builtin_atomic_store,
25993 expand_builtin_atomic_clear): Use new accessor routines.
25994 (expand_builtin_sync_synchronize): Use MEMMODEL_SYNC_SEQ_CST.
25995 * optabs.c (expand_compare_and_swap_loop): Use MEMMODEL_SYNC_SEQ_CST.
25996 (maybe_emit_sync_lock_test_and_set): Use new accessors and
25997 MEMMODEL_SYNC_ACQUIRE.
25998 (expand_sync_lock_test_and_set): Use MEMMODEL_SYNC_ACQUIRE.
25999 (expand_mem_thread_fence, expand_mem_signal_fence, expand_atomic_load,
26000 expand_atomic_store): Use new accessors.
26001 * emit-rtl.c (need_atomic_barrier_p): Add additional enum cases.
26002 * tsan.c (instrument_builtin_call): Update check for memory model beyond
26003 final enum to use MEMMODEL_LAST.
26004 * c-family/c-common.c: Use new accessor for memmodel_base.
26005 * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): Use new
26006 accessors.
26007 * config/aarch64/atomics.md (atomic_load<mode>,atomic_store<mode>,
26008 arch64_load_exclusive<mode>, aarch64_store_exclusive<mode>,
26009 mem_thread_fence, *dmb): Likewise.
26010 * config/alpha/alpha.c (alpha_split_compare_and_swap,
26011 alpha_split_compare_and_swap_12): Likewise.
26012 * config/arm/arm.c (arm_expand_compare_and_swap,
26013 arm_split_compare_and_swap, arm_split_atomic_op): Likewise.
26014 * config/arm/sync.md (atomic_load<mode>, atomic_store<mode>,
26015 atomic_loaddi): Likewise.
26016 * config/i386/i386.c (ix86_destroy_cost_data, ix86_memmodel_check):
26017 Likewise.
26018 * config/i386/sync.md (mem_thread_fence, atomic_store<mode>): Likewise.
26019 * config/ia64/ia64.c (ia64_expand_atomic_op): Add new memmodel cases and
26020 use new accessors.
26021 * config/ia64/sync.md (mem_thread_fence, atomic_load<mode>,
26022 atomic_store<mode>, atomic_compare_and_swap<mode>,
26023 atomic_exchange<mode>): Use new accessors.
26024 * config/mips/mips.c (mips_process_sync_loop): Likewise.
26025 * config/pa/pa.md (atomic_loaddi, atomic_storedi): Likewise.
26026 * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier,
26027 rs6000_post_atomic_barrier): Add new cases.
26028 (rs6000_expand_atomic_compare_and_swap): Use new accessors.
26029 * config/rs6000/sync.md (mem_thread_fence): Add new cases.
26030 (atomic_load<mode>): Add new cases and use new accessors.
26031 (store_quadpti): Add new cases.
26032 * config/s390/s390.md (mem_thread_fence, atomic_store<mode>): Use new
26033 accessors.
26034 * config/sparc/sparc.c (sparc_emit_membar_for_model): Use new accessors.
26035 * doc/extend.texi: Update docs to indicate 16 bits are used for memory
26036 model, not 8.
26037
26038 2015-05-12 Jan Hubicka <hubicka@ucw.cz>
26039
26040 * ipa-devirt.c (type_with_linkage_p): New function.
26041 (type_in_anonymous_namespace_p): Move here from tree.c; assert that
26042 type has linkage.
26043 (odr_type_p): Move here from ipa-utils.h; use type_with_linkage_p.
26044 (can_be_name_hashed_p): Simplify.
26045 (hash_odr_name): Check that type has linkage before checking if it is
26046 anonymous.
26047 (types_same_for_odr): Likewise.
26048 (odr_name_hasher::equal): Likewise.
26049 (odr_subtypes_equivalent_p): Likewise.
26050 (warn_types_mismatch): Likewise.
26051 (get_odr_type): Likewise.
26052 (odr_types_equivalent_p): Fix checking of TYPE_MAIN_VARIANT.
26053 * ipa-utils.h (odr_type_p): Move offline.
26054 * tree.c (need_assembler_name_p): Fix handling of types
26055 without linkages.
26056 (type_in_anonymous_namespace_p): Move to ipa-devirt.c
26057
26058 2015-05-12 David Malcolm <dmalcolm@redhat.com>
26059
26060 * timevar.c (timevar_enable): Delete in favor of...
26061 (g_timer): New global.
26062 (struct timevar_def): Move to timevar.h inside class timer.
26063 (struct timevar_stack_def): Likewise.
26064 (timevars): Delete global in favor of field "m_timevars" within
26065 class timer in timevar.h
26066 (stack): Likewise, in favor of field "m_stack".
26067 (unused_stack_instances): Likewise, in favor of field
26068 "m_unused_stack_instances".
26069 (start_time): Likewise, in favor of field "m_start_time".
26070 (get_time): Eliminate check for timevar_enable.
26071 (timer::timer): New function, built from part of timevar_init.
26072 (timevar_init): Rewrite idempotency test from using
26073 "timevar_enable" bool to using dynamic allocation of "g_timer".
26074 Move rest of implementation into timer's constructor.
26075 (timevar_push_1): Rename to...
26076 (timer::push): ...this, adding "m_" prefixes to variables that
26077 are now fields of timer.
26078 (timevar_pop_1): Likewise, rename to...
26079 (timer::pop): ...this, and add "m_" prefixes.
26080 (timevar_start): Replace test for "timevar_enable" with one for
26081 "g_timer", and move bulk of implementation to...
26082 (timer::start): ...here, adding "m_" prefixes.
26083 (timevar_stop): Likewise, from here...
26084 (timer::stop): ...to here.
26085 (timevar_cond_start): Likewise, from here...
26086 (timer::cond_start): ...to here.
26087 (timevar_cond_stop): Likewise, from here...
26088 (timer::cond_stop): ...to here.
26089 (validate_phases): Rename to...
26090 (timer::validate_phases): ...this, and add "m_" prefixes. Make
26091 locals "total" and "tv" const.
26092 (timevar_print): Rename to...
26093 (timer::print): ...this, and add "m_" prefixes. Make locals
26094 "total" and "tv" const. Eliminate test for timevar_enable.
26095 * timevar.h (timevar_enable): Eliminate.
26096 (g_timer): New declaration.
26097 (timevar_push_1): Eliminate.
26098 (timevar_pop_1): Eliminate.
26099 (timevar_print): Eliminate.
26100 (class timer): New class.
26101 (timevar_push): Rewrite to use g_timer.
26102 (timevar_pop): Likewise.
26103 * toplev.c (toplev::~toplev): Likewise.
26104
26105 2015-05-12 Richard Earnshaw <rearnsha@arm.com>
26106
26107 * arm-protos.h (arm_sched_autopref): Delete.
26108 (tune_params): Re-organize, use enums for flag values.
26109 (FUSE_OPS): New macro.
26110 * arm.c (ARM_PREFETCH_NOT_BENEFICIAL): Update.
26111 (ARM_PREFETCH_BENEFICIAL): Likewise.
26112 (ARM_FUSE_NOTHING, ARM_FUSE_MOVW_MOVT): Delete.
26113 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
26114 (arm_xscale_tune, arm_9e_tune, arm_marvell_pj4_tune)
26115 (arm_v6t2_tune, arm_cortex_tune, arm_cortex_a8_tune)
26116 (arm_cortex_a7_tune, arm_cortex_a15_tune, arm_cortex_a53_tune)
26117 (arm_cortex_a57_tune, arm_xgene1_tune, arm_cortex_a5_tune)
26118 (arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune)
26119 (arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune): Use new
26120 format.
26121 (arm_option_override, thumb2_reorg, arm_print_tune_info)
26122 (aarch_macro_fusion_pair_p): Update uses of current_tune.
26123 * arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Likewise.
26124
26125 2015-05-12 Sandra Loosemore <sandra@codesourcery.com>
26126
26127 * config/nios2/nios2.md (trap, ctrapsi4): Use "trap" instead of
26128 "break".
26129
26130 2015-05-12 Chung-Lin Tang <cltang@codesourcery.com>
26131 Sandra Loosemore <sandra@codesourcery.com>
26132
26133 * config/nios2/nios2.h (enum reg_class): Add IJMP_REGS enum
26134 value.
26135 (REG_CLASS_NAMES): Add "IJMP_REGS".
26136 (REG_CLASS_CONTENTS): Add new entry for IJMP_REGS.
26137 * config/nios2/nios2.md (indirect_jump,*tablejump): Adjust to
26138 use new "c" register constraint.
26139 * config/nios2/constraint.md (c): New register constraint
26140 corresponding to IJMP_REGS.
26141
26142 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
26143
26144 * config/rs6000/rs6000.md (*rotlsi3_internal4, *rotlsi3_internal5,
26145 *rotlsi3_internal6, rlwinm, 5 unnamed define_insns, and 6
26146 define_splits): Delete, revamp, transmogrify into ...
26147 (*rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
26148 *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
26149 *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
26150 New.
26151
26152 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
26153
26154 * config/rs6000/rs6000.md (rs6000_adjust_atomic_subword): Use
26155 gen_ashlsi3 and gen_andsi3 instead of gen_rlwinm.
26156
26157 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
26158
26159 * config/rs6000/rs6000.md (extzv): FAIL for SImode.
26160 (extzvsi_internal, *extzvsi_internal1, *extzvsi_internal2,
26161 *rotlsi3_internal7le, *rotlsi3_internal7be, *rotlsi3_internal8le,
26162 *rotlsi3_internal8be, *rotlsi3_internal9le, *rotlsi3_internal9be,
26163 *rotlsi3_internal10le, *rotlsi3_internal10be, *rotlsi3_internal11le,
26164 *rotlsi3_internal11be, *rotlsi3_internal12le, *rotlsi3_internal12be,
26165 *lshiftrt_internal1le, *lshiftrt_internal1be, *lshiftrt_internal2le,
26166 *lshiftrt_internal2be, *lshiftrt_internal3le, *lshiftrt_internal3be,
26167 *lshiftrt_internal4le, *lshiftrt_internal4be, *lshiftrt_internal5le,
26168 *lshiftrt_internal5be, *lshiftrt_internal5le, *lshiftrt_internal5be,
26169 *rotldi3_internal7le, *rotldi3_internal7be, *rotldi3_internal8le,
26170 *rotldi3_internal8be, *rotldi3_internal9le, *rotldi3_internal9be,
26171 *rotldi3_internal10le, *rotldi3_internal10be, *rotldi3_internal11le,
26172 *rotldi3_internal11be, *rotldi3_internal12le, *rotldi3_internal12be,
26173 *rotldi3_internal13le, *rotldi3_internal13be, *rotldi3_internal14le,
26174 *rotldi3_internal14be, *rotldi3_internal15le, *rotldi3_internal15be,
26175 and 30 corresponding splitters): Delete.
26176
26177 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
26178
26179 * config/rs6000/rs6000.md (define_split for bswaphi): Don't use
26180 zero_extract.
26181
26182 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
26183
26184 * combine.c (recog_for_combine_1): New function, factored out
26185 from recog_for_combine.
26186 (change_zero_ext): New function.
26187 (recog_for_combine): If recog fails, try again with the pattern
26188 modified by change_zero_ext; if that still fails, restore the
26189 pattern.
26190
26191 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
26192
26193 * combine.c (get_undo_marker): New function.
26194 (undo_to_marker): New function, largely factored out from ...
26195 (undo_all): ... this. Adjust.
26196
26197 2015-05-12 Richard Biener <rguenther@suse.de>
26198
26199 PR tree-optimization/66101
26200 * tree-ssa-dce.c (remove_dead_stmt): Properly mark loops for
26201 fixup if we turn a loop exit edge to a fallthru edge.
26202
26203 2015-05-12 Richard Biener <rguenther@suse.de>
26204
26205 PR tree-optimization/37021
26206 * tree-vectorizer.h (struct _slp_tree): Add two_operators flag.
26207 (SLP_TREE_TWO_OPERATORS): New define.
26208 * tree-vect-slp.c (vect_create_new_slp_node): Initialize
26209 SLP_TREE_TWO_OPERATORS.
26210 (vect_build_slp_tree_1): Allow two mixing plus/minus in an
26211 SLP node.
26212 (vect_build_slp_tree): Adjust.
26213 (vect_analyze_slp_cost_1): Likewise.
26214 (vect_schedule_slp_instance): Vectorize mixing plus/minus by
26215 emitting two vector stmts and mixing the results.
26216
26217 2015-05-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
26218
26219 * call.c (print_z_candidates): Remove dead code.
26220
26221 2015-05-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
26222
26223 * config/s390/2827.md: Split zEC12_simple into zEC12_simple_int
26224 and zEC12_simple_fp.
26225 * config/s390/s390.c (s390_issue_rate): Set issue rate for zEC12
26226 to 1.
26227
26228 2015-05-12 Tom de Vries <tom@codesourcery.com>
26229
26230 PR tree-optimization/66010
26231 * gimplify.c (gimplify_modify_expr): Handle new do_deref argument of
26232 ifn_va_arg.
26233 * gimplify.h (gimplify_va_arg_internal): Remove loc parameter.
26234 (gimplify_va_arg_internal): Remove loc parameter. Assert no array-typed
26235 va_lists are passed, and remove corresponding handling.
26236 (gimplify_va_arg_expr): Only take address of ap if necessary. Add
26237 do_deref argument to ifn_va_arg.
26238 * tree-stdarg.c (expand_ifn_va_arg_1): Handle new do_deref argument of
26239 ifn_va_arg.
26240
26241 2015-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
26242
26243 PR target/65955
26244 * config/arm/arm.md (movcond_addsi): Check that operands[2] is a
26245 REG before taking its REGNO.
26246
26247 2015-05-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
26248
26249 * combine.c i(set_nonzero_bits_and_sign_copies): Split code updating
26250 rsp->sign_bit_copies and rsp->nonzero_bits into ...
26251 (update_rsp_from_reg_equal): This. Also use REG_EQUAL note on src if
26252 present to get more accurate information about the number of sign bit
26253 copies and non zero bits.
26254
26255 2015-05-12 Richard Biener <rguenther@suse.de>
26256
26257 * tree-vect-slp.c (vect_build_slp_tree_1): For BB vectorization
26258 do not allow unrolling.
26259
26260 2015-05-11 Richard Henderson <rth@redhat.com>
26261
26262 * config/i386/i386-modes.def (CCP): New.
26263 * config/i386/i386.c (put_condition_code): Handle it.
26264 (ix86_match_ccmode, ix86_cc_modes_compatible): Likewise.
26265
26266 2015-05-11 Richard Henderson <rth@redhat.com>
26267
26268 * target.def (md_asm_clobbers): Replace with...
26269 (md_asm_adjust): this.
26270 * tm.texi.in (TARGET_MD_ASM_CLOBBERS): Remove.
26271 (TARGET_MD_ASM_ADJUST): New.
26272 * tm.texi: Rebuild.
26273 * hooks.c (hook_tree_tree_tree_tree_3rd_identity): Remove.
26274 * hooks.h (hook_tree_tree_tree_tree_3rd_identity): Remove.
26275 * system.h (TARGET_MD_ASM_CLOBBERS): Poison.
26276
26277 * cfgexpand.c (check_operand_nalternatives): Accept vector of
26278 constraints instead of lists of outputs and inputs.
26279 (expand_asm_stmt): Save and restore input_location around the
26280 body of the function. Move asm data into vectors instead of
26281 building tree lists. Generate cleanup sequences as needed,
26282 rather than waiting til the end. Use new md_asm_adjust hook.
26283
26284 * config/vxworks.c: Include vec.h before target.h.
26285 * gimple.c: Likewise.
26286 * incpath.c: Likewise.
26287 * mode-switching.c: Likewise.
26288
26289 * config/cris/cris.c (cris_md_asm_clobbers): Convert to...
26290 (cris_md_asm_adjust): this.
26291 (TARGET_MD_ASM_CLOBBERS): Remove.
26292 (TARGET_MD_ASM_ADJUST): New.
26293 * config/i386/i386.c (ix86_md_asm_clobbers): Convert to...
26294 (ix86_md_asm_adjust): this.
26295 (TARGET_MD_ASM_CLOBBERS): Remove.
26296 (TARGET_MD_ASM_ADJUST): New.
26297 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): Convert to...
26298 (mn10300_md_asm_adjust): this.
26299 (TARGET_MD_ASM_CLOBBERS): Remove.
26300 (TARGET_MD_ASM_ADJUST): New.
26301 * config/rs6000/rs6000.c (rs6000_md_asm_clobbers): Convert to...
26302 (rs6000_md_asm_adjust): this.
26303 (TARGET_MD_ASM_CLOBBERS): Remove.
26304 (TARGET_MD_ASM_ADJUST): New.
26305 * config/visium/visium.c (visium_md_asm_clobbers): Convert to...
26306 (visium_md_asm_adjust): this.
26307 (TARGET_MD_ASM_CLOBBERS): Remove.
26308 (TARGET_MD_ASM_ADJUST): New.
26309
26310 2015-05-11 Richard Henderson <rth@redhat.com>
26311
26312 * gimplify.c (gimplify_asm_expr): Set gimple_asm_volatile_p
26313 if noutputs is zero.
26314 * cfgexpand.c (expand_asm_stmt): Use gimple_asm_volatile_p unchanged.
26315
26316 * cfgexpand.c (expand_asm_operands): Merge into...
26317 (expand_asm_stmt): ... here.
26318
26319 * cfgexpand.c (expand_asm_operands): Don't call
26320 resolve_asm_operand_names.
26321 * stmt.c (resolve_asm_operand_names): Clarify block comment.
26322
26323 2015-05-11 Jan Hubicka <hubicka@ucw.cz>
26324
26325 * dwarf2out.c (gen_member_die): Sanity check that we access
26326 TYPE_MAIN_VARIANT for TYPE_METHODS.
26327 * function.c (use_register_for_decl): Look for TYPE_MAIN_VARIANT when
26328 checking TYPE_METHODS.
26329 * tree.c (free_lang_data_in_type): See TYPE_METHODS to error_mark_node
26330 if non-null.
26331 (build_distinct_type_copy): Clear TYPE_METHODS.
26332 (verify_type_variant): Verify that TYPE_METHODS is NULL for variants.
26333 (verify_type): Allow TYPE_METHODS to be error_mark_node.
26334 * tree.def: Update docs of TYPE_STUB_DECL and TYPE_METHODS.
26335
26336 2015-05-11 Eric Botcazou <ebotcazou@adacore.com>
26337
26338 * emit-rtl.c (emit_pattern_after_setloc): Add missing guard.
26339 (emit_pattern_before_setloc): Likewise.
26340
26341 2015-05-11 Richard Sandiford <richard.sandiford@arm.com>
26342
26343 * genrecog.c (match_pattern_1): Expect the pattern to be a SEQUENCE
26344 for define_peephole2s.
26345 (get_peephole2_pattern): New function.
26346 (main): Use it. Call validate_pattern.
26347
26348 2015-05-11 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
26349
26350 * config/avr/avr.c (avr_hard_regno_call_part_clobbered): Use
26351 LAST_CALLEE_SAVED_REG instead of hard-coded register number.
26352 (Last callee saved reg is different for AVR_TINY architecture)
26353
26354 2015-05-11 Uros Bizjak <ubizjak@gmail.com>
26355
26356 * config/i386/i386.c (ix86_loop_unroll_adjust): Use PATTERN (insn)
26357 when looking for memory references.
26358
26359 2015-05-11 Alexander Monakov <amonakov@ispras.ru>
26360
26361 PR target/65753
26362 * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow PIC sibcalls
26363 via function pointers.
26364
26365 2015-05-11 Alexander Monakov <amonakov@ispras.ru>
26366
26367 * calls.c (prepare_call_address): Transform PLT call to GOT lookup and
26368 indirect call by forcing address into a pseudo with -fno-plt.
26369 * common.opt (flag_plt): New option.
26370 * doc/invoke.texi (Code Generation Options): Add -fno-plt.
26371 ([-fno-plt]): Document.
26372
26373 2015-05-11 Markus Trippelsdorf <markus@trippelsdorf.de>
26374
26375 PR bootstrap/66105
26376 * config/rs6000/option-defaults.h: Add space between string literal
26377 and macro name.
26378
26379 2015-05-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
26380
26381 * gcc.target/arm/pr64616.c: Test dump rather than assembly to work
26382 accross ARM targets.
26383
26384 2015-05-11 Christian Bruel <christian.bruel@st.com>
26385
26386 * config/arm/arm-protos.h (thumb_code, thumb1_code): Remove.
26387 * config/arm/vxworks.h (thumb_code): Replace with TARGET_THUMB.
26388
26389 2015-05-11 Richard Sandiford <richard.sandiford@arm.com>
26390
26391 PR rtl-optimization/66076
26392 * rtlanal.c (generic_subrtx_iterator <T>::add_single_to_queue):
26393 Don't grow the heap array if it is already big enough from a
26394 previous iteration.
26395
26396 2015-05-11 Christian Bruel <christian.bruel@st.com>
26397
26398 * config/arm/arm-protos.h (arm_declare_function_name): Declare.
26399 (is_called_in_ARM_mode): Remove.
26400 * config/arm/arm.c (is_called_in_ARM_mode): Declare static bool.
26401 (arm_declare_function_name): Moved from from ARM_DECLARE_FUNCTION_NAME.
26402 * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Call
26403 arm_declare_function_name.
26404
26405 2015-05-11 Christian Bruel <christian.bruel@st.com>
26406
26407 * config/arm/arm.c (arm_option_override): Reoganized and split into :
26408 (arm_option_params_internal); New function.
26409 (arm_option_check_internal): New function.
26410 (arm_option_override_internal): New function.
26411 (thumb_code, thumb1_code): Remove.
26412 * config/arm/arm.h (TREE_TARGET_THUMB, TREE_TARGET_THUMB1): New macros.
26413 (TREE_TARGET_THUM2, TREE_TARGET_ARM): Likewise.
26414 (thumb_code, thumb1_code): Remove.
26415 * config/arm/arm.md (is_thumb, is_thumb1): Check TARGET flag.
26416
26417 2015-05-11 Uros Bizjak <ubizjak@gmail.com>
26418
26419 * config/alpha/alpha.c (alpha_emit_set_const_1)
26420 (alpha_emit_set_long_const, alpha_extract_integer)
26421 (alpha_legitimate_constant_p, alpha_split_const_mov)
26422 (alpha_expand_block_clear, alpha_expand_zap_mask, print_operand):
26423 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
26424 (alpha_emit_set_const_1): Change "(HOST_WIDE_INT) 1" to
26425 HOST_WIDE_INT_1U.
26426 * config/alpha/predicates.md (mode_mask_operand): Do not match
26427 const_double RTX.
26428 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
26429 * config/alpha/alpha.md (abstf, *abstf_internal, UNSPEC_ZAP splitter):
26430 Change "(HOST_WIDE_INT) 1" to HOST_WIDE_INT_1U.
26431 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
26432 (*negtf_internal): Use gen_int_mode instead of immed_double_const.
26433
26434 2015-05-11 Jakub Jelinek <jakub@redhat.com>
26435
26436 PR target/65780
26437 * config/s390/linux.h (TARGET_BINDS_LOCAL_P): Define to
26438 default_binds_local_p_2.
26439 * config/arm/linux-elf.h (TARGET_BINDS_LOCAL_P): Likewise.
26440 * config/aarch64/aarch64-linux.h (TARGET_BINDS_LOCAL_P): Likewise.
26441
26442 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
26443
26444 * tree.c (verify_type_variant): Check TYPE_VALUES_RAW and TYPE_PRECISION
26445
26446 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
26447
26448 Patch by Richard Biener
26449 * coverage.c (coverage_obj_init): Delay building of type variant
26450 until the type is finished.
26451
26452 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
26453
26454 * ipa-devirt.c (warn_types_mismatch): Do not ICE when warning about
26455 mismatch between C and C++ type; compoare correctly ARG_TYPES
26456 for non-prototypes and output correctly parameter index for METHOD_TYPE.
26457 (odr_types_equivalent_p): Fix wording of warning about attributes;
26458 it is OK to match prototype and non-prototype.
26459
26460 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
26461
26462 * tree.c (free_lang_data_in_type): Free TREE_PURPOSE of
26463 TYPE_ARG_TYPES list.
26464 (verify_type): Permit non-NULL TREE_PURPOSE in non-LTO builds.
26465 * tree.def (FUNCTION_TYPE): Document TREE_PURPOSE in TYPE_ARG_TYPES
26466
26467 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
26468
26469 * tree.c (verify_type): Verify TYPE_BINFO and TYPE_VALUES_RAW.
26470 * tree.h (is_lang_specific): Constify.
26471
26472 2015-05-09 Marc Glisse <marc.glisse@inria.fr>
26473
26474 PR tree-optimization/64454
26475 * tree-vrp.c (extract_range_from_binary_expr_1) <TRUNC_MOD_EXPR>:
26476 Rewrite.
26477
26478 2015-05-08 Jason Merrill <jason@redhat.com>
26479
26480 * bitmap.c, c/c-aux-info.c, cfg.c, cfghooks.c, cgraph.c,
26481 config/aarch64/aarch64.md config/alpha/vms.h, config/darwin.c,
26482 config/darwin.h, config/darwin9.h, config/elfos.h,
26483 config/i386/bsd.h, config/ia64/ia64.c, config/lm32/lm32.h,
26484 config/microblaze/microblaze.h, config/mips/mips.h,
26485 config/mmix/mmix.c, config/msp430/msp430.c, config/nios2/nios2.h,
26486 config/nvptx/nvptx.c, config/nvptx/nvptx.h, config/pa/pa.c,
26487 config/pa/pa.h, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
26488 config/rs6000/xcoff.h, config/rx/rx.h, config/s390/s390.h,
26489 config/sparc/sol2.h, config/sparc/sparc.h, config/visium/visium.h,
26490 cppbuiltin.c, defaults.h, doc/invoke.texi, dwarf2cfi.c,
26491 dwarf2out.c, final.c, gcc.c, gcov-dump.c, gcov.c, ipa-cp.c,
26492 ipa-inline.c, ipa-polymorphic-call.c, ipa-profile.c, ipa-prop.c,
26493 ira-color.c, ira.c, loop-doloop.c, loop-iv.c, mcf.c,
26494 modulo-sched.c, predict.c, profile.c, stor-layout.c, toplev.c,
26495 tree-ssa-reassoc.c, value-prof.c, wide-int-print.cc: Add space
26496 between string literal and macro name.
26497
26498 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
26499
26500 * jump.c: Change argument types to rtx_insn *.
26501 * rtl.h: Adjust.
26502
26503 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
26504
26505 * lra-constraints.c: Change argument type to rtx_insn *.
26506
26507 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
26508
26509 * df-problems.c: Change argument type to rtx_insn *.
26510
26511 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
26512
26513 * combine.c: Change argument type to rtx_insn *.
26514
26515 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
26516
26517 * rtl.h: Adjust.
26518 * rtlanal.c: Change argument type to rtx_insn *.
26519
26520 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
26521
26522 * sched-deps.c: Change argument types to rtx_insn *.
26523 * sched-int.h: Adjust.
26524
26525 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
26526
26527 * dwarf2cfi.c: Change argument type to rtx_insn *.
26528
26529 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
26530
26531 * ira.c (decrease_live_ranges_number): Changetype of local
26532 variable to rtx_insn *.
26533 * recog.c: Change argument types to rtx_insn *.
26534 * recog.h: Adjust.
26535
26536 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
26537
26538 * reorg.c: Change argument types to rtx_insn *.
26539
26540 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
26541
26542 * ira-color.c: Change argument types to rtx_insn *.
26543 * lra-eliminations.c: Likewise.
26544 * ira.h: Adjust.
26545
26546 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
26547
26548 * gcse.c: Change argument types to rtx_insn *.
26549
26550 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
26551
26552 * cse.c (cse_change_cc0_mode): Change argument type to rtx_insn *.
26553
26554 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
26555
26556 * emit-rtl.c (emit_debug_insn_before): Change argument type to
26557 rtx_insn *.
26558 * rtl.h: Adjust.
26559
26560 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
26561
26562 * emit-rtl.c (emit_note_before): Change argument type to rtx_insn *.
26563 * rtl.h: Adjust.
26564
26565 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
26566
26567 * emit-rtl.c (emit_note_after): Change argument type to rtx_insn *.
26568 * rtl.h: Adjust.
26569
26570 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
26571
26572 * emit-rtl.c (prev_cc0_setter): Change argument type to rtx_insn *.
26573 * rtl.h: Adjust.
26574
26575 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
26576
26577 * rtlanal.c (noop_move_p): Change argument type to rtx_insn *.
26578 * rtl.h: Adjust.
26579
26580 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
26581
26582 * rtlanal.c (add_shallow_copy_of_reg_note): Change argument type
26583 to rtx_insn *.
26584 * rtl.h: Adjust.
26585
26586 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
26587
26588 * rtlanal.c (remove_reg_equal_equiv_notes): Change argument type
26589 to rtx_insn *.
26590 * rtl.h: Likewise.
26591
26592 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
26593
26594 * except.c (can_nonlocal_goto): Change type of argument to
26595 rtx_insn *.
26596 * rtl.h: Adjust.
26597
26598 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
26599
26600 * rtlanal.c (computed_jump_p): Cange argument type to rtx_insn *.
26601 * rtl.h: Adjust.
26602
26603 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
26604
26605 * rtlanal.c (in_insn_list_p): Renamed from in_expr_list_p.
26606 * cfgrtl.c (can_delete_label_p): Adjust.
26607 * rtl.h: likewise.
26608
26609 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
26610
26611 * reorg.c (stop_search_p): Change argument to rtx_insn *.
26612
26613 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
26614
26615 * except.c (make_reg_eh_region_note): Change argument to
26616 rtx_insn *.
26617 (make_reg_eh_region_note_nothrow_nononlocal): Likewise.
26618 * except.h: Adjust.
26619
26620 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
26621
26622 * mode-switching.c (commit_mode_sets): Change type of local
26623 variable from rtx to rtx_insn *.
26624
26625 2015-05-08 Jim Wilson <jim.wilson@linaro.org>
26626
26627 * doc/install.texi (--enable-languages): Add missing jit and lto info.
26628 Add ^ to grep command.
26629 * doc/match-and-simplify.texi (GIMPLE API): Add missing fourth tree
26630 arg to last gimple_simplify declaration. Add missing gimple_build
26631 declaration for built-in function case with four tree args.
26632
26633 2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
26634 Szabolcs Nagy <szabolcs.nagy@arm.com>
26635
26636 * config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Define.
26637 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Define.
26638 (GNU_USER_DYNAMIC_LINKERN32): Update.
26639
26640 2015-05-08 Richard Biener <rguenther@suse.de>
26641
26642 PR tree-optimization/66036
26643 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
26644 Handle strided group loads.
26645 (vect_verify_datarefs_alignment): Likewise.
26646 (vect_enhance_data_refs_alignment): Likewise.
26647 (vect_analyze_group_access): Likewise.
26648 (vect_analyze_data_ref_access): Likewise.
26649 (vect_analyze_data_ref_accesses): Likewise.
26650 * tree-vect-stmts.c (vect_model_load_cost): Likewise.
26651 (vectorizable_load): Likewise.
26652
26653 2015-05-08 Segher Boessenkool <segher@kernel.crashing.org>
26654
26655 * config/rs6000/rs6000.md: Require operand inequality in one
26656 of the peepholes.
26657
26658 2015-05-08 Richard Sandiford <richard.sandiford@arm.com>
26659 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
26660
26661 * config/i386/i386.md (<mode>_ldx, *<mode>_ldx): Remove mode
26662 from (set ...).
26663 * config/rx/rx.md (movdi, movdf): Likewise.
26664 Likewise for define_peephole2s.
26665
26666 2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
26667
26668 * config/aarch64/arm_neon.h (vceq_s64, vceq_u64, vceqz_s64, vceqz_u64,
26669 vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64, vcgtz_s64, vcle_s64,
26670 vcle_u64, vclez_s64, vclt_s64, vclt_u64, vcltz_s64, vtst_s64,
26671 vtst_u64): Rewrite using gcc vector extensions.
26672
26673 2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
26674
26675 * config/aarch64/aarch64-simd.md (aarch64_vcond_internal<mode><mode>,
26676 vcond<mode><mode>, vcondu<mode><mode>): Add DImode variant.
26677
26678 2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
26679
26680 * optabs.c (vector_compare_rtx): Handle RTL operands having VOIDmode.
26681
26682 2015-05-08 Szabolcs Nagy <szabolcs.nagy@arm.com>
26683
26684 * config/glibc-stdint.h (OPTION_MUSL): Define.
26685 (INT_FAST16_TYPE, INT_FAST32_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE):
26686 Change the definition based on OPTION_MUSL for 64 bit targets.
26687 * config/linux.h (OPTION_MUSL): Redefine.
26688 * config/alpha/linux.h (OPTION_MUSL): Redefine.
26689 * config/rs6000/linux.h (OPTION_MUSL): Redefine.
26690 * config/rs6000/linux64.h (OPTION_MUSL): Redefine.
26691
26692 2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
26693 Szabolcs Nagy <szabolcs.nagy@arm.com>
26694
26695 * config.gcc (LIBC_MUSL): New tm_defines macro.
26696 * config/linux.h (OPTION_MUSL): Define.
26697 (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER32,)
26698 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32,)
26699 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
26700 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
26701 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
26702 * config/linux.opt (mmusl): New option.
26703 * doc/invoke.texi (GNU/Linux Options): Document -mmusl.
26704 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
26705 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
26706 * configure: Regenerate.
26707
26708 2015-05-08 H.J. Lu <hongjiu.lu@intel.com>
26709 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
26710
26711 PR target/48904
26712 * config.gcc (x86_64-*-knetbsd*-gnu): Add i386/knetbsd-gnu64.h.
26713 * config/i386/knetbsd-gnu64.h: New file.
26714
26715 2015-05-08 Marek Polacek <polacek@redhat.com>
26716
26717 PR c/64918
26718 * doc/invoke.texi: Document -Woverride-init-side-effects.
26719
26720 2015-05-07 Marek Polacek <polacek@redhat.com>
26721
26722 PR c/65179
26723 * doc/invoke.texi: Document -Wshift-negative-value.
26724
26725 2015-05-06 Aditya Kumar <hiraditya@msn.com>
26726
26727 * gcov-tool.c (do_merge): Refactore to remove int ret.
26728 * ipa-icf.c (sem_item::hash_referenced_symbol_properties): Change
26729 !type == FUNC to type != FUNC.
26730 * reload.h (struct target_reload): Changee to type of
26731 x_spill_indirect_levels from bool to unsigned char.
26732
26733 2015-05-07 Richard Sandiford <richard.sandiford@arm.com>
26734
26735 * rtl.h (always_void_p): New function.
26736 * gengenrtl.c (always_void_p): Likewise.
26737 (genmacro): Don't add a mode parameter to gen_rtx_foo if rtxes
26738 with code foo are always VOIDmode.
26739 * genemit.c (gen_exp): Update gen_rtx_foo calls accordingly.
26740 * builtins.c, caller-save.c, calls.c, cfgexpand.c, combine.c,
26741 compare-elim.c, config/aarch64/aarch64.c,
26742 config/aarch64/aarch64.md, config/alpha/alpha.c,
26743 config/alpha/alpha.md, config/arc/arc.c, config/arc/arc.md,
26744 config/arm/arm-fixed.md, config/arm/arm.c, config/arm/arm.md,
26745 config/arm/ldrdstrd.md, config/arm/thumb2.md, config/arm/vfp.md,
26746 config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
26747 config/c6x/c6x.md, config/cr16/cr16.c, config/cris/cris.c,
26748 config/cris/cris.md, config/darwin.c, config/epiphany/epiphany.c,
26749 config/epiphany/epiphany.md, config/fr30/fr30.c, config/frv/frv.c,
26750 config/frv/frv.md, config/h8300/h8300.c, config/i386/i386.c,
26751 config/i386/i386.md, config/i386/sse.md, config/ia64/ia64.c,
26752 config/ia64/vect.md, config/iq2000/iq2000.c,
26753 config/iq2000/iq2000.md, config/lm32/lm32.c, config/lm32/lm32.md,
26754 config/m32c/m32c.c, config/m32r/m32r.c, config/m68k/m68k.c,
26755 config/m68k/m68k.md, config/mcore/mcore.c, config/mcore/mcore.md,
26756 config/mep/mep.c, config/microblaze/microblaze.c,
26757 config/mips/mips.c, config/mips/mips.md, config/mmix/mmix.c,
26758 config/mn10300/mn10300.c, config/msp430/msp430.c,
26759 config/nds32/nds32-memory-manipulation.c, config/nds32/nds32.c,
26760 config/nds32/nds32.md, config/nios2/nios2.c, config/nvptx/nvptx.c,
26761 config/pa/pa.c, config/pa/pa.md, config/rl78/rl78.c,
26762 config/rs6000/altivec.md, config/rs6000/rs6000.c,
26763 config/rs6000/rs6000.md, config/rs6000/vector.md,
26764 config/rs6000/vsx.md, config/rx/rx.c, config/rx/rx.md,
26765 config/s390/s390.c, config/s390/s390.md, config/sh/sh.c,
26766 config/sh/sh.md, config/sh/sh_treg_combine.cc,
26767 config/sparc/sparc.c, config/sparc/sparc.md, config/spu/spu.c,
26768 config/spu/spu.md, config/stormy16/stormy16.c,
26769 config/tilegx/tilegx.c, config/tilegx/tilegx.md,
26770 config/tilepro/tilepro.c, config/tilepro/tilepro.md,
26771 config/v850/v850.c, config/v850/v850.md, config/vax/vax.c,
26772 config/visium/visium.c, config/xtensa/xtensa.c, cprop.c, dse.c,
26773 expr.c, gcse.c, ifcvt.c, ira.c, jump.c, lower-subreg.c,
26774 lra-constraints.c, lra-eliminations.c, lra.c, postreload.c, ree.c,
26775 reg-stack.c, reload.c, reload1.c, reorg.c, sel-sched.c,
26776 var-tracking.c: Update calls accordingly.
26777
26778 2015-05-07 Segher Boessenkool <segher@kernel.crashing.org>
26779
26780 PR middle-end/192
26781 PR middle-end/54303
26782 * varasm.c (function_mergeable_rodata_prefix): New function.
26783 (mergeable_string_section): Use it.
26784 (mergeable_constant_section): Use it.
26785
26786 2015-05-07 Jeff Law <law@redhat.com>
26787
26788 PR target/39726
26789 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
26790 simplifier to narrow arithmetic.
26791 * generic-match-head.c: (types_match, single_use): New functions.
26792 * gimple-match-head.c: (types_match, single_use): New functions.
26793
26794 2015-05-07 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
26795
26796 * combine.c (make_compound_operation): Remove checks for PLUS/MINUS
26797 rtx type.
26798
26799 2015-05-07 Richard Biener <rguenther@suse.de>
26800
26801 PR tree-optimization/66002
26802 * passes.def: Schedule another pass_merge_phi after ifcombine, right
26803 before phiopt.
26804
26805 2015-05-07 Marek Polacek <polacek@redhat.com>
26806 Martin Uecker <uecker@eecs.berkeley.edu>
26807
26808 * doc/invoke.texi: Document -fsanitize=bounds-strict.
26809 * flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS_STRICT, or it
26810 into SANITIZE_NONDEFAULT.
26811 * opts.c (common_handle_option): Handle -fsanitize=bounds-strict.
26812
26813 2015-05-07 Uros Bizjak <ubizjak@gmail.com>
26814
26815 PR target/66015
26816 * config/alpha/alpha.c (alpha_override_options_after_change): New.
26817 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New.
26818 (alpha_override_options): Move align_loops, align_jumps and
26819 align_functions handling into alpha_override_options_after_change.
26820
26821 2015-05-06 Sandra Loosemore <sandra@codesourcery.com>
26822 Chris Jones <chrisj@nvidia.com>
26823 Joshua Conner <jconner@nvidia.com>
26824
26825 * config/arm/unknown-elf.h (STARTFILE_SPEC): Add conditional
26826 linking of crtfastmath.o.
26827 * config/arm/linux-eabi.h (STARTFILE_SPEC): Likewise.
26828
26829 2015-05-06 Segher Boessenkool <segher@kernel.crashing.org>
26830
26831 * config/rs6000/rs6000.md (cstore<mode>4_signed_imm): New expander.
26832 (cstore<mode>4_unsigned_imm): New expander.
26833 (cstore<mode>4): Remove empty constraint strings. Use the new
26834 expanders.
26835
26836 2015-05-06 Yvan Roux <yvan.roux@linaro.org>
26837
26838 PR target/64208
26839 * config/arm/iwmmxt.md ("*iwmmxt_arm_movdi"): Cleanup redundant
26840 alternatives.
26841
26842 2015-05-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
26843
26844 * config/aarch64/geniterators.sh: Use standard BRE in sed.
26845
26846 2015-05-06 Alan Modra <amodra@gmail.com>
26847
26848 PR target/66033
26849 * config/rs6000/rs6000.md (nop): Use an unspec pattern.
26850 (UNSPEC_NOP): Define.
26851 (reload_vsx_from_gpr<mode>): Add missing DONE.
26852 (reload_gpr_from_vsx<mode>): Likewise.
26853 * config/rs6000/vsx.md (vsx_mul_v2di): Likewise.
26854 (vsx_div_v2di, vsx_udiv_v2di): Likewise.
26855
26856 2015-05-06 Christian Bruel <christian.bruel@st.com>
26857
26858 PR target/66015
26859 * config/aarch64/aarch64.c (aarch64_override_options): Move align_loops,
26860 align_jumps, align_functions into aarch64_override_options_after_change.
26861
26862 2015-05-06 Richard Biener <rguenther@suse.de>
26863
26864 * tree-vect-slp.c (vect_supported_load_permutation_p): Use
26865 vect_transform_slp_perm_load to check if we support a permutation
26866 for basic-block vectorization.
26867
26868 2015-05-06 Nick Clifton <nickc@redhat.com>
26869
26870 * config/rl78/rl78.c (need_to_save): Save register 22 if it is
26871 used, even if it is not being used as a frame pointer.
26872
26873 2015-05-05 Jason Merrill <jason@redhat.com>
26874
26875 * dwarf2out.c (gen_member_die): Don't emit anything for an
26876 anonymous class constructor.
26877
26878 2015-05-05 David Malcolm <dmalcolm@redhat.com>
26879
26880 * auto-profile.c (afdo_find_equiv_class): Fix indentation so
26881 that it reflects the block structure.
26882 (afdo_propagate_edge): Likewise.
26883 (afdo_calculate_branch_prob): Likewise.
26884 (afdo_annotate_cfg): Likewise.
26885 * cfgcleanup.c (equal_different_set_p): Likewise.
26886 (try_crossjump_to_edge): Likewise.
26887 * cgraph.c (cgraph_node::verify_node): Likewise.
26888 * cgraphunit.c (expand_all_functions): Likewise.
26889 * config/i386/i386.c (ix86_expand_copysign): Likewise.
26890 (exact_dependency_1): Likewise.
26891 * dwarf2asm.c (dw2_output_indirect_constants): Likewise.
26892 * dwarf2out.c (tree_add_const_value_attribute_for_decl): Likewise.
26893 * gensupport.c (process_define_subst): Likewise.
26894 * lto-wrapper.c (merge_and_complain): Likewise.
26895 * tree-if-conv.c (if_convertible_bb_p): Likewise.
26896 * tree-ssa-loop-prefetch.c (find_or_create_group): Likewise.
26897 * tree-ssa-tail-merge.c (gsi_advance_fw_nondebug_nonlocal): Likewise.
26898 * tree-vect-data-refs.c (vect_grouped_load_supported): Likewise.
26899 * tree-vect-loop.c (vectorizable_reduction): Likewise.
26900 * tree-vect-slp.c (vect_transform_slp_perm_load): Likewise.
26901 * tree-vect-stmts.c (vectorizable_shift): Likewise.
26902 * tree-vrp.c (vrp_finalize): Likewise.
26903 * tree.c (variably_modified_type_p): Likewise.
26904
26905 2015-05-05 Jack Howarth <howarth.at.gcc@gmail.com>
26906
26907 * config.gcc: Use darwin9.h, darwin10.h and darwin12.h
26908 on darwin12 and later.
26909 * config/darwin12.h (LINK_GCC_C_SEQUENCE_SPEC): Add
26910 file to pass -rdynamic on darwin12 and later.
26911 * config/darwin.opt (rdynamic): Add.
26912
26913 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
26914
26915 * doc/extend.texi (C Extensions): Update menu for moved Variable
26916 Attributes and Type Attributes sections.
26917
26918 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
26919
26920 PR target/65990
26921 * config/i386/i386.c (ix86_parse_stringop_strategy_string): Error out
26922 if rep_8byte stringop strategy was specified for 32-bit target.
26923
26924 2015-05-05 Ilya Tocar <ilya.tocar@intel.com>
26925
26926 PR target/65915
26927 * config/i386/i386.md (vector convert to float spltiter): Check for
26928 xmm16+, when splitting scalar float conversion.
26929 * config/i386/sse.md (sse2_cvtsi2sd): Support EVEX version.
26930
26931 2015-05-05 Nick Clifton <nickc@redhat.com>
26932
26933 * config/msp430/msp430-opts.h (enum msp430_regions): New.
26934 * config/msp430/msp430.c (msp430_override_options): Complain if
26935 -mcode-region or -mdata-region is used on a non MSP430X.
26936 (msp430_section_attr): New function. Checks lower, upper and
26937 either attributes.
26938 (msp430_attribute_table): Add lower, upper and either.
26939 (gen_prefix): New function. Generates a prefix for a section
26940 name.
26941 (msp430_select_section): New function - handles the choice of
26942 section for an object. Takes into account memory region
26943 attributes and options.
26944 (msp430_function_section): Use gen_prefix.
26945 (TARGET_SECTION_TYPE_FLAGS): Define.
26946 (msp430_section_type_flags): New function.
26947 (TARGET_ASM_UNIQUE_SECTION): Define.
26948 (msp430_unique_section): New function.
26949 (msp430_output_aligned_decl_common): New function.
26950 (msp430_do_not_relax_short_jumps): New function.
26951 * config/msp430/msp430.h (USE_SELECT_SECTION_FOR_FUNCTIONS):
26952 Define.
26953 (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
26954 * config/msp430/msp430-protos.h
26955 (msp430_do_not_relax_short_jumps): New prototype.
26956 (msp430_output_aligned_decl_common): New prototype.
26957 * config/msp430/msp430.md (length): New attribute.
26958 (cbranchhi4_real): If msp430_do_not_relax_short_jumps is true
26959 then use a long code sequence for short jumps.
26960 * config/msp430/msp430.opt (mcode-region): New.
26961 (mdata-region): New.
26962 * doc/invoke.texi: Document new options.
26963 * doc/extend.texi: Document new attributes.
26964
26965 2015-05-05 Matthew Wahab <matthew.wahab@arm.com>
26966
26967 * config/aarch64-protos.h (struct cpu_branch_cost): New.
26968 (tune_params): Add field branch_costs.
26969 (aarch64_branch_cost): Declare.
26970 * config/aarch64.c (generic_branch_cost): New.
26971 (generic_tunings): Set field cpu_branch_cost to generic_branch_cost.
26972 (cortexa53_tunings): Likewise.
26973 (cortexa57_tunings): Likewise.
26974 (thunderx_tunings): Likewise.
26975 (xgene1_tunings): Likewise.
26976 (aarch64_branch_cost): Define.
26977 * config/aarch64/aarch64.h (BRANCH_COST): Redefine.
26978
26979 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
26980
26981 * config/i386/i386.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1
26982 and HOST_WIDE_INT_1U instead of (unsigned HOST_WIDE_INT) 1.
26983 * config/i386/i386.md: Ditto.
26984 * config/i386/winnt.c: Ditto.
26985
26986 2015-05-05 Matthew Wahab <matthew.wahab@arm.com>
26987
26988 * doc/extend.texi (__atomic Builtins): Move implementation details
26989 to the end of the description, rewrite opening paragraphs, state
26990 difference with __sync builtins, state C11/C++11 assumptions,
26991 weaken itemized descriptions, add explanation of memory model
26992 behaviour, expand description of compare-exchange, simplify text.
26993
26994 2015-05-05 Renlin Li <renlin.li@arm.com>
26995
26996 * config/aarch64/aarch64.md (add<mode>3): Use mov when allowed.
26997
26998 2015-05-05 Yvan Roux <yvan.roux@linaro.org>
26999
27000 * config/aarch64/aarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define.
27001 (LINK_SPEC): Include CA53_ERR_843419_SPEC.
27002 * config/aarch64/aarch64-linux.h (CA53_ERR_843419_SPEC): Define.
27003 (LINK_SPEC): Include CA53_ERR_843419_SPEC.
27004 * config/aarch64/aarch64.opt (mfix-cortex-a53-843419): New option.
27005 * configure: Regenerate.
27006 * configure.ac: Add --enable-fix-cortex-a53-843419 option.
27007 * doc/install.texi (aarch64*-*-*): Document new
27008 --enable-fix-cortex-a53-843419 option.
27009 * doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-843419
27010 and -mno-fix-cortex-a53-843419 options.
27011
27012 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
27013
27014 PR target/65871
27015 * config/i386/i386.md (*bmi_andn_<mode>_ccno): New pattern.
27016
27017 2015-05-04 Jan Hubicka <hubicka@ucw.cz>
27018
27019 * tree.c (verify_type): Check various uses of TYPE_MAXVAL;
27020 fix overactive TYPE_MIN_VALUE check and add FIXME for type
27021 compatibility problems.
27022
27023 2015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
27024
27025 * config/microblaze/microblaze.md (cbranchsi4): Added immediate
27026 constraints.
27027 (cbranchsi4_reg): New.
27028 * config/microblaze/microblaze.c
27029 (microblaze_expand_conditional_branch_reg): New.
27030 * config/microblaze/microblaze-protos.h
27031 (microblaze_expand_conditional_branch_reg): New prototype.
27032
27033 2015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
27034
27035 * config/microblaze/microblaze.md (peephole2): New.
27036
27037 2015-05-04 Jeff Law <law@redhat.com>
27038
27039 Revert:
27040 2015-05-04 Jeff Law <law@redhat.com>
27041
27042 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
27043 simplifier to narrow arithmetic.
27044 * generic-match-head.c: (types_match, single_use): New functions.
27045 * gimple-match-head.c: (types_match, single_use): New functions.
27046
27047 2015-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
27048
27049 PR target/65987
27050 * config/sh/sh.c (output_far_jump): Take into account crossing jumps.
27051 (split_branches): Likewise.
27052
27053 2015-05-04 Sandra Loosemore <sandra@codesourcery.com>
27054
27055 * common.opt (fdelete-null-pointer-checks): Init to -1.
27056 * config/nios2/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define to
27057 override flag_delete_null_pointer_checks default.
27058 * doc/invoke.texi (-fdelete-null-pointer-checks): Clarify
27059 behavior re address zero. Better document target-specific behavior.
27060 (-fisolate-errneous-paths-dereference): Mention relationship to
27061 -fdelete-null-pointer-checks.
27062
27063 2015-05-04 Jakub Jelinek <jakub@redhat.com>
27064
27065 PR tree-optimization/65984
27066 * ubsan.c: Include tree-cfg.h.
27067 (instrument_bool_enum_load): Use stmt_ends_bb_p instead of
27068 stmt_could_throw_p test, rename can_throw variable to ends_bb.
27069
27070 2015-05-04 Uros Bizjak <ubizjak@gmail.com>
27071
27072 * config/i386/i386.c: Change GET_CODE (...) == CONST_DOUBLE check
27073 to CONST_DOUBLE_P predicate.
27074 (standard_sse_constant_p): Return 0 for !TARGET_SSE.
27075 (ix86_legitimate_constant_p) <case CONST_WIDE_INT>: For 32bit targets,
27076 allow only operands that satisfy standard_sse_constant_p predicate.
27077 * config/i386/i386.md: Change GET_CODE (...) == CONST_DOUBLE check
27078 to CONST_DOUBLE_P predicate.
27079
27080 2015-05-04 Jeff Law <law@redhat.com>
27081
27082 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
27083 simplifier to narrow arithmetic.
27084 * generic-match-head.c: (types_match, single_use): New functions.
27085 * gimple-match-head.c: (types_match, single_use): New functions.
27086
27087 2015-05-04 Andreas Tobler <andreast@gcc.gnu.org>
27088
27089 * config/arm/arm.c: Restore bootstrap.
27090
27091 2015-05-04 Uros Bizjak <ubizjak@gmail.com>
27092
27093 * config/i386/i386.h (TARGET_SUPPORTS_WIDE_INT): New define.
27094 * config/i386/i386.c (ix86_legitimate_constant_p): Handle TImode
27095 as CONST_WIDE_INT, not CONST_DOUBLE.
27096 (ix86_cannot_force_const_mem): Handle CONST_WIDE_INT.
27097 (output_pic_addr_const): Do not handle VOIDmode CONST_DOUBLEs.
27098 (ix86_find_base_term): Do not check for CONST_DOUBLE.
27099 (ix86_print_operand): Do not handle non-FPmode CONST_DOUBLEs.
27100 (ix86_build_signbit_mask): Rewrite using wide ints.
27101 (ix86_split_to_parts) [HOST_BITS_PER_WIDE_INT < 64]: Remove.
27102 (ix86_rtx_costs): Handle CONST_WIDE_INT.
27103 (find_constant): Ditto.
27104 * config/i386/i386.md (bts, btr, btc peepholes): Rewrite
27105 using gen_int_mode.
27106 * config/i386/predicates.md (x86_64_immediate_operand)
27107 <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
27108 (x86_64_zext_immediate_operand): Remove CONST_DOUBLE handling.
27109 <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
27110 (const0_operand): Also match const_wide_int.
27111 (constm1_operand): Ditto.
27112 (const1_operand): Ditto.
27113
27114 2015-05-04 Richard Biener <rguenther@suse.de>
27115
27116 PR tree-optimization/65965
27117 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Split
27118 store groups at gaps.
27119
27120 2015-05-04 Richard Biener <rguenther@suse.de>
27121
27122 PR tree-optimization/65935
27123 * tree-vect-slp.c (vect_build_slp_tree): If we swapped operands
27124 then make sure to apply that swapping to the IL.
27125
27126 2015-05-04 Jakub Jelinek <jakub@redhat.com>
27127
27128 * Makefile.in (PATCHLEVEL_c): New variable.
27129 (DATESTAMP_s, REVISION_s): If PATCHLEVEL_c is not 0,
27130 expand the same way as if DEVPHASE_c was non-empty.
27131
27132 2015-05-04 Kai Tietz <ktietz@redhat.com>
27133
27134 PR target/65559
27135 * lto-wrapper.c (run_gcc): Open filename
27136 in binary-mode.
27137
27138 2015-05-03 Sandra Loosemore <sandra@codesourcery.com>
27139
27140 * doc/extend.texi (Variable Attributes, Type Attributes): Move
27141 sections up in file, to immediately after the Function Attributes
27142 section.
27143
27144 2015-05-02 Jan Hubicka <hubicka@ucw.cz>
27145
27146 * tree.c (verify_type): Check various uses of TYPE_MINVAL.
27147
27148 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27149
27150 * tree-outof-ssa.c (emit_partition_copy): Return rtx_insn *.
27151 (insert_partition_copy_on_edge): Adjust.
27152 (insert_rtx_to_part_on_edge): Likewise.
27153 (insert_part_to_rtx_on_edge): Likewise.
27154
27155 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27156
27157 * function.c (set_return_jump_label): Change type of argument to
27158 rtx_insn *.
27159 * function.h (set_return_jump_label): Adjust.
27160
27161 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27162
27163 * reload.h (struct reg_equivs_t): Change type of init to
27164 rtx_insn *.
27165 * ira.c (fix_reg_equiv_init): Adjust.
27166 * reload1.c (eliminate_regs_1): Likewise.
27167 (init_eliminable_invariants): Likewise.
27168
27169 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27170
27171 * cselib.c (fp_setter_insn): Take a rtx_insn *.
27172 * cselib.h (fp_setter_insn): Adjust.
27173
27174 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27175
27176 * recog.c (struct validate_replace_src_data): Change type of
27177 insn field to rtx_insn *.
27178 (validate_replace_src_group): Change type of argument to rtx_insn *.
27179 * recog.h (validate_replace_src_group): Adjust.
27180
27181 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27182
27183 * haifa-sched.c: Change the type of some variables to rtx_insn *.
27184 * sched-deps.c: Likewise.
27185 * sched-int.h: Likewise.
27186 * sched-rgn.c: Likewise.
27187 * sel-sched.c: Likewise.
27188
27189 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27190
27191 to rtx_insn *.
27192 * config/i386/i386.c: Change the type of some arguments to
27193 rtx_insn *.
27194 * config/arm/arm.c: Likewise.
27195
27196 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27197
27198 * lra-constraints.c: Change type of some arguments to rtx_insn *.
27199
27200 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27201
27202 * regcprop.c (kill_autoinc_value): Change type of argument to
27203 rtx_insn *.
27204
27205 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27206
27207 * genrecog.c (print_subroutine): Adjust.
27208 * recog.c (get_bool_attr_mask_uncached): Likewise.
27209 * recog.h (struct recog_data_d): Change the type of insn to
27210 rtx_insn *.
27211
27212 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27213
27214 * dwarf2cfi.c (add_cfi_insn): Change type to rtx_insn *.
27215
27216 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27217
27218 * df-problems.c (df_set_note): Change type of argument to
27219 rtx_insn *.
27220
27221 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27222
27223 * builtins.c (expand_builtin_trap): Change type of local
27224 variable to rtx_insn *.
27225 (add_sched_insns_for_speculation): Likewise.
27226 (ix86_emit_save_regs): Likewise.
27227 (get_scratch_register_on_entry): Likewise.
27228 (ix86_emit_restore_reg_using_pop): Likewise.
27229 (ix86_emit_leave): Likewise.
27230 (ix86_emit_restore_regs_using_mov): Likewise.
27231 (ix86_expand_epilogue): Likewise.
27232 Likewise.
27233 (rl78_alloc_physical_registers_umul): Likewise.
27234 * cselib.c (discard_useless_locs): Likewise.
27235 (cselib_invalidate_regno): Likewise.
27236 (cselib_invalidate_mem): Likewise.
27237 * function.c (expand_function_start): Likewise.
27238 (emit_use_return_register_into_block): Likewise.
27239 * gcse.c: Likewise.
27240 * haifa-sched.c (ok_for_early_queue_removal): Likewise.
27241 * ifcvt.c (noce_get_alt_condition): Likewise.
27242 * loop-doloop.c (doloop_condition_get): Likewise.
27243 * lra-constraints.c (inherit_in_ebb): Likewise.
27244 * modulo-sched.c (sms_schedule_by_order): Likewise.
27245 * recog.c (next_insn_tests_no_inequality): Likewise.
27246 * reorg.c (emit_delay_sequence): Likewise.
27247 (update_reg_dead_notes): Likewise.
27248 (fix_reg_dead_note): Likewise.
27249 (fill_slots_from_thread): Likewise.
27250 (delete_computation): Likewise.
27251
27252 2015-05-01 Sandra Loosemore <sandra@codesourcery.com>
27253
27254 * doc/extend.texi (Variable Attributes): Add menu and proper
27255 @nodes to subsections. Move Microsoft Windows attributes to
27256 their own subsection.
27257 (Type Attributes): Reorganize introduction to remove duplicate
27258 list of attributes. Add menu and proper @nodes to subsections.
27259 Alphabetize the main table of common attributes.
27260
27261 2015-05-01 Rasmus Villemoes <rv@rasmusvillemoes.dk>
27262
27263 * match.pd: New simplification patterns.
27264 (x + (x & 1)) -> ((x + 1) & ~1)
27265 (x & ~(x & y)) -> ((x & ~y))
27266 (x | ~(x | y)) -> ((x | ~y))
27267
27268 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
27269
27270 * target.def (attribute_table): Mention that struct attribute_spec
27271 is defined in tree-core.h rather than tree.h
27272 * doc/tm.texi: Regenerate.
27273
27274 2015-05-01 Richard Sandiford <richard.sandiford@arm.com>
27275
27276 * genrecog.c (test): Rename to rtx_test. Update rest of file
27277 accordingly.
27278
27279 2015-05-01 Andreas Schwab <schwab@linux-m68k.org>
27280
27281 PR translation/65959
27282 * params.h (DEFPARAM): Rename msgid to nocmsgid.
27283
27284 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
27285
27286 * config/aarch64/aarch64-protos.h (tune_params):
27287 Add min_div_recip_mul_sf and min_div_recip_mul_df fields.
27288 * config/aarch64/aarch64.c (aarch64_min_divisions_for_recip_mul):
27289 Return value depending on target.
27290 (generic_tunings): Initialize new target settings.
27291 (cortexa53_tunings): Likewise.
27292 (cortexa57_tunings): Likewise.
27293 (thunderx_tunings): Likewise.
27294 (xgene1_tunings): Likewise.
27295
27296 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
27297
27298 * config/arm/aarch-cost-tables.h (cortexa53_extra_costs):
27299 Make Cortex-A53 shift costs more accurate.
27300
27301 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
27302
27303 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle FLOAT and
27304 UNSIGNED_FLOAT.
27305
27306 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
27307
27308 * config/aarch64/aarch64.c (aarch64_rtx_costs):
27309 Calculate cost of op0 and op1 in PLUS and MINUS cases.
27310
27311 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
27312
27313 * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
27314 Add cost of op0 in the compare-with-fpzero case.
27315
27316 2015-04-30 David Malcolm <dmalcolm@redhat.com>
27317
27318 * builtins.c (fold_builtin_1): Remove spurious second
27319 semicolon.
27320 * cgraph.h (symtab_node::get_availability): Likewise.
27321 * opts.c (common_handle_option): Remove spurious second semicolon.
27322 * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
27323 * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise.
27324
27325 2015-04-30 Caroline Tice <cmtice@google.com>
27326
27327 PR gcov-profile/65929
27328 * config/elfos.h (ASM_DECLARE_COLD_FUNCTION_NAME): New macro definition.
27329 (ASM_DECLARE_COLD_FUNCTION_SIZE): New macro definition.
27330 * doc/tm.texi.in (ASM_DECLARE_COLD_FUNCTION_NAME): Document new macro.
27331 (ASM_DECLARE_COLD_FUNCTION_SIZE): Document new macro.
27332 * doc/tm.texi: Regenerate.
27333 * final.c (final_scan_insn): Use ASM_DECLARE_COLD_FUNCTION_NAME
27334 instead of ASM_DECLARE_FUNCTION_NAME for cold partition name.
27335 * varasm.c (assemble_end_function): Use ASM_DECLARE_COLD_FUNCTION_SIZE
27336 instead of ASM_DECLARE_FUNCTION_SIZE for cold partition size.
27337
27338 2015-04-30 Marek Polacek <polacek@redhat.com>
27339
27340 * varasm.c (handle_cache_entry): Fix logic.
27341
27342 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
27343
27344 * config/aarch64/aarch64.md (*extr<mode>5_insn_alt): New pattern.
27345 (*extrsi5_insn_uxtw_alt): Likewise.
27346 * config/aarch64/aarch64.c (aarch64_extr_rtx_p): New function.
27347 (aarch64_rtx_costs, IOR case): Use above to properly cost extr
27348 operations.
27349
27350 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
27351
27352 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle pattern for
27353 fabd in ABS case.
27354
27355 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
27356
27357 * config/aarch64/aarch64.md
27358 (*eor_one_cmpl_<SHIFT:optab><mode>3_alt): New pattern.
27359 (*eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
27360 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle MVN-shift
27361 appropriately. Handle alternative EON form.
27362
27363 2015-04-30 Renlin Li <renlin.li@arm.com>
27364
27365 * config/aarch64/aarch64-simd.md (vec_shr): Defined as an unspec.
27366 * config/aarch64/iterators.md (unspec): Add UNSPEC_VEC_SHR.
27367
27368 2015-04-30 Jan Hubicka <hubicka@ucw.cz>
27369
27370 PR ipa/65873
27371 * ipa-inline.c (can_inline_edge_p): It is safe to inline across
27372 -fstrict-aliasing boundaries.
27373
27374 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
27375
27376 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Handle MNEG
27377 and [SU]MNEGL patterns.
27378
27379 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
27380
27381 * config/aarch64/aarch64.c (aarch64_shift_p): New function.
27382 (aarch64_rtx_mult_cost): Update comment to reflect that it also handles
27383 combined arithmetic-shift ops. Properly handle all shift and extend
27384 operations that can occur in combination with PLUS/MINUS.
27385 Rename maybe_fma to compound_p.
27386 (aarch64_rtx_costs): Use aarch64_shift_p when costing compound
27387 arithmetic and shift operations.
27388
27389 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
27390
27391 * config/aarch64/aarch64.c (aarch64_rtx_costs): Use extend_arith
27392 rather than arith_shift cost when costing ADD/MINUS of an
27393 extended value.
27394
27395 2015-04-30 Jan Hubicka <hubicka@ucw.cz>
27396
27397 PR lto/65948
27398 * ipa-devirt.c (odr_types_equivalent_p): NULLPTR_TYPE is equivalent
27399 to itself.
27400
27401 2015-04-30 Richard Sandiford <richard.sandiford@arm.com>
27402
27403 * genrecog.c (simplify_tests): Check that CONST_INT and XWINT tests
27404 are for the same position.
27405
27406 2015-04-29 Aditya Kumar <hiraditya@hotmail.com>
27407
27408 * tree-vectorizer.c (set_uid_loop_bbs): New. Factored out of
27409 vectorize_loops.
27410 (vectorize_loops): Use it.
27411
27412 2015-04-29 Jan Hubicka <hubicka@ucw.cz>
27413
27414 * ipa-devirt.c (odr_subtypes_equivalent_p): Compare TYPE_NAME only
27415 for aggregate types.
27416 (register_odr_type): Be ready for MAIN_VARIANT of ODR type
27417 type to be non_ODR.
27418 * tree.c (need_assembler_name_p): Compute mangled name for
27419 non-fundamental types and integer types.
27420
27421 2015-04-29 Mikhail Maltsev <maltsevm@gmail.com>
27422
27423 * dojump.c (do_compare_rtx_and_jump): Use std::swap instead of
27424 manual swaps.
27425 * expr.c (expand_expr_real_2): Likewise.
27426
27427 2015-04-29 Jan Hubicka <hubicka@ucw.cz>
27428
27429 * tree.c (build_common_builtin_nodes): Do not build
27430 __builtin_alloca_with_align as equivalent of library alloca.
27431
27432 2015-04-29 Jan Hubicka <hubicka@ucw.cz>
27433
27434 * dwarf2out.c (gen_type_die_with_usage): Call verify_type.
27435 * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Do not produce
27436 bugus variants.
27437 * tree.c: Include print-tree.h and ipa-utils.h
27438 (free_lang_data_in_type): Clear TYPE_VFIELD leaked by C FE.
27439 (free_lang_data_in_cgraph): Call verify_type.
27440 (verify_type_variant): New function.
27441 (verify_type): New function.
27442 * tree.h (verify_type): Declare.
27443
27444 2015-04-29 Steve Ellcey <sellcey@imgtec.com>
27445
27446 * config/mips/mips-cpus.def: (mips4): Change default processor
27447 from PROCESSOR_R8000 to PROCESSOR_R10000.
27448
27449 2015-04-29 Petar Jovanovic <petar.jovanovic@rt-rk.com>
27450
27451 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use
27452 la/jalr instead of jal.
27453
27454 2015-04-29 Uros Bizjak <ubizjak@gmail.com>
27455
27456 PR target/65871
27457 * config/i386/i386.md (*bmi_bextr_<mode>_ccz): New pattern.
27458 (*bmi2_bzhi_<mode>3_1_ccz): Ditto.
27459 (setcc+movzbl peephole2): Check also clobbered reg.
27460 (setcc+andl peephole2): Ditto.
27461
27462 2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
27463
27464 PR libgomp/65099
27465 * config/nvptx/mkoffload.c (target_ilp32): New variable.
27466 (main): Set it depending on "-foffload-abi=[...]".
27467 (compile_native, main): Use it to pass "-m32" or "-m64" to the
27468 compiler.
27469
27470 2015-04-29 Alan Lawrence <alan.lawrence@arm.com>
27471
27472 PR target/65770
27473 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>,
27474 vec_store_lanesci_lane<mode>, vec_store_lanesxi_lane<mode>):
27475 Flip lane index back at assembly time for bigendian.
27476
27477 2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
27478
27479 * tree.h (OMP_STANDALONE_CLAUSES): New macro.
27480 * gimplify.c (gimplify_omp_workshare): Use it.
27481
27482 2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
27483
27484 * Makefile.in (build/genrecog.o): Depend on inchash.h.
27485 (build/genrecog$(build_exeext): Depend on build/hash-table.o and
27486 build/inchash.o
27487 * genrecog.c: Rewrite most of the code except for the third page.
27488
27489 2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
27490
27491 * inchash.h, inchash.c: Include bconfig.h for build objects.
27492 * Makefile.in (build/inchash.o): New rule.
27493
27494 2015-04-29 Yvan Roux <yvan.roux@linaro.org>
27495
27496 PR target/65924
27497 * config/arm/thumb2.md (*thumb2_addsi3_compare0_scratch): Fix operand
27498 number in type attribute expression.
27499
27500 2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
27501
27502 * loop-iv.c (canon_condition): Generalize to all types of integer
27503 constant.
27504
27505 2015-04-29 Bernhard Reuther-Fischer <aldot@gcc.gnu.org>
27506
27507 * gimple-walk.c: Prune duplicate or unneeded includes.
27508 (walk_gimple_asm): Only call parse_input_constraint or
27509 parse_output_constraint if their findings are used.
27510 Honour parse_input_constraint and parse_output_constraint
27511 result.
27512
27513 2015-04-29 Alan Lawrence <alan.lawrence@arm.com>
27514
27515 * config/arm/neon.md (vec_shl<mode>, vec_shr<mode>): Remove.
27516
27517 2015-04-29 Tom de Vries <tom@codesourcery.com>
27518
27519 PR tree-optimization/65893
27520 * passes.def (pass_all_optimizations): Move pass_stdarg to after
27521 pass_dce.
27522
27523 2015-04-29 Richard Biener <rguenther@suse.de>
27524
27525 * tree-vect-data-refs.c (vect_analyze_group_access): Properly
27526 compute GROUP_SIZE for basic-block SLP.
27527 * tree-vect-slp.c (vect_get_place_in_interleaving_chain): Properly
27528 take into account gaps.
27529 (vect_get_mask_element): Properly reject references to previous
27530 vectors.
27531 (vect_transform_slp_perm_load): Likewise.
27532
27533 2015-04-29 Christian Bruel <christian.bruel@st.com>
27534
27535 PR target/64835
27536 * config/i386/i386.c (ix86_default_align): New function.
27537 (ix86_override_options_after_change): Call ix86_default_align.
27538 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New hook.
27539 (ix86_override_options_after_change): New function.
27540
27541 2015-04-28 Jeff Law <law@redhat.com>
27542
27543 * tree-ssa-dom.c (record_equality); Fix comment typos.
27544
27545 2015-04-28 Tom de Vries <tom@codesourcery.com>
27546
27547 PR tree-optimization/65887
27548 * gimplify.c (gimplify_modify_expr): Remove ifn_va_arg ap fixup.
27549
27550 2015-04-28 Sandra Loosemore <sandra@codesourcery.com>
27551
27552 * doc/extend.texi (Declaring Attributes of Functions): Split into
27553 subsections by target. Alphabetize the table of common attributes.
27554 Rewrite some of the introductory text to reflect the new structure.
27555 Update some cross-references to point to the new subsections.
27556 (Attribute Syntax): Put paragraph about "__" naming here. Remove
27557 duplicate copies in the discussion of function, label, and type
27558 attributes.
27559
27560 2015-04-28 Dominique d'Humieres <dominiq@lps.ens.fr>
27561
27562 PR bootstrap/65910
27563 * varasm.c (assemble_end_function): Guard ASM_DECLARE_FUNCTION_SIZE.
27564
27565 2015-04-28 Jason Merrill <jason@redhat.com>
27566
27567 PR c++/65734
27568 * stor-layout.c (layout_type): Layout the TYPE_MAIN_VARIANT.
27569 (finalize_type_size): Respect TYPE_USER_ALIGN.
27570 (layout_type) [ARRAY_TYPE]: Likewise.
27571
27572 2015-04-28 Yvan Roux <yvan.roux@linaro.org>
27573
27574 * config/arm/arm.md (*arm_movt): Fix type attribute.
27575 (*cmpsi_shiftsi): Likewise.
27576 (*cmpsi_shiftsi_swp): Likewise.
27577 (*movsicc_insn): Likewise.
27578 (*cond_move): Likewise.
27579 (*if_plus_move): Likewise.
27580 (*if_move_plus): Likewise.
27581 (*if_arith_move): Likewise.
27582 (*if_move_arith): Likewise.
27583 (*if_shift_move): Likewise.
27584 (*if_move_shift): Likewise.
27585 (*arm_movtas_ze): Likewise.
27586 * config/arm/thumb2.md (*thumb2_movsicc_insn): Fix alternative
27587 redundancy and type attribute.
27588 (*thumb2_movsi_insn): Fix type attribute.
27589 (*thumb2_addsi_short): Likewise.
27590 (thumb2_addsi3_compare0): Likewise.
27591 (*thumb2_addsi3_compare0_scratch): Merge alternatives and fix
27592 attributes accordingly.
27593
27594 2015-04-28 Markus Trippelsdorf <markus@trippelsdorf.de>
27595
27596 PR other/65911
27597 * function.c (pad_to_arg_alignment): Add parentheses.
27598
27599 2015-04-28 Uros Bizjak <ubizjak@gmail.com>
27600
27601 * config/frv/frv.h (CRT_GET_RFIB_DATA): Move definition to
27602 libgcc/config/frv/elf-lib.h.
27603
27604 2015-04-28 Tom de Vries <tom@codesourcery.com>
27605
27606 * tree-call-cdce.c: Fix example in header comment.
27607
27608 2015-04-28 Richard Biener <rguenther@suse.de>
27609
27610 PR tree-optimization/62283
27611 * tree-vect-slp.c (vect_build_slp_tree): When the SLP build
27612 fails fatally and we are vectorizing a basic-block simply
27613 cause the child to be constructed piecewise.
27614 (vect_analyze_slp_cost_1): Adjust.
27615 (vect_detect_hybrid_slp_stmts): Likewise.
27616 (vect_bb_slp_scalar_cost): Likewise.
27617 (vect_get_constant_vectors): For piecewise constructed
27618 constants place them after the last def.
27619 (vect_get_slp_defs): Adjust.
27620 * tree-vect-stmts.c (vect_is_simple_use): Detect in-BB
27621 externals for basic-block vectorization.
27622
27623 2015-04-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
27624
27625 PR target/63503
27626 * config.gcc: Add cortex-a57-fma-steering.o to extra_objs for
27627 aarch64-*-*.
27628 * config/aarch64/t-aarch64: Add a rule for cortex-a57-fma-steering.o.
27629 * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Define.
27630 (AARCH64_TUNE_FMA_STEERING): Likewise.
27631 * config/aarch64/aarch64-cores.def: Set
27632 AARCH64_FL_USE_FMA_STEERING_PASS for cores with dynamic steering of
27633 FMUL/FMADD instructions.
27634 * config/aarch64/aarch64.c (aarch64_register_fma_steering): Declare.
27635 (aarch64_override_options): Include cortex-a57-fma-steering.h. Call
27636 aarch64_register_fma_steering () if AARCH64_TUNE_FMA_STEERING is true.
27637 * config/aarch64/cortex-a57-fma-steering.h: New file.
27638 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
27639
27640 2015-04-28 Richard Sandiford <richard.sandiford@arm.com>
27641
27642 * gensupport.c (std_preds): Add missing codes to address_operand entry.
27643
27644 2015-04-28 Richard Biener <rguenther@suse.de>
27645
27646 PR tree-optimization/65851
27647 * tree-ssa-ccp.c (set_lattice_value): Perform a meet when
27648 changing CONSTANT to CONSTANT non-copy. Get new_val by reference.
27649 (ccp_lattice_meet): Remove stray argument. Use operand_equal_p
27650 rather than simple_cst_equal as the latter doesn't handle COMPLEX_CST.
27651 (ccp_visit_phi_node): Adjust.
27652 (evaluate_stmt): For simplifications to SSA names return its
27653 lattice value if that isn't VARYING. Return immediately when
27654 simplified to a constant.
27655 (visit_assignment): Adjust.
27656 (ccp_visit_stmt): Likewise.
27657
27658 2015-04-28 Tom de Vries <tom@codesourcery.com>
27659
27660 PR tree-optimization/65818
27661 * tree-stdarg.c (expand_ifn_va_arg_1): Ensure that side-effects are
27662 evaluated.
27663
27664 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27665
27666 * calls.c (save_fixed_argument_area): Don't check
27667 ARGS_GROW_DOWNWARD with the preprocessor.
27668 (restore_fixed_argument_area): Likewise.
27669 (mem_overlaps_already_clobbered_arg_p): Likewise.
27670 (check_sibcall_argument_overlap): Likewise.
27671 (expand_call): Likewise.
27672 (emit_library_call_value_1): Likewise.
27673 (store_one_arg): Likewise.
27674 * function.c (assign_parms): Likewise.
27675 (locate_and_pad_parm): Likewise.
27676 (pad_to_arg_alignment): Likewise.
27677 * targhooks.c (std_gimplify_va_arg_expr): Likewise.
27678
27679 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27680
27681 * config/pa/pa.h (ARGS_GROW_DOWNWARD): Define to 1.
27682 * defaults.h (ARGS_GROW_DOWNWARD): Define it to 0 by default.
27683 * calls.c (save_fixed_argument_area): Don't chekc if
27684 ARGS_GROW_DOWNWARD is defined.
27685 (restore_fixed_argument_area): Likewise.
27686 (mem_overlaps_already_clobbered_arg_p): Likewise.
27687 (check_sibcall_argument_overlap): Likewise.
27688 (expand_call): Likewise.
27689 (emit_library_call_value_1): Likewise.
27690 (store_one_arg): Likewise.
27691 * function.c (assign_parms): Likewise.
27692 (locate_and_pad_parm): Likewise.
27693 (pad_to_arg_alignment): Likewise.
27694 * targhooks.c (std_gimplify_va_arg_expr): Likewise.
27695
27696 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27697
27698 * defaults.h (gen_epilogue): New function.
27699 * alias.c (init_alias_analysis): don't check if HAVE_epilogue is
27700 defined.
27701 * cfgrtl.c (cfg_layout_finalize): Likewise.
27702 * df-scan.c: Likewise.
27703 * function.c (thread_prologue_and_epilogue_insns): Likewise.
27704 (reposition_prologue_and_epilogue_notes): Likewise.
27705 * reorg.c (find_end_label): Likewise.
27706 * toplev.c: Likewise.
27707
27708 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27709
27710 * bb-reorder.c (HAVE_return): Don't check if its undefined.
27711 * defaults.h (gen_simple_return): New function.
27712 (gen_simple_return): Likewise.
27713 (HAVE_return): Add default definition to false.
27714 (HAVE_simple_return): Likewise.
27715 * cfgrtl.c (force_nonfallthru_and_redirect): Remove checks if
27716 HAVE_return and HAVE_simple_return are defined.
27717 * function.c (gen_return_pattern): Likewise.
27718 (convert_jumps_to_returns): Likewise.
27719 (thread_prologue_and_epilogue_insns): Likewise.
27720 * reorg.c (find_end_label): Likewise.
27721 (dbr_schedule): Likewise.
27722 * shrink-wrap.c: Likewise.
27723 * shrink-wrap.h: Likewise.
27724
27725 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27726
27727 * defaults.h (EPILOGUE_USES): Add default definition of false.
27728 * df-scan.c (EPILOGUE_USES): Remove check if its undefined.
27729 * resource.c (init_resource_info): Likewise.
27730
27731 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27732
27733 * defaults.h (PCC_BITFIELD_TYPE_MATTERS): Add default definition
27734 to false.
27735 * dwarf2out.c (field_byte_offset): REmove check if
27736 PCC_BITFIELD_TYPE_MATTERS is defined.
27737 * stor-layout.c (layout_decl): Likewise.
27738 (update_alignment_for_field): Likewise.
27739 (place_field): Likewise.
27740
27741 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27742
27743 * defaults.h (HARD_REGNO_RENAME_OK): Add default definition to
27744 true.
27745 * regrename.c (check_new_reg_p): Remove check if
27746 HARD_REGNO_RENAME_OK is defined.
27747 * sel-sched.c (sel_hard_regno_rename_ok): Likewise.
27748
27749 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27750
27751 * calls.c (prepare_call_address): Remove ifdef NO_FUNCTION_CSE.
27752 * cse.c (fold_rtx): Likewise.
27753 * config/alpha/alpha.h (NO_FUNCTION_CSE): Define to 1.
27754 * config/arc/arc.h (NO_FUNCTION_CSE): Likewise.
27755 * config/avr/avr.h (NO_FUNCTION_CSE): Likewise.
27756 * config/cr16/cr16.h (NO_FUNCTION_CSE): Likewise.
27757 * config/epiphany/epiphany.h (NO_FUNCTION_CSE): Likewise.
27758 * config/frv/frv.h (NO_FUNCTION_CSE): Likewise.
27759 * config/h8300/h8300.h (NO_FUNCTION_CSE): Likewise.
27760 * config/i386/i386.h (NO_FUNCTION_CSE): Likewise.
27761 * config/ia64/ia64.h (NO_FUNCTION_CSE): Likewise.
27762 * config/lm32/lm32.h (enum reg_class) (NO_FUNCTION_CSE):
27763 * Likewise.
27764 * config/m32r/m32r.h (NO_FUNCTION_CSE): Likewise.
27765 * config/mep/mep.h (NO_FUNCTION_CSE): Likewise.
27766 * config/mn10300/mn10300.h (NO_FUNCTION_CSE): Likewise.
27767 * config/nds32/nds32.h (NO_FUNCTION_CSE): Likewise.
27768 * config/nios2/nios2.h (NO_FUNCTION_CSE): Likewise.
27769 * config/pa/pa.h (NO_FUNCTION_CSE): Likewise.
27770 * config/rs6000/rs6000.h (NO_FUNCTION_CSE): Likewise.
27771 * config/s390/s390.h (NO_FUNCTION_CSE): Likewise.
27772 * config/sparc/sparc.h (NO_FUNCTION_CSE): Likewise.
27773 * config/spu/spu.h (NO_FUNCTION_CSE): Likewise.
27774 * config/stormy16/stormy16.h (NO_FUNCTION_CSE): Likewise.
27775 * config/v850/v850.h (NO_FUNCTION_CSE): Likewise.
27776 * defaults.h (NO_FUNCTION_CSE): Provide default definition to 0.
27777 * doc/tm.texi: Regenerate.
27778 * doc/tm.texi.in: Document NO_FUNCTION_CSE is always defined to
27779 either true or false.
27780
27781 2015-04-27 Jeff Law <law@redhat.com>
27782
27783 PR tree-optimization/65217
27784 * tree-ssa-dom.c (record_equality): Given two SSA_NAMEs, if just one
27785 of them has a single use, make sure it is the LHS of the implied
27786 copy.
27787
27788 2015-04-28 Alan Modra <amodra@gmail.com>
27789
27790 PR target/65810
27791 * config/rs6000/rs6000.c (POWERPC64_TOC_POINTER_ALIGNMENT): Define.
27792 (offsettable_ok_by_alignment): Use minimum of decl and toc
27793 pointer alignment. Replace dead code with assertion.
27794 (use_toc_relative_ref): Add mode arg. Return false in -mcmodel=medium
27795 case if size exceeds toc pointer alignment.
27796 (rs6000_legitimize_reload_address): Update use_toc_relative_ref call.
27797 (rs6000_emit_move): Likewise.
27798 * configure.ac: Add linker toc pointer alignment check.
27799 * configure: Regenerate.
27800 * config.in: Regenerate.
27801
27802 2015-04-27 Yoshinori Sato <ysato@users.sourceforge.jp>
27803
27804 * config.gcc: Add h8300-*-linux.
27805 * config/h8300/linux.h: New.
27806 * config/h8300/t-linux: New.
27807 * config/h8300/h8300.c (h8300_option_override): Normal mode
27808 is not supported for h8300-*-linux.
27809 (h8300_file_start): Target priority change.
27810 (get_shift_alg): Likewise.
27811 (h8300_shift_need_scratch_p): Likewise.
27812 * config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Likewise.
27813 * config/h8300/h8300.md (define_peephole2): Remove duplicate condition.
27814
27815 2015-04-27 Caroline Tice <cmtice@google.com>
27816
27817 * final.c (final_scan_insn): Output cold_function_name as function
27818 type.
27819 * varasm.c (cold_function_name): Make global.
27820 (assemble_start_function): Re-set cold_function_name.
27821 (assemble_end_function): Output cold partition size.
27822 * varasm.h (cold_function_name): Declare global.
27823
27824 2015-04-27 Ilya Tocar <ilya.tocar@intel.com>
27825
27826 * config/i386/i386.h (EXT_REX_SSE_REG_P): New.
27827 * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Use "v"
27828 constraint.
27829 (*movxi_internal_avx512f): Ditto.
27830 (define_split): Check for xmm16+, when splitting scalar float_extend.
27831 (*extendsfdf2_mixed): Use "v" constraint.
27832 (define_split): Check for xmm16+, when splitting scalar float_truncate.
27833 (*truncdfsf_fast_sse): Use "v" constraint.
27834 (fix_trunc<MODEF:mode><SWI48:mode>_sse): Ditto.
27835 (*float<SWI48:mode><MODEF:mode>2_sse): Ditto.
27836 (define_peephole2): Check for xmm16+, when converting scalar
27837 float_truncate.
27838 (define_peephole2): Check for xmm16+, when converting scalar
27839 float_extend.
27840 (*fop_<mode>_comm_mixed): Use "v" constraint.
27841 (*fop_<mode>_comm_sse): Ditto.
27842 (*fop_<mode>_1_mixed): Ditto.
27843 (*sqrt<mode>2_sse): Ditto.
27844 (*ieee_s<ieee_maxmin><mode>3): Ditto.
27845
27846 2015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
27847
27848 * combine.c (simplify_if_then_else): Use std::swap instead
27849 of manually swapping.
27850 (known_cond): Likewise.
27851 (simplify_comparison): Likewise.
27852
27853 2015-04-27 Peter Bergner <bergner@vnet.ibm.com>
27854
27855 PR target/64579
27856 * config/rs6000/htm.md: Remove all define_expands.
27857 (UNSPECV_HTM_TABORTDC, UNSPECV_HTM_TABORTDCI, UNSPECV_HTM_TABORTWC,
27858 UNSPECV_HTM_TABORTWCI): Remove.
27859 (UNSPECV_HTM_TABORTXC, UNSPECV_HTM_TABORTXCI, UNSPECV_HTM_TTEST): New.
27860 (tabort_internal, tbegin_internal, tcheck_internal, tend_internal,
27861 trechkpt_internal, treclaim_internal, tsr_internal): Rename from this...
27862 (tabort, tbegin, tcheck, tend, trechkpt, treclaim, tsr): ...to this.
27863 (tabortdc_internal, tabortdci_internal, tabortwc_internal,
27864 tabortwci_internal): Remove define_insns.
27865 (tabort<wd>c, tabort<wd>ci): New define_insns.
27866 (tabort): Use gpc_reg_operand.
27867 (tcheck): Remove operand.
27868 (htm_mfspr_<mode>, htm_mtspr_<mode>): Use GPR mode macro.
27869 * config/rs6000/htmxlintrin.h (__TM_end): Use _HTM_TRANSACTIONAL as
27870 expected value.
27871 * config/rs6000/rs6000-builtin.def (BU_HTM_SPR0): Remove.
27872 (BU_HTM_SPR1): Rename to BU_HTM_V1. Remove use of RS6000_BTC_SPR.
27873 (tabort, tabortdc, tabortdci, tabortwc, tabortwci, tbegin,
27874 tcheck, tend, tendall, trechkpt, treclaim, tresume, tsuspend,
27875 tsr, ttest): Pass in the RS6000_BTC_CR attribute.
27876 (get_tfhar, set_tfhar, get_tfiar, set_tfiar, get_texasr, set_texasr,
27877 get_texasru, set_texasru): Pass in the RS6000_BTC_SPR attribute.
27878 (tcheck): Remove builtin argument.
27879 * config/rs6000/rs6000.c (rs6000_htm_spr_icode): Use TARGET_POWERPC64
27880 not TARGET_64BIT.
27881 (htm_expand_builtin): Fix usage of expandedp. Disallow usage of the
27882 tabortdc and tabortdci builtins when not in 64-bit mode.
27883 Modify code to handle the loss of the HTM define_expands.
27884 Emit code to copy the CR register to TARGET.
27885 (htm_init_builtins): Modify code to handle the loss of the HTM
27886 define_expands.
27887 * config/rs6000/rs6000.h (RS6000_BTC_32BIT): Delete.
27888 (RS6000_BTC_64BIT): Likewise.
27889 (RS6000_BTC_CR): New macro.
27890 * doc/extend.texi: Update documentation for htm builtins.
27891
27892 2015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
27893
27894 * simplify-rtx.c (simplify_gen_binary): Use std::swap instead
27895 of manually swapping.
27896 (simplify_associative_operation): Likewise.
27897 (simplify_binary_operation): Likewise.
27898 (simplify_plus_minus): Likewise.
27899 (simplify_relational_operation): Likewise.
27900 (simplify_ternary_operation): Likewise.
27901
27902 2015-04-27 Richard Sandiford <richard.sandiford@arm.com>
27903
27904 * config/stormy16/predicates.md (xs_hi_general_operand): Delete.
27905 (xs_hi_nonmemory_operand): Remove error.
27906 * config/stormy16/stormy16.md (movhi, movhi_internal): Use
27907 general_operand rather than xs_hi_general_operand.
27908
27909 2015-04-27 Richard Biener <rguenther@suse.de>
27910
27911 * tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg.
27912 (record_equivalences_from_stmt): Valueize rhs.
27913 (record_equality): Canonicalize x and y order via
27914 tree_swap_operands_p. Do not swap operands for same loop depth.
27915
27916 2015-04-27 Georg-Johann Lay <avr@gjlay.de>
27917
27918 PR target/65296
27919 PR target/65895
27920 * config/avr/gen-avr-mmcu-specs.c (print_mcu): Close file.
27921 Add hint how to use own spec file.
27922
27923 2015-04-27 Jakub Jelinek <jakub@redhat.com>
27924
27925 PR tree-optimization/65875
27926 * tree-vrp.c (update_value_range): If in is_new case setting
27927 old_vr to VR_VARYING, also set new_vr to it. Remove
27928 old_vr->type == VR_VARYING test.
27929 (vrp_visit_phi_node): Return SSA_PROP_VARYING instead of
27930 SSA_PROP_INTERESTING if update_value_range returned true,
27931 but new range is VR_VARYING.
27932
27933 2015-04-27 Thomas Preud'homme <thomas.preudhomme@arm.com>
27934
27935 * combine.c (sign_extend_short_imm): New.
27936 (set_nonzero_bits_and_sign_copies): Use above new function for sign
27937 extension of src short immediate.
27938 (reg_nonzero_bits_for_combine): Likewise for tem.
27939
27940 2015-04-27 Eric Botcazou <ebotcazou@adacore.com>
27941
27942 * stor-layout.c (self_referential_component_ref_p): New predicate.
27943 (copy_self_referential_tree_r): Use it.
27944 (self_referential_size): Punt for simple operations directly involving
27945 self-referential component references.
27946 * tree-cfg.c (dump_function_to_file): Add missing final curly bracket.
27947
27948 2015-04-27 Eric Botcazou <ebotcazou@adacore.com>
27949
27950 * ipa-icf.c (icf_handled_component_p): Remove redundant tests.
27951
27952 2015-04-27 Richard Sandiford <richard.sandiford@arm.com>
27953
27954 * vec.h (vec): Make splice arguments const. Update definitions
27955 accordingly.
27956
27957 2015-04-27 Yvan Roux <yvan.roux@linaro.org>
27958
27959 * config/arm/arm.md (*arm_subsi3_insn): Fixed redundant
27960 alternatives.
27961
27962 2015-04-26 Tom de Vries <tom@codesourcery.com>
27963
27964 PR tree-optimization/65826
27965 * internal-fn.def: Mark VA_ARG with ECF_LEAF.
27966
27967 2015-04-24 Steve Ellcey <sellcey@imgtec.com>
27968
27969 * config/mips/mips.md: (*madd4<mode>) Remove accum_in attribute.
27970 (*madd3<mode>): Ditto.
27971 (*msub4<mode>): Ditto.
27972 (*msub3<mode>): Ditto.
27973 (*nmadd4<mode>): Ditto.
27974 (*nmadd3<mode>): Ditto.
27975 (*nmadd4<mode>_fastmath): Ditto.
27976 (*nmadd3<mode>_fastmath): Ditto.
27977 (*nmsub4<mode>): Ditto.
27978 (*nmsub3<mode>): Ditto.
27979 (*nmsub4<mode>_fastmath): Ditto.
27980 (*nmsub3<mode>_fastmath): Ditto.
27981
27982 2015-04-24 Jason Merrill <jason@redhat.com>
27983
27984 PR c++/50800
27985 * tree.c (build_reference_type_for_mode): Don't pass can_alias_all
27986 down when building TYPE_CANONICAL.
27987 (build_pointer_type_for_mode): Likewise.
27988
27989 2015-04-24 Chen Gang <gang.chen.5i5j@gmail.com>
27990
27991 * genrecog.c (validate_pattern): Check matching constraint refers
27992 to a lower numbered operand.
27993
27994 2015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
27995
27996 PR target/65849
27997 * config/rs6000/rs6000.opt (-mvsx-align-128): Make options that
27998 save to independent variables use the Save attribute. This will
27999 allow these options to be modified with the #pragma/attribute
28000 target support.
28001 (-mallow-movmisalign): Likewise.
28002 (-mallow-df-permute): Likewise.
28003 (-msched-groups): Likewise.
28004 (-malways-hint): Likewise.
28005 (-malign-branch-targets): Likewise.
28006 (-mvectorize-builtins): Likewise.
28007 (-msave-toc-indirect): Likewise.
28008
28009 * config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that
28010 can be set via the #pragma/attribute target support.
28011 (rs6000_opt_vars): Likewise.
28012 (rs6000_inner_target_options): If VSX was set, also set
28013 -mno-avoid-indexed-addresses.
28014
28015 2015-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28016
28017 * config/arm/iterators.md (shiftable_ops): Rename to...
28018 (SHIFTABLE_OPS): ... This. Update use in comments.
28019 (ior_xor): Rename to...
28020 (IOR_XOR): ... This.
28021 (vqh_ops): Rename to...
28022 (VQH_OPS): ... This.
28023 (vqhs_ops): Rename to...
28024 (VQHS_OPS): ... This.
28025 (rshifts): Rename to...
28026 (RSHIFTS): ... This.
28027 (returns): Rename to...
28028 (RETURNS): ... This.
28029 * config/arm/arm.md: Update uses of the above.
28030 * config/arm/neon.md: Likewise.
28031
28032 2014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28033
28034 * config.host (case ${host}): Add aarch64*-*-linux case.
28035 * config/aarch64/aarch64-cores.def: Add IMPLEMENTER_ID and PART_NUMBER
28036 fields to all the cores.
28037 * config/aarch64/aarch64-elf.h (DRIVER_SELF_SPECS):
28038 Add MCPU_MTUNE_NATIVE_SPECS.
28039 * config/aarch64/aarch64-option-extensions.def: Add FEATURE_STRING
28040 field to all extensions.
28041 * config/aarch64/aarch64-opts.h: Adjust definition of AARCH64_CORE.
28042 * config/aarch64/aarch64.c: Adjust definition of AARCH64_CORE.
28043 Adjust definition of AARCH64_OPT_EXTENSION.
28044 * config/aarch64/aarch64.h: Adjust definition of AARCH64_CORE.
28045 (MCPU_MTUNE_NATIVE_SPECS): Define.
28046 * config/aarch64/driver-aarch64.c: New file.
28047 * config/aarch64/x-arch64: New file.
28048 * doc/invoke.texi (AArch64 Options): Document native value for -mcpu,
28049 -mtune and -march.
28050
28051 2015-04-24 Uros Bizjak <ubizjak@gmail.com>
28052 Wei Mi <wmi@google.com>
28053
28054 * config/i386/i386-protos.h (ix86_operands_ok_for_move_multiple): New.
28055 * config/i386/i386.c (extract_base_offset_in_addr): New function.
28056 (ix86_operands_ok_for_move_multiple): Ditto.
28057 * config/i386/sse.md (movsd/movhpd to movupd peephole2): New pattern.
28058 (movlpd/movhpd to movupd peephole2): Ditto.
28059
28060 2015-04-24 Marek Polacek <polacek@redhat.com>
28061
28062 PR c/61534
28063 * input.h (from_macro_expansion_at): Define.
28064
28065 PR c/63357
28066 * doc/invoke.texi: Update description of -Wlogical-op.
28067
28068 2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
28069
28070 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix
28071 ternary operator in fprintf and harmonize spacing.
28072
28073 2015-04-24 Uros Bizjak <ubizjak@gmail.com>
28074
28075 * config/i386/sse.md (*vec_widen_smult_even_v8si<mask_name>):
28076 Mark operand1 commutative.
28077
28078 2015-04-24 Uros Bizjak <ubizjak@gmail.com>
28079
28080 * config/i386/sse.md (*vec_concatv2sf_sse4_1): Do not allow both
28081 input operands in memory.
28082 (*vec_concatv2si_sse4_1): Ditto.
28083 (*vec_concatv2df): Ditto, except for SSE3 and equal input operands.
28084 (vec_extract_lo_<mode><mask_name>): Change operand 1 predicate to
28085 register_operand.
28086 (vec_extract_hi_v32hi): Ditto.
28087 (vec_extract_hi_v64hi): Ditto.
28088 (<mask_codefor>avx512f_unpckhpd512<mask_name>): Ditto.
28089
28090 2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
28091 Steven Bosscher <steven@gcc.gnu.org>
28092
28093 PR rtl-optimization/34503
28094 * cprop.c (cprop_reg_p): New.
28095 (hash_scan_set): Use above function to check if register can be
28096 propagated.
28097 (find_avail_set): Return up to two sets, one whose source is a
28098 register and one whose source is a constant. Sets are returned in an
28099 array passed as parameter rather than as a return value.
28100 (cprop_insn): Use a do while loop rather than a goto. Try each of the
28101 sets returned by find_avail_set, starting with the one whose source is
28102 a constant. Use cprop_reg_p to check if register can be propagated.
28103 (do_local_cprop): Use cprop_reg_p to check if register can be
28104 propagated.
28105 (implicit_set_cond_p): Likewise.
28106
28107 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
28108
28109 * ipa-icf.c (sem_function::equals_wpa): Compare thunk info.
28110 (sem_function::equals): IGNORED_NODES parameter is now unused;
28111 update call of equals_private.
28112 (sem_function::equals_private): Do not call equals_wpa; skip
28113 gimple body matching if there is no body.
28114 (sem_function::init): Add logic to hash tthunk info.
28115 (sem_function::parse): Also parse thunks.
28116 * ipa-icf.h (equals_private): Update declaration.
28117
28118 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
28119
28120 * config/rs6000/altivec.md (*altivec_lvx_<mode>_internal): Remove
28121 asterisk from name so this can be generated directly.
28122 (*altivec_stvx_<mode>_internal): Likewise.
28123 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Add assert
28124 that this is never called during or after reload/lra.
28125 (rs6000_frame_related): Remove split_reg
28126 argument and logic that references it.
28127 (emit_frame_save): Remove last parameter from call to
28128 rs6000_frame_related.
28129 (rs6000_emit_prologue): Remove last parameter from eight calls to
28130 rs6000_frame_related. Force generation of stvx instruction for
28131 Altivec register saves. Remove split_reg handling, which is no
28132 longer needed.
28133 (rs6000_emit_epilogue): Force generation of lvx instruction for
28134 Altivec register restores.
28135
28136 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
28137
28138 * config/rs6000/rs6000.opt (mcrypto): Change option description to
28139 match category changes in ISA 2.07B.
28140
28141 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28142
28143 * config/arm/iterators.md (GTGE, GTUGEU, COMPARISONS): New code
28144 iterators.
28145 (cmp_op, cmp_type): New code attributes.
28146 (NEON_VCMP, NEON_VACMP): New int iterators.
28147 (cmp_op_unsp): New int attribute.
28148 * config/arm/neon.md (neon_vc<cmp_op><mode>): New define_expand.
28149 (neon_vceq<mode>): Delete.
28150 (neon_vc<cmp_op><mode>_insn): New pattern.
28151 (neon_vc<cmp_op_unsp><mode>_insn_unspec): Likewise.
28152 (neon_vcgeu<mode>): Delete.
28153 (neon_vcle<mode>): Likewise.
28154 (neon_vclt<mode>: Likewise.
28155 (neon_vcage<mode>): Likewise.
28156 (neon_vcagt<mode>): Likewise.
28157 (neon_vca<cmp_op><mode>): New define_expand.
28158 (neon_vca<cmp_op><mode>_insn): New pattern.
28159 (neon_vca<cmp_op_unsp><mode>_insn_unspec): Likewise.
28160
28161 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
28162
28163 * tree.h (attribute_value_equal): Declare.
28164 * tree.c (attribute_value_equal): Export.
28165
28166 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
28167
28168 * ipa-icf.c (sem_item::compare_attributes): New function.
28169 (sem_item::compare_referenced_symbol_properties): Compare variable
28170 attributes.
28171 (sem_item::hash_referenced_symbol_properties): Record DECL_ALIGN.
28172 (sem_function::param_used_p): New function.
28173 (sem_function::equals_wpa): Fix attribute comparsion; match
28174 parameter type codes; do not compare paremter flags when
28175 they are not used; compare edge flags; compare indirect calls.
28176 (sem_item::update_hash_by_addr_refs): Hash reference type.
28177 (sem_function::equals_private): Do not match DECL_ATTRIBUTES.
28178 (sem_variable::equals_wpa): Do not match DECL_ALIGN; match
28179 reference use type.
28180 (sem_item_optimizer::update_hash_by_addr_refs): Use param_used_p.
28181 * ipa-icf.h (compare_attributes, param_used_p): Declare.
28182
28183 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
28184
28185 * ipa-icf.c (symbol_compare_collection::symbol_compare_collection):
28186 cleanup.
28187 (sem_function::get_hash): Do not hash DECL_DISREGARD_INLINE_LIMITS,
28188 DECL_DECLARED_INLINE_P and DECL_IS_OPERATOR_NEW.
28189 (sem_item::compare_referenced_symbol_properties): New.
28190 (sem_item::hash_referenced_symbol_properties): New.
28191 (sem_item::compare_cgraph_references): Rename to ...
28192 (sem_item::compare_symbol_references): ... this one; use
28193 compare_referenced_symbol_properties.
28194 (sem_function::equals_wpa): Do not compare
28195 DECL_DISREGARD_INLINE_LIMITS, DECL_DECLARED_INLINE_P,
28196 DECL_IS_OPERATOR_NEW; compare pointer sizes.
28197 (sem_item::update_hash_by_addr_refs): Call
28198 hash_referenced_symbol_properties.
28199 (sem_item::update_hash_by_local_refs): Cleanup.
28200 (sem_function::merge): Do not mix up symbol properties.
28201 (sem_variable::equals_wpa): Use compare_symbol_references.
28202 * ipa-icf.h (sem_item::compare_referenced_symbol_properties): New.
28203 (sem_item::hash_referenced_symbol_properties): New.
28204 (sem_item::compare_symbol_references): New.
28205 (sem_item::compare_cgraph_references): Remove.
28206
28207 2015-04-23 Kwok Cheung Yeung <kcy@codesourcery.com>
28208
28209 PR target/26702
28210 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL):
28211 Emit size of local.
28212
28213 2015-04-23 Nick Clifton <nickc@redhat.com>
28214
28215 * config/rl78/rl78.c (rl78_preferred_reload_class): Add
28216 ATTRIBUTE_UNUSED to x parameter.
28217 * config/rl78/rl78-opts.h (enum rl78_mul_types): Remove unused MUL_RL78.
28218
28219 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
28220
28221 * config/rs6000/crypto.md (crypto_vpmsum<CR_char>): Change
28222 TARGET_CRYPTO to TARGET_P8_VECTOR>
28223 (crypto_vpermxor_<mode>): Likewise.
28224 * config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define.
28225 (BU_CRYPTO_3A): Likewise.
28226 (BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2.
28227 (BU_CRYPTO_OVERLOAD_3A): New #define.
28228 (VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A.
28229 (VPMSUMH): Likewise.
28230 (VPMSUMW): Likewise.
28231 (VPMSUMD): Likewise.
28232 (VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A.
28233 (VPERMXOR_V4SI): Likewise.
28234 (VPERMXOR_V8HI): Likewise.
28235 (VPERMXOR_V16QI): Likewise.
28236 (VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to
28237 BU_CRYPTO_OVERLOAD_2A.
28238 (VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to
28239 BU_CRYPTO_OVERLOAD_3A.
28240 * config/rs6000/rs6000.opt (mcrypto): Change description of
28241 option.
28242
28243 2015-04-23 Richard Biener <rguenther@suse.de>
28244
28245 * passes.def: Remove copy propagation passes run directly after CCP.
28246 * tree-ssa-ccp.c (get_value_for_expr): Fall back to a COPY for
28247 SSA names.
28248 (ccp_visit_phi_node): Rework to handle first executable edge
28249 specially.
28250
28251 2015-04-23 Matthew Wahab <matthew.wahab@arm.com>
28252
28253 * config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
28254 (ARM_LEGITIMIZE_RELOAD_ADDRESS): Remove.
28255 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Remove.
28256 * config/arm/arm.c (arm_legimitimize_reload_address): Remove.
28257 (thumb_legimitimize_reload_address): Remove.
28258 * config/arm/arm-protos.h (arm_legimitimize_reload_address):
28259 Remove.
28260 (thumb_legimitimize_reload_address): Remove.
28261
28262 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28263
28264 * conditions.h (CC_STATUS_INIT): Gate on #ifndef CC_STATUS_INIT.
28265
28266 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28267
28268 * config/arm/arm.md (load_multiple): Reject operand 2 greater than
28269 MAX_LDM_STM_OPS.
28270 (store_multiple): Likewise.
28271
28272 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28273
28274 * config/arm/arm-protos.h (struct tune_params): Add issue_rate field.
28275 * config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune,
28276 arm_strongarm_tune, arm_xscale_tune, arm_9e_tune, arm_v6t2_tune,
28277 arm_cortex_tune, arm_cortex_a8_tune, arm_cortex_a7_tune,
28278 arm_cortex_a15_tune, arm_cortex_a53_tune, arm_cortex_a57_tune,
28279 arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune,
28280 arm_fa726te_tune arm_cortex_a5_tune, arm_xgene1_tune):
28281 Specify issue_rate value.
28282 (arm_issue_rate): Look up issue rate from tuning structs. Remove
28283 large switch statement.
28284 (arm_marvell_pj4_tune): New struct.
28285 * config/arm/arm-cores.def (marvell-pj4): Use arm_marvell_pj4_tune
28286 struct.
28287
28288 2015-04-23 Richard Biener <rguenther@suse.de>
28289
28290 * tree-vect-slp.c (vect_find_first_load_in_slp_instance): Remove.
28291 (vect_find_last_store_in_slp_instance): Rename to ...
28292 (vect_find_last_scalar_stmt_in_slp): ... this and generalize.
28293 (vect_analyze_slp_cost_1): Use vector_load for constant defs
28294 and vec_construct for external defs when estimating prologue cost.
28295 (vect_analyze_slp_instance): Do not init SLP_INSTANCE_FIRST_LOAD_STMT.
28296 Compute costs here only when vectorizing loops.
28297 (vect_slp_analyze_bb_1): Compute SLP cost here, after vector types
28298 have been determined.
28299 (vect_schedule_slp_instance): Simplify vectorized code placement
28300 and prepare for in-BB external defs.
28301 * tree-vectorizer.h (struct _slp_instance): Remove first_load member.
28302 (SLP_INSTANCE_FIRST_LOAD_STMT): Remove.
28303 * tree-vect-stmts.c (vect_model_store_cost): Remove PURE_SLP_STMT
28304 guard.
28305 (vect_model_load_cost): Likewise.
28306 (vectorizable_store): Instead add it here.
28307 (vectorizable_load): Likewise.
28308 (vect_is_simple_use): Dump def type textually.
28309
28310 2015-04-23 Richard Biener <rguenther@suse.de>
28311
28312 * cfgexpand.c (expand_gimple_stmt_1): Use ops.code.
28313 * cfgloop.c (verify_loop_structure): Verify the root loop node.
28314 * except.c (duplicate_eh_regions): Call get_eh_region_from_lp_number_fn
28315 instead of get_eh_region_from_lp_number.
28316 * loop-init.c (fix_loop_structure): If we removed a loop, reset
28317 the SCEV cache.
28318
28319 2015-04-23 Anton Blanchard <anton@samba.org>
28320
28321 * config/rs6000/rs6000.c (rs6000_output_function_prologue): No
28322 need for -mprofile-kernel to save LR to stack.
28323
28324 2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
28325
28326 * config/rs6000/rs6000.c (rtx_is_swappable_p): Commentary
28327 adjustments.
28328 (insn_is_swappable_p): Return 1 for a convert from double to
28329 single precision when all of its uses are splats of BE element
28330 zero.
28331
28332 2015-04-23 Kugan Vivekanandarajah <kuganv@linaro.org>
28333
28334 * ira-costs.c (record_operand_costs): Fix typo (remove redundant code).
28335
28336 2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
28337
28338 PR target/65456
28339 * config/rs6000/rs6000.c (rs6000_option_override_internal): For
28340 VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and
28341 TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line
28342 option.
28343 (rs6000_builtin_mask_for_load): Return 0 for targets with
28344 efficient unaligned VSX accesses so that the vectorizer will use
28345 direct unaligned loads.
28346 (rs6000_builtin_support_vector_misalignment): Always return true
28347 for targets with efficient unaligned VSX accesses.
28348 (rs6000_builtin_vectorization_cost): Cost of unaligned loads and
28349 stores on targets with efficient unaligned VSX accesses is almost
28350 always the same as the cost of an aligned load or store, so model
28351 it that way.
28352 * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for
28353 unaligned vectors if we have efficient unaligned VSX accesses.
28354 * config/rs6000/rs6000.opt (mefficient-unaligned-vector): New
28355 undocumented option.
28356
28357 2015-04-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28358
28359 Revert:
28360 2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
28361
28362 * config.gcc (LIBC_MUSL): New tm_defines macro.
28363 * config/linux.h (OPTION_MUSL): Define.
28364 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
28365 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
28366 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
28367
28368 * config/linux.opt (mmusl): New option.
28369 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
28370 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
28371
28372 * configure: Regenerate.
28373
28374 2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
28375
28376 * config.gcc (LIBC_MUSL): New tm_defines macro.
28377 * config/linux.h (OPTION_MUSL): Define.
28378 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
28379 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
28380 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
28381
28382 * config/linux.opt (mmusl): New option.
28383 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
28384 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
28385
28386 * configure: Regenerate.
28387
28388 2015-04-22 Yury Gribov <y.gribov@samsung.com>
28389
28390 * doc/invoke.texi (-fsanitize-sections): Update description.
28391 * asan.c (set_sanitized_sections): Parse incoming arg.
28392 (section_sanitized_p): Support wildcards.
28393
28394 2015-04-22 Tom de Vries <tom@codesourcery.com>
28395
28396 PR tree-optimization/65823
28397 * gimplify.c (gimplify_modify_expr): Use operand_equal_p to test for
28398 equality between ap_copy and ap.
28399
28400 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
28401
28402 PR target/47098
28403 * config/openbsd-oldgas.h (OBSD_LIB_SPEC): Add.
28404
28405 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
28406
28407 PR target/47122
28408 * config.gcc (vax-*-openbsd*): Fix name of pthread spec header.
28409
28410 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
28411
28412 PR target/55144
28413 * config.gcc (bfin*-linux-uclibc*): Prepend tmake_file and
28414 remove already contained t-files.
28415
28416 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
28417
28418 * tree-tailcall.c (suitable_for_tail_opt_p, find_tail_calls):
28419 Remove unneeded forward declarations.
28420 (suitable_for_tail_call_opt_p): Commentary typo fix.
28421
28422 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
28423
28424 * varasm.c (emit_bss): Remove redundant guard.
28425
28426 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
28427
28428 * config/c6x/c6x.h (TARGET_CPU_CPP_BUILTINS): Add unk_isa.
28429
28430 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
28431
28432 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Add BFIN_CPU_UNKNOWN.
28433
28434 2015-04-22 Hale Wang <hale.wang@arm.com>
28435 Terry Guo <terry.guo@arm.com>
28436
28437 PR rtl-optimization/64818
28438 * combine.c (can_combine_p): Don't combine user-specified
28439 register if it is in an asm input.
28440
28441 2015-04-21 Jan Hubicka <hubicka@ucw.cz>
28442
28443 PR ipa/65076
28444 * passes.def (early_optimizations): Add pass_dse.
28445
28446 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28447
28448 * defaults.h (INSN_REFERENCES_ARE_DELAYED): New definition.
28449 * reorg.c (redundant_insn): Remove ifdef
28450 INSN_REFERENCES_ARE_DELAYED.
28451 * resource.c (mark_referenced_resources): Likewise.
28452
28453 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28454
28455 * defaults.h (INSN_SETS_ARE_DELAYED): New definition.
28456 * reorg.c (redundant_insn): Remove ifdef INSN_SETS_ARE_DELAYED.
28457 * resource.c (mark_set_resources): Likewise.
28458
28459 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28460
28461 * caller-save.c (insert_one_insn): Remove ifdef HAVE_cc0.
28462 * cfgcleanup.c (flow_find_cross_jump): Likewise.
28463 (flow_find_head_matching_sequence): Likewise.
28464 (try_head_merge_bb): Likewise.
28465 * combine.c (can_combine_p): Likewise.
28466 (try_combine): Likewise.
28467 (distribute_notes): Likewise.
28468 * df-problems.c (can_move_insns_across): Likewise.
28469 * final.c (final): Likewise.
28470 * gcse.c (insert_insn_end_basic_block): Likewise.
28471 * ira.c (find_moveable_pseudos): Likewise.
28472 * reorg.c (try_merge_delay_insns): Likewise.
28473 (fill_simple_delay_slots): Likewise.
28474 (fill_slots_from_thread): Likewise.
28475 * sched-deps.c (sched_analyze_2): Likewise.
28476
28477 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28478
28479 * df-scan.c (df_get_entry_block_def_set): Remove #ifdef
28480 PIC_OFFSET_TABLE_REGNUM.
28481
28482 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28483
28484 * alias.c (init_alias_target): Remove ifdef
28485 * HARD_FRAME_POINTER_IS_FRAME_POINTER.
28486 * df-scan.c (df_insn_refs_collect): Likewise.
28487 (df_get_regular_block_artificial_uses): Likewise.
28488 (df_get_eh_block_artificial_uses): Likewise.
28489 (df_get_entry_block_def_set): Likewise.
28490 (df_get_exit_block_use_set): Likewise.
28491 * emit-rtl.c (gen_rtx_REG): Likewise.
28492 * ira.c (ira_setup_eliminable_regset): Likewise.
28493 * reginfo.c (init_reg_sets_1): Likewise.
28494 * regrename.c (rename_chains): Likewise.
28495 * reload1.c (reload): Likewise.
28496 (eliminate_regs_in_insn): Likewise.
28497 * resource.c (mark_referenced_resources): Likewise.
28498 (init_resource_info): Likewise.
28499
28500 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28501
28502 * defaults.h (MASK_RETURN_ADDR): New definition.
28503 * except.c (expand_builtin_extract_return_addr): Remove ifdef
28504 MASK_RETURN_ADDR.
28505
28506 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28507
28508 * defaults.h (RETURN_ADDR_OFFSET): New definition.
28509 * except.c (expand_builtin_extract_return_addr): Remove ifdef
28510 RETURN_ADDR_OFFSET.
28511 (expand_builtin_frob_return_addr): Likewise.
28512
28513 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28514
28515 * cfgrtl.c (rtl_merge_blocks): Change #if HAVE_cc0 to if (HAVE_cc0)
28516 (try_redirect_by_replacing_jump): Likewise.
28517 (rtl_tidy_fallthru_edge): Likewise.
28518 * combine.c (insn_a_feeds_b): Likewise.
28519 (find_split_point): Likewise.
28520 (simplify_set): Likewise.
28521 * cprop.c (cprop_jump): Likewise.
28522 * cse.c (cse_extended_basic_block): Likewise.
28523 * df-problems.c (can_move_insns_across): Likewise.
28524 * function.c (emit_use_return_register_into_block): Likewise.
28525 * haifa-sched.c (sched_init): Likewise.
28526 * ira.c (find_moveable_pseudos): Likewise.
28527 * loop-invariant.c (find_invariant_insn): Likewise.
28528 * lra-constraints.c (curr_insn_transform): Likewise.
28529 * postreload.c (reload_combine_recognize_const_pattern):
28530 * Likewise.
28531 * reload.c (find_reloads): Likewise.
28532 * reorg.c (delete_scheduled_jump): Likewise.
28533 (steal_delay_list_from_target): Likewise.
28534 (steal_delay_list_from_fallthrough): Likewise.
28535 (redundant_insn): Likewise.
28536 (fill_simple_delay_slots): Likewise.
28537 (fill_slots_from_thread): Likewise.
28538 (delete_computation): Likewise.
28539 * sched-rgn.c (add_branch_dependences): Likewise.
28540
28541 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28542
28543 * genconfig.c (main): Always define HAVE_cc0.
28544 * caller-save.c (insert_one_insn): Change ifdef HAVE_cc0 to #if
28545 HAVE_cc0.
28546 * cfgcleanup.c (flow_find_cross_jump): Likewise.
28547 (flow_find_head_matching_sequence): Likewise.
28548 (try_head_merge_bb): Likewise.
28549 * cfgrtl.c (rtl_merge_blocks): Likewise.
28550 (try_redirect_by_replacing_jump): Likewise.
28551 (rtl_tidy_fallthru_edge): Likewise.
28552 * combine.c (do_SUBST_MODE): Likewise.
28553 (insn_a_feeds_b): Likewise.
28554 (combine_instructions): Likewise.
28555 (can_combine_p): Likewise.
28556 (try_combine): Likewise.
28557 (find_split_point): Likewise.
28558 (subst): Likewise.
28559 (simplify_set): Likewise.
28560 (distribute_notes): Likewise.
28561 * cprop.c (cprop_jump): Likewise.
28562 * cse.c (cse_extended_basic_block): Likewise.
28563 * df-problems.c (can_move_insns_across): Likewise.
28564 * final.c (final): Likewise.
28565 (final_scan_insn): Likewise.
28566 * function.c (emit_use_return_register_into_block): Likewise.
28567 * gcse.c (insert_insn_end_basic_block): Likewise.
28568 * haifa-sched.c (sched_init): Likewise.
28569 * ira.c (find_moveable_pseudos): Likewise.
28570 * loop-invariant.c (find_invariant_insn): Likewise.
28571 * lra-constraints.c (curr_insn_transform): Likewise.
28572 * optabs.c (prepare_cmp_insn): Likewise.
28573 * postreload.c (reload_combine_recognize_const_pattern):
28574 * Likewise.
28575 * reload.c (find_reloads): Likewise.
28576 (find_reloads_address_1): Likewise.
28577 * reorg.c (delete_scheduled_jump): Likewise.
28578 (steal_delay_list_from_target): Likewise.
28579 (steal_delay_list_from_fallthrough): Likewise.
28580 (try_merge_delay_insns): Likewise.
28581 (redundant_insn): Likewise.
28582 (fill_simple_delay_slots): Likewise.
28583 (fill_slots_from_thread): Likewise.
28584 (delete_computation): Likewise.
28585 (relax_delay_slots): Likewise.
28586 * sched-deps.c (sched_analyze_2): Likewise.
28587 * sched-rgn.c (add_branch_dependences): Likewise.
28588
28589 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28590
28591 * combine.c (find_single_use): Remove HAVE_cc0 ifdef for code
28592 that is trivially ded on non cc0 targets.
28593 (simplify_set): Likewise.
28594 (mark_used_regs_combine): Likewise.
28595 * cse.c (new_basic_block): Likewise.
28596 (fold_rtx): Likewise.
28597 (cse_insn): Likewise.
28598 (cse_extended_basic_block): Likewise.
28599 (set_live_p): Likewise.
28600 * rtlanal.c (canonicalize_condition): Likewise.
28601 * simplify-rtx.c (simplify_binary_operation_1): Likewise.
28602
28603 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28604
28605 * conditions.h: Define macros even if HAVE_cc0 is undefined.
28606 * emit-rtl.c: Define functions even if HAVE_cc0 is undefined.
28607 * final.c: Likewise.
28608 * jump.c: Likewise.
28609 * recog.c: Likewise.
28610 * recog.h: Declare functions even when HAVE_cc0 is undefined.
28611 * sched-deps.c (sched_analyze_2): Always compile case for cc0.
28612
28613 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28614
28615 * defaults.h: New definition of EH_RETURN_DATA_REGNO.
28616 * except.c: Remove definition of EH_RETURN_DATA_REGNO.
28617 * builtins.c (expand_builtin): Remove check if
28618 EH_RETURN_DATA_REGNO is defined.
28619 * df-scan.c (df_bb_refs_collect): Likewise.
28620 (df_get_exit_block_use_set): Likewise.
28621 * haifa-sched.c (initiate_bb_reg_pressure_info): Likewise.
28622 * ira-lives.c (process_bb_node_lives): Likewise.
28623 * lra-lives.c (process_bb_lives): Likewise.
28624
28625 2015-04-21 Uros Bizjak <ubizjak@gmail.com>
28626
28627 * config/i386/i386.md (ARGP_REG, FRAME_REG, BND2_REG, BND3_REG,
28628 FIRST_PSEUDO_REG): New.
28629 * config/i386/i386.h (STACK_POINTER_REGNUM): Define to SP_REG.
28630 (ARG_POINTER_REGNUM): Define to ARGP_REG.
28631 (FRAME_POINTER_REGNUM): Define to FRAME_REG.
28632 (HARD_FRAME_POINTER_REGNUM): Define to BP_REG.
28633 (FIRST_PSEUDO_REGISTER): Define to FIRST_PSEUDO_REG.
28634 (FIRST_INT_REG): New.
28635 (LAST_INT_REG): New.
28636 (FIRST_*_REG): Define using *_REG.
28637 (LAST_*_REG): Ditto.
28638 (QI_REGNO_P): Define using FIRST_QU_REG and LAST_QI_REG.
28639 (LEGACY_INT_REGNO_P): Define using FIRST_INT_REG and LAST_INT_REG.
28640 (FIRST_FLOAT_REG): Define to FIRST_STACK_REG.
28641
28642 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28643
28644 * expmed.c: (synth_mult): Only assume overlapping
28645 shift with previous steps in alg_sub_t_m2 case.
28646
28647 2015-04-21 Richard Biener <rguenther@suse.de>
28648
28649 PR tree-optimization/65650
28650 * tree-ssa-ccp.c (valid_lattice_transition): Allow lattice
28651 transitions involving copies.
28652 (set_lattice_value): Adjust for copy lattice state.
28653 (ccp_lattice_meet): Do not merge UNDEFINED and a copy to the copy
28654 if that doesn't dominate the merge point.
28655 (bit_value_unop): Adjust what we treat as varying mask.
28656 (bit_value_binop): Likewise.
28657 (bit_value_assume_aligned): Likewise.
28658 (evaluate_stmt): When we simplified to a SSA name record a copy
28659 instead of dropping to varying.
28660 (visit_assignment): Simplify.
28661
28662 * gimple-match.h (gimple_simplify): Add another callback.
28663 * gimple-fold.c (fold_stmt_1): Adjust caller.
28664 (gimple_fold_stmt_to_constant_1): Likewise - pass valueize
28665 for the 2nd callback.
28666 * gimple-match-head.c (gimple_simplify): Add a callback that is
28667 used to valueize the stmt operands and use it that way.
28668
28669 2015-04-21 Richard Biener <rguenther@suse.de>
28670
28671 PR tree-optimization/65788
28672 * tree-ssa-ccp.c (evaluate_stmt): Evaluate to UNDEFINED early.
28673
28674 2015-04-21 Richard Biener <rguenther@suse.de>
28675
28676 * config/i386/i386.c (ix86_builtin_vectorization_cost): Scale
28677 vec_construct cost by vec_stmt_cost.
28678
28679 2015-04-21 Richard Biener <rguenther@suse.de>
28680
28681 * cfghooks.h (create_basic_block): Replace with two overloads
28682 for RTL and GIMPLE.
28683 (split_block): Likewise.
28684 * cfghooks.c (split_block): Rename to ...
28685 (split_block_1): ... this.
28686 (split_block): Add two type-safe overloads for RTL and GIMPLE.
28687 (split_block_after_labels): Call split_block_1.
28688 (create_basic_block): Rename to ...
28689 (create_basic_block_1): ... this.
28690 (create_basic_block): Add two type-safe overloads for RTL and GIMPLE.
28691 (create_empty_bb): Call create_basic_block_1.
28692 * cfgrtl.c (fixup_fallthru_exit_predecessor): Use
28693 split_block_after_labels.
28694 * omp-low.c (expand_parallel_call): Likewise.
28695 (expand_omp_target): Likewise.
28696 (simd_clone_adjust): Likewise.
28697 * tree-chkp.c (chkp_get_entry_block): Likewise.
28698 * cgraphunit.c (init_lowered_empty_function): Use the GIMPLE
28699 create_basic_block overload.
28700 (cgraph_node::expand_thunk): Likewise.
28701 * tree-cfg.c (make_blocks): Likewise.
28702 (handle_abnormal_edges): Likewise.
28703 * tree-inline.c (copy_bb): Likewise.
28704
28705 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28706
28707 * config/aarch64/aarch64.md (*<NLOGICAL:optab>_one_cmplsidi3_ze):
28708 New pattern.
28709 (*xor_one_cmplsidi3_ze): Likewise.
28710
28711 2015-04-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
28712
28713 * df-core.c (df_finish_pass): Iterate over df->problems_by_index[] and
28714 use df_remove_problem rather than manually removing problems, leaving
28715 holes in df->problems_in_order[].
28716
28717 2015-04-21 Tom de Vries <tom@codesourcery.com>
28718
28719 PR tree-optimization/65802
28720 * internal-fn.def (VA_ARG): Add ECF_NOTROW to flags.
28721
28722 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28723
28724 * common/config/aarch64/aarch64-common.c (AARCH64_CPU_NAME_LENGTH):
28725 Increase to 128.
28726 (aarch64_rewrite_selected_cpu): Do not chop off extensions starting
28727 at '.'. Assert that there's enough space for everything.
28728
28729 2015-04-21 Uros Bizjak <ubizjak@gmail.com>
28730
28731 PR tree-optimization/64950
28732 Revert:
28733 2010-08-02 Uros Bizjak <ubizjak@gmail.com>
28734
28735 PR target/41089
28736 * config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset
28737 as volatile.
28738
28739 2015-04-20 Shiva Chen <shiva0217@gmail.com>
28740
28741 PR rtl-optimization/64916
28742 * cfgcleanup.c (values_equal_p): New function.
28743 (can_replace_by): Use it.
28744
28745 2015-04-20 Paolo Carlini <paolo.carlini@oracle.com>
28746
28747 PR c++/65801
28748 * doc/invoke.texi ([-Wnarrowing]): Update.
28749
28750 2015-04-20 Jeff Law <law@redhat.com>
28751
28752 PR tree-optimization/65658
28753 * tree-ssa-threadupdate.c (redirection_block_p): Remove
28754 redundant test for GIMPLE_ASSIGN in last change.
28755
28756 2015-04-20 Uros Bizjak <ubizjak@gmail.com>
28757
28758 * config/i386/i386.c (set_pic_reg_ever_live): Remove.
28759 (legitimize_pic_address): Do not call set_pic_reg_ever_live.
28760 (legitimize_tls_address): Ditto.
28761 (ix86_expand_move): Ditto.
28762 (ix86_expand_binary_operator): Remove reload_in_progress checks.
28763 (ix86_expand_unary_operator): Ditto.
28764 * config/i386/predicates.md (index_register_operand): Ditto.
28765
28766 2015-04-20 Selim Belbachir <selim.belbachir@fr.thalesgroup.com>
28767
28768 * reorg.c (try_merge_delay_insns): Improve correctness checking
28769 for targets with multiple delay slots.
28770
28771 2015-04-20 Jeff Law <law@redhat.com>
28772
28773 PR tree-optimization/65658
28774 * tree-ssa-threadupdate.c (redirection_block_p): Ignore clobber
28775 statements too.
28776
28777 2015-04-20 Alan Lawrence <alan.lawrence@arm.com>
28778
28779 * config/aarch64/aarch64.c (aarch64_simd_emit_pair_result_insn): Delete.
28780 * config/aarch64/aarch64-protos.h (aarch64_simd_emit_pair_result_insn):
28781 Delete.
28782
28783 2015-04-20 Jakub Jelinek <jakub@redhat.com>
28784
28785 PR debug/65807
28786 * dwarf2out.c (add_AT_wide): Clear attr.dw_attr_val.val_entry.
28787
28788 2015-04-20 Richard Biener <rguenther@suse.de>
28789
28790 * gimple-fold.h (gimple_build): Remove optional valueize arguments.
28791 * gimple-fold.c (gimple_build_valueize): New function.
28792 (gimple_build): Always use gimple_build_valueize as valueize hook.
28793
28794 2015-04-20 Alan Lawrence <alan.lawrence@arm.com>
28795
28796 PR target/64134
28797 * config/aarch64/aarch64.c (aarch64_expand_vector_init): Load constant
28798 and overwrite variable parts if <= 1/2 the elements are variable.
28799
28800 2015-04-19 Vladimir Makarov <vmakarov@redhat.com>
28801
28802 PR rtl-optimization/65805
28803 * lra-eliminations.c (lra_eliminate_regs_1): Add new assert.
28804 Don't use difference of offset and previous offset if
28805 update_sp_offset is non-zero.
28806 (eliminate_regs_in_insn): Ditto.
28807 * lra-spills.c (remove_pseudos): Exchange 4th and 6th args in
28808 lra_eliminate_regs_1 call.
28809 * lra-constraints.c (get_equiv_with_elimination): Ditto.
28810
28811 2015-04-18 Trevor Saunders <tsaunders@mozilla.com>
28812
28813 * hash-table.h: Remove version of hash_table that stored value_type *.
28814 * asan.c, attribs.c, bitmap.c, cfg.c, cgraph.h, config/arm/arm.c,
28815 config/i386/winnt.c, config/ia64/ia64.c, config/mips/mips.c,
28816 config/sol2.c, coverage.c, cselib.c, dse.c, dwarf2cfi.c,
28817 dwarf2out.c, except.c, gcse.c, genmatch.c, ggc-common.c,
28818 gimple-ssa-strength-reduction.c, gimplify.c, haifa-sched.c,
28819 hard-reg-set.h, hash-map.h, hash-set.h, ipa-devirt.c, ipa-icf.h,
28820 ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
28821 loop-iv.c, loop-unroll.c, lto-streamer.h, plugin.c, postreload-gcse.c,
28822 reginfo.c, statistics.c, store-motion.c, trans-mem.c, tree-cfg.c,
28823 tree-eh.c, tree-hasher.h, tree-into-ssa.c, tree-parloops.c,
28824 tree-sra.c, tree-ssa-coalesce.c, tree-ssa-dom.c, tree-ssa-live.c,
28825 tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c,
28826 tree-ssa-pre.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c,
28827 tree-ssa-structalias.c, tree-ssa-tail-merge.c,
28828 tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
28829 valtrack.h, var-tracking.c, vtable-verify.c, vtable-verify.h: Adjust.
28830
28831 2015-04-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
28832 Jakub Jelinek <jakub@redhat.com>
28833
28834 PR target/65787
28835 * config/rs6000/rs6000.c (rtx_is_swappable_p): Ensure that a
28836 subsequent SH_NONE operand does not overwrite an existing *special
28837 value.
28838 (adjust_extract): Handle case where a vec_extract operation is
28839 wrapped in a PARALLEL.
28840
28841 2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
28842
28843 PR target/65780
28844 * config/i386/i386.c (ix86_binds_local_p): Define only if
28845 TARGET_MACHO and TARGET_DLLIMPORT_DECL_ATTRIBUTES are false.
28846
28847 2015-04-17 Jeff Law <law@redhat.com>
28848
28849 PR tree-optimization/47679
28850 * Makefile.in (OBJS); Add tree-ssa-scopedtables.o.
28851 * tree-ssa-scopedtables.c: New file.
28852 * tree-ssa-scopedtables.h: New file.
28853 * tree-ssa-dom.c: Include tree-ssa-scopedtables.h.
28854 (const_and_copies): Change name/type.
28855 (record_const_or_copy): Move into tree-ssa-scopedtables.c
28856 (record_const_or_copy_1): Similarly.
28857 (restore_vars_to_original_value): Similarly.
28858 (pass_dominator::execute): Create and destroy const_and_copies table.
28859 (thread_across_edge): Update passing of const_and_copies.
28860 (record_temporary_equivalence): Use method calls rather than
28861 manipulating const_and_copies directly.
28862 (record_equality, cprop_into_successor_phis): Similarly.
28863 (dom_opt_dom_walker::before_dom_children): Similarly.
28864 (dom_opt_dom_walker::after_dom_children): Similarly.
28865 (eliminate_redundant_computations): Similarly.
28866 * tree-ssa-threadedge.c (remove_temporary_equivalences): Delete.
28867 (record_temporary_equivalence): Likewise.
28868 (invalidate_equivalences): Likewise.
28869 (record_temporary_equivalences_from_phis): Update due to type
28870 change of const_and_copies. Use method calls rather than
28871 manipulating the stack directly.
28872 (record_temporary_equivalences_from_stmts_at_dest): Likewise.
28873 (thread_through_normal_block, thread_across_edge): Likewise.
28874 (thread_across_edge): Likewise.
28875 * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
28876 * tree-vrp.c: Include tree-ssa-scopedtables.h. Change type
28877 of equiv_stack.
28878 (identify_jump_threads): Update due to type change of equiv_stack.
28879 (finalize_jump_threads): Delete the equiv_stack when complete.
28880
28881 2015-04-17 Uros Bizjak <ubizjak@gmail.com>
28882
28883 * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
28884 * config/i386/i386.c (ix86_legitimize_reload_address): Ditto.
28885 * config/i386/i386-protos.h (ix86_legitimize_reload_address): Ditto.
28886
28887 2015-04-17 Andreas Tobler <andreast@gcc.gnu.org>
28888
28889 PR target/65535
28890 * config.gcc: Exit with a comment when we do not have a major version
28891 number for the FreeBSD target.
28892
28893 2015-04-17 Jakub Jelinek <jakub@redhat.com>
28894
28895 PR target/65689
28896 * genpreds.c (struct constraint_data): Add maybe_allows_reg and
28897 maybe_allows_mem bitfields.
28898 (maybe_allows_none_start, maybe_allows_none_end,
28899 maybe_allows_reg_start, maybe_allows_reg_end, maybe_allows_mem_start,
28900 maybe_allows_mem_end): New variables.
28901 (compute_maybe_allows): New function.
28902 (add_constraint): Use it to initialize maybe_allows_reg and
28903 maybe_allows_mem fields.
28904 (choose_enum_order): Sort the non-is_register/is_const_int/is_memory/
28905 is_address constraints such that those that allow neither mem nor
28906 reg come first, then those that only allow reg but not mem, then
28907 those that only allow mem but not reg, then the rest.
28908 (write_allows_reg_mem_function): New function.
28909 (write_tm_preds_h): Call it.
28910 * stmt.c (parse_output_constraint, parse_input_constraint): Use
28911 the generated insn_extra_constraint_allows_reg_mem function
28912 instead of always setting *allows_reg = true; *allows_mem = true;
28913 for unknown extra constraints.
28914
28915 2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
28916
28917 PR target/65780
28918 * output.h (default_binds_local_p_3): New.
28919 * varasm.c (default_binds_local_p_3): Make it public. Take an
28920 argument to indicate if common symbol may be local. If common
28921 symbol may be local, treat non-external variable as defined
28922 locally.
28923 (default_binds_local_p_2): Pass !flag_pic to default_binds_local_p_3.
28924 (default_binds_local_p_1): Pass false to default_binds_local_p_3.
28925 * config/i386/i386.c (ix86_binds_local_p): New.
28926 (TARGET_BINDS_LOCAL_P): Replace default_binds_local_p_2 with
28927 ix86_binds_local_p.
28928
28929 2015-04-17 Jakub Jelinek <jakub@redhat.com>
28930
28931 PR debug/65771
28932 * dwarf2out.c (mem_loc_descriptor): For CONST, fallback to
28933 trying mem_loc_descriptor on XEXP (rtl, 0).
28934
28935 2015-04-17 Martin Liska <mliska@suse.cz>
28936
28937 * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
28938 Release symbol_compare_collection.
28939 * ipa-reference.c: Add TODO that a vector should be released.
28940
28941 2015-04-17 Sivanupandi Pitchumani <Pitchumani.Sivanupandi@atmel.com>
28942
28943 PR target/65296
28944 * config/avr/gen-avr-mmcu-specs.c (*avrlibc_startfile): Adjust
28945 to new AVR-LibC file layout (bug #44574).
28946 (*avrlibc_devicelib): Same.
28947 * config/avr/avr-mcus.def: Adjust comments.
28948 * config/avr/avr.opt (nodevicelib): Adjust help.
28949
28950 2015-04-17 Alan Lawrence <alan.lawrence@arm.com>
28951
28952 * config/aarch64/arm_neon.h (vdup_n_f32): Remove forward declaration.
28953
28954 2015-04-17 Patrick Palka <ppalka@gcc.gnu.org>
28955
28956 PR c++/64527
28957 * gimplify.c (gimplify_init_constructor): Always emit a
28958 side-effecting constructor.
28959
28960 2015-04-17 Tom de Vries <tom@codesourcery.com>
28961
28962 PR tree-optimization/64950
28963 * gimplify.c (gimplify_function_tree): Tentatively set PROP_gimple_lva
28964 in cfun->curr_properties.
28965 (gimplify_va_arg_expr): Clear PROP_gimple_lva in cfun->curr_properties
28966 if we generate an IFN_VA_ARG.
28967 * tree-inline.c (expand_call_inline): Reset PROP_gimple_lva in dest
28968 function if PROP_gimple_lva is not set in src function.
28969
28970 2015-04-17 Tom de Vries <tom@codesourcery.com>
28971 Michael Matz <matz@suse.de>
28972
28973 PR tree-optimization/64950
28974 * gimple-iterator.c (update_modified_stmts): Remove static.
28975 * gimple-iterator.h (update_modified_stmts): Declare.
28976 * gimplify.c (gimplify_modify_expr): Handle IFN_VA_ARG.
28977 (gimplify_va_arg_internal): New function.
28978 (gimplify_va_arg_expr): Use IFN_VA_ARG.
28979 * gimplify.h (gimplify_va_arg_internal): Declare.
28980 * internal-fn.c (expand_VA_ARG): New unreachable function.
28981 * internal-fn.def (VA_ARG): New DEF_INTERNAL_FN.
28982 * tree-stdarg.c (gimple_call_ifn_va_arg_p, expand_ifn_va_arg_1)
28983 (expand_ifn_va_arg): New function.
28984 (pass_data_stdarg): Add PROP_gimple_lva to properties_provided field.
28985 (pass_stdarg::execute): Call expand_ifn_va_arg.
28986 (pass_data_lower_vaarg): New pass_data.
28987 (pass_lower_vaarg): New gimple_opt_pass.
28988 (pass_lower_vaarg::gate, pass_lower_vaarg::execute)
28989 (make_pass_lower_vaarg): New function.
28990 * cfgexpand.c (pass_data_expand): Add PROP_gimple_lva to
28991 properties_required field.
28992 * passes.def (all_passes): Add pass_lower_vaarg.
28993 * tree-pass.h (PROP_gimple_lva): Add define.
28994 (make_pass_lower_vaarg): Declare.
28995
28996 2015-04-17 Tom de Vries <tom@codesourcery.com>
28997
28998 * fold-const.c (operand_equal_p): Handle INTERNAL_FNs.
28999 * calls.c (call_expr_flags): Same.
29000
29001 2015-04-17 Tom de Vries <tom@codesourcery.com>
29002
29003 * tree-stdarg.c (optimize_va_list_gpr_fpr_size): Factor out of ...
29004 (pass_stdarg::execute): ... here.
29005
29006 2015-04-17 Tom de Vries <tom@codesourcery.com>
29007 Michael Matz <matz@suse.de>
29008
29009 * tree-cfg.c (make_blocks_1): Factor out of ...
29010 (make_blocks): ... here.
29011 (make_edges_bb): Factor out of ...
29012 (make_edges): ... here.
29013 (gimple_find_sub_bbs): New function.
29014 * tree-cfg.h (gimple_find_sub_bbs): Declare.
29015
29016 2015-04-17 Tom de Vries <tom@codesourcery.com>
29017
29018 * tree.c (free_lang_data): Disable lang_hooks.gimplify_expr.
29019
29020 2015-04-17 Yury Gribov <y.gribov@samsung.com>
29021
29022 * asan.c (set_sanitized_sections): New function.
29023 (section_sanitized_p): Ditto.
29024 (asan_protect_global): Optionally sanitize user-defined
29025 sections.
29026 * asan.h (set_sanitized_sections): Declare new function.
29027 * common.opt (fsanitize-sections): New option.
29028 * doc/invoke.texi (-fsanitize-sections): Document new option.
29029 * opts-global.c (handle_common_deferred_options): Handle new
29030 option.
29031
29032 2015-04-17 Jakub Jelinek <jakub@redhat.com>
29033
29034 PR debug/65771
29035 * dwarf2out.c (loc_list_from_tree): Return NULL
29036 for DEBUG_EXPR_DECL.
29037
29038 2015-04-17 Christian Bruel <christian.bruel@st.com>
29039
29040 * ipa-inline.c (can_inline_edge_p): Allow inlining of functions with
29041 same attributes.
29042
29043 2015-04-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
29044
29045 * ira-color.c (setup_left_conflict_sizes_p): Do not process
29046 node itself when computing left conflict subnode size.
29047
29048 2015-04-16 Uros Bizjak <ubizjak@gmail.com>
29049
29050 * config/i386/predicates.md (register_mixssei387nonimm_operand): New.
29051 * config/i386/i386.md (*fop_<mode>_1_mixed): Merge with
29052 *fop_<mode>_1_sse using enabled attribute. Use
29053 register_mixssei387nonimm_operand operand 1 predicate. Change
29054 alternative 3 constraints from "x" to "v".
29055
29056 2015-04-16 Richard Biener <rguenther@suse.de>
29057
29058 PR tree-optimization/65774
29059 * tree-ssa-ccp.c (evaluate_stmt): Constrain types we invoke
29060 bit-value tracking on.
29061
29062 2015-04-16 Richard Biener <rguenther@suse.de>
29063
29064 PR tree-optimization/64277
29065 * tree-vrp.c (check_array_ref): Fix anti-range handling,
29066 simplify upper bound handling.
29067 (search_for_addr_array): Simplify.
29068 (check_array_bounds): Handle ADDR_EXPRs here.
29069 (check_all_array_refs): Simplify.
29070
29071 2015-04-16 Uros Bizjak <ubizjak@gmail.com>
29072
29073 * config/i386/i386.c (print_reg): Rewrite function.
29074
29075 2015-04-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
29076
29077 * config/s390/s390.h (IRA_HARD_REGNO_ADD_COST_MULTIPLIER):
29078 Invert the condition.
29079
29080 2015-04-16 Renlin Li <renlin.li@arm.com>
29081
29082 * simplify-rtx.c (simplify_unary_operation_1): Fix a typo. Enable two
29083 simplifications for UNSIGNED_FLOAT.
29084
29085 2015-04-16 Nick Clifton <nickc@redhat.com>
29086
29087 * config/rl78/rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and
29088 MUL_UNINIT.
29089 (enum rl78_cpu_type): New.
29090 * config/rl78/rl78-virt.md (attr valloc): Add divhi and divsi.
29091 (umulhi3_shift_virt): Remove m constraint from operand 1.
29092 (umulqihi3_virt): Likewise.
29093 * config/rl78/rl78.c (rl78_option_override): Add code to process
29094 -mcpu and -mmul options.
29095 (rl78_alloc_physical_registers): Add code to handle divhi and
29096 divsi valloc attributes.
29097 (set_origin): Likewise.
29098 * config/rl78/rl78.h (RL78_MUL_G14): Define.
29099 (TARGET_G10, TARGET_G13, TARGET_G14): Define.
29100 (TARGET_CPU_CPP_BUILTINS): Define __RL78_MUL_xxx__ and
29101 __RL78_Gxx__.
29102 (ASM_SPEC): Pass -mcpu on to assembler.
29103 * config/rl78/rl78.md (mulqi3): Add a clobber of AX.
29104 (mulqi3_rl78): Likewise.
29105 (mulhi3_g13): Likewise.
29106 (mulhi3): Generate the G13 or G14 versions of the insn directly.
29107 (mulsi3): Likewise.
29108 (mulhi3_g14): Add clobbers of AX and BC.
29109 (mulsi3_g14): Likewise.
29110 (mulsi3_g13): Likewise.
29111 (udivmodhi4, udivmodhi4_g14, udivmodsi4): New patterns.
29112 (udivmodsi4_g14, udivmodsi4_g13): New patterns.
29113 * config/rl78/rl78.opt (mmul): Initialise value to
29114 RL78_MUL_UNINIT.
29115 (mcpu): New option.
29116 (m13, m14, mrl78): New option aliases.
29117 * config/rl78/t-rl78 (MULTILIB_OPTIONS): Add mg13 and mg14.
29118 (MULTILIB_DIRNAMES): Add g13 and g14.
29119 * doc/invoke.texi: Document -mcpu and -mmul options.
29120
29121 2015-04-16 Richard Biener <rguenther@suse.de>
29122
29123 * tree-ssa-ccp.c (likely_value): See if we have operands that
29124 are marked as never simulate again and return CONSTANT in this
29125 case.
29126 * tree-ssa-propagate.c (simulate_stmt): Mark stmts that do
29127 not have any operands that will be simulated again as
29128 not being simulated again.
29129
29130 2015-04-15 Uros Bizjak <ubizjak@gmail.com>
29131
29132 * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed):
29133 Merge with *cmpi<FPCMP:unord><MODEF:mode>_sse using enabled attribute.
29134 (*extendsfdf2_mixed): Merge with *extendsfdf2_sse using enabled
29135 attribute.
29136 (*truncdfsf_fast_mixed): Merge with *truncdfsf_fast_sse using
29137 enabled attribute.
29138 (*float<SWI48:mode><MODEF:mode>2_mixed): Rename from
29139 *float<SWI48:mode><MODEF:mode>2_sse.
29140 (*absneg<mode>2_mixed): Merge with *absneg<mode>2_sse using
29141 enabled attribute.
29142 (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_sse using
29143 enabled attribute.
29144
29145 2015-04-15 Tom de Vries <tom@codesourcery.com>
29146
29147 PR other/65487
29148 * function.c (push_dummy_function): New function.
29149 (init_dummy_function_start): Use push_dummy_function.
29150 (pop_dummy_function): New function. Factored out of ...
29151 (expand_dummy_function_end): ... here.
29152 * function.h (push_dummy_function, pop_dummy_function): Declare.
29153 * passes.c (pass_manager::dump_passes): Use push_dummy_function and
29154 pop_dummy_function.
29155 * tree-chkp.c (chkp_gate): Handle cgraph_node::get (cfun->decl) == NULL.
29156
29157 2015-04-15 Jeff Law <law@redhat.com>
29158
29159 PR tree-optimization/47679
29160 * tree-ssa-dom.c (build_and_record_new_cond): Moved to avoid
29161 need for forward declaration in upcoming changes.
29162 (record_conditions, record_edge_info): Likewise.
29163
29164 PR rtl-optimization/42522
29165 * cse.c (fold_rtx): Try to simplify a ZERO_EXTRACT or
29166 SIGN_EXTRACT as a whole object rather than simplifying
29167 its operand.
29168
29169 2015-04-15 Jakub Jelinek <jakub@redhat.com>
29170
29171 PR ipa/65765
29172 * ipa-icf-gimple.c (func_checker::compare_bb): For GIMPLE_NOP
29173 and GIMPLE_PREDICT use break instead of return true. For
29174 GIMPLE_EH_DISPATCH, compare dispatch region.
29175
29176 2015-04-14 Matthew Wahab <matthew.wahab@arm.com>
29177
29178 * doc/extend.texi (__sync Builtins): Simplify some text. Update
29179 details about the implementation. Make clear preference for
29180 __atomic builtins. Reduce possibility of future change.
29181
29182 2015-04-15 Nick Clifton <nickc@redhat.com>
29183
29184 * config/rx/rx.opt (mallow-string-insns): New option.
29185 * config/rx/rx.c (RX_BUILTIN_RMPA): Disable the use of this
29186 builtin if string instructions are denied.
29187 * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Define
29188 __RX_ALLOW_STRING_INSNS__ or __RX_DISALLOW_STRING_INSNS__, as
29189 appropriate.
29190 (ASM_SPEC): Pass -mno-allow-string-insns on to the assembler.
29191 * config/rx/rx.md (movstr): Enable pattern only if string
29192 instructions are allowed.
29193 (rx_movstr, rx_strend, movmemsi, rx_movmem): Likewise.
29194 (cmpstrnsi, cmpstrsi, rx_cmpstrn, rmpa): Likewise.
29195 * config/rx/t-rx (MULTILIB_OPTIONS): Add mno-allow-string-insns.
29196 (MULTILIB_DIRNAMES): Add no-strings.
29197 * doc/invoke.texi: Document -mno-allow-string-insns.
29198
29199 2015-04-15 Alan Modra <amodra@gmail.com>
29200
29201 PR target/65408
29202 PR target/58744
29203 PR middle-end/36043
29204 * calls.c (load_register_parameters): Don't load past end of
29205 mem unless suitably aligned.
29206
29207 2015-04-15 Nick Clifton <nickc@redhat.com>
29208
29209 * config/rl78/rl78.c (rl78_expand_prologue): Mark large stack
29210 decrement instruction as being frame related.
29211 (rl78_print_operand_1): Handle 'p' modifier to add +0 to HL
29212 based addresses.
29213 If zero extending a function address enclose the operation in
29214 %code(...).
29215 (rl78_preferred_reload_class): New function.
29216 (TARGET_PREFERRED_RELOAD_CLASS): Define.
29217 * config/rl78/rl78.md: Remove useless constraints in expanders.
29218 (mulqi3_rl78): Remove + qualifier on input-only operand 1.
29219 (mulhi3_rl78): Likewise.
29220 (mulhi3_g13): Likewise.
29221 (mulsi3_rl78): Likewise.
29222 (es_addr): Move to before the multiply patterns.
29223
29224 2015-04-15 Alan Modra <amodra@gmail.com>
29225
29226 * function.h (struct emit_status): Delete x_first_insn, x_last_insn
29227 and sequence_stack. Add seq.
29228 (seq_stack): Delete.
29229 * function.c (prepare_function_start): Don't access x_last_insn.
29230 * emit-rtl.h (get_current_sequence, get_topmost_sequence): New.
29231 (get_insns, set_first_insn, get_last_insn, set_last_insn): Use them.
29232 * emit_rtl.c (start_sequence, push_topmost_sequence,
29233 pop_topmost_sequence, end_sequence, in_sequence_p, init_emit): Use
29234 sequence accessors.
29235 (get_last_insn_anywhere, add_insn_after_nobb, add_insn_before_nobb,
29236 remove_insn): Likewise. Simplify.
29237 * config/m32c/m32c.c (m32c_leaf_function_p): Use push_topmost_sequence
29238 and pop_topmost_sequence.
29239 (m32c_function_needs_enter): Use get_topmost_sequence. Ignore
29240 debug insns.
29241 * config/rs6000/rs6000.c (rs6000_call_aix): Use get_current_sequence.
29242
29243 2015-04-14 Yvan Roux <yvan.roux@linaro.org>
29244
29245 PR target/65729
29246 * lra-constraints.c (prohibited_class_reg_set_mode_p): Restore and fix
29247 the assertiion.
29248
29249 2015-04-14 Uros Bizjak <ubizjak@gmail.com>
29250
29251 * config/i386/i386.h (LEGACY_INT_REG_P): New define.
29252 (LEGACY_INT_REGNO_P): Ditto.
29253 (GENERAL_REGNO_P): Use LEGACY_INT_REGNO_P.
29254 (ANY_MASK_REG_P): Remove.
29255 (BND_REG_P): Rename from ANY_BND_REG_P.
29256 * config/i386/i386.c (print_reg): Use LEGACY_INT_REG_P to print
29257 legacy integer registers. Do not handle MMX_REG_P in a special way.
29258 Merge 64byte and 32byte SSE handling.
29259
29260 2015-04-14 Nick Clifton <nickc@redhat.com>
29261
29262 * expr.c (expand_assignment): Force an address offset computation
29263 into a register before changing its mode.
29264 (expand_expr_real_1): Likewise.
29265
29266 2015-04-14 Alan Lawrence <alan.lawrence@arm.com>
29267
29268 * config/aarch64/arm_neon.h (vst1_lane_f32, vst1_lane_f64,
29269 vst1_lane_p8, vst1_lane_p16, vst1_lane_s8, vst1_lane_s16,
29270 vst1_lane_s32, vst1_lane_s64, vst1_lane_u8, vst1_lane_u16,
29271 vst1_lane_u32, vst1_lane_u64, vst1q_lane_f32, vst1q_lane_f64,
29272 vst1q_lane_p8, vst1q_lane_p16, vst1q_lane_s8, vst1q_lane_s16,
29273 vst1q_lane_s32, vst1q_lane_s64, vst1q_lane_u8, vst1q_lane_u16,
29274 vst1q_lane_u32, vst1q_lane_u64): Reimplement with pointer dereference
29275 and __aarch64_vget_lane_any.
29276
29277 2015-04-14 Jakub Jelinek <jakub@redhat.com>
29278
29279 PR rtl-optimization/65761
29280 * cfgrtl.c (rtl_split_edge): For EDGE_CROSSING split, use
29281 get_last_bb_insn (after) instead of NEXT_INSN (BB_END (after)).
29282
29283 2015-04-14 Richard Biener <rguenther@suse.de>
29284
29285 * graphite-scop-detection.c: Do not include cp/cp-tree.h.
29286 (graphite_can_represent_scev): Use POINTER_TYPE_P.
29287
29288 2015-04-14 Richard Biener <rguenther@suse.de>
29289
29290 PR tree-optimization/65758
29291 * tree-ssa-ccp.c (get_value_from_alignment): Adjust mask test
29292 against -1.
29293 (ccp_lattice_meet): Likewise.
29294 (bit_value_unop): Likewise.
29295 (bit_value_binop): Likewise.
29296 (bit_value_assume_aligned): Likewise.
29297
29298 2015-04-14 Christian Bruel <christian.bruel@st.com>
29299
29300 * execute_dwarf2_frame (dw_frame_pointer_regnum): Reinitialize for each
29301 function.
29302
29303 2015-04-14 Marc Glisse <marc.glisse@inria.fr>
29304
29305 PR tree-optimization/63387
29306 * match.pd ((x unord x) | (y unord y) -> (x unord y),
29307 (x unord x) | (x unord y) -> (x unord y)): New simplifications.
29308
29309 2015-04-14 Uros Bizjak <ubizjak@gmail.com>
29310
29311 * config/i386/predicates.md (any_QIreg_operand): Rename from
29312 q_regs_operand. Do not process subregs.
29313 (QIreg_operand): Use QI_REGNO_P predicate.
29314 (ext_QIreg_operand): Ditto.
29315 (ext_register_operand): Ditto.
29316 * config/i386/i386.md (TEST splitters): Use QIreg_operand predicate.
29317 (AND splitters): Ditto.
29318 (AND with -65536 splitter): Add SWI48 mode for operand 0.
29319 (AND with -256 splitter): Use any_QIreg_operand predicate and
29320 SWI248 mode for operand 0.
29321 (AND with -65281 splitter): Use QIreg_operand predicate and SWI248
29322 mode for operand 0.
29323 (SETCC + MOVZBL peepholes): Update for renamed any_QIreg_operand.
29324
29325 2015-04-13 Gerald Pfeifer <gerald@pfeifer.com>
29326
29327 * doc/plugins.texi: Rewrite first introductory paragraph.
29328
29329 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
29330
29331 * tree-vrp.c (nonnull_arg_p): THIS pointers and references are non-zero.
29332 (gimple_stmt_nonzero_warnv_p): Reference return values are non-zero.
29333
29334 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
29335
29336 * ipa-profie.c (ipa_profile): Check number of parameters
29337 and possible polymorphic call targets before
29338 devirtualizing.
29339
29340 2015-04-13 Uros Bizjak <ubizjak@gmail.com>
29341
29342 * config/i386/i386.md (*bmi2_umul<mode><dwi>3_1): Merge from
29343 *bmi2_umulsidi3_1 and *bmi2_umulditi3_1 using DWIH mode iterator.
29344
29345 2015-04-13 Richard Biener <rguenther@suse.de>
29346
29347 PR tree-optimization/65204
29348 * tree-ssa-ccp.c (evaluate_stmt): Always evaluate address
29349 takens for bit-CCP.
29350
29351 2015-04-13 Richard Biener <rguenther@suse.de>
29352
29353 PR target/65660
29354 * config/i386/i386.c (bdver1_cost): Double cond_taken_branch_cost
29355 and cond_not_taken_branch_cost to 4 and 2.
29356 (bdver2_cost): Likewise.
29357 (bdver3_cost): Likewise.
29358 (bdver4_cost): Likewise.
29359
29360 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
29361
29362 * hash-table.h (hash_table constructor): Add mem stats.
29363 (alloc_entries): Likewise.
29364
29365 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
29366
29367 * ipa-cp.c (ipcp_driver): Relase prev_edge.
29368 * passes.c (execute_one_pass): Only add transform if pass has one.
29369
29370 2015-04-12 Joseph Myers <joseph@codesourcery.com>
29371
29372 * config/i386/i386.c (ix86_option_override_internal): Don't set
29373 -fprefetch-loop-arrays if optimizing for size.
29374
29375 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
29376 Gerald Pfeifer <gerald@pfeifer.com>
29377
29378 * doc/contrib.texi (Contributors): Add Martin Jambor and
29379 Michael Matz.
29380
29381 2015-04-12 Jakub Jelinek <jakub@redhat.com>
29382
29383 * BASE-VER: Set to 6.0.0.
29384
29385 PR tree-optimization/65747
29386 * ipa-icf-gimple.c (func_checker::compare_operand): Use compare_operand
29387 rather than compare_ssa_name for OBJ_TYPE_REF_OBJECT.
29388
29389 2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
29390
29391 * doc/invoke.texi (-Wmemset-transposed-args): Break a long
29392 sentence. Improve grammar.
29393
29394 2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
29395
29396 * doc/contrib.texi (Contributors): Add Maxim Kuvyrkov.
29397
29398 2015-04-11 Jan Hubicka <hubicka@ucw.cz>
29399
29400 PR ipa/65743
29401 * ipa-inline-transform.c (speculation_removed): Remove static var.
29402 (check_speculations): New function.
29403 (clone_inlined_nodes): Do not check spculations.
29404 (inline_call): Call check_speculations.
29405 * ipa-prop.c (ipa_make_edge_direct_to_target): Do not
29406 consider non-invariants.
29407
29408 2015-04-11 Jan Hubicka <hubicka@ucw.cz>
29409 Martin Liska <mliska@suse.cz>
29410
29411 PR ipa/65722
29412 * ipa-icf.c (sem_item::compare_cgraph_references): function and
29413 variable can not match.
29414 (sem_item::update_hash_by_addr_refs): Fix handling of virtual tables.
29415 (sem_variable::equals_wpa): Fix checking of DECL_FINAL_P patch.
29416
29417 2015-04-11 Jakub Jelinek <jakub@redhat.com>
29418
29419 PR tree-optimization/65735
29420 * tree-ssa-threadedge.c (fsm_find_control_statement_thread_paths):
29421 Remove visited_phis argument, add visited_bbs, avoid recursing into the
29422 same bb rather than just into the same phi node.
29423 (thread_through_normal_block): Adjust caller.
29424
29425 2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
29426
29427 * doc/contrib.texi (Contributors): Add Ira Rosen.
29428
29429 2015-04-11 Benno Schulenberg <bensberg@justemail.net>
29430
29431 * gcov.c (find_source): Fix miswording in error message.
29432 * config/i386/i386.c (ix86_handle_cconv_attribute): Likewise.
29433 (ix86_expand_sse_comi_round): Fix typo in error message.
29434
29435 2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
29436
29437 * doc/contrib.texi (Contributors): Add Laurynas Biveinis.
29438
29439 2015-04-10 Gerald Pfeifer <gerald@pfeifer.com>
29440
29441 * doc/contrib.texi (Contributors): Update Joe Buck's entry.
29442
29443 2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
29444
29445 PR target/65710
29446 * lra-assigns.c (spill_for): Update smallest_bad_spills_num.
29447 Print bad_spills_num and insn_pseudos_num.
29448
29449 2015-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
29450
29451 PR target/65694
29452 * config/arm/arm.c (arm_canonicalize_comparison): Use ARM_SIGN_EXTEND
29453 when creating +1 values for SImode.
29454
29455 2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
29456
29457 PR target/65729
29458 * lra-constraints.c (prohibited_class_reg_set_mode_p): Comment the
29459 assert.
29460
29461 2015-04-10 Jakub Jelinek <jakub@redhat.com>
29462 Iain Sandoe <iain@codesourcery.com>
29463
29464 PR target/65351
29465 * configure: Regenerate.
29466
29467 2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
29468
29469 PR target/65671
29470 * config/i386/sse.md: Generate vextract32x4 if AVX-512DQ is disabled.
29471
29472 2015-04-09 Gerald Pfeifer <gerald@pfeifer.com>
29473
29474 * doc/contrib.texi (Contributors): Add John Marino.
29475
29476 2015-04-09 Jakub Jelinek <jakub@redhat.com>
29477
29478 PR tree-optimization/65709
29479 * ubsan.c (instrument_mem_ref): Use TREE_TYPE (base) instead of
29480 TREE_TYPE (TREE_TYPE (t)).
29481
29482 2015-04-09 Vladimir Makarov <vmakarov@redhat.com>
29483
29484 PR target/65710
29485 * lra-int.h (lra_bad_spill_regno_start): New.
29486 * lra.c (lra_bad_spill_regno_start): New.
29487 (lra): Set up lra_bad_spill_regno_start. Set up
29488 lra_constraint_new_regno_start unconditionally.
29489 * lra-assigns.c (spill_for): Use lra_bad_spill_regno_start for
29490 spill preferences.
29491
29492 2015-04-09 Marek Polacek <polacek@redhat.com>
29493 Jakub Jelinek <jakub@redhat.com>
29494
29495 PR middle-end/65554
29496 * gimple-fold.c (gimple_fold_builtin_memory_op): Update comment.
29497 (fold_ctor_reference): Use STRIP_USELESS_TYPE_CONVERSION instead
29498 of STRIP_NOPS.
29499
29500 2015-04-09 Segher Boessenkool <segher@kernel.crashing.org>
29501
29502 PR rtl-optimization/65693
29503 * combine.c (is_parallel_of_n_reg_sets): Move outside of
29504 #ifndef HAVE_cc0.
29505
29506 2015-04-09 Georg-Johann Lay <avr@gjlay.de>
29507
29508 PR target/65296
29509 * config/avr/driver-avr.c (avr_devicespecs_file): Don't specify a
29510 device specs file if "device-specs%s" didn't resolve to a path.
29511
29512 2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
29513
29514 PR target/65676
29515 * config/i386/i386.c (fixup_modeless_constant): New.
29516 (ix86_expand_args_builtin): Fixup modeless constant operand.
29517 (ix86_expand_round_builtin): Ditto.
29518 (ix86_expand_special_args_builtin): Ditto.
29519 (ix86_expand_builtin): Ditto.
29520
29521 2015-04-09 Jakub Jelinek <jakub@redhat.com>
29522
29523 PR target/65693
29524 * config/i386/i386.md (*udivmod<mode>4_pow2): Allow
29525 any pow2 integer in between 2 and 0x80000000U inclusive.
29526
29527 2015-04-08 Segher Boessenkool <segher@kernel.crashing.org>
29528
29529 PR rtl-optimization/65693
29530 * combine.c (is_parallel_of_n_reg_sets): Change first argument
29531 from an rtx_insn * to an rtx.
29532 (try_combine): Adjust both callers. Use it once more.
29533
29534 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
29535
29536 * tree-chkp.c (chkp_find_const_bounds_var): Remove.
29537 (chkp_make_static_const_bounds): Search existing
29538 symbol by assembler name. Use make_decl_one_only.
29539 (chkp_get_zero_bounds_var): Remove node search which
29540 is now performed in chkp_make_static_const_bounds.
29541 (chkp_get_none_bounds_var): Likewise.
29542
29543 2015-04-08 Michael Witten <mfwitten@gmail.com>
29544
29545 * doc/extend.texi (Attribute Syntax): Add a trailing semicolon
29546 to an example.
29547
29548 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
29549
29550 * tree.h (CONVERT_EXPR_P): Commentary typo fix.
29551
29552 2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
29553
29554 * doc/extend.texi (__sync Builtins): Fix grammar.
29555
29556 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
29557
29558 * doc/cfg.texi (GIMPLE statement iterators): Fix typo.
29559
29560 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
29561
29562 * varasm.c (emit_local): Move definition of align.
29563
29564 2015-04-08 Julian Brown <julian@codesourcery.com>
29565
29566 * config/nvptx/mkoffload.c (process): Support variable mapping.
29567
29568 2015-03-27 Trevor Saunders <tbsaunde@tbsaunde.org>
29569
29570 * config/alpha/alpha.c (alpha_use_linkage): Change type of slot to
29571 alpha_links **.
29572 (alpha_write_one_linkage): Correct typo.
29573
29574 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
29575
29576 * ipa-comdats.c (propagate_comdat_group): Walk through thunks.
29577
29578 2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
29579
29580 * doc/install.texi (bootstrap-lto-noplugin): Rewrite.
29581
29582 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
29583
29584 * tree-chkp.h (chkp_insert_retbnd_call): New.
29585 * tree-chkp.c (chkp_insert_retbnd_call): New.
29586 * ipa-split.c (insert_bndret_call_after): Remove.
29587 (split_function): Use chkp_insert_retbnd_call.
29588 * cgraphunit.c (cgraph_node::expand_thunk): Build returned
29589 bounds for instrumented functions.
29590
29591 2015-04-07 Jan Hubicka <hubicka@ucw.cz>
29592
29593 PR ipa/65540
29594 * calls.c (initialize_argument_information): When producing tail
29595 call also turn SSA_NAMES passed by references to original PARM_DECLs
29596
29597 2015-04-07 Vladimir Makarov <vmakarov@redhat.com>
29598
29599 PR target/65648
29600 * lra-remat.c (do_remat): Process input and non-input insn
29601 registers separately.
29602
29603 2015-04-07 Jakub Jelinek <jakub@redhat.com>
29604
29605 PR debug/65678
29606 * valtrack.c (debug_lowpart_subreg): New function.
29607 (dead_debug_insert_temp): Use it.
29608
29609 PR middle-end/65680
29610 * expr.c (get_inner_reference): Handle bit_offset that doesn't fit
29611 into signed HOST_WIDE_INT the same as negative bit_offset.
29612
29613 2015-04-07 Ilya Enkovich <ilya.enkovich@intel.com>
29614
29615 * ipa-comdats.c (ipa_comdats): Visit all thunks
29616 to set proper comdat group.
29617
29618 2015-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
29619
29620 PR target/65489
29621 * config/arm/arm.c (arm_legitimate_constant_p_1): Remove restriction
29622 on constants for NEON VSTRUCT modes.
29623
29624 2015-04-07 Jakub Jelinek <jakub@redhat.com>
29625 Iain Sandoe <iain@codesourcery.com>
29626
29627 PR target/65351
29628 * configure: Regenerate.
29629
29630 2015-04-06 Michael Meissner <meissner@linux.vnet.ibm.com>
29631
29632 PR target/65614
29633 * config/rs6000/rs6000.c (struct processor_costs): Add cost field
29634 for SF->DF conversions to make FLOAT_EXTEND more expensive, so
29635 that LFD is used to load double constants instead of LFS. Add
29636 defaults for all costs structures. Add comments for missing
29637 initialization fields.
29638 (size32_cost): Likewise.
29639 (size64_cost): Likewise.
29640 (rs64a_cost): Likewise.
29641 (mpccore_cost): Likewise.
29642 (ppc403_cost): Likewise.
29643 (ppc405_cost): Likewise.
29644 (ppc440_cost): Likewise.
29645 (ppc476_cost): Likewise.
29646 (ppc601_cost): Likewise.
29647 (ppc603_cost): Likewise.
29648 (ppc604_cost): Likewise.
29649 (ppc604e_cost): Likewise.
29650 (ppc620_cost): Likewise.
29651 (ppc630_cost): Likewise.
29652 (ppccell_cost): Likewise.
29653 (ppc750_cost): Likewise.
29654 (ppc7450_cost): Likewise.
29655 (ppc8540_cost): Likewise.
29656 (ppce300c2c3_cost): Likewise.
29657 (ppce500mc_cost): Likewise.
29658 (ppce500mc64_cost): Likewise.
29659 (ppce5500_cost): Likewise.
29660 (ppce6500_cost): Likewise.
29661 (titan_cost): Likewise.
29662 (power4_cost): Likewise.
29663 (power6_cost): Likewise.
29664 (power7_cost): Likewise.
29665 (power8_cost): Likewise.
29666 (ppca2_cost): Likewise.
29667 (rs6000_rtx_costs): Make FLOAT_EXTEND use SFDF_convert field.
29668
29669 * config/rs6000/rs6000.md (extendsfdf2_fpr): Generate XSCPSGNDP
29670 instead of XXLOR to copy SFmode to clear out dirty bits created
29671 when SFmode denormals are generated.
29672 (mov<mode>_hardfloat, FMOVE32 case): Likewise.
29673 (truncdfsf2_fpr): Add support for ISA 2.07 XSRSP instruction.
29674
29675 2015-04-06 Evandro Menezes <e.menezes@samsung.com>
29676
29677 * doc/invoke.texi (AARCH64/mtune): Add exynos-m1 as an option.
29678 * config/aarch64/aarch64-cores.def (exynos-m1): New core.
29679 * config/aarch64/aarch64-tune.md: Regenerate.
29680
29681 2015-04-06 Evandro Menezes <e.menezes@samsung.com>
29682
29683 * doc/invoke.texi (ARM/mtune): Add "exynos-m1" as an option.
29684 * config/arm/arm.c (arm_issue_rate): Specify "3" for "exynosm1".
29685 * config/arm/arm-cores.def (exynos-m1): New core.
29686 * config/arm/arm-tune.md: Regenerate.
29687 * config/arm/arm-tables.opt: Add entry for "exynos-m1".
29688 * config/arm/bpabi.h: Likewise.
29689
29690 2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
29691
29692 * ipa-cp (set_single_call_flag): Remove too
29693 restrictive assert.
29694
29695 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
29696
29697 * config/i386/intelmic-mkoffload.c (generate_host_descr_file): Call
29698 GOMP_offload_unregister from the destructor.
29699
29700 2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
29701
29702 * ipa-chkp.c (chkp_maybe_create_clone): Reset cdtor
29703 flags for instrumentation thunk.
29704 (chkp_produce_thunks): Likewise.
29705
29706 2015-04-05 Martin Liska <mliska@suse.cz>
29707
29708 PR ipa/65665
29709 * ipa-icf.c (sem_function::equals_wpa): Verify that IPA CP
29710 has computed data structure.
29711 (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
29712
29713 2015-04-04 Jan Hubicka <hubicka@ucw.cz>
29714
29715 * invoke.texi (inline-unit-growth): Increase growth to 20%
29716 * params.def (PARAM_INLINE_UNIT_GROWTH): Likewise.
29717
29718 2015-04-04 Vladimir Makarov <vmakarov@redhat.com>
29719
29720 PR target/65647
29721 * lra-int.h (LRA_MAX_REMATERIALIZATION_PASSES): New. Add its
29722 value checking.
29723 (lra_rematerialization_iter): New.
29724 * lra.c (lra): Initialize lra_rematerialization_iter.
29725 Stop updating lra_constraint_new_regno_start after switching of
29726 inheritance and rematerialization.
29727 * lra-remat.c (lra_rematerialization_iter): New.
29728 (lra_remat): Add printing pass iteration. Do rematerialization
29729 only first LRA_MAX_REMATERIALIZATION_PASSES iterations.
29730
29731 2015-04-04 Richard Biener <rguenther@suse.de>
29732
29733 PR tree-optimization/64909
29734 PR tree-optimization/65660
29735 * tree-vectorizer.h (vect_get_known_peeling_cost): Adjust
29736 to take a cost vector for scalar iteration cost.
29737 (vect_get_single_scalar_iteration_cost): Likewise.
29738 * tree-vect-loop.c (vect_get_single_scalar_iteration_cost):
29739 Compute the scalar iteration cost into a cost vector.
29740 (vect_get_known_peeling_cost): Use the scalar cost vector to
29741 account for the cost of the peeled iterations.
29742 (vect_estimate_min_profitable_iters): Likewise.
29743 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
29744 Likewise.
29745
29746 2015-04-04 Alan Modra <amodra@gmail.com>
29747
29748 PR target/65576
29749 PR target/65240
29750 * config/rs6000/predicates.md (zero_reg_mem_operand): Exclude
29751 0.0 constant unless TARGET_VSX.
29752 * config/rs6000/rs6000.md (extenddftf2_internal): Remove last
29753 alternative.
29754
29755 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
29756
29757 PR ipa/65654
29758 * ipa-inline-transform.c (inline_call): Skip sanity check to work
29759 around the ICE
29760
29761 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
29762
29763 PR ipa/65655
29764 * ipa-inline-analysis.c (edge_set_predicate): Do not redirect
29765 speculative indirect edges to avoid ordering issue.
29766
29767 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
29768
29769 PR ipa/65076
29770 * ipa-inline.c (edge_badness): Add combined size to the denominator.
29771
29772 2015-04-03 Jakub Jelinek <jakub@redhat.com>
29773
29774 * omp-low.c (scan_omp_parallel, scan_omp_task, scan_omp_target): Set
29775 TYPE_ARTIFICIAL on the .omp_data* types.
29776
29777 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
29778
29779 * cgraphunit.c (cgraph_node::expand_thunk): Don't expand
29780 instrumentation thunks.
29781
29782 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
29783
29784 * config/i386/i386.c (ix86_expand_call): Avoid nested
29785 PARALLEL in returned call value.
29786
29787 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
29788
29789 * lto-cgraph.c (input_cgraph_1): Always link instrumented
29790 assembler name with original one.
29791
29792 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
29793
29794 * config/i386/i386.c (ix86_register_priority): Use AX_REG.
29795
29796 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
29797
29798 Revert parts of r216820.
29799 * config/i386/i386.md (movqi_internal): Correct type calculation
29800 for alternatives 3 and 5.
29801
29802 2015-04-02 Jakub Jelinek <jakub@redhat.com>
29803
29804 PR preprocessor/61977
29805 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't
29806 predefine __vector/__bool/__pixel macros nor context sensitive
29807 macros for CLK_ASM.
29808 * config/spu/spu-c.c (spu_cpu_cpp_builtins): Similarly.
29809
29810 2015-04-02 John David Anglin <danglin@gcc.gnu.org>
29811
29812 * config/pa/pa.c (pa_output_move_double): Directly handle register
29813 indexed memory operand. Simplify handling of scaled register indexed
29814 memory operands.
29815
29816 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
29817
29818 PR driver/65444
29819 * config/i386/linux-common.h (MPX_SPEC): New.
29820 (CHKP_SPEC): Add MPX_SPEC.
29821 * doc/invoke.texi (-fcheck-pointer-boudns): Document
29822 possible issues with '-z bndplt' support in linker.
29823
29824 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
29825
29826 * config/i386/sync.md (UNSPEC_FILD_ATOMIC, UNSPEC_FIST_ATOMIC): New.
29827 (loaddi_via_fpu): Use UNSPEC_FILD_ATOMIC.
29828 (storedi_via_fpu): Use UNSPEC_FIST_ATOMIC.
29829 * reg-stack.c (get_true_reg): Change UNSPEC_LDA to UNSPEC_FILD_ATOMIC.
29830 (subst_stack_regs_pat): Change UNSPEC_STA to UNSPEC_FIST_ATOMIC.
29831
29832 2015-04-01 Uros Bizjak <ubizjak@gmail.com>
29833
29834 * config/i386/sync.md (UNSPEC_MOVA): Remove.
29835 (atomic_load<mode>): Change operand 0 predicate to
29836 nonimmediate_operand and fix up the destination when needed.
29837 Use UNSPEC_LDA.
29838 (atomic_loaddi_fpu): Use UNSPEC_LDA.
29839 (atomic_store<mode>): Change operand 1 predicate to
29840 nonimmendate_operand and move the source to register when needed.
29841 Use UNSPEC_STA.
29842 (atomic_store<mode>_1): Use UNSPEC_STA.
29843 (atomic_storedi_fpu): Change operand 1 to nonimmediate_operand.
29844 Fix moves from memory operand. Use UNSPEC_STA.
29845
29846 2015-04-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
29847
29848 * expmed.c (strict_volatile_bitfield_p): Check that the access will
29849 not cross a MODESIZE boundary.
29850 (store_bit_field, extract_bit_field): Added assertions in the
29851 strict volatile bitfields code path.
29852
29853 2015-04-01 Max Ostapenko <m.ostapenko@partner.samsung.com>
29854
29855 PR target/65624
29856 * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin):
29857 Increase args array size by one to avoid buffer overflow.
29858
29859 2015-03-31 Jan Hubicka <hubicka@ucw.cz>
29860
29861 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
29862 split_part.
29863 * ipa-inline.c (edge_badness): Add wrapper penalty.
29864 (sum_callers): Move up.
29865 (inline_small_functions): Set single_caller.
29866 * ipa-inline.h (inline_summary): Add single_caller.
29867 * ipa-split.c (split_function): Set split_part.
29868 (cgraph_node::create_clone): Do not shadow decl; copy split_part.
29869 * cgraph.h (cgraph_node): Add split_part.
29870
29871 2015-03-31 Uros Bizjak <ubizjak@gmail.com>
29872
29873 PR target/58945
29874 * config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
29875 Do not split operands 0 and operands 2 to halfmode.
29876 (atomic_compare_and_swap<mode>): Update for
29877 atomic_compare_and_swap<dwi>_doubleword changes.
29878
29879 2015-03-31 Jan Hubicka <hubicka@ucw.cz>
29880
29881 * tree.c (need_assembler_name_p): Artificial types have no ODR names.
29882 * ipa-devirt.c (warn_odr): Do not try to apply ODR cache when
29883 no caching is done.
29884
29885 2015-03-31 Martin Liska <mliska@suse.cz>
29886
29887 PR ipa/65557
29888 * ipa-icf.c (sem_function::equals_wpa): Check if IPA CP
29889 has already filled up function summary.
29890 (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
29891
29892 2015-03-31 Richard Biener <rguenther@suse.de>
29893
29894 * tree-sra.c (create_access_replacement): Drop under-/over-alignment
29895 of types.
29896
29897 2015-03-31 Dominik Vogt <vogt@linux.vnet.ibm.com>
29898
29899 * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching
29900 nested functions.
29901 (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw.
29902 (s390_asm_output_function_label): Adapt to new signature of
29903 s390_function_num_hotpatch_hw
29904 Optimise the code generating assembler output.
29905 Add comments to assembler file.
29906
29907 2015-03-31 Richard Biener <rguenther@suse.de>
29908
29909 PR middle-end/65626
29910 * tree-cfgcleanup.c (fixup_noreturn_call): Only split the block
29911 of the noreturn call so it is last and cleanup_control_flow_bb
29912 can do the CFG part.
29913
29914 2015-03-31 Ilya Enkovich <ilya.enkovich@intel.com>
29915
29916 PR target/65531
29917 * ipa-chkp.c (chkp_maybe_create_clone): Don't set
29918 same_comdat_group for external symbols.
29919 * symtab.c (symtab_node::verify_symtab_nodes): Avoid
29920 infinite same_comdat_group traversal loop.
29921
29922 2015-03-31 Jakub Jelinek <jakub@redhat.com>
29923
29924 PR plugins/61176
29925 * Makefile.in (install-plugin): Add all gcc/*.{h,def} files
29926 automatically to $headers.
29927
29928 2015-03-30 Jakub Jelinek <jakub@redhat.com>
29929
29930 PR ipa/65610
29931 * ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare.
29932 * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New
29933 function.
29934 (decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store):
29935 Use it.
29936 * ipa-prop.c (param_type_may_change_p): Likewise.
29937 * tree-ssa-live.c: Include ipa-utils.h and its dependencies.
29938 (remove_unused_scope_block_p): Add in_ctor_dtor_block
29939 argument. Before inlining, preserve
29940 inlined_polymorphic_ctor_dtor_block_p blocks and the outermost block
29941 with FUNCTION_DECL BLOCK_ABSTRACT_ORIGIN inside of them. Adjust
29942 recursive calls.
29943 (remove_unused_locals): Adjust remove_unused_scope_block_p caller.
29944
29945 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
29946
29947 PR ipa/65076
29948 * ipa-inline.c (edge_badness): Base denominator on callee's
29949 grwoth squared.
29950
29951 2015-03-27 Martin Jambor <mjambor@suse.cz>
29952
29953 PR ipa/65478
29954 * params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New.
29955 (PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise.
29956 * ipa-prop.h (ipa_node_params): New flags node_within_scc and
29957 node_calling_single_call.
29958 * ipa-cp.c (count_callers): New function.
29959 (set_single_call_flag): Likewise.
29960 (initialize_node_lattices): Count callers and set single_flag_call if
29961 necessary.
29962 (incorporate_penalties): New function.
29963 (good_cloning_opportunity_p): Use it, dump new flags.
29964 (propagate_constants_topo): Set node_within_scc flag if appropriate.
29965 * doc/invoke.texi (ipa-cp-recursion-penalty,
29966 ipa-cp-single-call-pentalty): Document.
29967
29968 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
29969
29970 PR ipa/65588
29971 * symtab.c (symtab_node::get_partitioning_class): Register vars
29972 are duplicated.
29973 * varpool.c (symbol_table::output_variables) Do not assemble unefined
29974 decls for non-symbols.
29975
29976 2015-03-27 H.J. Lu <hongjiu.lu@intel.com>
29977
29978 PR target/65248
29979 * output.h (default_binds_local_p_2): New.
29980 * varasm.c (default_binds_local_p_2): Renamed to ...
29981 (default_binds_local_p_3): This. Don't return true on protected
29982 data symbol if protected data may be external.
29983 (default_binds_local_p): Use default_binds_local_p_3.
29984 (default_binds_local_p_1): Likewise.
29985 (default_binds_local_p_2): New.
29986 * config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to
29987 default_binds_local_p_2 if TARGET_MACHO is undefined.
29988
29989 2015-03-27 Jakub Jelinek <jakub@redhat.com>
29990
29991 PR target/65593
29992 * config/i386/i386.c (legitimize_pic_address): If base
29993 is SYMBOL_REF or LABEL_REF using %rip addressing, force
29994 it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register.
29995
29996 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
29997
29998 PR target/65531
29999 * symtab.c (symtab_node::verify_symtab_nodes): Fix verification of
30000 comdat groups.
30001
30002 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
30003
30004 PR ipa/65600
30005 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case
30006 of optimized out indirect call.
30007 (redirect_to_unreachable): Always build symbol table node for
30008 BUILT_IN_UNREACHABLE
30009
30010 2015-03-27 Vladimir Makarov <vmakarov@redhat.com>
30011
30012 PR target/65407
30013 * ira-costs.c (record_reg_classes): Process all constraint string
30014 containing 0-9.
30015
30016 2015-03-27 Bernd Schmidt <bernds@codesourcery.com>
30017
30018 * config/c6x/c6x.md (movmisalign<mode>): Use MEM_P, not
30019 memory_operand.
30020
30021 PR target/65052
30022 * config/c6x/constraints.md (S3): New constraint.
30023 * config/c6x/c6x.md (real_jump): Use it.
30024
30025 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
30026
30027 PR middle-end/65595
30028 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Only
30029 do redirection if the call is not optimized out.
30030
30031 2015-03-27 Ilya Enkovich <ilya.enkovich@intel.com>
30032
30033 PR target/65495
30034 * c-family/c.opt (fcheck-pointer-bounds): List supported languages.
30035 (fchkp-check-incomplete-type): Add LTO.
30036 (fchkp-zero-input-bounds-for-main): Likewise.
30037 (fchkp-first-field-has-own-bounds): Likewise.
30038 (fchkp-narrow-bounds): Likewise.
30039 (fchkp-narrow-to-innermost-array): Likewise.
30040 (fchkp-use-static-bounds): Likewise.
30041 (fchkp-use-static-const-bounds): Likewise.
30042 (fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
30043
30044 2015-03-27 Marek Polacek <polacek@redhat.com>
30045
30046 * gimple-iterator.h (gsi_prev_nondebug): Fix typo.
30047
30048 2015-03-27 Marek Polacek <polacek@redhat.com>
30049
30050 PR sanitizer/65583
30051 * ubsan.c (ubsan_create_edge): New function.
30052 (instrument_bool_enum_load): Call it.
30053 (instrument_nonnull_arg): Likewise.
30054 (instrument_nonnull_return): Likewise.
30055 (instrument_object_size): Likewise.
30056
30057 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
30058
30059 * lto-streamer.h (class lto_location_cache): Turn loc_cache into
30060 auto_vec.
30061
30062 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
30063
30064 PR lto/65536
30065 * lto-streamer.h (class lto_location_cache): New.
30066 (struct data_in): Add location_cache.
30067 (lto_input_location): Update prototype.
30068 (stream_input_location_now): New.
30069 * streamer-hooks.h (struct streamer_hooks): Make input_location to take
30070 pointer to location.
30071 (stream_input_location): Update.
30072 * ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h
30073 (warn_odr): Apply location cache before warning.
30074 (lto_input_location): Update prototype.
30075 * gimple-streamer-in.c (input_phi, input_gimple_stmt):
30076 Use stream_input_location_now.
30077 * lto-streamer-in.c (lto_location_cache::current_cache): New static
30078 variable.
30079 (lto_location_cache::cmp_loc): New function.
30080 (lto_location_cache::apply_location_cache): New function.
30081 (lto_location_cache::accept_location_cache): New function.
30082 (lto_location_cache::revert_location_cache): New function.
30083 (lto_location_cache::input_location): New function.
30084 (lto_input_location): Do location caching.
30085 (stream_input_location_now): New function.
30086 (input_eh_region, input_struct_function_base): Use
30087 stream_input_location_now.
30088 (lto_data_in_create): use new.
30089 (lto_data_in_delete): Use delete.
30090 * tree-streamer-in.c (unpack_ts_block_value_fields,
30091 unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields,
30092 lto_input_ts_exp_tree_pointers): Update for cached location api.
30093
30094 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
30095
30096 PR ipa/65076
30097 * passes.def: Add pass_nothrow.
30098 * ipa-pure-const.c: (pass_data_nothrow): New.
30099 (pass_nothrow): New.
30100 (pass_nothrow::execute): New.
30101 (make_pass_nothrow): New.
30102 * tree-pass.h (make_pass_nothrow): Declare.
30103
30104 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
30105
30106 * ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for
30107 edge to change by speculation resolution or redirection.
30108 (edge_set_predicate): Likewise.
30109 (inline_summary_t::duplicate): Likewise.
30110 (remap_edge_summaries): Likewise.
30111
30112 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
30113
30114 * ipa-inline.c (check_maybe_up, check_maybe_down, check_match):
30115 New macros.
30116 (can_inline_edge_p): Relax option matching for always inline functions.
30117
30118 2015-03-26 Uros Bizjak <ubizjak@gmail.com>
30119
30120 PR target/65561
30121 * config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm):
30122 Check operand 4 and operand 0 for equality.
30123 (avx512f_vextract<shuffletype>32x4_1_maskm):
30124 Check operand 6 and operand 0 for equality.
30125 (vec_extract_lo_<mode>_maskm): Check operand 2 and operand 0
30126 for equality.
30127 (vec_extract_hi_<mode>_maskm): Ditto.
30128
30129 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
30130
30131 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring
30132 dead calls back to live.
30133 (cgraph_edge::verify_count_and_frequency): Move cgraph/cfg frequency
30134 cross check to ...
30135 (cgraph_node::verify_node): ... here; verify only callee edges,
30136 not caller.
30137 * cif-code.def (CILK_SPAWN): New code.
30138
30139 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
30140
30141 * ipa-inline-analysis.c (redirect_to_unreachable): New function.
30142 (edge_set_predicate): Use it to mark unreachable edges.
30143 (inline_summary_t::duplicate): Remove unnecesary code.
30144 (remap_edge_summaries): Likewise.
30145 (dump_inline_summary): Report contains_cilk_spawn.
30146 (compute_inline_parameters): Compute contains_cilk_spawn.
30147 (inline_read_section, inline_write_summary): Stream
30148 contains_cilk_spawn.
30149 * ipa-inline.c (can_inline_edge_p): Do not touch
30150 DECL_STRUCT_FUNCTION that may not be available;
30151 use CIF_CILK_SPAWN for cilk; fix optimization attribute checks;
30152 remove check for callee_fun->can_throw_non_call_exceptions and
30153 replace it by optimization attribute check; check for flag_exceptions.
30154 * ipa-inline-transform.c (inline_call): Maintain
30155 DECL_FUNCTION_PERSONALITY
30156 * ipa-inline.h (inline_summary): Add contains_cilk_spawn.
30157
30158 2015-03-26 Jakub Jelinek <jakub@redhat.com>
30159
30160 PR tree-optimization/65551
30161 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use
30162 TYPE_PRECISION only for INTEGRAL_TYPE_P types.
30163
30164 2015-03-26 Richard Biener <rguenther@suse.de>
30165
30166 PR middle-end/65555
30167 * tree-cfg.c (verify_gimple_call): Do not require a call to
30168 have no LHS if it wasn't recognized as control altering yet.
30169
30170 2015-03-26 Jakub Jelinek <jakub@redhat.com>
30171
30172 PR tree-optimization/64715
30173 * passes.def: Add another instance of pass_object_sizes before ccp1.
30174 * tree-object-size.c (pass_object_sizes::execute): In
30175 first_pass_instance, only handle __bos (, 1) and __bos (, 3)
30176 calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the
30177 __bos result and the computed constant. Remove redundant
30178 checks, obsoleted by gimple_call_builtin_p test.
30179
30180 * var-tracking.c (variable_tracking_main_1): Don't track
30181 variables for targetm.no_register_allocation targets.
30182
30183 2015-03-26 Oleg Endo <olegendo@gcc.gnu.org>
30184
30185 * config/sh/t-linux (DEFAULT_ENDIAN, MULTILIB_EXCEPTIONS): Remove.
30186 * config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian.
30187
30188 2015-03-25 Michael Meissner <meissner@linux.vnet.ibm.com>
30189
30190 PR target/65569
30191 * config/rs6000/rs6000.md (extenddftf2_fprs): On VSX systems use
30192 XXLXOR to create 0.0. On pre-VSX systems make sure the constant
30193 0.0 is correctly setup.
30194 (extenddftf2_internal): Likewise.
30195
30196 2015-03-25 Sebastian Pop <s.pop@samsung.com>
30197
30198 PR tree-optimization/65177
30199 * tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread.
30200 (bb_in_bbs): New.
30201 (duplicate_seme_region): Renamed duplicate_thread_path. Redirect all
30202 edges not adjacent on the path to the original code.
30203
30204 2015-03-25 Uros Bizjak <ubizjak@gmail.com>
30205
30206 PR bootstrap/65537
30207 * doc/install.texi (Building a native compiler): Document new
30208 bootstrap-lto-noplugin configuration. Mention that bootstrap-lto
30209 configuration assumes that the host supports the linker plugin.
30210
30211 2015-03-25 Ilya Enkovich <ilya.enkovich@intel.com>
30212
30213 PR target/65508
30214 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Set static
30215 chain for generated call.
30216
30217 2015-03-25 Richard Biener <rguenther@suse.de>
30218
30219 * passes.c (pass_manager::execute_early_local_passes): Guard
30220 execution of pass_chkp_instrumentation_passes with
30221 flag_check_pointer_bounds.
30222 (pass_chkp_instrumentation_passes::gate): Likewise.
30223
30224 2015-03-25 Martin Liska <mliska@suse.cz>
30225
30226 PR tree-optimization/65538
30227 * symbol-summary.h (function_summary::~function_summary):
30228 Relese memory for allocated summaries.
30229 (function_summary::release): New function.
30230
30231 2015-03-25 Jakub Jelinek <jakub@redhat.com>
30232
30233 PR lto/65515
30234 * lto-streamer-out.c (DFS::worklist): New struct.
30235 (DFS::worklist_vec): New data member.
30236 (DFS::next_dfs_num): Remove.
30237 (DFS::DFS): Rewritten using worklist instead of recursion,
30238 using most of code from DFS::DFS_write_tree.
30239 (DFS::DFS_write_tree_body): Remove SINGLE_P argument, don't
30240 pass it to DFS_write_tree calls.
30241 (DFS::DFS_write_tree): Remove SINGLE_P argument, after
30242 quick initial checks push it into worklist_vec and return.
30243
30244 2015-03-25 Richard Biener <rguenther@suse.de>
30245
30246 PR middle-end/65519
30247 * genmatch.c (expr::gen_transform): Re-write to avoid
30248 using gimple_build.
30249
30250 2015-03-25 Bin Cheng <bin.cheng@arm.com>
30251
30252 * doc/sourcebuild.texi (arm_tune_string_ops_prefer_neon): New.
30253
30254 2015-03-25 Bin Cheng <bin.cheng@arm.com>
30255
30256 * config/arm/arm.opt (print_tune_info): New option.
30257 * config/arm/arm.c (arm_print_tune_info): New function.
30258 (arm_file_start): Call arm_print_tune_info.
30259 * config/arm/arm-protos.h (struct tune_params): Add comment.
30260 * doc/invoke.texi (@item -mprint-tune-info): New item.
30261 (-mtune): mention it in ARM Option Summary.
30262
30263 2015-03-25 DJ Delorie <dj@redhat.com>
30264
30265 * config/rl78/rl78.c (rl78_print_operand_1): Move 'p' test to
30266 correct clause.
30267
30268 2015-03-24 Jan Hubicka <hubicka@ucw.cz>
30269 Martin Liska <mliska@suse.cz>
30270
30271 * ipa-icf-gimple.h (return_with_result): Add missing colon to dump.
30272 * ipa-icf.c (sem_function::get_hash): Hash new declaration properties.
30273 (sem_item::add_type): New function.
30274 (sem_function::hash_stmt): Add TREE_TYPE of gimple_op.
30275 (sem_function::compare_polymorphic_p): Do not consider indirect calls.
30276 (sem_item_optimizer::update_hash_by_addr_refs): Add ODR type to hash.
30277 (sem_function::equals_wpa): Fix typo.
30278 * ipa-icf.h (sem_item::add_type): New function.
30279 (symbol_compare_hashmap_traits): Replace hashing of pointer with symbol
30280 order.
30281
30282 2015-03-24 Jakub Jelinek <jakub@redhat.com>
30283
30284 PR tree-optimization/65533
30285 * tree-vect-slp.c (vect_build_slp_tree): Before re-trying
30286 with swapped operands, call vect_free_slp_tree on
30287 SLP_TREE_CHILDREN of child and truncate the SLP_TREE_CHILDREN
30288 vector.
30289
30290 2015-03-24 Richard Biener <rguenther@suse.de>
30291
30292 PR middle-end/65517
30293 * tree-cfg.c (remove_edge_and_dominated_blocks): Mark loops
30294 for fixup if necessary.
30295
30296 2015-03-23 Sandra Loosemore <sandra@codesourcery.com>
30297
30298 * doc/extend.texi (Function Attributes): Add @cindex entries
30299 for all attributes and regularize their format. Delete text
30300 about long-obsolete 68HC11 and 68HC12 targets. Move misplaced
30301 information about "eightbit_data", "tiny_data", and "model"
30302 variable attributes to the Variable Attributes section. Fix
30303 some obvious typos and copy-editing issues.
30304 (Variable Attributes, Type Attributes): Likewise add/fix
30305 @cindex entries for all attributes.
30306
30307 2015-03-23 Jakub Jelinek <jakub@redhat.com>
30308
30309 PR target/65523
30310 * tree-chkp.c (chkp_build_returned_bound): Ignore
30311 ERF_RETURNS_ARG calls if they have fewer than needed arguments.
30312
30313 2015-03-23 Oleg Endo <olegendo@gcc.gnu.org>
30314
30315 PR target/65505
30316 * config/sh/predicates.md (simple_mem_operand,
30317 displacement_mem_operand): Add test for reg.
30318 (short_displacement_mem_operand): Test for displacement_mem_operand
30319 before invoking sh_disp_addr_displacement.
30320 * config/sh/constraints.md (Sdd, Sra): Simplify.
30321 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1):
30322 Remove redundant displacement_mem_operand tests.
30323
30324 2015-03-23 Georg-Johann Lay <avr@gjlay.de>
30325
30326 PR target/65296
30327 * config/avr/driver-avr.c (avr_devicespecs_file): Allow to specify
30328 the same -mmcu=MCU more than once.
30329
30330 2015-03-23 Jakub Jelinek <jakub@redhat.com>
30331
30332 PR bootstrap/65522
30333 * ipa-devirt.c: Remove duplicate demangle.h include.
30334
30335 PR target/65504
30336 * config/i386/i386.c (ix86_copy_addr_to_reg): Set REG_POINTER
30337 on the pseudo.
30338 (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Set
30339 REG_POINTER on *destptr after adjusting it for prologue size.
30340
30341 PR ipa/65521
30342 * ipa-icf.c (sem_item::update_hash_by_addr_refs): Hash
30343 ultimate_alias_target ()->order ints instead of
30344 ultimate_alias_target () pointers.
30345
30346 2015-03-23 Richard Biener <rguenther@suse.de>
30347
30348 PR tree-optimization/65518
30349 * tree-vect-stmts.c (vectorizable_load): Reject single-element
30350 interleaving cases we generate absymal code for.
30351
30352 2015-03-23 Richard Biener <rguenther@suse.de>
30353
30354 PR tree-optimization/65494
30355 * tree-vect-slp.c (vect_build_slp_tree): Do not (re-)allocate
30356 matches here.
30357 (vect_analyze_slp_instance): But do that here, always and once.
30358
30359 2015-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
30360
30361 * expmed.c (synth_mult): Fix comment about multiplying by T-1 and
30362 adding T or multiplying by T+1 and subracting T.
30363
30364 2015-03-22 Jeff Law <law@redhat.com>
30365
30366 PR rtl-optimization/64317
30367 * Makefile.in (OBJS): Add gcse-common.c
30368 * gcse.c: Include gcse-common.h
30369 (struct modify_pair_s): Move structure definition to gcse-common.h
30370 (compute_transp): Move function to gcse-common.c.
30371 (canon_list_insert): Similarly.
30372 (record_last_mem_set_info): Break out some code and put it into
30373 gcse-common.c. Call into the new common code.
30374 (compute_local_properties): Pass additional arguments to compute_transp.
30375 * postreload-gcse.c: Include gcse-common.h and df.h
30376 (modify_mem_list_set, blocks_with_calls): New variables.
30377 (modify_mem_list, canon_modify_mem_list, transp): Likewise.
30378 (get_bb_avail_insn): Pass in the expression index too.
30379 (alloc_mem): Allocate memory for the new bitmaps and lists.
30380 (free_mem): Free memory for the new bitmaps and lists.
30381 (insert_expr_in_table): Record a bitmap index for each entry we
30382 add to the table.
30383 (record_last_mem_set_info): Call into common code in gcse-common.c.
30384 (get_bb_avail_insn): If no available insn was found in the requested
30385 BB. If BB has a single predecessor, see if the expression is
30386 transparent in BB and available in that single predecessor.
30387 (compute_expr_transp): New wrapper for compute_transp.
30388 (eliminate_partially_redundant_load): Pass expression's bitmap_index
30389 to get_bb_avail_insn. Compute next_pred_bb_end a bit later.
30390 (gcse_after_reload_main): If there are elements in the hash table,
30391 then compute transparency for all the elements in the hash table.
30392 * gcse-common.h: New file.
30393 * gcse-common.c: New file.
30394
30395 2015-03-22 Sandra Loosemore <sandra@codesourcery.com>
30396
30397 * doc/cpp.texi (Search Path): Hyphenate "command-line" when used
30398 as an adjective.
30399 (System Headers): Likewise.
30400 (Ifdef): Likewise.
30401 (Traditional macros): Likewise.
30402 (Invocation): Likewise.
30403 (Option Index): Likewise.
30404 * doc/cppopts.texi (-M): Likewise.
30405 (-finput-charset): Likewise.
30406 (--help): Likewise.
30407 * doc.invoke.texi (AVR Options): Likewise.
30408 (V850 Options): Likewise.
30409
30410 2015-03-22 Jan Hubicka <hubicka@ucw.cz>
30411
30412 PR ipa/65475
30413 * ipa-devirt.c: Include demangle.h
30414 (odr_type_d): Add field rtti_broken.
30415 (odr_subtypes_equivalent_p): Do not require name to match.
30416 (compare_virtual_tables): Fix typo; if type already has ODR violation,
30417 bypass the tests; be ready for function referneces in vtables that are
30418 not DECL_VIRTUAL; make warnings to be OPT_Wodr.
30419 (warn_odr): Give up for nameless types.
30420 (warn_types_mismatch): Report mismatch in mangled names;
30421 report mismatch in anonymous namespaces; look into component types to
30422 give useful error; report when mismatch is dragged in from other ODR
30423 type.
30424 (odr_types_equivalent_p): Match types for being polymorphic; avoid
30425 duplicated diagnostics.
30426 (add_type_duplicate): Reorder checks so more informative ones come
30427 first; fix typo; do not output "the extra base is defined here" when
30428 we did not warn.
30429 (BINFO_N_BASE_BINFOS): Relax sanity check.
30430
30431 2015-03-22 Martin Liska <mliska@suse.cz>
30432 Jakub Jelinek <jakub@redhat.com>
30433
30434 * config/i386/i386.c (def_builtin): Set deferred_isa_values for
30435 masks that can potentially include a builtin.
30436 (ix86_add_new_builtins): Introduce fast filter for isa values
30437 that cannot trigger builtin inclusion.
30438
30439 2015-03-22 Martin Liska <mliska@suse.cz>
30440
30441 * ipa-icf.c (sem_item::update_hash_by_addr_refs): New function.
30442 (sem_item::update_hash_by_local_refs): Likewise.
30443 (sem_variable::get_hash): Empty line is fixed.
30444 (sem_item_optimizer::execute): Include adding of hash references.
30445 (sem_item_optimizer::update_hash_by_addr_refs): New function.
30446 (sem_item_optimizer::build_hash_based_classes): Use local hash.
30447 * ipa-icf.h (sem_item::update_hash_by_addr_refs): New function.
30448 (sem_item::update_hash_by_local_refs): Likewise.
30449
30450 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
30451
30452 PR ipa/65502
30453 * ipa-comdats.c (enqueue_references): Walk through thunks.
30454 (ipa_comdats): Likewise.
30455 (set_comdat_group_1): New function.
30456
30457 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
30458
30459 PR ipa/65475
30460 * ipa-devirt.c (add_type_duplicate): Prevail polymorphic type over
30461 non-polymorphic
30462
30463 2015-03-22 Dave Korn <dave.korn.cygwin@gmail.com>
30464 Gerald Pfeifer <gerald@pfeifer.com>
30465
30466 * doc/contrib.texi (Contributors): Update entry for Danny Smith.
30467
30468 2015-03-21 Chung-Lin Tang <cltang@codesourcery.com>
30469 Sandra Loosemore <sandra@codesourcery.com>
30470
30471 * config/nios2/nios2-protos.h (nios2_adjust_call_address): Adjust
30472 function parameter declaration.
30473 * config/nios2/nios2.md (call,call_value,sibcall,sibcall_value):
30474 Update arguments to nios2_adjust_call_address().
30475 (sibcall_internal): Rename from *sibcall.
30476 (sibcall_value_internal): Rename from *sibcall_value.
30477 * config/nios2/nios2.c (nios2_emit_add_constant): New function.
30478 (nios2_large_got_address): Add target temp reg parameter.
30479 (nios2_got_address): Adjust call to nios2_large_got_address, add
30480 force_reg around it.
30481 (nios2_load_pic_address): Add target temp reg parameter, replace call
30482 to nios2_got_address with corresponding code.
30483 (nios2_legitimize_constant_address): Update call to
30484 nios2_load_pic_address.
30485 (nios2_adjust_call_address): Add temp reg parameter, update PIC case
30486 to use temp reg for PIC loading purposes.
30487 (nios2_asm_output_mi_thunk): Implement TARGET_ASM_OUTPUT_MI_THUNK.
30488 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
30489 (TARGET_ASM_OUTPUT_MI_THUNK): Likewise.
30490
30491 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
30492
30493 * doc/invoke.texi (-fno-diagnostics-show-caret): Fix
30494 usage of "the @option{...}".
30495 (-Wopenmp-simd): Likewise.
30496 (-fsanitize-recover): Likewise.
30497 (-fsanitize-undefined-trap-on-error): Likewise.
30498 (-flto): Likewise.
30499 (tracer-dynamic-coverage-feedback): Likewise.
30500 (reorder-block-duplicate-feedback): Likewise.
30501 (loop-unroll-jam-size): Likewise.
30502 (-B): Likewise.
30503 (-I-): Likewise.
30504 (-mabs=legacy): Likewise.
30505 (-mupper-regs-df): Likewise.
30506 (-mupper-regs-sf): Likewise.
30507 (-mpointers-to-nested-functions): Likewise.
30508
30509 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
30510
30511 * doc/extend.texi (Cilk Plus Builtins): Add markup.
30512
30513 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
30514
30515 * doc/invoke.texi (-fcheck-pointer-bounds): Copy-edit, add
30516 additional index entries and cross-references.
30517 (-fchkp-check-incomplete-type): Likewise.
30518 (-fchkp-first-field-has-own-bounds): Likewise.
30519 (-fchkp-narrow-to-innermost-array): Likewise.
30520 (-fchkp-use-fast-string-functions): Likewise.
30521 (-fchkp-use-nochk-string-functions): Likewise.
30522 (-fchkp-use-static-const-bounds): Likewise.
30523 (-fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
30524 (-fchkp-instrument-marked-only): Likewise.
30525 (-fchkp-use-wrappers): Likewise.
30526 (-static-libmpx): Likewise.
30527 (-static-libmpxwrappers): Likewise.
30528 * doc/extend.texi (bnd_legacy): Likewise.
30529 (bnd_instrument): Likewise.
30530 (bnd_variable_size): Likewise.
30531 (Pointer Bounds Checker builtins): Likewise.
30532
30533 2015-03-21 Tom de Vries <tom@codesourcery.com>
30534
30535 PR tree-optimization/65458
30536 * cgraph.c (cgraph_node::dump): Handle parallelized_function field.
30537 * cgraph.h (cgraph_node): Add parallelized_function field.
30538 * lto-cgraph.c (lto_output_node): Write parallelized_function field.
30539 (input_overwrite_node): Read parallelized_function field.
30540 * omp-low.c (expand_omp_taskreg, finalize_task_copyfn): Set
30541 parallelized_function on cgraph_node for child_fn.
30542 * tree-parloops.c: Add include of plugin-api.h, ipa-ref.h and cgraph.h.
30543 Remove include of gt-tree-parloops.h.
30544 (parallelized_functions): Remove static variable.
30545 (parallelized_function_p): Rewrite using parallelized_function field of
30546 cgraph_node.
30547 (create_loop_fn): Remove adding to parallelized_functions.
30548 * Makefile.in (GTFILES): Remove tree-parloops.c
30549
30550 2015-03-20 Vladimir Makarov <vmakarov@redhat.com>
30551
30552 PR rtl-optimization/64366
30553 * lra.c (lra_update_insn_regno_info): Consider regs in
30554 CALL_INSN_FUNCTION_USAGE memory.
30555
30556 2015-03-20 Richard Biener <rguenther@suse.de>
30557
30558 PR middle-end/64715
30559 * tree-chrec.c (chrec_fold_poly_cst): Use useless_type_conversion_p
30560 for type comparison and gcc_checking_assert.
30561 (chrec_fold_plus_poly_poly): Likewise.
30562 (chrec_fold_multiply_poly_poly): Likewise.
30563 (chrec_convert_1): Likewise.
30564 * gimplify.c (gimplify_expr): Remove premature folding of
30565 &X + CST to &MEM[&X, CST].
30566
30567 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
30568
30569 * ipa-inline.c (can_inline_edge_p): Short circuit if inline_failed
30570 already is final.
30571 (ipa_inline): Recompute inline_failed codes.
30572 * cif-code.def (FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
30573 USES_COMDAT_LOCAL, ATTRIBUTE_MISMATCH, UNREACHABLE): Declare as
30574 CIF_FINAL_ERROR.
30575
30576 2015-03-20 Uros Bizjak <ubizjak@gmail.com>
30577
30578 PR rtl-optimization/60851
30579 * recog.c (constrain_operands): Accept a pseudo register before reload
30580 for LRA enabled targets.
30581
30582 2015-03-19 Michael Meissner <meissner@linux.vnet.ibm.com>
30583
30584 PR target/65240
30585 * config/rs6000/predicates.md (easy_fp_constant): Remove special
30586 -ffast-math handling that kept non-0 constants live in the RTL
30587 until reload. Remove logic testing the number of instructions it
30588 took to create a constant in a GPR that was never used, due to a
30589 test for soft-float earlier.
30590 (memory_fp_constant): Delete, no longer used.
30591
30592 * config/rs6000/rs6000.md (mov<MODE>_hardfloat): Remove
30593 alternatives for loading non-0 constants into GPRs for hard
30594 floating point that is no longer needed due to changes in
30595 easy_fp_constant. Add support for loading 0.0 into GPRs.
30596 (mov<mode>_hardfloat32): Likewise.
30597 (mov<mode>_hardfloat64): Likewise.
30598 (mov<mode>_64bit_dm): Likewise.
30599 (movtd_64bit_nodm): Likewise.
30600 (pre-reload move FP constant define_split): Delete define_split,
30601 since it is no longer used.
30602 (extenddftf2_internal): Remove GHF constraints that are not valid
30603 for extenddftf2.
30604
30605 2015-03-19 Vladimir Makarov <vmakarov@redhat.com>
30606
30607 PR rtl-optimization/63491
30608 * lra-constraints.c (check_and_process_move): Use src instead of
30609 sreg. Remove some dead code.
30610
30611 2015-03-19 Jan Hubicka <hubicka@ucw.cz>
30612
30613 PR ipa/65380
30614 * ipa-icf.c (sem_function::merge): Do not merge DECL_EXTERNAL symbols.
30615 (sem_variable::merge): Likewise.
30616
30617 2015-03-19 Martin Liska <mliska@suse.cz>
30618
30619 PR ipa/65465
30620 * cgraphunit.c (cgraph_node::create_wrapper): Correctly reset
30621 all fields of cgraph_thunk_info.
30622
30623 2015-03-19 Ilya Enkovich <ilya.enkovich@intel.com>
30624
30625 * ipa-chkp.c (chkp_maybe_create_clone): Don't try to
30626 clone instrumented thunks.
30627
30628 2015-03-19 Richard Biener <rguenther@suse.de>
30629
30630 Revert
30631 2015-03-10 Richard Biener <rguenther@suse.de>
30632
30633 PR middle-end/63155
30634 * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
30635 * tree-ssa-coalesce.c: Include timevar.h.
30636 (attempt_coalesce): Handle graph being NULL.
30637 (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
30638 Split out abnormal coalescing to ...
30639 (perform_abnormal_coalescing): ... this function.
30640 (coalesce_ssa_name): Perform abnormal coalescing without computing
30641 live/conflict.
30642 (verify_ssa_coalescing_worker): New function.
30643 (verify_ssa_coalescing): Likewise.
30644
30645 2015-03-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
30646 Jakub Jelinek <jakub@redhat.com>
30647
30648 PR sanitizer/65400
30649 * tsan.c (instrument_gimple): Clear tail call flag on
30650 calls.
30651
30652 2015-03-19 Jakub Jelinek <jakub@redhat.com>
30653
30654 PR sanitizer/65400
30655 * ipa-split.c (find_return_bb): Allow TSAN_FUNC_EXIT internal
30656 call in the return bb.
30657 (find_split_points): Add RETURN_BB argument, don't call
30658 find_return_bb.
30659 (split_function): Likewise. Add ADD_TSAN_FUNC_EXIT argument,
30660 if true append TSAN_FUNC_EXIT internal call after the call to
30661 the split off function.
30662 (execute_split_functions): Call find_return_bb here.
30663 Don't optimize if TSAN_FUNC_EXIT is found in unexpected places.
30664 Adjust find_split_points and split_function calls.
30665
30666 2015-03-18 DJ Delorie <dj@redhat.com>
30667
30668 * config/rl78/rl78-virt.md (andqi3_virt): Allow far operands.
30669 (iorqi3_virt): Likewise.
30670
30671 2015-03-18 Tom de Vries <tom@codesourcery.com>
30672
30673 * tree-parloops.c (parallelize_loops): Make static.
30674 * tree-parloops.h (parallelize_loops): Remove extern declaration.
30675
30676 2015-03-18 Andrew Stubbs <ams@codesourcery.com>
30677
30678 PR middle-end/64491
30679 Revert:
30680 2014-11-20 Andrew Stubbs <ams@codesourcery.com>
30681
30682 * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop
30683 condition would be removed due to undefined behaviour.
30684
30685 2015-03-18 Martin Liska <mliska@suse.cz>
30686
30687 PR ipa/65432
30688 * cgraph.c (cgraph_node::get_create): Remove unnecessary
30689 xstrdup_for_dump wrapper.
30690 * ipa-icf.c (sem_item::dump): Use symtab_node::name instead of
30691 sem_item::name.
30692 (sem_function::equals): Wrap symtab_node::name and symtab_node::asm_name
30693 with xstrdup_for_dump.
30694 (sem_variable::equals): Likewise.
30695 (sem_item_optimizer::read_section): Use symtab_node::name instead of
30696 sem_item::name.
30697 (sem_item_optimizer::parse_funcs_and_vars): Likewise.
30698 (sem_item_optimizer::merge_classes): Wrap symtab_node::name and
30699 symtab_node::asm_name with xstrdup_for_dump.
30700 (congruence_class::dump): Use symtab_node::name instead of
30701 sem_item::name.
30702 * ipa-icf.h (symtab_node::name): Remove.
30703 (symtab_node::asm_name): Likewise.
30704
30705 2015-03-18 Jakub Jelinek <jakub@redhat.com>
30706
30707 PR tree-optimization/65450
30708 * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info): New
30709 function.
30710 (vect_create_addr_base_for_vector_ref, vect_create_data_ref_ptr): Use
30711 it instead of duplicate_ssa_name_ptr_info.
30712
30713 PR target/65222
30714 * doc/invoke.texi: Add knl as x86 -march=/-mtune= CPU type.
30715
30716 2015-03-18 Richard Biener <rguenther@suse.de>
30717
30718 * tree-data-ref.h (struct access_matrix): Remove.
30719 (AM_LOOP_NEST, AM_NB_INDUCTION_VARS, AM_PARAMETERS, AM_MATRIX,
30720 AM_NB_PARAMETERS, AM_CONST_COLUMN_INDEX, AM_NB_COLUMNS,
30721 AM_GET_SUBSCRIPT_ACCESS_VECTOR, AM_GET_ACCESS_MATRIX_ELEMENT): Likewise.
30722 (am_vector_index_for_loop): Likewise.
30723 (struct data_reference): Remove access_matrix member.
30724 (DR_ACCESS_MATRIX): Remove.
30725 (lambda_vector_new): Add comment.
30726 (lambda_matrix_new): Use XOBNEWVEC.
30727
30728 2015-03-18 Richard Biener <rguenther@suse.de>
30729
30730 * tree-ssa-loop-ch.c (pass_data_ch): Remove TODO_cleanup_cfg.
30731 (pass_ch::execute): Cleanup the CFG only if we did sth.
30732 * tree-vect-generic.c (pass_data_lower_vector): Remove TODO_cleanup_cfg.
30733
30734 2015-03-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
30735
30736 * expmed.c (synth_mult): Use std::swap instead of manually
30737 swapping algorithms.
30738
30739 2015-03-18 Jakub Jelinek <jakub@redhat.com>
30740
30741 PR target/65078
30742 * config/i386/sse.md (movsi/movdi -> vec_extract_*_0 splitter): New.
30743
30744 2015-03-16 Georg-Johann Lay <avr@gjlay.de>
30745
30746 PR target/65296
30747 * config/avr/avr.opt (-nodevicelib): New option.
30748 * doc/invoke.texi (AVR Options): Document it.
30749 * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC) [avr1]: Don't link
30750 libgcc.a, libc.a, libm.a.
30751 * config/avr/specs.h: Same.
30752 * config/avr/gen-avr-mmcu-specs.c (print_mcu): Don't print specs
30753 which don't (directly) depend on the device. Print more help.
30754 (*avrlibc_devicelib) [-nodevicelib]: Don't link libdev.a.
30755 (*cpp): Don't define __AVR_DEV_LIB_NAME__.
30756 * config/avr/driver-avr.c: Remove -nodevicelib from option list in
30757 case of an error.
30758 (avr_devicespecs_file): Use suffix "%s" instead of absolute path
30759 for specs file name.
30760 * config/avr/avr-arch.h (avr_mcu_t) [.library_name]: Remove.
30761 * config/avr/avr-mcus.def: Adjust initializers and comments.
30762
30763 2015-03-16 Jan Hubicka <hubicka@ucw.cz>
30764
30765 * tree-sra.c (ipa_sra_preliminary_function_checks): Use
30766 DECL_ONE_ONLY to check if decl is one only.
30767 * ipa-split.c (consider_split): Limit splitt of one only functions.
30768
30769 2015-03-16 Jakub Jelinek <jakub@redhat.com>
30770
30771 PR tree-optimization/65427
30772 * tree-vect-generic.c (do_cond, expand_vector_scalar_condition): New
30773 functions.
30774 (expand_vector_operations_1): Handle BLKmode vector COND_EXPR.
30775
30776 2015-03-16 Marek Polacek <polacek@redhat.com>
30777
30778 * cgraph.h (add_new_static_var): Remove declaration.
30779 * varpool.c (add_new_static_var): Remove function.
30780
30781 2015-03-16 Jakub Jelinek <jakub@redhat.com>
30782
30783 * omp-low.c (expand_omp_target): Use auto_vec<tree, 11>
30784 instead of vec<tree> * with vec_alloc and release for args.
30785 Adjust all users.
30786
30787 PR middle-end/65431
30788 * omp-low.c (delete_omp_context): Only splay_tree_delete
30789 reduction_map in GIMPLE_OMP_TARGET is_gimple_omp_offloaded
30790 is_gimple_omp_oacc contexts. Don't look at ctx->outer.
30791
30792 2015-03-16 Max Ostapenko <m.ostapenko@partner.samsung.com>
30793
30794 PR sanitizer/64820
30795 * cfgexpand.c (align_base): New function.
30796 (alloc_stack_frame_space): Call it.
30797 (expand_stack_vars): Align prev_frame to be sure
30798 data->asan_vec elements aligned properly.
30799
30800 2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
30801
30802 PR middle-end/65409
30803 * expr.c (store_field): Do not do a direct block copy if the source is
30804 a PARALLEL with BLKmode.
30805
30806 2015-03-16 Tom de Vries <tom@codesourcery.com>
30807
30808 PR middle-end/65414
30809 Revert:
30810 2015-03-12 Tom de Vries <tom@codesourcery.com>
30811
30812 PR rtl-optimization/64895
30813 * lra-lives.c (check_pseudos_live_through_calls): Use
30814 actual_call_used_reg_set instead of call_used_reg_set, if available.
30815
30816 2015-03-16 Alan Modra <amodra@gmail.com>
30817
30818 PR target/63150
30819 * config/rs6000/rs6000.md (bswapdi2): Remove one scratch reg.
30820 Modify Z->r bswapdi splitter to use dest in place of scratch.
30821 In r->Z and Z->r bswapdi splitter rename word_high, word_low
30822 to word1, word2 and rearrange logic to suit.
30823 (bswapdi2_64bit): Remove early clobber on Z->r alternative.
30824 (bswapdi2_ldbrx): Likewise. Remove '??' on r->r.
30825 (bswapdi2_32bit): Remove early clobber on Z->r alternative.
30826 Add one '?' on r->r. Modify Z->r splitter to avoid need for
30827 early clobber.
30828
30829 2015-03-14 Jakub Jelinek <jakub@redhat.com>
30830
30831 PR tree-optimization/65369
30832 * tree-vect-stmts.c (vectorizable_load) <case dr_explicit_realign>:
30833 Set bump to vs * TYPE_SIZE_UNIT (elem_type) - 1 instead of
30834 (vs - 1) * TYPE_SIZE_UNIT (elem_type).
30835
30836 PR tree-optimization/65418
30837 * tree-ssa-reassoc.c (extract_bit_test_mask): If there
30838 are casts in the first PLUS_EXPR operand, ensure tbias and
30839 *totallowp are in the inner type.
30840
30841 PR rtl-optimization/65401
30842 * combine.c (rtx_equal_for_field_assignment_p): Add widen_x
30843 argument. If true, adjust_address_nv of x with big-endian
30844 correction for the mode widening to GET_MODE (y).
30845 (make_field_assignment): Don't do MEM mode widening here.
30846 Use MEM_P instead of GET_CODE == MEM.
30847
30848 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
30849
30850 * varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for
30851 the external decls.
30852
30853 2015-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
30854
30855 PR target/64600
30856 * config/arm/arm.c (arm_gen_constant, AND case): Use
30857 ARM_SIGN_EXTEND when constructing AND mask.
30858
30859 2015-03-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
30860
30861 * graph.c (print_graph_cfg): Make function names visible and append
30862 parenthesis to it. Also make groups of basic blocks belonging to the
30863 same function visible.
30864
30865 2015-03-12 Richard Biener <rguenther@suse.de>
30866
30867 PR middle-end/44563
30868 * tree-inline.c (gimple_expand_calls_inline): Walk BB backwards
30869 to avoid quadratic behavior with inline expansion splitting blocks.
30870 * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not merge block
30871 with the successor if the predecessor will be merged with it.
30872 * tree-cfg.c (gimple_can_merge_blocks_p): We can't merge the
30873 entry block with its successor.
30874
30875 2015-03-13 Richard Biener <rguenther@suse.de>
30876
30877 PR middle-end/44563
30878 * tree-cfgcleanup.c (split_bb_on_noreturn_calls): Remove.
30879 (cleanup_tree_cfg_1): Do not call it.
30880 (execute_cleanup_cfg_post_optimizing): Fixup the CFG here.
30881 (fixup_noreturn_call): Mark the stmt as control altering.
30882 * tree-cfg.c (execute_fixup_cfg): Do not dump the function
30883 here.
30884 (pass_data_fixup_cfg): Produce a dump file.
30885 * tree-ssa-dom.c: Include tree-cfgcleanup.h.
30886 (need_noreturn_fixup): New global.
30887 (pass_dominator::execute): Fixup queued noreturn calls.
30888 (optimize_stmt): Queue calls that became noreturn for fixup.
30889 * tree-ssa-forwprop.c (pass_forwprop::execute): Likewise.
30890 * tree-ssa-pre.c: Include tree-cfgcleanup.h.
30891 (el_to_fixup): New global.
30892 (eliminate_dom_walker::before_dom_childre): Queue calls that
30893 became noreturn for fixup.
30894 (eliminate): Fixup queued noreturn calls.
30895 * tree-ssa-propagate.c: Include tree-cfgcleanup.h.
30896 (substitute_and_fold_dom_walker): New member stmts_to_fixup.
30897 (substitute_and_fold_dom_walker::before_dom_children): Queue
30898 alls that became noreturn for fixup.
30899 (substitute_and_fold): Fixup queued noreturn calls.
30900
30901 2015-03-12 Jan Hubicka <hubicka@ucw.cz>
30902
30903 * ipa-icf.c (sem_function::equals_wpa): Match CXX_CONSTRUCTOR_P
30904 and CXX_DESTURCTOR_P. For consutrctors match ODR type of class they
30905 are building; for methods check ODR type of class they belong to if
30906 they may lead to a polymorphic call.
30907 (sem_function::compare_polymorphic_p): Be bit smarter about testing
30908 when function may lead to a polymorphic call.
30909 (sem_function::compare_type_list): Remove.
30910 (sem_variable::equals): Update use of compatible_types_p.
30911 (sem_variable::parse_tree_refs): Remove.
30912 (sem_item_optimizer::filter_removed_items): Do not filter out CXX
30913 cdtor.
30914 * ipa-icf-gimple.c (func_checker::compare_decl): Do polymorphic
30915 matching here.
30916 (func_checker::compatible_polymorphic_types_p): Break out from ...
30917 (unc_checker::compatible_types_p): ... here.
30918 * ipa-icf-gimple.h (func_checker::compatible_polymorphic_types_p):
30919 Declare.
30920 (unc_checker::compatible_types_p): Update.
30921 * ipa-icf.h (compare_type_list, parse_tree_refs, compare_sections):
30922 Remove.
30923
30924 2015-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
30925
30926 PR rtl-optimization/65235
30927 * simplify-rtx.c (simplify_binary_operation_1, VEC_SELECT case):
30928 When first element of vec_concat is const_int, calculate its size
30929 using second element.
30930
30931 2015-03-12 Richard Biener <rguenther@suse.de>
30932
30933 PR middle-end/65270
30934 * fold-const.c (operand_equal_p): Fix ordering of resetting
30935 OEP_ADDRESS_OF and checking for it in the [TARGET_]MEM_REF case.
30936
30937 2015-03-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
30938
30939 * config/s390/s390.c (s390_reorg): Move code to output nops after label
30940 to s390_reorg ().
30941 (s390_asm_output_function_label): Likewise.
30942 * config/s390/s390.c (s390_asm_output_function_label):
30943 Fix function label alignment with -mhtopatch.
30944 * config/s390/s390.md ("unspecv"): New values UNSPECV_NOP_2_BYTE,
30945 UNSPECV_NOP_4_BYTE and UNSPECV_NOP_6_BYTE
30946 ("nop_2_byte"): New define_insn.
30947 ("nop_4_byte"): Likewise.
30948 ("nop_6_byte"): Likewise.
30949 * doc/extend.texi (hotpatch): hotpatch attribute doc fixes.
30950 * doc/invoke.texi (-mhotpatch): -mhotpatch doc fixes.
30951
30952 2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
30953
30954 PR target/65103
30955 * config/i386/i386.c (ix86_address_cost): Fix cost of a PIC
30956 register.
30957
30958 2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
30959
30960 PR target/65044
30961 * toplev.c (process_options): Restrict Pointer Bounds Checker
30962 usage with Address Sanitizer.
30963
30964 2015-03-12 Richard Biener <rguenther@suse.de>
30965
30966 * tree-cfg.c (gimple_split_block): Remove loop finding stmt
30967 to split on.
30968 * omp-low.c (expand_omp_taskreg): Split block before removing
30969 the stmt.
30970 (expand_omp_target): Likewise.
30971 * ubsan.c (ubsan_expand_null_ifn): Adjust stmt if we replaced it.
30972 * tree-parloops.c (create_call_for_reduction_1): Pass a proper
30973 stmt to split_block.
30974
30975 2015-03-12 Tom de Vries <tom@codesourcery.com>
30976
30977 PR rtl-optimization/64895
30978 * lra-lives.c (check_pseudos_live_through_calls): Use
30979 actual_call_used_reg_set instead of call_used_reg_set, if available.
30980
30981 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
30982
30983 * cgraph.c (cgraph_node::release_body): Free function_in_decl_state.
30984 (cgraph_node::remove): Likewise.
30985 (cgraph_node::get_untransformed_body): Likewise.
30986 * varpool.c (varpool_node::remove): Likewise.
30987 (varpool_node::get_constructor): Add sanity check.
30988
30989 2015-03-11 Sandra Loosemore <sandra@codesourcery.com>
30990
30991 * doc/invoke.texi (-fgnu89-inline): Remove discussion about
30992 old GCC versions.
30993 (-fabi-compat-version): Likewise.
30994 (-ffriend-injection): Likewise.
30995 (-Wdeclaration-after-statement): Likewise.
30996 (-fomit-frame-pointer): Likewise.
30997 (-ftree-coalesce-inlined-vars): Likewise.
30998 (-fvisibility=): Likewise.
30999 * doc/extend.texi (Typeof): Likewise.
31000 (Zero Length): Likewise.
31001 (Escaped Newlines): Likewise.
31002 (Compound Literals): Likewise.
31003 (Function Attributes): Likewise.
31004 (Label Attributes): Likewise.
31005 (Type Attributes): Likewise.
31006 (Function Names): Likewise.
31007 (Other Builtins): Likewise.
31008 (Function Specific Option Pragmas): Likewise.
31009 (C++ Interface): Likewise.
31010
31011 2015-03-11 Thomas Schwinge <thomas@codesourcery.com>
31012
31013 * config/nvptx/nvptx.h (LIBSTDCXX): Define to "gcc".
31014
31015 2015-03-11 Marek Polacek <polacek@redhat.com>
31016
31017 PR tree-optimization/65388
31018 * tree-ssa-tail-merge.c (same_succ_def::equal): Fix typo in comparison.
31019
31020 2015-03-10 Georg-Johann Lay <avr@gjlay.de>
31021
31022 PR target/65296
31023 * configure.ac [avr]: Check as for options -mrmw, --mlink-relax.
31024 * configure: Regenerate.
31025 * config.in: Regenerate.
31026 * doc/invoke.texi (AVR Options) [-mrmw]: Document it.
31027 [-mn-flash]: Document it.
31028 [__AVR_ARCH__]: Document avrtiny.
31029
31030 * config/avr/gen-avr-mmcu-specs.c (config.h): Include it.
31031 (*asm_relax): Only define spec if HAVE_AS_AVR_MLINK_RELAX_OPTION.
31032 (*asm_rmw): Only define spec if HAVE_AS_AVR_MRMW_OPTION.
31033
31034 2015-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
31035
31036 * doc/invoke.texi: Add missing cpu values (z196, zEC12).
31037
31038 2015-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
31039
31040 PR target/65242
31041 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Do not
31042 allow reloads of PLUS in floating point/VSX registers.
31043
31044 2015-03-11 Junmo Park <junmoz.park@samsung.com>
31045
31046 * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Add
31047 crypto_sha256_fast.
31048 (cortex_a57_crypto_complex): Add crypto_sha256_slow.
31049
31050 2015-03-11 Richard Biener <rguenther@suse.de>
31051
31052 PR tree-optimization/65310
31053 * tree-sra.c (build_ref_for_offset): Also preserve larger
31054 alignment.
31055
31056 2015-03-11 Marat Zakirov <m.zakirov@samsung.com>
31057
31058 * asan.c (instrument_derefs): Disable instrumentation on asan-globals=0.
31059
31060 2015-03-10 Jakub Jelinek <jakub@redhat.com>
31061
31062 PR target/65368
31063 * config/i386/i386.md (bmi2_bzhi_<mode>3): Removed define_insn,
31064 new define_expand.
31065 (*bmi2_bzhi_<mode>3, *bmi2_bzhi_<mode>3_1): New define_insns.
31066
31067 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
31068
31069 * ipa-icf.c (sem_function::equals_wpa): Move here some checks from ...
31070 (sem_function::equals_wpa): ... here.
31071
31072 2015-03-10 Marek Polacek <polacek@redhat.com>
31073 Jakub Jelinek <jakub@redhat.com>
31074
31075 PR sanitizer/65367
31076 * ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG
31077 when only removing the statement. Handle expanding UBSAN_OBJECT_SIZE
31078 separately.
31079
31080 2015-03-10 Jakub Jelinek <jakub@redhat.com>
31081
31082 PR target/65286
31083 * config/rs6000/t-linux: For powerpc64* target set
31084 MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME.
31085
31086 2015-03-10 Richard Biener <rguenther@suse.de>
31087
31088 PR middle-end/44563
31089 * tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit
31090 for redirect_all_calls.
31091
31092 2015-03-10 Marek Polacek <polacek@redhat.com>
31093
31094 * gdbinit.in (pcfun): Define and document.
31095
31096 2015-03-10 Ilya Verbin <ilya.verbin@intel.com>
31097
31098 * config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead
31099 of libgomp-plugin.h.
31100 (find_target_compiler): Support a case when the path to gcc is
31101 specified in the PATH env var, so COLLECT_GCC doesn't contain a path.
31102 (generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from
31103 intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from
31104 libgomp-plugin.h.
31105 (main): Use GCC_INSTALL_NAME as target_driver_name.
31106 * config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME
31107 define.
31108 (mkoffload.o): Remove obsolete include path and defines.
31109 (mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER).
31110
31111 2015-03-10 Richard Biener <rguenther@suse.de>
31112
31113 PR middle-end/63155
31114 * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
31115 * tree-ssa-coalesce.c: Include timevar.h.
31116 (attempt_coalesce): Handle graph being NULL.
31117 (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
31118 Split out abnormal coalescing to ...
31119 (perform_abnormal_coalescing): ... this function.
31120 (coalesce_ssa_name): Perform abnormal coalescing without computing
31121 live/conflict.
31122 (verify_ssa_coalescing_worker): New function.
31123 (verify_ssa_coalescing): Likewise.
31124
31125 2015-03-10 Georg-Johann Lay <avr@gjlay.de>
31126
31127 PR target/65296
31128 * config.gcc (extra_options) [avr]: Remove.
31129 (extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o.
31130 (tm_file) [avr]: Add avr/specs.h after avr/avr.h.
31131 (tm_defines) [avr-*-rtems*]: Add WITH_RTEMS.
31132
31133 * config/avr/avr.opt (config/avr/avr-arch.h): Remove include.
31134 (-mmcu=): Add Var and MissingArgError properties.
31135 (-march=): Remove.
31136 * config/avr/genmultilib.awk: Use -mmcu= instead of -march=.
31137 * config/avr/t-multilib: Regenerate.
31138 * config/avr/specs.h: New file.
31139 * config/avr/driver-avr.c: New file.
31140 * config/avr/genopt.sh: Remove file.
31141 * config/avr/avr-tables.opt: Remove file.
31142 * config/avr/predicates.md (avr_current_arch): Rename to avr_arch.
31143 * config/avr/avr-c.c: Same.
31144 * avr-arch.h: Same.
31145 (avr_current_device): Remove proto.
31146 * config/avr/avr.h (avr_current_arch): Rename to avr_arch.
31147 (AVR_HAVE_8BIT_SP): Don't depend on avr_current_device.
31148 (EXTRA_SPEC_FUNCTIONS): Define.
31149 (avr_devicespecs_file): New specs function proto.
31150 (DRIVER_SELF_SPECS): Use device-specs-file spec function.
31151 * config/avr/avr.c (avr_current_arch): Rename to avr_arch.
31152 (avr_current_device): Remove definition and usage.
31153 (avr_set_core_architecture): New static function.
31154 (avr_option_override): Use it.
31155 * config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them.
31156 (mcu_name): New static array.
31157 (comparator, avr_archs_str, avr_mcus_str): New static functions.
31158 (avr_inform_devices, avr_inform_core_architectures): New functions.
31159 * config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include.
31160 (avrlibc.h) [WITH_AVRLIBC]: Include.
31161 (../rtems.h, rtems.h) [WITH_RTEMS]: Include.
31162 (print_mcu): Rewrite from scratch.
31163 * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC):
31164 Forward to avr-specific specs defined in device-specs file.
31165 * config/avr/t-avr (driver-avr.o): New rule.
31166 (avr-devices.o): Depend on avr-arch.h.
31167 (avr-mcus): No more depend on avr-tables.opt.
31168 (avr-tables.opt): Remove rule.
31169 (install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM.
31170
31171 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
31172
31173 * c-family/c.opt (fchkp-use-wrappers): New.
31174 * ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New.
31175 (chkp_wrap_function): New.
31176 (chkp_build_instrumented_fndecl): Support wrapped
31177 functions.
31178 * doc/invoke.texi (-fcheck-pointer-bounds): New.
31179 (-fchkp-check-incomplete-type): New.
31180 (-fchkp-first-field-has-own-bounds): New.
31181 (-fchkp-narrow-bounds): New.
31182 (-fchkp-narrow-to-innermost-array): New.
31183 (-fchkp-optimize): New.
31184 (-fchkp-use-fast-string-functions): New.
31185 (-fchkp-use-nochk-string-functions): New.
31186 (-fchkp-use-static-bounds): New.
31187 (-fchkp-use-static-const-bounds): New.
31188 (-fchkp-treat-zero-dynamic-size-as-infinite): New.
31189 (-fchkp-check-read): New.
31190 (-fchkp-check-write): New.
31191 (-fchkp-store-bounds): New.
31192 (-fchkp-instrument-calls): New.
31193 (-fchkp-instrument-marked-only): New.
31194 (-fchkp-use-wrappers): New.
31195 (-static-libmpx): New.
31196 (-static-libmpxwrappers): New.
31197
31198 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
31199
31200 * config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New.
31201 (CHKP_SPEC): Add wrappers library.
31202 * c-family/c.opt (static-libmpxwrappers): New.
31203
31204 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
31205
31206 * config/i386/linux-common.h (LIBMPX_LIBS): New.
31207 (LIBMPX_SPEC): New.
31208 (CHKP_SPEC): New.
31209 * gcc.c (CHKP_SPEC): New.
31210 (LINK_COMMAND_SPEC): Add CHKP_SPEC.
31211 * c-family/c.opt (static-libmpx): New.
31212
31213 2015-03-10 Richard Biener <rguenther@suse.de>
31214
31215 PR middle-end/44563
31216 * cgraph.h (struct cgraph_edge_hasher): Add hash overload
31217 for compare_type.
31218 * cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer.
31219 (cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash.
31220 (cgraph_add_edge_to_call_site_hash): Likewise.
31221 (cgraph_node::get_edge): Likewise.
31222 (cgraph_edge::set_call_stmt): Likewise.
31223 (cgraph_edge::remove_caller): Likewise.
31224
31225 2015-03-10 Chung-Ju Wu <jasonwucj@gmail.com>
31226
31227 * config/nds32/nds32.h (callee_saved_regs_size): Rename to ...
31228 (callee_saved_gpr_regs_size): ... this.
31229 (callee_saved_regs_first_regno): Rename to ...
31230 (callee_saved_first_gpr_regno): ... this.
31231 (callee_saved_regs_last_regno) Rename to ...
31232 (callee_saved_last_gpr_regno): ... this.
31233 * config/nds32/nds32.c (nds32_compute_stack_frame): Adjust renamed
31234 variables.
31235 (nds32_initial_elimination_offset): Likewise.
31236 (nds32_expand_prologue): Likewise.
31237 (nds32_expand_epilogue): Likewise.
31238 (nds32_expand_prologue_v3push): Likewise.
31239 (nds32_expand_epilogue_v3pop): Likewise.
31240 * config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push):
31241 Adjust renamed variables.
31242 (nds32_output_stack_pop): Likewise.
31243
31244 2015-03-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
31245
31246 * dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B
31247 code in comment.
31248
31249 2015-03-10 Jakub Jelinek <jakub@redhat.com>
31250
31251 PR rtl-optimization/65321
31252 * cfgexpand.c (expand_debug_expr): Ensure shift amount isn't wider
31253 than shift mode.
31254 * var-tracking.c (use_narrower_mode): Likewise.
31255
31256 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
31257
31258 PR tree-optimization/65355
31259 * varasm.c (notice_global_symbol): Do not produce RTL.
31260 * symtab.c (symtab_node::can_increase_alignment_p): Check for section
31261 anchor.
31262 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not
31263 check for section anchors.
31264
31265 2015-03-10 Alan Modra <amodra@gmail.com>
31266
31267 PR target/65286
31268 * config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux
31269 to be single-arch by default. Set cpu_is_64bit for powerpc64
31270 given --with-cpu=native.
31271 * config/rs6000/t-fprules: Do not set default MULTILIB vars.
31272 * config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64
31273 and powerpc64le.
31274 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
31275 rs6000_isa_flags rather than TARGET_64BIT.
31276
31277 2015-03-09 Yoshinori Sato <ysato@users.sourceforge.jp>
31278 Kaz Kojima <kkojima@gcc.gnu.org>
31279
31280 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases.
31281
31282 2015-03-09 Jakub Jelinek <jakub@redhat.com>
31283
31284 PR lto/65361
31285 * ipa-devirt.c (add_type_duplicate): Don't use DECL_CONTEXT
31286 on a TREE_BINFO, instead use BINFO_TYPE.
31287
31288 2015-03-09 Richard Biener <rguenther@suse.de>
31289
31290 PR middle-end/65270
31291 * tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF.
31292 * fold-const.c (operand_equal_p): When recursing for ADDR_EXPRs
31293 operand set OEP_ADDRESS_OF. Clear it when recursing to non-bases
31294 of that. When comparing dereferences compare alignment.
31295 When comparing MEM_REFs or TARGET_MEM_REFs compare dependence info.
31296
31297 2015-03-08 Jan Hubicka <hubicka@ucw.cz>
31298
31299 * ipa-inline-analysis.c (check_callers): Check
31300 node->can_remove_if_no_direct_calls_and_refs_p.
31301 (growth_likely_positive): Reorganize to call
31302 can_remove_if_no_direct_calls_p later.
31303 * cgraph.h (will_be_removed_from_program_if_no_direct_calls_p,
31304 will_be_removed_from_program_if_no_direct_calls_p): Add
31305 will_inline parameter.
31306 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p,
31307 cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
31308 Handle inliner case correctly.
31309
31310 2015-03-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
31311
31312 PR tree-optimization/63743
31313 * cfgexpand.c (reorder_operands): Also reorder if only second operand
31314 had its definition forwarded by TER.
31315
31316 2015-03-08 Jan Hubicka <hubicka@ucw.cz>
31317
31318 PR lto/65316
31319 * ipa-utils.h (types_odr_comparable): Add strict argument.
31320 * ipa-devirt.c: Fix whitespace;
31321 (odr_hasher): Remove.
31322 (odr_name_hasher, odr_vtable_hasher): New hashers.
31323 (can_be_name_hashed_p): New predicate.
31324 (hash_type_name): remove.
31325 (hash_odr_name): New.
31326 (odr_name_hasher::hash): new.
31327 (can_be_vtable_hashed_p): New.
31328 (hash_odr_vtable): New.
31329 (odr_vtable_hasher::hash): New.
31330 (types_same_for_odr): Add strict parameter.
31331 (types_odr_comparable): Likewise.
31332 (odr_name_hasher::equal): New.
31333 (odr_vtable_hasher::equal): New.
31334 (odr_name_hasher::remove): New.
31335 (odr_hash_type): Change to hash_table<odr_name_hasher>.
31336 (odr_vtable_hash_type): New.
31337 (odr_vtable_hash): New.
31338 (odr_subtypes_equivalent_p): Do strict comparsion.
31339 (add_type_duplicate): Merge type names; cleanup; avoid type
31340 duplicates.
31341 (register_odr_type): Initialize vtable hash.
31342 (build_type_inheritance_graph): Likewise
31343 (get_odr_type): Reorg to use two hashes.
31344 (dump_possible_polymorphic_call_targets): Move sanity check after debug
31345 output.
31346 (ipa_devirt): Dump type_inheritance_graph.
31347 (types_same_for_odr): Add strict mode.
31348
31349 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
31350
31351 PR ipa/65334
31352 * cgraph.h (symtab_node): Add definition_alignment,
31353 can_increase_alignment_p and increase_alignment.
31354 * symtab.c (symtab_node::can_increase_alignment_p,
31355 increase_alignment_1, symtab_node::increase_alignment,
31356 symtab_node::definition_alignment): New.
31357 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Use
31358 can_increase_alignment_p.
31359 * tree-vectorizer.c (increase_alignment): Use increase_alignment.
31360 * tree-vect-stmts.c (ensure_base_align): Likewise.
31361 * varasm.c (function_section_1): Use definition_alignment.
31362 (assemble_start_function): Likewise.
31363 (emit_local): likewise.
31364 (build_constant_desc): Likewsie.
31365 (output_constant_def_contents): Likewise.
31366 (place_block_symbol): Likewise.
31367 (output_object_block): Likewise.
31368
31369 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
31370
31371 PR ipa/65316
31372 * tree.c (free_lang_data_in_type): Be sure to keep BINFO_VTABLE
31373 when outputting debug.
31374
31375 2015-03-07 Marek Polacek <polacek@redhat.com>
31376 Martin Uecker <uecker@eecs.berkeley.edu>
31377
31378 PR sanitizer/65280
31379 * doc/invoke.texi: Update description of -fsanitize=bounds.
31380
31381 2015-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com>
31382
31383 * tree-ssa-phiopt.c (neg_replacement): Remove.
31384 (tree_ssa_phiopt_worker): Remove negate optimization.
31385
31386 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
31387
31388 PR ipa/65302
31389 * value-prof.c (gimple_ic): Pure dead eh edges when needed.
31390
31391 2015-03-06 Richard Biener <rguenther@suse.de>
31392
31393 PR middle-end/64928
31394 * tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack
31395 and liveout_obstack members.
31396 (calculate_live_on_exit): Remove.
31397 (calculate_live_ranges): Change declaration.
31398 * tree-ssa-live.c (liveness_bitmap_obstack): Remove global var.
31399 (new_tree_live_info): Adjust.
31400 (calculate_live_ranges): Delete livein when not wanted.
31401 (calculate_live_ranges): Do not initialize liveness_bitmap_obstack.
31402 Deal with partly deleted live info.
31403 (loe_visit_block): Remove temporary bitmap by using
31404 bitmap_ior_and_compl_into.
31405 (live_worklist): Adjust accordingly.
31406 (calculate_live_on_exit): Make static.
31407 * tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges
31408 we do not need livein.
31409
31410 2015-03-06 Jonathan Wakely <jwakely@redhat.com>
31411
31412 * real.c (real_from_string): Fix typo in assertion.
31413
31414 2015-03-06 Alex Velenko <alex.velenko@arm.com>
31415
31416 * ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of
31417 the patch.
31418
31419 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
31420
31421 * ipa-icf.c (sem_variable::equals_wpa): Check FINAL flags.
31422
31423 2015-03-05 Vladimir Makarov <vmakarov@redhat.com>
31424
31425 PR target/64342
31426 * lra-assigns.c (find_hard_regno_for): Rename to
31427 find_hard_regno_for_1. Add a new parameter.
31428 (find_hard_regno_for): New function using find_hard_regno_for_1.
31429
31430 2015-03-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
31431
31432 PR rtl-optimization/65067
31433 * expmed.c (store_bit_field, extract_bit_field): Reworked the
31434 strict volatile bitfield handling.
31435
31436 2015-03-05 Martin Liska <mliska@suse.cz>
31437
31438 PR ipa/65318
31439 * ipa-icf.c (sem_variable::equals): Compare variables types.
31440
31441 2015-03-05 Richard Henderson <rth@redhat.com>
31442
31443 PR target/65121
31444 * config/arm/arm.c (arm_function_in_section_p): Fix predicate to
31445 correctly check weak symbol binding.
31446
31447 2015-03-05 Steve Ellcey <sellcey@imgtec.com>
31448
31449 PR middle-end/65315
31450 * cfgexpand.c (expand_stack_vars): Update large_align to maximum
31451 needed alignment.
31452
31453 2015-03-05 Martin Liska <mliska@suse.cz>
31454
31455 * ipa-inline.c (inline_small_functions): Set default value to
31456 prevent warning during bootstrap.
31457 * tree.h: Add pragma guard that ignores false positives during
31458 bootstrap.
31459
31460 2015-03-05 Richard Biener <rguenther@suse.de>
31461
31462 PR tree-optimization/65310
31463 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
31464 Properly preserve alignment of the base of the access.
31465
31466 2015-03-05 Richard Biener <rguenther@suse.de>
31467
31468 PR ipa/65270
31469 * ipa-icf-gimple.c (func_checker::compare_memory_operand):
31470 Compare dependence info.
31471
31472 2015-03-05 Richard Biener <rguenther@suse.de>
31473
31474 PR middle-end/65233
31475 * ipa-polymorphic-call.c: Include tree-ssa-operands.h and
31476 tree-into-ssa.h.
31477 (walk_ssa_copies): Revert last chage. Instead do not walk
31478 SSA names registered for SSA update.
31479
31480 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
31481
31482 PR ipa/65270
31483 * ipa-icf.c (sem_item::compare_cgraph_references): Compare
31484 vtable references for their containing type.
31485 (sem_function::equals_wpa): Compare TYPE_RESTRICT
31486 and type attributes.
31487
31488 2015-03-04 Eric Botcazou <ebotcazou@adacore.com>
31489
31490 * fold-const.c (round_up_loc): Cast divisor to signed on all paths
31491 before negating it.
31492 * stor-layout.c (finalize_record_size): Revert latest change.
31493
31494 2015-03-04 Andreas Tobler <andreast@gcc.gnu.org>
31495
31496 * config/rs6000/t-freebsd64: Remove 32-bit soft-float multilibs.
31497
31498 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
31499
31500 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite
31501 for correct comdat handling.
31502 (cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
31503 Likewise.
31504 * cgraph.h (call_for_symbol_and_aliases): Fix formating.
31505 (used_from_object_file_p_worker): Remove.
31506 (cgraph_node::only_called_directly_or_alised): Add
31507 used_from_object_file_p.
31508 * ipa-inline-analysis.c (growth_likely_positive): Optimie.
31509 * ipa-inline-transform.c (can_remove_node_now_p_1): Use
31510 can_remove_if_no_direct_calls_and_refs_p.
31511
31512 2015-03-04 Nick Clifton <nickc@redhat.com>
31513
31514 * config/rl78/rl78.h (enum reg_class): Remove real registers from
31515 General register class.
31516 * config/rl78/rl78-real.md: Replace general register constraints
31517 with real+virtual register constraints.
31518
31519 2015-03-04 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
31520
31521 * config/s390/s390.c (s390_expand_builtin): Exlude non-htm builtins
31522 from checking for -mhtm option.
31523
31524 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
31525
31526 * tree-sra.c (convert_callers): Use call_for_symbol_and_aliases.
31527 (struct ipa_sra_check_caller_data): Add has_thunk field.
31528 (ipa_sra_check_caller): Check for thunk.
31529 (ipa_sra_preliminary_function_checks): Give up on function with
31530 thunks.
31531 (ipa_early_sra): Use call_for_symbol_and_aliases.
31532
31533 2015-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
31534
31535 PR target/65249
31536 * config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when
31537 called for __stack_chk_guard symbol.
31538
31539 2015-03-03 DJ Delorie <dj@redhat.com>
31540
31541 * config/rl78/rl78-real.md (*addqi_real): Allow SADDR types for
31542 inc/dec.
31543 (*addhi3_real): Likewise.
31544 * config/rl78/rl78-virt.md (*inc<mode>3_virt): Additional
31545 pattern to match incrementing memory.
31546 * config/rl78/predicates.md (rl78_1_2_operand): New.
31547 * config/rl78/rl78.c (rl78_force_nonfar_3): Allow far mem-mem if
31548 it's the same and only mem.
31549 (rl78_alloc_physical_registers_op2): If there's effectively only
31550 one MEM, transcode it into HL.
31551 (rl78_far_p): Reject addresses that aren't legitimate.
31552
31553 2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
31554
31555 * fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before
31556 negating it.
31557
31558 * tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message.
31559
31560 2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
31561
31562 Implement call0 ABI for xtensa
31563 * config/xtensa/constraints.md ("a" constraint): Include stack
31564 pointer in case of call0 ABI.
31565 ("q" constraint): Make empty in case of call0 ABI.
31566 ("D" constraint): Include stack pointer in case of call0 ABI.
31567 * config/xtensa/xtensa-protos.h (xtensa_set_return_address,
31568 xtensa_expand_epilogue, xtensa_regno_to_class): Add new function
31569 prototypes.
31570 * config/xtensa/xtensa.c (xtensa_callee_save_size): New
31571 variable.
31572 (xtensa_regno_to_class): Make it a local variable in the
31573 function xtensa_regno_to_class.
31574 (xtensa_function_epilogue, TARGET_ASM_FUNCTION_EPILOGUE): Remove
31575 macro, function prototype and implementation.
31576 (reg_nonleaf_alloc_order): Make it a local variable in the
31577 function order_regs_for_local_alloc.
31578 (xtensa_conditional_register_usage): New function.
31579 (TARGET_CONDITIONAL_REGISTER_USAGE): Define macro.
31580 (xtensa_valid_move): Allow direct moves to stack pointer
31581 register in call0 ABI.
31582 (xtensa_setup_frame_addresses): Only spill register windows in
31583 windowed ABI.
31584 (xtensa_emit_call): Emit call(x)8 or call(x)0 in windowed and
31585 call0 ABI respectively.
31586 (xtensa_function_arg_1): Only mark a7 register for copying in
31587 windowed ABI.
31588 (xtensa_call_save_reg): New function.
31589 (compute_frame_size): Add space for callee saved register
31590 storage to the frame size in call0 ABI.
31591 (xtensa_expand_prologue): Generate code to set up stack frame
31592 and save callee-saved registers in call0 ABI.
31593 (xtensa_expand_epilogue): New function.
31594 (xtensa_set_return_address): New function.
31595 (xtensa_return_addr): Calculate return address in call0 ABI.
31596 (xtensa_builtin_saveregs): Only mark a7 register for copying and
31597 emit copying code in windowed ABI.
31598 (order_regs_for_local_alloc): Add preferred register allocation
31599 order for non-leaf function in call0 ABI.
31600 (xtensa_static_chain): Add atatic chain passing for call0 ABI.
31601 (xtensa_asm_trampoline_template): Add trampoline generation for
31602 call0 ABI.
31603 (xtensa_trampoline_init): Add trampoline initialization for
31604 call0 ABI.
31605 (xtensa_conditional_register_usage, xtensa_regno_to_class): New
31606 functions.
31607 * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI): New macro.
31608 (TARGET_CPU_CPP_BUILTINS): Add built-in define for call0 ABI.
31609 (CALL_USED_REGISTERS): Modify to encode both windowed and call0
31610 ABI call-used registers.
31611 (HARD_FRAME_POINTER_REGNUM): Add frame pointer for call0 ABI.
31612 (INCOMING_REGNO, OUTGOING_REGNO): Use argument unchanged in
31613 call0 ABI.
31614 (REG_CLASS_CONTENTS): Include all registers into the preferred
31615 reload registers set, adjust the set in the
31616 xtensa_conditional_register_usage.
31617 (xtensa_regno_to_class): Drop variable declaration.
31618 (REGNO_REG_CLASS): Redefine to use xtensa_regno_to_class
31619 function.
31620 (WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI
31621 respectively.
31622 (FUNCTION_PROFILER): Add _mcount call for call0 ABI.
31623 (TRAMPOLINE_SIZE): Define trampoline size for call0 ABI.
31624 (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 in call0 ABI.
31625 (ASM_OUTPUT_POOL_PROLOGUE): Always generate literal pool
31626 location in call0 ABI.
31627 (EH_RETURN_STACKADJ_RTX): New definition, use a10 for passing
31628 stack adjustment size when handling exception.
31629 (CRT_CALL_STATIC_FUNCTION): Add definition for call0 ABI.
31630 * config/xtensa/xtensa.md (A9_REG, UNSPECV_BLOCKAGE): New
31631 definitions.
31632 ("return" pattern): Generate ret.n/ret in call0 ABI.
31633 ("epilogue" pattern): Expand epilogue.
31634 ("nonlocal_goto" pattern): Use default in call0 ABI.
31635 ("eh_return" pattern): Move implementation to eh_set_a0_windowed,
31636 emit eh_set_a0_* depending on ABI.
31637 ("eh_set_a0_windowed" pattern): Former eh_return pattern.
31638 ("eh_set_a0_call0", "blockage"): New patterns.
31639
31640 2015-03-03 Martin Liska <mliska@suse.cz>
31641
31642 PR ipa/65287
31643 * ipa-icf.c (sem_variable::parse): Skip all alias variables.
31644
31645 2015-03-03 Michael Meissner <meissner@linux.vnet.ibm.com>
31646
31647 PR 65138/target
31648 * config/rs6000/rs6000-tables.opt: Regenerate table.
31649
31650 2015-03-03 Renlin Li <renlin.li@arm.com>
31651
31652 * doc/md.texi (@item ^): Change ? into ^.
31653
31654 2015-03-03 H.J. Lu <hongjiu.lu@intel.com>
31655
31656 * doc/tm.texi: Regenerated.
31657
31658 2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
31659
31660 * builtins.c (expand_builtin_return_addr): Add
31661 RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove
31662 surrounding #ifdef.
31663 * config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change
31664 definition to 1.
31665 * config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME):
31666 Likewise.
31667 * defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if
31668 undefined.
31669 * doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update
31670 paragraph.
31671
31672 2015-03-03 Martin Jambor <mjambor@suse.cz>
31673 Eric Botcazou <ebotcazou@adacore.com>
31674
31675 * tree-sra.c (ipa_sra_check_caller_data): New type.
31676 (has_caller_p): Removed.
31677 (ipa_sra_check_caller): New function.
31678 (ipa_sra_preliminary_function_checks): Use it.
31679
31680 2015-03-03 Martin Liska <mliska@suse.cz>
31681
31682 * ipa-icf.c (sem_item_optimizer::merge_classes): Use bit or
31683 instead of if branch.
31684
31685 2015-03-03 Martin Liska <mliska@suse.cz>
31686
31687 PR ipa/65282
31688 * ipa-icf.c (sem_variable::equals): Fix wrong condition.
31689
31690 2015-03-23 Jeff Law <law@redhat.com>
31691
31692 PR tree-optimization/65241
31693 * tree-ssa-dom.c (lookup_avail_expr): Only modify the avail_expr
31694 hash table if INSERT is true.
31695
31696 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
31697
31698 PR target/65296
31699 * config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove.
31700
31701 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
31702
31703 PR target/64331
31704 * config/avr/avr.c (context.h, tree-pass.h): Include them.
31705 (avr_pass_data_recompute_notes): New static variable.
31706 (avr_pass_recompute_notes): New class.
31707 (avr_register_passes): New static function.
31708 (avr_option_override): Call it.
31709
31710 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
31711
31712 Fix various problems with specs file generation.
31713
31714 PR target/65296
31715 * config.gcc (extra_gcc_objs) [avr]: Remove.
31716 * config/avr/driver-avr.c: Remove file.
31717 * config/avr/t-avr (driver-avr.o): Remove rule.
31718 (gen-avr-mmcu-specs): Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and
31719 INCLUDES to build. Depend on TM_H.
31720 * config/avr/gen-avr-mmcu-specs.c: Tidy up code. Fix various
31721 build warnings. Fix non-matching types and non-existing %-codes.
31722 (tm.h): Include.
31723 (*lib) [!WITH_AVRLIBC]: Don't link libdev.a.
31724 (*libgcc) [WITH_AVRLIBC]: Add "-lm".
31725 * config/avr/avrlibc.h (LIBGCC_SPEC): Remove definition.
31726 * config/avr/avr.h (DRIVER_SELF_SPECS): Fix handling of -march=.
31727 (CPP_SPEC, CC1PLUS_SPEC, ASM_SPEC, LINK_SPEC, LIB_SPEC)
31728 (LIBGCC_SPEC): Remove definitions.
31729
31730 2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
31731
31732 * config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG
31733 to create a register in testing mode.
31734
31735 2015-03-03 Martin Liska <mliska@suse.cz>
31736 Jan Hubicka <hubicka@ucw.cz>
31737
31738 PR ipa/65263
31739 * cgraph.c (cgraph_node::has_thunk_p): New function.
31740 * cgraph.h (cgraph_node::has_thunk_p: Likewise.
31741 * ipa-icf.c (redirect_all_callers): Do not redirect thunks.
31742 (sem_function::merge): Assert is changed.
31743
31744 2015-03-03 Martin Liska <mliska@suse.cz>
31745 Martin Jambor <mjambor@suse.cz>
31746
31747 PR ipa/65087
31748 * ipa-icf.c (sem_item_optimizer::execute): Change function
31749 return value to boolean.
31750 (sem_item_optimizer::merge_classes): Likewise.
31751 (ipa_icf_driver): Return TODO_remove_functions in case there's
31752 a merge operation processed.
31753 * ipa-icf.h: Change function return value to boolean.
31754
31755 2015-03-02 Michael Meissner <meissner@linux.vnet.ibm.com>
31756
31757 PR 65138/target
31758 * config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic
31759 processor type for 64-bit little endian PowerPC.
31760
31761 * config/rs6000/rs6000.c (rs6000_option_override_internal): If
31762 -mdebug=reg, print TARGET_DEFAULT. Fix logic to use
31763 TARGET_DEFAULT if there is no default cpu. Fix -mdebug=reg
31764 printing built-in mask so it does not pass NULL pointers.
31765
31766 * doc/invoke.texi (IBM RS/6000 and PowerPC options): Document
31767 -mcpu=powerpc64le.
31768
31769 2015-03-02 Steve Ellcey <sellcey@imgtec.com>
31770
31771 PR target/58158
31772 * config/mips/mips.md (mov<mode>cc): Change ISA_HAS_SEL check to
31773 !ISA_HAS_FP_CONDMOVE.
31774
31775 2015-03-02 Aldy Hernandez <aldyh@redhat.com>
31776
31777 * config/i386/i386.md (*udivmod<mode>4_pow2): Remove
31778 reload_completed.
31779
31780 2015-03-02 Ulrich Drepper <drepper@gmail.com>
31781
31782 * doc/invoke.texi (Options for Code Generation Conventions):
31783 Fix URL of DSO paper.
31784
31785 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
31786
31787 PR ipa/65130
31788 * ipa-inline.c (check_callers): Looks for recursion.
31789 (inline_to_all_callers): Give up on uninlinable or recursive edges.
31790 * ipa-inline-analysis.c (inline_summary_t::duplicate): Do not update
31791 summary of inline clones.
31792 (do_estimate_growth_1): Fix recursion check.
31793
31794 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
31795
31796 PR ipa/64988
31797 * ipa-inline-transform.c (clone_inlined_nodes): Do not dissolve
31798 comdat groups.
31799
31800 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
31801 Aldy Hernandez <aldyh@redhat.com>
31802
31803 PR lto/65276
31804 * ipa-devirt.c (add_type_duplicate): Remove odr_violated assert
31805 when checking TYPE_BINFO.
31806
31807 2015-03-02 Richard Biener <rguenther@suse.de>
31808
31809 PR ipa/65270
31810 * ipa-icf-gimple.c: Include builtins.h.
31811 (func_checker::compare_memory_operand): Compare base alignment.
31812
31813 2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
31814
31815 PR target/65184
31816 * config/i386/i386.c (ix86_pass_by_reference): Bounds are never
31817 passed by reference.
31818
31819 2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
31820
31821 PR target/65183
31822 * tree-chkp.c (chkp_check_lower): Don't check against
31823 zero bounds for already instrumented functions.
31824 (chkp_check_upper): Likewise.
31825 (chkp_fini): Clean pass local data to avoid wrong reusage.
31826
31827 2015-02-28 Martin Liska <mliska@suse.cz>
31828 Jan Hubicka <hubicka@ucw.cz>
31829
31830 * ipa-icf.c (sem_variable::equals): Improve debug output;
31831 get variable constructor.
31832 (sem_variable::parse): Do not filter out too early; give up on
31833 volatile and register vars.
31834 (sem_item_optimizer::filter_removed_items): Filter out nonreadonly
31835 variables.
31836 * ipa-icf.h (sem_variable::init): Do not set ctor.
31837 (sem_variable::ctor): Remove.
31838
31839 2015-03-01 Aldy Hernandez <aldyh@redhat.com>
31840
31841 PR middle-end/65233
31842 * ipa-polymorphic-call.c (walk_ssa_copies): Handle empty PHIs.
31843
31844 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
31845
31846 * ipa-icf.c: Include stor-layout.h
31847 (sem_function::compare_cgraph_references): Rename to ...
31848 (sem_item::compare_cgraph_references): ... this one.
31849 (sem_variable::equals_wpa): New function
31850 (sem_variable::equals): Do not check stuff already verified by
31851 equals_wpa.
31852 (sem_variable::equals): Reorg based on varasm.c:compare_constant.
31853 * ipa-icf.h (sem_item): Add compare_cgraph_references.
31854 (sem_function): Remove compare_cgraph_references.
31855 (sem_variable): Turns equals_wpa into non-inline.
31856
31857 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
31858
31859 * ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT.
31860 (sem_item::add_expr): New function.
31861 (sem_function::hash_stmt): Handle operands of most statements.
31862 (sem_variable::get_hash): Hash the actual constructor.
31863 * ipa-icf.h (sem_item): Add add_expr.
31864 (sem_function): Update prototype of hash_stmt
31865
31866 2015-02-28 Martin Liska <mliska@suse.cz>
31867 Jan Hubicka <hubicka@ucw.cz>
31868
31869 PR ipa/65245
31870 * ipa-icf-gimple.c (func_checker::compare_function_decl):
31871 Remove.
31872 (func_checker::compare_variable_decl): Skip symtab vars.
31873 (func_checker::compare_cst_or_decl): Update.
31874 * ipa-icf.c (sem_function::parse): Do not consider aliases.
31875 (sem_function::compare_cgraph_references): Add ADDRESS parameter;
31876 use correct symtab predicates.
31877 (sem_function::equals_wpa): Update uses of compare_cgraph_references.
31878 (sem_variable::parse): Update comment.
31879 (sem_item_optimizer::build_graph): Consider ultimate aliases
31880 for references.
31881
31882 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
31883
31884 * ipa-icf-gimple.c (func_checker::compare_operand): Fix handling
31885 of OBJ_TYPE_REF.
31886
31887 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
31888
31889 * ipa-icf.c (sem_function::merge): Fix handling of COMDAT.
31890 (sem_variable::merge) Likewise.
31891
31892 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
31893
31894 * ipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline
31895 target; also match flag_ipa_devirt.
31896
31897 2015-03-01 Martin Liska <mliska@suse.cz>
31898 Jan Hubicka <hubicka@ucw.cz>
31899
31900 * ipa-icf-gimple.c (func_checker::compare_variable_decl):
31901 Validate variable alignment.
31902 * ipa-icf.c (sem_function::equals_private): Be more precise
31903 about non-common function attributes.
31904 (sem_variable::equals): Likewise.
31905
31906 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
31907
31908 PR ipa/65237
31909 * ipa-icf.c (sem_function::merge): Do not attempt to produce alias
31910 across COMDAT group boundary.
31911
31912 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
31913
31914 PR ipa/65232
31915 * ipa-icf.c (clear_decl_rtl): New function.
31916 (sem_function::merge): Clear RTL before forming alias.
31917 (sem_variable::merge): Clear RTL before forming alias.
31918
31919 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
31920
31921 PR ipa/65236
31922 * cgraphunit.c (cgraph_node::expand_thunk): Enable return slot opt.
31923
31924 2015-02-28 Xingxing Pan <xxingpan@marvell.com>
31925
31926 * config/aarch64/aarch64.md: (mov<mode>_aarch64): Change type
31927 to neon_to_gp<q>.
31928
31929 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
31930
31931 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix
31932 a typo in the description.
31933
31934 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
31935
31936 PR target/64317
31937 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
31938 * params.h (LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
31939 * lra-constraints.c: Include "params.h".
31940 (EBB_PROBABILITY_CUTOFF): Use
31941 LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF.
31942 (lra_inheritance): Use '<' instead of '<=' for
31943 EBB_PROBABILITY_CUTOFF.
31944 * doc/invoke.texi (lra-inheritance-ebb-probability-cutoff):
31945 Document change.
31946
31947 2015-02-27 Martin Liska <mliska@suse.cz>
31948
31949 * ipa-icf.h (struct symbol_compare_hashmap_traits): Add missing
31950 vector length condition.
31951
31952 2015-02-27 Sandra Loosemore <sandra@codesourcery.com>
31953
31954 * doc/extend.texi (x86 transactional memory intrinsics):
31955 Reorganize discussion of _xbegin. Clarify that the return
31956 value is a bit mask. Expand example and move to end of section.
31957
31958 2015-02-26 Jakub Jelinek <jakub@redhat.com>
31959 Aldy Hernandez <aldyh@redhat.com>
31960
31961 PR rtl-optimization/65220
31962 * config/i386/i386.md (*udivmod<mode>4_pow2): New.
31963
31964 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
31965
31966 PR target/65032
31967 * lra-remat.c (update_scratch_ops): New.
31968 (do_remat): Call it.
31969 * lra.c (lra_register_new_scratch_op): New. Take code from ...
31970 (remove_scratches): ... here.
31971 * lra-int.h (lra_register_new_scratch_op): New prototype.
31972
31973 2015-02-27 Marek Polacek <polacek@redhat.com>
31974
31975 PR c/65040
31976 * doc/invoke.texi: Update to reflect that -Wformat=2 doesn't enable
31977 -Wformat-signedness anymore.
31978
31979 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
31980
31981 * config/s390/s390.c: (s390_atomic_assign_expand_fenv): New
31982 function.
31983 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define macro.
31984
31985 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
31986
31987 * config/s390/s390.c (enum s390_builtin):
31988 Add S390_BUILTIN_S390_SFPC and S390_BUILTIN_S390_EFPC.
31989 (code_for_builtin): Add CODE_FOR_s390_sfpc and CODE_FOR_s390_efpc.
31990 (s390_init_builtins): Generate new builtin functions.
31991 * config/s390/s390.md (UNSPECV_SFPC, UNSPECV_EFPC): New constants.
31992 (s390_sfpc, s390_efpc): New pattern definitions.
31993
31994 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
31995
31996 * config/s390/s390.c: (enum s390_builtin, s390_expand_builtin):
31997 Rename S390_BUILTIN_max to S390_BUILTIN_MAX.
31998 (s390_builtin_decls): New array.
31999 (s390_init_builtins): Put builtin decls into s390_builtin_decls.
32000 (s390_builtin_decl): New function.
32001 (TARGET_BUILTIN_DECL): Define macro.
32002
32003 2015-02-27 Richard Biener <rguenther@suse.de>
32004
32005 PR middle-end/63175
32006 * builtins.c (get_object_alignment_2): Make sure to re-apply
32007 the ANDed mask after recursing to its operand gets us a new
32008 misalignment bit position.
32009
32010 2015-02-26 Jan Hubicka <hubicka@ucw.cz>
32011 Martin Liska <mliska@suse.cz>
32012
32013 PR bootstrap/65150
32014 * ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton):
32015 Use address_matters_p.
32016 (redirect_all_callers, set_addressable): New functions.
32017 (sem_function::merge): Reorganize and fix merging issues.
32018 (sem_variable::merge): Likewise.
32019 (sem_variable::compare_sections): Remove.
32020 * common.opt (fmerge-all-constants, fmerge-constants): Remove
32021 Optimization flag.
32022 * symtab.c (symtab_node::resolve_alias): When alias has aliases,
32023 redirect them.
32024 (symtab_node::make_decl_local): Set ADDRESSABLE bit when
32025 decl is used.
32026 (address_matters_1): New function.
32027 (symtab_node::address_matters_p): New function.
32028 * cgraph.c (cgraph_edge::verify_corresponds_to_fndecl): Fix
32029 check for merged flag.
32030 * cgraph.h (address_matters_p): Declare.
32031 (symtab_node::address_taken_from_non_vtable_p): Remove.
32032 (symtab_node::address_can_be_compared_p): New method.
32033 (ipa_ref::address_matters_p): Move here from ipa-ref.c; simplify.
32034 * ipa-visibility.c (symtab_node::address_taken_from_non_vtable_p):
32035 Remove.
32036 (comdat_can_be_unshared_p_1) Use address_matters_p.
32037 (update_vtable_references): Fix formating.
32038 * ipa-ref.c (ipa_ref::address_matters_p): Move inline.
32039 * cgraphunit.c (cgraph_node::create_wrapper): Drop UNINLINABLE flag.
32040 * cgraphclones.c: Preserve merged and icf_merged flags.
32041
32042 2015-02-26 Sandra Loosemore <sandra@codesourcery.com>
32043
32044 * doc/extend.texi (Function Attributes): Fix spelling and typos.
32045 (Label Attributes): Likewise.
32046 (Cilk Plus Builtins): Likewise.
32047 (ARC SIMD Built-in Functions): Likewise.
32048 (ARM C Language Extensions (ACLE)): Likewise.
32049 (PowerPC Built-in Functions): Likewise.
32050 (PowerPC Hardware Transactional Memory Built-in Functions):
32051 Likewise.
32052
32053 2015-02-26 Jakub Jelinek <jakub@redhat.com>
32054
32055 PR tree-optimization/65216
32056 * tree-ssa-reassoc.c (rewrite_expr_tree): Force creation of
32057 new stmt and new SSA_NAME for lhs whenever the arguments have
32058 changed and weren't just swapped. Fix comment typo.
32059
32060 PR tree-optimization/65215
32061 * tree-ssa-math-opts.c (find_bswap_or_nop_load): Return false
32062 for PDP endian targets.
32063 (perform_symbolic_merge, find_bswap_or_nop_1, find_bswap_or_nop):
32064 Fix up formatting issues.
32065 (bswap_replace): Likewise. For BYTES_BIG_ENDIAN, if the final access
32066 size is smaller than the original, adjust MEM_REF offset by the
32067 difference of sizes. Use is_gimple_mem_ref_addr instead of
32068 is_gimple_min_invariant test to avoid adding address temporaries.
32069
32070 2015-02-26 Martin Liska <mliska@suse.cz>
32071 Jan Hubicka <hubicka@ucw.cz>
32072
32073 PR ipa/64693
32074 * ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New.
32075 (sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function.
32076 (sem_item_optimizer::process_cong_reduction): Include division by
32077 sensitive references.
32078 * ipa-icf.h (struct symbol_compare_hashmap_traits): New class.
32079 * ipa-ref.c (ipa_ref::address_matters_p): New function.
32080 * ipa-ref.h (ipa_ref::address_matters_p): Likewise.
32081
32082 2015-02-26 Georg-Johann Lay <avr@gjlay.de>
32083
32084 PR target/65192
32085 * config/avr/avr-protos.h (tiny_valid_direct_memory_access_range):
32086 Remove.
32087 * config/avr/avr.c: Same.
32088 (avr_legitimate_address_p) <AVR_TINY, CONSTANT_ADDRESS_P>:
32089 Refuse any constant address not in 0..0xbf.
32090 * config/avr/avr.md (*mov<mode>, *movsf): Remove
32091 tiny_valid_direct_memory_access_range from insn conditions.
32092 (mov<mode>): Don't special-case expansion of avrtiny addresses.
32093
32094 2015-02-26 Oleg Endo <olegendo@gcc.gnu.org>
32095
32096 PR target/61142
32097 * config/sh/sh.c (sh_check_add_incdec_notes): New function.
32098 * config/sh/sh-protos.h (sh_check_add_incdec_notes): Declare it.
32099 * config/sh/predicates.md (const_logical_operand): New predicate.
32100 * config/sh/sh.md: Add new peephole2 patterns.
32101
32102 2015-02-26 Marek Polacek <polacek@redhat.com>
32103
32104 PR ipa/65008
32105 * ipa-inline.c (early_inliner): Recompute inline parameters.
32106
32107 2015-02-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
32108
32109 PR target/65171
32110 * config/rs6000/rs6000.c (rs6000_analyze_swaps): Ensure
32111 instructions with TImode operands are included in the analysis.
32112
32113 2015-02-26 Sebastian Pop <s.pop@samsung.com>
32114
32115 * tree-ssa-threadupdate.c (dump_jump_thread_path): Print all edges
32116 of an EDGE_FSM_THREAD.
32117
32118 2015-02-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
32119
32120 * config/rs6000/htm.md (tcheck): Fix assembly encoding.
32121
32122 2015-02-25 Aldy Hernandez <aldyh@redhat.com>
32123
32124 PR debug/46102
32125 * dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups.
32126
32127 2015-02-26 Sebastian Pop <s.pop@samsung.com>
32128
32129 PR tree-optimization/65048
32130 * tree-ssa-threadupdate.c (valid_jump_thread_path): New.
32131 (thread_through_all_blocks): Call valid_jump_thread_path.
32132 Remove invalid FSM jump-thread paths.
32133
32134 2015-02-26 Jakub Jelinek <jakub@redhat.com>
32135
32136 * passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
32137 (ipa_write_optimization_summaries): Likewise.
32138 * tree-streamer.h: Include data-streamer.h.
32139 (streamer_mode_table): Declare extern variable.
32140 (bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions.
32141 * lto-streamer-out.c (lto_output_init_mode_table,
32142 lto_write_mode_table): New functions.
32143 (produce_asm_for_decls): Call lto_write_mode_table when streaming
32144 offloading LTO.
32145 * lto-section-in.c (lto_section_name): Add "mode_table" entry.
32146 (lto_create_simple_input_block): Add mode_table argument to the
32147 lto_input_block constructors.
32148 * ipa-prop.c (ipa_prop_read_section, read_replacements_section):
32149 Likewise.
32150 * data-streamer-in.c (string_for_index): Likewise.
32151 * ipa-inline-analysis.c (inline_read_section): Likewise.
32152 * ipa-icf.c (sem_item_optimizer::read_section): Likewise.
32153 * lto-cgraph.c (input_cgraph_opt_section): Likewise.
32154 * lto-streamer-in.c (lto_read_body_or_constructor,
32155 lto_input_toplevel_asms): Likewise.
32156 (lto_input_mode_table): New function.
32157 * tree-streamer-out.c (pack_ts_fixed_cst_value_fields,
32158 pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields):
32159 Use bp_pack_machine_mode.
32160 * real.h (struct real_format): Add name field.
32161 * lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table.
32162 (class lto_input_block): Add mode_table member.
32163 (lto_input_block::lto_input_block): Add mode_table_ argument,
32164 initialize mode_table.
32165 (struct lto_file_decl_data): Add mode_table field.
32166 (lto_input_mode_table, lto_output_init_mode_table): New prototypes.
32167 * tree-streamer-in.c (unpack_ts_fixed_cst_value_fields,
32168 unpack_ts_decl_common_value_fields,
32169 unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode.
32170 * tree-streamer.c (streamer_mode_table): New variable.
32171 * real.c (ieee_single_format, mips_single_format,
32172 motorola_single_format, spu_single_format, ieee_double_format,
32173 mips_double_format, motorola_double_format,
32174 ieee_extended_motorola_format, ieee_extended_intel_96_format,
32175 ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
32176 ibm_extended_format, mips_extended_format, ieee_quad_format,
32177 mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
32178 decimal_single_format, decimal_double_format, decimal_quad_format,
32179 ieee_half_format, arm_half_format, real_internal_format): Add name
32180 field.
32181 * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
32182
32183 2015-02-26 Yuri Rumyantsev <ysrumyan@gmail.com>
32184
32185 PR target/65161
32186 * config/i386/i386.c (ix86_sched_reorder): Skip instruction
32187 reordering for selective scheduling.
32188
32189 2015-02-26 Terry Guo <terry.guo@arm.com>
32190
32191 * config/arm/arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE.
32192 * config/arm/arm-protos.h (FL_NO_VOLATILE_CE): New flag.
32193 (arm_arch_no_volatile_ce): Declare new global variable.
32194 * config/arm/arm.c (arm_arch_no_volatile_ce): New global variable.
32195 (arm_option_override): Assign value to arm_arch_no_volatile_ce.
32196 * config/arm/arm.h (arm_arch_no_volatile_ce): Declare it.
32197 (TARGET_NO_VOLATILE_CE): New macro.
32198 * config/arm/arm.md (arm_comparison_operator): Disabled if not allow
32199 volatile memory access in IT block
32200
32201 2015-02-25 Kai Tietz <ktietz@redhat.com>
32202
32203 PR tree-optimization/61917
32204 * tree-vect-loop.c (vectorizable_reduction): Handle obvious case
32205 that reduc_def_stmt is null.
32206
32207 2015-02-25 Martin Liska <mliska@suse.cz>
32208
32209 * ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare
32210 hard register variables.
32211
32212 2015-02-25 Kai Tietz <ktietz@redhat.com>
32213
32214 PR target/64212
32215 * symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0.
32216 (symtab::noninterposable_alias): Likewise.
32217
32218 2015-02-25 Ilya Enkovich <ilya.enkovich@intel.com>
32219
32220 PR target/65167
32221 * config/i386/i386.c (ix86_function_arg_regno_p): Support
32222 bounds registers.
32223 (avoid_func_arg_motion): Add dependencies for BNDSTX insns.
32224
32225 2015-02-25 Alan Lawrence <alan.lawrence@arm.com>
32226
32227 PR target/64997
32228 * config/aarch64/aarch64.md (*xor_one_cmpl<mode>3): Use FP_REGNUM_P
32229 as split condition; force split via '#' in output pattern.
32230
32231 2015-02-25 Richard Biener <rguenther@suse.de>
32232 Kai Tietz <ktietz@redhat.com>
32233
32234 PR tree-optimization/61917
32235 * tree-vect-loop.c (vectorizable_reduction): Allow
32236 vect_internal_def without reduction to exit graceful.
32237
32238 2015-02-25 Georg-Johann Lay <avr@gjlay.de>
32239
32240 PR target/65196
32241 * config/avr/avr.c (avr_adjust_insn_length): Call recog_memoized
32242 only with NONDEBUG_INSN_P.
32243
32244 2015-02-25 Georg-Johann Lay <avr@gjlay.de>
32245
32246 Use variadic macros with avr-log.c.
32247
32248 * config/avr/avr-protos.h (avr_vdump): New prototype.
32249 (avr_log_set_caller_e, avr_log_set_caller_f): Remove protos.
32250 (avr_edump, avr_fdump, avr_dump): (Re)define to use avr_vdump.
32251 * config/avr/avr-log.c: Adjust comments.
32252 (avr_vdump): New function.
32253 (avr_vadump): Pass caller as 2nd argument instead of format string.
32254 (avr_log_caller, avr_log_fdump_e, avr_log_fdump_f)
32255 (avr_log_set_caller_e, avr_log_set_caller_f): Remove.
32256
32257 2015-02-25 Jakub Jelinek <jakub@redhat.com>
32258
32259 PR lto/64374
32260 * target.def (target_option_stream_in): New target hook.
32261 * tree-streamer-in.c (streamer_read_tree_bitfields): Invoke
32262 targetm.target_option.post_stream_in if non-NULL.
32263 * doc/tm.texi.in: Add @hook TARGET_OPTION_POST_STREAM_IN.
32264 * doc/tm.texi: Updated.
32265 * config/i386/i386.c (ix86_function_specific_post_stream_in): New
32266 function.
32267 (TARGET_OPTION_POST_STREAM_IN): Redefine.
32268
32269 2015-02-24 Jeff Law <law@redhat.com>
32270
32271 PR target/65117
32272 * config/xtensa/xtensa.md (zero_cost_loop_start): Reverse numbering
32273 of operand 0 and operand 2.
32274 (zero_cost_loop_end, loop_end): Similarly.
32275
32276 2015-02-24 Aldy Hernandez <aldyh@redhat.com>
32277
32278 * gimple.h (gimple_build_assign): Rename CXX_MEM_STAT_DECL to
32279 CXX_MEM_STAT_INFO.
32280
32281 2015-02-24 DJ Delorie <dj@redhat.com>
32282
32283 * config/rl78/rl78-protos.h (rl78_split_movsi): Accept a mode as well.
32284 * config/rl78/rl78-expand.md (movsf): New, same as movsi.
32285 * config/rl78/rl78.c (rl78_split_movsi): Accept a mode, use it
32286 instead of hardcoding SImode.
32287
32288 2015-02-24 Bernd Schmidt <bernds@codesourcery.com>
32289
32290 * omp-low.c (create_omp_child_function): Tag entrypoint
32291 functions with a special attribute.
32292
32293 2015-02-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
32294
32295 PR target/65058
32296 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Drop unused variable.
32297
32298 2015-02-24 Vladimir Makarov <vmakarov@redhat.com>
32299
32300 PR rtl-optimization/65123
32301 * lra-remat.c (operand_to_remat): Check hard regs in insn
32302 definition too.
32303
32304 2015-02-24 Nick Clifton <nickc@redhat.com>
32305
32306 * config/v850/v850.h (ASM_SPEC): Pass -msoft-float/-mhard-float on
32307 to the assembler.
32308
32309 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
32310
32311 PR libgomp/64625
32312 * omp-builtins.def (BUILT_IN_GOACC_DATA_START): Specify as
32313 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, not
32314 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR.
32315 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Specify as
32316 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, not
32317 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR.
32318 (BUILT_IN_GOACC_PARALLEL): Specify as
32319 BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, not
32320 BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR.
32321 * builtin-types.def
32322 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
32323 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
32324 Remove function types.
32325 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
32326 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
32327 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
32328 New function types.
32329
32330 2015-02-24 Georg-Johann Lay <avr@gjlay.de>
32331
32332 * config/avr/stdfix.h [__WITH_AVRLIBC__]: Include <stdfix-avrlibc.h>.
32333
32334 2015-02-24 Jakub Jelinek <jakub@redhat.com>
32335
32336 PR tree-optimization/65170
32337 * wide-int.cc (wi::mul_internal): For the umul_ppmm optimization,
32338 if val[1] < 0, clear also val[2] and return 3.
32339
32340 2015-02-24 Alan Modra <amodra@gmail.com>
32341
32342 PR target/65172
32343 * config/rs6000/rs6000.c (get_memref_parts): Only return true
32344 when *base is a reg. Handle nested plus addresses. Simplify
32345 pre_modify test.
32346
32347 2015-02-22 Max Filippov <jcmvbkbc@gmail.com>
32348
32349 * config/xtensa/xtensa.h (CONSTANT_ALIGNMENT, DATA_ALIGNMENT):
32350 use natural alignment when optimizing for size.
32351
32352 2015-02-23 Kaz Kojima <kkojima@gcc.gnu.org>
32353
32354 PR target/65153
32355 * config/sh/sh.md (movsicc_true+3): Remove peephole.
32356 * config/sh/sh-protos.h (replace_n_hard_rtx): Don't declare.
32357 * config/sh/sh.c (replace_n_hard_rtx): Remove.
32358
32359 2015-02-23 Richard Sandiford <richard.sandiford@arm.com>
32360
32361 PR fortran/63427
32362 * wide-int.cc (wi::from_mpz): Cope with unwrapped values that are
32363 too big for a wide_int. Implement missing wrapping operation.
32364
32365 2015-02-23 Oleg Endo <olegendo@gcc.gnu.org>
32366
32367 PR target/65163
32368 * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536
32369 instead of const_int 4294901760.
32370
32371 2015-02-23 Georg-Johann Lay <avr@gjlay.de>
32372
32373 * config/avr/t-avr: Fix typo in comment.
32374
32375 2015-02-21 Richard Sandiford <richard.sandiford@arm.com>
32376
32377 * doc/rtl.texi (fma): Clarify documentation.
32378
32379 2015-02-20 Aldy Hernandez <aldyh@redhat.com>
32380
32381 PR debug/58123
32382 * gimplify.c (gimplify_expr): Prefer location of TRY_FINALLY_EXPR
32383 over input_location.
32384
32385 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
32386
32387 * tree-streamer-in.c (unpack_ts_decl_common_value_fields,
32388 unpack_ts_type_common_value_fields): If ACCEL_COMPILER,
32389 restrict alignments to absolute_biggest_alignment.
32390 * config/i386/i386.c (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT):
32391 Define.
32392 * doc/tm.texi.in (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): Add.
32393 * doc/tm.texi: Regenerate.
32394 * target.def (absolute_biggest_alignment): New DEFHOOKPOD.
32395
32396 2015-02-20 Vladimir Makarov <vmakarov@redhat.com>
32397
32398 PR target/64172
32399 * ira-color.c (color_pass): Prevent splitting multi-register pseudos.
32400
32401 2015-02-20 Richard Biener <rguenther@suse.de>
32402
32403 PR tree-optimization/65136
32404 * tree-ssa-propagate.c: Include cfgloop.h.
32405 (replace_phi_args_in): Avoid replacing loop latch edge PHI
32406 arguments with constants.
32407
32408 2015-02-20 Jakub Jelinek <jakub@redhat.com>
32409 Martin Liska <mliska@suse.cz>
32410
32411 PR target/63892
32412 * ipa-icf.c (sem_function::merge): If DECL_COMDAT_GROUP (alias->decl),
32413 don't try to create_thunk if stdarg_p. If
32414 !sem_item::target_supports_symbol_aliases_p (), similarly, and try to
32415 redirect_callers if possible.
32416 (sem_item_optimizer::execute): Call unregister_hooks here...
32417 (ipa_icf_driver): ... instead of here.
32418
32419 2015-02-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
32420
32421 * config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_<mode>3):
32422 Mark operand 0 as earlyclobber in 2nd alternative.
32423 (1st define_split below *aarch64_lshr_sisd_or_int_<mode>3):
32424 Write negated shift amount into QI lowpart operand 0 and use it
32425 in the shift step.
32426 (2nd define_split below *aarch64_lshr_sisd_or_int_<mode>3): Likewise.
32427
32428 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
32429
32430 * cgraph.h (clone_function_name_1): Declare.
32431 * cgraphclones.c (clone_function_name_1): New function.
32432 (clone_function_name): Use it.
32433 * lto-partition.c: Include "stringpool.h".
32434 (must_not_rename, maybe_rewrite_identifier)
32435 (validize_symbol_for_target): New static functions.
32436 (privatize_symbol_name): Use must_not_rename.
32437 (promote_symbol): Call validize_symbol_for_target.
32438 (lto_promote_cross_file_statics): Likewise.
32439 (lto_promote_statics_nonwpa): Likewise.
32440
32441 2015-02-20 Georg-Johann Lay <avr@gjlay.de>
32442
32443 PR target/64452
32444 * config/avr/avr.md (pushhi_insn): New insn.
32445 (push<mode>1): Push virtual regs in one chunk using pushhi1_insn.
32446
32447 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
32448 Jakub Jelinek <jakub@redhat.com>
32449
32450 * tree-streamer.c (preload_common_nodes): Don't preload
32451 TI_VA_LIST* for offloading.
32452 * tree-stdarg.c (pass_stdarg::gate): Disable for ACCEL_COMPILER
32453 in_lto_p.
32454
32455 2015-02-19 John David Anglin <danlgin@gcc.gnu.org>
32456
32457 * config/pa/pa.c (pa_emit_move_sequence): Always force
32458 (const (plus (symbol) (const_int))) to const mem. Put REG_EQUAL
32459 note on insn.
32460
32461 * config/pa/pa.c (pa_reloc_rw_mask): New function.
32462 (TARGET_ASM_RELOC_RW_MASK): Define.
32463 (pa_cannot_force_const_mem): Revert previous change.
32464
32465 2015-02-19 Martin Jambor <mjmabor@suse.cz>
32466 Jan Hubicka <hubicka@ucw.cz>
32467
32468 PR ipa/65028
32469 * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation
32470 across jump functions.
32471
32472 2015-02-19 Uros Bizjak <ubizjak@gmail.com>
32473
32474 * config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols.
32475
32476 2015-02-19 Sandra Loosemore <sandra@codesourcery.com>
32477
32478 * doc/extend.texi (x86 transactional memory intrinsics): Copy-edit.
32479
32480 2015-02-19 Richard Henderson <rth@redhat.com>
32481
32482 PR middle-end/65074
32483 * varasm.c (default_binds_local_p_2): Don't test node->definition;
32484 test DECL_EXTERNAL independent of symtab_node.
32485
32486 2015-02-19 Jakub Jelinek <jakub@redhat.com>
32487
32488 PR lto/65012
32489 * varpool.c (varpool_node::get_constructor): Return early
32490 if this->lto_file_data is NULL.
32491
32492 2015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
32493
32494 * haifa-sched.c (enum rfs_decision, rfs_str): Remove RFS_DEBUG.
32495 (rank_for_schedule_debug): Update.
32496 (ready_sort): Make static. Move sorting logic to ...
32497 (ready_sort_debug, ready_sort_real): New static functions.
32498 (schedule_block): Sort both debug insns and real insns in preparation
32499 for ready list trimming. Improve debug output.
32500 * sched-int.h (ready_sort): Remove global declaration.
32501
32502 2015-02-18 Trevor Saunders <tsaunders@mozilla.com>
32503
32504 * ipa-icf.c (sem_function::equals_private): Adjust.
32505 (sem_function::bb_dict_test): Take a vec<int> * instead of
32506 auto_vec<int>.
32507 * ipa-icf.h (bb_dict_test): Likewise.
32508
32509 2015-02-18 Jakub Jelinek <jakub@redhat.com>
32510
32511 PR gcov-profile/64634
32512 * tree-eh.c (frob_into_branch_around): Fix up typos
32513 in function comment.
32514 (lower_catch): Put eh_seq resulting from EH lowering of
32515 the cleanup sequence after the cleanup rather than before it.
32516
32517 2015-02-18 Tom de Vries <tom@codesourcery.com>
32518
32519 * common.opt (fstdarg-opt): New option.
32520 * tree-stdarg.c (pass_stdarg::gate): Use flag_stdarg_opt.
32521 * doc/invoke.texi (@item Optimization Options): Add -fstdarg-opt.
32522 (@item -fstdarg-opt): New item.
32523
32524 2015-02-18 H.J. Lu <hongjiu.lu@intel.com>
32525
32526 PR target/65064
32527 * config/ia64/predicates.md (sdata_symbolic_operand): Return false
32528 for common symbols.
32529
32530 2015-02-18 Jakub Jelinek <jakub@redhat.com>
32531
32532 * config/i386/t-intelmic (mkoffload.o): Remove dependency on
32533 insn-modes.h.
32534 (ALL_HOST_OBJS): Add mkoffload.o.
32535 * config/nvptx/t-nvptx (ALL_HOST_OBJS): Likewise.
32536
32537 2015-02-18 Jan Hubicka <hubicka@ucw.cz>
32538
32539 * ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating.
32540 (compare_virtual_tables): Be smarter about skipping typeinfos;
32541 do sane output on virtual table table mismatch.
32542 (warn_odr): Be ready for forward declarations of enums;
32543 output sane info on base mismatch and virtual table mismatch.
32544 (add_type_duplicate): Fix code choosing prevailing type; do not ICE
32545 when only one type is polymorphic.
32546 (get_odr_type): Fix hashtable corruption.
32547 (dump_odr_type): Dump mangled names.
32548
32549 2015-02-18 Richard Biener <rguenther@suse.de>
32550
32551 PR tree-optimization/65063
32552 * tree-predcom.c (determine_unroll_factor): Return 1 if we
32553 have replaced looparound PHIs.
32554
32555 2015-02-18 Martin Liska <mliska@suse.cz>
32556
32557 * lto-streamer.c (lto_streamer_init): Encapsulate
32558 streamer_check_handled_ts_structures with checking macro.
32559
32560 2015-02-18 Jakub Jelinek <jakub@redhat.com>
32561
32562 PR ipa/65087
32563 * cgraphclones.c (cgraph_node::create_virtual_clone): Only copy
32564 section if !implicit_section.
32565 (cgraph_node::create_version_clone_with_body): Likewise.
32566 * trans-mem.c (ipa_tm_create_version): Likewise.
32567
32568 2015-02-18 Richard Biener <rguenther@suse.de>
32569
32570 PR tree-optimization/62217
32571 * tree-ssa-dom.c (cprop_operand): Avoid propagating copies
32572 into BIVs.
32573
32574 2015-02-18 Marek Polacek <polacek@redhat.com>
32575
32576 PR sanitizer/65081
32577 * ubsan.c (OBJSZ_MAX_OFFSET): Define.
32578 (ubsan_expand_objsize_ifn): Don't emit run-time check if the offset
32579 is in range [-16K, -1]. Don't issue run-time error if
32580 (ptr > ptr + offset).
32581
32582 2015-02-18 Thomas Schwinge <thomas@codesourcery.com>
32583
32584 * doc/install.texi (nvptx-*-none): New section.
32585 * doc/invoke.texi (Nvidia PTX Options): Likewise.
32586 * config/nvptx/nvptx.opt: Update.
32587
32588 * config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs)
32589 (access_check): New functions, copied from
32590 config/i386/intelmic-mkoffload.c.
32591 (main): For non-installed testing, look in all COMPILER_PATHs for
32592 GCC_INSTALL_NAME.
32593
32594 * config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro.
32595
32596 2015-02-18 Andrew Pinski <apinski@cavium.com>
32597 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
32598
32599 * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately):
32600 Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.
32601
32602 2015-02-17 Jan Hubicka <hubicka@ucw.cz>
32603
32604 * ipa-visibility.c (function_and_variable_visibility): Only
32605 check locality if node is not already local.
32606 * ipa-inline.c (want_inline_function_to_all_callers_p): Use
32607 call_for_symbol_and_aliases instead of
32608 call_for_symbol_thunks_and_aliases.
32609 (ipa_inline): Likewise.
32610 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
32611 first walk aliases.
32612 * ipa.c (symbol_table::remove_unreachable_nodes): Use
32613 call_for_symbol_and_aliases.
32614 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
32615 (ipa_propagate_frequency_1): Use it; use opt_for_fn
32616 (ipa_propagate_frequency): Update.
32617 (ipa_profile): Add opt_for_fn gueards.
32618
32619 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
32620
32621 * config/sh/sh.opt (mcbranch-force-delay-slot): New option.
32622 * doc/invoke.texi (SH options): Document it.
32623 * config/sh/sh.c (sh_insn_length_adjustment): Check
32624 TARGET_CBRANCH_FORCE_DELAY_SLOT instead of sh_cpu_attr == CPU_SH2E.
32625
32626 2015-02-17 H.J. Lu <hongjiu.lu@intel.com>
32627
32628 * common.opt (fipa-cp-alignment): New.
32629 * ipa-cp.c (ipcp_store_alignment_results): Check
32630 flag_ipa_cp_alignment.
32631 * opts.c (default_options_table): Enable -fipa-cp-alignment for
32632 -O2.
32633 (enable_fdo_optimizations): Set x_flag_ipa_cp_alignment.
32634 * doc/invoke.texi: Document -fipa-cp-alignment.
32635
32636 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
32637
32638 PR target/64793
32639 * config/sh/sh.md (cbranch define_delay): Set annulled true branch insn
32640 to nil. Adjust comments.
32641
32642 2015-02-17 Jan Hubicka <hubicka@ucw.cz>
32643
32644 * ipa-visibility.c (function_and_variable_visibility): Only
32645 check locality if node is not already local.
32646 * ipa-inline.c (want_inline_function_to_all_callers_p): Use
32647 call_for_symbol_and_aliases instead of
32648 call_for_symbol_thunks_and_aliases.
32649 (ipa_inline): Likewise.
32650 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
32651 first walk aliases.
32652 * ipa.c (symbol_table::remove_unreachable_nodes): Use
32653 call_for_symbol_and_aliases.
32654 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
32655 (ipa_propagate_frequency_1): Use it; use opt_for_fn
32656 (ipa_propagate_frequency): Update.
32657 (ipa_profile): Add opt_for_fn guards.
32658
32659 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
32660
32661 * config/nvptx/mkoffload.c (parse_file): Fix logic error in
32662 skipping of "strange" tokens.
32663
32664 2015-02-17 Jeff Law <law@redhat.com>
32665
32666 * tree-vrp.c (identify_jump_threads): Use last_stmt. Remove
32667 obsolete comment.
32668
32669 2015-02-17 James Greenhalgh <james.greenhalgh@arm.com>
32670
32671 * haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P
32672 as forcing a HARD_DEP between instructions, thereby
32673 disallowing rewriting to break dependencies.
32674
32675 2015-02-16 Jan Hubicka <hubicka@ucw.cz>
32676
32677 * symtab.c (symtab_node::verify_base): Verify body_removed->!definiton
32678 * lto-cgraph.c (lto_output_varpool_node): Do not keep definition of
32679 variables in boundary that have no inlitalizer encoded and are
32680 not aliases.
32681 * varasm.c (default_binds_local_p_2): External definitions do not
32682 count as definitions here.
32683
32684 2015-02-16 Jeff Law <law@redhat.com>
32685
32686 PR tree-optimization/64823
32687 * tree-vrp.c (identify_jump_threads): Handle blocks with no real
32688 statements.
32689 * tree-ssa-threadedge.c (potentially_threadable_block): Allow
32690 threading through blocks with PHIs, but no statements.
32691 (thread_through_normal_block): Distinguish between blocks where
32692 we did not process all the statements and blocks with no statements.
32693
32694 2015-02-16 Jakub Jelinek <jakub@redhat.com>
32695 James Greenhalgh <james.greenhalgh@arm.com>
32696
32697 PR ipa/64963
32698 * cgraphclones.c (cgraph_node::create_virtual_clone): Copy
32699 section if not linkonce. Fix up formatting.
32700 (cgraph_node::create_version_clone_with_body): Copy section.
32701 * trans-mem.c (ipa_tm_create_version): Likewise.
32702
32703 2015-02-16 Richard Biener <rguenther@suse.de>
32704
32705 PR tree-optimization/65077
32706 * tree-ssa-structalias.c (get_constraint_for_1): Handle
32707 IMAGPART_EXPR, REALPART_EXPR and BIT_FIELD_REF.
32708 (find_func_aliases): Allow float values to carry pointers again.
32709
32710 2015-02-16 James Greenhalgh <james.greenhalgh@arm.com>
32711
32712 * doc/install.texi (Specific): Reorder targets list to put
32713 aarch64 in alphabetical order. Add a link to aarch64*-*-*
32714 from the top menu.
32715
32716 2015-02-16 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
32717 David Edelsohn <dje.gcc@gmail.com>
32718
32719 PR target/65058
32720 * config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage
32721 mapping class to external variable or function reference.
32722 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage
32723 mapping class.
32724
32725 2015-02-16 David Eelsohn <dje.gcc@gmail.com>
32726
32727 PR target/53348
32728 * config/rs6000/rs6000.c (rs6000_declare_alias): Only use
32729 ASM_WEAKEN_DECL if defined.
32730
32731 2015-02-16 Richard Biener <rguenther@suse.de>
32732
32733 PR lto/65015
32734 * varasm.c (default_file_start): For LTO produced units
32735 emit <artificial> as file directive.
32736
32737 2015-02-16 Richard Biener <rguenther@suse.de>
32738
32739 PR tree-optimization/63593
32740 * tree-predcom.c (execute_pred_commoning_chain): Delay removing
32741 stmts and releasing SSA names until...
32742 (execute_pred_commoning): ... after processing all chains.
32743
32744 2015-02-16 Jan Hubicka <hubicka@ucw.cz>
32745
32746 PR ipa/65059
32747 * ipa-comdats.c (ipa_comdats): Do not categorize thunks to
32748 external functions.
32749
32750 2015-02-15 Sandra Loosemore <sandra@codesourcery.com>
32751
32752 * doc/bugreport.texi: Adjust section titles throughout the file
32753 to use "Title Case".
32754 * doc/extend.texi: Likewise.
32755 * doc/gcov.texi: Likewise.
32756 * doc/implement-c.texi: Likewise.
32757 * doc/implement-cxx.texi: Likewise.
32758 * doc/invoke.texi: Likewise.
32759 * doc/objc.texi: Likewise.
32760 * doc/standards.texi: Likewise.
32761 * doc/trouble.texi: Likewise.
32762
32763 2015-02-15 Jan Hubicka <hubicka@ucw.cz>
32764
32765 * cgraph.h (symtab_node::has_aliases_p): Simplify.
32766 (symtab_node::call_for_symbol_and_aliases): Use has_aliases_p
32767 * tree.c (lookup_binfo_at_offset): Make static.
32768 (get_binfo_at_offset): Do not shadow offset; add explanatory
32769 comment.
32770
32771 2015-02-15 John David Anglin <danglin@gcc.gnu.org>
32772
32773 * config/pa/pa.c (pa_secondary_reload): Request a secondary reload
32774 for all floading point loads and stores except those using a register
32775 index address.
32776 * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand
32777 to a register.
32778
32779 2015-02-14 Jan Hubicka <hubicka@ucw.cz>
32780
32781 * ipa-inline-analysis.c (growth_data): Add uninlinable field.
32782 (do_estimate_growth_1): Record if any uninlinable edge was seen.
32783 (estimate_growth): Handle uninlinable edges correctly.
32784 (check_callers): New.
32785 (growth_likely_positive): Handle aliases correctly.
32786
32787 2015-02-14 Jan Hubicka <hubicka@ucw.cz>
32788
32789 * ipa-chkp.c: Use iterate_direct_aliases.
32790 * symtab.c (resolution_used_from_other_file_p): Move inline.
32791 (symtab_node::create_reference): Fix formating.
32792 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
32793 (symtab_node::iterate_reference): Move inline.
32794 (symtab_node::iterate_referring): Move inline.
32795 (symtab_node::iterate_direct_aliases): Move inline.
32796 (symtab_node::used_from_object_file_p_worker): Inline into ...
32797 (symtab_node::used_from_object_file_p): ... this one; move inline.
32798 (symtab_node::call_for_symbol_and_aliases): Move inline;
32799 use iterate_direct_aliases.
32800 (symtab_node::call_for_symbol_and_aliases_1): New method.
32801 (cgraph_node::call_for_symbol_and_aliases): Move inline;
32802 use iterate_direct_aliases.
32803 (cgraph_node::call_for_symbol_and_aliases_1): New method.
32804 (varpool_node::call_for_node_and_aliases): Rename to ...
32805 (varpool_node::call_for_symbol_and_aliases): ... this one; Move inline;
32806 use iterate_direct_aliases.
32807 (varpool_node::call_for_symbol_and_aliases_1): New method.
32808 * ipa.c (ipa_single_use): Use iterate_direct_aliases.
32809 (ipa_discover_readonly_nonaddressable_var): Update.
32810 * ipa-devirt.c: Fix formating.
32811 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p):
32812 Move inline.
32813 (cgraph_node::call_for_symbol_and_aliases): Move inline.
32814 (cgraph_node::call_for_symbol_and_aliases_1): New function..
32815 * cgraph.h (used_from_object_file_p_worker): Remove.
32816 (resolution_used_from_other_file_p): Move inline.
32817 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
32818 (symtab_node::iterate_reference): Move inline.
32819 (symtab_node::iterate_referring): Move inline.
32820 (symtab_node::iterate_direct_aliases): Move inline.
32821 (symtab_node::used_from_object_file_p_worker): Inline into ...
32822 (symtab_node::used_from_object_file_p): Move inline.
32823 * tree-emutls.c (ipa_lower_emutls): Update.
32824 * varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method.
32825 (varpool_node::call_for_node_and_aliases): Remove.
32826
32827 2015-02-14 Jakub Jelinek <jakub@redhat.com>
32828
32829 PR tree-optimization/62209
32830 * tree-ssa-reassoc.c (update_range_test): If stmt is a PHI and
32831 op == range->exp, insert seq and gimplified code after labels
32832 instead of after the phi.
32833
32834 2015-02-13 Jeff Law <law@redhat.com>
32835
32836 PR bootstrap/65060
32837 Revert my change for tree-optimization/64823.
32838
32839 2015-02-13 Jakub Jelinek <jakub@redhat.com>
32840
32841 PR tree-optimization/65053
32842 * tree-ssa-phiopt.c (value_replacement): When moving assign before
32843 cond, either reset VR on lhs or set it to phi result VR.
32844
32845 2015-02-13 Jeff Law <law@redhat.com>
32846
32847 PR tree-optimization/64823
32848 * tree-vrp.c (identify_jump_threads): Handle blocks with no statements.
32849 * tree-ssa-threadedge.c (potentially_threadable_block): Allow
32850 threading through blocks with PHIs, but no statements.
32851 (thread_through_normal_block): Distinguish between blocks where
32852 we did not process all the statements and blocks with no statements.
32853
32854 PR rtl-optimization/47477
32855 * match.pd (convert (plus/minus (convert @0) (convert @1): New
32856 simplifier to narrow arithmetic.
32857
32858 2015-02-13 Jan Hubicka <hubicka@ucw.cz>
32859
32860 PR ipa/65028
32861 * ipa-prop.c (update_indirect_edges_after_inlining): Do not drop
32862 polymorphic call info when type is not known to be preserved.
32863
32864 2015-02-13 Maritn Jambor <mjambor@suse.cz>
32865
32866 PR ipa/65028
32867 * ipa-inline-transform.c (mark_all_inlined_calls_cdtor): New function.
32868 (inline_call): Use it.
32869
32870 2015-02-13 Thomas Schwinge <thomas@codesourcery.com>
32871
32872 * config/nvptx/offload.h (ACCEL_COMPILER_acc_device): Define to
32873 GOMP_DEVICE_NVIDIA_PTX.
32874
32875 2015-02-13 Jakub Jelinek <jakub@redhat.com>
32876
32877 PR ipa/65034
32878 * stmt.c (emit_case_nodes): Use void_type_node instead of
32879 NULL_TREE as LABEL_DECL type.
32880
32881 2015-02-13 John David Anglin <danglin@gcc.gnu.org>
32882
32883 * config/pa/constraints.md: Change "Q" and "T" constraints to memory
32884 constraints.
32885 * config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant
32886 symbolic references to data to be forced to constant memory on the
32887 SOM target.
32888
32889 2015-02-13 Ilya Enkovich <ilya.enkovich@intel.com>
32890
32891 PR tree-optimization/65002
32892 * tree-cfg.c (pass_data_fixup_cfg): Don't update
32893 SSA on start.
32894 * tree-sra.c (some_callers_have_no_vuse_p): New.
32895 (ipa_early_sra): Reject functions whose callers
32896 assume function is read only.
32897
32898 2015-02-13 Richard Biener <rguenther@suse.de>
32899
32900 PR lto/65015
32901 * dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name
32902 for LTO produced CUs.
32903
32904 2015-02-13 Bin Cheng <bin.cheng@arm.com>
32905
32906 PR tree-optimization/64705
32907 * tree-ssa-loop-niter.h (expand_simple_operations): New parameter.
32908 * tree-ssa-loop-niter.c (expand_simple_operations): New parameter.
32909 * tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New.
32910 (find_bivs, find_givs_in_stmt_scev): Pass new argument to
32911 expand_simple_operations.
32912
32913 2015-02-13 H.J. Lu <hongjiu.lu@intel.com>
32914 Richard Henderson <rth@redhat.com>
32915
32916 PR rtl/32219
32917 * cgraphunit.c (cgraph_node::finalize_function): Set definition
32918 before notice_global_symbol.
32919 (varpool_node::finalize_decl): Likewise.
32920 * varasm.c (default_binds_local_p_2): Rename from
32921 default_binds_local_p_1, add weak_dominate argument. Use direct
32922 returns instead of assigning to local variable. Unify varpool and
32923 cgraph paths via symtab_node. Reject undef weak variables before
32924 testing visibility. Reorder tests for simplicity.
32925 (default_binds_local_p): Use default_binds_local_p_2.
32926 (default_binds_local_p_1): Likewise.
32927 (decl_binds_to_current_def_p): Unify varpool and cgraph paths
32928 via symtab_node.
32929 (default_elf_asm_output_external): Emit visibility when specified.
32930
32931 2015-02-13 Alan Modra <amodra@gmail.com>
32932
32933 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in
32934 code setting up r11 for out-of-line fp restore.
32935
32936 2015-02-13 Eric Botcazou <ebotcazou@adacore.com>
32937
32938 * config/visium/visium.opt (msv-mode): Add RejectNegative and Report.
32939 (muser-mode): Likewise.
32940
32941 2015-02-13 Alan Modra <amodra@gmail.com>
32942
32943 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry
32944 or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.
32945
32946 2015-02-12 David Howells <dhowells@redhat.com>
32947
32948 * tree-sra.c (dump_dereferences_table): Avoid -Wformat-security
32949 warning.
32950 * tree-ssa-uninit.c (dump_predicates): Likewise.
32951 * opts.c (print_filtered_help): Likewise.
32952
32953 2015-02-12 Jakub Jelinek <jakub@redhat.com>
32954
32955 * dwarf2out.c (output_die): Use "%s", name instead of name to
32956 avoid -Wformat-security warning.
32957
32958 * dwarf2asm.c (dw2_asm_output_vms_delta): Only define
32959 if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
32960 * dwarf2out.c (output_die): Use dw2_asm_output_vms_delta
32961 only if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
32962
32963 2015-02-12 Jason Merrill <jason@redhat.com>
32964
32965 * common.opt (-flifetime-dse): New.
32966
32967 2015-02-12 Jakub Jelinek <jakub@redhat.com>
32968
32969 PR sanitizer/65019
32970 * ubsan.c (ubsan_expand_objsize_ifn): Always return true.
32971
32972 PR tree-optimization/65014
32973 * fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR,
32974 use original second operand of arg0 or arg1 instead of
32975 that adjusted by STRIP_NOPS.
32976
32977 2015-02-11 Jeff Law <law@redhat.com>
32978
32979 PR target/63347
32980 * haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn
32981 that needs to be queued, just queue it for a single cycle.
32982
32983 2015-02-11 Jan Hubicka <hubicka@ucw.cz>
32984
32985 * ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing
32986 bodies of thunks; comment on why.
32987 * symtab.c (symtab_node::get_partitioning_class): Aliases of extern
32988 symbols are extern.
32989
32990 2015-02-11 Richard Henderson <rth@redhat.com>
32991
32992 PR sanitize/65000
32993 * tree-eh.c (mark_reachable_handlers): Mark source and destination
32994 regions of __builtin_eh_copy_values.
32995
32996 2015-02-11 Jakub Jelinek <jakub@redhat.com>
32997
32998 PR middle-end/65003
32999 * varasm.c (place_block_symbol): Assert that DECL_RTL of the
33000 ultimate alias is MEM with SYMBOL_REF satisfying
33001 SYMBOL_REF_HAS_BLOCK_INFO_P as its operand. Don't pass the MEM
33002 to place_block_symbol, but instead pass the SYMBOL_REF operand of it.
33003
33004 2015-02-11 Thomas Schwinge <thomas@codesourcery.com>
33005
33006 * config/nvptx/mkoffload.c: Include "diagnostic.h" instead of
33007 "diagnostic-core.h".
33008 (main): Initialize progname, and call diagnostic_initialize.
33009
33010 * config/nvptx/mkoffload.c (process): Refer to __OFFLOAD_TABLE__
33011 instead of __OPENMP_TARGET__.
33012
33013 * config/nvptx/mkoffload.c: Include "gomp-constants.h".
33014 (process): Use its GOMP_DEVICE_NVIDIA_PTX instead of (wrongly)
33015 hard-coding PTX_ID.
33016
33017 2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
33018
33019 * doc/sourcebuild.texi (pie_enabled): Document.
33020
33021 2015-02-11 Martin Liska <mliska@suse.cz>
33022
33023 PR ipa/64813
33024 * cgraphunit.c (cgraph_node::expand_thunk): Do not create
33025 a return value for call to a function that is noreturn.
33026
33027 2015-02-11 Richard Biener <rguenther@suse.de>
33028
33029 PR lto/65015
33030 * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list
33031 and -fresolution.
33032
33033 2015-02-11 Andrew Pinski <apinski@cavium.com>
33034
33035 PR target/64893
33036 * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
33037 Change the first argument type to size_type_node and add another
33038 size_type_node.
33039 (aarch64_simd_expand_builtin): Handle the new argument to
33040 AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather
33041 print an out when the first two arguments are not
33042 nonzero integer constants.
33043 * config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK):
33044 Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi.
33045
33046 2015-02-11 Jakub Jelinek <jakub@redhat.com>
33047
33048 PR target/61925
33049 * config/i386/i386.c (ix86_reset_to_default_globals): Removed.
33050 (ix86_reset_previous_fndecl): Restore it here, unconditionally.
33051 (ix86_set_current_function): Rewritten.
33052 (ix86_add_new_builtins): Temporarily clear current_target_pragma
33053 when creating builtin fndecls.
33054
33055 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
33056
33057 PR ipa/65005
33058 * ipa-visibility.c (cgraph_node::non_local_p): Turn into static
33059 function.
33060 * symtab.c (symtab_node::verify_base): Remove check that non-definitions
33061 have no comdat group.
33062 * lto-cgraph.c (lto_output_node): Always output thunk and alias info.
33063 (lto_output_varpool_node): Always output alias info.
33064 (output_refs): Output refs of boundary aliases, too.
33065 (compute_ltrans_boundary): Add alias and thunk target into boundaries.
33066 (output_symtab): Output call eges in thunks in boundary.
33067 (get_alias_symbol): Remove.
33068 (input_node, input_varpool_node): Do not special case weakrefs.
33069 * ipa.c (symbol_table::remove_unreachable_nodes): Do not remove
33070 alias and thunks targets in the boundary; do not take removed symbols
33071 from their comdat groups.
33072 * cgraph.c (cgraph_node::local_info): Look through aliases and thunks.
33073 (cgraph_node::global_info): Remove.
33074 (cgraph_node::rtl_info): Look through aliases and thunks.
33075 * cgrpah.h (global_info): Remove.
33076 (non_local_p): Remove.
33077
33078 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
33079 Sandra Loosemore <sandra@codesourcery.com>
33080
33081 * doc/invoke.texi (x86 Options [-masm=dialect]): Add cross-references
33082 to inline asm. List dialects in proper order.
33083
33084 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
33085 Sandra Loosemore <sandra@codesourcery.com>
33086
33087 * doc/extend.texi (Loop-Specific Pragmas): Fix grammar error.
33088
33089 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
33090
33091 * doc/extend.texi (Symbol-Renaming Pragmas): Restore (slightly
33092 modified) reference to Solaris.
33093
33094 2015-02-10 Sandra Loosemore <sandra@codesourcery.com>
33095
33096 * doc/extend.texi (Extended Asm): Fix typos.
33097
33098 2015-02-10 Jakub Jelinek <jakub@redhat.com>
33099
33100 PR sanitizer/65004
33101 * ubsan.c (ubsan_expand_vptr_ifn): Always return true.
33102
33103 2015-02-10 Oleg Endo <olegendo@gcc.gnu.org>
33104
33105 PR target/64661
33106 * config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
33107 TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
33108 TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses.
33109 * config/sh/constraints.md (Ara, Add): New constraints.
33110 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New
33111 predicates.
33112 (atomic_compare_and_swap<mode>, atomic_exchange<mode>): Use
33113 atomic_mem_operand_0. Don't use force_reg on the memory address.
33114 (atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and
33115 Sra constraint. Convert to insn_and_split. Add workaround for
33116 PR 64974.
33117 (atomic_compare_and_swap<mode>_hard): Copy to
33118 atomic_compare_and_swap<mode>_hard_1. Convert to insn_and_split.
33119 Use atomic_mem_operand_0 predicate.
33120 (atomic_compare_and_swap<mode>_soft_gusa,
33121 atomic_exchange<mode>_soft_gusa): Use atomic_mem_operand_0 predicate and
33122 AraAdd constraints.
33123 (atomic_compare_and_swap<mode>_soft_tcb,
33124 atomic_compare_and_swap<mode>_soft_imask,
33125 atomic_exchange<mode>_soft_tcb, atomic_exchange<mode>_soft_imask): Use
33126 atomic_mem_operand_0 predicate and SraSdd constraints.
33127 (atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra
33128 constraint.
33129 (atomic_exchange<mode>_hard): Copy to atomic_exchange<mode>_hard_1.
33130 Convert to insn_and_split. Use atomic_mem_operand_0 predicate.
33131 (atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>,
33132 atomic_<fetchop_name>_fetch<mode>): Use atomic_mem_operand_1. Don't use
33133 force_reg on the memory address.
33134 (atomic_fetch_<fetchop_name>si_hard, atomic_fetch_notsi_hard,
33135 atomic_fetch_nandsi_hard, atomic_<fetchop_name>_fetchsi_hard,
33136 atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use
33137 atomic_mem_operand_1 predicate and Sra constraint.
33138 (atomic_fetch_<fetchop_name><mode>_hard): Copy to
33139 atomic_fetch_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
33140 Use atomic_mem_operand_1 predicate.
33141 (atomic_<fetchop_name><mode>_hard): Copy to
33142 atomic_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
33143 Use atomic_mem_operand_1 predicate.
33144 (atomic_fetch_nand<mode>_hard): Copy to atomic_fetch_nand<mode>_hard_1.
33145 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
33146 (atomic_nand<mode>_hard): Copy to atomic_nand<mode>_hard_1. Convert to
33147 insn_and_split. Use atomic_mem_operand_1 predicate.
33148 (atomic_<fetchop_name>_fetch<mode>_hard): Copy to
33149 atomic_<fetchop_name>_fetch<mode>_hard_1. Convert to insn_and_split.
33150 Use atomic_mem_operand_1 predicate.
33151 (atomic_nand_fetch<mode>_hard): Copy to atomic_nand_fetch<mode>_hard_1.
33152 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
33153 (atomic_fetch_not<mode>_hard, atomic_not_fetch<mode>_hard): Replace mems
33154 in generated insn with original mem operand before emitting the insn.
33155 (atomic_fetch_<fetchop_name><mode>_soft_gusa,
33156 atomic_fetch_not<mode>_soft_gusa, atomic_fetch_nand<mode>_soft_gusa,
33157 atomic_<fetchop_name>_fetch<mode>_soft_gusa,
33158 atomic_not_fetch<mode>_soft_gusa, atomic_nand_fetch<mode>_soft_gusa):
33159 Use atomic_mem_operand_1 predicate and AraAdd constraints.
33160 (atomic_fetch_<fetchop_name><mode>_soft_tcb,
33161 atomic_<fetchop_name><mode>_soft_tcb, atomic_fetch_not<mode>_soft_tcb,
33162 atomic_not<mode>_soft_tcb, atomic_fetch_<fetchop_name><mode>_soft_imask,
33163 atomic_fetch_not<mode>_soft_imask, atomic_fetch_nand<mode>_soft_tcb,
33164 atomic_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask,
33165 atomic_<fetchop_name>_fetch<mode>_soft_tcb,
33166 atomic_not_fetch<mode>_soft_tcb,
33167 atomic_<fetchop_name>_fetch<mode>_soft_imask,
33168 atomic_not_fetch<mode>_soft_imask, atomic_nand_fetch<mode>,
33169 atomic_nand_fetch<mode>_soft_tcb, atomic_nand_fetch<mode>_soft_imask):
33170 Use atomic_mem_operand_1 predicate and SraSdd constraints.
33171
33172 2015-02-10 Uros Bizjak <ubizjak@gmail.com>
33173
33174 * config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2
33175 and 3 earlyclobber operands.
33176
33177 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
33178
33179 * common.opt (fstack-reuse): Mark as optimization.
33180
33181 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
33182
33183 PR ipa/64982
33184 * cgraphunit.c (cgraph_node::expand_thunk): Look for stdarg thunks.
33185
33186 2015-02-10 Trevor Saunders <tsaunders@mozilla.com>
33187
33188 PR tree-optimization/64326
33189 * cfghooks.c (make_forwarder_block): Cap frequency of created block.
33190
33191 2015-02-10 Rainer Emrich <rainer@emrich-ebersheim.de>
33192
33193 PR gcov-profile/61889
33194 * gcov-tool.c: Remove wrong #if !defined(_WIN32)
33195
33196 2015-02-10 Richard Biener <rguenther@suse.de>
33197
33198 PR tree-optimization/64995
33199 * tree-ssa-sccvn.c (set_ssa_val_to): Assert that the
33200 value we use is final.
33201 (visit_reference_op_store): Always valueize op.
33202 (visit_use): Properly valueize vuses.
33203
33204 2015-02-10 Richard Biener <rguenther@suse.de>
33205
33206 PR tree-optimization/64909
33207 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly
33208 pass a scalar-stmt count estimate to the cost model.
33209 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
33210
33211 2015-02-10 Alexander Monakov <amonakov@ispras.ru>
33212
33213 * doc/invoke.texi (-fvar-tracking-assignments): Clarify that VTA is
33214 enabled by default together with var-tracking.
33215
33216 2015-02-10 Nick Clifton <nickc@redhat.com>
33217
33218 * config/rl78/rl78.c: Remove DIV attribute code accidentally
33219 included in previous rl78 commit.
33220
33221 2015-02-10 Richard Biener <rguenther@suse.de>
33222
33223 * tree-streamer.h (streamer_read_tree_bitfields): Adjust.
33224 * tree-streamer-in.c (streamer_read_tree_bitfields): Do not
33225 return the bitpack.
33226
33227 2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
33228
33229 PR gcov-profile/61889
33230 * config.in: regenerate.
33231 * configure.in: Likewise.
33232 * configure.ac: Check for ftw.h.
33233 * gcov-tool.c: Check for ftw.h before using nftw.
33234
33235 2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
33236
33237 PR lto/64076
33238 * ipa-visibility.c (update_visibility_by_resolution_info): Only
33239 assert when not in lto mode.
33240
33241 2015-02-09 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
33242
33243 * ira-color.c (setup_left_conflict_sizes_p): Simplify
33244 initialization/assignment of conflict_size.
33245
33246 2015-02-09 Jan Hubicka <hubicka@ucw.cz>
33247
33248 PR ipa/64978
33249 * ipa-cp.c (gather_caller_stats): Skip thunks.
33250 (propagate_constants_topo): Skip aliases.
33251
33252 2015-02-09 Kaz Kojima <kkojima@gcc.gnu.org>
33253
33254 PR target/64761
33255 * config/sh/sh.c (sh_option_override): Don't change
33256 -freorder-blocks-and-partition to -freorder-blocks even when
33257 unwinding is enabled.
33258 (sh_can_follow_jump): Return false if the followee jump is
33259 a crossing jump when -freorder-blocks-and-partition is specified.
33260 * config/sh/sh.md (*jump_compact_crossing): New insn.
33261
33262 2015-02-09 Joern Rennecke <joern.rennecke@embecosm.com>
33263 Kaz Kojima <kkojima@gcc.gnu.org>
33264
33265 PR target/64761
33266 * config/sh/sh-protos.h (sh_can_redirect_branch): Don't declare.
33267 * config/sh/sh.c (TARGET_CAN_FOLLOW_JUMP): Redefine.
33268 (sh_can_redirect_branch): Rename to ...
33269 (sh_can_follow_jump): ... this. Constify argument types.
33270 * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): Don't define.
33271 * doc/tm.texi.in (MD_CAN_REDIRECT_BRANCH): Remove documentation.
33272 * reorg.c (steal_delay_list_from_target): Use targetm.can_follow_jump.
33273 * doc/tm.texi: Regenerate.
33274
33275 2015-02-09 Jakub Jelinek <jakub@redhat.com>
33276
33277 PR sanitizer/64981
33278 * builtins.c (expand_builtin): Call targetm.expand_builtin
33279 for BUILT_IN_MD builtins regardless of asan_intercepted_p.
33280
33281 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
33282
33283 PR ipa/61548
33284 * tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS.
33285
33286 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
33287
33288 PR ipa/63566
33289 * ipa-icf.c (set_local): New function.
33290 (sem_function::merge): Use it.
33291
33292 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
33293
33294 * ipa-devirt.c (odr_types_equivalent_p): Fix formating.
33295 (add_type_duplicate): Fix comparison of BINFOs.
33296
33297 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
33298
33299 * ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE
33300 on getting VOID pointer.
33301
33302 2015-02-09 Jakub Jelinek <jakub@redhat.com>
33303
33304 PR target/64979
33305 * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for
33306 va_list escapes.
33307
33308 2015-02-09 Richard Biener <rguenther@suse.de>
33309
33310 * genmatch.c (replace_id): Copy expr_type.
33311
33312 2015-02-09 Richard Biener <rguenther@suse.de>
33313
33314 * tree-streamer.h (streamer_pack_tree_bitfields): Remove.
33315 (streamer_write_tree_bitfields): Declare.
33316 * tree-streamer-in.c (unpack_ts_base_value_fields): Inline,
33317 properly unpack padding.
33318 (unpack_value_fields): Inline ...
33319 (streamer_read_tree_bitfields): ... here.
33320 * tree-streamer-out.c (pack_ts_base_value_fields): Inline
33321 and properly add padding bits.
33322 (streamer_pack_tree_bitfields): Fold into ...
33323 (streamer_write_tree_bitfields): ... this new function,
33324 exposing the bitpack object.
33325 * lto-streamer-out.c (lto_write_tree_1): Call
33326 streamer_write_tree_bitfields.
33327
33328 2015-02-09 Richard Biener <rguenther@suse.de>
33329
33330 PR tree-optimization/54000
33331 * tree-ssa-looo-ivopts.c: Include tree-vectorizer.h.
33332 (struct ivopts_data): Add loop_loc member.
33333 (tree_ssa_iv_optimize_loop): Dump loop location.
33334 (create_new_ivs): Likewise, also dump number of IVs generated.
33335
33336 2015-02-09 Martin Liska <mliska@suse.cz>
33337
33338 * ipa-icf.c (sem_item_optimizer::register_hooks): Register hooks
33339 just if not yet registered.
33340 (ipa_icf_generate_summary): Register callgraph hooks.
33341
33342 2015-02-08 Andrew Pinski <apinski@cavium.com>
33343
33344 * config/aarch64/aarch64.c (gty_dummy): Delete.
33345
33346 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
33347
33348 PR ipa/63566
33349 * ipa-visibility.c (cgraph_node::non_local_p): Accept aliases.
33350 (cgraph_node::local_p): Remove thunk related FIXME.
33351
33352 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
33353
33354 PR ipa/63566
33355 * i386.c (ix86_function_regparm): Look through aliases to see if callee
33356 is local and optimized.
33357 (ix86_function_sseregparm): Likewise; also use target's SSE math
33358 settings; error out instead of silently generating wrong code
33359 on mismatches.
33360 (init_cumulative_args): Look through aliases.
33361
33362 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
33363
33364 PR ipa/63566
33365 * ipa-split.c (execute_split_functions): Split if function has aliases.
33366
33367 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
33368
33369 PR ipa/63566
33370 * cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is
33371 aliases before trying to expand it.
33372 (cgraph_node::expand_thunk): Fix formating.
33373
33374 2015-02-07 Sandra Loosemore <sandra@codesourcery.com>
33375
33376 * doc/extend.texi (Function Attributes [naked]): Copy-edit.
33377 (Using Assembly Language with C): Expand introduction.
33378 (Basic Asm): Copy-edit. Add more information about uses of
33379 basic asm.
33380 (Extended Asm): Copy-edit. Document new escape syntax and
33381 %l[label] syntax.
33382 (Global Reg Vars): Copy-edit.
33383 (Local Reg Vars): Likewise.
33384
33385 2015-02-06 David Edelsohn <dje.gcc@gmail.com>
33386
33387 PR debug/2714
33388 PR bootstrap/64256
33389 * xcoffout.h (DBX_CONTIN_LENGTH): Define as 16384.
33390 (DBX_CONTIN_CHAR): Define.
33391
33392 2015-02-06 Sebastian Pop <s.pop@samsung.com>
33393 Brian Rzycki <b.rzycki@samsung.com>
33394
33395 PR tree-optimization/64878
33396 * tree-ssa-threadedge.c: Include tree-ssa-loop.h.
33397 (fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi.
33398 Stop recursion at loop phi nodes after having visited a loop phi node.
33399
33400 2015-02-06 Jakub Jelinek <jakub@redhat.com>
33401
33402 * toplev.c (process_options): Change flag_ipa_ra before creating
33403 optimization_{default,current}_node.
33404
33405 PR ipa/64896
33406 * cgraphunit.c (cgraph_node::expand_thunk): If
33407 restype is not is_gimple_reg_type nor the thunk_fndecl
33408 returns aggregate_value_p, set restmp to a temporary variable
33409 instead of resdecl.
33410
33411 2015-02-06 Vladimir Makarov <vmakarov@redhat.com>
33412
33413 * lra.c (lra_emit_add): Fix a typo in using disp instead of base.
33414
33415 2015-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
33416
33417 PR target/64205
33418 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
33419 add a general secondary reload handler for SDmode, unless we have
33420 both read/write support for SDmode.
33421
33422 2015-02-06 Jakub Jelinek <jakub@redhat.com>
33423
33424 PR middle-end/64937
33425 * dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags):
33426 Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT
33427 or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't
33428 1 before, push it to abstract_vec.
33429 (dwarf2out_abstract_function): Adjust caller. Don't call
33430 set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or
33431 DECL_ABSTRACT_P flags for all abstract_vec elts.
33432
33433 2015-02-06 Renlin Li <renlin.li@arm.com>
33434
33435 * tree-ssa-forwprop.c (execute): Keep location info while rewrite
33436 complex gimple.
33437 * tree-ssa.c (execute_update_addresses_taken): Likewise.
33438
33439 2015-02-06 Jeff Law <law@redhat.com>
33440
33441 PR target/64889
33442 * config/h8300/h8300.c (push): New argument "in_prologue".
33443 Pass "in_prologue" along to "F".
33444 (h8300_push_pop): Corresponding changes.
33445 (h8300_expand_prologue): Likewise.
33446 (h8300_swap_into_er6): Likewise. Do not set RTX_FRAME_RELATED_P.
33447
33448 2015-02-06 Jakub Jelinek <jakub@redhat.com>
33449
33450 PR rtl-optimization/64957
33451 PR debug/64817
33452 * simplify-rtx.c (simplify_binary_operation_1): Use ~cval for
33453 IOR rather than for AND.
33454
33455 2015-02-06 Eric Botcazou <ebotcazou@adacore.com>
33456
33457 PR target/62631
33458 * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs
33459 of shift-add and (add + shift) operations. Rename local variable.
33460
33461 2015-02-05 Jeff Law <law@redhat.com>
33462
33463 PR target/17306
33464 * config/h8300/constraints.md (U): Correctly dectect
33465 "eightbit_data" memory addresses.
33466 * config/h8300/h8300.c (eightbit_constant_address_p): Also
33467 handle (const (plus (symbol_ref (x)))) where x is declared
33468 as an 8-bit data memory address.
33469 * config/h8300/h8300.md (call, call_value): Correctly detect
33470 "funcvec" functions.
33471
33472 PR target/43264
33473 * config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by
33474 24 to 28 bits for the H8/300.
33475
33476 2015-02-06 Alan Modra <amodra@gmail.com>
33477
33478 PR target/64876
33479 * config/rs6000/rs6000.c (chain_already_loaded): New function.
33480 (rs6000_call_aix): Use it.
33481
33482 2015-02-05 Jan Hubicka <hubicka@ucw.cz>
33483
33484 * ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds
33485 check.
33486
33487 2015-02-05 Joern Rennecke <joern.rennecke@embecosm.com>
33488
33489 * config/h8300/constraints.md ("U" constraint): Use strict
33490 variant of REG_OK_FOR_BASE_P after reload has started.
33491
33492 2015-02-04 Mantas Mikaitis <mantas.mikaitis@arm.com>
33493
33494 * config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition,
33495 define to zero if !TARGET_NEON.
33496 (TARGET_ARM_FP): Added !TARGET_SOFT_FLOAT into conditional definition.
33497
33498 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
33499 Trevor Saunders <tsaunders@mozilla.com>
33500
33501 PR ipa/61548
33502 * tree-emultls.c (new_emutls_decl): Resolve alias after creating it.
33503
33504 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
33505
33506 PR ipa/61548
33507 * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue
33508 when removing varpool nodes.
33509
33510 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
33511
33512 PR ipa/61548
33513 * varpool.c (varpool_node::remove): Fix order of variables.
33514
33515 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
33516
33517 PR ipa/64686
33518 * ipa-inline.c (inline_small_functions): Fix ordering issue between
33519 speculation resolution and key updates.
33520
33521 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
33522
33523 * ipa-prop.c (update_indirect_edges_after_inlining): By more careful
33524 about not letting any speculative edges unupdated.
33525
33526 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
33527
33528 PR gcov/64123
33529 * gcov-io.c (gcov_var): Export.
33530
33531 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
33532
33533 PR middle-end/64922
33534 * ipa-prop.c (update_indirect_edges_after_inlining): Correctly update
33535 edges that become speculative.
33536
33537 2015-02-04 Jakub Jelinek <jakub@redhat.com>
33538
33539 * dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03
33540 or DW_LANG_Fortran08.
33541 (lower_bound_default): Return 1 for DW_LANG_Fortran03 or
33542 DW_LANG_Fortran08.
33543 (gen_compile_unit_die): Handle "GNU Fortran2003" and
33544 "GNU Fortran2008" language strings.
33545 * dbxout.c (get_lang_number): Use lang_GNU_Fortran.
33546 * langhooks.h (lang_GNU_Fortran): New prototype.
33547 * langhooks.c (lang_GNU_Fortran): New function.
33548 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
33549 lang_GNU_Fortran.
33550
33551 2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
33552
33553 * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error.
33554 (RTX_OK_FOR_OLO10_P): Likewise.
33555
33556 2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
33557
33558 * tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset.
33559
33560 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
33561
33562 PR middle-end/64922
33563 * gimple.c: Include gimple-ssa.h.
33564 (maybe_remove_unused_call_args): New function.
33565 * gimple.h (maybe_remove_unused_call_args): Declare.
33566 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it.
33567 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
33568 * gimple-fold.c (gimple_fold_call): Likewise.
33569
33570 2015-02-04 H.J. Lu <hongjiu.lu@intel.com>
33571
33572 PR rtl-optimization/64905
33573 * lra-eliminations.c (setup_can_eliminate): Clear hard frame
33574 pointer alignment if it isn't needed.
33575
33576 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
33577
33578 * config/aarch64/aarch64-cores.def: Add cortex-a72 and
33579 cortex-a72.cortex-a53.
33580 * config/aarch64/aarch64-tune.md: Regenerate.
33581 * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72".
33582
33583 2015-02-04 Nick Clifton <nickc@redhat.com>
33584
33585 * config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs
33586 inside a MEM.
33587
33588 2015-02-04 Jakub Jelinek <jakub@redhat.com>
33589
33590 * builtins.def (DEF_BUILTIN_CHKP): Define if not defined.
33591 (DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine.
33592 (DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead
33593 of DEF_BUILTIN.
33594 (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT,
33595 BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use
33596 DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN.
33597 (BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK,
33598 BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK,
33599 BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use
33600 DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN.
33601 * tree-core.h (enum built_in_function): In between
33602 BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values
33603 for builtins that use DEF_BUILTIN_CHKP macro.
33604
33605 2015-02-04 Alexandre Oliva <aoliva@redhat.com>
33606
33607 PR debug/64817
33608 * cfgexpand.c (expand_debug_expr): Compute unsignedp from
33609 operands for tcc_comparison exprs. Fix typos.
33610
33611 PR debug/64817
33612 * simplify-rtx.c (simplify_binary_operation_1): Simplify one
33613 of two XORs that have an intervening AND or IOR.
33614
33615 PR debug/64817
33616 * simplify-rtx.c (simplify_binary_operation_1): Rewrite
33617 simplification of XOR of AND to not allocate new rtx before
33618 committing to a simplification.
33619
33620 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
33621
33622 * config/aarch64/aarch64-ldpstp.md: Use std::swap instead of
33623 manual swaps in all peepholes.
33624
33625 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
33626
33627 * config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead
33628 of manual swapping implementation.
33629 (aarch64_expand_vec_perm_const_1): Likewise.
33630
33631 2015-02-04 James Greenhalgh <james.greenhalgh@arm.com>
33632
33633 * config/aarch64/aarch64.c (NAMED_PARAM): Delete it.
33634 (generic_addrcost_table): Remove NAMED_PARAM.
33635 (cortexa57_addrcost_table): Likewise.
33636 (xgene1_addrcost_table): Likewise.
33637 (generic_regmove_table): Likewise.
33638 (cortexa53_regmove_table): Likewise.
33639 (xgene1_regmove_table): Likewise.
33640 (generic_vector_table): Likewise.
33641 (cortexa57_vector_table): Likewise.
33642 (xgene1_vector_table): Likewise.
33643 (generic_tunings): Likewise.
33644 (cortexa53_tunings): Likewise.
33645 (cortexa57_tunings): Likewise.
33646 (xgene1_tunings): Likewise.
33647
33648 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
33649
33650 * config/arm/arm-cores.def: Add cortex-a72 and
33651 cortex-a72.cortex-a53.
33652 * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise.
33653 * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
33654 * config/arm/arm-tune.md: Regenerate.
33655 * config/arm/arm-tables.opt: Add entries for "cortex-a72" and
33656 "cortex-a72.cortex-a53".
33657 * doc/invoke.texi (ARM Options/-mtune): Likewise.
33658
33659 2015-02-04 Nick Clifton <nickc@redhat.com>
33660
33661 PR target/64408
33662 * config/fr30/predicates.md (di_operand): Add SUBREG to the list
33663 of accepted codes.
33664 (nonimmediate_di_operand): Likewise.
33665
33666 * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more
33667 prefixes of known F5 using MSP430 MCUs.
33668
33669 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
33670
33671 * config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF.
33672 * config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf
33673 instead of __builtin_sqrt.
33674
33675 2015-02-04 Ilya Enkovich <ilya.enkovich@intel.com>
33676
33677 * varasm.c (do_assemble_alias): Follow transparent alias
33678 chain for target.
33679 (default_assemble_visibility): Follow transparent alias
33680 chain for decl name.
33681
33682 2015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
33683
33684 PR middle-end/62103
33685 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION
33686 to compute size of referenced value in the constant case.
33687
33688 2015-02-03 Jakub Jelinek <jakub@redhat.com>
33689
33690 PR rtl-optimization/64756
33691 * cse.c (invalidate_dest): New function.
33692 (cse_insn): Use it. If dest != SET_DEST (sets[i].rtl) and
33693 HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record,
33694 invalidate and do not record it.
33695
33696 2015-02-03 Oleg Endo <olegendo@gcc.gnu.org>
33697
33698 PR target/64660
33699 * config/sh/sync.md (atomic_<fetchop_name><mode>_hard,
33700 atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb,
33701 atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard,
33702 atomic_nand<mode>_soft_tcb): New insns.
33703 (atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split.
33704 Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused.
33705 (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split.
33706 Split into atomic_not_fetchsi_hard if operands[0] is unused.
33707 (atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split.
33708 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
33709 (atomic_fetch_not<mode>_hard): Convert to insn_and_split. Split into
33710 atomic_not<mode>_hard if operands[0] is unused.
33711 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to
33712 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa
33713 if operands[0] is unused.
33714 (atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split. Split
33715 into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused.
33716 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split.
33717 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
33718 unused.
33719 (atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split. Split
33720 into atomic_not<mode>_soft_tcb if operands[0] is unused.
33721 (atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to
33722 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_imask
33723 if operands[0] is unused.
33724 (atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split. Split
33725 into atomic_not_fetch<mode>_soft_imask is operands[0] is unused.
33726 (atomic_fetch_nandsi_hard): Convert to insn_and_split. Split into
33727 atomic_nand_fetchsi_hard if operands[0] is unused.
33728 (atomic_fetch_nand<mode>_hard): Convert to insn_and_split. Split into
33729 atomic_nand<mode>_hard if operands[0] is unused.
33730 (atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split. Split
33731 into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused.
33732 (atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split. Split
33733 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
33734 (atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split. Split
33735 into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused.
33736 (atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split.
33737 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
33738 (atomic_not_fetch<mode>_hard): Convert to insn_and_split. Split into
33739 atomic_not<mode>_hard if operands[0] is unused.
33740 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split.
33741 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
33742 unused.
33743 (atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
33744 into atomic_not<mode>_soft_tcb if operands[0] is unused.
33745 (atomic_nand_fetch<mode>_hard): Convert to insn_and_split. Split into
33746 atomic_nand<mode>_hard if operands[0] is unused.
33747 (atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
33748 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
33749
33750 2015-02-03 David Malcolm <dmalcolm@redhat.com>
33751
33752 PR jit/64810
33753 * Makefile.in (GCC_OBJS): Add gcc-main.o.
33754 * gcc-main.c: New file, containing "main" taken from gcc.c.
33755 * gcc.c (do_self_spec): Free decoded_options.
33756 (class driver): Move declaration to gcc.h.
33757 (main): Move declaration and implementation to new file
33758 gcc-main.c.
33759 (driver_get_configure_time_options): New function.
33760 * gcc.h (class driver): Move this declaration here, from
33761 gcc.c.
33762 (driver_get_configure_time_options): New declaration.
33763
33764 2015-02-03 Jan Hubicka <hubicka@ucw.cz>
33765
33766 * ipa-inline-analysis.c (simple_edge_hints): Fix check for
33767 cross-module inlining.
33768 * cgraph.h (cgraph_node): Add flag merged.
33769 * ipa-icf.c (sem_function::merge): Maintain it.
33770
33771 2015-02-03 Richard Sandiford <richard.sandiford@arm.com>
33772
33773 * config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P
33774 instead of OBJECT_P.
33775
33776 2015-02-03 Eric Botcazou <ebotcazou@adacore.com>
33777
33778 PR target/62631
33779 * config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS.
33780 (TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL.
33781 * config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on
33782 int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set.
33783
33784 2015-02-03 Jakub Jelinek <jakub@redhat.com>
33785
33786 PR other/63504
33787 * combine.c (reg_n_sets_max): New variable.
33788 (can_change_dest_mode, reg_nonzero_bits_for_combine,
33789 reg_num_sign_bit_copies_for_combine, get_last_value_validate,
33790 get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max.
33791 (try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max.
33792 (rest_of_handle_combine): Initialize reg_n_sets_max.
33793
33794 2015-02-02 Jan Hubicka <hubicka@ucw.cz>
33795
33796 * ipa-inline.c (early_inliner): Skip inlining only in always_inlined;
33797 if some always_inline was inlined, apply changes before inlining
33798 heuristically.
33799
33800 2015-02-02 David Malcolm <dmalcolm@redhat.com>
33801
33802 PR jit/64810
33803 * config/arm/arm.c (arm_option_override): Set
33804 arm_selected_arch/cpu/tune to NULL on entry.
33805
33806 2015-02-02 Tejas Belagod <tejas.belagod@arm.com>
33807 Andrew Pinski <pinskia@gcc.gnu.org>
33808 Jakub Jelinek <jakub@gcc.gnu.org>
33809
33810 PR target/64231
33811 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large
33812 integer typing for small model. Use IN_RANGE.
33813
33814 2015-02-02 Richard Biener <rguenther@suse.de>
33815
33816 * tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs.
33817 * tree-vrp.c (vrp_valueize_1): Likewise.
33818
33819 2015-02-02 Alan Modra <amodra@gmail.com>
33820
33821 * config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather
33822 than mem for toc_restore.
33823 * config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define.
33824 (call_indirect_aix, call_value_indirect_aix): Adjust to suit.
33825 (call_indirect_elfv2, call_value_indirect_elfv2): Likewise.
33826
33827 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
33828
33829 PR target/64047
33830 * config/rs6000/rs6000.c (rs6000_set_current_function): Handle
33831 explicit default options.
33832
33833 2015-02-01 Jan Hubicka <hubicka@ucw.cz>
33834
33835 PR ipa/64872
33836 * ipa-utils.c (ipa_merge_profiles): Add release argument.
33837 * ipa-icf.c (sem_function::merge): Do not release body when merging.
33838 * ipa-utils.h (ipa_merge_profiles): Update prototype.
33839
33840 2015-02-01 Jakub Jelinek <jakub@redhat.com>
33841
33842 PR debug/64817
33843 * cfgexpand.c (deep_ter_debug_map): New variable.
33844 (avoid_deep_ter_for_debug): New function.
33845 (expand_debug_expr): If TERed SSA_NAME is in
33846 deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL
33847 instead of trying to expand SSA_NAME's def stmt.
33848 (expand_debug_locations): When expanding debug bind
33849 of a DEBUG_EXPR_DECL to corresponding SSA_NAME,
33850 temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's
33851 value.
33852 (pass_expand::execute): Call avoid_deep_ter_for_debug on
33853 all debug bind stmts. Delete deep_ter_debug_map after
33854 expand_debug_location if non-NULL and clear it.
33855
33856 2015-02-01 Oleg Endo <olegendo@gcc.gnu.org>
33857
33858 PR target/64851
33859 * config/sh/sync.md (atomic_fetch_notsi_hard,
33860 atomic_fetch_not<mode>_hard, atomic_fetch_not<mode>_soft_gusa,
33861 atomic_fetch_not<mode>_soft_tcb, atomic_fetch_not<mode>_soft_imask,
33862 atomic_not_fetchsi_hard, atomic_not_fetch<mode>_hard,
33863 atomic_not_fetch<mode>_soft_gusa, atomic_not_fetch<mode>_soft_tcb,
33864 atomic_not_fetch<mode>_soft_imask): New insns.
33865
33866 2015-02-01 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
33867
33868 * haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro.
33869 (rank_for_schedule_debug): Split from ...
33870 (rank_for_schedule): ... this.
33871 (ready_sort): Sort DEBUG_INSNs separately from normal INSNs.
33872 * sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order.
33873
33874 2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
33875
33876 * doc/md.texi (Machine Constraints): Alphabetize table by target.
33877 * doc/extend.texi (x86 Variable Attributes): Move section to
33878 correct alphabetization after renaming.
33879 (x86 Type Attributes): Likewise.
33880 (Target Builtins): Re-alphabetize menu.
33881 (x86 Built-in Functions): Move section to correct alphabetization
33882 after renaming.
33883 (x86 transactional memory intrinsics): Likewise.
33884 * doc/invoke.texi (Option Summary): Re-alphabetize x86 Options
33885 and x86 Windows Options in table and menu.
33886 (x86 Options): Move section to correct alphabetization after
33887 renaming.
33888 (x86 Windows Options): Likewise.
33889
33890 2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
33891
33892 * doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the
33893 preferred names of the architecture and its 32- and 64-bit
33894 variants.
33895 * doc/invoke.texi: Likewise.
33896 * doc/md.texi: Likewise.
33897
33898 2015-01-31 Uros Bizjak <ubizjak@gmail.com>
33899
33900 PR target/64882
33901 * config/i386/predicates.md (address_no_seg_operand): Reject
33902 non-CONST_INT_P operands in invalid mode.
33903
33904 2015-01-31 Uros Bizjak <ubizjak@gmail.com>
33905
33906 * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of
33907 address_operand 0. Rename from *prefetch_prefetchwt1_<mode>.
33908 * config/i386/predicates.md (address_no_seg_operand): Call
33909 address_operand with VOIDmode.
33910 (vsib_address_operand): Ditto.
33911 (address_mpx_no_base_operand): Ditto.
33912 (address_mpx_no_index_operand): Ditto.
33913
33914 2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
33915
33916 PR target/64688
33917 * lra-constraints.c (original_subreg_reg_mode): New.
33918 (simplify_operand_subreg): Try to simplify subreg of const. Use
33919 original_subreg_reg_mode for it.
33920 (swap_operands): Update original_subreg_reg_mode.
33921 (curr_insn_transform): Set up original_subreg_reg_mode.
33922
33923 2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
33924
33925 PR target/64617
33926 * lra-constraints.c (prohibited_class_reg_set_mode_p): New
33927 function.
33928 (process_alt_operands): Use it.
33929 (curr_insn_transform): Check the optional reload pseudo class is
33930 ok for the mode.
33931
33932 2015-01-30 Joseph Myers <joseph@codesourcery.com>
33933
33934 * diagnostic.c (fatal_error (const char *, ...)): Remove function.
33935 * diagnostic-core.h (fatal_error (const char *, ...)): Remove
33936 prototype.
33937 * toplev.h (init_asm_output): Update comment on use of
33938 UNKNOWN_LOCATION with fatal_error.
33939 * cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
33940 config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
33941 config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
33942 config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
33943 config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
33944 config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
33945 config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
33946 ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
33947 lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
33948 lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
33949 tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
33950 fatal_error changed to pass input_location as first argument.
33951
33952 2015-01-30 Martin Liska <mliska@suse.cz>
33953
33954 * tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006
33955 in #pragma GCC diagnostic guards.
33956
33957 2015-01-30 Richard Biener <rguenther@suse.de>
33958
33959 PR tree-optimization/64829
33960 * tree-vect-patterns.c (vect_handle_widen_op_by_const): Do
33961 not add a widening conversion pattern but hand off extra
33962 widenings to callers.
33963 (vect_recog_widen_mult_pattern): Handle extra widening produced
33964 by vect_handle_widen_op_by_const.
33965 (vect_recog_widen_shift_pattern): Likewise.
33966 (vect_pattern_recog_1): Remove excess vertical space in dumping.
33967 * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
33968 (vect_init_vector_1): Likewise.
33969 (vect_get_vec_def_for_operand): Likewise.
33970 (vect_finish_stmt_generation): Likewise.
33971 (vectorizable_load): Likewise.
33972 (vect_analyze_stmt): Likewise.
33973 (vect_is_simple_use): Likewise.
33974
33975 2015-01-29 Jeff Law <law@redhat.com>
33976
33977 * combine.c (try_combine): Fix typo in comment.
33978
33979 2015-01-29 Segher Boessenkool <segher@kernel.crashing.org>
33980
33981 PR target/64580
33982 * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order.
33983 (rs6000_stack_info): Add assert.
33984 (rs6000_output_savres_externs): New function, split off from...
33985 (rs6000_output_function_prologue): ... here. Do not call it for
33986 thunks.
33987
33988 2015-01-29 Jeff Law <law@redhat.com>
33989
33990 PR target/15184
33991 * combine.c (try_combine): If I0 is a memory load and I3 a store
33992 to a related address, increase the "goodness" of doing a 4-insn
33993 combination with I0-I3.
33994 (make_field_assignment): Handle SUBREGs in the ior+and case.
33995
33996 2015-01-29 Yuri Rumyantsev <ysrumyan@gmail.com>
33997
33998 PR tree-optimization/64746
33999 * tree-if-conv.c (mask_exists): New function.
34000 (predicate_mem_writes): Save created mask with given size for further
34001 use.
34002 (stmt_is_root_of_bool_pattern): Remove argument VAR and store to it.
34003 (ifcvt_repair_bool_pattern): Collect all statements that are root
34004 of bool pattern and use iterative algorithm to remove multiple uses
34005 of predicates, display number of required iterations.
34006
34007 2015-01-29 Richard Biener <rguenther@suse.de>
34008
34009 PR tree-optimization/64853
34010 * tree-vrp.c (vrp_valueize_1): Do not return anything if the
34011 stmt will get simulated again.
34012 * tree-ssa-ccp.c (valueize_op_1): Likewise.
34013
34014 2015-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
34015
34016 * config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of
34017 return_in_pc. Remove redundant assignments.
34018 (thumb2_emit_ldrd_pop): Simplify definition of return_in_pc.
34019 (arm_expand_epilogue): Don't compare boolean with true in if condition.
34020
34021 2015-01-29 Uros Bizjak <ubizjak@gmail.com>
34022
34023 * config/i386/i386.c (ix86_mode_after): Make static.
34024
34025 2015-01-29 Richard Biener <rguenther@suse.de>
34026
34027 PR tree-optimization/64844
34028 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Always
34029 dump cost model analysis.
34030 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
34031 Do not register adjusted load/store costs here.
34032
34033 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
34034 Uros Bizjak <ubizjak@gmail.com>
34035
34036 * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New.
34037 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by
34038 using x86_use_pseudo_pic_reg.
34039 * config/i386/i386.c (ix86_conditional_register_usage): Remove
34040 support for fixed PIC register.
34041 (ix86_use_pseudo_pic_reg): Not static any more.
34042
34043 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
34044
34045 PR middle-end/64805
34046 * ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference
34047 to avoid error in cgraph node verification.
34048
34049 2015-01-29 Marek Polacek <polacek@redhat.com>
34050
34051 * doc/standards.texi: Reflect that the default for C is gnu11.
34052
34053 2015-01-29 Kaz Kojima <kkojima@gcc.gnu.org>
34054
34055 PR target/64761
34056 * reorg.c (switch_text_sections_between_p): New function.
34057 (relax_delay_slots): Call it when testing if the jump insn
34058 is removable. Use targetm.can_follow_jump when testing if
34059 the conditional branch can follow an unconditional jump.
34060
34061 2015-01-27 Caroline Tice <cmtice@google.com>
34062
34063 Committing VTV Cywin/Ming patch for Patrick Wollgast
34064 * config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o,
34065 if -fvtable-verify=preinit/std is used.
34066 * config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise.
34067 * config/i386/mingw32.h (STARTFILE_SPEC): Likewise.
34068 * config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o,
34069 if -fvtable-verify=preinit/std is used.
34070 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
34071 * config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi,
34072 if -fvtable-verify=preinit/std is used.
34073 * config/i386/mingw-w64.h (LIB_SPEC): Likewise.
34074 * config/i386/mingw32.h (LIB_SPEC): Likewise.
34075 * varasm.c (assemble_variable): Add code to properly set the comdat
34076 section and name for the .vtable_map_vars section in case the
34077 target is PE or COFF.
34078
34079 2015-01-29 Jan Hubicka <hubicka@ucw.cz>
34080
34081 PR ipa/64801
34082 * cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter;
34083 make sane BB profile.
34084 (cgraph_node::expand_thunk): Make sane BB profile.
34085 (cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p.
34086 * cgraph.h (init_lowered_empty_function): Update prototype.
34087 * config/i386/i386.c (make_resolver_func): Update call.
34088 * predict.c (gate): Disable branch prediction pass if
34089 profile is already there.
34090
34091 2015-01-29 Jan Hubicka <hubicka@ucw.cz>
34092
34093 * optc-save-gen.awk: flag_fp_contract_mode is no longer speical.
34094 * opth-gen.awk: Likewise.
34095 * common.opt: Mark flag_fp_contract_mode as Optimization.
34096
34097 2015-01-29 Bernd Edlinger <bernd.edlinger@hotmail.de>
34098
34099 * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16.
34100 * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16.
34101
34102 2015-01-28 Oleg Endo <olegendo@gcc.gnu.org>
34103
34104 PR target/64659
34105 * config/sh/predicates.md (atomic_arith_operand,
34106 atomic_logical_operand): Remove.
34107 * config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove.
34108 (atomic_arith_operand_0): New predicate.
34109 (atomic_compare_and_swap<mode>): Use arith_reg_dest for output values.
34110 Use atomic_arith_operand_0 for input values.
34111 (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
34112 atomic_compare_and_swap<mode>_soft_gusa,
34113 atomic_compare_and_swap<mode>_soft_tcb,
34114 atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and
34115 arith_reg_operand instead of register_operand.
34116 (atomic_exchange<mode>): Use arith_reg_dest for output value. Use
34117 atomic_arith_operand_0 for newval input.
34118 (atomic_exchangesi_hard, atomic_exchange<mode>_hard,
34119 atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb,
34120 atomic_exchange<mode>_soft_imask): Use arith_reg_dest and
34121 arith_reg_operand instead of register_operand.
34122 (atomic_arith_operand_1, atomic_logical_operand_1): New predicates.
34123 fetchop_predicate_1, fetchop_constraint_1_llcs,
34124 fetchop_constraint_1_gusa, fetchop_constraint_1_tcb,
34125 fetchop_constraint_1_imask): New code iterator attributes.
34126 (atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of
34127 register_operand. Use fetchop_predicate_1.
34128 (atomic_fetch_<fetchop_name>si_hard,
34129 atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of
34130 register_operand. Use fetchop_predicate_1, fetchop_constraint_1_llcs.
34131 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest
34132 and arith_reg_operand instead of register_operand. Use
34133 fetchop_predicate_1, fetchop_constraint_1_gusa.
34134 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest
34135 and arith_reg_operand instead of register_operand. Use
34136 fetchop_predicate_1, fetchop_constraint_1_tcb. Adjust asm sequence
34137 to allow R0 usage.
34138 (atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest
34139 and arith_reg_operand instead of register_operand. Use
34140 fetchop_predicate_1, fetchop_constraint_1_imask. Adjust asm sequence
34141 to allow R0 usage.
34142 (atomic_fetch_nand<mode>): Use arith_reg_dest instead of
34143 register_operand. Use atomic_logical_operand_1.
34144 (atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
34145 atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and
34146 arith_reg_operand instead of register_operand.
34147 (atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask):
34148 Use arith_reg_dest and arith_reg_operand instead of register_operand.
34149 Use logical_operand and rK08. Adjust asm sequence to allow R0 usage.
34150 (atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of
34151 register_operand. Use fetchop_predicate_1.
34152 (atomic_<fetchop_name>_fetchsi_hard,
34153 atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and
34154 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
34155 fetchop_constraint_1_llcs.
34156 (atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and
34157 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
34158 fetchop_constraint_1_gusa.
34159 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and
34160 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
34161 fetchop_constraint_1_tcb. Adjust asm sequence to allow R0 usage.
34162 (atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and
34163 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
34164 fetchop_constraint_1_imask. Adjust asm sequence to allow R0 usage.
34165 (atomic_nand_fetch<mode>): Use arith_reg_dest instead of
34166 register_operand. Use atomic_logical_operand_1.
34167 (atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
34168 atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and
34169 arith_reg_operand instead of register_operand.
34170 (atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and
34171 arith_reg_operand instead of register_operand. Use logical_operand
34172 and K08. Adjust asm sequence to allow R0 usage.
34173 (atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and
34174 arith_reg_operand instead of register_operand. Use logical_operand
34175 and K08.
34176
34177 2015-01-28 Jakub Jelinek <jakub@redhat.com>
34178
34179 PR other/63504
34180 * dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor):
34181 Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>.
34182 (attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum
34183 only get_full_len HOST_WIDE_INTs from get_val () array rather than
34184 all bits in *val_wide.
34185
34186 2015-01-28 Jan Hubicka <hubicka@ucw.cz>
34187
34188 * varpool.c (tls_model_names): Fix names.
34189 (varpool_node::dump): Dump tls- prefix for tls models.
34190
34191 2015-01-28 Thomas Schwinge <thomas@codesourcery.com>
34192 Bernd Schmidt <bernds@codesourcery.com>
34193 Nathan Sidwell <nathan@codesourcery.com>
34194
34195 * config/nvptx/mkoffload.c: New file.
34196 * config/nvptx/t-nvptx: Add build rules for it.
34197 * config.gcc <nvptx-*> [$enable_as_accelerator = yes]
34198 (extra_programs): Add mkoffload.
34199 * config/nvptx/nvptx.c (nvptx_record_offload_symbol): New
34200 function.
34201 (TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it.
34202
34203 2015-01-28 Yuri Rumyantsev <ysrumyan@gmail.com>
34204
34205 PR middle-end/64809
34206 * cfgexpand.c (reorder_operands): Skip debug gimples.
34207
34208 2015-01-28 Ilya Enkovich <ilya.enkovich@intel.com>
34209
34210 PR tree-optimization/64277
34211 * tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base
34212 range info when possible to refine estimation.
34213
34214 2015-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
34215
34216 PR tree-optimization/64718
34217 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type
34218 be a 16bit unsigned integer when n->range is 16.
34219 (bswap_replace): Convert src to that type if necessary for all bswap
34220 sizes. Fix rotation right notation in nearby comment. Use bswap_type
34221 set in pass_optimize_bswap::execute ().
34222
34223 2015-01-28 James Greenhalgh <james.greenhalgh@arm.com>
34224
34225 * config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New.
34226 * config/aarch64/aarch64-simd-builtins.def (abs): Split by
34227 integer and floating point variants.
34228 * config/aarch64/iterators.md (unspec): Add UNSPEC_ABS.
34229
34230 2015-01-28 Robert Suchanek <robert.suchanek@imgtec.com>
34231
34232 * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators
34233 for all vector modes.
34234
34235 2015-01-28 Jakub Jelinek <jakub@redhat.com>
34236
34237 PR bootstrap/64612
34238 * doc/sourcebuild.texi (comdat_group): Document.
34239
34240 2015-01-28 Terry Guo <terry.guo@arm.com>
34241
34242 * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
34243
34244 2015-01-27 David Malcolm <dmalcolm@redhat.com>
34245
34246 * toplev.c (print_version): Add param "show_global_state", and
34247 only print GGC and plugin information if it is true.
34248 (init_asm_output): Pass in "true" for the new param when calling
34249 print_version.
34250 (process_options): Likewise.
34251 (toplev::main): Likewise.
34252 * toplev.h (print_version): Add new param to decl.
34253
34254 2015-01-27 Jan Hubicka <hubicka@ucw.cz>
34255
34256 PR ipa/60871
34257 PR ipa/64139
34258 * tree.c (lookup_binfo_at_offset): New function.
34259 (get_binfo_at_offset): Use it.
34260
34261 2015-01-27 Jan Hubicka <hubicka@ucw.cz>
34262
34263 PR ipa/64282
34264 * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
34265 on vtable being vtable.
34266
34267 2015-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
34268
34269 * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
34270 * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
34271 -mhotpatch= option.
34272 * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
34273 -mno-hotpatch options. Change syntax of -mhotpatch= option.
34274 * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
34275 Renamed.
34276 (s390_hotpatch_trampoline_halfwords_max): Renamed.
34277 (s390_hotpatch_hw_max): New name.
34278 (s390_hotpatch_trampoline_halfwords): Renamed.
34279 (s390_hotpatch_hw_before_label): New name.
34280 (get_hotpatch_attribute): Removed.
34281 (s390_hotpatch_hw_after_label): New name.
34282 (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
34283 attribute.
34284 (s390_attribute_table): Ditto.
34285 (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
34286 (s390_function_num_hotpatch_hw): New name.
34287 Remove special handling of inline functions and hotpatching.
34288 Return number of nops before and after the function label.
34289 (s390_can_inline_p): Removed.
34290 (s390_asm_output_function_label): Emit a configurable number of nops
34291 after the function label.
34292 (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
34293 (TARGET_CAN_INLINE_P) Removed.
34294 (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.
34295
34296 2015-01-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
34297 Jiong Wang <jiong.wang@arm.com>
34298
34299 * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead
34300 of scratch reg.
34301 (cb<optab><mode>1): Likewise.
34302 * config/aarch64/iterators.md (bcond): New define_code_attr.
34303
34304 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
34305
34306 * config/s390/s390.c (s390_memory_move_cost): Increase costs for
34307 memory accesses.
34308
34309 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
34310
34311 * config/s390/s390.c (s390_register_move_cost): Increase costs for
34312 FPR->GPR moves.
34313
34314 2015-01-27 Richard Biener <rguenther@suse.de>
34315
34316 * tree-vrp.c (update_value_range): Intersect the range with
34317 old recorded SSA name range information.
34318
34319 2015-01-27 Nick Clifton <nickc@redhat.com>
34320
34321 * config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the
34322 BC, DE and HL registers directly, not via AX.
34323 When decrementing the stack pointer by a large amount, transfer SP
34324 into AX and perform the subtraction there.
34325 (rl78_expand_epilogue): Perform the inverse of the above
34326 enhancements.
34327
34328 2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
34329
34330 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove.
34331
34332 2015-01-27 Jakub Jelinek <jakub@redhat.com>
34333 Yury Gribov <y.gribov@samsung.com>
34334
34335 PR ubsan/64741
34336 * ubsan.c (ubsan_source_location): Refactor code.
34337 (ubsan_type_descriptor): Update type size. Refactor code.
34338
34339 2015-01-27 Richard Biener <rguenther@suse.de>
34340
34341 PR tree-optimization/56273
34342 PR tree-optimization/59124
34343 PR tree-optimization/64277
34344 * tree-vrp.c (vrp_finalize): Emit array-bound warnings only
34345 from the first VRP pass.
34346
34347 2015-01-27 Jakub Jelinek <jakub@redhat.com>
34348
34349 PR ipa/64776
34350 * cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting,
34351 handle the first argument in the same loop as all the other arguments.
34352
34353 PR rtl-optimization/61058
34354 * jump.c (cleanup_barriers): Update basic block boundaries
34355 if BLOCK_FOR_INSN is non-NULL on PREV.
34356
34357 2015-01-27 Ilya Enkovich <ilya.enkovich@intel.com>
34358
34359 * tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of
34360 bounds narrowing, already instrumented calls and calls to
34361 not instrumentable functions.
34362
34363 2015-01-27 Jakub Jelinek <jakub@redhat.com>
34364
34365 PR tree-optimization/64807
34366 * wide-int.cc (wi::divmod_internal): Clear
34367 b_dividend[dividend_blocks_needed].
34368
34369 2015-01-26 DJ Delorie <dj@redhat.com>
34370
34371 * config/rl78/rl78.c (move_elim_pass): Don't optimize away
34372 volatile memory references.
34373
34374 2015-01-26 Oleg Endo <olegendo@gcc.gnu.org>
34375
34376 PR target/49263
34377 * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before
34378 remove_insn.
34379 * config/sh/sh.md (tstsi_t): Don't try to optimize constant with right
34380 shifts if it already fits into K08.
34381
34382 2015-01-26 Jakub Jelinek <jakub@redhat.com>
34383
34384 PR ipa/64730
34385 * ipa-inline.c (inline_small_functions): Print "unknown" even
34386 if edge->call_stmt is non-NULL, but has builtins or unknown
34387 location.
34388
34389 PR middle-end/64421
34390 * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts
34391 with asterisk, skip the first character.
34392
34393 2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
34394
34395 PR target/64806
34396 * config/i386/i386 (feature_priority): Revert the last P_POPCNT
34397 order change.
34398
34399 2015-01-26 Uros Bizjak <ubizjak@gmail.com>
34400
34401 PR target/64795
34402 * config/i386/i386.md (*movdi_internal): Also check operand 0
34403 to determine TYPE_LEA operand.
34404 (*movsi_internal): Ditto.
34405
34406 2015-01-26 Jakub Jelinek <jakub@redhat.com>
34407
34408 * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
34409 OPTION_MASK_QUAD_MEMORY_ATOMIC.
34410
34411 2015-01-26 Renlin Li <renlin.li@arm.com>
34412
34413 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct
34414 the comment.
34415 * config/aarch64/aarch64.md (tlsle_small_<mode>): Add left shift 12-bit
34416 for higher part.
34417
34418 2015-01-26 Richard Biener <rguenther@suse.de>
34419
34420 PR middle-end/64764
34421 * tree-ssa-uninit.c (is_pred_expr_subset_of): Handle
34422 combining two BIT_AND_EXPR predicates.
34423
34424 2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
34425
34426 PR bootstrap/64754
34427 * tree-ssa-structalias.c (new_var_info): Initialize ruid.
34428
34429 2015-01-26 Terry Guo <terry.guo@arm.com>
34430
34431 * config/arm/arm.c (arm_file_start): Update the assignment of
34432 Tag_ABI_HardFP_use.
34433
34434 2015-01-25 James Greenhalgh <james.greenhalgh@arm.com>
34435
34436 * config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57
34437 pipeline model.
34438 config/arm/arm.md: Include the new Cortex-A57 model.
34439 (generic_sched): Don't use generic_sched when tuning for
34440 Cortex-A57.
34441
34442 2015-01-25 Allan Sandfeld Jensen <sandfeld@kde.org>
34443 Uros Bizjak <ubizjak@gmail.com>
34444
34445 * config/i386/i386.c (get_builtin_code_for_version): Add
34446 support for BMI and BMI2 multiversion functions.
34447
34448 2015-01-25 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
34449
34450 * emit-rtl.h (store_bit_field): Move prototype to expmed.h.
34451 (extract_bit_field): Likewise.
34452 (extract_low_bits): Likewise.
34453 (expand_mult): Likewise.
34454 (expand_mult_highpart_adjust): Likewise.
34455
34456 2015-01-24 H.J. Lu <hongjiu.lu@intel.com>
34457
34458 * config/i386/driver-i386.c (host_detect_local_cpu): Check new
34459 Silvermont, Haswell, Broadwell and Knights Landing model numbers.
34460 * config/i386/i386.c (processor_model): Add
34461 M_INTEL_COREI7_BROADWELL.
34462 (arch_names_table): Add "broadwell".
34463
34464 2015-01-24 Oleg Endo <olegendo@gcc.gnu.org>
34465
34466 PR target/49263
34467 PR target/53987
34468 PR target/64345
34469 PR target/59533
34470 PR target/52933
34471 PR target/54236
34472 PR target/51244
34473 * config/sh/sh-protos.h
34474 (sh_extending_set_of_reg::can_use_as_unextended_reg,
34475 sh_extending_set_of_reg::use_as_unextended_reg,
34476 sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn,
34477 sh_is_movrt_insn, sh_insn_operands_modified_between_p,
34478 sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr,
34479 sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions.
34480 (sh_treg_insns): New class.
34481 * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook.
34482 (scope_counter): New class.
34483 (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest,
34484 sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn,
34485 sh_extending_set_of_reg::can_use_as_unextended_reg,
34486 sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr,
34487 sh_in_recog_treg_set_expr, sh_try_split_insn_simple,
34488 sh_split_treg_set_expr): New functions.
34489 (addsubcosts): Handle treg_set_expr.
34490 (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT.
34491 (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND.
34492 (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases.
34493 (sh_insn_operands_modified_between_p): Make non-static.
34494 * config/sh/predicates.md (zero_extend_movu_operand): Allow
34495 simple_mem_operand in addition to displacement_mem_operand.
34496 (zero_extend_operand): Don't allow zero_extend_movu_operand.
34497 (treg_set_expr, treg_set_expr_not_const01,
34498 arith_reg_or_treg_set_expr): New predicates.
34499 * config/sh/sh.md (tstsi_t): Use arith_reg_operand and
34500 arith_or_int_operand instead of logical_operand. Convert to
34501 insn_and_split. Try to optimize constant operand in splitter.
34502 (tsthi_t, tstqi_t): Fold into *tst<mode>_t. Convert to insn_and_split.
34503 (*tstqi_t_zero): Delete.
34504 (*tst<mode>_t_subregs): Add !sh_in_recog_treg_set_expr split condition.
34505 (tstsi_t_and_not): Delete.
34506 (tst<mode>_t_zero_extract_eq): Rename to *tst<mode>_t_zero_extract.
34507 Convert to insn_and_split.
34508 (unnamed split, tstsi_t_zero_extract_xor,
34509 tstsi_t_zero_extract_subreg_xor_little,
34510 tstsi_t_zero_extract_subreg_xor_big): Delete.
34511 (*tstsi_t_shift_mask): New insn_and_split.
34512 (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try
34513 to recombine with surrounding insns when splitting.
34514 (*negtstsi): Add !sh_in_recog_treg_set_expr condition.
34515 (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ...
34516 (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4,
34517 *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns.
34518 (*cbranch_div0s: Delete.
34519 (*addc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
34520 Try to recombine with surrounding insns when splitting. Add operand
34521 order variants.
34522 (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01.
34523 (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb,
34524 *addc_r_r_msb, *addc_2r_msb): Delete.
34525 (*addc_2r_lsb): Rename to *addc_2r_t. Use treg_set_expr. Add operand
34526 order variant.
34527 (*addc_negreg_t): New insn_and_split.
34528 (*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
34529 Try to recombine with surrounding insns when splitting.
34530 Add operand order variants.
34531 (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New
34532 insn_and_split patterns.
34533 (*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with
34534 surrounding insns when splitting.
34535 (unnamed rotcr split): Use arith_reg_or_treg_set_expr.
34536 (*rotcl): Likewise. Add zero_extract variant.
34537 (*ashrsi2_31): New insn_and_split.
34538 (*negc): Convert to insn_and_split. Use treg_set_expr.
34539 (*zero_extend<mode>si2_disp_mem): Update comment.
34540 (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split
34541 condition.
34542 (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr. Try to recombine
34543 with surrounding insns when splitting.
34544 (any_treg_expr_to_reg): New insn_and_split.
34545 (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2,
34546 *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5,
34547 *neg_zero_extract_6, *zero_extract_0, *zero_extract_1,
34548 *zero_extract_2): New single bit zero extract patterns.
34549 (bld_reg, *bld_regqi): Fold into bld<mode>_reg.
34550 (*get_thread_pointersi, store_gbr, *mov<mode>_gbr_load,
34551 *mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load,
34552 *movdi_gbr_load): Use arith_reg_dest instead of register_operand for
34553 set destination.
34554 (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of
34555 register_operand for set source.
34556
34557 2015-01-23 Jan Hubicka <hubicka@ucw.cz>
34558
34559 * i386.opt (prefetch_sse): New targetsave.
34560 * i386.c (ix86_function_specific_save): Save prefetch_sse.
34561 (ix86_function_specific_restore): Restore prefetch_sse and initialize
34562 ix86_cost/ix86_tune_cost.
34563
34564 2015-01-23 David Malcolm <dmalcolm@redhat.com>
34565
34566 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
34567 Support the JIT by using 0 as the language type.
34568
34569 2015-01-23 Vladimir Makarov <vmakarov@redhat.com>
34570
34571 PR target/64317
34572 * lra-lives.c (make_hard_regno_born): Add parameter. Don't make
34573 REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo.
34574 (mark_regno_live, process_bb_lives): Pass new parameter value to
34575 make_hard_regno_born.
34576
34577 2015-01-23 Jakub Jelinek <jakub@redhat.com>
34578
34579 PR rtl-optimization/63637
34580 PR rtl-optimization/60663
34581 * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
34582 if elt->cost is MAX_COST for ASM_OPERANDS.
34583 (find_sets_in_insn): Fix up comment typo.
34584 (cse_insn): Don't set src_volatile for all non-volatile
34585 ASM_OPERANDS in PARALLELs, but just those with multiple outputs
34586 or with "memory" clobber. Set elt->cost to MAX_COST
34587 for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST
34588 if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
34589
34590 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
34591
34592 * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
34593 alternative 1.
34594
34595 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
34596
34597 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to
34598 libgcc/config/i386/elf-lib.h.
34599
34600 2015-01-23 Jakub Jelinek <jakub@redhat.com>
34601
34602 PR driver/64737
34603 * gcc.c (print_configuration): Don't print a blank line at the end
34604 here...
34605 (run_attempt): ... but here unstead.
34606
34607 PR middle-end/64734
34608 * omp-low.c (scan_sharing_clauses): Don't ignore
34609 OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses
34610 on target data/update constructs.
34611
34612 2015-01-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
34613
34614 PR target/50928
34615 * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here.
34616 (DEBUG_RELOAD): Removed define.
34617 (m32c_limit_reload_class): Enable traces with if DEBUG0.
34618 (m32c_function_arg): Added a type cast.
34619 (m32c_legitimize_reload_address): Push A_REGS reload with PSImode.
34620 * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments.
34621 * config/m32c/bitops.md (andqi3_16): Likewise.
34622 * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise.
34623 (push_a01_l): Likewise.
34624
34625 2015-01-23 David Malcolm <dmalcolm@redhat.com>
34626
34627 PR jit/64721
34628 * main.c (main): Construct toplev instances with init_signals=true.
34629 * toplev.c (general_init): Add param "init_signals", and use it to
34630 conditionalize the calls to signal and host_hooks.extra_signals.
34631 (toplev::toplev): Add param "init_signals".
34632 (toplev::main): When invoking general_init, pass m_init_signals
34633 to control whether signal-handlers are installed.
34634 * toplev.h (toplev::toplev): Add param "init_signals".
34635 (toplev::m_init_signals): New field.
34636
34637 2015-01-23 David Malcolm <dmalcolm@redhat.com>
34638
34639 PR jit/64722
34640 * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to
34641 NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the
34642 latter may be affected by the former (e.g. on i686).
34643
34644 2015-01-23 Martin Liska <mliska@suse.cz>
34645
34646 * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow
34647 false positive during profiledbootstrap.
34648
34649 2015-01-23 Tom de Vries <tom@codesourcery.com>
34650
34651 PR libgomp/64672
34652 * lto-opts.c (lto_write_options): Output non-explicit conservative
34653 -fno-openacc.
34654 * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc.
34655 (append_compiler_options): Pass -fopenacc through.
34656
34657 2015-01-23 Tom de Vries <tom@codesourcery.com>
34658
34659 PR libgomp/64707
34660 * lto-opts.c (lto_write_options): Output non-explicit conservative
34661 -fno-openmp.
34662 * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp.
34663 (append_compiler_options): Pass -fopenmp through.
34664
34665 2015-01-23 Jakub Jelinek <jakub@redhat.com>
34666
34667 PR debug/64511
34668 * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
34669 GTY markup.
34670
34671 * diagnostic-core.h (internal_error_no_backtrace): New prototype.
34672 * diagnostic.def (DK_ICE_NOBT): New kind.
34673 * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT
34674 like DK_ICE, but never print backtrace.
34675 (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE.
34676 (internal_error_no_backtrace): New function.
34677 * gcc.c (execute): Use internal_error_no_backtrace instead of
34678 internal_error.
34679
34680 2015-01-22 Jeff Law <law@redhat.com>
34681
34682 PR target/52076
34683 * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to
34684 improve code density for small immediate to memory case.
34685 (insv): Better handle bitfield assignments when the field is
34686 being set to all ones.
34687 * config/m68k/predicates.md (reg_or_pow2_m1_operand): New
34688 operand predicate.
34689
34690 2015-01-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
34691 Jakub Jelinek <jakub@redhat.com>
34692
34693 PR middle-end/64729
34694 * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit
34695 for !TARGET_LIBC_PROVIDES_SSP version and
34696 -fstack-protector-{all,strong,explicit} otherwise.
34697 * config/freebsd.h (LINK_SSP_SPEC): Handle
34698 -fstack-protector-{strong,explicit}.
34699
34700 2015-01-22 Jan Hubicka <hubicka@ucw.cz>
34701 H.J. Lu <hongjiu.lu@intel.com>
34702
34703 PR ipa/64694
34704 * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of
34705 heap.
34706
34707 2015-01-22 Wei Mi <wmi@google.com>
34708
34709 PR rtl-optimization/64557
34710 * dse.c (record_store): Call get_addr for mem_addr.
34711 (check_mem_read_rtx): Likewise.
34712
34713 2015-01-22 Eric Botcazou <ebotcazou@adacore.com>
34714
34715 * fold-const.c (const_binop): Add early return for non-tcc_binary.
34716
34717 2015-01-22 Chen Gang <gang.chen.5i5j@gmail.com>
34718
34719 * toplev.c (init_local_tick): Process the failure when read
34720 fails for random_seed.
34721
34722 * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for
34723 'pretty_name' to avoid memory overflow.
34724
34725 2015-01-22 Richard Biener <rguenther@suse.de>
34726
34727 PR middle-end/64728
34728 * tree-ssa-coalesce.c (coalesce_partitions): Do not perform
34729 abnormal coalescing on undefined SSA names.
34730
34731 2015-22-01 Uros Bizjak <ubizjak@gmail.com>
34732
34733 PR target/64688
34734 PR target/64477
34735 * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints
34736 for alternative 3.
34737 (*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1.
34738
34739 2015-01-22 Trevor Saunders <tsaunders@mozilla.com>
34740
34741 PR middle-end/63325
34742 * fold-const.c (fold_checksum_tree): Don't include value of
34743 expr->decl_with_vis.symtab_node in the checksum.
34744
34745 2015-01-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
34746
34747 * config/s390/s390.md (atomic code attribute): Fix typo "ior" -> "or".
34748
34749 2015-01-22 Max Ostapenko <m.ostapenko@partner.samsung.com>
34750
34751 PR driver/64690
34752 * gcc.c (insert_comments): New function.
34753 (try_generate_repro): Call it.
34754 (append_text): Removed.
34755
34756 2015-01-22 Richard Biener <rguenther@suse.de>
34757
34758 * ipa-inline.c (can_inline_edge_p): Disable inlining of edges
34759 with IL incompatible options. Properly honor user optimize
34760 attributes.
34761
34762 2015-01-21 Segher Boessenkool <segher@kernel.crashing.org>
34763
34764 PR rtl-optimization/64682
34765 * combine.c (distribute_notes): When moving a death note for
34766 a register that is set in the new I2, make sure to put it
34767 before that new I2.
34768
34769 2015-01-21 David Edelsohn <dje.gcc@gmail.com>
34770
34771 * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags
34772 not TARGET_DEFAULT.
34773
34774 2015-01-21 Jakub Jelinek <jakub@redhat.com>
34775
34776 PR debug/64511
34777 * simplify-rtx.c (simplify_relational_operation_1): Don't try to
34778 optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0))
34779 into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)).
34780
34781 PR sanitizer/64706
34782 * doc/invoke.texi (-fsanitize=vptr): Document.
34783
34784 PR rtl-optimization/62078
34785 * dse.c: Include cfgcleanup.h.
34786 (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed
34787 anything call purge_all_dead_edges and cleanup_cfg at the end
34788 of the pass.
34789
34790 2015-01-21 Jan Hubicka <hubicka@ucw.cz>
34791
34792 * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect
34793 edges.
34794
34795 2015-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
34796
34797 * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread
34798 decl attribute.
34799
34800 2015-01-21 David Sherwood <david.sherwood@arm.com>
34801 Tejas Belagod <Tejas.Belagod@arm.com>
34802
34803 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed.
34804 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed.
34805 * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class):
34806 Removed.
34807
34808 2015-01-21 David Sherwood <david.sherwood@arm.com>
34809 Tejas Belagod <Tejas.Belagod@arm.com>
34810
34811 * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist)
34812 (aarch64_reverse_mask): New decls.
34813 * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum.
34814 (insn_count): New mode_attr.
34815 * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci)
34816 (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci)
34817 (vec_load_lanesxi): Made ABI compliant for Big Endian targets.
34818 (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3)
34819 (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3)
34820 (aarch64_simd_st4): New patterns.
34821 * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist)
34822 (aarch64_reverse_mask): New functions.
34823
34824 2015-01-21 Alan Hayward <alan.hayward@arm.com>
34825
34826 * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy):
34827 Declare.
34828 * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra
34829 addressing modes for BE.
34830 (aarch64_print_operand): Add 'R' specifier.
34831 (aarch64_simd_disambiguate_copy): Delete.
34832 (aarch64_simd_emit_reg_reg_move): New function.
34833 * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move
34834 in define_splits for structural moves.
34835 (mov<mode>): Use less restrictive predicates.
34836 (*aarch64_mov<mode>): Simplify and only allow for LE.
34837 (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New.
34838
34839 2015-01-21 Alan Hayward <alan.hayward@arm.com>
34840
34841 * rtlanal.c (subreg_get_info): Exit early for simple and common cases.
34842
34843 2015-01-21 Richard Henderson <rth@redhat.com>
34844
34845 PR target/64669
34846 * ccmp.c (used_in_cond_stmt_p): Remove.
34847 (expand_ccmp_expr): Don't use it.
34848
34849 2015-01-21 Nick Clifton <nickc@redhat.com>
34850
34851 * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside
34852 PARALLELs.
34853
34854 2015-01-21 Richard Biener <rguenther@suse.de>
34855
34856 PR middle-end/64313
34857 * tree-core.h (builtin_info, builtin_info_type): Turn from
34858 an object with two arrays into an array of an object with
34859 decl and two flags, implicit_p and declared_p.
34860 * tree.h (builtin_decl_explicit, builtin_decl_implicit,
34861 set_builtin_decl, set_builtin_decl_implicit_p,
34862 builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust.
34863 (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions.
34864 * builtins.c (builtin_info): Adjust.
34865 * gimplify.c (gimplify_addr_expr): References to builtins
34866 that have been declared by the user makes them eligible for
34867 use by the compiler. Call set_builtin_decl_implicit_p on them.
34868
34869 2015-01-20 Jeff Law <law@redhat.com>
34870
34871 PR target/59946
34872 * config/m68k/m68k.md (Comparison expanders and patterns): Do not
34873 allow pc-relative addresses in operand predicates or constraints.
34874
34875 2015-01-21 Bin Cheng <bin.cheng@arm.com>
34876
34877 * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer
34878 neon on aarch32 processors for stringops.
34879
34880 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
34881
34882 PR ipa/63576
34883 * ipa-utils.c (ipa_merge_profiles): Merge speculative edges.
34884
34885 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
34886
34887 PR lto/45375
34888 * ipa-inline.c: Include lto-streamer.h
34889 (report_inline_failed_reason): Output source file differences and
34890 flags on optimization/target node mismatch.
34891 (can_inline_edge_p): Consider caller to be the outer inline function;
34892 be less restrictive about matching opimize and optimize_size attributes.
34893 (inline_account_function_p): Break out from ...
34894 (inline_small_functions): ... here.
34895 * ipa-inline-transform.c (clone_inlined_nodes): Use
34896 inline_account_function_p.
34897 (inline_call): Use optimize attribution; use inline_account_function_p.
34898 (inline_transform): Use opt_for_fn.
34899 * ipa-inline.h (inline_account_function_p): Declare.
34900
34901 2015-01-20 Jakub Jelinek <jakub@redhat.com>
34902
34903 PR debug/64663
34904 * dwarf2out.c (decl_piece_node): Don't put bitsize into
34905 mode if bitsize <= 0.
34906 (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
34907 dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
34908 sizes and positions.
34909
34910 2015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
34911
34912 * config/nios2/nios2.c (nios2_asm_file_end): Implement
34913 TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
34914 needed.
34915 (TARGET_ASM_FILE_END): Define.
34916
34917 2015-01-20 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
34918
34919 * config/arm/arm-protos.h (enum arm_sched_autopref): New constants.
34920 (struct tune_params): Use the enum.
34921 * arm.c (arm_*_tune): Update.
34922 (arm_option_override): Update.
34923
34924 2015-01-20 Richard Biener <rguenther@suse.de>
34925
34926 PR ipa/64684
34927 * ipa-reference.c (add_static_var): Inline ...
34928 (analyze_function): ... here after splitting out from ...
34929 (is_proper_for_analysis): ... this.
34930
34931 2015-01-20 Matthew Wahab <matthew.wahab@arm.com>
34932
34933 PR target/64149
34934 * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle.
34935 * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag,
34936 replace the conditional with it's true branch.
34937 * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true.
34938 (arm_lra_p): Remove.
34939
34940 2015-01-20 Eric Botcazou <ebotcazou@adacore.com>
34941
34942 * config/visium/visium.h (LIB_SPEC): Adjust in default case.
34943
34944 2015-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
34945
34946 * config/tilegx/mul-tables.c: Move symtab.h include after
34947 coretypes.h include.
34948 * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h,
34949 vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h,
34950 flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h,
34951 wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h,
34952 explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
34953
34954 2015-01-20 Igor Zamyatin <igor.zamyatin@intel.com>
34955
34956 PR bootstrap/64676
34957 Revert:
34958 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
34959
34960 PR rtl-optimization/64081
34961 * loop-iv.c (def_pred_latch_p): New function.
34962 (latch_dominating_def): Allow specific cases with non-single
34963 definitions.
34964 (iv_get_reaching_def): Likewise.
34965 (check_complex_exit_p): New function.
34966 (check_simple_exit): Use check_complex_exit_p to allow certain cases
34967 with exits not executing on any iteration.
34968
34969 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
34970
34971 PR lto/45375
34972 * i386.c (ix86_option_override_internal): Use ix86_tune_cost
34973 to set branch cost.
34974
34975 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
34976
34977 PR lto/45375
34978 * i386.c (gate): Check flag_expensive_optimizations and
34979 optimize_size.
34980 (ix86_option_override_internal): Drop optimize_size condition
34981 on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
34982 MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
34983 MASK_PREFER_AVX128.
34984 (ix86_avx256_split_vector_move_misalign,
34985 ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
34986 * sse.md (all uses of TARGET_PREFER_AVX128): Add
34987 optimize_insn_for_speed_p check.
34988
34989 2015-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
34990
34991 * config/mips/mips.h (FP_ASM_SPEC): New define.
34992 (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
34993 instead.
34994
34995 2015-01-19 Oleg Endo <olegendo@gcc.gnu.org>
34996
34997 PR target/53988
34998 * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
34999 nullptr for insn when reaching the first insn.
35000 * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
35001 (sh_insn_operands_modified_between_p): Add nullptr check.
35002 (sh_find_extending_set_of_reg): Fix log message. Don't accept
35003 sign extending mem load if the insn contains any UNSPEC or
35004 UNSPEC_VOLATILE.
35005
35006 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
35007
35008 * params.def (inline-unit-growth): Drop to 15%.
35009 * invoke.texi (inline-unit-growth): Document change.
35010
35011 2015-01-19 Martin Liska <mliska@suse.cz>
35012
35013 PR ipa/64668
35014 * ipa-icf-gimple.c (func_checker::compare_operand): Call proper
35015 function for second argument of OBJ_TYPE_REF.
35016
35017 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
35018
35019 PR ipa/64218
35020 * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
35021 whether function is an alias.
35022
35023 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
35024
35025 * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless
35026 cases.
35027
35028 2015-01-19 Vladimir Makarov <vmakarov@redhat.com>
35029
35030 PR rtl-optimization/64671
35031 * lra-remat.c (operand_to_remat): Don't consider jump and call
35032 insns.
35033
35034 2015-01-19 David Edelsohn <dje.gcc@gmail.com>
35035
35036 PR target/59828
35037 * config/rs6000/default64.h: Include rs6000-cpus.def.
35038 (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
35039 (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
35040 * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
35041 and POWER8.
35042 * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
35043 POWER8.
35044 * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
35045 pseudo-op to specify assembler dialect.
35046
35047 2015-01-19 Martin Liska <mliska@suse.cz>
35048
35049 PR ipa/64664
35050 * ipa-icf.c (sem_item_optimizer::filter_removed_items):
35051 Handle safe potentially removed nodes during filtering.
35052
35053 2015-01-19 Martin Liska <mliska@suse.cz>
35054
35055 * doc/extend.texi (no_icf): Add new attribute description.
35056 * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
35057 where the pass attempts to merge a function with no_icf attribute.
35058
35059 2015-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
35060
35061 PR target/64532
35062 * doc/md.texi (ARM Options): Document register constraints.
35063
35064 2015-01-19 Jiong Wang <jiong.wang@arm.com>
35065 Andrew Pinski <apinski@cavium.com>
35066
35067 PR target/64304
35068 * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
35069 (ashl<mode>3): Don't expand if operands[2] is not constant.
35070
35071 2015-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
35072
35073 PR target/64448
35074 * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
35075 Match xor-and-xor RTL pattern.
35076
35077 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
35078
35079 PR rtl-optimization/64081
35080 * loop-iv.c (def_pred_latch_p): New function.
35081 (latch_dominating_def): Allow specific cases with non-single
35082 definitions.
35083 (iv_get_reaching_def): Likewise.
35084 (check_complex_exit_p): New function.
35085 (check_simple_exit): Use check_complex_exit_p to allow certain cases
35086 with exits not executing on any iteration.
35087
35088 2015-01-19 Jakub Jelinek <jakub@redhat.com>
35089
35090 * common.opt (fgraphite): Fix a typo.
35091
35092 2015-01-19 Felix Yang <felix.yang@huawei.com>
35093
35094 * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New
35095 pattern.
35096 * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp,
35097 uminp, smax_nanp, smin_nanp): New builtins.
35098 * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32,
35099 vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32,
35100 vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64,
35101 vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64,
35102 vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8,
35103 vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8,
35104 vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64,
35105 vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64,
35106 vpminnms_f32): Rewrite using builtin functions.
35107
35108 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
35109
35110 PR libgomp/64625
35111 * omp-low.c (offload_symbol_decl): Remove variable.
35112 (get_offload_symbol_decl): Remove function.
35113 (expand_omp_target): For BUILT_IN_GOMP_TARGET,
35114 BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
35115 instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
35116 BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
35117 BUILT_IN_GOACC_UPDATE don't pass it at all.
35118
35119 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
35120
35121 * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
35122 callers.
35123
35124 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
35125
35126 * ipa-chkp.c (chkp_produce_thunks): Add early param
35127 to split thunks production into two passes. Keep
35128 'always_inline' function bodies after the first pass.
35129 (pass_data_ipa_chkp_early_produce_thunks): New.
35130 (pass_ipa_chkp_early_produce_thunks): New.
35131 (pass_ipa_chkp_produce_thunks::execute): Adjust to new
35132 chkp_produce_thunks signature.
35133 (make_pass_ipa_chkp_early_produce_thunks): New.
35134 * passes.def (pass_ipa_chkp_early_produce_thunks): New.
35135 (pass_ipa_chkp_produce_thunks): Move after local optimizations.
35136 * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.
35137
35138 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
35139
35140 * cgraph.c (cgraph_node::dump): Dump profile flags.
35141
35142 2015-01-18 Oleg Endo <olegendo@gcc.gnu.org>
35143
35144 PR target/64652
35145 * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address
35146 reg appear first in the parallel.
35147
35148 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
35149
35150 * ipa-reference.c (set_reference_optimization_summary,
35151 ipa_reference_get_not_written_global): Do nothing if ipa-reference is
35152 disabled.
35153 (ignore_module_statics): New static var.
35154 (propagate_bits): If ipa-reference is disabled, do not look into local
35155 properties.
35156 (analyze_function): Disable analysis when ipa_reference is disabled.
35157 (generate_summary): Do not dump when reference is disabled;
35158 collect vars accessed from functions with ipa-reference disabled.
35159 (get_read_write_all_from_node): When ipa-reference is disabled, use the
35160 node flags.
35161 (gate): Enable for LTO.
35162 (ignore_edge_p): New function.
35163 (propagate): Skip functions w/o ipa-reference analysis.
35164 * optc-save-gen.awk: Handle optimize_debug correctly.
35165 * opth-gen.awk: Likewise.
35166 * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse,
35167 fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region,
35168 fira-share-save-slots, fira-share-spill-slots,
35169 fmodulo-sched-allow-regmoves, fpartial-inlining,
35170 sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow,
35171 ftracer, ftree-parallelize-loops, fassociative-math,
35172 freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as
35173 Optimization
35174 (fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
35175 ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
35176 Optimization.
35177 * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
35178 Fix for IPA.
35179
35180 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
35181
35182 PR ipa/64378
35183 * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
35184 flag correctly.
35185 * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
35186
35187 2015-01-18 Sandra Loosemore <sandra@codesourcery.com>
35188
35189 * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
35190 Remove duplicate option listings.
35191
35192 2015-01-18 Felix Yang <felix.yang@huawei.com>
35193
35194 * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
35195 (autofdo_source_profile::get_callsite_total_count,
35196 function_instance::get_function_instance_by_decl,
35197 string_table::get_index, string_table::get_index_by_decl,
35198 afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
35199 Fix comment typos. Reformatting and minor code rearrangement.
35200
35201 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
35202
35203 * config/rs6000/rs6000.md (probe_stack): Delete.
35204 (probe_stack_address): New.
35205
35206 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
35207
35208 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
35209 to test for 32-bit ABIs, not !TARGET_POWERPC64.
35210
35211 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
35212
35213 * config/rs6000/rs6000.c (rs6000_parallel_return): New function.
35214 (rs6000_function_value): Use it. Handle SCmode and TCmode as well,
35215 for TARGET_32BIT && TARGET_POWERPC64. Fix another BITS_PER_WORD
35216 snafu.
35217 (rs6000_libcall_value): Use the new function.
35218
35219 2015-01-17 Sandra Loosemore <sandra@codesourcery.com>
35220
35221 * doc/invoke.texi ([-ftracer]): Remove duplicate option listing.
35222
35223 2015-01-17 Eric Botcazou <ebotcazou@adacore.com>
35224
35225 * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
35226 implement a more precise life analysis for it during backward scan.
35227
35228 2015-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
35229
35230 * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
35231
35232 2015-01-17 Bernd Schmidt <bernds@codesourcery.com>
35233
35234 PR rtl-optimization/52773
35235 * calls.c (emit_library_call_value): When pushing arguments use
35236 stack_pointer_rtx rather than virtual_outgoing_args_rtx in
35237 CALL_INSN_FUNCTION_USAGE. Only emit one of use of the magic
35238 stack pointer reference into CALL_INSN_FUNCTION_USAGE.
35239
35240 2015-01-17 Jeff Law <law@redhat.com>
35241
35242 PR rtl-optimization/32790
35243 * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
35244 not ZERO_EXTEND in SET_DESTs.
35245
35246 2015-01-17 Alan Modra <amodra@gmail.com>
35247
35248 * cprop.c (do_local_cprop): Revert last change.
35249
35250 2015-01-16 DJ Delorie <dj@redhat.com>
35251 Nick Clifton <nickc@redhat.com>
35252
35253 * config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
35254 (addhi3_real): Likewise. Fix [HL+0] syntax.
35255 (subqi3_real): Likewise.
35256 (subhi3_real): Likewise.
35257 (cbranchqi4_real): Likewise. Allow saddr,#imm.
35258 (cbranchhi4_real): Likewise.
35259 (cbranchhi4_real_inverted): Likewise.
35260 (cbranchsi4_real_lt): Likewise.
35261 (cbranchsi4_real_ge): Likewise.
35262 (cbranchsi4_real_ge): Likewise.
35263 * config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
35264 (sub<mode>3_virt): Likewise.
35265 (cbranchqi4_virt): Likewise.
35266 (cbranchhi4_virt): Likewise.
35267 * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
35268 always use '[reg+imm]' even when imm is zero.
35269 * config/rl78/predicates.md (rl78_volatile_memory_operand): New.
35270 (rl78_general_operand): New.
35271 (rl78_nonimmediate_operand): New.
35272 (rl78_nonfar_operand): Use them.
35273 (rl78_nonfar_nonimm_operand): Likewise.
35274 (rl78_stack_based_mem): Fix.
35275 * config/rl78/constraints.md (Ibqi): New.
35276 (IBqi): New.
35277 (Wsa): New.
35278 (Wsf): New.
35279 (Cs1): Fix.
35280 * config/rl78/rl78-expand.md (andqi3): Accept volatiles.
35281 (iorqi3): Likewise.
35282 (xorqi3): Likewise.
35283 * config/rl78/rl78-protos.h (rl78_sfr_p): New.
35284
35285 * config/rl78/constrains (Qs8): New constraint.
35286 * config/rl78/rl78.c (rl78_flags_already_set): New function.
35287 * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
35288 * config/rl78/rl78-real.md (update_Z): New attribute.
35289 Update patterns to set it.
35290 (cbranchqi4_real): Call rl78_flags_already_set() to determine if a
35291 shorter compare and branch sequence can be used.
35292 (cbranchhi4_real): Likewise.
35293 (cbranchhi4_real_inverted): Likewise.
35294
35295 * config/rl78/predicates.md (uword_operand): Allow symbol_refs.
35296 * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
35297 address space.
35298 * config/rl78/rl78.c (rl78_get_name_encoding): New.
35299 (rl78_option_override): Allow -mes0 only if C.
35300 (characterize_address): Support subregs of symbol_refs.
35301 (rl78_addr_space_address_mode): Move. Add __near.
35302 (rl78_far_p): Likewise.
35303 (rl78_addr_space_pointer_mode): Likewise.
35304 (rl78_as_legitimate_address): Likewise.
35305 (rl78_addr_space_subset_p): Likewise.
35306 (rl78_addr_space_convert): Likewise.
35307 (rl78_print_operand_1): Support 16-bit addressing of 32-bit
35308 symbols with -mes0.
35309 (transcode_memory_rtx): Don't copy ES if -mes0. Allow symbol[BC]
35310 addressing.
35311 (rl78_alloc_physical_registers_op1): Change logic to prefer
35312 symbol[BC] addressing.
35313 (frodata_section): New.
35314 (rl78_asm_init_sections): Initialize it.
35315 (rl78_select_section): Put __far readonly symbols in .frodata.
35316 (rl78_make_type_far): New.
35317 (rl78_insert_attributes): Force all readonly symbols to be
35318 __far when -mes0.
35319 (rl78_asm_out_integer): New.
35320 * config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
35321 * config/rl78/rl78.opt (-mes0): New.
35322
35323 * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
35324 (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
35325 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
35326 * config/rl78/rl78-protos.h (rl78_output_labelref): New.
35327 (rl78_saddr_p): New.
35328 (rl78_output_aligned_common): New.
35329 * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
35330 (rl78_handle_saddr_attribute): New.
35331 (rl78_handle_naked_attribute): New.
35332 (rl78_attribute_table): Add saddr.
35333 (rl78_print_operand_1): Don't print '!' on saddr operands.
35334 (rl78_print_operand_1): Strip encodings.
35335 (rl78_sfr_p): New.
35336 (rl78_strip_name_encoding): New.
35337 (rl78_attrlist_to_encoding): New.
35338 (rl78_encode_section_info): New.
35339 (rl78_asm_init_sections): New.
35340 (rl78_select_section): New.
35341 (rl78_output_labelref): New.
35342 (rl78_output_aligned_common): New.
35343 (rl78_asm_out_integer): New.
35344 (rl78_asm_ctor_dtor): New.
35345 (rl78_asm_constructor): New.
35346 (rl78_asm_destructor): New.
35347
35348 * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
35349 * config/rl78/rl78.c (rl78_expand_epilogue): Update.
35350 (transcode_memory_rtx): Update.
35351 (rl78_expand_epilogue): Use A_REG instead of 0.
35352
35353 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
35354
35355 * config/arm/arm-protos.h (struct tune_params): New field
35356 sched_autopref_queue_depth.
35357 * config/arm/arm.c (sched-int.h): Include header.
35358 (arm_first_cycle_multipass_dfa_lookahead_guard,)
35359 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
35360 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
35361 (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
35362 (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
35363 (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
35364 (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
35365 (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
35366 Specify sched_autopref_queue_depth value. Enabled for A15 and A57.
35367 * config/arm/t-arm (arm.o): Update.
35368 * haifa-sched.c (update_insn_after_change): Update.
35369 (rank_for_schedule): Use auto-prefetcher model, if requested.
35370 (autopref_multipass_init): New static function.
35371 (autopref_rank_for_schedule): New rank_for_schedule heuristic.
35372 (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
35373 variable for debug dumps.
35374 (autopref_multipass_dfa_lookahead_guard_1): New static helper function.
35375 (autopref_multipass_dfa_lookahead_guard): New global function that
35376 implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
35377 (init_h_i_d): Update.
35378 * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
35379 * sched-int.h (enum autopref_multipass_data_status): New const enum.
35380 (autopref_multipass_data_): Structure for auto-prefetcher data.
35381 (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
35382 (struct _haifa_insn_data:autopref_multipass_data): New field.
35383 (INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
35384 (autopref_multipass_dfa_lookahead_guard): Declare.
35385
35386 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
35387
35388 * rtlanal.c (get_base_term): Handle SCRATCH.
35389
35390 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
35391
35392 * config/aarch64/aarch64.c
35393 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
35394 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
35395 * config/arm/arm.c
35396 (arm_first_cycle_multipass_dfa_lookahead): Implement hook.
35397 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
35398
35399 2015-01-17 Alan Modra <amodra@gmail.com>
35400
35401 * cprop.c (do_local_cprop): Disallow replacement of fixed
35402 hard registers.
35403
35404 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
35405
35406 PR target/62066
35407 * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before
35408 early return 0.
35409
35410 2015-01-16 Bernd Edlinger <bernd.edlinger@hotmail.de>
35411
35412 * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
35413 * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update.
35414
35415 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
35416
35417 * config/arm/arm.md: Move comment about splitting Thumb1 patterns to...
35418 * config/arm/thumb1.md: ... Here.
35419
35420 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
35421
35422 * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
35423 TImode for TARGET_32BIT.
35424
35425 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
35426
35427 * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
35428 TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
35429 as ...
35430 (rs6000_abi_word_mode): New function.
35431
35432 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
35433
35434 * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD
35435 instead of UNITS_PER_WORD to describe the size of stack slots.
35436
35437 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
35438
35439 * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
35440 as rs6000_promote_function_mode. Move comment to there.
35441 (rs6000_promote_function_mode): New function.
35442
35443 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
35444
35445 * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32
35446 -mpowerpc64 is active.
35447
35448 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
35449
35450 PR middle-end/64353
35451 * tree-cfg.c (pass_data_fixup_cfg): Update SSA for
35452 virtuals on start.
35453
35454 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
35455
35456 * config/arm/cortex-a57.md: Remove duplicate of file accidentally
35457 introduced in revision 219724.
35458
35459 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
35460 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
35461
35462 PR target/64263
35463 * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the
35464 destination is not a GP reg.
35465 (*movdi_aarch64): Likewise.
35466
35467 2015-01-16 David Edelsohn <dje.gcc@gmail.com>
35468
35469 PR target/64623
35470 * config/rs6000/default64.h: Revert ISA change.
35471
35472 2015-01-16 Richard Biener <rguenther@suse.de>
35473
35474 PR middle-end/64614
35475 * tree-ssa-uninit.c: Include tree-cfg.h.
35476 (MAX_SWITCH_CASES): New define.
35477 (convert_control_dep_chain_into_preds): Handle switch statements.
35478 (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
35479 (normalize_one_pred_1): Do not split bit-manipulations.
35480 Record (x & CST).
35481
35482 2015-01-16 Richard Biener <rguenther@suse.de>
35483
35484 PR tree-optimization/64568
35485 * tree-ssa-forwprop.c (pass_forwprop::execute): Guard
35486 complex load rewriting for TARGET_MEM_REFs.
35487
35488 2015-01-16 Uros Bizjak <ubizjak@gmail.com>
35489
35490 * builtins.c (expand_builtin_acc_on_device): Check target for NULL.
35491
35492 2015-01-16 Matthew Wahab <matthew.wahab@arm.com>
35493
35494 PR target/64149
35495 * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
35496 variable.
35497 * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true.
35498 (aarch64_lra_p): Remove.
35499
35500 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
35501
35502 PR target/64363
35503 * ipa-chkp.h (chkp_instrumentable_p): New.
35504 * ipa-chkp.c: Include tree-inline.h.
35505 (chkp_instrumentable_p): New.
35506 (chkp_maybe_create_clone): Use chkp_instrumentable_p.
35507 Fix processing of not instrumentable functions.
35508 (chkp_versioning): Use chkp_instrumentable_p. Warn about
35509 not instrumentable functions.
35510 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
35511 chkp_instrumentable_p.
35512 * tree-inline.h (copy_forbidden): New.
35513 * tree-inline.c (copy_forbidden): Not static anymore.
35514
35515 2015-01-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
35516
35517 * optc-save-gen.awk (cl_target_option_print_diff): Mark indent,
35518 ptr1, ptr2 unused.
35519
35520 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
35521
35522 * lra-constraints.c (curr_insn_transform): Change a reload pseudo of
35523 type OP_OUT to OP_INOUT.
35524
35525 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
35526
35527 * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
35528 (high x) y) to y if x and y have the same base.
35529
35530 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
35531
35532 * config/arm/cortex-a57.md: New.
35533 * config/aarch64/aarch64.md: Include it.
35534 * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.
35535 * config/aarch64/aarch64-tune.md: Regenerate.
35536
35537 2015-01-16 Zhenqiang Chen <zhenqiang.chen@arm.com>
35538
35539 PR target/64015
35540 * ccmp.c (expand_ccmp_next): New function.
35541 (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence
35542 and compare insn sequence.
35543 * config/aarch64/aarch64.c (aarch64_code_to_ccmode,
35544 aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions.
35545 (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO.
35546 * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>.
35547 (*ccmp_ior): Changed to ccmp_ior<mode>.
35548 (cmp<mode>): New pattern.
35549 * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update
35550 parameters.
35551 * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters.
35552
35553 2015-01-16 Ilya Tocar <ilya.tocar@intel.com>
35554
35555 * config/i386/avx2intrin.h (_mm256_bslli_epi128,
35556 _mm256_bsrli_epi128): New.
35557 * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
35558
35559 2015-01-15 Jiong Wang <jiong.wang@arm.com>
35560
35561 * expmed.c (store_bit_field_using_insv): Improve warning message.
35562 Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.
35563
35564 2015-01-15 Jiong Wang <jiong.wang@arm.com>
35565
35566 PR rtl-optimization/64011
35567 * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
35568 there is partial overflow.
35569
35570 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
35571
35572 * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change
35573 prototype.
35574 (nds32_expand_epilogue_v3pop): Likewise.
35575 * config/nds32/nds32.md (sibcall): Define this for sibling call
35576 optimization.
35577 (sibcall_register): Likewise.
35578 (sibcall_immediate): Likewise.
35579 (sibcall_value): Likewise.
35580 (sibcall_value_register): Likewise.
35581 (sibcall_value_immediate): Likewise.
35582 (sibcall_epilogue): Likewise.
35583 (epilogue): Pass false to indicate this is not a sibcall epilogue.
35584 * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case.
35585 (nds32_expand_epilogue_v3pop): Likewise.
35586
35587 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
35588
35589 * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New.
35590 * config/nds32/nds32.md (unspec_volatile_func_return): Remove.
35591 (return_internal): New.
35592 (return): Define this named pattern.
35593 (simple_return): Define this named pattern.
35594 * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal
35595 pattern instead of unspec_volatile_func_return.
35596 (nds32_expand_epilogue_v3pop): Likewise.
35597 (nds32_can_use_return_insn): New function.
35598
35599 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
35600
35601 * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New.
35602 * config/nds32/nds32.md (pop25return): New.
35603 * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit
35604 pop25return pattern.
35605
35606 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
35607
35608 * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp,
35609 -mforbid-fp-as-gp, and -mex9 options.
35610
35611 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
35612
35613 * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and
35614 remove -mgp-direct option.
35615
35616 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
35617
35618 * doc/invoke.texi (--param early-inlining-insns): Update default value.
35619 * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.
35620
35621 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
35622
35623 * ipa-inline.c (inline_small_functions): Work around hints
35624 cache issue.
35625
35626 2015-01-15 Sandra Loosemore <sandra@codesourcery.com>
35627
35628 PR target/59710
35629 * doc/invoke.texi (Option Summary): Document new Nios II
35630 -mgpopt= syntax.
35631 (Nios II Options): Likewise.
35632 * config/nios2/nios2.opt: Add -mgpopt= option support.
35633 Modify existing -mgpopt and -mno-gpopt options to be aliases.
35634 * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New.
35635 * config/nios2/nios2.c (nios2_option_override): Adjust
35636 -mgpopt defaulting.
35637 (nios2_in_small_data_p): Return true for explicit small data
35638 sections even with -G0.
35639 (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt=
35640 option choices.
35641
35642 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
35643
35644 PR ipa/64612
35645 * ipa-inline-transform.c (can_remove_node_now_p): Fix handling
35646 of comdat locals.
35647 (inline_call): Fix removal of aliases.
35648
35649 2015-01-15 Jakub Jelinek <jakub@redhat.com>
35650
35651 * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR,
35652 include SANITIZE_VPTR in SANITIZE_UNDEFINED.
35653 * opts.c (common_handle_option): Add -fsanitize=vptr.
35654 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS,
35655 BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New.
35656 * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER,
35657 UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE.
35658 (ubsan_expand_vptr_ifn): New prototype.
35659 * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE,
35660 expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL,
35661 expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK,
35662 expand_LOOP_VECTORIZED): Make argument nameless, remove
35663 ATTRIBUTE_UNUSED.
35664 (expand_UBSAN_VPTR): New function.
35665 * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W
35666 in fn spec.
35667 (UBSAN_VPTR): New internal function.
35668 * sanopt.c (tree_map_traits): Renamed to ...
35669 (sanopt_tree_map_traits): ... this.
35670 (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes.
35671 (sanopt_ctx): Adjust asan_check_map type for tree_map_traits
35672 to sanopt_tree_map_traits renaming. Add vptr_check_map field.
35673 (maybe_optimize_ubsan_vptr_ifn): New function.
35674 (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR.
35675 (pass_sanopt::execute): Likewise. Call sanopt_optimize even for
35676 -fsanitize=vptr.
35677 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain
35678 internal calls like pure functions for aliasing, even when they
35679 have other side-effects that prevent making them ECF_PURE.
35680 * ubsan.c (ubsan_vptr_type_cache_decl): New variable.
35681 (ubsan_expand_vptr_ifn): New function.
35682
35683 2015-01-15 Vladimir Makarov <vmakarov@redhat.com>
35684
35685 PR rtl-optimization/64110
35686 * stmt.c (parse_output_constraint): Process '^' and '$'.
35687 (parse_input_constraint): Ditto.
35688 * lra-constraints.c (process_alt_operands): Process the new
35689 constraints.
35690 * ira-costs.c (record_reg_classes): Process the new constraint
35691 '^'.
35692 * genoutput.c (indep_constraints): Add '^' and '$'.
35693 * config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'.
35694 * doc/md.texi: Add description of the new constraints.
35695
35696 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
35697 Bernd Schmidt <bernds@codesourcery.com>
35698 Cesar Philippidis <cesar@codesourcery.com>
35699 James Norris <jnorris@codesourcery.com>
35700 Tom de Vries <tom@codesourcery.com>
35701 Ilmir Usmanov <i.usmanov@samsung.com>
35702 Dmitry Bocharnikov <dmitry.b@samsung.com>
35703 Evgeny Gavrin <e.gavrin@samsung.com>
35704 Jakub Jelinek <jakub@redhat.com>
35705
35706 * builtin-types.def (BT_FN_VOID_INT_INT_VAR)
35707 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
35708 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
35709 New function types.
35710 * builtins.c: Include "gomp-constants.h".
35711 (expand_builtin_acc_on_device): New function.
35712 (expand_builtin, is_inexpensive_builtin): Handle
35713 BUILT_IN_ACC_ON_DEVICE.
35714 * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER):
35715 New macros.
35716 * cgraph.c (cgraph_node::create): Consider flag_openacc next to
35717 flag_openmp.
35718 * config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h.
35719 <*-intelmic-* | *-intelmicemul-*> (tm_file): Add
35720 i386/intelmic-offload.h.
35721 * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link
35722 to libgomp and its dependencies.
35723 * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise.
35724 * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
35725 * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
35726 * config/ia64/hpux.h (LIB_SPEC): Likewise.
35727 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
35728 * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
35729 * doc/generic.texi: Update for OpenACC changes.
35730 * doc/gimple.texi: Likewise.
35731 * doc/invoke.texi: Likewise.
35732 * doc/sourcebuild.texi: Likewise.
35733 * gimple-pretty-print.c (dump_gimple_omp_for): Handle
35734 GF_OMP_FOR_KIND_OACC_LOOP.
35735 (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS,
35736 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA,
35737 GF_OMP_TARGET_KIND_OACC_UPDATE,
35738 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
35739 Dump more data.
35740 * gimple.c: Update comments for OpenACC changes.
35741 * gimple.def: Likewise.
35742 * gimple.h: Likewise.
35743 (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP,
35744 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
35745 GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE,
35746 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
35747 (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the
35748 appropriate place.
35749 (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions.
35750 * gimplify.c: Include "gomp-constants.h".
35751 Update comments for OpenACC changes.
35752 (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA,
35753 OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA,
35754 OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
35755 (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
35756 OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
35757 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
35758 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
35759 OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
35760 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
35761 OMP_CLAUSE_SEQ.
35762 (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use
35763 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
35764 OMP_CLAUSE_SET_MAP_KIND.
35765 (gimplify_oacc_cache): New function.
35766 (gimplify_omp_for): Handle OACC_LOOP.
35767 (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL,
35768 OACC_DATA.
35769 (gimplify_omp_target_update): Handle OACC_ENTER_DATA,
35770 OACC_EXIT_DATA, OACC_UPDATE.
35771 (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA,
35772 OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA,
35773 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE.
35774 (gimplify_body): Consider flag_openacc next to flag_openmp.
35775 * lto-streamer-out.c: Include "gomp-constants.h".
35776 * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE)
35777 (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END)
35778 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL)
35779 (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT)
35780 (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS)
35781 (BUILT_IN_ACC_ON_DEVICE): New builtins.
35782 * omp-low.c: Include "gomp-constants.h".
35783 Update comments for OpenACC changes.
35784 (struct omp_context): Add reduction_map, gwv_below, gwv_this
35785 members.
35786 (extract_omp_for_data, use_pointer_for_field, install_var_field)
35787 (new_omp_context, delete_omp_context, scan_sharing_clauses)
35788 (create_omp_child_function, scan_omp_for, scan_omp_target)
35789 (check_omp_nesting_restrictions, lower_reduction_clauses)
35790 (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges):
35791 Update for OpenACC changes.
35792 (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS:
35793 OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH,
35794 OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG,
35795 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
35796 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT,
35797 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of
35798 OMP_CLAUSE_MAP_*.
35799 (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
35800 Handle GF_OMP_FOR_KIND_OACC_LOOP.
35801 (expand_omp_target, lower_omp_target): Handle
35802 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
35803 GF_OMP_TARGET_KIND_OACC_UPDATE,
35804 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA,
35805 GF_OMP_TARGET_KIND_OACC_DATA.
35806 (pass_expand_omp::execute, execute_lower_omp)
35807 (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to
35808 flag_openmp.
35809 (offload_symbol_decl): New variable.
35810 (oacc_get_reduction_array_id, oacc_max_threads)
35811 (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction)
35812 (maybe_lookup_oacc_reduction, enclosing_target_ctx)
35813 (oacc_loop_or_target_p, oacc_lower_reduction_var_helper)
35814 (oacc_gimple_assign, oacc_initialize_reduction_data)
35815 (oacc_finalize_reduction_data, oacc_process_reduction_data): New
35816 functions.
35817 (is_targetreg_ctx): Remove function.
35818 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_,
35819 OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE,
35820 OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
35821 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
35822 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS,
35823 OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH.
35824 * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly.
35825 * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR)
35826 (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR)
35827 (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR)
35828 (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR)
35829 (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros.
35830 * tree-core.h: Update comments for OpenACC changes.
35831 (enum omp_clause_map_kind): Remove.
35832 (struct tree_omp_clause): Change type of map_kind member from enum
35833 omp_clause_map_kind to unsigned char.
35834 * tree-inline.c: Update comments for OpenACC changes.
35835 * tree-nested.c: Likewise. Include "gomp-constants.h".
35836 (convert_nonlocal_reference_stmt, convert_local_reference_stmt)
35837 (convert_tramp_reference_stmt, convert_gimple_call): Update for
35838 OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
35839 OMP_CLAUSE_SET_MAP_KIND.
35840 * tree-pretty-print.c: Include "gomp-constants.h".
35841 (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT,
35842 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG,
35843 OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ,
35844 OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR,
35845 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
35846 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_*
35847 instead of OMP_CLAUSE_MAP_*.
35848 (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS,
35849 OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE,
35850 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
35851 * tree-streamer-in.c: Include "gomp-constants.h".
35852 (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of
35853 OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
35854 * tree-streamer-out.c: Include "gomp-constants.h".
35855 (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of
35856 OMP_CLAUSE_MAP_*.
35857 * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA)
35858 (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE)
35859 (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes.
35860 * tree.c (omp_clause_num_ops): Update accordingly.
35861 * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE):
35862 Likewise.
35863 (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY)
35864 (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES)
35865 (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES)
35866 (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES)
35867 (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES)
35868 (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros.
35869 * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind.
35870 (OMP_CLAUSE_SET_MAP_KIND): New macro.
35871 * varpool.c (varpool_node::get_create): Consider flag_openacc next
35872 to flag_openmp.
35873 * config/i386/intelmic-offload.h: New file.
35874 * config/nvptx/offload.h: Likewise.
35875
35876 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
35877
35878 * explow.h: Remove duplicate contents.
35879 * dojump.h: Likewise.
35880
35881 2015-01-15 Richard Earnshaw <rearnsha@arm.com>
35882
35883 * arm.c (arm_xgene_tune): Add default initializer for instruction
35884 fusion.
35885
35886 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
35887
35888 PR ipa/64068
35889 PR ipa/64559
35890 * ipa.c (symbol_table::remove_unreachable_nodes):
35891 Do not put abstract origins into boundary.
35892
35893 2015-01-15 Evgeny Stupachenko <evstupac@gmail.com>
35894
35895 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage.
35896 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto.
35897
35898 2015-01-15 Steve Ellcey <sellcey@mips.com>
35899
35900 * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h,
35901 cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h,
35902 builtins.def, and chkp-builtins.def.
35903
35904 2015-01-15 David Edelsohn <dje.gcc@gmail.com>
35905
35906 * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use
35907 ISA 2.7 (POWER8).
35908
35909 2015-01-15 Richard Biener <rguenther@suse.de>
35910
35911 PR tree-optimization/61743
35912 * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range
35913 information on PHIs for some simple cases.
35914
35915 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
35916
35917 * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list.
35918 Include xgene1.md.
35919 * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1.
35920 * config/arm/arm-cores.def (xgene1): New entry.
35921 * config/arm/arm-tables.opt: Regenerate.
35922 * config/arm/arm-tune.md: Regenerate.
35923 * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1.
35924
35925 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
35926
35927 * tree-if-conv.c: Include hash-map.h.
35928 (aggressive_if_conv): New variable.
35929 (fold_build_cond_expr): Add simplification of non-zero condition.
35930 (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge
35931 destination block is not always executed.
35932 (if_convertible_phi_p): Fix commentary, allow phi nodes have more
35933 than two predecessors if AGGRESSIVE_IF_CONV is true.
35934 (if_convertible_stmt_p): Fix commentary.
35935 (all_preds_critical_p): New function.
35936 (has_pred_critical_p): New function.
35937 (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true
35938 BB can have more than two predecessors and all incoming edges can be
35939 critical.
35940 (predicate_bbs): Skip predication for loop exit block, use build2_loc
35941 to compute predicate for true edge.
35942 (find_phi_replacement_condition): Delete this function.
35943 (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED.
35944 Allow interchange PHI arguments if EXTENDED is false.
35945 Change check that block containing reduction statement candidate
35946 is predecessor of phi-block since phi may have more than two arguments.
35947 (phi_args_hash_traits): New helper structure.
35948 (struct phi_args_hash_traits): New type.
35949 (phi_args_hash_traits::hash): New function.
35950 (phi_args_hash_traits::equal_keys): New function.
35951 (gen_phi_arg_condition): New function.
35952 (predicate_scalar_phi): Add handling of phi nodes with more than two
35953 arguments, delete COND and TRUE_BB arguments, insert body of
35954 find_phi_replacement_condition to predicate ordinary phi nodes.
35955 (predicate_all_scalar_phis): Skip blocks with the only predecessor,
35956 delete call of find_phi_replacement_condition and invoke
35957 predicate_scalar_phi with two arguments.
35958 (insert_gimplified_predicates): Add assert that non-predicated block
35959 don't have statements to insert.
35960 (ifcvt_split_critical_edges): New function.
35961 (ifcvt_split_def_stmt): Likewise.
35962 (ifcvt_walk_pattern_tree): Likewise.
35963 (stmt_is_root_of_bool_pattern): Likewise.
35964 (ifcvt_repair_bool_pattern): Likewise.
35965 (ifcvt_local_dce): Likewise.
35966 (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which
35967 is copy of inner or outer loop force_vectorize field, invoke
35968 ifcvt_split_critical_edges, ifcvt_local_dce and
35969 ifcvt_repair_bool_pattern for aggressive if-conversion.
35970
35971 2015-01-15 Philipp Tomsich <ptomsich@theobroma-systems.com>
35972
35973 * config/aarch64/aarch64.md: Include xgene1.md.
35974 * config/aarch64/xgene1.md: New file.
35975
35976 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
35977
35978 * config/aarch64/aarch64-cores.def (xgene1): Update/add the
35979 xgene1 (APM XGene-1) core definition.
35980 * config/aarch64/aarch64.c: Add cost tables for APM XGene-1
35981 * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1
35982 * doc/invoke.texi: Document -mcpu=xgene1.
35983
35984 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
35985
35986 * dojump.h: New header file.
35987 * explow.h: Likewise.
35988 * expr.h: Remove includes.
35989 Move expmed.c prototypes to expmed.h.
35990 Move dojump.c prototypes to dojump.h.
35991 Move alias.c prototypes to alias.h.
35992 Move explow.c prototypes to explow.h.
35993 Move calls.c prototypes to calls.h.
35994 Move emit-rtl.c prototypes to emit-rtl.h.
35995 Move varasm.c prototypes to varasm.h.
35996 Move stmt.c prototypes to stmt.h.
35997 (saved_pending_stack_adjust): Move to dojump.h.
35998 (adjust_address): Move to explow.h.
35999 (adjust_address_nv): Move to emit-rtl.h.
36000 (adjust_bitfield_address): Likewise.
36001 (adjust_bitfield_address_size): Likewise.
36002 (adjust_bitfield_address_nv): Likewise.
36003 (adjust_automodify_address_nv): Likewise.
36004 * explow.c (expr_size): Move to expr.c.
36005 (int_expr_size): Likewise.
36006 (tree_expr_size): Likewise.
36007 Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36008 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
36009 * genemit.c (main): Generate includes statistics.h, real.h,
36010 fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
36011 stmt.h.
36012 * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h,
36013 function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h,
36014 explow.h, emit-rtl.h, stmt.h.
36015 * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
36016 fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
36017 * genemit.c (open_base_files): Generate includes flags.h, statistics.h,
36018 real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h,
36019 emit-rtl.h, varasm.h, stmt.h.
36020 * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h,
36021 hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h,
36022 function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h,
36023 fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h,
36024 expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
36025 * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
36026 double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
36027 function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
36028 insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
36029 tm.h tree.h varasm.h vec.h wide-int.h.
36030 * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
36031 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
36032 hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
36033 real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
36034 * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h
36035 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h
36036 insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
36037 * loop-iv.c: Likewise.
36038 * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h
36039 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h
36040 statistics.h stmt.h tree.h varasm.h wide-int.h.
36041 * lra-constraints.c: Likewise.
36042 * lra-eliminations.c: Likewise.
36043 * lra-lives.c: Likewise.
36044 * lra-remat.c: Likewise.
36045 * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
36046 explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
36047 statistics.h stmt.h tree.h varasm.h wide-int.h.
36048 * hw-doloop.c: Likewise.
36049 * ira-color.c: Likewise.
36050 * ira-emit.c: Likewise.
36051 * loop-doloop.c: Likewise.
36052 * loop-invariant.c: Likewise.
36053 * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
36054 explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
36055 statistics.h stmt.h tree.h varasm.h wide-int.h.
36056 * caller-save.c: Include alias.h calls.h dojump.h double-int.h
36057 emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h
36058 statistics.h stmt.h tree.h varasm.h wide-int.h.
36059 * combine-stack-adj.c: Likewise.
36060 * cse.c: Likewise.
36061 * ddg.c: Likewise.
36062 * ifcvt.c: Likewise.
36063 * ira-costs.c: Likewise.
36064 * jump.c: Likewise.
36065 * lra-coalesce.c: Likewise.
36066 * lra-spills.c: Likewise.
36067 * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
36068 explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
36069 stmt.h varasm.h wide-int.h.
36070 * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
36071 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
36072 varasm.h.
36073 * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
36074 double-int.h explow.h expmed.h fixed-value.h flags.h real.h
36075 statistics.h stmt.h varasm.h wide-int.h.
36076 * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
36077 expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
36078 varasm.h wide-int.h.
36079 * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
36080 expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
36081 * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
36082 emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
36083 statistics.h stmt.h.
36084 * config/tilepro/tilepro.c: Likewise.
36085 * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
36086 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
36087 * config/pdp11/pdp11.c: Likewise.
36088 * config/xtensa/xtensa.c: Likewise.
36089 * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
36090 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
36091 varasm.h.
36092 * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36093 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
36094 insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
36095 * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36096 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
36097 insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
36098 * rtl-chkp.c: Likewise.
36099 * tree-chkp-opt.c: Likewise.
36100 * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h
36101 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
36102 hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h.
36103 * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36104 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
36105 statistics.h stmt.h.
36106 * tree-vect-data-refs.c: Likewise.
36107 * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
36108 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
36109 rtl.h statistics.h stmt.h varasm.h.
36110 * internal-fn.c: Likewise.
36111 * ipa-icf-gimple.c: Likewise.
36112 * lto-section-out.c: Likewise.
36113 * tree-data-ref.c: Likewise.
36114 * tree-nested.c: Likewise.
36115 * tree-outof-ssa.c: Likewise.
36116 * tree-predcom.c: Likewise.
36117 * tree-pretty-print.c: Likewise.
36118 * tree-scalar-evolution.c: Likewise.
36119 * tree-ssa-strlen.c: Likewise.
36120 * tree-vect-loop.c: Likewise.
36121 * tree-vect-patterns.c: Likewise.
36122 * tree-vect-slp.c: Likewise.
36123 * tree-vect-stmts.c: Likewise.
36124 * tsan.c: Likewise.
36125 * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36126 fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
36127 stmt.h.
36128 * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
36129 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
36130 statistics.h stmt.h varasm.h.
36131 * loop-unroll.c: Likewise.
36132 * ubsan.c: Likewise.
36133 * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
36134 expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
36135 stmt.h varasm.h.
36136 * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36137 fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
36138 * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
36139 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
36140 statistics.h stmt.h.
36141 * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
36142 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
36143 statistics.h stmt.h varasm.h.
36144 * gimple-match-head.c: Likewise.
36145 * lto-cgraph.c: Likewise.
36146 * lto-section-in.c: Likewise.
36147 * lto-streamer-in.c: Likewise.
36148 * lto-streamer-out.c: Likewise.
36149 * tree-affine.c: Likewise.
36150 * tree-cfg.c: Likewise.
36151 * tree-cfgcleanup.c: Likewise.
36152 * tree-if-conv.c: Likewise.
36153 * tree-into-ssa.c: Likewise.
36154 * tree-ssa-alias.c: Likewise.
36155 * tree-ssa-copyrename.c: Likewise.
36156 * tree-ssa-dse.c: Likewise.
36157 * tree-ssa-forwprop.c: Likewise.
36158 * tree-ssa-live.c: Likewise.
36159 * tree-ssa-math-opts.c: Likewise.
36160 * tree-ssa-pre.c: Likewise.
36161 * tree-ssa-sccvn.c: Likewise.
36162 * tree-tailcall.c: Likewise.
36163 * tree-vect-generic.c: Likewise.
36164 * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36165 fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
36166 * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36167 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
36168 * varasm.c: Likewise.
36169 * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36170 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
36171 varasm.h.
36172 * init-regs.c: Likewise.
36173 * ira.c: Likewise.
36174 * omp-low.c: Likewise.
36175 * stack-ptr-mod.c: Likewise.
36176 * tree-ssa-reassoc.c: Likewise.
36177 * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36178 fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
36179 varasm.h.
36180 * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36181 fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
36182 * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36183 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
36184 * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36185 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
36186 * tree-ssa-phiopt.c: Likewise.
36187 * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36188 fixed-value.h hashtab.h real.h statistics.h stmt.h.
36189 * config/fr30/fr30.c: Likewise.
36190 * config/frv/frv.c: Likewise.
36191 * expr.c: Likewise.
36192 * final.c: Likewise.
36193 * optabs.c: Likewise.
36194 * passes.c: Likewise.
36195 * simplify-rtx.c: Likewise.
36196 * stmt.c: Likewise.
36197 * toplev.c: Likewise.
36198 * var-tracking.c: Likewise.
36199 * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36200 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
36201 * lower-subreg.c: Likewise.
36202 * postreload-gcse.c: Likewise.
36203 * ree.c: Likewise.
36204 * reginfo.c: Likewise.
36205 * store-motion.c: Likewise.
36206 * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36207 fixed-value.h hashtab.h real.h stmt.h varasm.h.
36208 * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36209 fixed-value.h hashtab.h statistics.h stmt.h.
36210 * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36211 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
36212 * except.c: Likewise.
36213 * explow.c: Likewise.
36214 * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36215 fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
36216 varasm.h.
36217 * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36218 fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
36219 * tree-ssa-structalias.c: Likewise.
36220 * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36221 fixed-value.h insn-config.h real.h statistics.h.
36222 * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36223 fixed-value.h insn-config.h real.h statistics.h stmt.h.
36224 * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36225 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
36226 * cfgbuild.c: Likewise.
36227 * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36228 fixed-value.h real.h rtl.h statistics.h stmt.h.
36229 * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36230 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
36231 * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36232 fixed-value.h real.h statistics.h stmt.h.
36233 * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36234 fixed-value.h real.h statistics.h stmt.h varasm.h.
36235 * cprop.c: Likewise.
36236 * modulo-sched.c: Likewise.
36237 * postreload.c: Likewise.
36238 * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
36239 flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
36240 statistics.h stmt.h varasm.h.
36241 * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
36242 explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
36243 rtl.h statistics.h stmt.h varasm.h.
36244 * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
36245 fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
36246 varasm.h.
36247 * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
36248 function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
36249 varasm.h.
36250 * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
36251 fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
36252 varasm.h.
36253 * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
36254 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
36255 * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
36256 function.h real.h statistics.h stmt.h varasm.h.
36257 * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
36258 insn-config.h real.h statistics.h stmt.h.
36259 * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
36260 statistics.h stmt.h.
36261 * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
36262 fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
36263 statistics.h stmt.h varasm.h.
36264 * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h
36265 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
36266 * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
36267 flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
36268 * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
36269 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
36270 statistics.h stmt.h varasm.h.
36271 * ipa-polymorphic-call.c: Likewise.
36272 * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h
36273 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
36274 statistics.h stmt.h.
36275 * config/c6x/c6x.c: Likewise.
36276 * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h
36277 explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
36278 statistics.h stmt.h varasm.h.
36279 * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h
36280 fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h
36281 stmt.h varasm.h.
36282 * ipa-split.c: Likewise.
36283 * tree-eh.c: Likewise.
36284 * tree-ssa-dce.c: Likewise.
36285 * tree-ssa-loop-niter.c: Likewise.
36286 * tree-vrp.c: Likewise.
36287 * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
36288 expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
36289 stmt.h.
36290 * config/nds32/nds32-fp-as-gp.c: Likewise.
36291 * config/nds32/nds32-intrinsic.c: Likewise.
36292 * config/nds32/nds32-isr.c: Likewise.
36293 * config/nds32/nds32-md-auxiliary.c: Likewise.
36294 * config/nds32/nds32-memory-manipulation.c: Likewise.
36295 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
36296 * config/nds32/nds32-predicates.c: Likewise.
36297 * config/nds32/nds32.c: Likewise.
36298 * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
36299 fixed-value.h hashtab.h real.h statistics.h.
36300 * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
36301 fixed-value.h hashtab.h real.h statistics.h stmt.h.
36302 * config/arm/arm.c: Likewise.
36303 * config/avr/avr.c: Likewise.
36304 * config/bfin/bfin.c: Likewise.
36305 * config/h8300/h8300.c: Likewise.
36306 * config/i386/i386.c: Likewise.
36307 * config/ia64/ia64.c: Likewise.
36308 * config/iq2000/iq2000.c: Likewise.
36309 * config/m32c/m32c.c: Likewise.
36310 * config/m32r/m32r.c: Likewise.
36311 * config/m68k/m68k.c: Likewise.
36312 * config/mcore/mcore.c: Likewise.
36313 * config/mep/mep.c: Likewise.
36314 * config/mips/mips.c: Likewise.
36315 * config/mn10300/mn10300.c: Likewise.
36316 * config/moxie/moxie.c: Likewise.
36317 * config/pa/pa.c: Likewise.
36318 * config/rl78/rl78.c: Likewise.
36319 * config/rx/rx.c: Likewise.
36320 * config/s390/s390.c: Likewise.
36321 * config/sh/sh.c: Likewise.
36322 * config/sparc/sparc.c: Likewise.
36323 * config/spu/spu.c: Likewise.
36324 * config/stormy16/stormy16.c: Likewise.
36325 * config/v850/v850.c: Likewise.
36326 * config/vax/vax.c: Likewise.
36327 * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
36328 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
36329 * config/msp430/msp430.c: Likewise.
36330 * predict.c: Likewise.
36331 * value-prof.c: Likewise.
36332 * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
36333 expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
36334 * config/microblaze/microblaze.c: Likewise.
36335 * config/nios2/nios2.c: Likewise.
36336 * config/rs6000/rs6000.c: Likewise.
36337 * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
36338 insn-config.h real.h rtl.h statistics.h stmt.h.
36339 * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
36340 insn-config.h real.h statistics.h stmt.h.
36341 * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
36342 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
36343 * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
36344 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
36345 * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h
36346 fixed-value.h real.h statistics.h stmt.h.
36347 * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
36348 fixed-value.h statistics.h stmt.h.
36349 * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
36350 stmt.h.
36351
36352 2015-01-15 Jakub Jelinek <jakub@redhat.com>
36353
36354 * gengtype.c (create_user_defined_type): Workaround
36355 -Wmaybe-uninitialized false positives.
36356 * cse.c (fold_rtx): Likewise.
36357 * loop-invariant.c (gain_for_invariant): Likewise.
36358
36359 2015-01-15 Eric Botcazou <ebotcazou@adacore.com>
36360
36361 * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
36362 set the memory attributes in all cases but clear MEM_EXPR if need be.
36363
36364 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
36365
36366 PR tree-optimization/64434
36367 * cfgexpand.c (reorder_operands): New function.
36368 (expand_gimple_basic_block): Insert call of reorder_operands if
36369 optimized is true.
36370
36371 2015-01-15 Matthew Fortune <matthew.fortune@imgtec.com>
36372
36373 * config/mips/micromips.md (*swp): Remove explicit parallel.
36374 (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise.
36375 * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise.
36376 (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise.
36377 (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise.
36378 (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise.
36379 (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise.
36380 (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise.
36381 (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise.
36382 (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise.
36383 (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise.
36384 (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise.
36385 (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise.
36386 (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise.
36387 (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise.
36388 (mips_wrdsp): Likewise.
36389 * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit
36390 parallel.
36391 (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise.
36392 (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise.
36393 (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise.
36394 (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise.
36395 (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise.
36396 (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise.
36397 * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel.
36398 (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise.
36399 (ssmaddsqdq4, ssmsubsqdq4): Likewise.
36400
36401 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
36402
36403 * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA.
36404 (mips_print_operand): Support 'y' to print exact log2 in decimal
36405 of a const_int.
36406 * config/mips/mips.h (ISA_HAS_LSA): New define.
36407 (ISA_HAS_DLSA): Likewise.
36408 * config/mips/mips.md (<GPR:d>lsa): New define_insn.
36409 * config/mips/predicates.md (const_immlsa_operand): New predicate.
36410
36411 2015-01-15 Martin Liska <mliska@suse.cz>
36412
36413 PR target/64377
36414 * optc-save-gen.awk: Add support for array types.
36415
36416 2015-01-15 Richard Biener <rguenther@suse.de>
36417
36418 PR middle-end/64365
36419 * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
36420 for MEM_REF access functions with the same base can never partially
36421 overlap.
36422
36423 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
36424
36425 * common.opt: New option -fstack-protector-explicit.
36426 * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
36427 (stack_protect_decl_phase): Handle stack_protect attribute for
36428 explicit stack protection requests.
36429 (expand_used_vars): Similarly.
36430 * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
36431 * doc/extend.texi: Add documentation for "stack_protect" attribute.
36432 * doc/invoke.texi: Add documentation for -fstack-protector-explicit.
36433
36434 2015-01-14 Oleg Endo <olegendo@gcc.gnu.org>
36435
36436 PR target/53988
36437 * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
36438 reg-reg copies.
36439 (sh_extending_set_of_reg): New struct.
36440 (sh_find_extending_set_of_reg, sh_split_tst_subregs,
36441 sh_remove_reg_dead_or_unused_notes): New Declarations.
36442 * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
36443 sh_find_extending_set_of_reg, sh_split_tst_subregs,
36444 sh_extending_set_of_reg::use_as_extended_reg): New functions.
36445 * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
36446 convert to insn_and_split and use new function sh_split_tst_subregs.
36447
36448 2015-01-14 Sandra Loosemore <sandra@codesourcery.com>
36449
36450 * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
36451 option.
36452 (Optimization Options): Move -fuse-ld documentation to...
36453 (Link Options): ...here.
36454
36455 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
36456
36457 * config/mips/constraints.md (ZC): Add support for R6 LL/SC
36458 offsets.
36459 (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
36460 * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
36461 (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
36462 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
36463 instead of ZR for the memory operand of LL/SC.
36464 (compare_and_swap_12, sync_add<mode>): Likewise.
36465 (sync_<optab>_12, sync_old_<optab>_12): Likewise.
36466 (sync_new_<optab>_12, sync_nand_12): Likewise.
36467 (sync_old_nand_12, sync_new_nand_12): Likewise.
36468 (sync_sub<mode>, sync_old_add<mode>): Likewise.
36469 (sync_old_sub<mode>, sync_new_add<mode>): Likewise.
36470 (sync_new_sub<mode>, sync_<optab><mode>): Likewise.
36471 (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
36472 (sync_nand<mode>, sync_old_nand<mode>): Likewise.
36473 (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
36474 (test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
36475 (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
36476 * doc/md.texi (ZC): Update description.
36477
36478 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
36479
36480 * builtins.c (expand_builtin_atomic_exchange): Remove error when
36481 memory model is CONSUME.
36482 (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
36483 expand_builtin_atomic_store): Change invalid memory model errors to
36484 warnings.
36485 (expand_builtin_atomic_clear): Change invalid model errors to warnings
36486 and issue warning for CONSUME.
36487
36488 2015-01-14 Aldy Hernandez <aldyh@redhat.com>
36489
36490 * lto-cgraph: Update function comments for
36491 lto_symtab_encoder_encode_*.
36492
36493 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
36494
36495 * Makefile.in (site.exp): Do not set ENABLE_LTO.
36496
36497 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
36498
36499 * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
36500 * lto-cgraph.c (select_what_to_stream): Remove argument, use
36501 lto_stream_offload_p instead.
36502 * lto-streamer.h (select_what_to_stream): Remove argument.
36503 * passes.c (ipa_write_summaries): Likewise.
36504 * tree-pass.h (ipa_write_summaries): Likewise.
36505
36506 2015-01-14 Richard Biener <rguenther@suse.de>
36507
36508 PR tree-optimization/59354
36509 * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
36510 groups larger than the slp group size as having gaps.
36511
36512 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
36513
36514 PR middle-end/59448
36515 * builtins.c (get_memmodel): Promote consume to acquire always.
36516
36517 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
36518
36519 PR target/64386
36520 * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
36521 V32HImode.
36522
36523 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
36524
36525 PR target/64393
36526 * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
36527 Enable AVX512BW.
36528 (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
36529 * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
36530 AVX512VBMI, as it implies AVX512BW.
36531
36532 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
36533
36534 PR target/64387
36535 * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
36536 (vec_unpacks_hi_v16sf): Ditto.
36537
36538 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
36539
36540 * config/aarch64/arm_neon.h: Error out if AdvancedSIMD
36541 is not available.
36542
36543 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
36544
36545 * doc/invoke.texi (mapcs): Mention deprecation.
36546 (mapcs-frame): Likewise.
36547
36548 2015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
36549
36550 PR target/64453
36551 * config/arm/arm.c (callee_saved_reg_p): Define.
36552 (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
36553 register is callee saved instead of !call_used_regs[reg].
36554 (thumb1_compute_save_reg_mask): Likewise.
36555
36556 2015-01-14 Hale Wang <hale.wang@arm.com>
36557
36558 * config/arm/arm.c: Tune the max_cond_insns/branch_cost for
36559 Cortex-M7.
36560
36561 2015-01-14 Richard Biener <rguenther@suse.de>
36562
36563 PR lto/64415
36564 * tree-inline.c (insert_debug_decl_map): Check destination
36565 function MAY_HAVE_DEBUG_STMTS.
36566 (insert_init_debug_bind): Likewise.
36567 (insert_init_stmt): Remove redundant check.
36568 (remap_gimple_stmt): Drop debug stmts if the destination
36569 function has var-tracking assignments disabled.
36570
36571 2015-01-14 Martin Liska <mliska@suse.cz>
36572
36573 * ipa-icf-gimple.c (func_checker::compare_operand): Add support for
36574 IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.
36575
36576 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
36577
36578 PR target/64460
36579 * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
36580 (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.
36581
36582 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
36583
36584 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
36585 level from an ARCH; do not inject the default.
36586 (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
36587 MIPS_ISA_LEVEL_SPEC.
36588 (MIPS_ISA_NAN2008_SPEC): Update comment.
36589 (BASE_DRIVER_SELF_SPECS): Likewise.
36590 * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
36591 MIPS_DEFAULT_ISA_LEVEL_SPEC.
36592 * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
36593 * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
36594 * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.
36595
36596 2015-01-14 Richard Biener <rguenther@suse.de>
36597
36598 PR tree-optimization/64493
36599 PR tree-optimization/64495
36600 * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
36601 assign the proper vectorized PHI to the inner loop exit PHIs.
36602
36603 2015-01-14 Joey Ye <joey.ye@arm.com>
36604
36605 * config/arm/arm.c (arm_compute_save_reg_mask):
36606 Do not save lr in case of tail call.
36607 * config/arm/thumb2.md (*thumb2_pop_single): New pattern.
36608
36609 2015-01-14 Martin Uecker <uecker@eecs.berkeley.edu>
36610
36611 * tree-vrp.c (check_array_ref): Emit more warnings
36612 for warn_array_bounds >= 2.
36613 * common.opt: New option -Warray-bounds=.
36614 * doc/invoke.texi: Document -Warray-bounds=.
36615
36616 2015-01-14 Chung-Ju Wu <jasonwucj@gmail.com>
36617
36618 * config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
36619 (mforbid-fp-as-gp): Remove.
36620 (mex9): Remove.
36621 * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
36622 (nds32_symbol_load_store_p): Remove.
36623 (nds32_fp_as_gp_check_available): Clean up implementation.
36624 * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
36625 cases.
36626 * config/nds32/nds32.c (nds32_asm_file_start): No need to consider
36627 fp-as-gp and ex9 cases.
36628
36629 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
36630
36631 * tree-profile.c (init_ic_make_global_vars): Drop workaround
36632 for bintuils bug 14342.
36633 (init_ic_make_global_vars): Likewise.
36634 (gimple_init_edge_profiler): Likewise.
36635 (gimple_gen_ic_func_profiler): Likewise.
36636
36637 2015-01-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
36638
36639 * ipa-inline.c (inline_small_functions): Swap the operands in
36640 enum.
36641
36642 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
36643
36644 PR ipa/64481
36645 * ipa-inline-analysis.c (node_growth_cache): Remove.
36646 (initialize_growth_caches): Do not initialize it.
36647 (free_growth_caches): Do not free it.
36648 (do_estimate_growth): Rename to ...
36649 (estimate_growth): ... this one; drop growth cache code.
36650 (growth_likely_positive): Always go the heuristics way.
36651 * ipa-inline.c (can_inline_edge_p): Walk through aliases.
36652 (reset_edge_caches): Do not reset node growth.
36653 (heap_edge_removal_hook): Do not maintain cache.
36654 (inline_small_functions): Likewise; strenghten sanity check.
36655 (ipa_inline): Do not maintain caches.
36656 * ipa-inline.h (node_growth_cache): Remove.
36657 (do_estimate_growth): Remove to ...
36658 (estimate_growth): this one; remove inline version.
36659 (reset_node_growth_cache): Remove.
36660
36661 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
36662
36663 PR ipa/64565
36664 * ipa-inline.c (inline_small_functions): Update callee keys after
36665 resolving speculation
36666 (inline_small_functions): Always check monotonicity of the queue.
36667
36668 2015-01-13 Marek Polacek <polacek@redhat.com>
36669
36670 PR middle-end/64391
36671 * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
36672
36673 2015-01-13 Jakub Jelinek <jakub@redhat.com>
36674
36675 PR rtl-optimization/64286
36676 * ree.c (combine_reaching_defs): Move part of comment earlier,
36677 remove !SCALAR_INT_MODE_P check.
36678 (add_removable_extension): Don't add vector mode
36679 extensions if all uses of the source register aren't the same
36680 vector extensions.
36681
36682 2015-01-13 Renlin Li <renlin.li@arm.com>
36683
36684 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
36685 (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
36686
36687 2015-01-13 Martin Liska <mliska@suse.cz>
36688
36689 * ipa-icf.c (sem_function::equals_private): Call new functions
36690 cl_target_option_print_diff and cl_optimization_print_diff.
36691 * optc-save-gen.awk (cl_target_option_print_diff): New function.
36692 (cl_optimization_print_diff): Likewise.
36693 * opth-gen.awk: Likewise.
36694
36695 2015-01-13 Richard Sandiford <richard.sandiford@arm.com>
36696
36697 * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
36698 (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
36699 (*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
36700 (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
36701 (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
36702 (*sub_uxtsi_multp2_uxtw): Add stack pointer sources.
36703
36704 2015-01-13 Andrew Pinski <apinski@cavium.com>
36705
36706 * config/aarch64/aarch64.c (fusion_load_store): Check dest mode
36707 instead of src mode.
36708
36709 2015-01-13 Richard Biener <rguenther@suse.de>
36710
36711 PR lto/64373
36712 * lto-streamer-out.c (tree_is_indexable): Guard for NULL
36713 DECL_CONTEXT.
36714
36715 2015-01-13 Andrew Pinski <apinski@cavium.com>
36716
36717 * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
36718 volatile mems.
36719 (aarch64_operands_adjust_ok_for_ldpstp): Likewise.
36720
36721 2015-01-13 Jakub Jelinek <jakub@redhat.com>
36722
36723 PR middle-end/63974
36724 * cfgexpand.c (expand_computed_goto): Don't call
36725 convert_memory_address here.
36726
36727 2015-01-13 Richard Biener <rguenther@suse.de>
36728
36729 PR tree-optimization/64406
36730 * tree-loop-distibution.c (pass_loop_distribution::execute):
36731 Reset the SCEV hashtable if we distributed anything.
36732
36733 2015-01-13 Richard Biener <rguenther@suse.de>
36734
36735 PR tree-optimization/64404
36736 * tree-vect-stmts.c (vectorizable_load): Reject conflicting
36737 SLP types for CSEd loads.
36738
36739 2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
36740
36741 PR tree-optimization/64436
36742 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
36743 merge of two symbolic numbers for a bitwise OR to ...
36744 (perform_symbolic_merge): This. Also fix computation of the range and
36745 end of the symbolic number corresponding to the result of a bitwise OR.
36746
36747 2015-01-13 Richard Biener <rguenther@suse.de>
36748
36749 PR tree-optimization/64568
36750 * tree-ssa-forwprop.c (pass_forwprop::execute): Properly
36751 release defs of removed stmts, avoid splitting TARGET_MEM_REFs.
36752
36753 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
36754
36755 * config/nds32/nds32.c (nds32_legitimate_address_p): Consider
36756 TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.
36757
36758 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
36759
36760 * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
36761 target-specific symbol_ref flag.
36762 (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
36763 resides in rodata section.
36764 * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
36765 (nds32_encode_section_info): New function.
36766
36767 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
36768
36769 * config/nds32/nds32.md (call): Use pseudo instruction bal which
36770 clobbers TA_REGNUM if large code model is specified.
36771 (call_register): Likewise.
36772 (call_immediate): Likewise.
36773 (call_value): Likewise.
36774 (call_value_register): Likewise.
36775 (call_value_immediate): Likewise.
36776
36777 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
36778
36779 * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
36780 (TARGET_CMODEL_MEDIUM): New macro.
36781 (TARGET_CMODEL_LARGE): New macro.
36782 * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
36783 code model setting in assembly code.
36784
36785 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
36786
36787 * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
36788 Remove MASK_GP_DIRECT flag.
36789 * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
36790 one of the multilib default options.
36791 * config/nds32/nds32.opt (mgp-direct): Remove.
36792 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
36793 -mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian.
36794
36795 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
36796
36797 * config/nds32/nds32.opt (mcmodel): Add new option.
36798 * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
36799 to describe code model.
36800
36801 2015-01-13 Oleg Endo <olegendo@gcc.gnu.org>
36802
36803 PR target/64479
36804 * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
36805
36806 2015-01-12 Kaz Kojima <kkojima@gcc.gnu.org>
36807
36808 * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function.
36809 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
36810 (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables.
36811 (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and
36812 __builtin_sh_set_fpscr.
36813
36814 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
36815
36816 * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
36817 after a funtion name just to indicate it is a function.
36818 ([-fsanitize-undefined-trap-on-error]): Likewise.
36819 ([-fdbg-cnt=]): Likewise.
36820 ([-mmemcpy]): Likewise.
36821 ([-mflush-func]): Likewise.
36822 ([-msynci]): Likewise.
36823
36824 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
36825
36826 * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
36827 example.
36828
36829 2015-01-12 Jakub Jelinek <jakub@redhat.com>
36830
36831 PR tree-optimization/64563
36832 * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
36833 instead of != VR_VARYING.
36834
36835 PR target/64513
36836 * config/i386/i386.c (ix86_expand_prologue): Add
36837 REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
36838
36839 PR tree-optimization/64454
36840 * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
36841 op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
36842 for signed or [0, op1 - 1] for unsigned modulo.
36843 (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
36844 even if op1 does not satisfy integer_pow2p.
36845
36846 PR other/64370
36847 * sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
36848
36849 2015-01-12 Jeff Law <law@redhat.com>
36850
36851 PR target/64461
36852 * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
36853 (trunchiqi2, truncsihi2): Similarly.
36854
36855 * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
36856 rather than calling F.
36857
36858 2015-01-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
36859
36860 * tsan.c (instrument_expr): Use force_gimple_operand.
36861 Use may_be_nonaddressable_p instead of is_gimple_addressable.
36862
36863 2015-01-12 Richard Biener <rguenther@suse.de>
36864
36865 PR tree-optimization/64530
36866 * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
36867 back dr1.
36868
36869 2015-01-12 Richard Biener <rguenther@suse.de>
36870
36871 PR middle-end/64357
36872 * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
36873 latches properly.
36874
36875 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
36876
36877 * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
36878 Cortex-A17 tuning parameters.
36879 * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.
36880
36881 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
36882
36883 * config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
36884 * config/arm/arm.c (arm_macro_fusion_p): New function.
36885 (arm_macro_fusion_pair_p): Likewise.
36886 (TARGET_SCHED_MACRO_FUSION_P): Define.
36887 (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
36888 (ARM_FUSE_NOTHING): Likewise.
36889 (ARM_FUSE_MOVW_MOVT): Likewise.
36890 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
36891 arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
36892 arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
36893 arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
36894 arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
36895 arm_cortex_a5_tune): Specify fuseable_ops value.
36896
36897 2015-01-12 H.J. Lu <hongjiu.lu@intel.com>
36898
36899 PR bootstrap/64561
36900 * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
36901 test for PIE with copy reloc.
36902 * configure: Regenerated.
36903
36904 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
36905
36906 * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
36907 in gen_rtx_REG.
36908 (arm_tls_descseq_addr): Likewise.
36909 (arm_gen_movmemqi): Likewise.
36910 (arm_expand_epilogue_apcs_frame): Likewise.
36911 (arm_expand_epilogue): Likewise.
36912 (arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1
36913 in gen_rtx_REG.
36914
36915 2015-01-12 Martin Liska <mliska@suse.cz>
36916
36917 PR ipa/64550
36918 * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
36919 volatility for correct operands.
36920
36921 2015-01-12 Martin Liska <mliska@suse.cz>
36922
36923 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as
36924 indication that a function is not leaf.
36925 (sem_function::compare_polymorphic_p): Likewise.
36926
36927 2015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
36928
36929 * config/visium/visium.c: Add includes hashtab.h, hash-set.h,
36930 machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
36931 fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
36932 fold-const.h, tree-check.h.
36933
36934 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
36935
36936 PR ipa/63967
36937 PR ipa/64425
36938 * ipa-inline.c (compute_uninlined_call_time,
36939 compute_inlined_call_time): Use counts for extra precision when
36940 needed possible.
36941 (big_speedup_p): Fix formating.
36942 (RELATIVE_TIME_BENEFIT_RANGE): Remove.
36943 (relative_time_benefit): Remove.
36944 (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
36945 merge guessed and read profile paths.
36946 (inline_small_functions): Count only !optimize_size functions into
36947 initial size; be more lax about sanity check when profile is used;
36948 be sure to update inlined function profile when profile is read.
36949
36950 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
36951
36952 PR ipa/63470
36953 * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
36954 cost when edge becomes direct.
36955 * ipa-prop.c (make_edge_direct): Do not adjust when speculation
36956 is resolved or when introducing new speculation.
36957
36958 2015-01-12 Chen Gang <gang.chen.5i5j@gmail.com>
36959
36960 PR ipa/64551
36961 PR ipa/64552
36962 * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
36963 '||' to fix typo issue.
36964
36965 * tree.h (target_opts_for_fn): Check NULL_TREE since it can
36966 accept and return NULL.
36967
36968 2015-01-12 Martin Liska <mliska@suse.cz>
36969
36970 * cgraph.c (cgraph_edge::remove_callee): Move function to header
36971 file for being inlined.
36972 (cgraph_set_edge_callee): Delete.
36973 (cgraph_edge::redirect_callee): Move function to header file
36974 for being inlined.
36975 (cgraph_edge::make_direct): Use new function.
36976 (cgraph_edge::dump_edge_flags): New function created from
36977 static dump_edge_flags function.
36978 (cgraph_node::dump): Use new function.
36979 (cgraph_edge::verify_count_and_frequency): New function created
36980 from verify_edge_count_and_frequency.
36981 (cgraph_edge::verify_corresponds_to_fndecl): New function created
36982 from verify_edge_corresponds_to_fndecl.
36983 (verify_edge_corresponds_to_fndecl): Delete.
36984 (cgraph_node::verify_node): Use new function.
36985 * cgraph.h (cgraph_edge::set_callee): New function.
36986 (cgraph_edge::dump_edge_flags): Likewise.
36987 (cgraph_edge::verify_corresponds_to_fndecl): Likewise.
36988
36989 2015-01-11 Jan Hubicka <hubicka@ucw.cz>
36990
36991 * ipa-utils.c (estimate_function_body_sizes): Do not
36992 free node params when called late with early=true.
36993
36994 2015-01-11 James Greenhalgh <james.greenhalgh@arm.com>
36995
36996 * doc/md.texi (Instruction Patterns): Rewrite text for
36997 clarity.
36998 (Example): Likewise.
36999
37000 2015-01-10 Sandra Loosemore <sandra@codesourcery.com>
37001
37002 * doc/invoke.texi (Option Summary): Break long lines.
37003 [(-fdiagnostics-color)]: Put long literal in @smallexample
37004 instead of inline.
37005 [(-fsanitize-recover)]: Likewise.
37006 [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
37007 [(-ffast-math)]: Likewise.
37008 [(--param max-inline-insns-recursive)]: Likewise.
37009 [(--param max-inline-recursive-depth)]: Likewise.
37010 [(-mno-text-section-literals)]: Likewise.
37011
37012 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
37013
37014 * doc/install.texi: Update for libgomp being renamed from "GNU
37015 OpenMP Runtime Library" to "GNU Offloading and Multi Processing
37016 Runtime Library".
37017 * doc/sourcebuild.texi: Likewise.
37018
37019 2015-01-10 Anthony Green <green@moxielogic.com>
37020
37021 * config/moxie/moxie.c (moxie_option_override): Fix forcing of
37022 mul.x availability for moxiebox configuration.
37023
37024 2015-01-09 Anthony Green <green@moxielogic.com>
37025
37026 * config/moxie/moxie.md: Tabify assembly output.
37027
37028 2015-01-09 Anthony Green <green@moxielogic.com>
37029
37030 * config/moxie/moxie.md (CC_REG): Correct register definition.
37031
37032 2015-01-09 Sandra Loosemore <sandra@codesourcery.com>
37033
37034 * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
37035 ([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location
37036 of log files.
37037
37038 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
37039
37040 * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
37041
37042 2015-01-09 Bernd Schmidt <bernds@codesourcery.com>
37043 Jakub Jelinek <jakub@redhat.com>
37044
37045 PR middle-end/64412
37046 * lto-streamer.h (lto_stream_offload_p): New declaration.
37047 * lto-streamer.c (lto_stream_offload_p): New variable.
37048 * cgraphunit.c (ipa_passes): Set lto_stream_offload_p
37049 at the same time as section_name_prefix.
37050 * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
37051 if lto_stream_offload_p.
37052 * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
37053 stream TREE_TARGET_OPTION if lto_stream_offload_p.
37054 (write_ts_function_decl_tree_pointers): Don't
37055 stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
37056 * tree-streamer-in.c (unpack_value_fields): Don't stream
37057 TREE_TARGET_OPTION in if ACCEL_COMPILER.
37058 (lto_input_ts_function_decl_tree_pointers): Don't stream
37059 DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
37060 * lto-opts.c (lto_write_options): Use lto_stream_offload_p
37061 instead of section_name_prefix string comparisons.
37062
37063 2015-01-09 Jakub Jelinek <jakub@redhat.com>
37064
37065 PR rtl-optimization/64536
37066 * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
37067 tablejumps.
37068
37069 2015-01-09 Michael Collison <michael.collison@linaro.org>
37070
37071 PR tree-optimization/64322
37072 * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive
37073 range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic.
37074
37075 2015-01-09 Tom de Vries <tom@codesourcery.com>
37076
37077 PR rtl-optimization/64539
37078 * regcprop.c (kill_clobbered_values): Factor out of ...
37079 (copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values
37080 instead of note_stores with kill_clobbered_value.
37081
37082 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
37083
37084 * ginclude/unwind-arm-common.h: Revert previous commit.
37085
37086 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
37087
37088 * config.gcc (arm*-*-freebsd*): New configuration.
37089 * config/arm/freebsd.h: New file.
37090 * config.host: Add extra components for arm*-*-freebsd*.
37091 * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
37092 * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
37093
37094 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
37095
37096 * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
37097 for -mcpu=e6500.
37098 * config/rs6000/t-rtems: Add e6500 multilibs.
37099
37100 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
37101
37102 * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
37103 MPC8540.
37104
37105 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
37106
37107 * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
37108 MULTILIB_EXCEPTIONS.
37109
37110 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
37111
37112 * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
37113 MULTILIB_EXCEPTIONS.
37114
37115 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
37116
37117 * config/arm/t-rtems-eabi: Rename to...
37118 * config/arm/t-rtems: ...this.
37119 * config/arm/rtems-eabi.h: Rename to...
37120 * config/arm/rtems.h: ...this.
37121 * config.gcc (arm*-*-rtems*): Reflect changes above.
37122
37123 2015-01-09 Richard Biener <rguenther@suse.de>
37124
37125 PR tree-optimization/64410
37126 * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
37127 on the LHS.
37128 (execute_update_addresses_taken): Deal with that.
37129 * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
37130 loads/stores for complex variables.
37131
37132 2015-01-09 Martin Liska <mliska@suse.cz>
37133
37134 * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
37135 name comparison.
37136 (func_checker::compare_memory_operand): New function.
37137 (func_checker::compare_operand): Split case to newly
37138 added functions.
37139 (func_checker::compare_cst_or_decl): New function.
37140 (func_checker::compare_gimple_call): Identify
37141 memory operands.
37142 (func_checker::compare_gimple_assign): Likewise.
37143 * ipa-icf-gimple.h: New function.
37144
37145 2015-01-09 Martin Liska <mliska@suse.cz>
37146
37147 PR ipa/64503
37148 * sreal.c (sreal::dump): Change unsigned format to signed for
37149 m_exp value.
37150 (sreal::to_double): Replace exp2 with scalbln.
37151
37152 2015-01-09 Martin Liska <mliska@suse.cz>
37153
37154 * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
37155 * ipa-icf.c (sem_function::equals_private): Add support for target and
37156 (sem_item_optimizer::merge_classes): Remove redundant function
37157 optimization flags comparison.
37158 * tree.h (target_opts_for_fn): New function.
37159
37160 2015-01-09 Tom de Vries <tom@codesourcery.com>
37161
37162 * omp-low.c (expand_omp_for_static_chunk): Fix assert.
37163
37164 2015-01-09 Kito Cheng <kito@0xlab.org>
37165
37166 PR rtl-optimization/64348
37167 * lra-constraints.c (split_reg): Fix caller-save store/restore
37168 instruction generation.
37169
37170 2015-01-08 John David Anglin <danglin@gcc.gnu.org>
37171
37172 PR gcov-profile/61790
37173 * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
37174 long long. Fallback to int64_t if host doesn't have long long and
37175 use strtol if int64_t is long. Otherwise, use sscanf for conversion.
37176
37177 2015-01-08 Jakub Jelinek <jakub@redhat.com>
37178
37179 PR tree-optimization/63989
37180 * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
37181 from 1000 to 10000.
37182 * tree-ssa-strlen.c (get_strinfo): Moved earlier.
37183 (get_stridx): If we don't have a record for certain SSA_NAME,
37184 but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
37185 constant offset, call get_stridx_plus_constant.
37186 (get_stridx_plus_constant): New function.
37187 (zero_length_string): Don't use get_stridx here.
37188
37189 PR target/55023
37190 PR middle-end/64388
37191 * dse.c (struct insn_info): Mention frame_read set also
37192 before reload for tail calls on some targets.
37193 (scan_insn): Revert 2014-12-22 change. Set frame_read
37194 also before reload for tail calls if
37195 HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read
37196 instead of add_non_frame_wild_read for non-const/memset
37197 tail calls after reload.
37198
37199 2015-01-08 Jason Merrill <jason@redhat.com>
37200
37201 * ubsan.c (do_ubsan_in_current_function): New.
37202 (pass_ubsan::gate): Use it.
37203 * ubsan.h: Declare it.
37204 * convert.c (convert_to_integer): Use it.
37205
37206 2015-01-08 Jakub Jelinek <jakub@redhat.com>
37207
37208 PR target/64338
37209 * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
37210 compare_code when it is unconditionally overwritten afterwards.
37211 Use ix86_reverse_condition instead of reverse_condition. Don't
37212 change code if *reverse_condition* returned UNKNOWN and don't
37213 swap ct/cf and negate diff in that case.
37214
37215 2015-01-08 Mike Stump <mikestump@comcast.net>
37216
37217 * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
37218 (pass_tsan_O0::gate): Likewise.
37219 * extend.texi (Function Attributes): Add no_sanitize_thread
37220 documentation.
37221
37222 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
37223
37224 * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
37225 for registering builtins.
37226 * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
37227 add -fopenmp to the argv_obstack used when invoking
37228 compile_for_target.
37229
37230 * config/i386/intelmic-mkoffload.c (compile_for_target): Always
37231 add "-m32" or "-m64" to argv_obstack.
37232 (generate_host_descr_file): Likewise, when invoking host_compiler.
37233 (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
37234 ld.
37235
37236 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
37237
37238 * config/sh/sh-mem.cc: Use constant as second operand when emitting
37239 tstsi_t insns.
37240
37241 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
37242
37243 PR target/55212
37244 * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
37245 constant load if constant operand fits into I08.
37246
37247 2015-01-08 Jakub Jelinek <jakub@redhat.com>
37248
37249 PR sanitizer/64336
37250 * tree.c (build2_stat): Fix up initialization of TREE_READONLY
37251 and TREE_THIS_VOLATILE for MEM_REFs.
37252 (build5_stat): Fix up initialization of TREE_READONLY and
37253 TREE_THIS_VOLATILE for TARGET_MEM_REFs.
37254
37255 2015-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
37256
37257 PR target/64533
37258 * config/sh/sh.md (*addsi3_compact): Use u constraint instead
37259 of r for the second alternative of the destination operand.
37260
37261 2015-01-07 Segher Boessenkool <segher@kernel.crashing.org>
37262
37263 PR target/36557
37264 * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
37265
37266 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
37267
37268 * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
37269 keywords.
37270 ([-fivar-visibility], [-fvisibility]): Likewise.
37271
37272 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
37273
37274 * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
37275 the file where @code, @command, etc is more appropriate.
37276
37277 2015-01-06 Sandra Loosemore <sandra@codesourcery.com>
37278
37279 * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
37280 of -mrecip= documentation.
37281
37282 2015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com>
37283
37284 PR target/64505
37285 * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
37286 correct reload handler if -m32 -mpowerpc64 is used.
37287
37288 2015-01-06 Tom de Vries <tom@codesourcery.com>
37289
37290 * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
37291
37292 2015-01-08 Christian Bruel <christian.bruel@st.com>
37293
37294 PR target/64507
37295 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
37296
37297 2015-01-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
37298
37299 PR tree-optimization/63259
37300 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
37301 if optab exists for 16bit byteswap.
37302
37303 2015-01-06 Jakub Jelinek <jakub@redhat.com>
37304
37305 * opts.c (common_handle_option): Add support for
37306 -fno-sanitize=all and -f{,no-}sanitize-recover=all.
37307 * doc/invoke.texi: Document -fno-sanitize=all,
37308 -f{,no-}sanitize-recover=all. Document that
37309 -fsanitize=float-cast-overflow is not enabled
37310 by -fsanitize=undefined. Fix up documentation
37311 of -f{,no-}sanitize-recover.
37312
37313 2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
37314
37315 * config.gcc: Add Visium support.
37316 * configure.ac: Likewise.
37317 * configure: Regenerate.
37318 * doc/extend.texi (interrupt attribute): Add Visium.
37319 * doc/invoke.texi: Document Visium options.
37320 * doc/install.texi: Document Visium target.
37321 * doc/md.texi: Document Visium constraints.
37322 * common/config/visium: New directory.
37323 * config/visium: Likewise.
37324
37325 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
37326
37327 * simplify-rtx.c (simplify_binary_operation_1): Handle more cases
37328 for the "(and X (ior (not X) Y) -> (and X Y)" transform.
37329
37330 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
37331
37332 * combine.c (combine_validate_cost): Do not count the cost of a
37333 split I2 twice. Do not display it twice in the dump, either.
37334
37335 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
37336
37337 Revert parts of r219199.
37338 * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
37339 <inttypes.h>.
37340 ([-Wtraditional]): Restore markup on <limits.h>.
37341
37342 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
37343
37344 PR c++/31397
37345 * doc/invoke.texi: Document -Wsuggest-override.
37346
37347 2015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com>
37348
37349 PR rtl-optimization/64287
37350 * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
37351 (process_options): Disable flag_ipa_ra if profiling.
37352
37353 2015-01-05 Eric Botcazou <ebotcazou@adacore.com>
37354
37355 * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
37356
37357 2015-01-05 Max Filippov <jcmvbkbc@gmail.com>
37358
37359 * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
37360 hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
37361 put under #if TARGET_LOOPS guard.
37362
37363 2015-01-05 Uros Bizjak <ubizjak@gmail.com>
37364
37365 * config/i386/i386.c (output_387_binary_op): Use std::swap.
37366
37367 2015-01-05 Oleg Endo <olegendo@gcc.gnu.org>
37368
37369 * rtlanal.c (refers_to_regno_p): Change return value from int to bool.
37370 * rtl.h (refers_to_regno_p): Add overload.
37371 * cse.c: Use it.
37372 * bt-load.c: Likewise.
37373 * combine.c: Likewise.
37374 * df-scan.c: Likewise.
37375 * sched-deps.c: Likewise.
37376 * config/s390/s390.c: Likewise.
37377 * config/m32r/m32r.c: Likewise.
37378 * config/rs6000/spe.md: Likewise.
37379 * config/rs6000/rs6000.c: Likewise.
37380 * config/pa/pa.c: Likewise.
37381 * config/stormy16/stormy16.c: Likewise.
37382 * config/cris/cris.c: Likewise.
37383 * config/arc/arc.md: Likewise.
37384 * config/arc/arc.c: Likewise.
37385 * config/sh/sh.md: Likewise.
37386 * config/sh/sh.c: Likewise.
37387 * config/frv/frv.c: Likewise.
37388
37389 2015-01-05 Jakub Jelinek <jakub@redhat.com>
37390
37391 PR sanitizer/64265
37392 * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
37393 call as cleanup of the whole body.
37394 * internal-fn.def (TSAN_FUNC_EXIT): New internal call.
37395 * tsan.c (replace_func_exit): New function.
37396 (instrument_func_exit): Moved earlier.
37397 (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
37398 Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
37399 been found.
37400 (tsan_pass): Don't call instrument_func_exit.
37401 * internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
37402 * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
37403 inlining.
37404
37405 PR sanitizer/64344
37406 * ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
37407 * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
37408 it to libubsan handler instead of EXPR. Fold comparisons earlier,
37409 if the result is integer_zerop, return NULL_TREE.
37410 * convert.c (convert_to_integer): Pass expr as ARG.
37411
37412 PR tree-optimization/64465
37413 * tree-inline.c (redirect_all_calls): During inlining
37414 clean up EH stmts and EH edges if redirect_call_stmt_to_callee
37415 changed the stmt to a non-throwing call.
37416
37417 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
37418
37419 * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
37420 etc markup throughout the file.
37421
37422 2015-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
37423
37424 Enable experimental TSAN support for Ada.
37425 * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
37426
37427 2015-01-05 Jakub Jelinek <jakub@redhat.com>
37428
37429 PR tree-optimization/64494
37430 * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
37431 clear SSA_NAME_ANTI_RANGE_P flag.
37432
37433 2015-01-05 Marek Polacek <polacek@redhat.com>
37434
37435 * doc/extend.texi (Arrays of Length Zero): Add missing comma.
37436
37437 2015-01-05 Jakub Jelinek <jakub@redhat.com>
37438
37439 Update copyright years.
37440
37441 * gcc.c (process_command): Update copyright notice dates.
37442 * gcov-dump.c: Ditto.
37443 * gcov.c: Ditto.
37444 * doc/cpp.texi: Bump @copying's copyright year.
37445 * doc/cppinternals.texi: Ditto.
37446 * doc/gcc.texi: Ditto.
37447 * doc/gccint.texi: Ditto.
37448 * doc/gcov.texi: Ditto.
37449 * doc/install.texi: Ditto.
37450 * doc/invoke.texi: Ditto.
37451
37452 * auto-profile.c, auto-profile.h: Fix up Copyright line.
37453
37454 2015-01-04 Sandra Loosemore <sandra@codesourcery.com>
37455
37456 * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
37457 verb tense, etc.
37458 ([-fvtable-verify], [-fvtv-debug]): Likewise.
37459 ([-Wabi]): Likewise.
37460 ([-fmessage-length]): Likewise.
37461 ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
37462 ([-Wno-discarded-qualifiers]): Likewise.
37463 ([-Wnodiscarded-array-qualifiers]): Likewise.
37464 ([-Wno-virtual-move-assign]): Likewise.
37465 ([-fsanitize=address], [-fsanitize=thread]): Likewise.
37466 ([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
37467 ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
37468 ([-fsanitize-undefined-trap-on-error]): Likewise.
37469 ([-floop-interchange]): Likewise.
37470 ([-ftree-coalesce-inlined-vars]): Likewise.
37471 ([-fvect-cost-model]): Likewise.
37472 ([-flto]): Likewise.
37473 ([--param]): Likewise.
37474 (Spec Files): Likewise.
37475 ([-mstrict-align]): Likewise.
37476 ([-mfix-cortex-a53-835769]): Likewise.
37477 ([-march], [-mtune]): Likewise.
37478 ([-mpic-register]): Likewise.
37479 ([-munaligned-access]): Likewise.
37480 ([-msp8]): Likewise.
37481 (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
37482 (AVR Built-in Macros): Likewise.
37483 ([-mpreferred-stack-boundary]): Likewise.
37484 ([-mtune-crtl]): Likewise.
37485 ([-mashf]): Likewise.
37486 ([-mmcu=]): Likewise.
37487 ([-minrt]): Likewise.
37488 ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
37489 ([-mupper-regs]): Likewise.
37490 ([-matomic-model]): Likewise.
37491 ([-mdiv]): Likewise.
37492 ([-mzdcbranch]): Likewise.
37493 ([-mdisable-callt]): Likewise.
37494 ([-msoft-float]): Likewise.
37495 ([-m8byte-align]): Likewise.
37496 ([-fstack-reuse]): Likewise.
37497
37498 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
37499
37500 * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
37501 Fix markup, light copy-editing.
37502 ([-fauto-profile]): Rewrite to fix formatting and content
37503 problems.
37504
37505 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
37506
37507 * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
37508 Copy-edit description.
37509 ([-fisolate-erroneous-paths-attribute]): Likewise.
37510 * common.opt (fisolate-erroneous-paths-dereference):
37511 Copy-edit description.
37512 (fisolate-erroneous-paths-attribute): Likewise.
37513
37514 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
37515
37516 * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
37517 tidy grammar.
37518
37519 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
37520
37521 * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
37522 ([-fvtv-debug]): Likewise.
37523 ([-Wc++-compat]): Likewise.
37524 ([-Wc++11-compat]): Likewise.
37525 ([-Wc++14-compat]): Likewise.
37526 ([-Wno-sized-deallocation]): Likewise.
37527 ([-femit-class-debug-always]): Likewise.
37528 ([-femit-struct-debug-detailed]): Likewise.
37529 ([-fno-keep-inline-dllexport]): Likewise.
37530 ([-fira-algorithm]): Likewise.
37531 ([-fira-region]): Likewise.
37532 ([-flra-remat]): Likewise.
37533 ([-fipa-ra]): Likewise.
37534 ([-fhoist-adjacent-loads]): Likewise.
37535 ([-fisolate-erroneous-paths-dereference]): Likewise.
37536 ([-fisolate-erroneous-paths-attribute]): Likewise.
37537 ([-ftree-switch-conversion]): Likewise.
37538 ([-ftree-tail-merge]): Likewise.
37539 ([-ftree-loop-if-convert]): Likewise.
37540 ([-ftree-loop-if-convert-stores]): Likewise.
37541 ([-ftree-loop-distribution]): Likewise.
37542 ([-ftree-loop-distribute-patterns]): Likewise.
37543 ([-flto-compression-level]): Likewise.
37544 ([-flto-report]): Likewise.
37545 ([-flto-report-wpa]): Likewise.
37546 ([-fuse-linker-plugin]): Likewise.
37547 ([-mfix-cortex-a53-835769]): Likewise.
37548 ([-mno-fix-cortex-a53-835769]): Likewise.
37549 ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
37550 explicit listing; add a note to the discussion indicating they
37551 exist. Reorder table to group similar options. Add missing
37552 @opindex entries. Add @need commands throughout the table to
37553 allow it to be split across multiple pages.
37554 ([-m8bit-idiv]): Fix @opindex.
37555 ([-mavx256-split-unaligned-load]): Likewise.
37556 ([-mavx256-split-unaligned-store]): Likewise.
37557 ([-mstack-protector-guard]): Likewise.
37558 ([-mcpu=]): Likewise.
37559 ([-mcpu]): Likewise.
37560 ([-mpointer-size=]): Likewise.
37561
37562 2015-01-03 John David Anglin <danglin@gcc.gnu.org>
37563
37564 * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
37565 instead of `m' constraint. Likewise for unnamed movb comparison
37566 patterns using reg_before_reload_operand predicate.
37567 * config/pa/predicates.md (reg_before_reload_operand): Tighten
37568 predicate to reject register index and LO_SUM DLT memory forms
37569 after reload.
37570
37571 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
37572
37573 * doc/invoke.texi (Option Summary): Fix spelling of
37574 -fdevirtualize-at-ltrans.
37575 ([-fdevirtualize]): Fix markup.
37576 ([-fdevirtualize-speculatively]): Fix typo.
37577 ([-fdevirtualize-at-ltrans]): Likewise. Make description less
37578 implementor-speaky.
37579 * common.opt (fdevirtualize-at-ltrans): Likewise.
37580 * ipa-devirt.c: Fix typos in comments throughout the file.
37581 (ipa_devirt): Fix typos in format strings for dump output.
37582
37583 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
37584
37585 * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
37586 discussion of defaults, light copy-editing.
37587
37588 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
37589
37590 * tsan.c (instrument_expr): corrected previous checkin.
37591
37592 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
37593
37594 Instrument bit field and unaligned accesses for TSAN.
37595 * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
37596 (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
37597 * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
37598 Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
37599 unaligned memory regions.
37600
37601 2015-01-01 Anthony Green <green@moxielogic.com>
37602
37603 * config/moxie/predicates.md (moxie_general_movsrc_operand):
37604 Restrict move source register offsets to 16 bits.
37605 \f
37606 Copyright (C) 2015 Free Software Foundation, Inc.
37607
37608 Copying and distribution of this file, with or without modification,
37609 are permitted in any medium without royalty provided the copyright
37610 notice and this notice are preserved.