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