re PR tree-optimization/64277 (Incorrect warning "array subscript is above array...
[gcc.git] / gcc / ChangeLog
1 2015-01-28 Ilya Enkovich <ilya.enkovich@intel.com>
2
3 PR tree-optimization/64277
4 * tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base
5 range info when possible to refine estimation.
6
7 2015-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
8
9 PR tree-optimization/64718
10 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type
11 be a 16bit unsigned integer when n->range is 16.
12 (bswap_replace): Convert src to that type if necessary for all bswap
13 sizes. Fix rotation right notation in nearby comment. Use bswap_type
14 set in pass_optimize_bswap::execute ().
15
16 2015-01-28 James Greenhalgh <james.greenhalgh@arm.com>
17
18 * config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New.
19 * config/aarch64/aarch64-simd-builtins.def (abs): Split by
20 integer and floating point variants.
21 * config/aarch64/iterators.md (unspec): Add UNSPEC_ABS.
22
23 2015-01-28 Robert Suchanek <robert.suchanek@imgtec.com>
24
25 * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators
26 for all vector modes.
27
28 2015-01-28 Jakub Jelinek <jakub@redhat.com>
29
30 PR bootstrap/64612
31 * doc/sourcebuild.texi (comdat_group): Document.
32
33 2015-01-28 Terry Guo <terry.guo@arm.com>
34
35 * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
36
37 2015-01-27 David Malcolm <dmalcolm@redhat.com>
38
39 * toplev.c (print_version): Add param "show_global_state", and
40 only print GGC and plugin information if it is true.
41 (init_asm_output): Pass in "true" for the new param when calling
42 print_version.
43 (process_options): Likewise.
44 (toplev::main): Likewise.
45 * toplev.h (print_version): Add new param to decl.
46
47 2015-01-27 Jan Hubicka <hubicka@ucw.cz>
48
49 PR ipa/60871
50 PR ipa/64139
51 * tree.c (lookup_binfo_at_offset): New function.
52 (get_binfo_at_offset): Use it.
53
54 2015-01-27 Jan Hubicka <hubicka@ucw.cz>
55
56 PR ipa/64282
57 * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
58 on vtable being vtable.
59
60 2015-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
61
62 * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
63 * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
64 -mhotpatch= option.
65 * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
66 -mno-hotpatch options. Change syntax of -mhotpatch= option.
67 * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
68 Renamed.
69 (s390_hotpatch_trampoline_halfwords_max): Renamed.
70 (s390_hotpatch_hw_max): New name.
71 (s390_hotpatch_trampoline_halfwords): Renamed.
72 (s390_hotpatch_hw_before_label): New name.
73 (get_hotpatch_attribute): Removed.
74 (s390_hotpatch_hw_after_label): New name.
75 (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
76 attribute.
77 (s390_attribute_table): Ditto.
78 (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
79 (s390_function_num_hotpatch_hw): New name.
80 Remove special handling of inline functions and hotpatching.
81 Return number of nops before and after the function label.
82 (s390_can_inline_p): Removed.
83 (s390_asm_output_function_label): Emit a configurable number of nops
84 after the function label.
85 (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
86 (TARGET_CAN_INLINE_P) Removed.
87 (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.
88
89 2015-01-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
90 Jiong Wang <jiong.wang@arm.com>
91
92 * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead
93 of scratch reg.
94 (cb<optab><mode>1): Likewise.
95 * config/aarch64/iterators.md (bcond): New define_code_attr.
96
97 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
98
99 * config/s390/s390.c (s390_memory_move_cost): Increase costs for
100 memory accesses.
101
102 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
103
104 * config/s390/s390.c (s390_register_move_cost): Increase costs for
105 FPR->GPR moves.
106
107 2015-01-27 Richard Biener <rguenther@suse.de>
108
109 * tree-vrp.c (update_value_range): Intersect the range with
110 old recorded SSA name range information.
111
112 2015-01-27 Nick Clifton <nickc@redhat.com>
113
114 * config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the
115 BC, DE and HL registers directly, not via AX.
116 When decrementing the stack pointer by a large amount, transfer SP
117 into AX and perform the subtraction there.
118 (rl78_expand_epilogue): Perform the inverse of the above
119 enhancements.
120
121 2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
122
123 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove.
124
125 2015-01-27 Jakub Jelinek <jakub@redhat.com>
126 Yury Gribov <y.gribov@samsung.com>
127
128 PR ubsan/64741
129 * ubsan.c (ubsan_source_location): Refactor code.
130 (ubsan_type_descriptor): Update type size. Refactor code.
131
132 2015-01-27 Richard Biener <rguenther@suse.de>
133
134 PR tree-optimization/56273
135 PR tree-optimization/59124
136 PR tree-optimization/64277
137 * tree-vrp.c (vrp_finalize): Emit array-bound warnings only
138 from the first VRP pass.
139
140 2015-01-27 Jakub Jelinek <jakub@redhat.com>
141
142 PR ipa/64776
143 * cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting,
144 handle the first argument in the same loop as all the other arguments.
145
146 PR rtl-optimization/61058
147 * jump.c (cleanup_barriers): Update basic block boundaries
148 if BLOCK_FOR_INSN is non-NULL on PREV.
149
150 2015-01-27 Ilya Enkovich <ilya.enkovich@intel.com>
151
152 * tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of
153 bounds narrowing, already instrumented calls and calls to
154 not instrumentable functions.
155
156 2015-01-27 Jakub Jelinek <jakub@redhat.com>
157
158 PR tree-optimization/64807
159 * wide-int.cc (wi::divmod_internal): Clear
160 b_dividend[dividend_blocks_needed].
161
162 2015-01-26 DJ Delorie <dj@redhat.com>
163
164 * config/rl78/rl78.c (move_elim_pass): Don't optimize away
165 volatile memory references.
166
167 2015-01-26 Oleg Endo <olegendo@gcc.gnu.org>
168
169 PR target/49263
170 * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before
171 remove_insn.
172 * config/sh/sh.md (tstsi_t): Don't try to optimize constant with right
173 shifts if it already fits into K08.
174
175 2015-01-26 Jakub Jelinek <jakub@redhat.com>
176
177 PR ipa/64730
178 * ipa-inline.c (inline_small_functions): Print "unknown" even
179 if edge->call_stmt is non-NULL, but has builtins or unknown
180 location.
181
182 PR middle-end/64421
183 * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts
184 with asterisk, skip the first character.
185
186 2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
187
188 PR target/64806
189 * config/i386/i386 (feature_priority): Revert the last P_POPCNT
190 order change.
191
192 2015-01-26 Uros Bizjak <ubizjak@gmail.com>
193
194 PR target/64795
195 * config/i386/i386.md (*movdi_internal): Also check operand 0
196 to determine TYPE_LEA operand.
197 (*movsi_internal): Ditto.
198
199 2015-01-26 Jakub Jelinek <jakub@redhat.com>
200
201 * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
202 OPTION_MASK_QUAD_MEMORY_ATOMIC.
203
204 2015-01-26 Renlin Li <renlin.li@arm.com>
205
206 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct
207 the comment.
208 * config/aarch64/aarch64.md (tlsle_small_<mode>): Add left shift 12-bit
209 for higher part.
210
211 2015-01-26 Richard Biener <rguenther@suse.de>
212
213 PR middle-end/64764
214 * tree-ssa-uninit.c (is_pred_expr_subset_of): Handle
215 combining two BIT_AND_EXPR predicates.
216
217 2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
218
219 PR bootstrap/64754
220 * tree-ssa-structalias.c (new_var_info): Initialize ruid.
221
222 2015-01-26 Terry Guo <terry.guo@arm.com>
223
224 * config/arm/arm.c (arm_file_start): Update the assignment of
225 Tag_ABI_HardFP_use.
226
227 2014-01-25 James Greenhalgh <james.greenhalgh@arm.com>
228
229 * config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57
230 pipeline model.
231 config/arm/arm.md: Include the new Cortex-A57 model.
232 (generic_sched): Don't use generic_sched when tuning for
233 Cortex-A57.
234
235 2015-01-25 Allan Sandfeld Jensen <sandfeld@kde.org>
236 Uros Bizjak <ubizjak@gmail.com>
237
238 * config/i386/i386.c (get_builtin_code_for_version): Add
239 support for BMI and BMI2 multiversion functions.
240
241 2015-01-25 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
242
243 * emit-rtl.h (store_bit_field): Move prototype to expmed.h.
244 (extract_bit_field): Likewise.
245 (extract_low_bits): Likewise.
246 (expand_mult): Likewise.
247 (expand_mult_highpart_adjust): Likewise.
248
249 2015-01-24 H.J. Lu <hongjiu.lu@intel.com>
250
251 * config/i386/driver-i386.c (host_detect_local_cpu): Check new
252 Silvermont, Haswell, Broadwell and Knights Landing model numbers.
253 * config/i386/i386.c (processor_model): Add
254 M_INTEL_COREI7_BROADWELL.
255 (arch_names_table): Add "broadwell".
256
257 2015-01-24 Oleg Endo <olegendo@gcc.gnu.org>
258
259 PR target/49263
260 PR target/53987
261 PR target/64345
262 PR target/59533
263 PR target/52933
264 PR target/54236
265 PR target/51244
266 * config/sh/sh-protos.h
267 (sh_extending_set_of_reg::can_use_as_unextended_reg,
268 sh_extending_set_of_reg::use_as_unextended_reg,
269 sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn,
270 sh_is_movrt_insn, sh_insn_operands_modified_between_p,
271 sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr,
272 sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions.
273 (sh_treg_insns): New class.
274 * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook.
275 (scope_counter): New class.
276 (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest,
277 sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn,
278 sh_extending_set_of_reg::can_use_as_unextended_reg,
279 sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr,
280 sh_in_recog_treg_set_expr, sh_try_split_insn_simple,
281 sh_split_treg_set_expr): New functions.
282 (addsubcosts): Handle treg_set_expr.
283 (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT.
284 (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND.
285 (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases.
286 (sh_insn_operands_modified_between_p): Make non-static.
287 * config/sh/predicates.md (zero_extend_movu_operand): Allow
288 simple_mem_operand in addition to displacement_mem_operand.
289 (zero_extend_operand): Don't allow zero_extend_movu_operand.
290 (treg_set_expr, treg_set_expr_not_const01,
291 arith_reg_or_treg_set_expr): New predicates.
292 * config/sh/sh.md (tstsi_t): Use arith_reg_operand and
293 arith_or_int_operand instead of logical_operand. Convert to
294 insn_and_split. Try to optimize constant operand in splitter.
295 (tsthi_t, tstqi_t): Fold into *tst<mode>_t. Convert to insn_and_split.
296 (*tstqi_t_zero): Delete.
297 (*tst<mode>_t_subregs): Add !sh_in_recog_treg_set_expr split condition.
298 (tstsi_t_and_not): Delete.
299 (tst<mode>_t_zero_extract_eq): Rename to *tst<mode>_t_zero_extract.
300 Convert to insn_and_split.
301 (unnamed split, tstsi_t_zero_extract_xor,
302 tstsi_t_zero_extract_subreg_xor_little,
303 tstsi_t_zero_extract_subreg_xor_big): Delete.
304 (*tstsi_t_shift_mask): New insn_and_split.
305 (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try
306 to recombine with surrounding insns when splitting.
307 (*negtstsi): Add !sh_in_recog_treg_set_expr condition.
308 (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ...
309 (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4,
310 *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns.
311 (*cbranch_div0s: Delete.
312 (*addc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
313 Try to recombine with surrounding insns when splitting. Add operand
314 order variants.
315 (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01.
316 (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb,
317 *addc_r_r_msb, *addc_2r_msb): Delete.
318 (*addc_2r_lsb): Rename to *addc_2r_t. Use treg_set_expr. Add operand
319 order variant.
320 (*addc_negreg_t): New insn_and_split.
321 (*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
322 Try to recombine with surrounding insns when splitting.
323 Add operand order variants.
324 (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New
325 insn_and_split patterns.
326 (*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with
327 surrounding insns when splitting.
328 (unnamed rotcr split): Use arith_reg_or_treg_set_expr.
329 (*rotcl): Likewise. Add zero_extract variant.
330 (*ashrsi2_31): New insn_and_split.
331 (*negc): Convert to insn_and_split. Use treg_set_expr.
332 (*zero_extend<mode>si2_disp_mem): Update comment.
333 (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split
334 condition.
335 (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr. Try to recombine
336 with surrounding insns when splitting.
337 (any_treg_expr_to_reg): New insn_and_split.
338 (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2,
339 *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5,
340 *neg_zero_extract_6, *zero_extract_0, *zero_extract_1,
341 *zero_extract_2): New single bit zero extract patterns.
342 (bld_reg, *bld_regqi): Fold into bld<mode>_reg.
343 (*get_thread_pointersi, store_gbr, *mov<mode>_gbr_load,
344 *mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load,
345 *movdi_gbr_load): Use arith_reg_dest instead of register_operand for
346 set destination.
347 (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of
348 register_operand for set source.
349
350 2015-01-23 Jan Hubicka <hubicka@ucw.cz>
351
352 * i386.opt (prefetch_sse): New targetsave.
353 * i386.c (ix86_function_specific_save): Save prefetch_sse.
354 (ix86_function_specific_restore): Restore prefetch_sse and initialize
355 ix86_cost/ix86_tune_cost.
356
357 2015-01-23 David Malcolm <dmalcolm@redhat.com>
358
359 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
360 Support the JIT by using 0 as the language type.
361
362 2015-01-23 Vladimir Makarov <vmakarov@redhat.com>
363
364 PR target/64317
365 * lra-lives.c (make_hard_regno_born): Add parameter. Don't make
366 REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo.
367 (mark_regno_live, process_bb_lives): Pass new parameter value to
368 make_hard_regno_born.
369
370 2015-01-23 Jakub Jelinek <jakub@redhat.com>
371
372 PR rtl-optimization/63637
373 PR rtl-optimization/60663
374 * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
375 if elt->cost is MAX_COST for ASM_OPERANDS.
376 (find_sets_in_insn): Fix up comment typo.
377 (cse_insn): Don't set src_volatile for all non-volatile
378 ASM_OPERANDS in PARALLELs, but just those with multiple outputs
379 or with "memory" clobber. Set elt->cost to MAX_COST
380 for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST
381 if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
382
383 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
384
385 * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
386 alternative 1.
387
388 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
389
390 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to
391 libgcc/config/i386/elf-lib.h.
392
393 2015-01-23 Jakub Jelinek <jakub@redhat.com>
394
395 PR driver/64737
396 * gcc.c (print_configuration): Don't print a blank line at the end
397 here...
398 (run_attempt): ... but here unstead.
399
400 PR middle-end/64734
401 * omp-low.c (scan_sharing_clauses): Don't ignore
402 OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses
403 on target data/update constructs.
404
405 2015-01-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
406
407 PR target/50928
408 * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here.
409 (DEBUG_RELOAD): Removed define.
410 (m32c_limit_reload_class): Enable traces with if DEBUG0.
411 (m32c_function_arg): Added a type cast.
412 (m32c_legitimize_reload_address): Push A_REGS reload with PSImode.
413 * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments.
414 * config/m32c/bitops.md (andqi3_16): Likewise.
415 * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise.
416 (push_a01_l): Likewise.
417
418 2015-01-23 David Malcolm <dmalcolm@redhat.com>
419
420 PR jit/64721
421 * main.c (main): Construct toplev instances with init_signals=true.
422 * toplev.c (general_init): Add param "init_signals", and use it to
423 conditionalize the calls to signal and host_hooks.extra_signals.
424 (toplev::toplev): Add param "init_signals".
425 (toplev::main): When invoking general_init, pass m_init_signals
426 to control whether signal-handlers are installed.
427 * toplev.h (toplev::toplev): Add param "init_signals".
428 (toplev::m_init_signals): New field.
429
430 2015-01-23 David Malcolm <dmalcolm@redhat.com>
431
432 PR jit/64722
433 * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to
434 NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the
435 latter may be affected by the former (e.g. on i686).
436
437 2015-01-23 Martin Liska <mliska@suse.cz>
438
439 * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow
440 false positive during profiledbootstrap.
441
442 2015-01-23 Tom de Vries <tom@codesourcery.com>
443
444 PR libgomp/64672
445 * lto-opts.c (lto_write_options): Output non-explicit conservative
446 -fno-openacc.
447 * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc.
448 (append_compiler_options): Pass -fopenacc through.
449
450 2015-01-23 Tom de Vries <tom@codesourcery.com>
451
452 PR libgomp/64707
453 * lto-opts.c (lto_write_options): Output non-explicit conservative
454 -fno-openmp.
455 * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp.
456 (append_compiler_options): Pass -fopenmp through.
457
458 2015-01-23 Jakub Jelinek <jakub@redhat.com>
459
460 PR debug/64511
461 * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
462 GTY markup.
463
464 * diagnostic-core.h (internal_error_no_backtrace): New prototype.
465 * diagnostic.def (DK_ICE_NOBT): New kind.
466 * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT
467 like DK_ICE, but never print backtrace.
468 (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE.
469 (internal_error_no_backtrace): New function.
470 * gcc.c (execute): Use internal_error_no_backtrace instead of
471 internal_error.
472
473 2015-01-22 Jeff Law <law@redhat.com>
474
475 PR target/52076
476 * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to
477 improve code density for small immediate to memory case.
478 (insv): Better handle bitfield assignments when the field is
479 being set to all ones.
480 * config/m68k/predicates.md (reg_or_pow2_m1_operand): New
481 operand predicate.
482
483 2015-01-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
484 Jakub Jelinek <jakub@redhat.com>
485
486 * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit
487 for !TARGET_LIBC_PROVIDES_SSP version and
488 -fstack-protector-{all,strong,explicit} otherwise.
489 * config/freebsd.h (LINK_SSP_SPEC): Handle
490 -fstack-protector-{strong,explicit}.
491
492 2015-01-22 Jan Hubicka <hubicka@ucw.cz>
493 H.J. Lu <hongjiu.lu@intel.com>
494
495 PR ipa/64694
496 * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of
497 heap.
498
499 2015-01-22 Wei Mi <wmi@google.com>
500
501 PR rtl-optimization/64557
502 * dse.c (record_store): Call get_addr for mem_addr.
503 (check_mem_read_rtx): Likewise.
504
505 2015-01-22 Eric Botcazou <ebotcazou@adacore.com>
506
507 * fold-const.c (const_binop): Add early return for non-tcc_binary.
508
509 2015-01-22 Chen Gang <gang.chen.5i5j@gmail.com>
510
511 * toplev.c (init_local_tick): Process the failure when read
512 fails for random_seed.
513
514 * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for
515 'pretty_name' to avoid memory overflow.
516
517 2015-01-22 Richard Biener <rguenther@suse.de>
518
519 PR middle-end/64728
520 * tree-ssa-coalesce.c (coalesce_partitions): Do not perform
521 abnormal coalescing on undefined SSA names.
522
523 2015-22-01 Uros Bizjak <ubizjak@gmail.com>
524
525 PR target/64688
526 PR target/64477
527 * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints
528 for alternative 3.
529 (*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1.
530
531 2015-01-22 Trevor Saunders <tsaunders@mozilla.com>
532
533 PR middle-end/63325
534 * fold-const.c (fold_checksum_tree): Don't include value of
535 expr->decl_with_vis.symtab_node in the checksum.
536
537 2015-01-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
538
539 * config/s390/s390.md (atomic code attribute): Fix typo "ior" ->
540 "or".
541
542 2015-01-22 Max Ostapenko <m.ostapenko@partner.samsung.com>
543
544 PR driver/64690
545 * gcc.c (insert_comments): New function.
546 (try_generate_repro): Call it.
547 (append_text): Removed.
548
549 2015-01-22 Richard Biener <rguenther@suse.de>
550
551 * ipa-inline.c (can_inline_edge_p): Disable inlining of edges
552 with IL incompatible options. Properly honor user optimize
553 attributes.
554
555 2015-01-21 Segher Boessenkool <segher@kernel.crashing.org>
556
557 PR rtl-optimization/64682
558 * combine.c (distribute_notes): When moving a death note for
559 a register that is set in the new I2, make sure to put it
560 before that new I2.
561
562 2015-01-21 David Edelsohn <dje.gcc@gmail.com>
563
564 * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags
565 not TARGET_DEFAULT.
566
567 2015-01-21 Jakub Jelinek <jakub@redhat.com>
568
569 PR debug/64511
570 * simplify-rtx.c (simplify_relational_operation_1): Don't try to
571 optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0))
572 into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)).
573
574 PR sanitizer/64706
575 * doc/invoke.texi (-fsanitize=vptr): Document.
576
577 PR rtl-optimization/62078
578 * dse.c: Include cfgcleanup.h.
579 (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed
580 anything call purge_all_dead_edges and cleanup_cfg at the end
581 of the pass.
582
583 2015-01-21 Jan Hubicka <hubicka@ucw.cz>
584
585 * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect
586 edges.
587
588 2015-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
589
590 * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread
591 decl attribute.
592
593 2015-01-21 David Sherwood <david.sherwood@arm.com>
594 Tejas Belagod <Tejas.Belagod@arm.com>
595
596 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed.
597 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed.
598 * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class):
599 Removed.
600
601 2015-01-21 David Sherwood <david.sherwood@arm.com>
602 Tejas Belagod <Tejas.Belagod@arm.com>
603
604 * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist)
605 (aarch64_reverse_mask): New decls.
606 * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum.
607 (insn_count): New mode_attr.
608 * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci)
609 (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci)
610 (vec_load_lanesxi): Made ABI compliant for Big Endian targets.
611 (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3)
612 (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3)
613 (aarch64_simd_st4): New patterns.
614 * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist)
615 (aarch64_reverse_mask): New functions.
616
617 2015-01-21 Richard Sandiford <richard.sandiford@arm.com>
618
619 * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy):
620 Declare.
621 * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra
622 addressing modes for BE.
623 (aarch64_print_operand): Add 'R' specifier.
624 (aarch64_simd_disambiguate_copy): Delete.
625 (aarch64_simd_emit_reg_reg_move): New function.
626 * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move
627 in define_splits for structural moves.
628 (mov<mode>): Use less restrictive predicates.
629 (*aarch64_mov<mode>): Simplify and only allow for LE.
630 (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New.
631
632 2015-01-21 Alan Hayward <alan.hayward@arm.com>
633
634 * rtlanal.c (subreg_get_info): Exit early for simple and common
635 cases.
636
637 2015-01-21 Richard Henderson <rth@redhat.com>
638
639 PR target/64669
640 * ccmp.c (used_in_cond_stmt_p): Remove.
641 (expand_ccmp_expr): Don't use it.
642
643 2015-01-21 Nick Clifton <nickc@redhat.com>
644
645 * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside
646 PARALLELs.
647
648 2015-01-21 Richard Biener <rguenther@suse.de>
649
650 PR middle-end/64313
651 * tree-core.h (builtin_info, builtin_info_type): Turn from
652 an object with two arrays into an array of an object with
653 decl and two flags, implicit_p and declared_p.
654 * tree.h (builtin_decl_explicit, builtin_decl_implicit,
655 set_builtin_decl, set_builtin_decl_implicit_p,
656 builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust.
657 (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions.
658 * builtins.c (builtin_info): Adjust.
659 * gimplify.c (gimplify_addr_expr): References to builtins
660 that have been declared by the user makes them eligible for
661 use by the compiler. Call set_builtin_decl_implicit_p on them.
662
663 2015-01-20 Jeff Law <law@redhat.com>
664
665 PR target/59946
666 * config/m68k/m68k.md (Comparison expanders and patterns): Do not
667 allow pc-relative addresses in operand predicates or constraints.
668
669 2015-01-21 Bin Cheng <bin.cheng@arm.com>
670
671 * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer
672 neon on aarch32 processors for stringops.
673
674 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
675
676 PR ipa/63576
677 * ipa-utils.c (ipa_merge_profiles): Merge speculative edges.
678
679 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
680
681 PR lto/45375
682 * ipa-inline.c: Include lto-streamer.h
683 (report_inline_failed_reason): Output source file differences and
684 flags on optimization/target node mismatch.
685 (can_inline_edge_p): Consider caller to be the outer inline function;
686 be less restrictive about matching opimize and optimize_size attributes.
687 (inline_account_function_p): Break out from ...
688 (inline_small_functions): ... here.
689 * ipa-inline-transform.c (clone_inlined_nodes): Use
690 inline_account_function_p.
691 (inline_call): Use optimize attribution; use inline_account_function_p.
692 (inline_transform): Use opt_for_fn.
693 * ipa-inline.h (inline_account_function_p): Declare.
694
695 2015-01-20 Jakub Jelinek <jakub@redhat.com>
696
697 PR debug/64663
698 * dwarf2out.c (decl_piece_node): Don't put bitsize into
699 mode if bitsize <= 0.
700 (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
701 dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
702 sizes and positions.
703
704 2015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
705
706 * config/nios2/nios2.c (nios2_asm_file_end): Implement
707 TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
708 needed.
709 (TARGET_ASM_FILE_END): Define.
710
711 2015-01-20 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
712
713 * config/arm/arm-protos.h (enum arm_sched_autopref): New constants.
714 (struct tune_params): Use the enum.
715 * arm.c (arm_*_tune): Update.
716 (arm_option_override): Update.
717
718 2015-01-20 Richard Biener <rguenther@suse.de>
719
720 PR ipa/64684
721 * ipa-reference.c (add_static_var): Inline ...
722 (analyze_function): ... here after splitting out from ...
723 (is_proper_for_analysis): ... this.
724
725 2015-01-20 Matthew Wahab <matthew.wahab@arm.com>
726
727 PR target/64149
728 * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle.
729 * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag,
730 replace the conditional with it's true branch.
731 * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true.
732 (arm_lra_p): Remove.
733
734 2015-01-20 Eric Botcazou <ebotcazou@adacore.com>
735
736 * config/visium/visium.h (LIB_SPEC): Adjust in default case.
737
738 2015-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
739
740 * config/tilegx/mul-tables.c: Move symtab.h include after coretypes.h include.
741 * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h, vec.h,
742 machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h, flags.h, statistics.h,
743 double-int.h, real.h, fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h,
744 insn-config.h, expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
745
746 2015-01-20 Igor Zamyatin <igor.zamyatin@intel.com>
747
748 PR bootstrap/64676
749 Revert:
750 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
751
752 PR rtl-optimization/64081
753 * loop-iv.c (def_pred_latch_p): New function.
754 (latch_dominating_def): Allow specific cases with non-single
755 definitions.
756 (iv_get_reaching_def): Likewise.
757 (check_complex_exit_p): New function.
758 (check_simple_exit): Use check_complex_exit_p to allow certain cases
759 with exits not executing on any iteration.
760
761 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
762
763 PR lto/45375
764 * i386.c (ix86_option_override_internal): Use ix86_tune_cost
765 to set branch cost.
766
767 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
768
769 PR lto/45375
770 * i386.c (gate): Check flag_expensive_optimizations and
771 optimize_size.
772 (ix86_option_override_internal): Drop optimize_size condition
773 on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
774 MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
775 MASK_PREFER_AVX128.
776 (ix86_avx256_split_vector_move_misalign,
777 ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
778 * sse.md (all uses of TARGET_PREFER_AVX128): Add
779 optimize_insn_for_speed_p check.
780
781 2015-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
782
783 * config/mips/mips.h (FP_ASM_SPEC): New define.
784 (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
785 instead.
786
787 2015-01-19 Oleg Endo <olegendo@gcc.gnu.org>
788
789 PR target/53988
790 * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
791 nullptr for insn when reaching the first insn.
792 * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
793 (sh_insn_operands_modified_between_p): Add nullptr check.
794 (sh_find_extending_set_of_reg): Fix log message. Don't accept
795 sign extending mem load if the insn contains any UNSPEC or
796 UNSPEC_VOLATILE.
797
798 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
799
800 * params.def (inline-unit-growth): Drop to 15%.
801 * invoke.texi (inline-unit-growth): Document change.
802
803 2015-01-19 Martin Liska <mliska@suse.cz>
804
805 PR ipa/64668
806 * ipa-icf-gimple.c (func_checker::compare_operand): Call proper
807 function for second argument of OBJ_TYPE_REF.
808
809 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
810
811 PR ipa/64218
812 * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
813 whether function is an alias.
814
815 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
816
817 * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless
818 cases.
819
820 2015-01-19 Vladimir Makarov <vmakarov@redhat.com>
821
822 PR rtl-optimization/64671
823 * lra-remat.c (operand_to_remat): Don't consider jump and call
824 insns.
825
826 2015-01-19 David Edelsohn <dje.gcc@gmail.com>
827
828 * config/rs6000/default64.h: Include rs6000-cpus.def.
829 (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
830 (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
831 * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
832 and POWER8.
833 * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
834 POWER8.
835 * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
836 pseudo-op to specify assembler dialect.
837
838 2015-01-19 Martin Liska <mliska@suse.cz>
839
840 PR ipa/64664
841 * ipa-icf.c (sem_item_optimizer::filter_removed_items):
842 Handle safe potentially removed nodes during filtering.
843
844 2015-01-19 Martin Liska <mliska@suse.cz>
845
846 * doc/extend.texi (no_icf): Add new attribute description.
847 * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
848 where the pass attempts to merge a function with no_icf attribute.
849
850 2015-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
851
852 PR target/64532
853 * doc/md.texi (ARM Options): Document register constraints.
854
855 2015-01-19 Jiong Wang <jiong.wang@arm.com>
856 Andrew Pinski <apinski@cavium.com>
857
858 PR target/64304
859 * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
860 (ashl<mode>3): Don't expand if operands[2] is not constant.
861
862 2015-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
863
864 PR target/64448
865 * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
866 Match xor-and-xor RTL pattern.
867
868 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
869
870 PR rtl-optimization/64081
871 * loop-iv.c (def_pred_latch_p): New function.
872 (latch_dominating_def): Allow specific cases with non-single
873 definitions.
874 (iv_get_reaching_def): Likewise.
875 (check_complex_exit_p): New function.
876 (check_simple_exit): Use check_complex_exit_p to allow certain cases
877 with exits not executing on any iteration.
878
879 2015-01-19 Jakub Jelinek <jakub@redhat.com>
880
881 * common.opt (fgraphite): Fix a typo.
882
883 2015-01-19 Felix Yang <felix.yang@huawei.com>
884
885 * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New
886 pattern.
887 * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp,
888 uminp, smax_nanp, smin_nanp): New builtins.
889 * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32,
890 vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32,
891 vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64,
892 vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64,
893 vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8,
894 vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8,
895 vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64,
896 vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64,
897 vpminnms_f32): Rewrite using builtin functions.
898
899 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
900
901 PR libgomp/64625
902 * omp-low.c (offload_symbol_decl): Remove variable.
903 (get_offload_symbol_decl): Remove function.
904 (expand_omp_target): For BUILT_IN_GOMP_TARGET,
905 BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
906 instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
907 BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
908 BUILT_IN_GOACC_UPDATE don't pass it at all.
909
910 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
911
912 * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
913 callers.
914
915 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
916
917 * ipa-chkp.c (chkp_produce_thunks): Add early param
918 to split thunks production into two passes. Keep
919 'always_inline' function bodies after the first pass.
920 (pass_data_ipa_chkp_early_produce_thunks): New.
921 (pass_ipa_chkp_early_produce_thunks): New.
922 (pass_ipa_chkp_produce_thunks::execute): Adjust to new
923 chkp_produce_thunks signature.
924 (make_pass_ipa_chkp_early_produce_thunks): New.
925 * passes.def (pass_ipa_chkp_early_produce_thunks): New.
926 (pass_ipa_chkp_produce_thunks): Move after local optimizations.
927 * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.
928
929 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
930
931 * cgraph.c (cgraph_node::dump): Dump profile flags.
932
933 2015-01-18 Oleg Endo <olegendo@gcc.gnu.org>
934
935 PR target/64652
936 * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address
937 reg appear first in the parallel.
938
939 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
940
941 * ipa-reference.c (set_reference_optimization_summary,
942 ipa_reference_get_not_written_global): Do nothing if ipa-reference is
943 disabled.
944 (ignore_module_statics): New static var.
945 (propagate_bits): If ipa-reference is disabled, do not look into local
946 properties.
947 (analyze_function): Disable analysis when ipa_reference is disabled.
948 (generate_summary): Do not dump when reference is disabled;
949 collect vars accessed from functions with ipa-reference disabled.
950 (get_read_write_all_from_node): When ipa-reference is disabled, use the
951 node flags.
952 (gate): Enable for LTO.
953 (ignore_edge_p): New function.
954 (propagate): Skip functions w/o ipa-reference analysis.
955 * optc-save-gen.awk: Handle optimize_debug correctly.
956 * opth-gen.awk: Likewise.
957 * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse,
958 fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region,
959 fira-share-save-slots, fira-share-spill-slots,
960 fmodulo-sched-allow-regmoves, fpartial-inlining,
961 sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow,
962 ftracer, ftree-parallelize-loops, fassociative-math,
963 freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as
964 Optimization
965 (fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
966 ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
967 Optimization.
968 * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
969 Fix for IPA.
970
971 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
972
973 PR ipa/64378
974 * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
975 flag correctly.
976 * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
977
978 2015-01-18 Sandra Loosemore <sandra@codesourcery.com>
979
980 * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
981 Remove duplicate option listings.
982
983 2015-01-18 Felix Yang <felix.yang@huawei.com>
984
985 * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
986 (autofdo_source_profile::get_callsite_total_count,
987 function_instance::get_function_instance_by_decl,
988 string_table::get_index, string_table::get_index_by_decl,
989 afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
990 Fix comment typos. Reformatting and minor code rearrangement.
991
992 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
993
994 * config/rs6000/rs6000.md (probe_stack): Delete.
995 (probe_stack_address): New.
996
997 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
998
999 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
1000 to test for 32-bit ABIs, not !TARGET_POWERPC64.
1001
1002 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
1003
1004 * config/rs6000/rs6000.c (rs6000_parallel_return): New function.
1005 (rs6000_function_value): Use it. Handle SCmode and TCmode as well,
1006 for TARGET_32BIT && TARGET_POWERPC64. Fix another BITS_PER_WORD
1007 snafu.
1008 (rs6000_libcall_value): Use the new function.
1009
1010 2015-01-17 Sandra Loosemore <sandra@codesourcery.com>
1011
1012 * doc/invoke.texi ([-ftracer]): Remove duplicate option listing.
1013
1014 2015-01-17 Eric Botcazou <ebotcazou@adacore.com>
1015
1016 * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
1017 implement a more precise life analysis for it during backward scan.
1018
1019 2015-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
1020
1021 * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
1022
1023 2015-01-17 Bernd Schmidt <bernds@codesourcery.com>
1024
1025 PR rtl-optimization/52773
1026 * calls.c (emit_library_call_value): When pushing arguments use
1027 stack_pointer_rtx rather than virtual_outgoing_args_rtx in
1028 CALL_INSN_FUNCTION_USAGE. Only emit one of use of the magic
1029 stack pointer reference into CALL_INSN_FUNCTION_USAGE.
1030
1031 2015-01-17 Jeff Law <law@redhat.com>
1032
1033 PR rtl-optimization/32790
1034 * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
1035 not ZERO_EXTEND in SET_DESTs.
1036
1037 2015-01-17 Alan Modra <amodra@gmail.com>
1038
1039 * cprop.c (do_local_cprop): Revert last change.
1040
1041 2015-01-16 DJ Delorie <dj@redhat.com>
1042 Nick Clifton <nickc@redhat.com>
1043
1044 * config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
1045 (addhi3_real): Likewise. Fix [HL+0] syntax.
1046 (subqi3_real): Likewise.
1047 (subhi3_real): Likewise.
1048 (cbranchqi4_real): Likewise. Allow saddr,#imm.
1049 (cbranchhi4_real): Likewise.
1050 (cbranchhi4_real_inverted): Likewise.
1051 (cbranchsi4_real_lt): Likewise.
1052 (cbranchsi4_real_ge): Likewise.
1053 (cbranchsi4_real_ge): Likewise.
1054 * config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
1055 (sub<mode>3_virt): Likewise.
1056 (cbranchqi4_virt): Likewise.
1057 (cbranchhi4_virt): Likewise.
1058 * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
1059 always use '[reg+imm]' even when imm is zero.
1060 * config/rl78/predicates.md (rl78_volatile_memory_operand): New.
1061 (rl78_general_operand): New.
1062 (rl78_nonimmediate_operand): New.
1063 (rl78_nonfar_operand): Use them.
1064 (rl78_nonfar_nonimm_operand): Likewise.
1065 (rl78_stack_based_mem): Fix.
1066 * config/rl78/constraints.md (Ibqi): New.
1067 (IBqi): New.
1068 (Wsa): New.
1069 (Wsf): New.
1070 (Cs1): Fix.
1071 * config/rl78/rl78-expand.md (andqi3): Accept volatiles.
1072 (iorqi3): Likewise.
1073 (xorqi3): Likewise.
1074 * config/rl78/rl78-protos.h (rl78_sfr_p): New.
1075
1076 * config/rl78/constrains (Qs8): New constraint.
1077 * config/rl78/rl78.c (rl78_flags_already_set): New function.
1078 * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
1079 * config/rl78/rl78-real.md (update_Z): New attribute.
1080 Update patterns to set it.
1081 (cbranchqi4_real): Call rl78_flags_already_set() to determine if a
1082 shorter compare and branch sequence can be used.
1083 (cbranchhi4_real): Likewise.
1084 (cbranchhi4_real_inverted): Likewise.
1085
1086 * config/rl78/predicates.md (uword_operand): Allow symbol_refs.
1087 * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
1088 address space.
1089 * config/rl78/rl78.c (rl78_get_name_encoding): New.
1090 (rl78_option_override): Allow -mes0 only if C.
1091 (characterize_address): Support subregs of symbol_refs.
1092 (rl78_addr_space_address_mode): Move. Add __near.
1093 (rl78_far_p): Likewise.
1094 (rl78_addr_space_pointer_mode): Likewise.
1095 (rl78_as_legitimate_address): Likewise.
1096 (rl78_addr_space_subset_p): Likewise.
1097 (rl78_addr_space_convert): Likewise.
1098 (rl78_print_operand_1): Support 16-bit addressing of 32-bit
1099 symbols with -mes0.
1100 (transcode_memory_rtx): Don't copy ES if -mes0. Allow symbol[BC]
1101 addressing.
1102 (rl78_alloc_physical_registers_op1): Change logic to prefer
1103 symbol[BC] addressing.
1104 (frodata_section): New.
1105 (rl78_asm_init_sections): Initialize it.
1106 (rl78_select_section): Put __far readonly symbols in .frodata.
1107 (rl78_make_type_far): New.
1108 (rl78_insert_attributes): Force all readonly symbols to be __far when -mes0.
1109 (rl78_asm_out_integer): New.
1110 * config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
1111 * config/rl78/rl78.opt (-mes0): New.
1112
1113 * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
1114 (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
1115 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
1116 * config/rl78/rl78-protos.h (rl78_output_labelref): New.
1117 (rl78_saddr_p): New.
1118 (rl78_output_aligned_common): New.
1119 * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
1120 (rl78_handle_saddr_attribute): New.
1121 (rl78_handle_naked_attribute): New.
1122 (rl78_attribute_table): Add saddr.
1123 (rl78_print_operand_1): Don't print '!' on saddr operands.
1124 (rl78_print_operand_1): Strip encodings.
1125 (rl78_sfr_p): New.
1126 (rl78_strip_name_encoding): New.
1127 (rl78_attrlist_to_encoding): New.
1128 (rl78_encode_section_info): New.
1129 (rl78_asm_init_sections): New.
1130 (rl78_select_section): New.
1131 (rl78_output_labelref): New.
1132 (rl78_output_aligned_common): New.
1133 (rl78_asm_out_integer): New.
1134 (rl78_asm_ctor_dtor): New.
1135 (rl78_asm_constructor): New.
1136 (rl78_asm_destructor): New.
1137
1138 * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
1139 * config/rl78/rl78.c (rl78_expand_epilogue): Update.
1140 (transcode_memory_rtx): Update.
1141 (rl78_expand_epilogue): Use A_REG instead of 0.
1142
1143 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
1144
1145 * config/arm/arm-protos.h (struct tune_params): New field
1146 sched_autopref_queue_depth.
1147 * config/arm/arm.c (sched-int.h): Include header.
1148 (arm_first_cycle_multipass_dfa_lookahead_guard,)
1149 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
1150 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
1151 (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
1152 (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
1153 (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
1154 (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
1155 (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
1156 Specify sched_autopref_queue_depth value. Enabled for A15 and A57.
1157 * config/arm/t-arm (arm.o): Update.
1158 * haifa-sched.c (update_insn_after_change): Update.
1159 (rank_for_schedule): Use auto-prefetcher model, if requested.
1160 (autopref_multipass_init): New static function.
1161 (autopref_rank_for_schedule): New rank_for_schedule heuristic.
1162 (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
1163 variable for debug dumps.
1164 (autopref_multipass_dfa_lookahead_guard_1): New static helper function.
1165 (autopref_multipass_dfa_lookahead_guard): New global function that
1166 implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
1167 (init_h_i_d): Update.
1168 * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
1169 * sched-int.h (enum autopref_multipass_data_status): New const enum.
1170 (autopref_multipass_data_): Structure for auto-prefetcher data.
1171 (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
1172 (struct _haifa_insn_data:autopref_multipass_data): New field.
1173 (INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
1174 (autopref_multipass_dfa_lookahead_guard): Declare.
1175
1176 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
1177
1178 * rtlanal.c (get_base_term): Handle SCRATCH.
1179
1180 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
1181
1182 * config/aarch64/aarch64.c
1183 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
1184 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
1185 * config/arm/arm.c
1186 (arm_first_cycle_multipass_dfa_lookahead): Implement hook.
1187 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
1188
1189 2015-01-17 Alan Modra <amodra@gmail.com>
1190
1191 * cprop.c (do_local_cprop): Disallow replacement of fixed
1192 hard registers.
1193
1194 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1195
1196 PR target/62066
1197 * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before
1198 early return 0.
1199
1200 2015-01-16 Bernd Edlinger <bernd.edlinger@hotmail.de>
1201
1202 * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
1203 * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update.
1204
1205 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1206
1207 * config/arm/arm.md: Move comment about splitting Thumb1 patterns to...
1208 * config/arm/thumb1.md: ... Here.
1209
1210 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
1211
1212 * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
1213 TImode for TARGET_32BIT.
1214
1215 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
1216
1217 * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
1218 TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
1219 as ...
1220 (rs6000_abi_word_mode): New function.
1221
1222 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
1223
1224 * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD
1225 instead of UNITS_PER_WORD to describe the size of stack slots.
1226
1227 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
1228
1229 * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
1230 as rs6000_promote_function_mode. Move comment to there.
1231 (rs6000_promote_function_mode): New function.
1232
1233 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
1234
1235 * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32
1236 -mpowerpc64 is active.
1237
1238 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
1239
1240 PR middle-end/64353
1241 * tree-cfg.c (pass_data_fixup_cfg): Update SSA for
1242 virtuals on start.
1243
1244 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
1245
1246 * config/arm/cortex-a57.md: Remove duplicate of file accidentally
1247 introduced in revision 219724.
1248
1249 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1250 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1251
1252 PR target/64263
1253 * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the
1254 destination is not a GP reg.
1255 (*movdi_aarch64): Likewise.
1256
1257 2015-01-16 David Edelsohn <dje.gcc@gmail.com>
1258
1259 PR target/64623
1260 * config/rs6000/default64.h: Revert ISA change.
1261
1262 2015-01-16 Richard Biener <rguenther@suse.de>
1263
1264 PR middle-end/64614
1265 * tree-ssa-uninit.c: Include tree-cfg.h.
1266 (MAX_SWITCH_CASES): New define.
1267 (convert_control_dep_chain_into_preds): Handle switch statements.
1268 (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
1269 (normalize_one_pred_1): Do not split bit-manipulations.
1270 Record (x & CST).
1271
1272 2015-01-16 Richard Biener <rguenther@suse.de>
1273
1274 PR tree-optimization/64568
1275 * tree-ssa-forwprop.c (pass_forwprop::execute): Guard
1276 complex load rewriting for TARGET_MEM_REFs.
1277
1278 2015-01-16 Uros Bizjak <ubizjak@gmail.com>
1279
1280 * builtins.c (expand_builtin_acc_on_device): Check target for NULL.
1281
1282 2015-01-16 Matthew Wahab <matthew.wahab@arm.com>
1283
1284 PR target/64149
1285 * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
1286 variable.
1287 * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true.
1288 (aarch64_lra_p): Remove.
1289
1290 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
1291
1292 PR target/64363
1293 * ipa-chkp.h (chkp_instrumentable_p): New.
1294 * ipa-chkp.c: Include tree-inline.h.
1295 (chkp_instrumentable_p): New.
1296 (chkp_maybe_create_clone): Use chkp_instrumentable_p.
1297 Fix processing of not instrumentable functions.
1298 (chkp_versioning): Use chkp_instrumentable_p. Warn about
1299 not instrumentable functions.
1300 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
1301 chkp_instrumentable_p.
1302 * tree-inline.h (copy_forbidden): New.
1303 * tree-inline.c (copy_forbidden): Not static anymore.
1304
1305 2015-01-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1306
1307 * optc-save-gen.awk (cl_target_option_print_diff): Mark indent,
1308 ptr1, ptr2 unused.
1309
1310 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
1311
1312 * lra-constraints.c (curr_insn_transform): Change a reload pseudo of
1313 type OP_OUT to OP_INOUT.
1314
1315 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
1316
1317 * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
1318 (high x) y) to y if x and y have the same base.
1319
1320 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
1321
1322 * config/arm/cortex-a57.md: New.
1323 * config/aarch64/aarch64.md: Include it.
1324 * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.
1325 * config/aarch64/aarch64-tune.md: Regenerate.
1326
1327 2015-01-16 Zhenqiang Chen <zhenqiang.chen@arm.com>
1328
1329 PR target/64015
1330 * ccmp.c (expand_ccmp_next): New function.
1331 (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence
1332 and compare insn sequence.
1333 * config/aarch64/aarch64.c (aarch64_code_to_ccmode,
1334 aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions.
1335 (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO.
1336 * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>.
1337 (*ccmp_ior): Changed to ccmp_ior<mode>.
1338 (cmp<mode>): New pattern.
1339 * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update
1340 parameters.
1341 * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters.
1342
1343 2015-01-16 Ilya Tocar <ilya.tocar@intel.com>
1344
1345 * config/i386/avx2intrin.h (_mm256_bslli_epi128,
1346 _mm256_bsrli_epi128): New.
1347 * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
1348
1349 2015-01-15 Jiong Wang <jiong.wang@arm.com>
1350
1351 * expmed.c (store_bit_field_using_insv): Improve warning message.
1352 Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.
1353
1354 2015-01-15 Jiong Wang <jiong.wang@arm.com>
1355
1356 PR rtl-optimization/64011
1357 * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
1358 there is partial overflow.
1359
1360 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
1361
1362 * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change
1363 prototype.
1364 (nds32_expand_epilogue_v3pop): Likewise.
1365 * config/nds32/nds32.md (sibcall): Define this for sibling call
1366 optimization.
1367 (sibcall_register): Likewise.
1368 (sibcall_immediate): Likewise.
1369 (sibcall_value): Likewise.
1370 (sibcall_value_register): Likewise.
1371 (sibcall_value_immediate): Likewise.
1372 (sibcall_epilogue): Likewise.
1373 (epilogue): Pass false to indicate this is not a sibcall epilogue.
1374 * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case.
1375 (nds32_expand_epilogue_v3pop): Likewise.
1376
1377 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
1378
1379 * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New.
1380 * config/nds32/nds32.md (unspec_volatile_func_return): Remove.
1381 (return_internal): New.
1382 (return): Define this named pattern.
1383 (simple_return): Define this named pattern.
1384 * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal
1385 pattern instead of unspec_volatile_func_return.
1386 (nds32_expand_epilogue_v3pop): Likewise.
1387 (nds32_can_use_return_insn): New function.
1388
1389 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
1390
1391 * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New.
1392 * config/nds32/nds32.md (pop25return): New.
1393 * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit
1394 pop25return pattern.
1395
1396 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
1397
1398 * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp,
1399 -mforbid-fp-as-gp, and -mex9 options.
1400
1401 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
1402
1403 * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and
1404 remove -mgp-direct option.
1405
1406 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
1407
1408 * doc/invoke.texi (--param early-inlining-insns): Update default value.
1409 * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.
1410
1411 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
1412
1413 * ipa-inline.c (inline_small_functions): Work around hints
1414 cache issue.
1415
1416 2015-01-15 Sandra Loosemore <sandra@codesourcery.com>
1417
1418 PR target/59710
1419 * doc/invoke.texi (Option Summary): Document new Nios II
1420 -mgpopt= syntax.
1421 (Nios II Options): Likewise.
1422 * config/nios2/nios2.opt: Add -mgpopt= option support.
1423 Modify existing -mgpopt and -mno-gpopt options to be aliases.
1424 * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New.
1425 * config/nios2/nios2.c (nios2_option_override): Adjust
1426 -mgpopt defaulting.
1427 (nios2_in_small_data_p): Return true for explicit small data
1428 sections even with -G0.
1429 (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt=
1430 option choices.
1431
1432 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
1433
1434 PR ipa/64612
1435 * ipa-inline-transform.c (can_remove_node_now_p): Fix handling
1436 of comdat locals.
1437 (inline_call): Fix removal of aliases.
1438
1439 2015-01-15 Jakub Jelinek <jakub@redhat.com>
1440
1441 * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR,
1442 include SANITIZE_VPTR in SANITIZE_UNDEFINED.
1443 * opts.c (common_handle_option): Add -fsanitize=vptr.
1444 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS,
1445 BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New.
1446 * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER,
1447 UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE.
1448 (ubsan_expand_vptr_ifn): New prototype.
1449 * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE,
1450 expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL,
1451 expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK,
1452 expand_LOOP_VECTORIZED): Make argument nameless, remove
1453 ATTRIBUTE_UNUSED.
1454 (expand_UBSAN_VPTR): New function.
1455 * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W
1456 in fn spec.
1457 (UBSAN_VPTR): New internal function.
1458 * sanopt.c (tree_map_traits): Renamed to ...
1459 (sanopt_tree_map_traits): ... this.
1460 (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes.
1461 (sanopt_ctx): Adjust asan_check_map type for tree_map_traits
1462 to sanopt_tree_map_traits renaming. Add vptr_check_map field.
1463 (maybe_optimize_ubsan_vptr_ifn): New function.
1464 (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR.
1465 (pass_sanopt::execute): Likewise. Call sanopt_optimize even for
1466 -fsanitize=vptr.
1467 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain
1468 internal calls like pure functions for aliasing, even when they
1469 have other side-effects that prevent making them ECF_PURE.
1470 * ubsan.c (ubsan_vptr_type_cache_decl): New variable.
1471 (ubsan_expand_vptr_ifn): New function.
1472
1473 2015-01-15 Vladimir Makarov <vmakarov@redhat.com>
1474
1475 PR rtl-optimization/64110
1476 * stmt.c (parse_output_constraint): Process '^' and '$'.
1477 (parse_input_constraint): Ditto.
1478 * lra-constraints.c (process_alt_operands): Process the new
1479 constraints.
1480 * ira-costs.c (record_reg_classes): Process the new constraint
1481 '^'.
1482 * genoutput.c (indep_constraints): Add '^' and '$'.
1483 * config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'.
1484 * doc/md.texi: Add description of the new constraints.
1485
1486 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
1487 Bernd Schmidt <bernds@codesourcery.com>
1488 Cesar Philippidis <cesar@codesourcery.com>
1489 James Norris <jnorris@codesourcery.com>
1490 Tom de Vries <tom@codesourcery.com>
1491 Ilmir Usmanov <i.usmanov@samsung.com>
1492 Dmitry Bocharnikov <dmitry.b@samsung.com>
1493 Evgeny Gavrin <e.gavrin@samsung.com>
1494 Jakub Jelinek <jakub@redhat.com>
1495
1496 * builtin-types.def (BT_FN_VOID_INT_INT_VAR)
1497 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
1498 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
1499 New function types.
1500 * builtins.c: Include "gomp-constants.h".
1501 (expand_builtin_acc_on_device): New function.
1502 (expand_builtin, is_inexpensive_builtin): Handle
1503 BUILT_IN_ACC_ON_DEVICE.
1504 * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER):
1505 New macros.
1506 * cgraph.c (cgraph_node::create): Consider flag_openacc next to
1507 flag_openmp.
1508 * config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h.
1509 <*-intelmic-* | *-intelmicemul-*> (tm_file): Add
1510 i386/intelmic-offload.h.
1511 * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link
1512 to libgomp and its dependencies.
1513 * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise.
1514 * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
1515 * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
1516 * config/ia64/hpux.h (LIB_SPEC): Likewise.
1517 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
1518 * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
1519 * doc/generic.texi: Update for OpenACC changes.
1520 * doc/gimple.texi: Likewise.
1521 * doc/invoke.texi: Likewise.
1522 * doc/sourcebuild.texi: Likewise.
1523 * gimple-pretty-print.c (dump_gimple_omp_for): Handle
1524 GF_OMP_FOR_KIND_OACC_LOOP.
1525 (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS,
1526 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA,
1527 GF_OMP_TARGET_KIND_OACC_UPDATE,
1528 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
1529 Dump more data.
1530 * gimple.c: Update comments for OpenACC changes.
1531 * gimple.def: Likewise.
1532 * gimple.h: Likewise.
1533 (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP,
1534 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
1535 GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE,
1536 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
1537 (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the
1538 appropriate place.
1539 (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions.
1540 * gimplify.c: Include "gomp-constants.h".
1541 Update comments for OpenACC changes.
1542 (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA,
1543 OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA,
1544 OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
1545 (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
1546 OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
1547 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
1548 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
1549 OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
1550 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
1551 OMP_CLAUSE_SEQ.
1552 (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use
1553 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
1554 OMP_CLAUSE_SET_MAP_KIND.
1555 (gimplify_oacc_cache): New function.
1556 (gimplify_omp_for): Handle OACC_LOOP.
1557 (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL,
1558 OACC_DATA.
1559 (gimplify_omp_target_update): Handle OACC_ENTER_DATA,
1560 OACC_EXIT_DATA, OACC_UPDATE.
1561 (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA,
1562 OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA,
1563 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE.
1564 (gimplify_body): Consider flag_openacc next to flag_openmp.
1565 * lto-streamer-out.c: Include "gomp-constants.h".
1566 * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE)
1567 (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END)
1568 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL)
1569 (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT)
1570 (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS)
1571 (BUILT_IN_ACC_ON_DEVICE): New builtins.
1572 * omp-low.c: Include "gomp-constants.h".
1573 Update comments for OpenACC changes.
1574 (struct omp_context): Add reduction_map, gwv_below, gwv_this
1575 members.
1576 (extract_omp_for_data, use_pointer_for_field, install_var_field)
1577 (new_omp_context, delete_omp_context, scan_sharing_clauses)
1578 (create_omp_child_function, scan_omp_for, scan_omp_target)
1579 (check_omp_nesting_restrictions, lower_reduction_clauses)
1580 (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges):
1581 Update for OpenACC changes.
1582 (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS:
1583 OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH,
1584 OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG,
1585 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
1586 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT,
1587 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of
1588 OMP_CLAUSE_MAP_*.
1589 (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
1590 Handle GF_OMP_FOR_KIND_OACC_LOOP.
1591 (expand_omp_target, lower_omp_target): Handle
1592 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
1593 GF_OMP_TARGET_KIND_OACC_UPDATE,
1594 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA,
1595 GF_OMP_TARGET_KIND_OACC_DATA.
1596 (pass_expand_omp::execute, execute_lower_omp)
1597 (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to
1598 flag_openmp.
1599 (offload_symbol_decl): New variable.
1600 (oacc_get_reduction_array_id, oacc_max_threads)
1601 (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction)
1602 (maybe_lookup_oacc_reduction, enclosing_target_ctx)
1603 (oacc_loop_or_target_p, oacc_lower_reduction_var_helper)
1604 (oacc_gimple_assign, oacc_initialize_reduction_data)
1605 (oacc_finalize_reduction_data, oacc_process_reduction_data): New
1606 functions.
1607 (is_targetreg_ctx): Remove function.
1608 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_,
1609 OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE,
1610 OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
1611 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
1612 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS,
1613 OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH.
1614 * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly.
1615 * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR)
1616 (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR)
1617 (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR)
1618 (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR)
1619 (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros.
1620 * tree-core.h: Update comments for OpenACC changes.
1621 (enum omp_clause_map_kind): Remove.
1622 (struct tree_omp_clause): Change type of map_kind member from enum
1623 omp_clause_map_kind to unsigned char.
1624 * tree-inline.c: Update comments for OpenACC changes.
1625 * tree-nested.c: Likewise. Include "gomp-constants.h".
1626 (convert_nonlocal_reference_stmt, convert_local_reference_stmt)
1627 (convert_tramp_reference_stmt, convert_gimple_call): Update for
1628 OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
1629 OMP_CLAUSE_SET_MAP_KIND.
1630 * tree-pretty-print.c: Include "gomp-constants.h".
1631 (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT,
1632 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG,
1633 OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ,
1634 OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR,
1635 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
1636 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_*
1637 instead of OMP_CLAUSE_MAP_*.
1638 (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS,
1639 OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE,
1640 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
1641 * tree-streamer-in.c: Include "gomp-constants.h".
1642 (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of
1643 OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
1644 * tree-streamer-out.c: Include "gomp-constants.h".
1645 (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of
1646 OMP_CLAUSE_MAP_*.
1647 * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA)
1648 (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE)
1649 (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes.
1650 * tree.c (omp_clause_num_ops): Update accordingly.
1651 * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE):
1652 Likewise.
1653 (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY)
1654 (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES)
1655 (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES)
1656 (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES)
1657 (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES)
1658 (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros.
1659 * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind.
1660 (OMP_CLAUSE_SET_MAP_KIND): New macro.
1661 * varpool.c (varpool_node::get_create): Consider flag_openacc next
1662 to flag_openmp.
1663 * config/i386/intelmic-offload.h: New file.
1664 * config/nvptx/offload.h: Likewise.
1665
1666 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1667
1668 * explow.h: Remove duplicate contents.
1669 * dojump.h: Likewise.
1670
1671 2015-01-15 Richard Earnshaw <rearnsha@arm.com>
1672
1673 * arm.c (arm_xgene_tune): Add default initializer for instruction
1674 fusion.
1675
1676 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
1677
1678 PR ipa/64068
1679 PR ipa/64559
1680 * ipa.c (symbol_table::remove_unreachable_nodes):
1681 Do not put abstract origins into boundary.
1682
1683 2015-01-15 Evgeny Stupachenko <evstupac@gmail.com>
1684
1685 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage.
1686 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto.
1687
1688 2015-01-15 Steve Ellcey <sellcey@mips.com>
1689
1690 * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h,
1691 cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h,
1692 builtins.def, and chkp-builtins.def.
1693
1694 2015-01-15 David Edelsohn <dje.gcc@gmail.com>
1695
1696 * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use
1697 ISA 2.7 (POWER8).
1698
1699 2015-01-15 Richard Biener <rguenther@suse.de>
1700
1701 PR tree-optimization/61743
1702 * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range
1703 information on PHIs for some simple cases.
1704
1705 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
1706
1707 * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list.
1708 Include xgene1.md.
1709 * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1.
1710 * config/arm/arm-cores.def (xgene1): New entry.
1711 * config/arm/arm-tables.opt: Regenerate.
1712 * config/arm/arm-tune.md: Regenerate.
1713 * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1.
1714
1715 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
1716
1717 * tree-if-conv.c: Include hash-map.h.
1718 (aggressive_if_conv): New variable.
1719 (fold_build_cond_expr): Add simplification of non-zero condition.
1720 (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge
1721 destination block is not always executed.
1722 (if_convertible_phi_p): Fix commentary, allow phi nodes have more
1723 than two predecessors if AGGRESSIVE_IF_CONV is true.
1724 (if_convertible_stmt_p): Fix commentary.
1725 (all_preds_critical_p): New function.
1726 (has_pred_critical_p): New function.
1727 (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true
1728 BB can have more than two predecessors and all incoming edges can be
1729 critical.
1730 (predicate_bbs): Skip predication for loop exit block, use build2_loc
1731 to compute predicate for true edge.
1732 (find_phi_replacement_condition): Delete this function.
1733 (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED.
1734 Allow interchange PHI arguments if EXTENDED is false.
1735 Change check that block containing reduction statement candidate
1736 is predecessor of phi-block since phi may have more than two arguments.
1737 (phi_args_hash_traits): New helper structure.
1738 (struct phi_args_hash_traits): New type.
1739 (phi_args_hash_traits::hash): New function.
1740 (phi_args_hash_traits::equal_keys): New function.
1741 (gen_phi_arg_condition): New function.
1742 (predicate_scalar_phi): Add handling of phi nodes with more than two
1743 arguments, delete COND and TRUE_BB arguments, insert body of
1744 find_phi_replacement_condition to predicate ordinary phi nodes.
1745 (predicate_all_scalar_phis): Skip blocks with the only predecessor,
1746 delete call of find_phi_replacement_condition and invoke
1747 predicate_scalar_phi with two arguments.
1748 (insert_gimplified_predicates): Add assert that non-predicated block
1749 don't have statements to insert.
1750 (ifcvt_split_critical_edges): New function.
1751 (ifcvt_split_def_stmt): Likewise.
1752 (ifcvt_walk_pattern_tree): Likewise.
1753 (stmt_is_root_of_bool_pattern): Likewise.
1754 (ifcvt_repair_bool_pattern): Likewise.
1755 (ifcvt_local_dce): Likewise.
1756 (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which
1757 is copy of inner or outer loop force_vectorize field, invoke
1758 ifcvt_split_critical_edges, ifcvt_local_dce and
1759 ifcvt_repair_bool_pattern for aggressive if-conversion.
1760
1761 2015-01-15 Philipp Tomsich <ptomsich@theobroma-systems.com>
1762
1763 * config/aarch64/aarch64.md: Include xgene1.md.
1764 * config/aarch64/xgene1.md: New file.
1765
1766 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
1767
1768 * config/aarch64/aarch64-cores.def (xgene1): Update/add the
1769 xgene1 (APM XGene-1) core definition.
1770 * gcc/config/aarch64/aarch64.c: Add cost tables for APM XGene-1
1771 * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1
1772 * doc/invoke.texi: Document -mcpu=xgene1.
1773
1774 2015-10-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1775
1776 * dojump.h: New header file.
1777 * explow.h: Likewise.
1778 * expr.h: Remove includes.
1779 Move expmed.c prototypes to expmed.h.
1780 Move dojump.c prototypes to dojump.h.
1781 Move alias.c prototypes to alias.h.
1782 Move explow.c prototypes to explow.h.
1783 Move calls.c prototypes to calls.h.
1784 Move emit-rtl.c prototypes to emit-rtl.h.
1785 Move varasm.c prototypes to varasm.h.
1786 Move stmt.c prototypes to stmt.h.
1787 (saved_pending_stack_adjust): Move to dojump.h.
1788 (adjust_address): Move to explow.h.
1789 (adjust_address_nv): Move to emit-rtl.h.
1790 (adjust_bitfield_address): Likewise.
1791 (adjust_bitfield_address_size): Likewise.
1792 (adjust_bitfield_address_nv): Likewise.
1793 (adjust_automodify_address_nv): Likewise.
1794 * explow.c (expr_size): Move to expr.c.
1795 (int_expr_size): Likewise.
1796 (tree_expr_size): Likewise.
1797 Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1798 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
1799 * genemit.c (main): Generate includes statistics.h, real.h, fixed-value.h,
1800 insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
1801 * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h, function.h,
1802 statistics.h, real.h, fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
1803 stmt.h.
1804 * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
1805 fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
1806 * genemit.c (open_base_files): Generate includes flags.h, statistics.h, real.h,
1807 fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h,
1808 stmt.h.
1809 * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h, hash-set.h, vec.h,
1810 machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h, flags.h, statistics.h,
1811 double-int.h, real.h, fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h,
1812 insn-config.h, expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
1813 * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
1814 double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
1815 function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
1816 insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
1817 tm.h tree.h varasm.h vec.h wide-int.h.
1818 * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
1819 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
1820 hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
1821 real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
1822 * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
1823 explow.h expmed.h fixed-value.h flags.h inchash.h insn-config.h
1824 real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
1825 * loop-iv.c: Likewise.
1826 * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
1827 explow.h expmed.h fixed-value.h flags.h inchash.h real.h
1828 statistics.h stmt.h tree.h varasm.h wide-int.h.
1829 * lra-constraints.c: Likewise.
1830 * lra-eliminations.c: Likewise.
1831 * lra-lives.c: Likewise.
1832 * lra-remat.c: Likewise.
1833 * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
1834 explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
1835 statistics.h stmt.h tree.h varasm.h wide-int.h.
1836 * hw-doloop.c: Likewise.
1837 * ira-color.c: Likewise.
1838 * ira-emit.c: Likewise.
1839 * loop-doloop.c: Likewise.
1840 * loop-invariant.c: Likewise.
1841 * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
1842 explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
1843 statistics.h stmt.h tree.h varasm.h wide-int.h.
1844 * caller-save.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
1845 explow.h expmed.h fixed-value.h inchash.h real.h statistics.h
1846 stmt.h tree.h varasm.h wide-int.h.
1847 * combine-stack-adj.c: Likewise.
1848 * cse.c: Likewise.
1849 * ddg.c: Likewise.
1850 * ifcvt.c: Likewise.
1851 * ira-costs.c: Likewise.
1852 * jump.c: Likewise.
1853 * lra-coalesce.c: Likewise.
1854 * lra-spills.c: Likewise.
1855 * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
1856 explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
1857 stmt.h varasm.h wide-int.h.
1858 * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
1859 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
1860 varasm.h.
1861 * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
1862 double-int.h explow.h expmed.h fixed-value.h flags.h real.h
1863 statistics.h stmt.h varasm.h wide-int.h.
1864 * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
1865 expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
1866 varasm.h wide-int.h.
1867 * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
1868 expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
1869 * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
1870 emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
1871 statistics.h stmt.h.
1872 * config/tilepro/tilepro.c: Likewise.
1873 * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
1874 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
1875 * config/pdp11/pdp11.c: Likewise.
1876 * config/xtensa/xtensa.c: Likewise.
1877 * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
1878 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
1879 varasm.h.
1880 * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1881 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
1882 insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
1883 * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1884 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
1885 insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
1886 * rtl-chkp.c: Likewise.
1887 * tree-chkp-opt.c: Likewise.
1888 * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h explow.h
1889 expmed.h fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
1890 insn-config.h real.h statistics.h stmt.h varasm.h.
1891 * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1892 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
1893 statistics.h stmt.h.
1894 * tree-vect-data-refs.c: Likewise.
1895 * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
1896 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
1897 rtl.h statistics.h stmt.h varasm.h.
1898 * internal-fn.c: Likewise.
1899 * ipa-icf-gimple.c: Likewise.
1900 * lto-section-out.c: Likewise.
1901 * tree-data-ref.c: Likewise.
1902 * tree-nested.c: Likewise.
1903 * tree-outof-ssa.c: Likewise.
1904 * tree-predcom.c: Likewise.
1905 * tree-pretty-print.c: Likewise.
1906 * tree-scalar-evolution.c: Likewise.
1907 * tree-ssa-strlen.c: Likewise.
1908 * tree-vect-loop.c: Likewise.
1909 * tree-vect-patterns.c: Likewise.
1910 * tree-vect-slp.c: Likewise.
1911 * tree-vect-stmts.c: Likewise.
1912 * tsan.c: Likewise.
1913 * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1914 fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
1915 stmt.h.
1916 * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
1917 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
1918 statistics.h stmt.h varasm.h.
1919 * loop-unroll.c: Likewise.
1920 * ubsan.c: Likewise.
1921 * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
1922 expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
1923 stmt.h varasm.h.
1924 * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1925 fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
1926 * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
1927 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
1928 statistics.h stmt.h.
1929 * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
1930 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
1931 statistics.h stmt.h varasm.h.
1932 * gimple-match-head.c: Likewise.
1933 * lto-cgraph.c: Likewise.
1934 * lto-section-in.c: Likewise.
1935 * lto-streamer-in.c: Likewise.
1936 * lto-streamer-out.c: Likewise.
1937 * tree-affine.c: Likewise.
1938 * tree-cfg.c: Likewise.
1939 * tree-cfgcleanup.c: Likewise.
1940 * tree-if-conv.c: Likewise.
1941 * tree-into-ssa.c: Likewise.
1942 * tree-ssa-alias.c: Likewise.
1943 * tree-ssa-copyrename.c: Likewise.
1944 * tree-ssa-dse.c: Likewise.
1945 * tree-ssa-forwprop.c: Likewise.
1946 * tree-ssa-live.c: Likewise.
1947 * tree-ssa-math-opts.c: Likewise.
1948 * tree-ssa-pre.c: Likewise.
1949 * tree-ssa-sccvn.c: Likewise.
1950 * tree-tailcall.c: Likewise.
1951 * tree-vect-generic.c: Likewise.
1952 * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1953 fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
1954 * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1955 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
1956 * varasm.c: Likewise.
1957 * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1958 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
1959 varasm.h.
1960 * init-regs.c: Likewise.
1961 * ira.c: Likewise.
1962 * omp-low.c: Likewise.
1963 * stack-ptr-mod.c: Likewise.
1964 * tree-ssa-reassoc.c: Likewise.
1965 * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1966 fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
1967 varasm.h.
1968 * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1969 fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
1970 * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1971 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
1972 * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1973 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
1974 * tree-ssa-phiopt.c: Likewise.
1975 * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1976 fixed-value.h hashtab.h real.h statistics.h stmt.h.
1977 * config/fr30/fr30.c: Likewise.
1978 * config/frv/frv.c: Likewise.
1979 * expr.c: Likewise.
1980 * final.c: Likewise.
1981 * optabs.c: Likewise.
1982 * passes.c: Likewise.
1983 * simplify-rtx.c: Likewise.
1984 * stmt.c: Likewise.
1985 * toplev.c: Likewise.
1986 * var-tracking.c: Likewise.
1987 * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1988 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
1989 * lower-subreg.c: Likewise.
1990 * postreload-gcse.c: Likewise.
1991 * ree.c: Likewise.
1992 * reginfo.c: Likewise.
1993 * store-motion.c: Likewise.
1994 * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1995 fixed-value.h hashtab.h real.h stmt.h varasm.h.
1996 * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1997 fixed-value.h hashtab.h statistics.h stmt.h.
1998 * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
1999 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
2000 * except.c: Likewise.
2001 * explow.c: Likewise.
2002 * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2003 fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
2004 varasm.h.
2005 * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2006 fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
2007 * tree-ssa-structalias.c: Likewise.
2008 * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2009 fixed-value.h insn-config.h real.h statistics.h.
2010 * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2011 fixed-value.h insn-config.h real.h statistics.h stmt.h.
2012 * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2013 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
2014 * cfgbuild.c: Likewise.
2015 * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2016 fixed-value.h real.h rtl.h statistics.h stmt.h.
2017 * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2018 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
2019 * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2020 fixed-value.h real.h statistics.h stmt.h.
2021 * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
2022 fixed-value.h real.h statistics.h stmt.h varasm.h.
2023 * cprop.c: Likewise.
2024 * modulo-sched.c: Likewise.
2025 * postreload.c: Likewise.
2026 * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
2027 flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
2028 statistics.h stmt.h varasm.h.
2029 * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
2030 explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
2031 rtl.h statistics.h stmt.h varasm.h.
2032 * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
2033 fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
2034 varasm.h.
2035 * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
2036 function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
2037 varasm.h.
2038 * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
2039 fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
2040 varasm.h.
2041 * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
2042 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
2043 * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
2044 function.h real.h statistics.h stmt.h varasm.h.
2045 * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
2046 insn-config.h real.h statistics.h stmt.h.
2047 * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
2048 statistics.h stmt.h.
2049 * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
2050 fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
2051 statistics.h stmt.h varasm.h.
2052 * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
2053 flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
2054 * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
2055 flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
2056 * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
2057 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
2058 statistics.h stmt.h varasm.h.
2059 * ipa-polymorphic-call.c: Likewise.
2060 * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h expmed.h
2061 fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
2062 stmt.h.
2063 * config/c6x/c6x.c: Likewise.
2064 * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h explow.h
2065 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
2066 statistics.h stmt.h varasm.h.
2067 * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
2068 hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h varasm.h.
2069 * ipa-split.c: Likewise.
2070 * tree-eh.c: Likewise.
2071 * tree-ssa-dce.c: Likewise.
2072 * tree-ssa-loop-niter.c: Likewise.
2073 * tree-vrp.c: Likewise.
2074 * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
2075 expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
2076 stmt.h.
2077 * config/nds32/nds32-fp-as-gp.c: Likewise.
2078 * config/nds32/nds32-intrinsic.c: Likewise.
2079 * config/nds32/nds32-isr.c: Likewise.
2080 * config/nds32/nds32-md-auxiliary.c: Likewise.
2081 * config/nds32/nds32-memory-manipulation.c: Likewise.
2082 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
2083 * config/nds32/nds32-predicates.c: Likewise.
2084 * config/nds32/nds32.c: Likewise.
2085 * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
2086 fixed-value.h hashtab.h real.h statistics.h.
2087 * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
2088 fixed-value.h hashtab.h real.h statistics.h stmt.h.
2089 * config/arm/arm.c: Likewise.
2090 * config/avr/avr.c: Likewise.
2091 * config/bfin/bfin.c: Likewise.
2092 * config/h8300/h8300.c: Likewise.
2093 * config/i386/i386.c: Likewise.
2094 * config/ia64/ia64.c: Likewise.
2095 * config/iq2000/iq2000.c: Likewise.
2096 * config/m32c/m32c.c: Likewise.
2097 * config/m32r/m32r.c: Likewise.
2098 * config/m68k/m68k.c: Likewise.
2099 * config/mcore/mcore.c: Likewise.
2100 * config/mep/mep.c: Likewise.
2101 * config/mips/mips.c: Likewise.
2102 * config/mn10300/mn10300.c: Likewise.
2103 * config/moxie/moxie.c: Likewise.
2104 * config/pa/pa.c: Likewise.
2105 * config/rl78/rl78.c: Likewise.
2106 * config/rx/rx.c: Likewise.
2107 * config/s390/s390.c: Likewise.
2108 * config/sh/sh.c: Likewise.
2109 * config/sparc/sparc.c: Likewise.
2110 * config/spu/spu.c: Likewise.
2111 * config/stormy16/stormy16.c: Likewise.
2112 * config/v850/v850.c: Likewise.
2113 * config/vax/vax.c: Likewise.
2114 * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
2115 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
2116 * config/msp430/msp430.c: Likewise.
2117 * predict.c: Likewise.
2118 * value-prof.c: Likewise.
2119 * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
2120 expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
2121 * config/microblaze/microblaze.c: Likewise.
2122 * config/nios2/nios2.c: Likewise.
2123 * config/rs6000/rs6000.c: Likewise.
2124 * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
2125 insn-config.h real.h rtl.h statistics.h stmt.h.
2126 * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
2127 insn-config.h real.h statistics.h stmt.h.
2128 * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
2129 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
2130 * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
2131 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
2132 * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
2133 real.h statistics.h stmt.h.
2134 * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
2135 fixed-value.h statistics.h stmt.h.
2136 * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
2137 stmt.h.
2138
2139 2015-01-15 Jakub Jelinek <jakub@redhat.com>
2140
2141 * gengtype.c (create_user_defined_type): Workaround
2142 -Wmaybe-uninitialized false positives.
2143 * cse.c (fold_rtx): Likewise.
2144 * loop-invariant.c (gain_for_invariant): Likewise.
2145
2146 2015-01-15 Eric Botcazou <ebotcazou@adacore.com>
2147
2148 * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
2149 set the memory attributes in all cases but clear MEM_EXPR if need be.
2150
2151 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
2152
2153 PR tree-optimization/64434
2154 * cfgexpand.c (reorder_operands): New function.
2155 (expand_gimple_basic_block): Insert call of reorder_operands if
2156 optimized is true.
2157
2158 2015-01-15 Matthew Fortune <matthew.fortune@imgtec.com>
2159
2160 * config/mips/micromips.md (*swp): Remove explicit parallel.
2161 (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise.
2162 * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise.
2163 (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise.
2164 (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise.
2165 (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise.
2166 (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise.
2167 (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise.
2168 (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise.
2169 (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise.
2170 (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise.
2171 (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise.
2172 (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise.
2173 (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise.
2174 (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise.
2175 (mips_wrdsp): Likewise.
2176 * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit
2177 parallel.
2178 (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise.
2179 (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise.
2180 (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise.
2181 (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise.
2182 (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise.
2183 (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise.
2184 * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel.
2185 (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise.
2186 (ssmaddsqdq4, ssmsubsqdq4): Likewise.
2187
2188 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
2189
2190 * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA.
2191 (mips_print_operand): Support 'y' to print exact log2 in decimal
2192 of a const_int.
2193 * config/mips/mips.h (ISA_HAS_LSA): New define.
2194 (ISA_HAS_DLSA): Likewise.
2195 * config/mips/mips.md (<GPR:d>lsa): New define_insn.
2196 * config/mips/predicates.md (const_immlsa_operand): New predicate.
2197
2198 2015-01-15 Martin Liska <mliska@suse.cz>
2199
2200 PR target/64377
2201 * optc-save-gen.awk: Add support for array types.
2202
2203 2015-01-15 Richard Biener <rguenther@suse.de>
2204
2205 PR middle-end/64365
2206 * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
2207 for MEM_REF access functions with the same base can never partially
2208 overlap.
2209
2210 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
2211
2212 * common.opt: New option -fstack-protector-explicit.
2213 * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
2214 (stack_protect_decl_phase): Handle stack_protect attribute for
2215 explicit stack protection requests.
2216 (expand_used_vars): Similarly.
2217 * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
2218 * doc/extend.texi: Add documentation for "stack_protect" attribute.
2219 * doc/invoke.texi: Add documentation for -fstack-protector-explicit.
2220
2221 2015-01-14 Oleg Endo <olegendo@gcc.gnu.org>
2222
2223 PR target/53988
2224 * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
2225 reg-reg copies.
2226 (sh_extending_set_of_reg): New struct.
2227 (sh_find_extending_set_of_reg, sh_split_tst_subregs,
2228 sh_remove_reg_dead_or_unused_notes): New Declarations.
2229 * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
2230 sh_find_extending_set_of_reg, sh_split_tst_subregs,
2231 sh_extending_set_of_reg::use_as_extended_reg): New functions.
2232 * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
2233 convert to insn_and_split and use new function sh_split_tst_subregs.
2234
2235 2015-01-14 Sandra Loosemore <sandra@codesourcery.com>
2236
2237 * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
2238 option.
2239 (Optimization Options): Move -fuse-ld documentation to...
2240 (Link Options): ...here.
2241
2242 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
2243
2244 * config/mips/constraints.md (ZC): Add support for R6 LL/SC
2245 offsets.
2246 (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
2247 * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
2248 (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
2249 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
2250 instead of ZR for the memory operand of LL/SC.
2251 (compare_and_swap_12, sync_add<mode>): Likewise.
2252 (sync_<optab>_12, sync_old_<optab>_12): Likewise.
2253 (sync_new_<optab>_12, sync_nand_12): Likewise.
2254 (sync_old_nand_12, sync_new_nand_12): Likewise.
2255 (sync_sub<mode>, sync_old_add<mode>): Likewise.
2256 (sync_old_sub<mode>, sync_new_add<mode>): Likewise.
2257 (sync_new_sub<mode>, sync_<optab><mode>): Likewise.
2258 (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
2259 (sync_nand<mode>, sync_old_nand<mode>): Likewise.
2260 (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
2261 (test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
2262 (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
2263 * doc/md.texi (ZC): Update description.
2264
2265 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
2266
2267 * builtins.c (expand_builtin_atomic_exchange): Remove error when
2268 memory model is CONSUME.
2269 (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
2270 expand_builtin_atomic_store): Change invalid memory model errors to
2271 warnings.
2272 (expand_builtin_atomic_clear): Change invalid model errors to warnings
2273 and issue warning for CONSUME.
2274
2275 2015-01-14 Aldy Hernandez <aldyh@redhat.com>
2276
2277 * lto-cgraph: Update function comments for
2278 lto_symtab_encoder_encode_*.
2279
2280 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
2281
2282 * Makefile.in (site.exp): Do not set ENABLE_LTO.
2283
2284 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
2285
2286 * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
2287 * lto-cgraph.c (select_what_to_stream): Remove argument, use
2288 lto_stream_offload_p instead.
2289 * lto-streamer.h (select_what_to_stream): Remove argument.
2290 * passes.c (ipa_write_summaries): Likewise.
2291 * tree-pass.h (ipa_write_summaries): Likewise.
2292
2293 2015-01-14 Richard Biener <rguenther@suse.de>
2294
2295 PR tree-optimization/59354
2296 * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
2297 groups larger than the slp group size as having gaps.
2298
2299 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
2300
2301 PR middle-end/59448
2302 * builtins.c (get_memmodel): Promote consume to acquire always.
2303
2304 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
2305
2306 PR target/64386
2307 * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
2308 V32HImode.
2309
2310 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
2311
2312 PR target/64393
2313 * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
2314 Enable AVX512BW.
2315 (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
2316 * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
2317 AVX512VBMI, as it implies AVX512BW.
2318
2319 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
2320
2321 PR target/64387
2322 * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
2323 (vec_unpacks_hi_v16sf): Ditto.
2324
2325 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2326
2327 * config/aarch64/arm_neon.h: Error out if AdvancedSIMD
2328 is not available.
2329
2330 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2331
2332 * doc/invoke.texi (mapcs): Mention deprecation.
2333 (mapcs-frame): Likewise.
2334
2335 2015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
2336
2337 PR target/64453
2338 * config/arm/arm.c (callee_saved_reg_p): Define.
2339 (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
2340 register is callee saved instead of !call_used_regs[reg].
2341 (thumb1_compute_save_reg_mask): Likewise.
2342
2343 2015-01-14 Hale Wang <hale.wang@arm.com>
2344
2345 * config/arm/arm.c: Tune the max_cond_insns/branch_cost for
2346 Cortex-M7.
2347
2348 2015-01-14 Richard Biener <rguenther@suse.de>
2349
2350 PR lto/64415
2351 * tree-inline.c (insert_debug_decl_map): Check destination
2352 function MAY_HAVE_DEBUG_STMTS.
2353 (insert_init_debug_bind): Likewise.
2354 (insert_init_stmt): Remove redundant check.
2355 (remap_gimple_stmt): Drop debug stmts if the destination
2356 function has var-tracking assignments disabled.
2357
2358 2015-01-14 Martin Liska <mliska@suse.cz>
2359
2360 * ipa-icf-gimple.c (func_checker::compare_operand): Add support for
2361 IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.
2362
2363 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2364
2365 PR target/64460
2366 * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
2367 (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.
2368
2369 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
2370
2371 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
2372 level from an ARCH; do not inject the default.
2373 (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
2374 MIPS_ISA_LEVEL_SPEC.
2375 (MIPS_ISA_NAN2008_SPEC): Update comment.
2376 (BASE_DRIVER_SELF_SPECS): Likewise.
2377 * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
2378 MIPS_DEFAULT_ISA_LEVEL_SPEC.
2379 * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
2380 * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
2381 * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.
2382
2383 2015-01-14 Richard Biener <rguenther@suse.de>
2384
2385 PR tree-optimization/64493
2386 PR tree-optimization/64495
2387 * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
2388 assign the proper vectorized PHI to the inner loop exit PHIs.
2389
2390 2015-01-14 Joey Ye <joey.ye@arm.com>
2391
2392 * config/arm/arm.c (arm_compute_save_reg_mask):
2393 Do not save lr in case of tail call.
2394 * config/arm/thumb2.md (*thumb2_pop_single): New pattern.
2395
2396 2015-01-14 Martin Uecker <uecker@eecs.berkeley.edu>
2397
2398 * tree-vrp.c (check_array_ref): Emit more warnings
2399 for warn_array_bounds >= 2.
2400 * common.opt: New option -Warray-bounds=.
2401 * doc/invoke.texi: Document -Warray-bounds=.
2402
2403 2015-01-14 Chung-Ju Wu <jasonwucj@gmail.com>
2404
2405 * config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
2406 (mforbid-fp-as-gp): Remove.
2407 (mex9): Remove.
2408 * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
2409 (nds32_symbol_load_store_p): Remove.
2410 (nds32_fp_as_gp_check_available): Clean up implementation.
2411 * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
2412 cases.
2413 * config/nds32/nds32.c (nds32_asm_file_start): No need to consider
2414 fp-as-gp and ex9 cases.
2415
2416 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
2417
2418 * tree-profile.c (init_ic_make_global_vars): Drop workaround
2419 for bintuils bug 14342.
2420 (init_ic_make_global_vars): Likewise.
2421 (gimple_init_edge_profiler): Likewise.
2422 (gimple_gen_ic_func_profiler): Likewise.
2423
2424 2015-01-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
2425
2426 * ipa-inline.c (inline_small_functions): Swap the operands in
2427 enum.
2428
2429 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
2430
2431 PR ipa/64481
2432 * ipa-inline-analysis.c (node_growth_cache): Remove.
2433 (initialize_growth_caches): Do not initialize it.
2434 (free_growth_caches): Do not free it.
2435 (do_estimate_growth): Rename to ...
2436 (estimate_growth): ... this one; drop growth cache code.
2437 (growth_likely_positive): Always go the heuristics way.
2438 * ipa-inline.c (can_inline_edge_p): Walk through aliases.
2439 (reset_edge_caches): Do not reset node growth.
2440 (heap_edge_removal_hook): Do not maintain cache.
2441 (inline_small_functions): Likewise; strenghten sanity check.
2442 (ipa_inline): Do not maintain caches.
2443 * ipa-inline.h (node_growth_cache): Remove.
2444 (do_estimate_growth): Remove to ...
2445 (estimate_growth): this one; remove inline version.
2446 (reset_node_growth_cache): Remove.
2447
2448 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
2449
2450 PR ipa/64565
2451 * ipa-inline.c (inline_small_functions): Update callee keys after
2452 resolving speculation
2453 (inline_small_functions): Always check monotonicity of the queue.
2454
2455 2015-01-13 Marek Polacek <polacek@redhat.com>
2456
2457 PR middle-end/64391
2458 * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
2459
2460 2015-01-13 Jakub Jelinek <jakub@redhat.com>
2461
2462 PR rtl-optimization/64286
2463 * ree.c (combine_reaching_defs): Move part of comment earlier,
2464 remove !SCALAR_INT_MODE_P check.
2465 (add_removable_extension): Don't add vector mode
2466 extensions if all uses of the source register aren't the same
2467 vector extensions.
2468
2469 2015-01-13 Renlin Li <renlin.li@arm.com>
2470
2471 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
2472 (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
2473
2474 2015-01-13 Martin Liska <mliska@suse.cz>
2475
2476 * ipa-icf.c (sem_function::equals_private): Call new functions
2477 cl_target_option_print_diff and cl_optimization_print_diff.
2478 * optc-save-gen.awk (cl_target_option_print_diff): New function.
2479 (cl_optimization_print_diff): Likewise.
2480 * opth-gen.awk: Likewise.
2481
2482 2015-01-13 Richard Sandiford <richard.sandiford@arm.com>
2483
2484 * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
2485 (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
2486 (*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
2487 (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
2488 (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
2489 (*sub_uxtsi_multp2_uxtw): Add stack pointer sources.
2490
2491 2015-01-13 Andrew Pinski <apinski@cavium.com>
2492
2493 * config/aarch64/aarch64.c (fusion_load_store): Check dest mode
2494 instead of src mode.
2495
2496 2015-01-13 Richard Biener <rguenther@suse.de>
2497
2498 PR lto/64373
2499 * lto-streamer-out.c (tree_is_indexable): Guard for NULL
2500 DECL_CONTEXT.
2501
2502 2015-01-13 Andrew Pinski <apinski@cavium.com>
2503
2504 * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
2505 volatile mems.
2506 (aarch64_operands_adjust_ok_for_ldpstp): Likewise.
2507
2508 2015-01-13 Jakub Jelinek <jakub@redhat.com>
2509
2510 PR middle-end/63974
2511 * cfgexpand.c (expand_computed_goto): Don't call
2512 convert_memory_address here.
2513
2514 2015-01-13 Richard Biener <rguenther@suse.de>
2515
2516 PR tree-optimization/64406
2517 * tree-loop-distibution.c (pass_loop_distribution::execute):
2518 Reset the SCEV hashtable if we distributed anything.
2519
2520 2015-01-13 Richard Biener <rguenther@suse.de>
2521
2522 PR tree-optimization/64404
2523 * tree-vect-stmts.c (vectorizable_load): Reject conflicting
2524 SLP types for CSEd loads.
2525
2526 2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
2527
2528 PR tree-optimization/64436
2529 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
2530 merge of two symbolic numbers for a bitwise OR to ...
2531 (perform_symbolic_merge): This. Also fix computation of the range and
2532 end of the symbolic number corresponding to the result of a bitwise OR.
2533
2534 2015-01-13 Richard Biener <rguenther@suse.de>
2535
2536 PR tree-optimization/64568
2537 * tree-ssa-forwprop.c (pass_forwprop::execute): Properly
2538 release defs of removed stmts, avoid splitting TARGET_MEM_REFs.
2539
2540 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
2541
2542 * config/nds32/nds32.c (nds32_legitimate_address_p): Consider
2543 TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.
2544
2545 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
2546
2547 * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
2548 target-specific symbol_ref flag.
2549 (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
2550 resides in rodata section.
2551 * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
2552 (nds32_encode_section_info): New function.
2553
2554 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
2555
2556 * config/nds32/nds32.md (call): Use pseudo instruction bal which
2557 clobbers TA_REGNUM if large code model is specified.
2558 (call_register): Likewise.
2559 (call_immediate): Likewise.
2560 (call_value): Likewise.
2561 (call_value_register): Likewise.
2562 (call_value_immediate): Likewise.
2563
2564 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
2565
2566 * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
2567 (TARGET_CMODEL_MEDIUM): New macro.
2568 (TARGET_CMODEL_LARGE): New macro.
2569 * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
2570 code model setting in assembly code.
2571
2572 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
2573
2574 * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
2575 Remove MASK_GP_DIRECT flag.
2576 * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
2577 one of the multilib default options.
2578 * config/nds32/nds32.opt (mgp-direct): Remove.
2579 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
2580 -mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian.
2581
2582 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
2583
2584 * config/nds32/nds32.opt (mcmodel): Add new option.
2585 * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
2586 to describe code model.
2587
2588 2015-01-13 Oleg Endo <olegendo@gcc.gnu.org>
2589
2590 PR target/64479
2591 * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
2592
2593 2015-01-12 Kaz Kojima <kkojima@gcc.gnu.org>
2594
2595 * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function.
2596 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
2597 (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables.
2598 (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and
2599 __builtin_sh_set_fpscr.
2600
2601 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
2602
2603 * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
2604 after a funtion name just to indicate it is a function.
2605 ([-fsanitize-undefined-trap-on-error]): Likewise.
2606 ([-fdbg-cnt=]): Likewise.
2607 ([-mmemcpy]): Likewise.
2608 ([-mflush-func]): Likewise.
2609 ([-msynci]): Likewise.
2610
2611 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
2612
2613 * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
2614 example.
2615
2616 2015-01-12 Jakub Jelinek <jakub@redhat.com>
2617
2618 PR tree-optimization/64563
2619 * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
2620 instead of != VR_VARYING.
2621
2622 PR target/64513
2623 * config/i386/i386.c (ix86_expand_prologue): Add
2624 REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
2625
2626 PR tree-optimization/64454
2627 * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
2628 op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
2629 for signed or [0, op1 - 1] for unsigned modulo.
2630 (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
2631 even if op1 does not satisfy integer_pow2p.
2632
2633 PR other/64370
2634 * sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
2635
2636 2015-01-12 Jeff Law <law@redhat.com>
2637
2638 PR target/64461
2639 * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
2640 (trunchiqi2, truncsihi2): Similarly.
2641
2642 * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
2643 rather than calling F.
2644
2645 2015-01-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
2646
2647 * tsan.c (instrument_expr): Use force_gimple_operand.
2648 Use may_be_nonaddressable_p instead of is_gimple_addressable.
2649
2650 2015-01-12 Richard Biener <rguenther@suse.de>
2651
2652 PR tree-optimization/64530
2653 * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
2654 back dr1.
2655
2656 2015-01-12 Richard Biener <rguenther@suse.de>
2657
2658 PR middle-end/64357
2659 * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
2660 latches properly.
2661
2662 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2663
2664 * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
2665 Cortex-A17 tuning parameters.
2666 * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.
2667
2668 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2669
2670 * config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
2671 * config/arm/arm.c (arm_macro_fusion_p): New function.
2672 (arm_macro_fusion_pair_p): Likewise.
2673 (TARGET_SCHED_MACRO_FUSION_P): Define.
2674 (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
2675 (ARM_FUSE_NOTHING): Likewise.
2676 (ARM_FUSE_MOVW_MOVT): Likewise.
2677 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
2678 arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
2679 arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
2680 arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
2681 arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
2682 arm_cortex_a5_tune): Specify fuseable_ops value.
2683
2684 2015-01-12 H.J. Lu <hongjiu.lu@intel.com>
2685
2686 PR bootstrap/64561
2687 * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
2688 test for PIE with copy reloc.
2689 * configure: Regenerated.
2690
2691 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2692
2693 * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
2694 in gen_rtx_REG.
2695 (arm_tls_descseq_addr): Likewise.
2696 (arm_gen_movmemqi): Likewise.
2697 (arm_expand_epilogue_apcs_frame): Likewise.
2698 (arm_expand_epilogue): Likewise.
2699 (arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1
2700 in gen_rtx_REG.
2701
2702 2015-01-12 Martin Liska <mliska@suse.cz>
2703
2704 PR ipa/64550
2705 * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
2706 volatility for correct operands.
2707
2708 2015-01-12 Martin Liska <mliska@suse.cz>
2709
2710 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
2711 that a function is not leaf.
2712 (sem_function::compare_polymorphic_p): Likewise.
2713
2714 2015-01-12 Martin Liska <mliska@suse.cz>
2715
2716 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
2717 that a function is not leaf.
2718 (sem_function::compare_polymorphic_p): Likewise.
2719
2720 2015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2721
2722 * config/visium/visium.c: Add includes hashtab.h, hash-set.h,
2723 machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
2724 fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
2725 fold-const.h, tree-check.h.
2726
2727 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
2728
2729 PR ipa/63967
2730 PR ipa/64425
2731 * ipa-inline.c (compute_uninlined_call_time,
2732 compute_inlined_call_time): Use counts for extra precision when
2733 needed possible.
2734 (big_speedup_p): Fix formating.
2735 (RELATIVE_TIME_BENEFIT_RANGE): Remove.
2736 (relative_time_benefit): Remove.
2737 (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
2738 merge guessed and read profile paths.
2739 (inline_small_functions): Count only !optimize_size functions into
2740 initial size; be more lax about sanity check when profile is used;
2741 be sure to update inlined function profile when profile is read.
2742
2743 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
2744
2745 PR ipa/63470
2746 * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
2747 cost when edge becomes direct.
2748 * ipa-prop.c (make_edge_direct): Do not adjust when speculation
2749 is resolved or when introducing new speculation.
2750
2751 2015-01-12 Chen Gang <gang.chen.5i5j@gmail.com>
2752
2753 PR ipa/64551
2754 PR ipa/64552
2755 * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
2756 '||' to fix typo issue.
2757
2758 * gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
2759 accept and return NULL.
2760
2761 2015-01-12 Martin Liska <mliska@suse.cz>
2762
2763 * cgraph.c (cgraph_edge::remove_callee): Move function to header
2764 file for being inlined.
2765 (cgraph_set_edge_callee): Delete.
2766 (cgraph_edge::redirect_callee): Move function to header file
2767 for being inlined.
2768 (cgraph_edge::make_direct): Use new function.
2769 (cgraph_edge::dump_edge_flags): New function created from
2770 static dump_edge_flags function.
2771 (cgraph_node::dump): Use new function.
2772 (cgraph_edge::verify_count_and_frequency): New function created
2773 from verify_edge_count_and_frequency.
2774 (cgraph_edge::verify_corresponds_to_fndecl): New function created
2775 from verify_edge_corresponds_to_fndecl.
2776 (verify_edge_corresponds_to_fndecl): Delete.
2777 (cgraph_node::verify_node): Use new function.
2778 * cgraph.h (cgraph_edge::set_callee): New function.
2779 (cgraph_edge::dump_edge_flags): Likewise.
2780 (cgraph_edge::verify_corresponds_to_fndecl): Likewise.
2781
2782 2015-01-11 Jan Hubicka <hubicka@ucw.cz>
2783
2784 * ipa-utils.c (estimate_function_body_sizes): Do not
2785 free node params when called late with early=true.
2786
2787 2015-01-11 James Greenhalgh <james.greenhalgh@arm.com>
2788
2789 * doc/md.texi (Instruction Patterns): Rewrite text for
2790 clarity.
2791 (Example): Likewise.
2792
2793 2015-01-10 Sandra Loosemore <sandra@codesourcery.com>
2794
2795 * doc/invoke.texi (Option Summary): Break long lines.
2796 [(-fdiagnostics-color)]: Put long literal in @smallexample
2797 instead of inline.
2798 [(-fsanitize-recover)]: Likewise.
2799 [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
2800 [(-ffast-math)]: Likewise.
2801 [(--param max-inline-insns-recursive)]: Likewise.
2802 [(--param max-inline-recursive-depth)]: Likewise.
2803 [(-mno-text-section-literals)]: Likewise.
2804
2805 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
2806
2807 * doc/install.texi: Update for libgomp being renamed from "GNU
2808 OpenMP Runtime Library" to "GNU Offloading and Multi Processing
2809 Runtime Library".
2810 * doc/sourcebuild.texi: Likewise.
2811
2812 2015-01-10 Anthony Green <green@moxielogic.com>
2813
2814 * config/moxie/moxie.c (moxie_option_override): Fix forcing of
2815 mul.x availability for moxiebox configuration.
2816
2817 2015-01-09 Anthony Green <green@moxielogic.com>
2818
2819 * config/moxie/moxie.md: Tabify assembly output.
2820
2821 2015-01-09 Anthony Green <green@moxielogic.com>
2822
2823 * config/moxie/moxie.md (CC_REG): Correct register definition.
2824
2825 2015-01-09 Sandra Loosemore <sandra@codesourcery.com>
2826
2827 * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
2828 ([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location
2829 of log files.
2830
2831 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
2832
2833 * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
2834
2835 2015-01-09 Bernd Schmidt <bernds@codesourcery.com>
2836 Jakub Jelinek <jakub@redhat.com>
2837
2838 PR middle-end/64412
2839 * lto-streamer.h (lto_stream_offload_p): New declaration.
2840 * lto-streamer.c (lto_stream_offload_p): New variable.
2841 * cgraphunit.c (ipa_passes): Set lto_stream_offload_p
2842 at the same time as section_name_prefix.
2843 * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
2844 if lto_stream_offload_p.
2845 * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
2846 stream TREE_TARGET_OPTION if lto_stream_offload_p.
2847 (write_ts_function_decl_tree_pointers): Don't
2848 stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
2849 * tree-streamer-in.c (unpack_value_fields): Don't stream
2850 TREE_TARGET_OPTION in if ACCEL_COMPILER.
2851 (lto_input_ts_function_decl_tree_pointers): Don't stream
2852 DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
2853 * lto-opts.c (lto_write_options): Use lto_stream_offload_p
2854 instead of section_name_prefix string comparisons.
2855
2856 2015-01-09 Jakub Jelinek <jakub@redhat.com>
2857
2858 PR rtl-optimization/64536
2859 * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
2860 tablejumps.
2861
2862 2015-01-09 Michael Collison <michael.collison@linaro.org>
2863
2864 PR tree-optimization/64322
2865 * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive
2866 range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic.
2867
2868 2015-01-09 Tom de Vries <tom@codesourcery.com>
2869
2870 PR rtl-optimization/64539
2871 * regcprop.c (kill_clobbered_values): Factor out of ...
2872 (copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values
2873 instead of note_stores with kill_clobbered_value.
2874
2875 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
2876
2877 * ginclude/unwind-arm-common.h: Revert previous commit.
2878
2879 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
2880
2881 * config.gcc (arm*-*-freebsd*): New configuration.
2882 * config/arm/freebsd.h: New file.
2883 * config.host: Add extra components for arm*-*-freebsd*.
2884 * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
2885 * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
2886
2887 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2888
2889 * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
2890 for -mcpu=e6500.
2891 * config/rs6000/t-rtems: Add e6500 multilibs.
2892
2893 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2894
2895 * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
2896 MPC8540.
2897
2898 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2899
2900 * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
2901 MULTILIB_EXCEPTIONS.
2902
2903 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2904
2905 * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
2906 MULTILIB_EXCEPTIONS.
2907
2908 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2909
2910 * config/arm/t-rtems-eabi: Rename to...
2911 * config/arm/t-rtems: ...this.
2912 * config/arm/rtems-eabi.h: Rename to...
2913 * config/arm/rtems.h: ...this.
2914 * config.gcc (arm*-*-rtems*): Reflect changes above.
2915
2916 2015-01-09 Richard Biener <rguenther@suse.de>
2917
2918 PR tree-optimization/64410
2919 * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
2920 on the LHS.
2921 (execute_update_addresses_taken): Deal with that.
2922 * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
2923 loads/stores for complex variables.
2924
2925 2015-01-09 Martin Liska <mliska@suse.cz>
2926
2927 * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
2928 name comparison.
2929 (func_checker::compare_memory_operand): New function.
2930 (func_checker::compare_operand): Split case to newly
2931 added functions.
2932 (func_checker::compare_cst_or_decl): New function.
2933 (func_checker::compare_gimple_call): Identify
2934 memory operands.
2935 (func_checker::compare_gimple_assign): Likewise.
2936 * ipa-icf-gimple.h: New function.
2937
2938 2015-01-09 Martin Liska <mliska@suse.cz>
2939
2940 PR ipa/64503
2941 * sreal.c (sreal::dump): Change unsigned format to signed for
2942 m_exp value.
2943 (sreal::to_double): Replace exp2 with scalbln.
2944
2945 2015-01-09 Martin Liska <mliska@suse.cz>
2946
2947 * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
2948 * ipa-icf.c (sem_function::equals_private): Add support for target and
2949 (sem_item_optimizer::merge_classes): Remove redundant function
2950 optimization flags comparison.
2951 * tree.h (target_opts_for_fn): New function.
2952
2953 2015-01-09 Tom de Vries <tom@codesourcery.com>
2954
2955 * omp-low.c (expand_omp_for_static_chunk): Fix assert.
2956
2957 2015-01-09 Kito Cheng <kito@0xlab.org>
2958
2959 PR rtl-optimization/64348
2960 * lra-constraints.c (split_reg): Fix caller-save store/restore
2961 instruction generation.
2962
2963 2015-01-08 John David Anglin <danglin@gcc.gnu.org>
2964
2965 PR gcov-profile/61790
2966 * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
2967 long long. Fallback to int64_t if host doesn't have long long and
2968 use strtol if int64_t is long. Otherwise, use sscanf for conversion.
2969
2970 2015-01-08 Jakub Jelinek <jakub@redhat.com>
2971
2972 PR tree-optimization/63989
2973 * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
2974 from 1000 to 10000.
2975 * tree-ssa-strlen.c (get_strinfo): Moved earlier.
2976 (get_stridx): If we don't have a record for certain SSA_NAME,
2977 but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
2978 constant offset, call get_stridx_plus_constant.
2979 (get_stridx_plus_constant): New function.
2980 (zero_length_string): Don't use get_stridx here.
2981
2982 PR target/55023
2983 PR middle-end/64388
2984 * dse.c (struct insn_info): Mention frame_read set also
2985 before reload for tail calls on some targets.
2986 (scan_insn): Revert 2014-12-22 change. Set frame_read
2987 also before reload for tail calls if
2988 HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read
2989 instead of add_non_frame_wild_read for non-const/memset
2990 tail calls after reload.
2991
2992 2015-01-08 Jason Merrill <jason@redhat.com>
2993
2994 * ubsan.c (do_ubsan_in_current_function): New.
2995 (pass_ubsan::gate): Use it.
2996 * ubsan.h: Declare it.
2997 * convert.c (convert_to_integer): Use it.
2998
2999 2015-01-08 Jakub Jelinek <jakub@redhat.com>
3000
3001 PR target/64338
3002 * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
3003 compare_code when it is unconditionally overwritten afterwards.
3004 Use ix86_reverse_condition instead of reverse_condition. Don't
3005 change code if *reverse_condition* returned UNKNOWN and don't
3006 swap ct/cf and negate diff in that case.
3007
3008 2015-01-08 Mike Stump <mikestump@comcast.net>
3009
3010 * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
3011 (pass_tsan_O0::gate): Likewise.
3012 * extend.texi (Function Attributes): Add no_sanitize_thread
3013 documentation.
3014
3015 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
3016
3017 * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
3018 for registering builtins.
3019 * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
3020 add -fopenmp to the argv_obstack used when invoking
3021 compile_for_target.
3022
3023 * config/i386/intelmic-mkoffload.c (compile_for_target): Always
3024 add "-m32" or "-m64" to argv_obstack.
3025 (generate_host_descr_file): Likewise, when invoking host_compiler.
3026 (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
3027 ld.
3028
3029 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
3030
3031 * config/sh/sh-mem.cc: Use constant as second operand when emitting
3032 tstsi_t insns.
3033
3034 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
3035
3036 PR target/55212
3037 * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
3038 constant load if constant operand fits into I08.
3039
3040 2015-01-08 Jakub Jelinek <jakub@redhat.com>
3041
3042 PR sanitizer/64336
3043 * tree.c (build2_stat): Fix up initialization of TREE_READONLY
3044 and TREE_THIS_VOLATILE for MEM_REFs.
3045 (build5_stat): Fix up initialization of TREE_READONLY and
3046 TREE_THIS_VOLATILE for TARGET_MEM_REFs.
3047
3048 2015-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
3049
3050 PR target/64533
3051 * config/sh/sh.md (*addsi3_compact): Use u constraint instead
3052 of r for the second alternative of the destination operand.
3053
3054 2015-01-07 Segher Boessenkool <segher@kernel.crashing.org>
3055
3056 PR target/36557
3057 * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
3058
3059 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
3060
3061 * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
3062 keywords.
3063 ([-fivar-visibility], [-fvisibility]): Likewise.
3064
3065 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
3066
3067 * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
3068 the file where @code, @command, etc is more appropriate.
3069
3070 2015-01-06 Sandra Loosemore <sandra@codesourcery.com>
3071
3072 * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
3073 of -mrecip= documentation.
3074
3075 2015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com>
3076
3077 PR target/64505
3078 * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
3079 correct reload handler if -m32 -mpowerpc64 is used.
3080
3081 2015-01-06 Tom de Vries <tom@codesourcery.com>
3082
3083 * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
3084
3085 2015-01-08 Christian Bruel <christian.bruel@st.com>
3086
3087 PR target/64507
3088 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
3089
3090 2015-01-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
3091
3092 PR tree-optimization/63259
3093 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
3094 if optab exists for 16bit byteswap.
3095
3096 2015-01-06 Jakub Jelinek <jakub@redhat.com>
3097
3098 * opts.c (common_handle_option): Add support for
3099 -fno-sanitize=all and -f{,no-}sanitize-recover=all.
3100 * doc/invoke.texi: Document -fno-sanitize=all,
3101 -f{,no-}sanitize-recover=all. Document that
3102 -fsanitize=float-cast-overflow is not enabled
3103 by -fsanitize=undefined. Fix up documentation
3104 of -f{,no-}sanitize-recover.
3105
3106 2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
3107
3108 * config.gcc: Add Visium support.
3109 * configure.ac: Likewise.
3110 * configure: Regenerate.
3111 * doc/extend.texi (interrupt attribute): Add Visium.
3112 * doc/invoke.texi: Document Visium options.
3113 * doc/install.texi: Document Visium target.
3114 * doc/md.texi: Document Visium constraints.
3115 * common/config/visium: New directory.
3116 * config/visium: Likewise.
3117
3118 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
3119
3120 * simplify-rtx.c (simplify_binary_operation_1): Handle more cases
3121 for the "(and X (ior (not X) Y) -> (and X Y)" transform.
3122
3123 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
3124
3125 * combine.c (combine_validate_cost): Do not count the cost of a
3126 split I2 twice. Do not display it twice in the dump, either.
3127
3128 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
3129
3130 Revert parts of r219199.
3131 * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
3132 <inttypes.h>.
3133 ([-Wtraditional]): Restore markup on <limits.h>.
3134
3135 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
3136
3137 PR c++/31397
3138 * doc/invoke.texi: Document -Wsuggest-override.
3139
3140 2015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com>
3141
3142 PR rtl-optimization/64287
3143 * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
3144 (process_options): Disable flag_ipa_ra if profiling.
3145
3146 2015-01-05 Eric Botcazou <ebotcazou@adacore.com>
3147
3148 * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
3149
3150 2015-01-05 Max Filippov <jcmvbkbc@gmail.com>
3151
3152 * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
3153 hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
3154 put under #if TARGET_LOOPS guard.
3155
3156 2015-01-05 Uros Bizjak <ubizjak@gmail.com>
3157
3158 * config/i386/i386.c (output_387_binary_op): Use std::swap.
3159
3160 2015-01-05 Oleg Endo <olegendo@gcc.gnu.org>
3161
3162 * rtlanal.c (refers_to_regno_p): Change return value from int to bool.
3163 * rtl.h (refers_to_regno_p): Add overload.
3164 * cse.c: Use it.
3165 * bt-load.c: Likewise.
3166 * combine.c: Likewise.
3167 * df-scan.c: Likewise.
3168 * sched-deps.c: Likewise.
3169 * config/s390/s390.c: Likewise.
3170 * config/m32r/m32r.c: Likewise.
3171 * config/rs6000/spe.md: Likewise.
3172 * config/rs6000/rs6000.c: Likewise.
3173 * config/pa/pa.c: Likewise.
3174 * config/stormy16/stormy16.c: Likewise.
3175 * config/cris/cris.c: Likewise.
3176 * config/arc/arc.md: Likewise.
3177 * config/arc/arc.c: Likewise.
3178 * config/sh/sh.md: Likewise.
3179 * config/sh/sh.c: Likewise.
3180 * config/frv/frv.c: Likewise.
3181
3182 2015-01-05 Jakub Jelinek <jakub@redhat.com>
3183
3184 PR sanitizer/64265
3185 * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
3186 call as cleanup of the whole body.
3187 * internal-fn.def (TSAN_FUNC_EXIT): New internal call.
3188 * tsan.c (replace_func_exit): New function.
3189 (instrument_func_exit): Moved earlier.
3190 (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
3191 Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
3192 been found.
3193 (tsan_pass): Don't call instrument_func_exit.
3194 * internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
3195 * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
3196 inlining.
3197
3198 PR sanitizer/64344
3199 * ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
3200 * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
3201 it to libubsan handler instead of EXPR. Fold comparisons earlier,
3202 if the result is integer_zerop, return NULL_TREE.
3203 * convert.c (convert_to_integer): Pass expr as ARG.
3204
3205 PR tree-optimization/64465
3206 * tree-inline.c (redirect_all_calls): During inlining
3207 clean up EH stmts and EH edges if redirect_call_stmt_to_callee
3208 changed the stmt to a non-throwing call.
3209
3210 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
3211
3212 * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
3213 etc markup throughout the file.
3214
3215 2015-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
3216
3217 Enable experimental TSAN support for Ada.
3218 * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
3219
3220 2015-01-05 Jakub Jelinek <jakub@redhat.com>
3221
3222 PR tree-optimization/64494
3223 * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
3224 clear SSA_NAME_ANTI_RANGE_P flag.
3225
3226 2015-01-05 Marek Polacek <polacek@redhat.com>
3227
3228 * doc/extend.texi (Arrays of Length Zero): Add missing comma.
3229
3230 2015-01-05 Jakub Jelinek <jakub@redhat.com>
3231
3232 Update copyright years.
3233
3234 * gcc.c (process_command): Update copyright notice dates.
3235 * gcov-dump.c: Ditto.
3236 * gcov.c: Ditto.
3237 * doc/cpp.texi: Bump @copying's copyright year.
3238 * doc/cppinternals.texi: Ditto.
3239 * doc/gcc.texi: Ditto.
3240 * doc/gccint.texi: Ditto.
3241 * doc/gcov.texi: Ditto.
3242 * doc/install.texi: Ditto.
3243 * doc/invoke.texi: Ditto.
3244
3245 * auto-profile.c, auto-profile.h: Fix up Copyright line.
3246
3247 2015-01-04 Sandra Loosemore <sandra@codesourcery.com>
3248
3249 * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
3250 verb tense, etc.
3251 ([-fvtable-verify], [-fvtv-debug]): Likewise.
3252 ([-Wabi]): Likewise.
3253 ([-fmessage-length]): Likewise.
3254 ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
3255 ([-Wno-discarded-qualifiers]): Likewise.
3256 ([-Wnodiscarded-array-qualifiers]): Likewise.
3257 ([-Wno-virtual-move-assign]): Likewise.
3258 ([-fsanitize=address], [-fsanitize=thread]): Likewise.
3259 ([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
3260 ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
3261 ([-fsanitize-undefined-trap-on-error]): Likewise.
3262 ([-floop-interchange]): Likewise.
3263 ([-ftree-coalesce-inlined-vars]): Likewise.
3264 ([-fvect-cost-model]): Likewise.
3265 ([-flto]): Likewise.
3266 ([--param]): Likewise.
3267 (Spec Files): Likewise.
3268 ([-mstrict-align]): Likewise.
3269 ([-mfix-cortex-a53-835769]): Likewise.
3270 ([-march], [-mtune]): Likewise.
3271 ([-mpic-register]): Likewise.
3272 ([-munaligned-access]): Likewise.
3273 ([-msp8]): Likewise.
3274 (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
3275 (AVR Built-in Macros): Likewise.
3276 ([-mpreferred-stack-boundary]): Likewise.
3277 ([-mtune-crtl]): Likewise.
3278 ([-mashf]): Likewise.
3279 ([-mmcu=]): Likewise.
3280 ([-minrt]): Likewise.
3281 ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
3282 ([-mupper-regs]): Likewise.
3283 ([-matomic-model]): Likewise.
3284 ([-mdiv]): Likewise.
3285 ([-mzdcbranch]): Likewise.
3286 ([-mdisable-callt]): Likewise.
3287 ([-msoft-float]): Likewise.
3288 ([-m8byte-align]): Likewise.
3289 ([-fstack-reuse]): Likewise.
3290
3291 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
3292
3293 * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
3294 Fix markup, light copy-editing.
3295 ([-fauto-profile]): Rewrite to fix formatting and content
3296 problems.
3297
3298 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
3299
3300 * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
3301 Copy-edit description.
3302 ([-fisolate-erroneous-paths-attribute]): Likewise.
3303 * common.opt (fisolate-erroneous-paths-dereference):
3304 Copy-edit description.
3305 (fisolate-erroneous-paths-attribute): Likewise.
3306
3307 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
3308
3309 * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
3310 tidy grammar.
3311
3312 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
3313
3314 * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
3315 ([-fvtv-debug]): Likewise.
3316 ([-Wc++-compat]): Likewise.
3317 ([-Wc++11-compat]): Likewise.
3318 ([-Wc++14-compat]): Likewise.
3319 ([-Wno-sized-deallocation]): Likewise.
3320 ([-femit-class-debug-always]): Likewise.
3321 ([-femit-struct-debug-detailed]): Likewise.
3322 ([-fno-keep-inline-dllexport]): Likewise.
3323 ([-fira-algorithm]): Likewise.
3324 ([-fira-region]): Likewise.
3325 ([-flra-remat]): Likewise.
3326 ([-fipa-ra]): Likewise.
3327 ([-fhoist-adjacent-loads]): Likewise.
3328 ([-fisolate-erroneous-paths-dereference]): Likewise.
3329 ([-fisolate-erroneous-paths-attribute]): Likewise.
3330 ([-ftree-switch-conversion]): Likewise.
3331 ([-ftree-tail-merge]): Likewise.
3332 ([-ftree-loop-if-convert]): Likewise.
3333 ([-ftree-loop-if-convert-stores]): Likewise.
3334 ([-ftree-loop-distribution]): Likewise.
3335 ([-ftree-loop-distribute-patterns]): Likewise.
3336 ([-flto-compression-level]): Likewise.
3337 ([-flto-report]): Likewise.
3338 ([-flto-report-wpa]): Likewise.
3339 ([-fuse-linker-plugin]): Likewise.
3340 ([-mfix-cortex-a53-835769]): Likewise.
3341 ([-mno-fix-cortex-a53-835769]): Likewise.
3342 ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
3343 explicit listing; add a note to the discussion indicating they
3344 exist. Reorder table to group similar options. Add missing
3345 @opindex entries. Add @need commands throughout the table to
3346 allow it to be split across multiple pages.
3347 ([-m8bit-idiv]): Fix @opindex.
3348 ([-mavx256-split-unaligned-load]): Likewise.
3349 ([-mavx256-split-unaligned-store]): Likewise.
3350 ([-mstack-protector-guard]): Likewise.
3351 ([-mcpu=]): Likewise.
3352 ([-mcpu]): Likewise.
3353 ([-mpointer-size=]): Likewise.
3354
3355 2015-01-03 John David Anglin <danglin@gcc.gnu.org>
3356
3357 * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
3358 instead of `m' constraint. Likewise for unnamed movb comparison
3359 patterns using reg_before_reload_operand predicate.
3360 * config/pa/predicates.md (reg_before_reload_operand): Tighten
3361 predicate to reject register index and LO_SUM DLT memory forms
3362 after reload.
3363
3364 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
3365
3366 * doc/invoke.texi (Option Summary): Fix spelling of
3367 -fdevirtualize-at-ltrans.
3368 ([-fdevirtualize]): Fix markup.
3369 ([-fdevirtualize-speculatively]): Fix typo.
3370 ([-fdevirtualize-at-ltrans]): Likewise. Make description less
3371 implementor-speaky.
3372 * common.opt (fdevirtualize-at-ltrans): Likewise.
3373 * ipa-devirt.c: Fix typos in comments throughout the file.
3374 (ipa_devirt): Fix typos in format strings for dump output.
3375
3376 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
3377
3378 * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
3379 discussion of defaults, light copy-editing.
3380
3381 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
3382
3383 * tsan.c (instrument_expr): corrected previous checkin.
3384
3385 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
3386
3387 Instrument bit field and unaligned accesses for TSAN.
3388 * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
3389 (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
3390 * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
3391 Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
3392 unaligned memory regions.
3393
3394 2015-01-01 Anthony Green <green@moxielogic.com>
3395
3396 * config/moxie/predicates.md (moxie_general_movsrc_operand):
3397 Restrict move source register offsets to 16 bits.
3398 \f
3399 Copyright (C) 2015 Free Software Foundation, Inc.
3400
3401 Copying and distribution of this file, with or without modification,
3402 are permitted in any medium without royalty provided the copyright
3403 notice and this notice are preserved.