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