1 2017-10-10 Release Manager
5 2017-10-02 Jakub Jelinek <jakub@redhat.com>
7 Backported from mainline
8 2017-09-30 Jakub Jelinek <jakub@redhat.com>
10 * config/i386/i386.c (ix86_split_idivmod): Use mode instead of
11 always SImode for DIV and MOD in REG_EQUAL notes.
13 2017-10-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
15 Backport from mainline
16 2017-09-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
18 PR tree-optimization/82337
19 * gimple-ssa-strength-reduction.c (find_phi_def): Don't record a
20 phi definition if the PHI result appears in an abnormal PHI.
21 (find_basis_for_base_expr): Don't record a basis if the LHS of the
22 basis appears in an abnormal PHI.
24 2017-09-26 Iain Sandoe <iain@codesourcery.com>
25 Ryan Mounce <ryan@mounce.com.au>
28 Backport from mainline r235362
29 2016-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
31 * system.h (list, map, set, vector): Include conditionally.
32 * auto-profile.c (INCLUDE_MAP, INCLUDE_SET): Define.
33 * graphite-isl-ast-to-gimple.c (INCLUDE_MAP): Define.
34 * ipa-icf.c (INCLUDE_LIST): Define.
35 * ipa-icf-gimple.c (INCLUDE_LIST): Define.
36 * config/sh/sh.c (INCLUDE_VECTOR): Define.
37 * config/sh/sh_treg_combine.cc (INCLUDE_ALGORITHM): Define.
38 (INCLUDE_LIST, INCLUDE_VECTOR): Define.
39 * fortran/trans-common.c (INCLUDE_MAP): Define.
41 Backport from mainline r235361
42 2016-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
44 * auto-profile.c: Remove <string.h> include.
45 * diagnostic.c: Remove <new> include.
46 * genmatch.c: Likewise.
47 * pretty-print.c: Likewise.
49 * c/c-objc-common.c: Likewise.
50 * cp/error.c: Likewise.
51 * fortran/error.c: Likewise.
53 2017-09-22 Alexander Monakov <amonakov@ispras.ru>
55 PR tree-optimization/71702
57 2015-11-20 Jim Wilson <jim.wilson@linaro.org>
59 * tree-vect-data-refs.c (compare_tree): Call STRIP_NOPS.
61 2017-09-21 Alan Modra <amodra@gmail.com>
64 * gcc/config/rs6000/rs6000.c (rs6000_return_addr): Use
65 stack_pointer_rtx for count 0. Update comments. Break up
68 2017-09-19 Martin Liska <mliska@suse.cz>
71 * config/i386/i386.c (sorted_attr_string): Skip empty strings.
73 2017-09-19 Martin Liska <mliska@suse.cz>
76 2017-08-10 Martin Liska <mliska@suse.cz>
79 * c-attribs.c (handle_target_attribute):
80 Report warning for an empty string argument of target attribute.
82 2017-09-18 Richard Biener <rguenther@suse.de>
84 Backport from mainline
85 2017-04-10 Richard Biener <rguenther@suse.de>
88 * fold-const.c (fold_binary_loc): Look at unstripped ops when
89 looking for NEGATE_EXPR in -A / -B to A / B folding.
91 2015-11-25 Richard Biener <rguenther@suse.de>
94 * fold-const.c (fold_binary_loc): Do not call negate_expr_p
97 2017-03-27 Richard Biener <rguenther@suse.de>
100 * gimple-fold.c (fold_ctor_reference): Properly guard against
101 NULL return value from canonicalize_constructor_val.
103 2016-06-13 Richard Biener <rguenther@suse.de>
106 * fold-const.c (fold_unary_loc): Preserve alignment when
107 folding a VIEW_CONVERT_EXPR into a MEM_REF.
109 2017-09-16 Jakub Jelinek <jakub@redhat.com>
111 Backported from mainline
112 2017-08-09 Jakub Jelinek <jakub@redhat.com>
115 * omp-low.c (omp_copy_decl): Don't remap FORCED_LABEL or DECL_NONLOCAL
117 * tree-cfg.c (move_stmt_op): Don't adjust DECL_CONTEXT of FORCED_LABEL
118 or DECL_NONLOCAL labels.
119 (move_stmt_r) <case GIMPLE_LABEL>: Adjust DECL_CONTEXT of FORCED_LABEL
120 or DECL_NONLOCAL labels here.
122 2017-08-08 Richard Biener <rguenther@suse.de>
125 * function.c (thread_prologue_and_epilogue_insns): Restore
126 behavior of always calling find_many_sub_basic_blocks on
127 the inserted prologue.
129 2017-08-03 Jakub Jelinek <jakub@redhat.com>
132 * bb-reorder.c (pass_partition_blocks::execute): Return TODO_df_finish
133 after setting changeable df flags.
136 * omp-low.c (diagnose_sb_0): Handle flag_openmp_simd like flag_openmp.
137 (pass_diagnose_omp_blocks::gate): Enable also for flag_openmp_simd.
139 2017-08-02 Jakub Jelinek <jakub@redhat.com>
142 * function.c (thread_prologue_and_epilogue_insns): Determine blocks
143 for find_many_sub_basic_blocks bitmap by looking up BLOCK_FOR_INSN
144 of first NONDEBUG_INSN_P in each of the split_prologue_seq and
145 prologue_seq sequences - if any.
147 2017-09-15 Martin Liska <mliska@suse.cz>
149 Backport from mainline
150 2017-08-11 Martin Liska <mliska@suse.cz>
153 * tree-chkp.c (chkp_get_bounds_for_decl_addr): Do not instrument
154 variables of void type.
156 2017-09-15 Martin Liska <mliska@suse.cz>
158 Backport from mainline
159 2017-06-28 Martin Liska <mliska@suse.cz>
162 * asan.c (instrument_derefs): Bail out inner references
163 that are hard register variables.
165 2017-09-15 Martin Liska <mliska@suse.cz>
167 Backport from mainline
168 2017-08-30 Martin Liska <mliska@suse.cz>
171 * ipa-icf-gimple.c (func_checker::compare_tree_list_operand):
173 (func_checker::compare_asm_inputs_outputs): ... this function.
174 (func_checker::compare_gimple_asm): Use the function to compare
176 * ipa-icf-gimple.h: Rename the function.
178 2017-09-15 Martin Liska <mliska@suse.cz>
180 Backport from mainline
181 2017-08-10 Martin Liska <mliska@suse.cz>
184 * c-attribs.c (handle_target_attribute):
185 Report warning for an empty string argument of target attribute.
187 2017-09-15 Martin Liska <mliska@suse.cz>
189 Backport from mainline
190 2017-08-08 Martin Liska <mliska@suse.cz>
193 * ipa-icf-gimple.c (func_checker::compare_cst_or_decl): Consider
194 LABEL_DECLs that can be from a different function.
196 2017-09-15 Martin Liska <mliska@suse.cz>
198 Backport from mainline
199 2017-06-28 Martin Liska <mliska@suse.cz>
202 * ipa-visibility.c (non_local_p): Handle visibility.
204 2017-09-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
206 Backport from mainline
207 2017-09-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
210 * config/rs6000/altivec.md (altivec_vsum2sws): Convert from a
211 define_insn to a define_expand.
212 (altivec_vsum2sws_direct): New define_insn.
213 (altivec_vsumsws): Convert from a define_insn to a define_expand.
215 2017-09-11 Max Filippov <jcmvbkbc@gmail.com>
217 Backport from mainline
219 * config/xtensa/xtensa.c (xtensa_mem_offset): Check that both
220 words of DImode object are reachable by xtensa_uimm8x4 access.
222 2017-09-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
224 Backport from mainline:
225 2017-08-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
227 PR tree-optimization/81987
228 * gimple-ssa-strength-reduction.c (insert_initializers): Don't
229 insert an initializer in a location not dominated by the stride
232 2017-09-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
234 Backport from mainline
235 2017-08-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
236 Jakub Jelinek <jakub@redhat.com>
237 Richard Biener <rguenther@suse.de>
239 PR tree-optimization/81503
240 * gimple-ssa-strength-reduction.c (replace_mult_candidate): Ensure
241 folded constant fits in the target type; reorder tests for clarity.
243 2017-08-22 Peter Bergner <bergner@vnet.ibm.com>
245 Backport from mainline
246 2017-08-17 Peter Bergner <bergner@vnet.ibm.com>
249 * config/rs6000/rs6000.c (rs6000_activate_target_options): New function.
250 (rs6000_set_current_function): Rewrite function to use it.
252 2017-08-22 Georg-Johann Lay <avr@gjlay.de>
254 Backport from 2017-07-26 gcc-7-branch r250562.
257 * tree-ssa-structalias.c (alias_get_name): Use xasprintf instead
260 2017-08-22 Georg-Johann Lay <avr@gjlay.de>
262 Backport from trunk r247719.
263 2017-05-06 Richard Sandiford <richard.sandiford@linaro.org>
265 PR rtl-optimization/75964
266 * simplify-rtx.c (simplify_const_relational_operation): Remove
267 invalid handling of comparisons of integer ABS.
269 2017-08-22 Georg-Johann Lay <avr@gjlay.de>
271 Backport from 2017-07-05 trunk r249995.
274 * config/avr/avr.c (avr_out_movhi_mr_r_xmega) [CONSTANT_ADDRESS_P]:
275 Don't depend on "optimize > 0".
276 (out_movhi_r_mr, out_movqi_mr_r): Same.
277 (out_movhi_mr_r, out_movqi_r_mr): Same.
278 (avr_address_cost) [CONSTANT_ADDRESS_P]: Don't depend cost for
279 io_address_operand on "optimize > 0".
281 2017-08-22 Georg-Johann Lay <avr@gjlay.de>
283 Backport from 2016-06-15 trunk r237486.
284 Backport from 2017-07-12 trunk r250156.
288 * config/avr/avr.c (avr_set_current_function): Warn misspelled ISR
289 only if -Wmisspelled-isr is on. In diagnostic messages: Quote
290 keywords and (parts of) identifiers.
291 [WITH_AVRLIBC]: Warn functions named "ISR", "SIGNAL" or "INTERUPT".
292 * doc/invoke.texi (AVR Options) <-Wmisspelled-isr>: Document.
294 2017-08-22 Georg-Johann Lay <avr@gjlay.de>
296 Backport from 2017-04-19 trunk r246997.
299 * config/avr/avr.c (tree.h): Include it.
300 (hash-table.h): Include it.
301 (hash-set.h): Include it.
302 (symtab.h): Include it.
303 (inchash.h): Include it.
304 (function.h): Include it.
305 (hash-map.h): Include it.
306 (plugin-api.h): Include it.
307 (ipa-ref.h): Include it.
308 (cgraph.h): Include it.
309 (avr_encode_section_info): Don't warn for uninitialized progmem
310 variable if it's just an alias.
312 Backport from 2017-07-12 trunk r250151.
315 * config/avr/avr.c (avr_encode_section_info)
316 [progmem && !TREE_READONLY]: Error if progmem object needs
319 2017-08-22 Georg-Johann Lay <avr@gjlay.de>
321 Backport from 2017-08-22 trunk r251256.
324 * config/avr/avr.c (avr_handle_addr_attribute): Early return if
325 not VAR_P. Filter attribute warnings with OPT_Wattributes.
326 (avr_attribute_table) <io, io_low, address>: Initialize
327 .decl_required with true.
329 2017-08-19 Uros Bizjak <ubizjak@gmail.com>
332 * doc/extend.texi (x86 Built-in Functions): Correct the name of
333 __builtin_ia32_lzcnt_u16.
335 2017-08-17 Uros Bizjak <ubizjak@gmail.com>
337 Backport from mainline
338 2017-08-17 Maxim Ostapenko <m.ostapenko@samsung.com>
341 * config/i386/i386.c (ix86_option_override_internal): Save target
342 specific options after ix86_stack_protector_guard_reg was changed.
344 2017-08-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
346 Backport from mainline
347 2017-08-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
349 PR tree-optimization/81354
350 * gimple-ssa-strength-reduction.c (create_add_on_incoming_edge):
351 Insert on edges rather than explicitly creating landing pads.
352 (analyze_candidates_and_replace): Commit edge inserts.
354 2017-07-31 Jakub Jelinek <jakub@redhat.com>
357 * ubsan.c (ubsan_type_descriptor): For UBSAN_PRINT_ARRAY don't
358 change type to the element type, instead add eltype variable and
359 use it where we are interested in the element type.
361 2017-07-27 Jakub Jelinek <jakub@redhat.com>
363 PR tree-optimization/81555
364 PR tree-optimization/81556
365 * tree-ssa-reassoc.c (rewrite_expr_tree): Add NEXT_CHANGED argument,
366 if true, force CHANGED for the recursive invocation.
367 (reassociate_bb): Remember original length of ops array, pass
368 len != orig_len as NEXT_CHANGED in rewrite_expr_tree call.
370 2017-07-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
372 Backport from mainline r235874
373 2016-05-04 Alan Modra <amodra@gmail.com>
375 * config/rs6000/rs6000.c (rs6000_elf_output_toc_section_asm_op):
378 2016-07-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
380 Backport from mainline
381 2016-07-14 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
383 PR tree-optimization/81162
384 * gimple-ssa-strength-reduction.c (replace_mult_candidate): Don't
385 replace a negate with an add.
387 2017-07-24 Uros Bizjak <ubizjak@gmail.com>
390 * config/i386/i386.c (ix86_option_override_internal): Disable
391 BMI, BMI2 and TBM instructions for -m16.
393 2017-07-18 Uros Bizjak <ubizjak@gmail.com>
396 * config/i386/i386.md (rorx_immediate_operand): New mode attribute.
397 (*bmi2_rorx<mode>3_1): Use rorx_immediate_operand as
399 (*bmi2_rorxsi3_1_zext): Use const_0_to_31_operand as
401 (ror,rol -> rorx splitters): Use const_int_operand as
404 2017-07-14 Uros Bizjak <ubizjak@gmail.com>
406 Backport from mainline
407 2017-07-10 Uros Bizjak <ubizjak@gmail.com>
410 * config/i386/i386.md (divsf3): Add TARGET_SSE to TARGET_SSE_MATH.
412 (*rsqrtsf2_sse): Ditto.
414 (div<mode>3): Macroize insn from divdf3 and divsf3
415 using MODEF mode iterator.
417 Backport from mainline
418 2017-07-04 Uros Bizjak <ubizjak@gmail.com>
421 * config/i386/i386.md (setcc + movzbl/and to xor + setcc peepholes):
422 Require dead FLAGS_REG at the beginning of a peephole.
424 2017-07-03 Tom de Vries <tom@codesourcery.com>
426 backport from mainline:
427 PR tree-optimization/81192
428 2017-07-03 Tom de Vries <tom@codesourcery.com>
430 * tree-ssa-tail-merge.c (same_succ_flush_bb): Handle
431 BB_SAME_SUCC (bb) == NULL.
433 2017-06-27 Segher Boessenkool <segher@kernel.crashing.org>
436 Backports from trunk:
438 2017-04-12 Segher Boessenkool <segher@kernel.crashing.org>
440 * config/rs6000/sync.md (atomic_load<mode>, atomic_store<mode): Test
441 for quad_address_p for TImode, instead of just not indexed_address.
443 2017-06-09 Segher Boessenkool <segher@kernel.crashing.org>
445 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Assert that
446 gen_add3_insn did not fail.
447 * config/rs6000/rs6000.md (add<mode>3): If asked to add a constant to
448 r0, construct that number in a temporary reg and add that reg to r0.
449 If asked to put the result in r0 as well, fail.
451 2017-06-27 Segher Boessenkool <segher@kernel.crashing.org>
453 Backports from trunk:
455 2016-08-15 Segher Boessenkool <segher@kernel.crashing.org>
456 PR rtl-optimization/73650
457 * lra-constraints.c (simple_move_p): If the insn is multiple_sets
458 it is not a simple move.
460 2017-01-20 Segher Boessenkool <segher@kernel.crashing.org>
463 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Adjust address to
464 read from, for big endian.
466 2017-04-12 Segher Boessenkool <segher@kernel.crashing.org>
468 * config/rs6000/sync.md (atomic_load<mode>, atomic_store<mode): Test
469 for quad_address_p for TImode, instead of just not indexed_address.
471 2017-05-17 Segher Boessenkool <segher@kernel.crashing.org>
473 * real.c (do_compare): Give decimal_do_compare preference over
474 comparing just the signs.
476 2017-05-31 Segher Boessenkool <segher@kernel.crashing.org>
478 * config/rs6000/vector.md (*vector_uneq<mode>): Write the nor in the
479 splitter result in the canonical way.
481 2017-06-09 Segher Boessenkool <segher@kernel.crashing.org>
483 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Assert that
484 gen_add3_insn did not fail.
485 * config/rs6000/rs6000.md (add<mode>3): If asked to add a constant to
486 r0, construct that number in a temporary reg and add that reg to r0.
487 If asked to put the result in r0 as well, fail.
489 2017-06-23 Segher Boessenkool <segher@kernel.crashing.org>
491 * builtins.c (expand_builtin_atomic_fetch_op): If emitting code after
492 a call, force the call to not be a tail call.
494 2017-06-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
496 Backport from mainline
497 2017-05-04 Prakhar Bahuguna <prakhar.bahuguna@arm.com>
499 * config/arm/arm-builtins.c (arm_init_builtins): Rename
500 __builtin_arm_ldfscr to __builtin_arm_get_fpscr, and rename
501 __builtin_arm_stfscr to __builtin_arm_set_fpscr.
503 2017-06-22 Martin Liska <mliska@suse.cz>
505 Backport from mainline
506 2017-05-31 Martin Liska <mliska@suse.cz>
509 * config/i386/cpuid.h: Fix typo in a comment in cpuid.h.
511 2017-06-22 Martin Liska <mliska@suse.cz>
513 Backport from mainline
514 2017-05-30 Martin Liska <mliska@suse.cz>
517 * auto-profile.c (get_function_decl_from_block): Fix
520 2017-06-22 Martin Liska <mliska@suse.cz>
522 Backport from mainline
523 2017-05-26 Martin Liska <mliska@suse.cz>
526 * params.def: Bound partial-inlining-entry-probability param.
528 2017-06-22 Martin Liska <mliska@suse.cz>
530 Backport from mainline
531 2017-05-16 Martin Liska <mliska@suse.cz>
534 * ipa-devirt.c (odr_types_equivalent_p): Fix typo.
536 2017-06-22 Martin Liska <mliska@suse.cz>
538 Backport from mainline
539 2017-05-15 Martin Liska <mliska@suse.cz>
542 * gcc.c (process_command): Do not allow empty argument of -o option.
544 2017-06-22 Martin Liska <mliska@suse.cz>
546 Backport from mainline
547 2017-05-02 Martin Liska <mliska@suse.cz>
549 * doc/gcov.texi: Add missing preposition.
550 * gcov.c (function_info::function_info): Properly fill up
551 all member variables.
553 2017-06-22 Martin Liska <mliska@suse.cz>
555 Backport from mainline
556 2017-05-02 Martin Liska <mliska@suse.cz>
559 * common.opt: Fix typo.
560 * doc/invoke.texi: Likewise.
562 2017-06-22 Martin Liska <mliska@suse.cz>
564 Backport from mainline
565 2017-04-28 Martin Liska <mliska@suse.cz>
567 * doc/gcov.texi: Enhance documentation of gcov.
569 2017-06-22 Martin Liska <mliska@suse.cz>
571 Backport from mainline
572 2017-04-28 Martin Liska <mliska@suse.cz>
574 * doc/gcov.texi: Sort options in alphabetic order.
575 * doc/gcov-dump.texi: Likewise.
576 * doc/gcov-tool.texi: Likewise.
577 * gcov.c (print_usage): Likewise.
578 * gcov-dump.c (print_usage): Likewise.
579 * gcov-tool.c (print_merge_usage_message): Likewise.
580 (print_rewrite_usage_message): Likewise.
581 (print_overlap_usage_message): Likewise.
583 2017-06-22 Martin Liska <mliska@suse.cz>
585 Backport from mainline
586 2017-04-28 Martin Liska <mliska@suse.cz>
588 PR gcov-profile/53915
589 * gcov.c (format_gcov): Print 'NAN %' when top > bottom.
591 2017-06-22 Martin Liska <mliska@suse.cz>
593 Backport from mainline
594 2017-04-28 Martin Liska <mliska@suse.cz>
597 * coverage.c (coverage_remove_note_file): New function.
598 * coverage.h: Declare the function.
599 * toplev.c (finalize): Clean if an error has been seen.
601 2017-06-09 David S. Miller <davem@davemloft.net>
604 * config/sparc/sparc.c (sparc_flat_expand_epilogue): Don't
605 emit frame blockage here.
606 (sparc_expand_epilogue): Do it here.
607 * config/sparc/sparc.md (return expander): Emit frame blockage
610 2017-06-06 David S. Miller <davem@davemloft.net>
613 * config/sparc/sparc.c (sparc_expand_prologue): Emit frame
614 blockage if function uses alloca.
616 2017-06-01 Jakub Jelinek <jakub@redhat.com>
618 Backported from mainline
619 2016-08-19 Jakub Jelinek <jakub@redhat.com>
621 * config/i386/rdseedintrin.h (_rdseed16_step, _rdseed32_step,
622 _rdseed64_step): Uglify argument names and/or local variable names
624 * config/i386/rtmintrin.h (_xabort): Likewise.
625 * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64,
626 _mm256_mask_ternarylogic_epi64, _mm256_maskz_ternarylogic_epi64,
627 _mm256_ternarylogic_epi32, _mm256_mask_ternarylogic_epi32,
628 _mm256_maskz_ternarylogic_epi32, _mm_ternarylogic_epi64,
629 _mm_mask_ternarylogic_epi64, _mm_maskz_ternarylogic_epi64,
630 _mm_ternarylogic_epi32, _mm_mask_ternarylogic_epi32,
631 _mm_maskz_ternarylogic_epi32): Likewise.
632 * config/i386/lwpintrin.h (__llwpcb, __lwpval32, __lwpval64,
633 __lwpins32, __lwpins64): Likewise.
634 * config/i386/avx2intrin.h (_mm_i32gather_pd, _mm_mask_i32gather_pd,
635 _mm256_i32gather_pd, _mm256_mask_i32gather_pd, _mm_i64gather_pd,
636 _mm_mask_i64gather_pd, _mm256_i64gather_pd, _mm256_mask_i64gather_pd,
637 _mm_i32gather_ps, _mm_mask_i32gather_ps, _mm256_i32gather_ps,
638 _mm256_mask_i32gather_ps, _mm_i64gather_ps, _mm_mask_i64gather_ps,
639 _mm256_i64gather_ps, _mm256_mask_i64gather_ps, _mm_i32gather_epi64,
640 _mm_mask_i32gather_epi64, _mm256_i32gather_epi64,
641 _mm256_mask_i32gather_epi64, _mm_i64gather_epi64,
642 _mm_mask_i64gather_epi64, _mm256_i64gather_epi64,
643 _mm256_mask_i64gather_epi64, _mm_i32gather_epi32,
644 _mm_mask_i32gather_epi32, _mm256_i32gather_epi32,
645 _mm256_mask_i32gather_epi32, _mm_i64gather_epi32,
646 _mm_mask_i64gather_epi32, _mm256_i64gather_epi32,
647 _mm256_mask_i64gather_epi32): Likewise.
648 * config/i386/pmm_malloc.h (_mm_malloc, _mm_free): Likewise.
649 * config/i386/ia32intrin.h (__writeeflags): Likewise.
650 * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd,
651 _mm512_mask_prefetch_i32gather_ps, _mm512_mask_prefetch_i64gather_pd,
652 _mm512_mask_prefetch_i64gather_ps, _mm512_prefetch_i32scatter_pd,
653 _mm512_prefetch_i32scatter_ps, _mm512_mask_prefetch_i32scatter_pd,
654 _mm512_mask_prefetch_i32scatter_ps, _mm512_prefetch_i64scatter_pd,
655 _mm512_prefetch_i64scatter_ps, _mm512_mask_prefetch_i64scatter_pd,
656 _mm512_mask_prefetch_i64scatter_ps): Likewise.
657 * config/i386/gmm_malloc.h (_mm_malloc, _mm_free): Likewise.
658 * config/i386/avx512fintrin.h (_mm512_ternarylogic_epi64,
659 _mm512_mask_ternarylogic_epi64, _mm512_maskz_ternarylogic_epi64,
660 _mm512_ternarylogic_epi32, _mm512_mask_ternarylogic_epi32,
661 _mm512_maskz_ternarylogic_epi32, _mm512_i32gather_ps,
662 _mm512_mask_i32gather_ps, _mm512_i32gather_pd, _mm512_i64gather_ps,
663 _mm512_i64gather_pd, _mm512_i32gather_epi32, _mm512_i32gather_epi64,
664 _mm512_i64gather_epi32, _mm512_i64gather_epi64): Likewise.
666 2017-05-30 Max Filippov <jcmvbkbc@gmail.com>
668 Backport from mainline
669 2017-05-29 Max Filippov <jcmvbkbc@gmail.com>
671 * config/xtensa/xtensa.c (xtensa_emit_call): Use
672 HOST_WIDE_INT_PRINT_HEX instead of 0x%lx format string.
673 (print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of %ld
676 2017-05-30 Max Filippov <jcmvbkbc@gmail.com>
678 Backport from mainline
679 2016-11-29 Max Filippov <jcmvbkbc@gmail.com>
681 * config/xtensa/xtensa.c (hwloop_optimize): Don't emit zero
682 overhead loop start between a call and its CALL_ARG_LOCATION
685 2017-05-30 Max Filippov <jcmvbkbc@gmail.com>
687 Backport from mainline
688 2015-09-15 Max Filippov <jcmvbkbc@gmail.com>
690 * config/xtensa/xtensa.h (DWARF_ALT_FRAME_RETURN_COLUMN): New
692 (DWARF_FRAME_REGISTERS): Reserve space for one extra register in
695 2017-05-30 Max Filippov <jcmvbkbc@gmail.com>
697 Backport from mainline
698 2015-09-15 Max Filippov <jcmvbkbc@gmail.com>
700 * config/xtensa/xtensa.c (xtensa_call_tls_desc): Use a10 or a2
701 to pass TLS call argument, according to current ABI.
702 * config/xtensa/xtensa.md (tls_call pattern): Use callx8 or
703 callx0 for TLS call, according to current ABI.
705 2017-05-30 Jakub Jelinek <jakub@redhat.com>
707 Backported from mainline
708 2017-04-25 Jakub Jelinek <jakub@redhat.com>
710 * Makefile.in (s-options): Invoke opt-gather.awk with LC_ALL=C in the
713 2017-04-11 Jakub Jelinek <jakub@redhat.com>
715 PR rtl-optimization/80385
716 * simplify-rtx.c (simplify_unary_operation_1): Don't transform
717 (not (neg X)) into (plus X -1) for complex or non-integral modes.
720 * omp-low.c (scan_omp_task): Don't optimize away empty tasks
721 if they have any depend clauses.
723 2017-04-04 Jakub Jelinek <jakub@redhat.com>
726 * config/i386/i386.c (ix86_expand_args_builtin): If op has scalar
727 int mode, convert_modes it to mode as unsigned, otherwise use
728 lowpart_subreg to mode rather than SImode.
729 * config/i386/sse.md (<mask_codefor>ashr<mode>3<mask_name>,
730 ashr<mode>3, ashr<mode>3<mask_name>, <shift_insn><mode>3<mask_name>):
731 Use DImode instead of SImode for the shift count operand.
732 * config/i386/mmx.md (mmx_ashr<mode>3, mmx_<shift_insn><mode>3):
735 2017-03-31 Jakub Jelinek <jakub@redhat.com>
738 * cselib.c (cselib_hasher::equal): Pass 0 to rtx_equal_for_cselib_1.
739 (rtx_equal_for_cselib_1): Add depth argument. If depth
740 is 128, don't look up VALUE locs and punt. Increment
741 depth in recursive calls when walking VALUE locs.
743 2017-03-27 Jakub Jelinek <jakub@redhat.com>
746 * asan.c (instrument_derefs): Copy over last operand from
747 original COMPONENT_REF to the new COMPONENT_REF with
748 DECL_BIT_FIELD_REPRESENTATIVE.
749 * ubsan.c (instrument_object_size): Likewise.
751 2017-03-24 Jakub Jelinek <jakub@redhat.com>
753 PR rtl-optimization/80112
754 * loop-doloop.c (doloop_condition_get): Don't check condition
755 if cmp isn't SET with IF_THEN_ELSE src.
757 2017-03-22 Jakub Jelinek <jakub@redhat.com>
760 * gimplify.c (gimplify_modify_expr_rhs) <case COND_EXPR>: Clear
761 TREE_READONLY on result if writing it more than once.
763 2017-03-09 Jakub Jelinek <jakub@redhat.com>
766 * asan.c (get_mem_refs_of_builtin_call): For BUILT_IN_ATOMIC* and
767 BUILT_IN_SYNC*, determine the access type from the size suffix and
768 always build a MEM_REF with that type. Handle forgotten
769 BUILT_IN_SYNC_FETCH_AND_NAND_16 and BUILT_IN_SYNC_NAND_AND_FETCH_16.
772 * config/i386/avx512vlintrin.h (_mm256_cmpge_epi32_mask,
773 _mm256_cmpge_epi64_mask, _mm256_cmpge_epu32_mask,
774 _mm256_cmpge_epu64_mask, _mm256_cmple_epi32_mask,
775 _mm256_cmple_epi64_mask, _mm256_cmple_epu32_mask,
776 _mm256_cmple_epu64_mask, _mm256_cmplt_epi32_mask,
777 _mm256_cmplt_epi64_mask, _mm256_cmplt_epu32_mask,
778 _mm256_cmplt_epu64_mask, _mm256_cmpneq_epi32_mask,
779 _mm256_cmpneq_epi64_mask, _mm256_cmpneq_epu32_mask,
780 _mm256_cmpneq_epu64_mask, _mm256_mask_cmpge_epi32_mask,
781 _mm256_mask_cmpge_epi64_mask, _mm256_mask_cmpge_epu32_mask,
782 _mm256_mask_cmpge_epu64_mask, _mm256_mask_cmple_epi32_mask,
783 _mm256_mask_cmple_epi64_mask, _mm256_mask_cmple_epu32_mask,
784 _mm256_mask_cmple_epu64_mask, _mm256_mask_cmplt_epi32_mask,
785 _mm256_mask_cmplt_epi64_mask, _mm256_mask_cmplt_epu32_mask,
786 _mm256_mask_cmplt_epu64_mask, _mm256_mask_cmpneq_epi32_mask,
787 _mm256_mask_cmpneq_epi64_mask, _mm256_mask_cmpneq_epu32_mask,
788 _mm256_mask_cmpneq_epu64_mask, _mm_cmpge_epi32_mask,
789 _mm_cmpge_epi64_mask, _mm_cmpge_epu32_mask, _mm_cmpge_epu64_mask,
790 _mm_cmple_epi32_mask, _mm_cmple_epi64_mask, _mm_cmple_epu32_mask,
791 _mm_cmple_epu64_mask, _mm_cmplt_epi32_mask, _mm_cmplt_epi64_mask,
792 _mm_cmplt_epu32_mask, _mm_cmplt_epu64_mask, _mm_cmpneq_epi32_mask,
793 _mm_cmpneq_epi64_mask, _mm_cmpneq_epu32_mask, _mm_cmpneq_epu64_mask,
794 _mm_mask_cmpge_epi32_mask, _mm_mask_cmpge_epi64_mask,
795 _mm_mask_cmpge_epu32_mask, _mm_mask_cmpge_epu64_mask,
796 _mm_mask_cmple_epi32_mask, _mm_mask_cmple_epi64_mask,
797 _mm_mask_cmple_epu32_mask, _mm_mask_cmple_epu64_mask,
798 _mm_mask_cmplt_epi32_mask, _mm_mask_cmplt_epi64_mask,
799 _mm_mask_cmplt_epu32_mask, _mm_mask_cmplt_epu64_mask,
800 _mm_mask_cmpneq_epi32_mask, _mm_mask_cmpneq_epi64_mask,
801 _mm_mask_cmpneq_epu32_mask, _mm_mask_cmpneq_epu64_mask): Move
802 definitions outside of __OPTIMIZE__ guarded section.
805 * config/i386/avx512bwintrin.h (_mm512_packs_epi32,
806 _mm512_maskz_packs_epi32, _mm512_mask_packs_epi32,
807 _mm512_packus_epi32, _mm512_maskz_packus_epi32,
808 _mm512_mask_packus_epi32): Move definitions outside of __OPTIMIZE__
811 2017-03-07 Jakub Jelinek <jakub@redhat.com>
813 PR rtl-optimization/79901
814 * config/i386/sse.md (*avx512bw_<code><mode>3<mask_name>): Renamed to
816 (*avx512f_<code><mode>3<mask_name>): ... this.
817 (<code><mode>3 with maxmin code iterator): Use VI8_AVX2_AVX512F
818 iterator instead of VI8_AVX2_AVX512BW.
820 PR rtl-optimization/79901
821 * expr.c (expand_expr_real_2): For vector MIN/MAX, if there is no
822 min/max expander, expand it using expand_vec_cond_expr.
824 2017-03-03 Jakub Jelinek <jakub@redhat.com>
827 * config/i386/i386.c (ix86_expand_multi_arg_builtin): If target
828 is a memory operand, increase num_memory.
829 (ix86_expand_args_builtin): Likewise.
831 2017-02-28 Jakub Jelinek <jakub@redhat.com>
834 * config/i386/i386.c (ix86_print_operand) <case 'R'>: Replace
835 gcc_unreachable with output_operand_lossage.
837 2017-02-25 Jakub Jelinek <jakub@redhat.com>
840 * tree-eh.c (operation_could_trap_p, stmt_could_throw_1_p): Handle
841 FMA_EXPR like tcc_binary or tcc_unary.
843 2017-02-21 Jakub Jelinek <jakub@redhat.com>
846 * sel-sched.c (moveup_expr_cached): Don't call sel_bb_head
847 on temporarily removed DEBUG_INSNs.
850 * config/i386/i386.c (ix86_expand_split_stack_prologue): Call
851 make_reg_eh_region_note_nothrow_nononlocal on call_insn.
853 2017-02-20 Jakub Jelinek <jakub@redhat.com>
856 * config/i386/i386.c (ix86_expand_builtin): Handle
857 OPTION_MASK_ISA_AVX512VL and OPTION_MASK_ISA_64BIT in
858 ix86_builtins_isa[fcode].isa as a requirement of those
859 flags and any other flag in the bitmask.
860 (ix86_init_mmx_sse_builtins): Use 0 instead of
861 ~OPTION_MASK_ISA_64BIT as mask.
862 * config/i386/i386-builtin.def (bdesc_special_args,
863 bdesc_args): Likewise.
865 2017-02-18 Jakub Jelinek <jakub@redhat.com>
868 * config/i386/i386.c (ix86_print_operand): Use output_operand_lossage
869 instead of gcc_assert for K, r and R code checks. Formatting fixes.
871 2017-02-10 Jakub Jelinek <jakub@redhat.com>
873 PR tree-optimization/79411
874 * tree-ssa-reassoc.c (is_reassociable_op): Return false if
875 stmt operands are SSA_NAMEs used in abnormal phis.
876 (can_reassociate_p): Return false if op is SSA_NAME used in abnormal
879 2017-02-07 Jakub Jelinek <jakub@redhat.com>
880 Richard Biener <rguenther@suse.de>
883 * ira-int.h (struct target_ira_int): Change x_max_struct_costs_size
884 type from int to size_t.
885 * ira-costs.c (struct_costs_size): Change type from int to size_t.
887 2017-02-02 Jakub Jelinek <jakub@redhat.com>
890 * config/rs6000/rs6000.md (*fixuns_trunc<mode>di2_fctiduz): Rename to ...
891 (fixuns_trunc<mode>di2): ... this, remove previous expander. Put all
892 conditions on a single line.
894 2016-12-13 Jakub Jelinek <jakub@redhat.com>
897 * ipa-pure-const.c (cdtor_p): Return true for
898 DECL_STATIC_{CON,DE}STRUCTOR even when it is
899 DECL_LOOPING_CONST_OR_PURE_P.
901 2016-12-14 Wilco Dijkstra <wdijkstr@arm.com>
902 Jakub Jelinek <jakub@redhat.com>
905 * config/aarch64/aarch64.c (aarch64_classify_symbol): Merge large
906 model checks into switch.
908 2016-11-28 Jakub Jelinek <jakub@redhat.com>
911 * tree-nested.c (convert_local_reference_stmt): After adding
912 shared (FRAME.NN) clause to omp parallel, task or target,
913 add it also to all outer omp parallel, task or target constructs.
915 2016-11-23 Jakub Jelinek <jakub@redhat.com>
918 * omp-low.c (build_outer_var_ref): Change lastprivate argument
919 to code, pass it recursively, adjust uses. For OMP_CLAUSE_PRIVATE
920 on worksharing constructs, treat it like clauses on simd construct.
922 (lower_rec_input_clauses): For OMP_CLAUSE_PRIVATE_OUTER_REF pass
923 OMP_CLAUSE_PRIVATE as last argument to build_outer_var_ref.
924 (lower_lastprivate_clauses): Pass OMP_CLAUSE_LASTPRIVATE instead
925 of true as last argument to build_outer_var_ref.
927 2016-11-22 Jakub Jelinek <jakub@redhat.com>
930 * expmed.c (expand_divmod): Use wide_int for computation of
931 op1_is_pow2. Don't set it if op1 is 0. Formatting fixes.
932 Use size <= HOST_BITS_PER_WIDE_INT instead of
933 HOST_BITS_PER_WIDE_INT >= size.
935 2016-11-21 Jakub Jelinek <jakub@redhat.com>
938 * omp-low.c (simd_clone_adjust_argument_types): Use NULL prefix
939 for tmp simd array if DECL_NAME (parm) is NULL.
941 2016-11-16 Jakub Jelinek <jakub@redhat.com>
943 PR rtl-optimization/78378
944 * combine.c (make_extraction): Use force_to_mode for non-{REG,MEM}
945 inner only if pos is 0. Fix up formatting.
947 2016-11-07 Jakub Jelinek <jakub@redhat.com>
950 * config/i386/i386.c (ix86_expand_sse_cmp): Force dest into
951 cmp_mode argument even for -O0 if cmp_mode != mode and maskcmp.
953 2016-10-29 Jakub Jelinek <jakub@redhat.com>
955 PR rtl-optimization/77919
956 * expr.c (expand_expr_real_1) <normal_inner_ref>: Only avoid forcing
957 into memory if both modes are complex and their inner modes have the
958 same precision. If the two modes are different complex modes, convert
959 each part separately and generate a new CONCAT.
961 2016-10-28 Jakub Jelinek <jakub@redhat.com>
963 PR rtl-optimization/77919
964 * expr.c (expand_expr_real_1) <normal_inner_ref>: Force CONCAT into
965 MEM if mode1 is not a complex mode.
967 2016-10-05 Jakub Jelinek <jakub@redhat.com>
970 * ubsan.c (ubsan_ids): New GTY(()) array.
971 (ubsan_type_descriptor, ubsan_create_data): Use ubsan_ids
972 instead of static local counters.
974 2016-09-22 Jakub Jelinek <jakub@redhat.com>
977 * tree-inline.c (remap_gimple_stmt): Set has_simduid_loops
978 for all IFN_GOMP_SIMD_* internal fns.
980 2016-09-20 Jakub Jelinek <jakub@redhat.com>
983 * builtins.c (fold_builtin_atomic_always_lock_free): Only look through
984 cast to void * if the cast is from some other pointer type.
986 2016-09-19 Jakub Jelinek <jakub@redhat.com>
987 Jan Hubicka <jh@suse.cz>
990 * cgraph.c (cgraph_node::rtl_info): Pass &avail to
991 ultimate_alias_target call, return NULL if avail < AVAIL_AVAILABLE.
992 Call ultimate_alias_target just once, not up to 4 times.
994 2016-09-16 Jakub Jelinek <jakub@redhat.com>
995 Eric Botcazou <ebotcazou@adacore.com>
998 * internal-fn.c (expand_arith_overflow) <case MINUS_EXPR>: Don't fall
999 through into expand_addsub_overflow after expand_neg_overflow.
1001 2016-09-14 Jakub Jelinek <jakub@redhat.com>
1004 * tsan.c: Include target.h.
1005 (enum tsan_atomic_action): Add bool_clear and bool_test_and_set.
1006 (BOOL_CLEAR, BOOL_TEST_AND_SET): Define.
1007 (tsan_atomic_table): Add BUILT_IN_ATOMIC_CLEAR and
1008 BUILT_IN_ATOMIC_TEST_AND_SET entries.
1009 (instrument_builtin_call): Handle bool_clear and bool_test_and_set.
1011 2016-09-08 Jakub Jelinek <jakub@redhat.com>
1014 * omp-low.c (lower_rec_simd_input_clauses): Use max_vf for non-positive
1015 OMP_CLAUSE_SAFELEN_EXPR.
1017 2016-08-30 Jakub Jelinek <jakub@redhat.com>
1020 * dwarf2out.c (modified_type_die): Use lookup_type_die (type)
1021 instead of lookup_type_die (type_main_variant (type)) even for array
1025 * simplify-rtx.c (avoid_constant_pool_reference): For out of bounds
1026 constant pool reference return x instead of c.
1028 2016-08-16 Jakub Jelinek <jakub@redhat.com>
1031 * tree-cfg.c (execute_fixup_cfg): Add node variable, use it. Before inlining,
1032 add cgraph edge for the added __builtin_unreachable call.
1034 2016-08-15 Martin Liska <mliska@suse.cz>
1035 Jakub Jelinek <jakub@redhat.com>
1037 PR tree-optimization/72824
1038 * tree-loop-distribution.c (const_with_all_bytes_same)
1039 <case VECTOR_CST>: Fix a typo.
1041 2016-08-09 Jakub Jelinek <jakub@redhat.com>
1043 PR tree-optimization/72824
1044 * tree-loop-distribution.c (const_with_all_bytes_same): Verify
1045 real_zerop is not negative.
1047 2016-07-21 Jakub Jelinek <jakub@redhat.com>
1050 * asan.c (asan_dynamic_init_call): Call asan_init_shadow_ptr_types
1051 before builtin_decl_implicit.
1053 2017-05-29 Eric Botcazou <ebotcazou@adacore.com>
1055 * doc/install.texi (Options specification): Move entry of
1056 --enable-sjlj-exceptions.
1058 2017-05-29 Martin Liska <mliska@suse.cz>
1060 Backport from mainline
1061 2017-04-24 Jan Hubicka <hubicka@ucw.cz>
1064 * ipa-devirt.c (dump_possible_polymorphic_call_targets): Fix ICE.
1066 2017-05-29 Martin Liska <mliska@suse.cz>
1068 Backport from mainline
1069 2017-04-19 Richard Biener <rguenther@suse.de>
1072 * auto-profile.c (afdo_vpt_for_early_inline): Update SSA
1073 when needed by AutoPGO.
1075 2017-05-29 Martin Liska <mliska@suse.cz>
1077 Backport from mainline
1078 2017-04-19 Paulo J. Matos <paulo@matos-sorge.com>
1081 * doc/lto.texi: Remove an extra 'that'.
1083 2017-05-29 Martin Liska <mliska@suse.cz>
1085 Backport from mainline
1086 2017-04-18 Martin Liska <mliska@suse.cz>
1088 PR gcov-profile/78783
1089 * gcov-tool.c (gcov_output_files): Validate that destination
1090 file is either removed by the tool or by a user.
1092 2017-05-29 Martin Liska <mliska@suse.cz>
1094 Backport from mainline
1095 2017-04-13 Martin Liska <mliska@suse.cz>
1097 PR gcov-profile/80413
1098 * gcov-io.c (gcov_write_string): Copy to buffer just when
1099 allocated size is greater than zero.
1101 2017-05-29 Martin Liska <mliska@suse.cz>
1103 Backport from mainline
1104 2017-04-11 Martin Liska <mliska@suse.cz>
1107 * cgraph.c (cgraph_node::dump): Dump calls_comdat_local.
1108 * ipa-split.c (split_function): Create a local comdat symbol
1109 if caller is in a comdat group.
1111 2017-05-29 Martin Liska <mliska@suse.cz>
1113 Backport from mainline
1114 2017-04-11 Martin Liska <mliska@suse.cz>
1117 * ipa-cp.c (determine_versionability): Handle calls_comdat_local
1120 2017-05-29 Martin Liska <mliska@suse.cz>
1122 Backport from mainline
1123 2017-04-11 Martin Liska <mliska@suse.cz>
1126 * ubsan.c (instrument_object_size): Do not instrument register
1129 2017-05-29 Martin Liska <mliska@suse.cz>
1131 Backport from mainline
1132 2017-04-10 Martin Liska <mliska@suse.cz>
1134 PR gcov-profile/80224
1135 * gcov.c (print_usage): Fix usage string.
1136 (get_gcov_intermediate_filename): Remove.
1137 (output_gcov_file): Use both for normal and intermediate format.
1138 (generate_results): Do not initialize special file for
1139 intermediate format.
1141 2017-05-29 Martin Liska <mliska@suse.cz>
1143 Backport from mainline
1144 2017-03-28 Richard Biener <rguenther@suse.de>
1147 * tree-inline.c (copy_phis_for_bb): Do not create PHI node
1148 without arguments, generate default definition of a SSA name.
1150 2017-05-29 Martin Liska <mliska@suse.cz>
1152 Backport from mainline
1153 2017-03-28 Martin Liska <mliska@suse.cz>
1156 * cgraphunit.c (cgraph_node::expand_thunk): Mark argument of a
1157 thunk call as DECL_GIMPLE_REG_P when vector or complex type.
1159 2017-05-26 Sheldon Lobo <smlobo@sheldon.us.oracle.com>
1161 Backported from mainline
1162 2017-05-24 Sheldon Lobo <smlobo@sheldon.us.oracle.com>
1164 * config/sparc/sparc.md (length): Return the correct value for -mflat
1165 sibcalls to match output_sibcall.
1167 2017-05-19 Uros Bizjak <ubizjak@gmail.com>
1169 Backport from mainline
1170 2017-05-18 Uros Bizjak <ubizjak@gmail.com>
1173 * config/i386/mmx.md (*mov<mode>_internal): Enable
1174 alternatives 11, 12, 13 and 14 also for 32bit targets.
1175 Remove alternatives 15, 16, 17 and 18.
1176 * config/i386/sse.md (vec_concatv2di): Change
1177 alternative (!x, *y) to (x, ?!*Yn).
1179 2017-05-15 Richard Biener <rguenther@suse.de>
1183 * gimple-fold.c (gimple_fold_indirect_ref): Do not touch
1184 TYPE_REF_CAN_ALIAS_ALL references.
1185 * fold-const.c (fold_indirect_ref_1): Likewise.
1187 2017-05-10 Richard Biener <rguenther@suse.de>
1189 Backport from mainline
1190 2017-02-28 Richard Biener <rguenther@suse.de>
1192 PR tree-optimization/79732
1193 * tree-inline.c (expand_call_inline): Handle anonymous
1194 SSA lhs properly when inlining a function without return
1197 2017-02-22 Richard Biener <rguenther@suse.de>
1199 PR tree-optimization/79666
1200 * tree-vrp.c (extract_range_from_binary_expr_1): Make sure
1201 to not symbolically negate if that may introduce undefined
1204 2017-05-10 Richard Biener <rguenther@suse.de>
1206 Backport from mainline
1207 2017-03-21 Richard Biener <rguenther@suse.de>
1209 PR tree-optimization/80122
1210 * tree-inline.c (copy_bb): Do not expans va-arg packs or
1211 va_arg_pack_len when the inlined call stmt requires pack
1213 * tree-inline.h (struct copy_body_data): Make call_stmt a gcall *.
1215 2017-03-28 Richard Biener <rguenther@suse.de>
1218 * gimple-fold.c (gimple_fold_indirect_ref): Do not touch
1219 TYPE_REF_CAN_ALIAS_ALL references.
1220 * fold-const.c (fold_indirect_ref_1): Likewise.
1222 2017-04-06 Richard Biener <rguenther@suse.de>
1224 PR tree-optimization/80334
1225 * tree-ssa-loop-ivopts.c (rewrite_use_address): Properly
1226 preserve alignment of accesses.
1228 2017-04-27 Richard Biener <rguenther@suse.de>
1231 * tree-chrec.c (chrec_fold_plus_poly_poly): Deal with not
1232 being in loop-closed SSA form conservatively.
1233 (chrec_fold_multiply_poly_poly): Likewise.
1235 2016-05-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1237 Backport from mainline
1238 PR target/69868 + swap optimization backports
1239 * config/rs6000/rs6000.c (swap_web_entry): Enlarge
1240 special_handling bitfield.
1241 (special_handling_values): Add SH_XXPERMDI, SH_CONCAT, SH_VPERM,
1243 (const_load_sequence_p): New.
1244 (load_comp_mask_p): New.
1245 (v2df_reduction_p): New.
1246 (rtx_is_swappable_p): Perform special handling for XXPERMDI and
1248 (insn_is_swappable_p): Perform special handling for VEC_CONCAT,
1249 V2DF reductions, and various permutes.
1250 (adjust_xxpermdi): New.
1251 (adjust_concat): New.
1252 (find_swapped_load_and_const_vector): New.
1253 (replace_const_vector_in_load): New.
1254 (adjust_vperm): New.
1255 (adjust_vperm_comp): New.
1256 (handle_special_swappables): Call adjust_xxpermdi, adjust_concat,
1257 adjust_vperm, and adjust_vperm_comp.
1258 (replace_swap_with_copy): Allow vector NOT operations to also be
1260 (dump_swap_insn_table): Handle new special handling values.
1262 2017-05-03 Uros Bizjak <ubizjak@gmail.com>
1264 Backport from mainline
1265 2017-05-01 Uros Bizjak <ubizjak@gmail.com>
1268 * config/i386/cpuid.h (__get_cpuid): Always return 0 when
1269 __get_cpuid_max returns 0.
1271 2017-04-21 Christophe Lyon <christophe.lyon@linaro.org>
1273 Backport from mainline
1274 +2015-11-23 Kugan Vivekanandarajah <kuganv@linaro.org>
1277 * config/arm/arm.c (arm_function_ok_for_sibcall): Get function type
1278 for indirect function call.
1280 2017-04-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1282 Backport from mainline
1283 2017-04-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1287 * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
1288 CONST0_RTX (mode) rather than const0_rtx where appropriate.
1289 (rs6000_expand_binop_builtin): Likewise.
1290 (rs6000_expand_ternop_builtin): Likewise; also add missing
1291 vsx_xxpermdi_* variants; also fix typo (arg1 => arg2) for
1292 vshasigma built-ins.
1293 * doc/extend.texi: Document that vec_xxpermdi's third argument
1296 2017-04-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
1299 2017-04-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
1302 * config/arm/arm-protos.h (FL_LPAE): Define macro.
1303 (FL_FOR_ARCH7VE): Add FL_LPAE.
1304 (arm_arch_lpae): Declare extern.
1305 * config/arm/arm.c (arm_arch_lpae): Declare.
1306 (arm_option_override): Define arm_arch_lpae.
1307 * config/arm/arm.h (TARGET_HAVE_LPAE): Redefine in term of
1310 2017-04-11 Martin Jambor <mjambor@suse.cz>
1312 Backport from mainline
1313 2017-03-30 Martin Jambor <mjambor@suse.cz>
1316 * cgraph.h (cgraph_build_function_type_skip_args): Declare.
1317 * cgraph.c (redirect_call_stmt_to_callee): Set gimple fntype so that
1318 it reflects the signature changes performed at the callee side.
1319 * cgraphclones.c (build_function_type_skip_args): Make public, renamed
1320 to cgraph_build_function_type_skip_args.
1321 (build_function_decl_skip_args): Adjust call to the above function.
1323 2017-04-11 Bin Cheng <bin.cheng@arm.com>
1325 Backport from mainline
1326 2016-02-10 Bin Cheng <bin.cheng@arm.com>
1328 PR tree-optimization/68021
1329 * tree-ssa-loop-ivopts.c (get_computation_aff): Set ratio to 1 if
1330 when computing the value of biv cand by itself.
1332 2017-04-08 Andreas Tobler <andreast@gcc.gnu.org>
1334 Backport from mainline
1335 2017-04-08 Andreas Tobler <andreast@gcc.gnu.org>
1337 * config/aarch64/aarch64-freebsd.h: Define MCOUNT_NAME.
1338 Add comment for WCHAR_T.
1340 2017-04-07 Andreas Tobler <andreast@gcc.gnu.org>
1342 Backport from mainline
1343 2017-04-07 Andreas Tobler <andreast@gcc.gnu.org>
1345 * config/aarch64/aarch64-freebsd.h: Define WCHAR_T.
1347 2017-04-07 Uros Bizjak <ubizjak@gmail.com>
1349 Backport from mainline
1350 2017-04-06 Uros Bizjak <ubizjak@gmail.com>
1353 * config/i386/i386.c (ix86_expand_builtin)
1354 <case IX86_BUILTIN_KORTEST{C,Z}16>: Determine insn operand
1355 mode from insn data. Convert operands to insn operand mode.
1356 Copy operands that don't satisfy insn predicate to a register.
1358 2017-03-30 Peter Bergner <bergner@vnet.ibm.com>
1360 Backport from mainline
1361 2017-03-30 Peter Bergner <bergner@vnet.ibm.com>
1364 * config/rs6000/dfp.md (dfp_dxex_<mode>): Update mode of operand 0.
1365 (dfp_diex_<mode>): Update mode of operand 1.
1366 * doc/extend.texi (dxex, dxexq): Document change to return type.
1367 (diex, diexq): Document change to argument type.
1369 2017-03-25 Uros Bizjak <ubizjak@gmail.com>
1372 * config/i386/i386.c (ix86_expand_builtin)
1373 <IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Do not expand arg0 between
1374 flags reg setting and flags reg using instructions.
1375 <IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Ditto. Use non-flags reg
1376 clobbering instructions to zero extend op2.
1379 2017-03-22 Martin Liska <mliska@suse.cz>
1381 Backport from mainline
1382 2017-02-22 Martin Liska <mliska@suse.cz>
1385 * data-streamer-in.c (streamer_read_gcov_count): Remove assert.
1386 * data-streamer-out.c (streamer_write_gcov_count_stream):
1388 * value-prof.c (stream_out_histogram_value): Make assert more
1389 precise based on type of counter.
1391 2017-03-22 Martin Liska <mliska@suse.cz>
1393 Backport from mainline
1394 2017-03-22 Martin Liska <mliska@suse.cz>
1397 * config/rs6000/rs6000.c (rs6000_inner_target_options): Show
1398 error message instead of an ICE.
1400 2017-03-22 Martin Liska <mliska@suse.cz>
1402 Backport from mainline
1403 2017-03-21 Martin Liska <mliska@suse.cz>
1405 PR gcov-profile/80081
1406 * Makefile.in: Add gcov-dump and fix installation of gcov-tool.
1407 * doc/gcc.texi: Include gcov-dump stuff.
1408 * doc/gcov-dump.texi: New file.
1410 2017-03-22 Martin Liska <mliska@suse.cz>
1412 Backport from mainline
1413 2017-03-20 Martin Liska <mliska@suse.cz>
1416 * tree-chkp.c (chkp_build_returned_bound): Do not build
1417 returned bounds for a LHS that's not a BOUNDED_P type.
1419 2017-03-22 Martin Liska <mliska@suse.cz>
1421 Backport from mainline
1422 2017-03-20 Martin Liska <mliska@suse.cz>
1426 * tree-chkp.c (chkp_find_bounds_1): Handle REAL_CST,
1427 COMPLEX_CST and VECTOR_CST.
1429 2017-03-22 Martin Liska <mliska@suse.cz>
1431 Backport from mainline
1432 2017-03-14 Martin Liska <mliska@suse.cz>
1435 * doc/invoke.texi (-Wchkp): Document the option.
1437 2017-03-22 Martin Liska <mliska@suse.cz>
1439 Backport from mainline
1440 2017-03-13 Martin Liska <mliska@suse.cz>
1443 * ipa-pure-const.c (warn_function_noreturn): If the declarations
1444 is a CHKP clone, use original declaration.
1446 2017-03-22 Martin Liska <mliska@suse.cz>
1448 Backport from mainline
1449 2016-06-13 Martin Liska <mliska@suse.cz>
1455 * toplev.c (process_options): Enable MPX with LSAN and UBSAN.
1456 * tree-chkp.c (chkp_walk_pointer_assignments): Verify that
1459 2017-03-22 Martin Liska <mliska@suse.cz>
1461 Backport from mainline
1462 2017-03-09 Martin Liska <mliska@suse.cz>
1464 PR tree-optimization/79631
1465 * tree-chkp-opt.c (chkp_is_constant_addr): Call
1466 tree_int_cst_sign_bit just for INTEGER constants.
1468 2017-03-22 Martin Liska <mliska@suse.cz>
1470 Backport from mainline
1471 2017-03-09 Martin Liska <mliska@suse.cz>
1474 * tree-chkp.c (chkp_get_bound_for_parm): Get bounds for a param.
1475 (chkp_find_bounds_1): Remove gcc_unreachable.
1477 2017-03-22 Martin Liska <mliska@suse.cz>
1479 Backport from mainline
1480 2017-03-03 Martin Liska <mliska@suse.cz>
1482 PR tree-optimization/79803
1483 * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Remove
1485 (pass_loop_prefetch::execute): Disabled optimization if an
1486 assumption about L1 cache size is not met.
1488 2017-03-22 Martin Liska <mliska@suse.cz>
1490 Backport from mainline
1491 2017-03-03 Martin Liska <mliska@suse.cz>
1493 PR rtl-optimization/79574
1494 * gcse.c (struct gcse_expr): Use HOST_WIDE_INT instead of int.
1495 (hash_scan_set): Likewise.
1496 (dump_hash_table): Likewise.
1497 (hoist_code): Likewise.
1499 2017-03-22 Martin Liska <mliska@suse.cz>
1501 Backport from mainline
1502 2017-02-17 Martin Liska <mliska@suse.cz>
1504 PR rtl-optimization/79574
1505 * gcse.c (want_to_gcse_p): Prevent integer overflow.
1507 2017-03-22 Martin Liska <mliska@suse.cz>
1509 Backport from mainline
1510 2017-02-17 Martin Liska <mliska@suse.cz>
1512 PR rtl-optimization/79577
1513 * params.def (selsched-max-sched-times): Increase minimum to 1.
1515 2017-03-21 Pat Haugen <pthaugen@us.ibm.com>
1517 Backport from mainline:
1518 2017-03-17 Pat Haugen <pthaugen@us.ibm.com>
1521 * config/rs6000/rs6000.md (copysign<mode>3_fcpsgn): Test
1522 for VECTOR_UNIT_VSX_P (<MODE>mode) too.
1524 2017-03-21 Tamar Christina <tamar.christina@arm.com>
1526 * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>)
1527 Change ins into fmov.
1529 2017-03-19 Dominique d'Humieres <dominiq@lps.ens.fr>
1532 * config/i386/cpuid.h: Fix another undefined behavior.
1534 2017-03-17 Tom de Vries <tom@codesourcery.com>
1536 backport from trunk:
1537 2017-03-17 Tom de Vries <tom@codesourcery.com>
1539 * gcov-dump.c (print_usage): Print bug_report_url.
1541 2017-03-15 Matthias Klose <doko@ubuntu.com>
1543 Backport from mainline
1544 2017-03-14 Martin Liska <mliska@suse.cz>
1546 * Makefile.in: Install gcov-dump.
1548 2017-03-15 Uros Bizjak <ubizjak@gmail.com>
1551 * config/i386/i386.c (ix86_vector_duplicate_value): Create
1552 subreg of inner mode for values already in registers.
1554 2017-03-10 Michael Meissner <meissner@linux.vnet.ibm.com>
1556 Back port from trunk
1557 2017-03-01 Michael Meissner <meissner@linux.vnet.ibm.com>
1560 * config/rs6000/predicates.md (current_file_function_operand): Do
1561 not allow self calls to be local if the function is replaceable.
1563 2017-03-07 Uros Bizjak <ubizjak@gmail.com>
1565 Backport from mainline
1566 2017-03-07 Segher Boessenkool <segher@kernel.crashing.org>
1568 * config/i386/i386.c (ix86_local_alignment): Align most aggregates
1569 of 16 bytes and more to 16 bytes, not those of 16 bits and more.
1571 2017-03-06 John David Anglin <danglin@gcc.gnu.org>
1574 * config/pa/pa-64.h (PAD_VARARGS_DOWN): Don't pad down complex and
1577 2017-03-02 Uros Bizjak <ubizjak@gmail.com>
1580 * config/i386/i386.md (*pushxf_rounded): New insn_and_split pattern.
1582 2017-03-01 Pat Haugen <pthaugen@us.ibm.com>
1584 Backport from mainline:
1585 2017-02-27 Pat Haugen <pthaugen@us.ibm.com>
1588 * rs6000/rs6000-c.c (struct altivec_builtin_types): Use VSRAD for
1589 arithmetic shift of unsigned V2DI.
1591 2017-03-01 Martin Jambor <mjambor@suse.cz>
1593 Backport from mainline
1594 2017-02-21 Martin Jambor <mjambor@suse.cz>
1597 * ipa-prop.c (ipa_prop_write_jump_functions): Bail out if no edges
1600 2017-02-28 Eric Botcazou <ebotcazou@adacore.com>
1603 * config/sparc/sparc.c (sparc_frame_pointer_required): Add missing
1604 condition on optimize for the leaf function test.
1606 2017-02-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1608 Backport from mainline
1609 2017-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1612 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Add
1613 support for CODE_FOR_vsx_xxpermdi_v2d[fi]_be.
1614 * config/rs6000/rs6000.md (reload_gpr_from_vsx<mode>): Call
1615 generator for vsx_xxpermdi_<mode>_be.
1616 * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Remove logic to
1617 force big-endian semantics.
1618 (vsx_xxpermdi_<mode>_be): New define_expand with same
1619 implementation as previous version of vsx_xxpermdi_<mode>.
1621 2017-02-19 Dominique d'Humieres <dominiq@lps.ens.fr>
1624 * config/i386/cpuid.h: Fix undefined behavior.
1626 2017-02-18 Gerald Pfeifer <gerald@pfeifer.com>
1628 Backport from mainline
1629 2016-12-11 Roger Pau Monné <roger.pau@citrix.com>
1631 * config/i386/x86-64.h: Append --32 to the assembler options when
1632 -m16 is used on non-glibc systems as well.
1634 2017-02-17 Julia Koval <julia.koval@intel.com>
1637 * config/i386/avx512fintrin.h
1638 (_mm512_i32gather_ps): Change __addr type to void const*.
1639 (_mm512_mask_i32gather_ps): Ditto.
1640 (_mm512_i32gather_pd): Ditto.
1641 (_mm512_mask_i32gather_pd): Ditto.
1642 (_mm512_i64gather_ps): Ditto.
1643 (_mm512_mask_i64gather_ps): Ditto.
1644 (_mm512_i64gather_pd): Ditto.
1645 (_mm512_mask_i64gather_pd): Ditto.
1646 (_mm512_i32gather_epi32): Ditto.
1647 (_mm512_mask_i32gather_epi32): Ditto.
1648 (_mm512_i32gather_epi64): Ditto.
1649 (_mm512_mask_i32gather_epi64): Ditto.
1650 (_mm512_i64gather_epi32): Ditto.
1651 (_mm512_mask_i64gather_epi32): Ditto.
1652 (_mm512_i64gather_epi64): Ditto.
1653 (_mm512_mask_i64gather_epi64): Ditto.
1654 (_mm512_i32scatter_ps): Change __addr type to void*.
1655 (_mm512_mask_i32scatter_ps): Ditto.
1656 (_mm512_i32scatter_pd): Ditto.
1657 (_mm512_mask_i32scatter_pd): Ditto.
1658 (_mm512_i64scatter_ps): Ditto.
1659 (_mm512_mask_i64scatter_ps): Ditto.
1660 (_mm512_i64scatter_pd): Ditto.
1661 (_mm512_mask_i64scatter_pd): Ditto.
1662 (_mm512_i32scatter_epi32): Ditto.
1663 (_mm512_mask_i32scatter_epi32): Ditto.
1664 (_mm512_i32scatter_epi64): Ditto.
1665 (_mm512_mask_i32scatter_epi64): Ditto.
1666 (_mm512_i64scatter_epi32): Ditto.
1667 (_mm512_mask_i64scatter_epi32): Ditto.
1668 (_mm512_i64scatter_epi64): Ditto.
1669 (_mm512_mask_i64scatter_epi64): Ditto.
1670 * config/i386/avx512pfintrin.h
1671 (_mm512_mask_prefetch_i32gather_pd): Change addr type to void const*.
1672 (_mm512_mask_prefetch_i32gather_ps): Ditto.
1673 (_mm512_mask_prefetch_i64gather_pd): Ditto.
1674 (_mm512_mask_prefetch_i64gather_ps): Ditto.
1675 (_mm512_prefetch_i32scatter_pd): Change addr type to void*.
1676 (_mm512_prefetch_i32scatter_ps): Ditto.
1677 (_mm512_mask_prefetch_i32scatter_pd): Ditto.
1678 (_mm512_mask_prefetch_i32scatter_ps): Ditto.
1679 (_mm512_prefetch_i64scatter_pd): Ditto.
1680 (_mm512_prefetch_i64scatter_ps): Ditto.
1681 (_mm512_mask_prefetch_i64scatter_pd): Ditto.
1682 (_mm512_mask_prefetch_i64scatter_ps): Ditto.
1683 * config/i386/avx512vlintrin.h
1684 (_mm256_mmask_i32gather_ps): Change __addr type to void const*.
1685 (_mm_mmask_i32gather_ps): Ditto.
1686 (_mm256_mmask_i32gather_pd): Ditto.
1687 (_mm_mmask_i32gather_pd): Ditto.
1688 (_mm256_mmask_i64gather_ps): Ditto.
1689 (_mm_mmask_i64gather_ps): Ditto.
1690 (_mm256_mmask_i64gather_pd): Ditto.
1691 (_mm_mmask_i64gather_pd): Ditto.
1692 (_mm256_mmask_i32gather_epi32): Ditto.
1693 (_mm_mmask_i32gather_epi32): Ditto.
1694 (_mm256_mmask_i32gather_epi64): Ditto.
1695 (_mm_mmask_i32gather_epi64): Ditto.
1696 (_mm256_mmask_i64gather_epi32): Ditto.
1697 (_mm_mmask_i64gather_epi32): Ditto.
1698 (_mm256_mmask_i64gather_epi64): Ditto.
1699 (_mm_mmask_i64gather_epi64): Ditto.
1700 (_mm256_i32scatter_ps): Change __addr type to void*.
1701 (_mm256_mask_i32scatter_ps): Ditto.
1702 (_mm_i32scatter_ps): Ditto.
1703 (_mm_mask_i32scatter_ps): Ditto.
1704 (_mm256_i32scatter_pd): Ditto.
1705 (_mm256_mask_i32scatter_pd): Ditto.
1706 (_mm_i32scatter_pd): Ditto.
1707 (_mm_mask_i32scatter_pd): Ditto.
1708 (_mm256_i64scatter_ps): Ditto.
1709 (_mm256_mask_i64scatter_ps): Ditto.
1710 (_mm_i64scatter_ps): Ditto.
1711 (_mm_mask_i64scatter_ps): Ditto.
1712 (_mm256_i64scatter_pd): Ditto.
1713 (_mm256_mask_i64scatter_pd): Ditto.
1714 (_mm_i64scatter_pd): Ditto.
1715 (_mm_mask_i64scatter_pd): Ditto.
1716 (_mm256_i32scatter_epi32): Ditto.
1717 (_mm256_mask_i32scatter_epi32): Ditto.
1718 (_mm_i32scatter_epi32): Ditto.
1719 (_mm_mask_i32scatter_epi32): Ditto.
1720 (_mm256_i32scatter_epi64): Ditto.
1721 (_mm256_mask_i32scatter_epi64): Ditto.
1722 (_mm_i32scatter_epi64): Ditto.
1723 (_mm_mask_i32scatter_epi64): Ditto.
1724 (_mm256_i64scatter_epi32): Ditto.
1725 (_mm256_mask_i64scatter_epi32): Ditto.
1726 (_mm_i64scatter_epi32): Ditto.
1727 (_mm_mask_i64scatter_epi32): Ditto.
1728 (_mm256_i64scatter_epi64): Ditto.
1729 (_mm256_mask_i64scatter_epi64): Ditto.
1730 (_mm_i64scatter_epi64): Ditto.
1731 (_mm_mask_i64scatter_epi64): Ditto.
1732 * config/i386/i386-builtin-types.def (V16SF_V16SF_PCFLOAT_V16SI_HI_INT)
1733 (V8DF_V8DF_PCDOUBLE_V8SI_QI_INT, V8SF_V8SF_PCFLOAT_V8DI_QI_INT)
1734 (V8DF_V8DF_PCDOUBLE_V8DI_QI_INT, V16SI_V16SI_PCINT_V16SI_HI_INT)
1735 (V8DI_V8DI_PCINT64_V8SI_QI_INT, V8SI_V8SI_PCINT_V8DI_QI_INT)
1736 (V8DI_V8DI_PCINT64_V8DI_QI_INT, V2DF_V2DF_PCDOUBLE_V4SI_QI_INT)
1737 (V4DF_V4DF_PCDOUBLE_V4SI_QI_INT, V2DF_V2DF_PCDOUBLE_V2DI_QI_INT)
1738 (V4DF_V4DF_PCDOUBLE_V4DI_QI_INT, V4SF_V4SF_PCFLOAT_V4SI_QI_INT)
1739 (V8SF_V8SF_PCFLOAT_V8SI_QI_INT, V4SF_V4SF_PCFLOAT_V2DI_QI_INT)
1740 (V4SF_V4SF_PCFLOAT_V4DI_QI_INT, V2DI_V2DI_PCINT64_V4SI_QI_INT)
1741 (V4DI_V4DI_PCINT64_V4SI_QI_INT, V2DI_V2DI_PCINT64_V2DI_QI_INT)
1742 (V4DI_V4DI_PCINT64_V4DI_QI_INT, V4SI_V4SI_PCINT_V4SI_QI_INT)
1743 (V8SI_V8SI_PCINT_V8SI_QI_INT, V4SI_V4SI_PCINT_V2DI_QI_INT)
1744 (V4SI_V4SI_PCINT_V4DI_QI_INT, VOID_PFLOAT_HI_V16SI_V16SF_INT)
1745 (VOID_PFLOAT_QI_V8SI_V8SF_INT, VOID_PFLOAT_QI_V4SI_V4SF_INT)
1746 (VOID_PDOUBLE_QI_V8SI_V8DF_INT, VOID_PDOUBLE_QI_V4SI_V4DF_INT)
1747 (VOID_PDOUBLE_QI_V4SI_V2DF_INT, VOID_PFLOAT_QI_V8DI_V8SF_INT)
1748 (VOID_PFLOAT_QI_V4DI_V4SF_INT, VOID_PFLOAT_QI_V2DI_V4SF_INT)
1749 (VOID_PDOUBLE_QI_V8DI_V8DF_INT, VOID_PDOUBLE_QI_V4DI_V4DF_INT)
1750 (VOID_PDOUBLE_QI_V2DI_V2DF_INT, VOID_PINT_HI_V16SI_V16SI_INT)
1751 (VOID_PINT_QI_V8SI_V8SI_INT, VOID_PINT_QI_V4SI_V4SI_INT)
1752 (VOID_PLONGLONG_QI_V8SI_V8DI_INT, VOID_PLONGLONG_QI_V4SI_V4DI_INT)
1753 (VOID_PLONGLONG_QI_V4SI_V2DI_INT, VOID_PINT_QI_V8DI_V8SI_INT)
1754 (VOID_PINT_QI_V4DI_V4SI_INT, VOID_PINT_QI_V2DI_V4SI_INT)
1755 (VOID_PLONGLONG_QI_V8DI_V8DI_INT, VOID_QI_V8SI_PCINT64_INT_INT)
1756 (VOID_PLONGLONG_QI_V4DI_V4DI_INT, VOID_PLONGLONG_QI_V2DI_V2DI_INT)
1757 (VOID_HI_V16SI_PCINT_INT_INT, VOID_QI_V8DI_PCINT64_INT_INT)
1758 (VOID_QI_V8DI_PCINT_INT_INT): Remove.
1759 (V16SF_V16SF_PCVOID_V16SI_HI_INT, V8DF_V8DF_PCVOID_V8SI_QI_INT)
1760 (V8SF_V8SF_PCVOID_V8DI_QI_INT, V8DF_V8DF_PCVOID_V8DI_QI_INT)
1761 (V16SI_V16SI_PCVOID_V16SI_HI_INT, V8DI_V8DI_PCVOID_V8SI_QI_INT)
1762 (V8SI_V8SI_PCVOID_V8DI_QI_INT, V8DI_V8DI_PCVOID_V8DI_QI_INT)
1763 (VOID_PVOID_HI_V16SI_V16SF_INT, VOID_PVOID_QI_V8SI_V8DF_INT)
1764 (VOID_PVOID_QI_V8DI_V8SF_INT, VOID_PVOID_QI_V8DI_V8DF_INT)
1765 (VOID_PVOID_HI_V16SI_V16SI_INT, VOID_PVOID_QI_V8SI_V8DI_INT)
1766 (VOID_PVOID_QI_V8DI_V8SI_INT, VOID_PVOID_QI_V8DI_V8DI_INT)
1767 (V2DF_V2DF_PCVOID_V4SI_QI_INT, V4DF_V4DF_PCVOID_V4SI_QI_INT)
1768 (V2DF_V2DF_PCVOID_V2DI_QI_INT, V4DF_V4DF_PCVOID_V4DI_QI_INT
1769 (V4SF_V4SF_PCVOID_V4SI_QI_INT, V8SF_V8SF_PCVOID_V8SI_QI_INT)
1770 (V4SF_V4SF_PCVOID_V2DI_QI_INT, V4SF_V4SF_PCVOID_V4DI_QI_INT)
1771 (V2DI_V2DI_PCVOID_V4SI_QI_INT, V4DI_V4DI_PCVOID_V4SI_QI_INT)
1772 (V2DI_V2DI_PCVOID_V2DI_QI_INT, V4DI_V4DI_PCVOID_V4DI_QI_INT)
1773 (V4SI_V4SI_PCVOID_V4SI_QI_INT, V8SI_V8SI_PCVOID_V8SI_QI_INT)
1774 (V4SI_V4SI_PCVOID_V2DI_QI_INT, V4SI_V4SI_PCVOID_V4DI_QI_INT)
1775 (VOID_PVOID_QI_V8SI_V8SF_INT, VOID_PVOID_QI_V4SI_V4SF_INT)
1776 (VOID_PVOID_QI_V4SI_V4DF_INT, VOID_PVOID_QI_V4SI_V2DF_INT)
1777 (VOID_PVOID_QI_V4DI_V4SF_INT, VOID_PVOID_QI_V2DI_V4SF_INT)
1778 (VOID_PVOID_QI_V4DI_V4DF_INT, VOID_PVOID_QI_V2DI_V2DF_INT)
1779 (VOID_PVOID_QI_V8SI_V8SI_INT, VOID_PVOID_QI_V4SI_V4SI_INT)
1780 (VOID_PVOID_QI_V4SI_V4DI_INT, VOID_PVOID_QI_V4SI_V2DI_INT)
1781 (VOID_PVOID_QI_V4DI_V4SI_INT, VOID_PVOID_QI_V2DI_V4SI_INT)
1782 (VOID_PVOID_QI_V4DI_V4DI_INT, VOID_PVOID_QI_V2DI_V2DI_INT)
1783 (VOID_QI_V8SI_PCVOID_INT_INT, VOID_HI_V16SI_PCVOID_INT_INT)
1784 (VOID_QI_V8DI_PCVOID_INT_INT): Add.
1785 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Adjust builtin
1786 definitions accordingly.
1788 2017-02-16 Carl Love <cel@us.ibm.com>
1790 Backport from mainline commit r245460 on 2017-02-14
1793 * config/rs6000/rs6000.c: Add case statement entry to make the xvcvuxdsp
1794 built-in argument unsigned.
1795 * config/rs6000/vsx.md: Fix the source and return operand types so they
1796 match the instruction definitions from the ISA document. Fix typo
1797 in the instruction generation for the (define_insn "vsx_xvcvuxdsp"
1800 2017-02-14 Martin Liska <mliska@suse.cz>
1802 Backport from mainline
1803 2016-03-01 Richard Biener <rguenther@suse.de>
1807 * fold-const.c (fold_indirect_ref_1): Fix range checking for
1808 vector BIT_FIELD_REF extract.
1810 2017-02-14 Martin Liska <mliska@suse.cz>
1812 Backport from mainline
1813 2017-02-13 Martin Liska <mliska@suse.cz>
1816 * calls.c (expand_call): Replace XALLOCAVEC with XCNEWVEC.
1818 2017-02-08 Segher Boessenkool <segher@kernel.crashing.org>
1820 PR translation/79397
1821 * config/rs6000/rs6000.opt (maltivec=le, maltivec=be): Fix spelling
1824 2017-02-06 Carl Love <cel@us.ibm.com>
1826 Backport of two commits from mainline, r244943 and r244904,
1827 dated 2017-01-26 and 2017-01-25 respectively
1829 * config/rs6000/rs6000-c (altivec_overloaded_builtins): Fix order
1830 of entries for ALTIVEC_BUILTIN_VEC_PACKS. Remove bogus entries
1831 for P8V_BUILTIN_VEC_VGBBD.
1833 2017-02-03 Maxim Ostapenko <m.ostapenko@samsung.com>
1836 * asan.c (asan_add_global): Force has_dynamic_init to zero in LTO mode.
1838 2017-01-26 Richard Biener <rguenther@suse.de>
1840 Backport from mainline
1841 2016-01-10 Richard Biener <rguenther@suse.de>
1843 PR tree-optimization/79034
1844 * tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
1845 Propagate out degenerate PHIs in the joiner.
1847 2016-11-07 Richard Biener <rguenther@suse.de>
1849 PR tree-optimization/78224
1850 * tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
1851 Split the fallthru edge in case its successor may have PHIs.
1852 Do not free dominance info.
1854 2017-01-26 Richard Biener <rguenther@suse.de>
1856 Backport from mainline
1857 2016-09-27 Richard Biener <rguenther@suse.de>
1859 PR tree-optimization/77745
1860 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
1861 When removing redundant stores make sure to check compatibility
1862 of the TBAA state for downstream accesses.
1863 * tree-ssa-sccvn.c (visit_reference_op_store): Likewise for when
1864 value-numbering virtual operands for store matches.
1866 2016-09-29 Richard Biener <rguenther@suse.de>
1868 PR tree-optimization/77768
1869 * tree-ssa-sccvn.c (visit_reference_op_store): Properly deal
1870 with stores to a place we know has a constant value.
1871 * tree-vrp.c (set_defs_to_varying): New helper avoiding
1872 writing to vr_const_varying.
1873 (vrp_initialize): Call it.
1874 (vrp_visit_stmt): Likewise.
1875 (evrp_dom_walker::before_dom_children): Likewise.
1876 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
1877 Handle stores to readonly memory when removing redundant stores.
1879 2017-01-24 Wilco Dijkstra <wdijkstr@arm.com>
1881 Backport from mainline
1883 * config/arm/neon.md (ashldi3_neon): Add "r 0 i" and "&r r i" variants.
1884 Remove partial overlap check for shift by 1.
1885 (ashldi3_neon): Likewise.
1887 2017-01-24 Richard Biener <rguenther@suse.de>
1889 Backport from mainline
1890 2016-09-20 Richard Biener <rguenther@suse.de>
1892 PR tree-optimization/77646
1893 * tree-ssa-sccvn.c (visit_reference_op_call): Always value-number
1896 2016-11-05 David Edelsohn <dje.gcc@gmail.com>
1897 Richard Biener <rguenther@suse.de>
1901 * ipa-comdats.c (pass_ipa_comdats::gate): Require HAVE_COMDAT_GROUP.
1903 2016-09-21 Richard Biener <rguenther@suse.de>
1905 PR tree-optimization/77648
1906 * tree-ssa-structalias.c (process_constraint): Handle all DEREF
1908 (make_transitive_closure_constraints): Adjust comment.
1909 (make_any_offset_constraints): New function.
1910 (handle_rhs_call): Make sure to first expand a pointer to all
1911 subfields before transitively closing it.
1912 (handle_const_call): Likewise. Properly expand returned
1914 (handle_pure_call): Likewise.
1916 2016-10-07 Richard Biener <rguenther@suse.de>
1918 PR tree-optimization/77879
1919 * tree-ssa-structalias.c (handle_const_call): Properly handle
1921 (handle_pure_call): Likewise.
1923 2017-01-24 Richard Biener <rguenther@suse.de>
1925 Backport from mainline
1926 2016-10-06 Richard Biener <rguenther@suse.de>
1928 PR tree-optimization/77855
1929 * tree-ssa-pre.c (prune_clobbered_mems): Queue exprs to remove
1930 instead of removing the current item while iterating over the set
1933 2016-09-01 Richard Biener <rguenther@suse.de>
1936 * tree-chrec.c (tree_fold_binomial): Use widest_int, properly
1937 check whether the result fits the desired result type.
1939 2016-09-19 Richard Biener <rguenther@suse.de>
1942 * tree-data-ref.c (analyze_subscript_affine_affine): Use the
1943 proper niter to bound the loops.
1945 2016-11-02 Richard Biener <rguenther@suse.de>
1947 PR tree-optimization/78047
1948 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Initialize
1949 fake field at offset zero conservatively regarding to may_have_pointers.
1951 2016-11-02 Richard Biener <rguenther@suse.de>
1954 * loop-invariant.c (find_invariant_insn): Never hoist trapping or
1955 faulting instructions.
1956 * tree-ssa-loop-im.c: Include tree-ssa-loop-niter.h.
1957 (fill_always_executed_in_1): Honor infinite child loops.
1959 2016-11-16 Richard Biener <rguenther@suse.de>
1962 * gimplify.c (gimplify_function_tree): Do not instrument
1963 GNU extern inline functions.
1965 2017-01-23 Martin Liska <mliska@suse.cz>
1967 Backport from mainline
1968 2017-01-20 Martin Liska <mliska@suse.cz>
1971 * tree-profile.c (init_ic_make_global_vars): Do not call
1973 (gimple_init_gcov_profiler): Likewise.
1975 2017-01-21 Gerald Pfeifer <gerald@pfeifer.com>
1977 Backport from mainline
1978 2016-12-29 Gerald Pfeifer <gerald@pfeifer.com>
1980 * doc/extend.texi (Cilk Plus Builtins): cilkplus.org now uses
1982 * doc/passes.texi (Cilk Plus Transformation): Ditto.
1983 * doc/generic.texi (Statements for C++): Ditto, and use @uref.
1985 2017-01-20 Martin Liska <mliska@suse.cz>
1987 Backport from mainline
1988 2017-01-13 Martin Liska <mliska@suse.cz>
1991 * function.c (set_cfun): Add new argument force.
1992 * function.h (set_cfun): Likewise.
1993 * ipa-inline-transform.c (inline_call): Use the function when
1994 strict alising from is dropped for function we inline to.
1996 2017-01-20 Martin Liska <mliska@suse.cz>
1998 Backport from mainline
1999 2016-03-26 Richard Biener <rguenther@suse.de>
2000 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2003 * ipa-inline-transform.c (inline_call): Pass opts_for_fn (to->decl)
2005 TREE_OPTIMIZATION (DECL_FUNCTION_SPECIFIC_OPTIMIZATION (to->decl))
2006 as 2nd argument to cl_optimization_restore().
2008 2017-01-20 Martin Liska <mliska@suse.cz>
2010 Backport from mainline
2011 2015-12-01 Jan Hubicka <hubicka@ucw.cz>
2013 * c-common.c (parse_optimize_options): Do not silently ignore
2014 -fstrict-aliasing changes.
2016 2017-01-20 Martin Liska <mliska@suse.cz>
2018 Backport from mainline
2019 2016-01-01 Jan Hubicka <hubicka@ucw.cz>
2021 * ipa-inline-transform.c (inline_call): Drop
2022 -fstrict-aliasing when inlining -fno-strict-aliasing into
2023 -fstrict-aliasing body.
2025 2017-01-20 Martin Liska <mliska@suse.cz>
2027 Backport from mainline
2028 2017-01-17 Martin Liska <mliska@suse.cz>
2031 * ipa-polymorphic-call.c (contains_type_p): Fix wrong
2032 assumption and add comment.
2034 2017-01-17 Thomas Preud'homme <thomas.preudhomme@arm.com>
2036 Backport from mainline
2037 2016-12-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
2039 PR rtl-optimization/78617
2040 * lra-remat.c (do_remat): Initialize live_hard_regs from live in
2041 registers, also setting hard registers mapped to pseudo registers.
2043 2017-01-11 Christophe Lyon <christophe.lyon@linaro.org>
2045 Backport from mainline r244320.
2046 2017-01-11 Christophe Lyon <christophe.lyon@linaro.org>
2049 * config/arm/arm.c (legitimize_pic_address): Handle reference to
2051 (arm_assemble_integer): Likewise.
2053 2016-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2055 * postreload.c (reload_cse_simplify): Check for NO_FUNCTION_CSE
2056 definition instead of using it directly.
2058 2017-01-12 Maxim Ostapenko <m.ostapenko@samsung.com>
2060 Backport from mainline
2061 2017-01-12 Maxim Ostapenko <m.ostapenko@samsung.com>
2064 * lto-cgraph.c (lto_output_varpool_node): Pack dynamically_initialized
2066 (input_varpool_node): Unpack dynamically_initialized bit.
2067 * lto-streamer.h (LTO_minor_version): Bump version.
2069 2017-01-11 Uros Bizjak <ubizjak@gmail.com>
2071 * config/i386/i386.c (memory_address_length): Increase len
2072 only when rip_relative_addr_p returns false.
2074 2017-01-11 Andre Vieira <andre.simoesdiasvieira@arm.com>
2076 Backport from mainline
2077 2016-12-09 Andre Vieira <andre.simoesdiasvieira@arm.com>
2079 PR rtl-optimization/78255
2080 * gcc/postreload.c (reload_cse_simplify): Do not CSE a function if
2081 NO_FUNCTION_CSE is true.
2083 2017-01-10 Bill Seurer <seurer@linux.vnet.ibm.com>
2085 Backport from mainline
2086 2016-12-21 Bill Seurer <seurer@linux.vnet.ibm.com>
2089 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
2090 -fasynchronous-unwind-tables option when -fsanitize=address is
2093 2017-01-10 Martin Liska <mliska@suse.cz>
2095 Backport from mainline
2096 2017-01-09 Martin Liska <mliska@suse.cz>
2099 * gcc.c (driver_handle_option): Handle OPT_E and set
2101 (lookup_compiler): Do not show error message with have_E.
2103 2017-01-10 Martin Liska <mliska@suse.cz>
2105 Backport from mainline
2106 2017-01-05 Martin Liska <mliska@suse.cz>
2109 * gcc.c (lookup_compiler): Reject '-' filename for a precompiled
2112 2017-01-10 Chung-Ju Wu <jasonwucj@gmail.com>
2114 Backport from mainline
2115 2016-04-28 Segher Boessenkool <segher@kernel.crashing.org>
2118 * config/nds32/nds32.md (casesi): Don't access the operands array
2121 2017-01-09 Andreas Tobler <andreast@gcc.gnu.org>
2123 Backport from mainline
2124 2016-10-10 Andreas Tobler <andreast@gcc.gnu.org>
2126 * config.gcc: Add aarch64-*-freebsd* support.
2127 * config.host: Likewise.
2128 * config/aarch64/aarch64-freebsd.h: New file.
2129 * config/aarch64/t-aarch64-freebsd: Ditto.
2131 2017-01-03 Martin Liska <mliska@suse.cz>
2133 Backport from mainline
2134 2016-12-22 Martin Liska <mliska@suse.cz>
2136 PR tree-optimization/78886
2137 * tree-ssa-strlen.c (handle_builtin_malloc): Return when LHS
2140 2017-01-03 Martin Liska <mliska@suse.cz>
2142 Backport from mainline
2143 2016-12-13 Martin Liska <mliska@suse.cz>
2145 PR tree-optimization/78428
2146 * expr.c (store_constructor_field): Add new arguments to the
2148 (store_constructor): Set up bitregion_end and add
2149 gcc_unreachable to fields that have either non-constant size
2152 2016-12-27 Jakub Jelinek <jakub@redhat.com>
2154 PR translation/78922
2155 * config/i386/stringop.opt: Remove.
2157 2016-12-14 Richard Biener <rguenther@suse.de>
2159 PR tree-optimization/78731
2160 * tree-ssa-threadedge.c (simplify_control_stmt_condition):
2161 If we've seen a backedge to not walk the SSA value chain.
2162 (thread_around_empty_blocks): Pass down whether we've seen
2163 a backedge to simplify_control_stmt_condition.
2164 (thread_through_normal_block): Likewise.
2166 2016-12-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
2168 Backport from mainline
2169 2016-11-25 Thomas Preud'homme <thomas.preudhomme@arm.com>
2171 * tree-ssa-math-opts.c (struct symbolic_number): Improve comment.
2173 2016-12-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
2175 Backport from mainline
2176 2016-11-25 Thomas Preud'homme <thomas.preudhomme@arm.com>
2178 PR tree-optimization/77673
2179 * tree-ssa-math-opts.c (struct symbolic_number): Add new src field.
2180 (init_symbolic_number): Initialize src field from src parameter.
2181 (perform_symbolic_merge): Select most dominated statement as the
2182 source statement. Set src field of resulting n structure from the
2183 input src with the lowest address.
2184 (find_bswap_or_nop): Rename source_stmt into ins_stmt.
2185 (bswap_replace): Rename src_stmt into ins_stmt. Initially get source
2186 of load from src field rather than insertion statement. Cancel
2187 optimization if statement analyzed is not dominated by the insertion
2189 (pass_optimize_bswap::execute): Rename src_stmt to ins_stmt. Compute
2190 dominance information.
2192 2016-12-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
2194 Backport from mainline
2195 2016-11-17 Thomas Preud'homme <thomas.preudhomme@arm.com>
2198 * config/arm/arm.c (thumb1_expand_prologue): Distinguish between lr
2199 being live in the function and lr needing to be saved. Distinguish
2200 between already saved pushable registers and registers to push.
2201 Check for LR being an available pushable register.
2203 2016-12-12 Bernd Schmidt <bschmidt@redhat.com>
2205 Backport from mainline
2206 2016-11-07 Bernd Schmidt <bschmidt@redhat.com>
2208 PR rtl-optimization/77309
2209 * combine.c (make_compound_operation): Allow EQ for IN_CODE, and
2210 don't assume an equality comparison for plain COMPARE.
2211 (simplify_comparison): Pass a more accurate code to
2212 make_compound_operation.
2214 2016-12-07 Segher Boessenkool <segher@kernel.crashing.org>
2216 Backport from mainline
2217 2016-11-12 Segher Boessenkool <segher@kernel.crashing.org>
2220 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
2221 return early if !optional_tbtab.
2223 2016-12-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
2225 Backport from mainline
2226 2016-11-16 Thomas Preud'homme <thomas.preudhomme@arm.com>
2228 * config/arm/arm.md (arm_addsi3): Add alternative for addition of
2229 general register with general register or ARM constant into SP
2232 2016-12-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2234 Backport from mainline
2235 2016-12-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2236 Stefan Freudenberger <stefan@reservoir.com>
2238 PR tree-optimization/78646
2239 * gimple-ssa-strength-reduction.c (replace_ref): The pointer
2240 addition used for the memory base expression should have the type
2243 2016-12-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2245 Backport from mainline
2246 2016-10-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2248 PR rtl-optimization/78038
2249 * ree.c (get_defs): Return NULL if a defining insn for REG cannot
2250 be deduced to set REG through the RTL structure.
2251 (make_defs_and_copies_lists): Return false on a failing get_defs call.
2253 2016-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2255 Backport from mainline
2256 2016-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2258 * config/s390/s390-modes.def (CCVEQANY, CCVH, CCVHANY, CCVHU)
2259 (CCVHUANY): Remove modes.
2260 (CCVIH, CCVIHU, CCVIALL, CCVIANY, CCVFALL, CCVFANY): Add modes and
2262 * config/s390/s390.c (s390_match_ccmode_set): Rename cc modes.
2263 (s390_expand_vec_compare_scalar): Pick one of the cc consumer
2265 (s390_branch_condition_mask): Adjust to use the new cc consumer
2266 modes. The new modes allow for proper reversal in the middle-end.
2267 (s390_expand_vec_compare_cc): Determine the proper cc producer and
2268 consumer modes for a comparison.
2269 * config/s390/s390.md: Rename CCVH to CCVIH and CCVHU to CCVIHU
2270 throughout the file.
2271 * config/s390/vx-builtins.md: Likewise.
2273 2016-12-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2275 Backport from mainline
2276 2016-12-01 Alan Modra <amodra@gmail.com>
2278 * gcc/config/rs6000/rs6000.c (insn_is_swappable_p): Properly
2279 look inside UNSPEC_VSX_XXSPLTW vec.
2281 2016-11-29 Kaz Kojima <kkojima@gcc.gnu.org>
2283 Backported from mainline
2284 2016-11-19 Kaz Kojima <kkojima@gcc.gnu.org>
2287 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Use copy_to_mode_reg
2288 instead of force_reg.
2289 (sh_expand_setmem): Likewise.
2291 2016-11-24 Martin Liska <mliska@suse.cz>
2292 Backported from mainline
2293 2016-11-22 Martin Liska <mliska@suse.cz>
2296 * ipa-icf.c (void sem_item::set_hash): Update m_hash_set.
2297 (sem_function::get_hash): Use the new field.
2298 (sem_function::parse): Remove an argument from ctor.
2299 (sem_variable::parse): Likewise.
2300 (sem_variable::get_hash): Use the new field.
2301 (sem_item_optimizer::read_section): Use new ctor and set hash.
2302 * ipa-icf.h: _hash is removed from sem_item::sem_item,
2303 sem_variable::sem_variable, sem_function::sem_function.
2305 2016-11-23 Uros Bizjak <ubizjak@gmail.com>
2307 * config/i386/i386.md (*<any_or:code>hi_1): Fix operand 2 constraints.
2308 (kxnor<mode>): Return "#" for alternative 0.
2310 2016-11-22 Uros Bizjak <ubizjak@gmail.com>
2312 * Makefile.in ($(lang_checks_parallelized)): Fix detection
2315 2016-11-15 Matthias Klose <doko@ubuntu.com>
2317 * doc/install.texi: Move the 'Overriding configure test results'
2318 subsub section to the 'Cross-Compiler-Specific Options' sub section.
2320 2016-11-11 Uros Bizjak <ubizjak@gmail.com>
2323 * config/i386/i386.md (rotate to rotatex splitter): Avoid overflow
2324 when calculating operand 2.
2325 (rotate to rotatex zext splitter): Ditto.
2327 2016-11-09 Uros Bizjak <ubizjak@gmail.com>
2330 * config/i386/i386.md (*<shift_insn><mode>3_doubleword): Mark
2331 operand 0 as earlyclobber.
2332 (*ashl<mode>3_doubleword): Ditto for all operand 0 alternatives.
2334 2016-11-06 Jack Howarth <howarth.at.gcc@gmail.com>
2337 * incpath.c: (remove_dup(): Also silently ignore EPERM.
2339 2016-11-03 Martin Liska <mliska@suse.cz>
2341 Backport from mainline
2342 2016-08-12 Martin Liska <mliska@suse.cz>
2343 Adam Fineman <afineman@afineman.com>
2345 * gcov.c (process_file): Create .gcov file when .gcda
2348 2016-11-03 Eric Botcazou <ebotcazou@adacore.com>
2350 Backport from mainline
2351 2016-10-17 Eric Botcazou <ebotcazou@adacore.com>
2353 * explow.c (validize_mem): Do not modify the argument in-place.
2355 2016-11-02 Will Schmidt <will_schmidt@vnet.ibm.com>
2358 2016-10-26 Will Schmidt <will_schmidt@vnet.ibm.com>
2361 * gimplify.c (gimplify_init_constructor): Move emit of constructor
2362 assignment to earlier in the if/else logic.
2364 2016-10-29 John David Anglin <danglin@gcc.gnu.org>
2366 * config/pa/pa.h (BIGGEST_ALIGNMENT): Adjust comment.
2367 (MALLOC_ABI_ALIGNMENT): Define.
2369 2016-10-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2371 Backport from mainline
2372 2016-10-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2374 PR tree-optimization/77916
2375 * gimple-ssa-strength-reduction.c (create_add_on_incoming_edge):
2376 Don't allow a MINUS_EXPR for pointer arithmetic for either known
2378 (record_increment): Increments of -1 for unknown strides just use
2379 a multiply initializer like other negative values.
2380 (analyze_increments): Remove stopgap solution for -1 increment
2381 applied to pointer arithmetic.
2382 (insert_initializers): Requirement of initializer for -1 should be
2383 based on pointer-typedness of the candidate basis.
2385 2016-10-19 Uros Bizjak <ubizjak@gmail.com>
2388 * config/i386/i386.c (legitimize_tls_address)
2389 <case TLS_MODEL_INITIAL_EXEC>: For TARGET_64BIT || TARGET_ANY_GNU_TLS
2390 convert dest to Pmode if different than Pmode.
2392 2016-10-18 Kugan Vivekanandarajah <kuganv@linaro.org>
2394 Backport from mainline
2395 2016-10-11 Kugan Vivekanandarajah <kuganv@linaro.org>
2397 * tree-vrp.c (vrp_intersect_ranges_1): Allocate bitmap before
2400 2016-10-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2402 Backport from mainline
2403 2016-10-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2405 PR tree-optimization/77937
2406 * gimple-ssa-strength-reduction.c (analyze_increments): Use
2407 POINTER_TYPE_P on the candidate type to determine whether
2408 candidates in this chain require pointer arithmetic.
2410 2016-10-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2412 PR tree-optimization/77937
2413 * gimple-ssa-strength-reduction.c (analyze_increments): Set cost
2414 to infinite when we have a pointer with an increment of -1.
2416 2016-10-17 Martin Liska <mliska@suse.cz>
2418 Backported from mainline
2419 2016-10-13 Martin Liska <mliska@suse.cz>
2421 PR tree-optimization/77943
2422 * tree-ssa-tail-merge.c (merge_stmts_p): Do not merge BBs with
2423 a different EH landing pads.
2425 2016-10-16 Eric Botcazou <ebotcazou@adacore.com>
2427 * config/sparc/sparc.c (sparc_expand_vector_init): Only accept literal
2428 constants in CONST_VECTORs.
2430 2016-10-15 Eric Botcazou <ebotcazou@adacore.com>
2432 * config/sparc/sparc.c (sparc_expand_vec_perm_bmask): Use a scratch
2433 register as destination of bmask.
2434 (vector_init_bshuffle): Likewise.
2435 * config/sparc/sparc.md (vec_perm_constv8qi): Likewise.
2436 (bmaskdi_vis): Enable only in 64-bit mode.
2438 2016-10-13 Andrew Senkevich <andrew.senkevich@intel.com>
2441 * common/config/i386/i386-common.c (OPTION_MASK_ISA_PCOMMIT_UNSET,
2442 OPTION_MASK_ISA_PCOMMIT_SET): Deleted definitions.
2443 (ix86_handle_option): Deleted handle of OPT_mpcommit.
2444 * config.gcc: Deleted pcommitintrin.h
2445 * config/i386/pcommitintrin.h: Deleted file.
2446 * config/i386/cpuid.h (bit_PCOMMIT): Deleted.
2447 * config/i386/driver-i386.c (host_detect_local_cpu): Deleted pcommit
2449 * config/i386/i386-c.c (ix86_target_macros_internal): Deleted define
2451 * config/i386/i386.c (ix86_target_string): Deleted -mpcommit.
2452 (PTA_PCOMMIT, IX86_BUILTIN_PCOMMIT, __builtin_ia32_pcommit): Deleted.
2453 (ix86_option_override_internal): Deleted handle of option.
2454 (ix86_valid_target_attribute_inner_p): Deleted pcommit.
2455 * config/i386/i386.h (TARGET_PCOMMIT, TARGET_PCOMMIT_P): Deleted.
2456 * config/i386/i386.md (unspecv): Deleted UNSPECV_PCOMMIT.
2457 (pcommit): Deleted instruction.
2458 * config/i386/i386.opt: Mention -mpcommit deprecation.
2459 * config/i386/x86intrin.h: Deleted inclusion of pcommitintrin.h.
2461 2016-10-10 Georg-Johann Lay <avr@gjlay.de>
2463 * config/avr/gen-avr-mmcu-texi.c (string.h): Include.
2465 2016-10-06 Uros Bizjak <ubizjak@gmail.com>
2468 * config/i386/sse.md (<mask_codefor><code><mode>3<mask_name>):
2469 Remove wrong assert.
2470 (<floatsuffix>float<sseintvecmodelower><mode>2<mask_name><round_name>:
2471 Use <round_constraint> as operand 1 constraint.
2473 2016-09-28 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2474 Alan Modra <amodra@gmail.com>
2476 Backport from mainline
2477 2016-07-01 Alan Modra <amodra@gmail.com>
2479 PR rtl-optimization/71709
2480 * ira-lives.c (find_call_crossed_cheap_reg): Exit loop on arg reg
2481 being set, not referenced.
2483 2016-09-27 David Edelsohn <dje.gcc@gmail.com>
2485 Backport from mainline
2486 2016-09-27 David Edelsohn <dje.gcc@gmail.com>
2488 * config/rs6000/rs6000.c (rs6000_output_symbol): Don't modify
2491 2016-09-27 Richard Biener <rguenther@suse.de>
2493 PR tree-optimization/77478
2494 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop):
2495 Fix alignment of SSA var used before the alignment prologue.
2497 2016-09-27 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2499 Backport from trunk r227496
2502 * config/avr/avr.c (avr_eval_addr_attrib): Look for io_low
2505 2016-09-22 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2507 Backport from 2016-09-22 trunk r240388.
2509 * config/avr/avr.c (avr_rtx_costs_1): Handle DImode MULT.
2510 (avr_address_cost): Replace 61 with MAX_LD_OFFSET(mode).
2512 2016-09-21 Segher Boessenkool <segher@kernel.crashing.org>
2514 * doc/rtl.texi (JUMP_LABEL): Document RETURN and SIMPLE_RETURN values.
2516 2016-09-21 Georg-Johann Lay <avr@gjlay.de>
2518 Backport from 2016-09-21 trunk r240306.
2521 * config/avr/avr.c (hard-reg-set.h): Move #include up in front
2522 of rtl.h to that HARD_CONST is defined in rtl.h.
2523 (avr_notice_update_cc) [CC_NONE]: If insn touches some regs
2524 mentioned in cc_status, do CC_STATUS_INIT.
2526 2016-09-16 Jonathan Wakely <jwakely@redhat.com>
2528 * doc/extend.texi (Integer Overflow Builtins): Fix type of out
2529 parameters for functions taking long long arguments.
2531 2016-08-31 Jakub Sejdak <jakub.sejdak@phoesys.com>
2533 * config.gcc: Add support for arm*-*-phoenix* targets.
2534 * config/arm/t-phoenix: New.
2535 * config/phoenix.h: New.
2537 2016-08-29 Uros Bizjak <ubizjak@gmail.com>
2540 * config/i386/sse.md (vec_set_lo_<mode><mask_name>): Fix assembler
2541 template for intel asm dialect.
2542 (vec_set_hi_<mode><mask_name>): Ditto.
2544 2016-08-29 Eric Botcazou <ebotcazou@adacore.com>
2546 * Makefile.in (gcov-iov.h): Add dummy recipe.
2548 2016-08-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2550 Backport from mainline
2551 2016-04-20 Andrew Pinski <apinski@cavium.com>
2552 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2555 * config/aarch64/aarch64.md (sibcall): Force call
2556 address to be DImode for ILP32.
2557 (sibcall_value): Likewise.
2559 2016-08-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2561 Backport from mainline (minus test for POWER9 support)
2562 2016-08-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2565 * vsx.md (vsx_load_<mode>): For P8LE, emit swaps at expand time.
2566 (vsx_store_<mode>): Likewise.
2568 2016-08-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2570 Backport from mainline
2571 2016-07-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2574 * expr.c (store_constructor): Mask sign-extended bits when widening
2575 sub-word constructor element at the start of a word.
2577 2016-08-22 Uros Bizjak <ubizjak@gmail.com>
2579 Backport from mainline
2580 2016-08-14 Uros Bizjak <ubizjak@gmail.com>
2583 * config/i386/avx512fintrin.h (_mm512_undefined_epi32):
2584 Renamed from _mm512_undefined_si512.
2585 (_mm_undefined_si512): New definition.
2587 Backport from mainline:
2588 2016-08-09 David Wohlferd <dw@LimeGreenSocks.com>
2590 * config/i3836/avx512fintrin.h (_mm512_cvtsepi64_epi32): Remove
2591 unused variable __O.
2593 Backport from mainline:
2594 2016-08-09 Uros Bizjak <ubizjak@gmail.com>
2597 * config/i386/i386.md (*movtf_internal): Use
2598 lra_in_progress || reload_completed instead of !can_create_pseudo_p
2599 in the insn constraint.
2600 (*movxf_internal): Ditto.
2601 (*movdf_internal): Ditto.
2602 (*movsf_internal): Ditto.
2604 2016-08-18 Oleg Endo <olegendo@gcc.gnu.org>
2606 Backport from mainline
2607 2016-06-17 DJ Delorie <dj@redhat.com>
2610 * config/rl78/rl78-expand.c (umulqihi3): Enable for G10.
2611 * config/rl78/rl78-virtual.c (umulhi3_shift_virt): Likewise.
2612 (umulqihi3_virt): Likewise.
2613 * config/rl78/rl78-real.c (umulhi3_shift_real): Likewise.
2614 (umulqihi3_real): Likewise.
2616 2016-08-16 Eric Botcazou <ebotcazou@adacore.com>
2618 * doc/install.texi (*-*-solaris2*): Adjust latest change.
2620 2016-08-15 Martin Liska <mliska@suse.cz>
2622 Backported from mainline
2623 2016-08-15 Martin Liska <mliska@suse.cz>
2626 * gcc.c (do_spec_1): Call save_string with the right size.
2627 (save_string): Do an assert about string we copy.
2629 2016-08-15 Eric Botcazou <ebotcazou@adacore.com>
2631 * doc/install.texi (*-*-solaris2*): Fix version number and document
2632 requirement on GNU make for building libjava with the Solaris linker.
2634 2016-08-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
2636 Backport from mainline
2637 2016-08-11 Bernd Edlinger <bernd.edlinger@hotmail.de>
2639 PR tree-optimization/71083
2640 * tree-predcom.c (ref_at_iteration): Correctly align the
2643 2016-08-08 Georg-Johann Lay <avr@gjlay.de>
2645 Backport from 2016-07-29 trunk r238863.
2647 PR rtl-optimization/71976
2648 * combine.c (get_last_value): Return 0 if the argument for which
2649 the function is called has a wider mode than the recorded value.
2651 2016-08-04 Uros Bizjak <ubizjak@gmail.com>
2654 * config/i386/avx512fintrin.h (_mm512_cmp_epi32_mask) [!__OPTIMIZE__]:
2655 Cast builtin function result to __mmask16 instead of __mmask8.
2656 (_mm512_cmp_epu32_mask) [!__OPTIMIZE__]: Ditto.
2657 (_mm512_mask_cmp_epi32_mask) [!__OPTIMIZE__]: Ditto.
2658 (_mm512_mask_cmp_epu32_mask) [!__OPTIMIZE__]: Ditto.
2660 2016-08-01 Georg-Johann Lay <avr@gjlay.de>
2662 Backport from 2016-08-01 trunk r238948.
2665 * config/avr/avr.md (length) [branch]: Correct insn length
2666 attribute for forward branches.
2668 2016-07-29 Marek Polacek <polacek@redhat.com>
2670 Backport from mainline
2671 2016-07-29 Marek Polacek <polacek@redhat.com>
2674 * config/rs6000/rs6000.c (altivec_expand_ld_builtin): Add break.
2675 (altivec_expand_st_builtin): Likewise.
2676 * config/i386/i386.c (ix86_expand_args_builtin): Likewise.
2677 (ix86_expand_round_builtin): Likewise.
2679 2016-07-27 Segher Boessenkool <segher@kernel.crashing.org>
2682 * config/rs6000/rs6000.c (rs6000_file_start): Fix condition for
2683 when to emit a ".machine" pseudo-op.
2685 2016-07-26 Alan Modra <amodra@gmail.com>
2688 * config/rs6000/rs6000.c (rs6000_secondary_reload): Initialize
2691 2016-07-20 Martin Jambor <mjambor@suse.cz>
2694 * trans-decl.c (gfc_generate_function_code): Use get_create rather
2695 than create to get a call graph node.
2697 2016-07-19 Jakub Jelinek <jakub@redhat.com>
2700 * gimple-fold.c (fold_builtin_memory_op): Use
2701 get_addr_base_and_unit_offset instead of get_ref_base_and_extent.
2703 2016-07-19 Martin Liska <mliska@suse.cz>
2705 Backported from mainline
2706 2016-03-15 Richard Henderson <rth@redhat.com>
2708 * line-map.c (new_linemap): Make alloc_size a size_t.
2710 2016-07-19 Jakub Jelinek <jakub@redhat.com>
2712 Backported from mainline
2713 2016-07-11 Jakub Jelinek <jakub@redhat.com>
2716 * omp-low.c (expand_omp_target): Gimplify device.
2718 2016-07-18 Martin Liska <mliska@suse.cz>
2720 Backported from mainline
2721 2016-07-12 Martin Liska <mliska@suse.cz>
2723 PR rtl-optimization/71634
2724 * ira-build.c (mark_loops_for_removal): Properly iterate
2727 2016-07-12 Segher Boessenkool <segher@kernel.crashing.org>
2729 Backport from mainline
2730 2016-07-06 Segher Boessenkool <segher@kernel.crashing.org>
2734 * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
2735 *ctr<mode>_internal5, *ctr<mode>_internal6): Add *wi to the output
2738 2016-07-08 Martin Liska <mliska@suse.cz>
2740 Backported from mainline
2741 2016-07-08 Martin Liska <mliska@suse.cz>
2744 * fold-const.c (fold_convertible_p): As COMPLEX_TYPE
2745 folding produces SAVE_EXPRs, thus return false for the type.
2747 2016-07-07 Jakub Jelinek <jakub@redhat.com>
2749 Backported from mainline
2750 2016-06-28 Jakub Jelinek <jakub@redhat.com>
2753 * config/i386/i386.c (ix86_expand_vector_move): For SUBREG of
2754 a constant, force its SUBREG_REG into memory or register instead
2757 2016-06-21 Jakub Jelinek <jakub@redhat.com>
2759 PR tree-optimization/71588
2760 * tree-ssa-strlen.c (valid_builtin_call): New function.
2761 (adjust_last_stmt, handle_builtin_memset, strlen_optimize_stmt): Use
2764 2016-06-20 Jakub Jelinek <jakub@redhat.com>
2767 * tree-ssa-uninit.c (warn_uninit): If EXPR and VAR are NULL,
2768 see if T isn't anonymous SSA_NAME with COMPLEX_EXPR created
2769 for conversion of scalar user var to complex type and use the
2770 underlying SSA_NAME_VAR in that case. If EXPR is still NULL,
2773 2016-06-10 Jakub Jelinek <jakub@redhat.com>
2776 * tree-nested.c (convert_nonlocal_reference_stmt): For GIMPLE_GOTO
2777 without LABEL_DECL, set *handled_ops_p to false instead of true.
2779 2016-04-13 Jakub Jelinek <jakub@redhat.com>
2782 * ipa-pure-const.c (pass_nothrow::execute): Call maybe_clean_eh_stmt
2783 on all recursive call stmts. Return TODO_cleanup_cfg if any dead
2784 eh edges have been purged.
2787 * gimplify.c (gimplify_init_constructor): Clear TREE_STATIC if
2788 gimplification turns some element into non-constant.
2790 2016-04-13 Jakub Jelinek <jakub@redhat.com>
2793 * explow.c (convert_memory_address_addr_space_1): Formatting fix.
2796 * rtl.h (convert_memory_address_addr_space_1): New prototype.
2797 * explow.c (convert_memory_address_addr_space_1): No longer static,
2798 add NO_EMIT argument and don't call convert_modes if true, pass
2799 it down recursively, remove break after return.
2800 (convert_memory_address_addr_space): Adjust caller.
2801 * simplify-rtx.c (simplify_unary_operation_1): Call
2802 convert_memory_address_addr_space_1 instead of convert_memory_address,
2803 if it returns NULL, don't simplify.
2805 2016-04-08 Jakub Jelinek <jakub@redhat.com>
2807 PR rtl-optimization/70574
2808 * fwprop.c (forward_propagate_and_simplify): Don't add
2809 REG_EQUAL note if DF_REF_REG (use) is a paradoxical subreg.
2810 (try_fwprop_subst): Don't add REG_EQUAL note if there are any
2811 paradoxical subregs within *loc.
2813 2016-04-05 Jakub Jelinek <jakub@redhat.com>
2816 * match.pd (nested int casts): Limit to GIMPLE.
2818 2016-07-07 Richard Biener <rguenther@suse.de>
2820 Backport from mainline
2821 2016-06-07 Richard Biener <rguenther@suse.de>
2824 * match.pd ((X | ~Y) -> Y <= X): Properly invert the comparison
2827 2016-06-08 Richard Biener <rguenther@suse.de>
2829 PR tree-optimization/71452
2830 * tree-ssa.c (non_rewritable_lvalue_p): Make sure that the
2831 type used for the SSA rewrite has enough precision to cover
2832 the dynamic type of the location.
2834 2016-06-14 Richard Biener <rguenther@suse.de>
2836 PR tree-optimization/71522
2837 * tree-ssa.c (non_rewritable_lvalue_p): Do not rewrite non-float
2838 copying into float copying.
2840 2016-07-01 Eric Botcazou <ebotcazou@adacore.com>
2842 * config/arm/arm.c (arm_function_ok_for_sibcall): Add another check
2845 2016-06-30 Jakub Jelinek <jakub@redhat.com>
2848 * fold-const.c (fold_binary_loc) <case RROTATE_EXPR>: Cast
2849 TREE_OPERAND (arg0, 0) and TREE_OPERAND (arg0, 1) to type
2850 first when permuting bitwise operation with rotate. Cast
2851 TREE_OPERAND (arg0, 0) to type when cancelling two rotations.
2853 2016-06-21 Georg-Johann Lay <avr@gjlay.de>
2855 Backport from 2016-06-21 trunk r237639.
2858 * config/avr/gen-avr-mmcu-specs.c (print_mcu):
2859 [*link_data_start]: Wrap -Tdata into %{!Tdata:...}.
2860 [*link_text_start]: Wrap -Ttext into %{!Ttext:...}.
2862 2016-06-21 Georg-Johann Lay <avr@gjlay.de>
2865 * config/avr/avr.md (movqi): Only handle loading subreg:qi of
2866 constant addresses if can_create_pseudo_p.
2868 2016-06-20 Georg-Johann Lay <avr@gjlay.de>
2869 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
2871 Backport from 2016-06-20 trunk r237589, r236558.
2874 * config/avr/avr.md (movqi): Handle loading subreg:qi (const,
2875 symbol_ref,label_ref).
2877 2016-06-16 Jakub Jelinek <jakub@redhat.com>
2880 * config/i386/i386.md (setcc + movzbl peephole2): Use reg_set_p.
2881 (setcc + and peephole2): Likewise.
2883 Backported from mainline
2884 2015-04-29 Uros Bizjak <ubizjak@gmail.com>
2886 * config/i386/i386.md (setcc+movzbl peephole2): Check also clobbered
2888 (setcc+andl peephole2): Ditto.
2890 2016-06-15 Andreas Tobler <andreast@gcc.gnu.org>
2892 Backported from mainline
2893 2016-06-14 Andreas Tobler <andreast@gcc.gnu.org>
2895 * config/arm/freebsd.h: Only enable unaligned access for armv6 on
2896 FreeBSD 11 and above.
2898 2016-06-13 Richard Biener <rguenther@suse.de>
2900 PR tree-optimization/71505
2901 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Make
2902 assert match comment.
2904 2016-06-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2906 Backport from mainline
2907 2016-06-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2910 * config/s390/s390.c (s390_expand_builtin): Increase MAX_ARGS by
2913 2016-06-07 Peter Bergner <bergner@vnet.ibm.com>
2915 Backport from mainline
2916 2016-06-07 Peter Bergner <bergner@vnet.ibm.com>
2918 * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mhtm and
2921 2016-06-07 Uros Bizjak <ubizjak@gmail.com>
2924 * config/i386/i386.c (ix86_avx256_split_vector_move_misalign):
2925 Copy op1 RTX to avoid invalid sharing.
2926 (ix86_expand_vector_move_misalign): Ditto.
2928 2016-06-05 Uros Bizjak <ubizjak@gmail.com>
2930 Backport from mainline
2931 2016-06-01 Uros Bizjak <ubizjak@gmail.com>
2932 Jocelyn Mayer <l_indien@magic.fr>
2935 * config/i386/driver-i386.c (host_detect_local_cpu): Correctly
2936 detect processor family for signature_CENTAUR_ebx.
2937 <case PROCESSOR_I486>: Pass c3, winchip2 or winchip-c6 for
2938 signature_CENTAUR_ebx.
2939 <case PROCESSOR _PENTIUMPRO>: Pass c3-2 for signature_CENTAUR_ebx.
2940 <default>: Pass x86-64 for has_longmode.
2942 2016-06-03 Andreas Tobler <andreast@gcc.gnu.org>
2944 Backport from mainline
2945 2016-05-30 Andreas Tobler <andreast@gcc.gnu.org>
2947 * config.gcc: Move hard float support for arm*hf*-*-freebsd* into
2948 armv6*-*-freebsd* for FreeBSD 11. Eliminate the arm*hf*-*-freebsd*
2951 2016-06-03 Richard Biener <rguenther@suse.de>
2953 * BASE-VER: Set to 5.4.1.
2955 2016-06-03 Release Manager
2957 * GCC 5.4.0 released.
2959 2016-05-31 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2962 * config/aarch64/aarch64-simd.md (*aarch64_simd_bsl<mode>_alt):
2964 (aarch64_simd_bsl<mode>_internal): Update comment to reflect
2967 2016-05-25 Jakub Jelinek <jakub@redhat.com>
2969 * config/i386/i386.h (TARGET_AVOID_4BYTE_PREFIXES): Define.
2970 * config/i386/constraints.md (Yr): Test TARGET_AVOID_4BYTE_PREFIXES
2971 rather than X86_TUNE_AVOID_4BYTE_PREFIXES. Use SSE_REGS instead
2972 of ALL_SSE_REGS. Return SSE_REGS also when TARGET_AVX.
2974 2016-05-23 Richard Biener <rguenther@suse.de>
2976 Backport from mainline
2977 2016-02-11 Alexandre Oliva <aoliva@redhat.com>
2980 * regstat.c (regstat_bb_compute_calls_crossed): Disregard
2983 2015-10-30 Richard Biener <rguenther@suse.de>
2986 * fold-const.c (extract_muldiv_1): Avoid introducing undefined
2989 2016-03-24 Richard Henderson <rth@redhat.com>
2992 * fold-const.c (extract_muldiv_1): Correct test for multiplication
2995 2016-05-23 Richard Biener <rguenther@suse.de>
2997 Backport from mainline
2998 2015-12-11 Segher Boessenkool <segher@kernel.crashing.org>
3000 PR rtl-optimization/68814
3001 * rtlanal.c (set_noop_p): Use BITS_BIG_ENDIAN instead of
3004 2016-01-12 Jan Hubicka <hubicka@ucw.cz>
3007 * lto-partition.c (rename_statics): Fix pasto.
3009 2016-01-13 Jan Hubicka <hubicka@ucw.cz>
3012 * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
3013 use block_ultimate_origin
3014 (noncall-stmt_may_be_vtbl_ptr_store): Likewise.
3016 2016-01-21 Roman Zhuykov <zhroma@ispras.ru>
3019 * modulo-sched.c (optimize_sc): Allow branch-scheduling to add a new
3022 2016-05-21 Iain Sandoe <iain@codesourcery.com>
3023 Dominique d'Humieres <dominiq@lps.ens.fr>
3025 Backport from mainline
3026 2015-12-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3029 * configure.ac (gcc_cv_as_stabs_directive): New test.
3030 * configure: Regenerate.
3031 * config.in: Regenerate.
3032 * config/darwin.h (DBX_DEBUGGING_INFO): Wrap in
3033 HAVE_AS_STABS_DIRECTIVE.
3034 (PREFERRED_DEBUGGING_TYPE): Likewise.
3035 * config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Only include
3036 DBX_DEBUG if HAVE_AS_STABS_DIRECTIVE.
3038 * doc/sourcebuild.texi (Effective-Target Keywords, Environment
3039 attributes): Document stabs.
3041 2016-05-21 Chung-Lin Tang <cltang@codesourcery.com>
3043 Backport from mainline
3044 2015-06-29 Sandra Loosemore <sandra@codesourcery.com>
3046 * config/nios2/nios2.c (nios2_delegitimize_address): Make
3047 assert less restrictive.
3049 2016-05-20 Eric Botcazou <ebotcazou@adacore.com>
3051 * config/arm/arm.c (arm_expand_prologue): Set the stack usage to 0
3052 for naked functions.
3053 (thumb1_expand_prologue): Likewise.
3055 2016-05-20 Uros Bizjak <ubizjak@gmail.com>
3057 * sched-deps.c (sched_analyze_2) <case TRAP_IF>: Also
3058 force pending loads from memory.
3060 2016-05-20 Richard Biener <rguenther@suse.de>
3062 Backport from mainline
3063 2016-03-02 Richard Biener <rguenther@suse.de>
3066 * tree-cfg.c (verify_expr): Adjust BIT_FIELD_REF case.
3068 2016-03-02 Richard Biener <rguenther@suse.de>
3069 Uros Bizjak <ubizjak@gmail.com>
3072 * config/i386/i386.c (type_natural_mode): Handle XFmode vectors.
3074 2016-05-20 Richard Biener <rguenther@suse.de>
3076 Backport from mainline
3077 2016-02-29 Richard Biener <rguenther@suse.de>
3079 PR tree-optimization/69720
3080 * tree-vect-loop.c (get_initial_def_for_reduction): Avoid
3081 the adjustment_def path for possibly vectorized defs.
3082 (vect_create_epilog_for_reduction): Handle vectorized initial
3085 2016-05-20 Richard Biener <rguenther@suse.de>
3087 Backport from mainline
3088 2016-02-01 Bin Cheng <bin.cheng@arm.com>
3090 PR tree-optimization/67921
3091 * fold-const.c (split_tree): New parameters. Convert pointer
3092 type variable part to proper type before negating.
3093 (fold_binary_loc): Pass new arguments to split_tree.
3095 2016-05-06 Richard Biener <rguenther@suse.de>
3098 * fold-const.c (split_tree): Always convert to the original type
3101 2016-05-06 Richard Biener <rguenther@suse.de>
3104 * dwarf2out.c (native_encode_initializer): Skip zero-sized fields.
3106 2016-04-14 Richard Biener <rguenther@suse.de>
3108 PR tree-optimization/70623
3109 * tree-ssa-pre.c (changed_blocks): Make global ...
3110 (compute_antic): ... local here. Move and fix worklist
3111 handling here. Do not clear EDGE_DFS_BACK.
3112 (compute_antic_aux): Add dumping for MAX assumed succs. Remove
3113 worklist handling, dump when ANTIC_IN changed.
3114 (compute_partial_antic_aux): Remove worklist handling.
3115 (init_pre): Do not compute post dominators. Add a comment about
3116 the CFG order chosen.
3117 (fini_pre): Do not free post dominators.
3119 2016-04-25 Richard Biener <rguenther@suse.de>
3121 PR tree-optimization/70780
3122 * tree-ssa-pre.c (compute_antic_aux): Also return true if the block
3124 (compute_antic): Mark blocks with abnormal preds as visited as
3125 they have a final empty antic-in solution already.
3127 2016-05-19 Martin Jambor <mjambor@suse.cz>
3130 * ipa-prop.c (determine_locally_known_aggregate_parts): Bail out early
3131 if parameter PARAM_IPA_MAX_AGG_ITEMS is zero.
3133 2016-05-19 Martin Jambor <mjambor@suse.cz>
3136 * ipa-inline.h (condition): New field size.
3137 * ipa-inline-analysis.c (add_condition): New parameter SIZE, use it
3138 for comaprison and store it into the new condition.
3139 (evaluate_conditions_for_known_args): Use condition size to check
3140 access sizes for all but CHANGED conditions.
3141 (unmodified_parm_1): New parameter size_p, store access size into it.
3142 (unmodified_parm): Likewise.
3143 (unmodified_parm_or_parm_agg_item): Likewise.
3144 (eliminated_by_inlining_prob): Pass NULL to unmodified_parm as size_p.
3145 (set_cond_stmt_execution_predicate): Extract access sizes and store
3147 (set_switch_stmt_execution_predicate): Likewise.
3148 (will_be_nonconstant_expr_predicate): Likewise.
3149 (will_be_nonconstant_predicate): Likewise.
3150 (inline_read_section): Stream condition size.
3151 (inline_write_summary): Likewise.
3152 * lto-streamer.h (LTO_minor_version): Bump.
3154 2016-05-19 Richard Sandiford <richard.sandiford@arm.com>
3156 2016-01-26 Richard Sandiford <richard.sandiford@arm.com>
3158 PR tree-optimization/69400
3159 * wide-int.cc (wi_pack): Take the precision as argument and
3160 perform canonicalization here rather than in the callers.
3161 Use the main loop to handle all full-width HWIs. Add a
3162 zero HWI if in_len isn't a full result.
3163 (wi::divmod_internal): Update accordingly.
3164 (wi::mul_internal): Likewise. Simplify.
3166 2016-05-18 Uros Bizjak <ubizjak@gmail.com>
3169 * config/alpha/alpha.md (trap): Add (use (reg:DI 29)).
3170 (*exception_receiver_1): Return "#" for TARGET_EXPLICIT_RELOCS.
3172 2016-05-18 Jakub Jelinek <jakub@redhat.com>
3175 * tree-inline.c (remap_decls): Don't add_local_decl if
3178 2016-05-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3180 Backport from mainline
3181 2016-05-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3184 * config/aarch64/aarch64-simd.md (aarch64_vmls<mode>): Delete.
3186 2016-05-17 Jim Wilson <jim.wilson@linaro.org>
3188 Partial backport from trunk r228017.
3189 2015-09-22 Jason Merrill <jason@redhat.com>
3192 * doc/invoke.texi (-fabi-version): Document version 9.
3193 (-Wabi): Document version 9. Mention version 8 is default for GCC 5.1.
3195 2016-05-12 Martin Liska <mliska@suse.cz>
3197 Backport from mainline
3198 2016-05-10 Martin Liska <mliska@suse.cz>
3200 * tree-inline.c (remap_dependence_clique): Do not remap
3201 debugging statements.
3203 2016-05-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3205 Backport from mainline
3206 2016-05-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3209 * config/rs6000/vsx.md (vsx_xvcvdpsxds_scale): Generate correct
3210 code for a zero scale factor.
3211 (vsx_xvcvdpuxds_scale): Likewise.
3213 2016-05-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3215 Backport from mainline
3216 2016-05-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3218 * config/s390/s390.md ("*vec_cmp<insn_cmp>df_cconly")
3219 ("*fixuns_truncdfdi2_z13")
3220 ("*fixuns_trunc<FP:mode><GPR:mode>2_z196")
3221 ("*fix_truncdfdi2_bfp_z13", "*floatunsdidf2_z13")
3222 ("*extendsfdf2_z13"): Replace TARGET_Z13 with TARGET_VX.
3224 2016-05-10 Sebastian Huber <sebastian.huber@embedded-brains.de>
3226 Backport from mainline
3227 2016-04-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
3229 * config/rtems.h (LIB_SPEC): Add -latomic.
3231 2016-05-10 Sebastian Huber <sebastian.huber@embedded-brains.de>
3233 Backport from mainline
3234 2016-04-27 Joel Sherrill <joel@rtems.org>
3236 * config/microblaze/rtems.h: Redefine LINK_SPEC to avoid
3237 xilink.ld and flags not relevant to RTEMS.
3239 2016-05-02 Richard Biener <rguenther@suse.de>
3241 Backport from mainline
3242 2016-04-05 Richard Biener <rguenther@suse.de>
3244 PR tree-optimization/70526
3245 * tree-sra.c (build_ref_for_offset): Use prev_base to
3246 extract the alias pointer type.
3248 2016-04-28 Jakub Jelinek <jakub@redhat.com>
3251 * config/i386/i386.c (bdesc_special_args): Add | OPTION_MASK_ISA_64BIT
3252 to __builtin_ia32_lwpval64 and __builtin_ia32_lwpins64.
3253 (bdesc_args): Add | OPTION_MASK_ISA_64BIT to __builtin_ia32_bextr_u64,
3254 __builtin_ia32_bextri_u64, __builtin_ia32_bzhi_di,
3255 __builtin_ia32_pdep_di and __builtin_ia32_pext_di.
3257 2016-04-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3259 Backport from mainline
3260 2016-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3263 * config/arm/driver-arm.c (host_detect_local_cpu): Reorder exit logic
3264 to not call fclose twice on file.
3266 2016-04-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
3268 Backport from mainline
3269 2016-01-18 Thomas Preud'homme <thomas.preudhomme@arm.com>
3271 * config/arm/arm.c (thumb1_reorg): Check that the comparison is
3272 against the constant 0.
3274 2016-04-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3276 Backport from mainline
3277 2016-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3279 * config/rs6000/rs6000-builtin.def: Correct pasto error for
3280 stxvd2x and stxvw4x built-in functions.
3282 2016-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3284 Backport from mainline
3285 2016-03-14 Segher Boessenkool <segher@kernel.crashing.org>
3288 * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
3289 *ctr<mode>_internal5, *ctr<mode>_internal6): Also allow "d" as output.
3290 (define_split for the GPR case): Use int_reg_operand instead of
3291 gpc_reg_operand for the output.
3293 2016-04-22 H.J. Lu <hongjiu.lu@intel.com>
3295 Backport from mainline
3296 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
3298 * doc/invoke.texi: Replace -skip-rax-setup with -mskip-rax-setup.
3300 2016-04-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3303 * config/s390/s390.c (s390_restore_gprs_from_fprs): Pick the new
3304 stack_restore_from_fpr pattern when restoring r15.
3305 (s390_optimize_prologue): Strip away the memory barrier in the
3306 parallel when trying to get rid of restore insns.
3307 * config/s390/s390.md ("stack_restore_from_fpr"): New insn
3308 definition for loading the stack pointer from an FPR. Compared to
3309 the normal move insn this pattern includes a full memory barrier.
3311 2016-04-15 Kirill Yukhin <kirill.yukhin@intel.com>
3314 * config/i386/sse.md(define_insn "<avx512>_vec_dup<mode><mask_name>"):
3315 Fix mode size check.
3317 2016-04-15 Kirill Yukhin <kirill.yukhin@intel.com>
3320 * config/i386/sse.md(define_insn "<avx512>_vec_dup<mode><mask_name>"):
3321 Use proper memory operand modifiers.
3323 2016-04-14 Nick Clifton <nickc@redhat.com>
3324 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3327 * config/aarch64/aarch64.c
3328 (aarch64_override_options_after_change): When forcing
3329 flag_omit_frame_pointer to be true, use a special value that can
3330 be detected if this function is called again, thus preventing
3331 flag_omit_leaf_frame_pointer from being forced to be false.
3333 2016-04-12 Eric Botcazou <ebotcazou@adacore.com>
3336 * config/sparc/sparc.c (sparc_compute_frame_size): Add parentheses.
3338 2016-04-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3340 Backport from mainline
3341 2016-04-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3344 * config/arm/thumb2.md (tst + branch-> lsls + branch
3345 peephole below *orsi_not_shiftsi_si): Require that condition
3346 register is dead after the peephole.
3347 (second peephole after the above): Likewise.
3349 2016-04-11 Alan Modra <amodra@gmail.com>
3352 * builtins.c (fold_builtin_classify): For IBM extended precision,
3353 look at just the high-order double to test for NaN.
3354 (fold_builtin_interclass_mathfn): Similarly for Inf. For isnormal
3355 test just the high double for Inf but both doubles for subnormal
3358 2016-04-09 Oleg Endo <olegendo@gcc.gnu.org>
3360 Backport from mainline
3361 2016-04-03 Oleg Endo <olegendo@gcc.gnu.org>
3365 * config/sh/sh.md (*addsi3): Allow pattern when reload_in_progress is
3366 set, but not for SP_REG operands.
3368 2016-04-06 Uros Bizjak <ubizjak@gmail.com>
3370 * config/i386/sse.md (shuffletype): Add V32HI and V4TI modes.
3371 (ssescalarsize): Add V8SF, V4SF, V4DF and V2DF modes.
3373 2016-04-06 Richard Biener <rguenther@suse.de>
3375 Backport from mainline
3376 2016-03-11 Jakub Jelinek <jakub@redhat.com>
3378 PR tree-optimization/70177
3379 * gimple-expr.h (extract_ops_from_tree_1): Renamed to ...
3380 (extract_ops_from_tree): ... this. In the 2 argument
3381 overload remove _1 suffix.
3382 * gimple-expr.c (extract_ops_from_tree_1): Renamed to ...
3383 (extract_ops_from_tree): ... this.
3384 * gimple.c (gimple_build_assign, gimple_assign_set_rhs_from_tree):
3386 * tree-ssa-loop-niter.c (derive_constant_upper_bound): Likewise.
3387 * tree-ssa-forwprop.c (defcodefor_name): Call 3 operand
3388 extract_ops_from_tree instead of 2 operand one.
3390 2016-04-06 Richard Biener <rguenther@suse.de>
3392 Backport from mainline
3393 2016-02-24 Richard Biener <rguenther@suse.de>
3394 Jakub Jelinek <jakub@redhat.com>
3397 * tree-scalar-evolution.c (interpret_rhs_expr): Re-write
3398 conditionally executed ops to well-defined overflow behavior.
3400 2016-03-01 Richard Biener <rguenther@suse.de>
3402 PR tree-optimization/69983
3403 * tree-chrec.c (eq_evolutions_p): Handle conversions, compare
3404 types and fall back to operand_equal_p.
3406 2016-04-06 Richard Biener <rguenther@suse.de>
3408 Backport from mainline
3409 2016-02-24 Richard Biener <rguenther@suse.de>
3412 * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Fix
3414 (record_nonwrapping_iv): Do not fall back to the low/high bound
3415 for non-constant IV bases if the stmt is not always executed.
3417 2016-04-06 Richard Biener <rguenther@suse.de>
3419 Backport from mainline
3420 2016-03-01 Richard Biener <rguenther@suse.de>
3423 * fold-const.c (fold_indirect_ref_1): Fix range checking for
3424 vector BIT_FIELD_REF extract.
3426 2016-03-07 Richard Biener <rguenther@suse.de>
3428 PR tree-optimization/70115
3429 * tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Remove.
3430 (propagate_constants_for_unrolling): Use replace_uses_by.
3432 2016-03-29 Richard Biener <rguenther@suse.de>
3435 * ipa-prop.c (ipa_compute_jump_functions_for_edge): Always
3436 use alignment returned by get_pointer_alignment_1 if it is
3437 bigger than BITS_PER_UNIT.
3438 * builtins.c (get_pointer_alignment_1): Do not return true
3439 for alignment extracted from SSA info.
3441 2016-04-06 Richard Biener <rguenther@suse.de>
3443 Backport from mainline
3444 2016-03-30 Richard Biener <rguenther@suse.de>
3447 * fold-const.c (extract_muldiv_1): Fix thinko in wide_int::from
3450 2016-03-22 Richard Biener <rguenther@suse.de>
3453 * fold-const.c (extract_muldiv_1): Properly perform multiplication
3456 2016-04-04 Richard Biener <rguenther@suse.de>
3458 PR rtl-optimization/70484
3459 * rtl.h (canon_output_dependence): Declare.
3460 * alias.c (canon_output_dependence): New function.
3461 * dse.c (record_store): Use canon_output_dependence rather
3462 than canon_true_dependence.
3464 2016-04-05 John David Anglin <danglin@gcc.gnu.org>
3466 * config/pa/predicates.md (integer_store_memory_operand): Accept
3467 REG+D operands with a large offset when reload_in_progress is true.
3468 (floating_point_store_memory_operand): Likewise.
3470 2016-04-05 Uros Bizjak <ubizjak@gmail.com>
3472 Backport from mainline
3473 2015-12-08 Kirill Yukhin <kirill.yukhin@intel.com>
3475 * config/i386/sse.md (define_insn "<avx512>_vec_dup<mode>_1"): Fix
3476 assembler to make source always 128bit.
3478 2016-04-05 Uros Bizjak <ubizjak@gmail.com>
3481 * config/i386/sse.md (iptr): Add V64QI, V32HI, V16SI and V8DI modes.
3483 2016-04-05 Jakub Jelinek <jakub@redhat.com>
3486 * config/i386/sse.md (*andnot<mode>3): Simplify assertions.
3487 Use vpandn<ssemodesuffix> for V16SI/V8DImode, vpandnq for
3488 V32HI/V64QImode, don't use <mask_operand3_1>, fix up formatting.
3489 (*andnot<mode>3_mask): Remove insn with VI12_AVX512VL iterator.
3491 2016-04-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3492 Jakub Jelinek <jakub@redhat.com>
3495 * tree-inline.c (estimate_num_insn): Use gimple_call_builtin_p
3496 to ensure a call statement is compatible with a built-in's
3498 * tree-ssa-math-opts.c (execute_cse_sincos_1): Likewise.
3499 (pass_cse_sincos::execute): Likewise.
3500 (pass_optimize_widening_mul::execute): Likewise.
3502 2016-01-04 Christophe Lyon <christophe.lyon@linaro.org>
3504 Backport from mainline
3505 2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3507 PR rtl-optimization/68236
3508 * haifa-sched.c (autopref_multipass_dfa_lookahead_guard): Return 0
3509 if insn_queue doesn't exist.
3510 (haifa_sched_finish): Reset insn_queue to NULL.
3512 2016-04-01 James Greenhalgh <james.greenhalgh@arm.com>
3514 Backport from mainline
3515 2016-01-26 Roger Ferrer Ibáñez <rofirrim@gmail.com>
3518 * config/aarch64/aarch64-builtins.c
3519 (aarch64_init_simd_builtin_types): Do not set structural
3520 equality to __Poly{8,16,64,128}_t types.
3522 2016-03-31 Nathan Sidwell <nathan@acm.org>
3525 * varasm.c (output_constructor_regular_field): Flush bitfield
3526 earlier. Assert we don't want to move backwards.
3528 2016-03-31 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3530 * config/arm/sync.md (arm_atomic_loaddi2_ldrd): Fix output template
3531 for non-unified syntax.
3533 2016-03-31 Kirill Yukhin <kirill.yukhin@intel.com>
3536 * config/i386/sse.md (define_mode_attr shuffletype): Fix typo.
3538 2016-03-31 Andrey Belevantsev <abel@ispras.ru>
3540 Backport from mainline
3541 2016-03-12 Andrey Belevantsev <abel@ispras.ru>
3543 PR rtl-optimization/69307
3544 * sel-sched.c (choose_best_pseudo_reg): Properly check for hard
3545 registers in modes that span more than one register.
3547 2016-03-31 Andrey Belevantsev <abel@ispras.ru>
3549 Backport from mainline
3550 2016-03-21 Andrey Belevantsev <abel@ispras.ru>
3552 PR rtl-optimization/69102
3553 * sched-deps.c (sched_analyze_insn): Do not set last_args_size field
3554 when we have a readonly dependency context.
3556 2016-03-31 Andrey Belevantsev <abel@ispras.ru>
3558 Backport from mainline
3559 2016-03-15 Andrey Belevantsev <abel@ispras.ru>
3561 PR rtl-optimization/69032
3562 * sel-sched-ir.c (get_seqno_by_preds): Include both insn and head when
3563 looping backwards over basic block insns.
3565 2016-03-31 Andrey Belevantsev <abel@ispras.ru>
3567 Backport from mainline
3568 2016-03-15 Andrey Belevantsev <abel@ispras.ru>
3571 * sel-sched-ir.c (merge_expr): Avoid changing the speculative pattern
3572 to non-speculative when propagating trap bits.
3574 2016-03-31 Andrey Belevantsev <abel@ispras.ru>
3576 Backport from mainline
3577 2016-03-15 Andrey Belevantsev <abel@ispras.ru>
3580 * sched-deps.c (get_implicit_reg_pending_clobbers): New function,
3581 factored out from ...
3582 (sched_analyze_insn): ... here.
3583 * sched-int.h (get_implicit_reg_pending_clobbers): Declare it.
3584 * sel-sched-ir.c (setup_id_implicit_regs): New function, use
3585 get_implicit_reg_pending_clobbers in it.
3586 (setup_id_reg_sets): Use setup_id_implicit_regs.
3587 (deps_init_id): Ditto.
3589 2016-03-31 Jakub Jelinek <jakub@redhat.com>
3591 PR rtl-optimization/70460
3592 * ira.c (indirect_jump_optimize): Don't substitute LABEL_REF
3593 with operand from REG_LABEL_OPERAND, instead substitute
3594 SET_SRC or REG_EQUAL note content if it is a LABEL_REF.
3595 Don't do anything for REG_NON_LOCAL_GOTO jumps.
3597 2016-03-31 Alan Modra <amodra@gmail.com>
3599 Backport from mainline
3600 2016-02-16 Alan Modra <amodra@gmail.com>
3602 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Rewrite splitter.
3603 (p8_mtvsrd_df, p8_mtvsrd_sf): New.
3604 (p8_mtvsrd_1, p8_mtvsrd_2): Delete.
3606 (p8_mtvsrwz_1, p8_mtvsrwz_2): Delete.
3607 (p8_xxpermdi_<mode>): Take two DF inputs rather than one TF.
3608 (p8_fmrgow_<mode>): Likewise.
3609 (reload_vsx_from_gpr<mode>): Adjust for above. Use "wa" for
3611 (reload_fpr_from_gpr<mode>): Adjust for above. Use "d" for
3613 (reload_vsx_from_gprsf): Use p8_mtvsrd_sf rather than attempting
3614 to use movdi_internal64. Remove op0_di.
3615 * config/rs6000/vsx.md (vsx_xscvspdpn_directmove): Make op1 SFmode.
3617 2016-03-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3619 Backport from mainline
3620 2016-03-23 Ilya Enkovich <enkovich.gnu@gmail.com>
3623 * config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Follow
3624 transparent alias chain for decl assembler name.
3625 * config/sol2.c (solaris_assemble_visibility): Likewise.
3627 2016-03-30 Vladimir Makarov <vmakarov@redhat.com>
3629 Backported from the mainline
3630 2016-03-12 Vladimir Makarov <vmakarov@redhat.com>
3633 * lra-constraints.c (delete_move_and_clobber): New.
3634 (remove_inheritance_pseudos): Use it.
3636 2016-03-30 Jakub Jelinek <jakub@redhat.com>
3639 * config/i386/i386.c (ix86_expand_vector_set): Fix up argument order
3640 in gen_blendm expander.
3642 Backported from mainline
3643 2016-03-29 Jakub Jelinek <jakub@redhat.com>
3645 PR rtl-optimization/70429
3646 * combine.c (simplify_shift_const_1): For ASHIFTRT don't optimize
3647 (cst1 >> count) >> cst2 into (cst1 >> cst2) >> count if
3648 mode != result_mode.
3650 2016-03-22 Jakub Jelinek <jakub@redhat.com>
3653 * config/i386/i386.c (ix86_expand_vecop_qihi): Don't bother computing
3654 d.perm[i] for i >= d.nelt. If not full_interleave, compute d.perm[i]
3655 in a way that works also for AVX512BW.
3657 2016-03-21 Jakub Jelinek <jakub@redhat.com>
3660 * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If IDENT is
3661 function-like macro, peek following token(s) if it is followed
3662 by CPP_OPEN_PAREN token with optional padding in between, and
3663 if not, don't treat it like a macro.
3665 2016-03-15 Jakub Jelinek <jakub@redhat.com>
3667 PR rtl-optimization/70222
3668 * combine.c (simplify_shift_const_1): For A >> B >> C LSHIFTRT
3669 optimization if mode is different from result_mode, queue up masking
3670 of the result in outer_op. Formatting fix.
3672 2016-03-11 Jakub Jelinek <jakub@redhat.com>
3674 PR tree-optimization/70169
3675 * tree-ssa-loop.c (gen_lsm_tmp_name): Handle FUNCTION_DECL and
3676 LABEL_DECL like VAR_DECL. Emit nothing instead of gcc_unreachable
3679 2016-03-09 Jakub Jelinek <jakub@redhat.com>
3681 PR tree-optimization/70152
3682 * tree-sra.c (replace_removed_params_ssa_names): Copy over
3683 SSA_NAME_OCCURS_IN_ABNORMAL_PHI from old_name to new_name.
3685 2016-03-04 Jakub Jelinek <jakub@redhat.com>
3688 * config/i386/i386.c (decide_alg): Add RECUR argument. Revert
3689 2016-02-22 changes, instead don't recurse if RECUR is already true.
3690 Don't change *dynamic_check if RECUR. Adjust recursive caller
3691 to pass true to the new argument.
3692 (ix86_expand_set_or_movmem): Adjust decide_alg caller.
3694 2016-02-22 Jakub Jelinek <jakub@redhat.com>
3697 * config/i386/i386.c (decide_alg): Ensure we don't recurse with
3698 identical arguments. Formatting and spelling fixes.
3700 2016-03-02 Jakub Jelinek <jakub@redhat.com>
3703 * config/i386/i386.md (kmovw): Move m constraint to 2nd alternative.
3704 (*movhi_internal): Put mask moves from and to memory separately
3705 from moves from/to GPRs.
3707 2016-02-26 Jakub Jelinek <jakub@redhat.com>
3710 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
3711 complain about -mallow-movmisalign without -mvsx if
3712 TARGET_ALLOW_MOVMISALIGN was not set explicitly.
3714 2016-02-26 Jakub Jelinek <jakub@redhat.com>
3715 Eric Botcazou <ebotcazou@adacore.com>
3717 PR rtl-optimization/69891
3718 * dse.c (scan_insn): If we can't figure out memset arguments
3719 or they are non-constant, call clear_rhs_from_active_local_stores.
3721 2016-02-24 Jakub Jelinek <jakub@redhat.com>
3724 * dwarf2out.c (gen_variable_die): Work around buggy LTO
3725 - allow NULL decl for Fortran DW_TAG_common_block variables.
3727 2016-02-19 Jakub Jelinek <jakub@redhat.com>
3730 * lra.c (lra_process_new_insns): If non-call exceptions are enabled,
3731 call copy_reg_eh_region_note_forward on before and/or after sequences
3732 and remove note from insn if it no longer can throw.
3734 2016-02-16 Jakub Jelinek <jakub@redhat.com>
3736 PR tree-optimization/69802
3737 * tree-ssa-reassoc.c (update_range_test): If op is
3738 SSA_NAME_IS_DEFAULT_DEF, give up unless tem is a positive
3739 op == 1 test of precision 1 integral op, otherwise handle
3740 that case as op itself. Fix up formatting.
3741 (optimize_range_tests_to_bit_test, optimize_range_tests): Fix
3744 PR rtl-optimization/69764
3745 PR rtl-optimization/69771
3746 * optabs.c (expand_binop): Ensure for shift optabs invalid CONST_INT
3747 op1 is valid for GET_MODE_INNER (mode) and force it into a reg.
3749 2016-02-12 Jakub Jelinek <jakub@redhat.com>
3751 PR rtl-optimization/69764
3752 PR rtl-optimization/69771
3753 * optabs.c (expand_binop_directly): For shift_optab_p, force
3754 convert_modes with VOIDmode if xop1 has VOIDmode.
3757 * ipa-split.c (split_function): Compute retval early in all cases
3758 if split_part_return_p and return_bb is not EXIT. Remove all
3759 clobber stmts and reset all debug stmts that refer to SSA_NAMEs
3760 defined in split part, except if it is retval, in that case replace
3761 the old retval with the lhs of the call to the split part.
3763 2016-03-30 Alan Modra <amodra@gmail.com>
3766 * config/rs6000/constraints.md (j): Simplify.
3767 * config/rs6000/predicates.md (easy_fp_constant): Exclude
3769 * config/rs6000/rs6000.md (zero_fp): New mode_attr.
3770 (mov<mode>_hardfloat, mov<mode>_hardfloat32, mov<mode>_hardfloat64,
3771 mov<mode>_64bit_dm, mov<mode>_32bit): Use zero_fp in place of j
3772 in all constraint alternatives.
3773 (movtd_64bit_nodm): Delete "j" constraint alternative.
3775 2016-03-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3778 * config/arm/arm.h (TARGET_HAVE_LPAE): Define.
3779 * config/arm/unspecs.md (VUNSPEC_LDRD_ATOMIC): New value.
3780 * config/arm/sync.md (arm_atomic_loaddi2_ldrd): New pattern.
3781 (atomic_loaddi_1): Delete.
3782 (atomic_loaddi): Rewrite expander using the above changes.
3784 2016-03-28 Kirill Yukhin <kirill.yukhin@intel.com>
3787 * config/i386/i386.md (define_split, andn): Fix modes.
3789 2016-03-24 John David Anglin <danglin@gcc.gnu.org>
3792 * config/pa/pa.md (bswapdi2): Use a scratch register.
3794 2016-03-22 Martin Liska <mliska@suse.cz>
3796 backport from trunk:
3798 2016-03-21 Martin Liska <mliska@suse.cz>
3801 * ipa-icf.c (sem_function::parse): Skip static
3802 constructors and destructors.
3804 2016-03-22 Kirill Yukhin <kirill.yukhin@intel.com>
3807 * config/i386/i386.c (def_builtin): Handle
3808 OPTION_MASK_ISA_AVX512VL to be and-ed with other bits.
3809 (const struct builtin_description bdesc_special_args[]):
3810 Remove duplicate ISA bits.
3812 2016-03-21 Uros Bizjak <ubizjak@gmail.com>
3815 * config/i386/i386.md (movxi): Use ix86_expand_vector_move instead
3816 of ix86_expand_move.
3818 (movti): Use general_operand for operand 1 predicate.
3820 2016-03-21 Tom de Vries <tom@codesourcery.com>
3822 backport from trunk:
3824 2016-03-18 Tom de Vries <tom@codesourcery.com>
3826 * cgraph.c (cgraph_node::get_body): Set dump_file to NULL after save.
3828 2016-03-21 Tom de Vries <tom@codesourcery.com>
3830 backport from trunk:
3831 2016-03-18 Tom de Vries <tom@codesourcery.com>
3834 * cgraph.c (cgraph_node::get_body): Save, reset and restore
3836 * passes.c (execute_one_ipa_transform_pass): Add missing argument to
3837 execute_function_dump.
3838 (execute_one_pass): Don't dump function if it will be dumped after ipa
3841 2016-03-21 Kirill Yukhin <kirill.yukhin@intel.com>
3844 * config/i386/sse.md: (define_insn "*vec_dup<mode>"/AVX2):
3845 Block third alternative for AVX-512VL target,
3847 2016-03-17 John David Anglin <danglin@gcc.gnu.org>
3850 * config/pa/constraints.md: Revert 2015-02-13 change. Use
3851 define_constraint for "Q" and "T" constraints.
3853 2016-03-16 Alan Modra <amodra@gmail.com>
3855 PR rtl-optimization/69195
3856 PR rtl-optimization/47992
3857 * ira.c (indirect_jump_optimize): Ignore artificial defs.
3860 2016-03-15 Bernd Schmidt <bschmidt@redhat.com>
3862 Backport from mainline
3863 2016-03-04 Bernd Schmidt <bschmidt@redhat.com>
3865 PR rtl-optimization/69941
3866 * postreload.c (reload_combine_recognize_pattern): Ensure all uses of
3867 the reg share its mode.
3869 2016-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
3871 Backport from mainline
3872 2016-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
3875 * config/rs6000/rs6000.md (round32<mode>2_fprs): Do not do the
3876 optimization if we have direct move.
3877 (roundu32<mode>2_fprs): Likewise.
3879 2016-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3881 Backport from mainline
3882 2016-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3885 * config/i386/sol2.h (STACK_REALIGN_DEFAULT): Define.
3887 2016-03-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3890 * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
3891 Handle overlapping retval and newval.
3893 2016-03-10 Alan Modra <amodra@gmail.com>
3895 PR rtl-optimization/69195
3896 PR rtl-optimization/47992
3897 * ira.c (recorded_label_ref): Delete.
3898 (update_equiv_regs): Return void.
3899 (indirect_jump_optimize): New function.
3900 (ira): Call indirect_jump_optimize and delete_trivially_dead_insns
3901 before regstat_compute_ri. Don't rebuild_jump_labels here.
3903 2016-03-07 Martin Jambor <mjambor@suse.cz>
3905 PR tree-optimization/69666
3907 * tree-sra.c (sra_modify_assign): Do not attempt to create
3908 default_def replacements for unscalarizable regions. Do not
3909 remove loads of uninitialized aggregates to SSA_NAMEs.
3911 2016-03-07 Christophe Lyon <christophe.lyon@linaro.org>
3913 Backport from mainline
3914 2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3918 * config/arm/arm.c (arm_new_rtx_costs, MULT case): Properly extract
3919 the operands of the SIGN_EXTENDs from a SMUL[TB][TB] rtx.
3921 2016-03-04 Jakub Jelinek <jakub@redhat.com>
3924 * config/i386/sse.md (vec_set_lo_<mode><mask_name>,
3925 <extract_type_2>_vinsert<shuffletype><extract_suf_2>_mask): Formatting
3927 (vec_set_hi_<mode><mask_name>): Likewise. Swap VEC_CONCAT operands.
3929 2016-03-03 Andre Vieira <andre.simoesdiasvieira@arm.com>
3931 Backport from mainline
3932 2015-10-14 Dominik Vogt <vogt@linux.vnet.ibm.com>
3934 * targhooks.c (default_target_option_pragma_parse): Do not warn if
3935 called on behalf of "#pragma GCC pop_options".
3937 2016-03-01 Eric Botcazou <ebotcazou@adacore.com>
3939 PR rtl-optimization/70007
3940 * gcse.c (compute_ld_motion_mems): Tidy up and also invalidate memory
3941 references present in REG_EQUAL notes attached to non-SET patterns.
3943 2016-02-27 Jeff Law <law@redhat.com>
3946 2016-02-26 Richard Biener <rguenther@suse.de>
3947 Jeff Law <law@redhat.com>
3949 Backport from mainline
3950 2016-02-26 Richard Biener <rguenther@suse.de>
3951 Jeff Law <law@redhat.com>
3953 PR tree-optimization/69740
3954 * cfghooks.c (remove_edge): Request loop fixups if we delete
3955 an edge that might turn an irreducible loop into a natural
3958 2016-02-26 Richard Biener <rguenther@suse.de>
3959 Jeff Law <law@redhat.com>
3961 Backport from mainline
3962 2016-02-26 Richard Biener <rguenther@suse.de>
3963 Jeff Law <law@redhat.com>
3965 PR tree-optimization/69740
3966 * cfghooks.c (remove_edge): Request loop fixups if we delete
3967 an edge that might turn an irreducible loop into a natural
3970 2016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3972 Backport from mainline
3973 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3975 * config/s390/vector.md: Add missing commutative operand markers
3976 to the patterns which qualify for one.
3977 * config/s390/vx-builtins.md: Likewise.
3979 2016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3981 Backport from mainline
3982 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3984 * config/s390/vector.md (VI, VI_QHS): Add single element vector
3985 types to mode iterators.
3986 (vec_double): ... and mode attribute.
3987 * config/s390/vx-builtins.md (non_vec_int): Likewise.
3989 2016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3991 Backport from mainline
3992 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3994 * config/s390/vector.md ("<ti*>add<mode>3", "<ti*>sub<mode>3"):
3995 Change the predicate of op2 from nonimmediate to general and let
3996 reload fix it if necessary.
3998 2016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4000 Backport from mainline
4001 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4003 * config/s390/vecintrin.h (vec_sub_u128): Define missing macro.
4005 2016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4007 Backport from mainline
4008 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4010 * config/s390/s390.c (s390_expand_vcond): Use the compare operand
4013 2016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4015 Backport from mainline
4016 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4018 * config/s390/s390-protos.h: Add s390_expand_vec_movstr prototype.
4019 * config/s390/s390.c (s390_expand_vec_movstr): New function.
4020 * config/s390/s390.md ("movstr<P:mode>"): Call
4021 s390_expand_vec_movstr.
4023 2016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4025 Backport from mainline
4026 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4028 * config/s390/s390.md: Add missing output modifier for operand 1
4029 to print it as address properly.
4031 2016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4033 Backport from mainline
4034 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4036 * config/s390/2827.md: Rename ooo_* insn attributes to zEC12_*.
4037 * config/s390/2964.md: New file.
4038 * config/s390/s390.c (s390_get_sched_attrmask): Use the right set
4039 of insn grouping attributes depending on the CPU level.
4040 (s390_get_unit_mask): New function.
4041 (s390_sched_score): Remove the OOO from the scheduling macros.
4042 Add loop to calculate a score for the instruction mix.
4043 (s390_sched_reorder): Likewise plus improve debug output.
4044 (s390_sched_variable_issue): Rename macros as above. Calculate
4045 the unit distances after actually scheduling an insn. Improve
4047 (s390_sched_init): Clear last_scheduled_unit_distance array.
4048 * config/s390/s390.md: Include 2964.md.
4050 2016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4052 Backport from mainline
4053 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4055 * config/s390/s390.c (s390_register_info_set_ranges): Remove
4058 2016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4060 Backport from mainline
4061 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4063 * config/s390/s390.c (s390_emit_call): Add missing 64 bit check.
4065 2016-02-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4067 Backport from mainline
4068 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4071 * config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New
4073 (s390_register_info_gprtofpr): Use new macros above.
4074 (s390_register_info_stdarg_fpr): Adjust max_fpr to better match
4076 (s390_register_info_stdarg_gpr): Adjust max_gpr to better match
4077 its name. Adjust restore and save gpr ranges.
4078 (s390_register_info_set_ranges): New function.
4079 (s390_register_info): Use new macros above. Call
4080 s390_register_info_set_ranges.
4081 (s390_optimize_register_info): Likewise.
4082 (s390_hard_regno_rename_ok): Use new macros.
4083 (s390_hard_regno_scratch_ok): Likewise.
4084 (s390_emit_epilogue): Likewise.
4085 (s390_can_use_return_insn): Likewise.
4086 (s390_optimize_prologue): Likewise.
4087 * config/s390/s390.md (GPR2_REGNUM, GPR6_REGNUM): New constants.
4089 2016-02-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
4091 Backport from mainline
4092 2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
4094 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Format
4095 declaration name with %qs and print it in both error messages. Also
4098 2016-02-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
4100 Backport from mainline
4101 2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
4104 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Remove
4105 trailing blank line from error message.
4107 2016-02-25 Robin Dapp <rdapp@linux.vnet.ibm.com>
4109 Backport from mainline
4110 2015-12-18 Robin Dapp <rdapp@linux.vnet.ibm.com>
4112 * config/s390/predicates.md: Change and rename
4113 constm1_operand to all_ones_operand
4114 * config/s390/s390.c (s390_expand_vcond): Use all_ones_operand
4115 * config/s390/vector.md: Likewise
4117 2016-02-25 Richard Biener <rguenther@suse.de>
4119 Backport from mainline
4120 2016-02-15 Richard Biener <rguenther@suse.de>
4122 PR tree-optimization/69776
4123 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype.
4124 * tree-ssa-sccvn.c (vn_reference_lookup): Add parameter to
4125 indicate whether we can use TBAA to disambiguate against stores.
4126 Use alias-set zero if not.
4127 (visit_reference_op_store): Do not use TBAA when looking up
4129 * tree-ssa-pre.c (compute_avail): Use TBAA here.
4130 (eliminate_dom_walker::before_dom_children): But not when looking
4131 up redundant stores.
4133 2016-02-16 Richard Biener <rguenther@suse.de>
4135 PR tree-optimization/69776
4136 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Get alias
4138 (indirect_refs_may_alias_p): Likewise.
4139 (refs_may_alias_p_1): Pass alias sets as from ao_ref.
4140 * tree-ssa-sccvn.c (vn_reference_lookup): Also adjust vr alias-set
4141 according to tbaa_p.
4142 * tree-ssa-dom.c (lookup_avail_expr): Add tbaa_p flag.
4143 (optimize_stmt): For redundant store discovery do not allow tbaa.
4145 2016-02-24 Martin Jambor <mjambor@suse.cz>
4148 2016-02-23 Martin Jambor <mjambor@suse.cz>
4150 PR tree-optimization/69666
4151 * tree-sra.c (sra_modify_assign): Do not attempt to create
4152 default_def replacements for unscalarizable regions.
4154 2016-02-24 Richard Biener <rguenther@suse.de>
4156 Backport from mainline
4157 2016-02-17 Richard Biener <rguenther@suse.de>
4159 PR rtl-optimization/69609
4160 * bb-reorder.c (struct bbro_basic_block_data): Add priority member.
4161 (find_traces_1_round): When ending a trace update cached priority
4163 (bb_to_key): Use cached priority when available.
4164 (copy_bb): Initialize cached priority.
4165 (reorder_basic_blocks_software_trace_cache): Likewise.
4167 2016-02-08 Richard Biener <rguenther@suse.de>
4169 PR tree-optimization/69719
4170 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
4171 Properly use absolute of the difference of the two offsets to
4172 compare or adjust the segment length.
4174 2016-02-10 Richard Biener <rguenther@suse.de>
4176 PR tree-optimization/69719
4177 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
4178 Adjust previous fix by ensuring that dr_a1 is left of dr_a2.
4180 2016-02-15 Richard Biener <rguenther@suse.de>
4182 PR tree-optimization/69783
4183 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
4184 Add trivially correct cases.
4186 2016-02-23 Martin Jambor <mjambor@suse.cz>
4188 PR tree-optimization/69666
4189 * tree-sra.c (sra_modify_assign): Do not attempt to create
4190 default_def replacements for unscalarizable regions.
4192 2016-02-18 Bernd Schmidt <bschmidt@redhat.com>
4194 Backport from mainline
4195 2016-02-15 Bernd Schmidt <bschmidt@redhat.com>
4197 PR rtl-optimization/69648
4198 * lra-constraints.c (update_ebb_live_info): Don't remove sets of
4199 pic_offset_table_rtx.
4201 2016-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4203 Backport from mainline
4204 2016-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4206 * config/rs6000/altivec.md (*altivec_lvxl_<mode>_internal): Output
4207 correct instruction.
4209 2016-02-16 Bernd Schmidt <bschmidt@redhat.com>
4211 Backport from mainline
4212 2016-02-15 Bernd Schmidt <bschmidt@redhat.com>
4214 PR rtl-optimization/69752
4215 * ira.c (update_equiv_regs): When looking for more than a single SET,
4216 also take other side effects into account.
4218 Backport from mainline
4219 2016-02-08 Bernd Schmidt <bschmidt@redhat.com>
4221 PR rtl-optimization/68730
4222 * lra-remat.c (insn_to_cand_activation): New static variable.
4223 (lra_remat): Allocate and free it.
4224 (create_cand): New arg activation. Initialize a field in
4225 insn_to_cand_activation if it is nonnull.
4226 (create_cands): Pass the activation insn to create_cand when making
4227 a candidate involving an output reload. Reorganize code a little.
4228 (do_remat): Keep track of active status of candidates in a separate
4231 Backport from mainline
4232 2016-02-16 Bernd Schmidt <bschmidt@redhat.com>
4234 PR tree-optimization/69714
4235 * tree-ssa-math-opts.c (find_bswap_or_nop): Revert previous change.
4236 Return NULL if we have irrelevant high bytes on BIG_ENDIAN.
4238 2016-02-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4240 Backport from trunk:
4241 2016-02-04 Jim Wilson <jim.wilson@linaro.org>
4245 * config/arm/arm.h (PROMOTE_MODE): Don't set UNSIGNEDP for QImode and
4248 2016-02-16 Tom de Vries <tom@codesourcery.com>
4250 backport from trunk:
4252 2016-02-16 Tom de Vries <tom@codesourcery.com>
4254 * omp-low.c (simd_clone_create): Remove call to
4255 symtab->call_cgraph_insertion_hooks.
4257 2016-02-16 Tom de Vries <tom@codesourcery.com>
4259 backport from trunk:
4260 2015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com>
4262 * omp-low.c (simd_clone_create): Set in_other_partition
4265 2016-02-15 John David Anglin <danglin@gcc.gnu.org>
4267 Backport from mainline
4268 * config/pa/pa.md (absqi2, absghi2, bswaphi2, bswapsi2, bswapdi2): New.
4270 2016-02-13 Oleg Endo <olegendo@gcc.gnu.org>
4272 Backport from mainline
4273 2016-02-13 Oleg Endo <olegendo@gcc.gnu.org>
4276 * config/sh/sh.md (sibcall_value_pcrel): Replace =&k scratch reg with
4277 fixed R1_REG scratch reg.
4279 2016-02-12 Segher Boessenkool <segher@kernel.crashing.org>
4281 Backport from mainline
4282 2016-02-11 Segher Boessenkool <segher@kernel.crashing.org>
4284 PR rtl-optimization/64682
4285 PR rtl-optimization/69567
4286 PR rtl-optimization/69737
4287 * combine.c (distribute_notes) <REG_DEAD>: If the register is set
4288 in I2 as well, just lose it.
4290 2016-02-11 Richard Biener <rguenther@suse.de>
4292 Backport from mainline
4293 2016-01-18 Richard Biener <rguenther@suse.de>
4296 * gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND.
4298 2016-02-01 Richard Biener <rguenther@suse.de>
4300 PR tree-optimization/69574
4301 * tree-chrec.c (hide_evolution_in_other_loops_than_loop): Instead
4302 of asserting return chrec_dont_know.
4304 2016-02-01 Richard Biener <rguenther@suse.de>
4306 PR tree-optimization/69579
4307 * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling):
4308 Do not propagate through abnormal PHI results.
4310 2016-02-02 Richard Biener <rguenther@suse.de>
4312 PR tree-optimization/69606
4313 * tree-ssa-math-opts.c (bswap_replace): Clear flow sensitive
4314 info on the result before moving a stmt.
4316 2016-02-09 Richard Biener <rguenther@suse.de>
4318 PR tree-optimization/69715
4319 * tree-ssa.c (execute_update_addresses_taken): Mark non-decl
4320 LHS on calls as non-rewritable.
4322 2016-02-11 Oleg Endo <olegendo@gcc.gnu.org>
4324 Backport from mainline
4325 2016-02-11 Oleg Endo <olegendo@gcc.gnu.org>
4328 * config/sh/sh.md (casesi_worker_0): Add T_REG use.
4330 2016-02-10 Jakub Jelinek <jakub@redhat.com>
4332 Backported from mainline
4333 2016-01-30 Jakub Jelinek <jakub@redhat.com>
4335 PR tree-optimization/69546
4336 * wide-int.cc (wi::divmod_internal): For unsigned division
4337 where both operands fit into uhwi, if o1 is 1 and o0 has
4338 msb set, if divident_prec is larger than bits per hwi,
4339 clear another quotient word and return 2 instead of 1.
4340 Similarly for remainder with msb in HWI set, if dividend_prec
4341 is larger than bits per hwi.
4343 2016-01-27 Jakub Jelinek <jakub@redhat.com>
4345 PR tree-optimization/69399
4346 * wide-int.h (wi::lrshift): For larger precisions, only
4347 use fast path if shift is known to be < HOST_BITS_PER_WIDE_INT.
4349 2016-01-22 Jakub Jelinek <jakub@redhat.com>
4352 * config/i386/i386.c: Include dojump.h.
4353 (expand_small_movmem_or_setmem,
4354 expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Spelling
4356 (ix86_expand_set_or_movmem): Call do_pending_stack_adjust () early
4357 if dynamic_check != -1.
4359 2016-01-21 Stefan Sørensen <stefan.sorensen@spectralink.com>
4360 Jakub Jelinek <jakub@redhat.com>
4364 * config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase
4365 args array size by one to avoid buffer overflow.
4367 2016-01-21 Jakub Jelinek <jakub@redhat.com>
4370 * gimplify.c (gimplify_asm_expr): Warn if it is too late to
4371 attempt to mark memory input operand addressable and
4372 call prepare_gimple_addressable in that case. Don't adjust
4373 input_location for diagnostics, use error_at instead.
4375 2016-01-19 Jakub Jelinek <jakub@redhat.com>
4378 * shrink-wrap.c: Include valtrack.h.
4379 (move_insn_for_shrink_wrap): Add DEBUG argument. If
4380 MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs
4381 in between insn and where it will be moved to. Call
4382 dead_debug_insert_temp.
4383 (prepare_shrink_wrap): Adjust caller. Call dead_debug_local_init
4384 first and dead_debug_local_finish at the end.
4385 For uses and defs bitmap, handle all regs in between REGNO and
4386 END_REGNO, not just the first one.
4388 PR rtl-optimization/68955
4389 PR rtl-optimization/64557
4390 * dse.c (record_store, check_mem_read_rtx): Don't call get_addr
4391 here. Fix up formatting.
4392 * alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P.
4394 2016-01-14 Jakub Jelinek <jakub@redhat.com>
4397 * combine.c (expand_field_assignment): Punt if compute_mode is
4398 unsupported scalar mode.
4400 2016-01-11 Jakub Jelinek <jakub@redhat.com>
4402 PR tree-optimization/69214
4403 * tree-vrp.c (simplify_cond_using_ranges): Don't propagate
4404 innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
4407 2016-01-07 Jakub Jelinek <jakub@redhat.com>
4410 * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
4411 it and DECL_ALIGN too.
4413 2016-01-01 Jakub Jelinek <jakub@redhat.com>
4416 * ubsan.c (ubsan_instrument_float_cast): Call
4417 initialize_sanitizer_builtins.
4420 * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
4422 2015-12-22 Jakub Jelinek <jakub@redhat.com>
4425 * fold-const.c (size_low_cst): Removed.
4426 (fold_comparison): For POINTER_PLUS_EXPR where base is ADDR_EXPR
4427 call get_inner_reference and handle INDIRECT_REF base of it. Use
4428 offset_int for computation of the bitpos.
4429 (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Formatting
4430 fixes for X +- Y CMP X and C - X CMP X folding. Add X CMP X +- Y
4431 and X CMP C - X folding.
4433 2016-02-09 Bernd Schmidt <bschmidt@redhat.com>
4436 * varasm.c (make_decl_rtl): Mark invalid register vars as
4439 2016-02-04 Segher Boessenkool <segher@kernel.crashing.org>
4441 Backport from mainline
4442 2016-02-04 Segher Boessenkool <segher@kernel.crashing.org>
4444 PR rtl-optimization/64682
4445 PR rtl-optimization/69567
4446 * combine.c (distribute_notes) <REG_DEAD>: Place the death note
4447 before I2 only if the register is both used and set in I2.
4449 2016-02-04 Jakub Jelinek <jakub@redhat.com>
4451 Backported from mainline
4452 2016-02-03 Jakub Jelinek <jakub@redhat.com>
4455 * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
4456 Force oldval into register if it does not satisfy reg_or_short_operand
4457 predicate. Fix up formatting.
4459 2016-02-03 Kirill Yukhin <kirill.yukhin@intel.com>
4462 * config/i386/sse.md (define_insn "avx512f_maskcmp<mode>3"):
4465 2016-02-02 Uros Bizjak <ubizjak@gmail.com>
4468 * config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves.
4470 2016-02-02 Alan Modra <amodra@gmail.com>
4473 * config/rs6000/predicates.md (quad_int_reg_operand): Don't
4476 2016-02-01 H.J. Lu <hongjiu.lu@intel.com>
4478 Backport from mainline
4479 2016-01-26 H.J. Lu <hongjiu.lu@intel.com>
4481 * config/i386/i386.c (ix86_compute_frame_layout): Move stack
4482 alignment adjustment to ...
4483 (ix86_update_stack_boundary): Here. Don't over-align stack nor
4484 change stack_alignment_needed for __tls_get_addr.
4485 (ix86_finalize_stack_realign_flags): Use stack_alignment_needed
4486 if __tls_get_addr is called.
4488 2016-02-01 Richard Henderson <rth@redhat.com>
4490 Backport from mainline.
4491 2016-01-28 Richard Henderson <rth@redhat.com>
4494 * config/aarch64/aarch64-modes.def (CC_Cmode): New
4495 * config/aarch64/aarch64-protos.h: Update.
4496 * config/aarch64/aarch64.c (aarch64_zero_extend_const_eq): New.
4497 (aarch64_select_cc_mode): Add check for use of CC_Cmode.
4498 (aarch64_get_condition_code_1): Handle CC_Cmode.
4499 * config/aarch64/aarch64.md (addti3): Use adddi3_compareC.
4500 (*add<mode>3_compareC_cconly_imm): New.
4501 (*add<mode>3_compareC_cconly): New.
4502 (*add<mode>3_compareC_imm): New.
4503 (add<mode>3_compareC): New.
4504 (add<mode>3_carryin, *addsi3_carryin_uxtw): Sort compare operand
4505 to be first. Use aarch64_carry_operation.
4506 (*add<mode>3_carryin_alt1, *addsi3_carryin_alt1_uxtw): Remove.
4507 (*add<mode>3_carryin_alt2, *addsi3_carryin_alt2_uxtw): Remove.
4508 (*add<mode>3_carryin_alt3, *addsi3_carryin_alt3_uxtw): Remove.
4509 (subti3): Use subdi3_compare1.
4510 (*sub<mode>3_compare0): Rename from sub<mode>3_compare0.
4511 (sub<mode>3_compare1): New.
4512 (*sub<mode>3_carryin0, *subsi3_carryin_uxtw): New.
4513 (*sub<mode>3_carryin): Use aarch64_borrow_operation.
4514 (*subsi3_carryin_uxtw): Likewise.
4515 (*ngc<mode>, *ngcsi_uxtw): Likewise.
4516 (*sub<mode>3_carryin_alt, *subsi3_carryin_alt_uxtw): New.
4517 * config/aarch64/iterators.md (DWI): New.
4518 * config/aarch64/predicates.md (aarch64_carry_operation): New.
4519 (aarch64_borrow_operation): New.
4521 2016-01-29 Uros Bizjak <ubizjak@gmail.com>
4524 * config/i386/constraints.md (C): Only accept constant zero operand.
4525 (BC): New constraint.
4526 * config/i386/sse.md (*mov<mode>_internal): Use BC constraint
4527 instead of C constraint.
4528 * doc/md.texi (Machine Constraints): Update description
4531 2016-01-29 Jakub Jelinek <jakub@redhat.com>
4534 * config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For
4535 SSE1, copy target into the temporary reg first before recursing
4538 2016-01-28 Jakub Jelinek <jakub@redhat.com>
4541 * lra-remat.c (calculate_local_reg_remat_bb_data): Only consider
4544 2016-01-28 Richard Henderson <rth@redhat.com>
4547 * lra-remat.c (subreg_regs): New.
4548 (dump_candidates_and_remat_bb_data): Dump it.
4549 (operand_to_remat): Reject if operand in subreg_regs.
4550 (set_bb_regs): Collect subreg_regs.
4551 (lra_remat): Init and free subreg_regs. Compute
4552 calculate_local_reg_remat_bb_data before create_cands.
4554 2016-01-28 Martin Jambor <mjambor@suse.cz>
4556 PR tree-optimization/69355
4557 * tree-sra.c (analyze_access_subtree): Correct hole detection when
4558 total_scalarization fails.
4560 2016-01-26 Tom de Vries <tom@codesourcery.com>
4562 PR tree-optimization/69110
4563 * tree-data-ref.c (initialize_data_dependence_relation): Handle
4564 DR_NUM_DIMENSIONS == 0.
4566 2016-01-26 Eric Botcazou <ebotcazou@adacore.com>
4568 * config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode.
4570 2016-01-23 Tom de Vries <tom@codesourcery.com>
4572 PR tree-optimization/69426
4573 * tree-parloops.c (eliminate_local_variables_stmt): Handle vdef of
4576 2016-01-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4578 Backport from mainline
4579 2016-01-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4582 * config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to
4583 define_insn_and_split. Ensure operands[1] and operands[0] do not
4584 get assigned the same register.
4586 2016-01-21 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4588 Backported from mainline
4589 2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4591 * config/s390/s390.c (s390_save_gprs_to_fprs): Add CFA_REGISTER
4592 reg note to the GPR -> FPR save instructions.
4594 2016-01-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
4596 Backport from mainline
4597 2016-01-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
4599 PR tree-optimization/67781
4600 * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
4601 and cmpnop in two steps: first the ones not accessed in original
4602 gimple expression in a endian independent way and then the ones not
4603 accessed in the final result in an endian-specific way.
4605 2016-01-20 Marek Polacek <polacek@redhat.com>
4608 * match.pd ((x & ~m) | (y & m)): Only perform on GIMPLE.
4610 2016-01-19 Sergei Trofimovich <siarheit@google.com>
4612 Backport from mainline
4614 * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
4615 for local symbolic operands.
4616 * config/ia64/predicates.md (local_symbolic_operand64): New
4619 2016-01-19 Jeff Law <law@redhat.com>
4621 Backport from mainline
4622 2016-01-12 Jeff Law <law@redhat.com>
4624 PR tree-optimization/pr67755
4625 * tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
4626 "need_profile_correction".
4627 (thread_block_1): Initialize new field to false by default. If we
4628 have multiple thread paths through a common joiner to different
4629 final targets, then set new field to true.
4630 (compute_path_counts): Only do count adjustment when it's really
4633 2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4635 Backport from mainline
4636 2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4639 * config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds"
4640 attribute to unconditional. Remove %? from output template.
4642 2016-01-18 Alexander Fomin <alexander.fomin@intel.com>
4644 Backport from mainline
4645 2015-10-09 Alexander Fomin <alexander.fomin@intel.com>
4648 * config/i386/sse.md (define_insn "sse_cvtsi2ss<round_name>"):
4649 Adjust embedded rounding/SAE specifier position.
4650 (define_insn "sse_cvtsi2ssq<round_name>"): Likewise.
4651 (define_insn "cvtusi2<ssescalarmodesuffix>32<round_name>"): Likewise.
4652 (define_insn "cvtusi2<ssescalarmodesuffix>64<round_name>"): Likewise.
4653 (define_insn "sse2_cvtsi2sdq<round_name>"): Likewise.
4654 (define_insn "avx512dq_rangep<mode><mask_name><round_saeonly_name>"):
4656 (define_insn "avx512dq_ranges<mode><round_saeonly_name>"): Likewise.
4658 2016-01-18 Uros Bizjak <ubizjak@gmail.com>
4660 Backport from mainline
4661 2016-01-07 Uros Bizjak <ubizjak@gmail.com>
4664 * config/i386/i386.c (ix86_frame_pointer_required): Enable
4665 frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
4667 2016-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4669 Backport from mainline:
4670 2016-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4672 PR tree-optimization/68799
4673 * gimple-ssa-strength-reduction.c (create_phi_basis): Directly
4674 look up phi candidates in the statement-candidate map.
4675 (phi_add_costs): Likewise.
4676 (record_phi_increments): Likewise.
4677 (phi_incr_cost): Likewise.
4678 (ncd_with_phi): Likewise.
4679 (all_phi_incrs_profitable): Likewise.
4681 2016-01-17 Kugan Vivekanandarajah <kuganv@linaro.org>
4683 Backport from mainline
4684 2016-01-12 Kugan Vivekanandarajah <kuganv@linaro.org>
4685 Jim Wilson <jim.wilson@linaro.org>
4688 * config/arm/arm-builtins.c (arm_expand_neon_args): Call
4689 copy_to_mode_reg instead of force_reg.
4691 2016-01-15 Alexander Fomin <alexander.fomin@intel.com>
4693 Backport from mainline
4694 2016-01-13 Alexander Fomin <alexander.fomin@intel.com>
4697 * config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
4698 Change first operand predicate from register_or_constm1_operand
4699 to register_operand.
4700 (define_expand "avx512pf_gatherpf<mode>df"): Likewise.
4701 (define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
4702 (define_expand "avx512pf_scatterpf<mode>df"): Likewise.
4703 (define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
4704 (define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
4705 (define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
4706 (define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
4707 * config/i386/i386.c (ix86_expand_builtin): Remove first operand
4708 comparison with constm1_rtx from vec_prefetch_gen part.
4710 2016-01-13 Richard Biener <rguenther@suse.de>
4712 PR tree-optimization/69013
4713 * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
4714 Exchange assert for a test.
4716 2016-01-12 H.J. Lu <hongjiu.lu@intel.com>
4718 Backport from mainline
4719 2016-01-12 Jakub Jelinek <jakub@redhat.com>
4722 * config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
4723 aligned_mem is properly set for AVX512-VL floating point masked
4726 2015-12-04 Ilya Enkovich <enkovich.gnu@gmail.com>
4728 * config/i386/sse.md (<avx512>_store<mode>_mask): Fix
4729 operand checked for alignment.
4731 2016-01-12 James Greenhalgh <james.greenhalgh@arm.com>
4733 Backport from mainline r222186.
4734 2015-04-17 Jakub Jelinek <jakub@redhat.com>
4737 * genpreds.c (struct constraint_data): Add maybe_allows_reg and
4738 maybe_allows_mem bitfields.
4739 (maybe_allows_none_start, maybe_allows_none_end,
4740 maybe_allows_reg_start, maybe_allows_reg_end, maybe_allows_mem_start,
4741 maybe_allows_mem_end): New variables.
4742 (compute_maybe_allows): New function.
4743 (add_constraint): Use it to initialize maybe_allows_reg and
4744 maybe_allows_mem fields.
4745 (choose_enum_order): Sort the non-is_register/is_const_int/is_memory/
4746 is_address constraints such that those that allow neither mem nor
4747 reg come first, then those that only allow reg but not mem, then
4748 those that only allow mem but not reg, then the rest.
4749 (write_allows_reg_mem_function): New function.
4750 (write_tm_preds_h): Call it.
4751 * stmt.c (parse_output_constraint, parse_input_constraint): Use
4752 the generated insn_extra_constraint_allows_reg_mem function
4753 instead of always setting *allows_reg = true; *allows_mem = true;
4754 for unknown extra constraints.
4756 2016-01-11 John David Anglin <danglin@gcc.gnu.org>
4758 * config/pa/pa.c (pa_emit_move_sequence): Handle floating point
4759 reloads for other unsupported memory operands.
4761 2016-01-11 Martin Jambor <mjambor@suse.cz>
4764 * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
4767 2016-01-11 Yury Gribov <y.gribov@samsung.com>
4769 Backport from mainline
4770 2016-01-11 Yury Gribov <y.gribov@samsung.com>
4773 * common.opt (frandom-seed): Fix parameter name.
4774 * doc/invoke.texi (frandom-seed): Ditto and describe parameter.
4776 2016-01-08 Martin Jambor <mjambor@suse.cz>
4778 Backport from mainline
4779 2015-12-15 Martin Jambor <mjambor@suse.cz>
4782 * cgraph.c (collect_callers_of_node_1): Do not collect thunks.
4783 * cgraph.h (cgraph_node): Change comment of collect_callers.
4785 2016-01-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4788 * config/arm/arm.md (*andsi_iorsi3_notsi): Try to simplify
4789 the complement of operands[3] during splitting.
4791 2015-12-31 Kirill Yukhin <kirill.yukhin@intel.com>
4793 * config/i386/sse.md (define_insn "vec_dup<mode>"): Separate EVEX
4796 2015-12-30 Kirill Yukhin <kirill.yukhin@intel.com>
4798 * config/i386/sse.md (define_insn "vec_extract_hi_<mode>_maskm"):
4799 Remove "prefix_extra".
4800 (define_insn "vec_extract_hi_<mode>_mask"): New.
4801 (define_insn "vec_extract_hi_<mode>"): Remove masking.
4803 2015-12-25 Andreas Tobler <andreast@gcc.gnu.org>
4805 Backport from mainline
4806 2015-12-25 Andreas Tobler <andreast@gcc.gnu.org>
4808 * config/rs6000/freebsd64.h: Delete FREEBSD_DYNAMIC_LINKER32/64
4809 defines. Use FBSD_DYNAMIC_LINKER instead.
4810 Rename and simplify LINK_OS_FREEBSD_SPEC_DEF32/64 to
4811 LINK_OS_FREEBSD_SPEC_DEF.
4813 2015-12-22 Peter Bergner <bergner@vnet.ibm.com>
4815 Backport from mainline
4817 * config/rs6000/rs6000.h (ASM_CPU_SPEC): For -mcpu=powerpc64le,
4818 pass %(asm_cpu_power8).
4820 2015-12-19 Eric Botcazou <ebotcazou@adacore.com>
4822 PR rtl-optimization/68910
4823 * emit-rtl.c (set_unique_reg_note) <REG_EQUAL>: Add bypass for USEs.
4824 * config/sparc/sparc.md (anddi3): Enable only in 64-bit mode.
4827 (one_cmpldi2): Likewise.
4828 (*anddi3_sp32): Delete.
4829 (*and_not_di_sp32): Likewise.
4830 (*iordi3_sp32): Likewise.
4831 (*or_not_di_sp32): Likewise.
4832 (*xordi3_sp32): Likewise.
4833 (*xor_not_di_sp32): Likewise.
4834 (32-bit DImode logical operations splitter): Likewise.
4835 (*one_cmpldi2_sp32): Likewise.
4837 2015-13-18 John David Anglin <danglin@gcc.gnu.org>
4840 * config/pa/pa.c (pa_emit_move_sequence): Reorganize handling of
4841 floating-point reloads. Only reload operands that are not valid
4842 floating-point memory operands.
4844 2015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4846 Backported from mainline
4847 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4849 * config/s390/predicates.md (const_mask_operand): New predicate.
4850 * config/s390/s390-builtins.def: Set a smaller bitmask for a
4852 * config/s390/vector.md: Change predicate from immediate_operand
4853 to either const_int_operand or const_mask_operand. Add special
4854 insn conditions on patterns which have to exclude certain values.
4855 * config/s390/vx-builtins.md: Likewise.
4857 2015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4859 Backported from mainline
4860 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4862 * config/s390/vector.md ("*vec_set<mode>"): Change shift count
4865 2015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4867 Backported from mainline
4868 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4870 * config/s390/s390-builtin-types.def: New builtin types added.
4871 * config/s390/s390-builtins.def: Add s390_vec_splat_* definitions.
4872 * config/s390/s390.c (s390_expand_builtin): Always truncate
4873 constants to the mode in the pattern.
4874 * config/s390/vecintrin.h: Let the vec_splat_* macros point to the
4875 respective builtin __builtin_s390_vec_splat_*.
4877 2015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4879 Backported from mainline
4880 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4882 * config/s390/s390-builtin-types.def: Sort builtin types.
4884 2015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4886 Backported from mainline
4887 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4889 * config/s390/s390-c.c (s390_get_vstring_flags): Invert the
4890 condition for the RT flag.
4892 2015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4894 * config/s390/constraints.md: Use private backport of
4895 const_vec_duplicate_p s390_const_vec_duplicate_p.
4896 * config/s390/s390-protos.h: Add prototype for
4897 s390_const_vec_duplicate_p.
4898 * config/s390/s390.c (s390_const_vec_duplicate_p): New function.
4899 (s390_contiguous_bitmask_vector_p): Use s390_const_vec_duplicate_p.
4900 (print_operand): Likewise.
4902 2015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4904 Backported from mainline
4905 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4907 * config/s390/constraints.md ("jKK"): New constraint.
4908 * config/s390/s390.c (tm-constrs.h): Include for
4909 satisfies_constraint_*.
4910 (s390_legitimate_constant_p): Allow jKK constants. Use
4911 satisfies_constraint_* also for the others.
4912 (legitimate_reload_vector_constant_p): Likewise.
4913 (print_operand): Allow h output modifier on vectors.
4914 * config/s390/vector.md ("mov<mode>"): Add vrepi.
4916 2015-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4918 Backported from mainline
4920 2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4922 * config/s390/vector.md ("*vec_splats<mode>"): Fix constraint
4925 2015-12-18 Jakub Jelinek <jakub@redhat.com>
4927 Backported from mainline
4928 2015-12-17 Jakub Jelinek <jakub@redhat.com>
4930 PR tree-optimization/68835
4931 * tree.c (get_int_cst_ext_nunits): Return
4932 cst.get_precision () / HOST_BITS_PER_WIDE_INT + 1
4933 for all unsigned wi::neg_p (cst) constants.
4934 (build_new_int_cst): If cst.get_precision is not a multiple
4935 of HOST_BITS_PER_WIDE_INT, zero extend -1 to the precision
4936 % HOST_BITS_PER_WIDE_INT.
4938 2015-12-16 John David Anglin <danglin@gcc.gnu.org>
4941 * config/pa/pa.md (atomic_loaddi): Honor -mdisable-fpregs.
4942 (atomic_loaddi_1): Likewise.
4943 (atomic_storedi): Likewise.
4944 (atomic_storedi_1): Likewise.
4945 (atomic_loaddf): Likewise.
4946 (atomic_loaddf_1): Likewise.
4947 (atomic_storedf): Likewise.
4948 (atomic_storedf_1): Likewise.
4949 Move all atomic patterns to end of file.
4951 2015-12-16 Richard Biener <rguenther@suse.de>
4953 Backport from mainline
4954 2015-12-02 Jan Hubicka <hubicka@ucw.cz>
4957 * cgraphunit.c (cgraph_node::analyze): Set can_throw_external.
4959 2015-12-16 Richard Biener <rguenther@suse.de>
4961 Backport from mainline
4962 2015-12-04 Richard Biener <rguenther@suse.de>
4965 * builtins.c (get_pointer_alignment_1): Take care of byte to
4966 bit alignment computation overflow.
4968 2015-11-30 Richard Biener <rguenther@suse.de>
4971 * dwarf2out.c (gen_type_die_with_usage): Keep variant types
4974 2015-12-14 Martin Jambor <mjambor@suse.cz>
4977 * ipa-cp.c (propagate_constants_accross_call): Move thuk check...
4978 (call_passes_through_thunk_p): ...here.
4979 (find_more_scalar_values_for_callers_subset): Perform thunk checks
4980 like propagate_constants_accross_call does.
4982 2015-12-14 James Greenhalgh <james.greenhalgh@arm.com>
4984 Backport from mainline.
4985 2015-12-09 James Greenhalgh <james.greenhalgh@arm.com>
4987 PR rtl-optimization/67609
4988 * config/aarch64/aarch64-protos.h
4989 (aarch64_cannot_change_mode_class): Bring back.
4990 * config/aarch64/aarch64.c
4991 (aarch64_cannot_change_mode_class): Likewise.
4992 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Likewise.
4993 * config/aarch64/aarch64.md (aarch64_movdi_<mode>low): Use
4994 zero_extract rather than truncate.
4995 (aarch64_movdi_<mode>high): Likewise.
4997 2015-12-14 Uros Bizjak <ubizjak@gmail.com>
4999 Backport from mainline
5000 2015-12-11 Martin Liska <mliska@suse.cz>
5001 Uros Bizjak <ubizjak@gmail.com>
5004 * config/i386/i386.c (ix86_valid_target_attribute_tree):
5005 Use ggc_strdup to copy option_strings to opts->x_ix86_arch_string and
5006 opts->x_ix86_tune_string.
5008 2015-12-13 Alexandre Oliva <aoliva@redhat.com>
5011 * var-tracking.c (reverse_op): Don't add dummy zero to reverse
5012 ops that simplify back to the original value.
5013 * alias.c (refs_newer_value_p): Cut off recursion for
5014 expressions containing the original value.
5016 2015-12-10 Jakub Jelinek <jakub@redhat.com>
5018 PR rtl-optimization/68376
5019 PR rtl-optimization/68670
5020 * ifcvt.c (noce_try_abs): For one_cmpl allow < 0, >= 0
5021 or > -1 conditions regardless of negate, and disallow
5022 all other conditions.
5024 2015-12-10 Andreas Tobler <andreast@gcc.gnu.org>
5026 Backport from mainline
5027 2015-12-09 Andreas Tobler <andreast@gcc.gnu.org>
5029 * config/rs6000/freebsd64.h: Remove the redefinition of WCHAR_TYPE.
5031 2015-12-10 Uros Bizjak <ubizjak@gmail.com>
5033 Backport from mainline
5034 2015-12-08 Uros Bizjak <ubizjak@gmail.com>
5037 * config/i386/i386.c (ix86_option_override_internal): Enable
5038 -maccumulate-outgoing-args when %ebp is fixed due to stack
5039 realignment requirements.
5041 2015-12-10 Ilya Enkovich <enkovich.gnu@gmail.com>
5043 Backport from mainline r231224.
5044 2015-12-03 Ilya Enkovich <enkovich.gnu@gmail.com>
5046 * cfgexpand.c (expand_gimple_stmt_1): Return statement with
5047 DECL as return value is allowed to have NULL bounds.
5049 2015-12-10 Martin Liska <mliska@suse.cz>
5051 Backport from mainline
5052 2015-04-30 Jan Hubicka <hubicka@ucw.cz>
5055 * ipa-devirt.c (odr_types_equivalent_p): NULLPTR_TYPE is equivalent
5058 2015-12-09 John David Anglin <danglin@gcc.gnu.org>
5061 * config/pa/pa.c (pa_emit_move_sequence): Don't check that mode is
5062 consistent with modes of the input and output operands when doing
5063 reloads to and from floating point registers. Do reload for all
5066 2015-12-09 Martin Liska <mliska@suse.cz>
5068 Backport from mainline
5069 2015-12-09 Martin Liska <mliska@suse.cz>
5072 * ipa-icf.c (sem_function::param_used_p): Return true
5073 if ipa_node_params_sum equals to NULL.
5075 2015-12-07 Jakub Jelinek <jakub@redhat.com>
5077 Backport from mainline
5078 2015-12-04 Jakub Jelinek <jakub@redhat.com>
5080 PR tree-optimization/68680
5081 * calls.c (special_function_p): Return ECF_MAY_BE_ALLOCA for
5082 BUILT_IN_ALLOCA{,_WITH_ALIGN}. Don't check for __builtin_alloca
5085 PR tree-optimization/68671
5086 * tree-ssa-reassoc.c (maybe_optimize_range_tests): For basic
5087 blocks starting with the successor of first bb we've modified
5088 and ending with last_bb call reset_flow_sensitive_info_in_bb.
5090 2015-12-04 Andreas Tobler <andreast@gcc.gnu.org>
5092 Backport from mainline
5093 2015-12-01 Andreas Tobler <andreast@gcc.gnu.org>
5095 * config/rs6000/freebsd64.h (ELFv2_ABI_CHECK): Add new macro.
5096 (SUBSUBTARGET_OVERRIDE_OPTIONS): Use it to decide whether to set
5097 rs6000_current_abi to ABI_AIX or ABI_ELFv2.
5099 2015-12-04 Richard Biener <rguenther@suse.de>
5101 * BASE-VER: Set to 5.3.1.
5103 2015-12-04 Release Manager
5105 * GCC 5.3.0 released.
5107 2015-11-28 Gerald Pfeifer <gerald@pfeifer.com>
5109 * config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Change to i586.
5110 Remove support for FreeBSD 5 and earlier.
5112 2015-11-27 Jakub Jelinek <jakub@redhat.com>
5114 PR tree-optimization/68552
5115 * optabs.c (expand_vec_perm_1): Move vec_shr handling from here...
5116 (expand_vec_perm): ... here. Do it regardless of vec_perm_const_optab
5117 or whether v0 == v1.
5119 2015-11-26 Bernd Edlinger <bernd.edlinger@hotmail.de>
5121 Backport from mainline
5122 2015-09-30 Bernd Edlinger <bernd.edlinger@hotmail.de>
5124 PR rtl-optimization/67037
5125 * lra-constraints.c (process_addr_reg): Use copy_rtx when necessary.
5127 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
5129 Backport from mainline
5130 2015-11-25 David Edelsohn <dje.gcc@gmail.com>
5132 * config/rs6000/rs6000.c (rs6000_declare_alias): Rename and globalize
5133 both the symbol and the "dot" symbol for function descriptors. Fix
5134 inversion for rename of symbols with dollar sign.
5136 2015-11-26 Ilya Enkovich <enkovich.gnu@gmail.com>
5138 Backport from mainline r230938.
5139 2015-11-26 Vladimir Makarov <vmakarov@redhat.com>
5142 * config/i386/i386.h (enum reg_class): Add
5143 bounds registers to ALL_REGS.
5145 2015-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5147 Backport from mainline
5148 2015-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5149 Bernd Schmidt <bschmidt@redhat.com>
5151 PR rtl-optimization/67226
5152 * calls.c (store_one_arg): Take into account
5153 crtl->args.pretend_args_size when checking for overlap between
5154 arg->value and argblock + arg->locate.offset during sibcall
5157 2015-11-25 Vladimir Makarov <vmakarov@redhat.com>
5159 PR rtl-optimization/67954
5160 * lra-constraints.c (curr_insn_transform): Add check on scratch
5161 pseudo when change class to NO_REGS. Add an assert.
5163 2015-11-24 Michael Meissner <meissner@linux.vnet.ibm.com>
5165 Backport form mainline
5166 2015-11-24 David Edelsohn <dje.gcc@gmail.com>
5167 Michael Meissner <meissner@linux.vnet.ibm.com>
5169 * config/rs6000/rs6000.md (UNSPEC_XSRDPI): New unspec.
5170 (Fv2): New mode attribute to be used when ISA 2.07 instructions
5171 are used on SF values, and ISA 2.06 instructions on DF values.
5172 (add<mode>3_fpr): Use <Fv2> instead of <Fv>.
5173 (sub<mode>3_fpr): Use <Fv2> instead of <Fv>.
5174 (mul<mode>3_fpr): Use <Fv2> instead of <Fv>.
5175 (div<mode>3_fpr): Use <Fv2> instead of <Fv>.
5176 (sqrt<mode>2): Use <Fv2> instead of <Fv>.
5177 (fre<Fs>): Use <Fv2> instead of <Fv>.
5178 (rsqrt<mode>2): Use <Fv2> instead of <Fv>.
5179 (cmp<mode>_fpr): Use <Fv2> instead of <Fv>.
5180 (xsrdpi<mode>): Add support for the lround function.
5181 (lround<mode>di2): Likewise.
5182 (fma<mode>4_fpr): Use <Fv2> instead of <Fv>.
5183 (fms<mode>4_fpr): Use <Fv2> instead of <Fv>.
5184 (nfma<mode>4_fpr): Use <Fv2> instead of <Fv>.
5185 (nfms<mode>4_fpr): Use <Fv2> instead of <Fv>.
5187 2015-11-24 Andreas Tobler <andreast@gcc.gnu.org>
5189 Backport from mainline
5190 2015-11-18 Andreas Tobler <andreast@gcc.gnu.org>
5192 * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Bring in the
5193 commit from r125920 for FreeBSD.
5195 2015-11-24 Ilya Enkovich <enkovich.gnu@gmail.com>
5197 Backport from mainline r230796.
5198 2015-11-24 Ilya Enkovich <enkovich.gnu@gmail.com>
5201 * gimple-fold.c: Include ipa-chkp.h.
5202 (gimple_fold_builtin_memory_op): Don't fold call if we
5203 are going to instrument it and it may copy pointers.
5205 2015-11-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5207 Backport from mainline
5208 2015-11-24 Bernd Schmidt <bschmidt@redhat.com>
5209 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5211 PR rtl-optimization/68194
5212 PR rtl-optimization/68328
5213 PR rtl-optimization/68185
5214 * ree.c (combine_reaching_defs): Reject copy_needed case if
5215 copies_list is not empty.
5217 2015-11-24 Richard Biener <rguenther@suse.de>
5220 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Properly
5223 2015-11-24 Jakub Jelinek <jakub@redhat.com>
5226 * tree-vect-generic.c (lower_vec_perm): If VEC_PERM_EXPR
5227 is valid vec_shr pattern, don't lower it even if can_vec_perm_p
5229 * optabs.c (shift_amt_for_vec_perm_mask): Return NULL_RTX
5230 whenever first is nelt or above. Don't mask expected with
5233 2015-11-23 Michael Meissner <meissner@linux.vnet.ibm.com>
5235 Backport from mainline
5236 2015-10-05 Michael Meissner <meissner@linux.vnet.ibm.com>
5237 Peter Bergner <bergner@vnet.ibm.com>
5240 * config/rs6000/rs6000.md (extenddftf2): In the expander, only
5241 allow registers, but provide insns for the combiner to create for
5242 loads from memory. Separate VSX code from non-VSX code. For
5243 non-VSX code, combine extenddftf2_fprs into extenddftf2 and rename
5244 externaldftf2_internal to externaldftf2_fprs. Reorder constraints
5245 so that registers come before memory operations. Drop support from
5246 converting DFmode to TFmode, if the DFmode value is in a GPR
5248 (extenddftf2_fprs): Likewise.
5249 (extenddftf2_internal): Likewise.
5250 (extenddftf2_vsx): Likewise.
5251 (extendsftf2): In the expander, only allow registers, but provide
5252 insns for the combiner to create for stores and loads.
5254 2015-11-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5256 Backport from mainline
5257 2015-11-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5260 * config/aarch64/aarch64.c (aarch64_madd_needs_nop): Reject arguments
5261 that are not INSN_P.
5263 2015-11-23 Martin Liska <mliska@suse.cz>
5265 Backport from mainline
5266 2015-06-22 Jan Hubicka <hubicka@ucw.cz>
5267 Martin Liska <mliska@suse.cz>
5270 * ipa-icf.c (sem_item::target_supports_symbol_aliases): Remove
5271 construction of arg_types.
5272 (sem_function::sem_function): Likewise.
5273 (sem_function::~sem_function): Remove destruction of arg_types.
5274 (sem_function::compatible_parm_types_p): New function.
5275 (sem_function::equals_wpa): Reorg matching of return values
5276 and parameter types.
5277 (sem_function::equals_private): Reorg mathcing of argument types.
5278 (sem_function::parse_tree_args): Remove.
5279 (sem_function::param_used_p): New function.
5280 * ipa-icf.h (init_wpa): Do not call it.
5281 (parse_tree_args): Remove.
5282 (compatible_parm_types_p): Declare.
5283 (result_type): Remove.
5284 (arg_types): Remove.
5285 (param_used_p): Declare.
5287 2015-11-23 Richard Biener <rguenther@suse.de>
5289 Backport from mainline
5290 2015-10-29 Richard Biener <rguenther@suse.de>
5293 * fold-const.c (fold_cond_expr_with_comparison): Do not fold
5294 unsigned conditonal negation to ABS_EXPR.
5296 2015-11-22 Dominique d'Humieres <dominiq@lps.ens.fr>
5298 Backport from mainline
5299 2015-09-14 Manuel López-Ibáñe<manu@gcc.gnu.org>
5302 * diagnostic.c (diagnostic_initialize): Do not set
5303 some_warnings_are_errors.
5304 (diagnostic_finish): Use DK_WERROR count instead.
5305 (diagnostic_report_diagnostic): Do not set
5306 some_warnings_are_errors.
5307 * diagnostic.h (struct diagnostic_context): Remove
5308 some_warnings_are_errors.
5310 2015-11-21 Jakub Jelinek <jakub@redhat.com>
5313 * tree-inline.c (copy_debug_stmt): If
5314 gimple_debug_source_bind_get_value is DECL_ORIGIN of a PARM_DECL
5315 in decl_debug_args, don't call remap_gimple_op_r on it.
5317 2015-11-20 Jakub Jelinek <jakub@redhat.com>
5320 * omp-low.c (expand_simd_clones): Call node->get_body () before
5321 allocating stuff in GC.
5323 2015-11-20 Eric Botcazou <ebotcazou@adacore.com>
5325 * doc/md.texi (Standard Names): Move entry for addptr3 around,
5326 add entries for addv4, subv4, mulv4, umulv4 and negv3, fixes
5327 glitch in entries for cbranch4 and jump.
5329 2015-11-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5331 Backport from mainline
5332 * config/s390/s390.md ("bswaphi2"): New pattern.
5334 2015-11-20 Dominik Vogt <vogt@linux.vnet.ibm.com>
5336 Backport from mainline
5337 * config/s390/s390.md (GPR1_REGNUM): New constant.
5338 ("*trunc<BFP:mode><DFP_ALL:mode>2")
5339 ("*trunc<DFP_ALL:mode><BFP:mode>2")
5340 ("trunc<BFP:mode><DFP_ALL:mode>2")
5341 ("trunc<DFP_ALL:mode><BFP:mode>2")
5342 ("*extend<BFP:mode><DFP_ALL:mode>2")
5343 ("*extend<DFP_ALL:mode><BFP:mode>2")
5344 ("extend<BFP:mode><DFP_ALL:mode>2")
5345 ("extend<DFP_ALL:mode><BFP:mode>2"): Clobber r1.
5347 2015-11-19 Eric Botcazou <ebotcazou@adacore.com>
5350 * configure.ac (PLUGIN_LD_SUFFIX): Do not touch the value specified
5352 * configure: Regenerate.
5354 2015-11-19 Eric Botcazou <ebotcazou@adacore.com>
5357 * config/sparc/sp-elf.h (CTORS_SECTION_ASM_OP): Undefine.
5358 (DTORS_SECTION_ASM_OP): Likewise.
5360 2015-11-19 Jakub Jelinek <jakub@redhat.com>
5362 PR rtl-optimization/68376
5363 * ifcvt.c (noce_try_abs): Disable one_cmpl optimization if
5364 encountering x <= 0 ? ~x : x or x > 0 ? ~x : x.
5367 * config/i386/i386.md (simple_return): Disable if
5368 ix86_static_chain_on_stack is true.
5370 2015-11-18 Richard Henderson <rth@redhat.com>
5372 Backport from mainline
5374 * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
5375 sse check to the exact conditions of PR 67609.
5377 * config/i386/i386.c (ix86_cannot_change_mode_class): Disallow
5378 narrowing subregs on SSE and MMX registers.
5379 * doc/tm.texi.in (CANNOT_CHANGE_MODE_CLASS): Clarify when subregs that
5380 appear to be sub-words of multi-register pseudos must be rejected.
5381 * doc/tm.texi: Regenerate.
5383 2015-11-18 Richard Biener <rguenther@suse.de>
5385 Backport from mainline
5386 2015-11-07 Jan Hubicka <hubicka@ucw.cz>
5390 * ipa-polymorphic-call.c
5391 (ipa_polymorphic_call_context::restrict_to_inner_type): Fix ordering
5392 issue when offset is out of range.
5393 (contains_type_p): Fix out of range check, clear dynamic flag.
5395 2015-10-23 Jan Hubicka <hubicka@ucw.cz>
5398 * ipa-polymorphic-call.c
5399 (ipa_polymorphic_call_context::get_dynamic_type): Do not confuse
5400 instance offset with offset of outer type.
5402 2015-10-12 Richard Biener <rguenther@suse.de>
5405 * ipa-inline-analysis.c (estimate_function_body_sizes): Re-add
5406 code that analyzes IVs on each stmt but in a cheaper way avoiding
5409 2015-10-11 Jan Hubicka <hubicka@ucw.cz>
5412 * ipa-polymorphic-call.c (possible_placement_new): If cur_offset
5413 is negative we don't know the type.
5414 (check_stmt_for_type_change): Skip constructors of non-polymorphic
5415 types as those won't help devirutalization.
5417 2015-08-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
5421 * diagnostic.c (diagnostic_classify_diagnostic): Take -Werror into
5422 account when deciding what was the command-line status.
5424 2015-11-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5426 Backport from mainline
5427 2015-11-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5430 * config/arm/arm.c (arm_block_set_unaligned_vect): Keep track of
5431 offset from dstbase and use it appropriately in
5432 adjust_automodify_address.
5433 (arm_block_set_aligned_vect): Likewise.
5435 2015-11-18 Richard Biener <rguenther@suse.de>
5437 Backport from mainline
5438 2015-10-28 Richard Biener <rguenther@suse.de>
5441 * fold-const.c (negate_expr_p): We cannot negate plus or minus
5442 if overflow is not wrapping. Likewise multiplication unless
5443 one operand is constant and not power of two.
5444 (fold_negate_expr): Adjust accordingly.
5446 2015-10-26 Richard Biener <rguenther@suse.de>
5447 Dominik Vogt <vogt@linux.vnet.ibm.com>
5450 * alias.c (ao_ref_from_mem): Remove promoted subreg handling.
5451 Properly prune ref->ref for accesses outside of ref.
5453 2015-10-20 Richard Biener <rguenther@suse.de>
5455 PR tree-optimization/68017
5456 * tree-tailcall.c (eliminate_tail_call): Remove stmts backwards.
5458 2015-09-23 Richard Biener <rguenther@suse.de>
5461 * fold-const.c (fold_binary_loc): Do not reassociate two vars with
5462 undefined overflow unless they will cancel out.
5464 2015-11-18 Jakub Jelinek <jakub@redhat.com>
5466 PR tree-optimization/68157
5467 * tree-ssa-reassoc.c (attempt_builtin_powi): Set uid of
5468 pow_stmt or mul_stmt from stmt's uid.
5469 (reassociate_bb): Set uid of mul_stmt from stmt's uid.
5471 2015-11-16 Charles Baylis <charles.baylis@linaro.org>
5473 Backport from mainline r227407
5475 * cgraphunit.c (cgraph_node::create_wrapper): Set can_throw_external
5476 in new callgraph edge.
5478 2015-11-16 Oleg Endo <olegendo@gcc.gnu.org>
5480 Backport from mainline
5481 2015-11-16 Oleg Endo <olegendo@gcc.gnu.org>
5482 Kaz Kojima <kkojima@gcc.gnu.org>
5485 * config/sh/sh.md (addsi3_scr): Handle reg overlap of operands[0] and
5487 (*addsi3): Add another insn_and_split variant for reload.
5489 2015-11-12 Eric Botcazou <ebotcazou@adacore.com>
5492 * config/i386/i386.c (ix86_adjust_stack_and_probe): Remove obsolete
5493 assertion on the CFA register.
5495 2015-11-11 Eric Botcazou <ebotcazou@adacore.com>
5498 * ira.c (ira_setup_eliminable_regset): Do not necessarily create the
5499 frame pointer for stack checking if non-call exceptions aren't used.
5500 * config/i386/i386.c (ix86_finalize_stack_realign_flags): Likewise.
5502 2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5505 * config/aarch64/aarch64.h (TARGET_SUPPORTS_WIDE_INT): Define to 1.
5506 * config/aarch64/aarch64.c (aarch64_print_operand, CONST_DOUBLE):
5507 Delete VOIDmode case. Assert that mode is not VOIDmode.
5508 * config/aarch64/predicates.md (const0_operand): Remove const_double
5511 2015-11-10 James Greenhalgh <james.greenhalgh@arm.com>
5513 Partial backport from trunk r228751.
5514 PR tree-optimization/68238
5515 2015-10-13 Richard Biener <rguenther@suse.de>
5517 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Use
5518 LOOP_VINFO_COMP_ALIAS_DDRS to estimate alias versioning cost.
5520 2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
5523 * config/sparc/sparc.c (sparc_function_value_1): In 32-bit mode, do
5524 not promote the mode for aggregate types.
5526 2015-11-09 Mike Stump <mikestump@comcast.net>
5529 * dwarf2out.c (get_full_len): Return a value based upon the actual
5530 precision needed for the value.
5531 (add_const_value_attribute): Use a maximal wide-int for
5532 CONST_WIDE_INTs, not VOIDmode.
5533 (output_die): Don't ever output NULL with printf.
5535 * rtl.h (get_precision of rtx_mode_t): Ensure we never process
5536 BLKmode nor VOIDmode values.
5538 2015-11-06 Vladimir Makarov <vmakarov@redhat.com>
5540 PR rtl-optimization/68106
5541 * lra-remat.c (input_regno_present_p): Process hard regs
5542 explicitly present in machine description insns.
5543 (call_used_input_regno_present_p): Ditto.
5544 (calculate_gen_cands): Ditto.
5547 2015-11-02 Andreas Tobler <andreast@gcc.gnu.org>
5549 * config/rs6000/freebsd64.h (ASM_SPEC32): Adapt spec to handle PIE
5552 2015-11-02 Steve Ellcey <sellcey@imgtec.com>
5554 Backport from mainline
5555 2015-10-23 Steve Ellcey <sellcey@imgtec.com>
5556 Andrew Pinski <apinski@cavium.com>
5558 PR rtl-optimization/67736
5559 * combine.c (simplify_comparison): Use gen_lowpart_or_truncate instead
5562 2015-10-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5564 Backport from mainline
5565 2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5568 * config/aarch64/aarch64.md (*movsi_aarch64): Check that
5569 operands[0] is a reg before taking its REGNO in split condition.
5570 (*movdi_aarch64): Likewise.
5572 2015-10-27 Caroline Tice <cmtice@google.com.
5574 (from Richard Biener)
5575 * tree.c (int_cst_hasher::hash): Replace XOR with more efficient
5576 call to interative_hash_host_wide_int.
5578 2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5580 Backport from mainline
5581 2015-10-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5584 * optabs.c (expand_atomic_compare_and_swap): Handle case when
5585 ptarget_oval or ptarget_bool are const0_rtx.
5587 2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5590 * config/arm/arm.c (vfp3_const_double_for_bits): Rewrite.
5591 * config/arm/constraints.md (Dp): Update callsite.
5592 * config/arm/predicates.md (const_double_vcvt_power_of_two): Likewise.
5594 2015-10-27 Martin Jambor <mjambor@suse.cz>
5596 * tree-sra.c (replace_removed_params_ssa_names): Change type of
5597 parameter stmt to gimple.
5599 2015-10-26 Martin Jambor <mjambor@suse.cz>
5601 Backport from mainline
5602 2015-10-09 Martin Jambor <mjambor@suse.cz>
5604 PR tree-optimization/67794
5605 * tree-sra.c (replace_removed_params_ssa_names): Do not distinguish
5606 between types of statements but accept original definitions as a
5608 (ipa_sra_modify_function_body): Use FOR_EACH_SSA_DEF_OPERAND to
5609 iterate over definitions.
5611 2015-10-25 John David Anglin <danglin@gcc.gnu.org>
5614 * dojump.c (do_compare_and_jump): Canonicalize both function and
5617 2015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5619 Backport from mainline
5620 2015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5623 * config/s390/s390.md (mov<mode>cc): Emit compare only if we don't
5624 already have a comparison result.
5626 2015-10-22 Uros Bizjak <ubizjak@gmail.com>
5628 Backport from mainline
5629 2015-10-21 Uros Bizjak <ubizjak@gmail.com>
5632 * config/i386/i386.c (ix86_compute_frame_layout): Realign the stack
5633 for 64-bit MS_ABI targets also when default incoming stack boundary
5636 2015-10-20 Szabolcs Nagy <szabolcs.nagy@arm.com>
5638 Backport from mainline r229024
5639 2015-10-20 Szabolcs Nagy <szabolcs.nagy@arm.com>
5642 * varasm.c (default_binds_local_p_2): Turn on extern_protected_data.
5644 2015-10-19 H.J. Lu <hongjiu.lu@intel.com>
5646 Backport from mainline
5647 2015-07-20 Mikhail Maltsev <maltsevm@gmail.com>
5649 * wide-int.h (struct binary_traits): Fix partial specialization syntax.
5650 (struct int_traits): Likewise.
5652 2015-10-16 Richard Sandiford <richard.sandiford@arm.com>
5655 * wide-int.cc (wi::from_mpz): Make sure that absolute mpz value
5656 is zero- rather than sign-extended.
5658 2015-10-15 Peter Bergner <bergner@vnet.ibm.com>
5660 Backport from mainline
5661 2015-10-14 Peter Bergner <bergner@vnet.ibm.com>
5662 Torvald Riegel <triegel@redhat.com>
5665 * config/rs6000/htm.md (UNSPEC_HTM_FENCE): New.
5666 (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
5667 trechkpt, treclaim, tsr, ttest): Rename define_insns from this...
5668 (*tabort, *tabort<wd>c, *tabort<wd>ci, *tbegin, *tcheck, *tend,
5669 *trechkpt, *treclaim, *tsr, *ttest): ...to this. Add memory barrier.
5670 (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
5671 trechkpt, treclaim, tsr, ttest): New define_expands.
5672 * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
5673 __TM_FENCE__ for htm.
5674 * doc/extend.texi: Update documentation for htm builtins.
5676 2015-10-14 Uros Bizjak <ubizjak@gmail.com>
5679 * config/i386/i386.c (ix86_emit_save_reg_using_mov): Do not add
5680 REG_CFA_EXPRESSION to aligned SSE stores.
5682 2015-10-12 H.J. Lu <hongjiu.lu@intel.com>
5685 * config/i386/i386.c (ix86_compute_frame_layout): Correct
5686 stack alignment adjustment.
5687 (ix86_expand_prologue): Likewise.
5689 2015-10-12 Uros Bizjak <ubizjak@gmail.com>
5691 Backport from mainline
5692 2015-10-08 H.J. Lu <hongjiu.lu@intel.com>
5694 * config/i386/i386.c (ix86_compute_frame_layout): Round up the
5695 SSE register save area to 16 bytes only if the incoming stack
5696 boundary is no less than 16 bytes.
5698 Backport from mainline
5699 2015-10-07 Uros Bizjak <ubizjak@gmail.com>
5702 * config/i386/i386.c (ix86_option_override_internal): Always use
5703 8-byte minimum stack boundary in 64-bit mode.
5704 (ix86_compute_frame_layout): Remove assert on INCOMING_STACK_BOUNDARY.
5705 (ix86_emit_save_reg_using_mov): Support unaligned SSE store.
5706 Add a REG_CFA_EXPRESSION note if needed.
5707 (ix86_emit_restore_sse_regs_using_mov): Support unaligned SSE load.
5708 (ix86_handle_force_align_arg_pointer_attribute): New.
5709 (ix86_minimum_incoming_stack_boundary): Remove TARGET_64BIT check.
5710 (ix86_attribute_table): Set ix86_force_align_arg_pointer_string
5711 with ix86_handle_force_align_arg_pointer_attribute.
5712 * config/i386/i386.h (MIN_STACK_BOUNDARY): Set to BITS_PER_WORD.
5714 2015-10-12 H.J. Lu <hongjiu.lu@intel.com>
5716 Backport from mainline
5717 2015-10-07 H.J. Lu <hongjiu.lu@intel.com>
5720 * config/i386/i386.c (ix86_maybe_switch_abi): Merged with ...
5721 (ix86_set_current_function): This.
5722 (TARGET_EXPAND_TO_RTL_HOOK): Removed.
5724 2015-10-12 Alexander Fomin <alexander.fomin@intel.com>
5725 Kirill Yukhin <kirill.yukhin@intel.com>
5728 * config/i386/sse.md (define_split vec_select/V8FI): Restrict
5729 split for upper-bank registers when target does not support
5731 (define_insn "vec_extract_lo_<mode><mask_name>"): Restrict
5732 split when target does not support AVX512VL.
5734 2015-10-12 Richard Biener <rguenther@suse.de>
5736 Backport from mainline
5737 2015-07-21 Mike Frysinger <vapier@gentoo.org>
5738 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
5740 * configure.ac: Add check for new options in isl-0.15.
5741 * config.in, configure: Rebuilt.
5742 * graphite-blocking.c: Include <isl/constraint.h>
5743 * graphite-interchange.c, graphite-poly.c: Likewise.
5744 * graphhite-scop-detection.c, graphite-sese-to-poly.c: Likewise.
5745 * graphite.c: Likewise.
5746 * graphite-isl-ast-to-gimple.c: Include <isl/constraint.h> and
5748 * graphite-dependences.c: Include <isl/constraint.h>.
5749 (max_number_of_out_dimensions): Returns isl_stat.
5750 (extend_schedule_1): Likewise
5751 (extend_schedule): Corresponding changes.
5752 * graphite-optimize-isl.c: Include <isl/constraint.h> and
5754 (getSingleMap): Change return type of isl_stat.
5755 (optimize_isl): Conditionally use
5756 isl_options_set_schedule_serialize_sccs.
5757 * graphite-poly.h (isl_stat, isl_stat_ok): Define fallbacks
5758 if not HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS.
5760 2015-10-10 Alexandre Oliva <aoliva@redhat.com>
5763 * tree-inline.c (reset_debug_binding): New.
5764 (reset_debug_bindings): Likewise.
5765 (expand_call_inline): Call it.
5767 2015-10-08 Jonathan Wakely <jwakely@redhat.com>
5769 Backport from mainline
5770 2015-09-17 Richard Henderson <rth@redhat.com>
5773 * builtins.c (fold_builtin_atomic_always_lock_free): Handle fake
5774 pointers that encode the alignment of the object.
5776 2015-10-06 Richard Biener <rguenther@suse.de>
5778 Backport from mainline
5779 2015-09-15 Richard Biener <rguenther@suse.de>
5782 * gimple-fold.c (gimplify_and_update_call_from_tree): Do not
5783 transfer EH info from old to new stmt.
5784 (replace_call_with_value): Likewise.
5785 (replace_call_with_call_and_fold): Likewise.
5786 (gimple_fold_builtin_memory_op): Likewise.
5787 (gimple_fold_builtin_memset): Likewise.
5788 (gimple_fold_builtin_stpcpy): Likewise.
5789 (gimple_fold_call): Likewise.
5791 2015-09-24 Richard Biener <rguenther@suse.de>
5794 * lto-cgraph.c (compute_ltrans_boundary): Do not stream
5797 2015-10-06 Kirill Yukhin <kirill.yukhin@intel.com>
5799 * config/i386/i386.c (expand_vec_perm_even_odd_trunc): New.
5800 (expand_vec_perm_even_odd_1): Handle V64QImode.
5801 (ix86_expand_vec_perm_const_1): Try expansion with
5802 expand_vec_perm_even_odd_trunc as well.
5803 * config/i386/sse.md (VI124_AVX512F): Rename to ...
5804 (define_mode_iterator VI124_AVX2_24_AVX512F_1_AVX512BW): This. Extend
5806 (define_mode_iterator VI248_AVX2_8_AVX512F): Rename to ...
5807 (define_mode_iterator VI248_AVX2_8_AVX512F_24_AVX512BW): This. Extend
5809 (define_insn "avx512bw_<code>v32hiv32qi2"): Unhide pattern name.
5810 (define_expand "vec_pack_trunc_<mode>"): Update iterator name.
5811 (define_expand "vec_unpacks_lo_<mode>"): Ditto.
5812 (define_expand "vec_unpacks_hi_<mode>"): Ditto.
5813 (define_expand "vec_unpacku_lo_<mode>"): Ditto.
5814 (define_expand "vec_unpacku_hi_<mode>"): Ditto.
5816 2015-10-05 Marek Polacek <polacek@redhat.com>
5818 Backport from mainline
5819 2015-10-05 Marek Polacek <polacek@redhat.com>
5821 PR tree-optimization/67821
5822 * tree-ssanames.c (duplicate_ssa_name_range_info): Remove an assert.
5824 2015-10-03 Oleg Endo <olegendo@gcc.gnu.org>
5826 Backport from mainline
5827 2015-09-29 Kaz Kojima <kkojima@gcc.gnu.org>
5830 * config/sh/sh.c (sh_override_options_after_change): New.
5831 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
5832 (sh_option_override): Move align_loops, align_jumps and
5833 align_functions handling into sh_override_options_after_change.
5835 2015-10-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5837 Backport from mainline
5838 2015-09-15 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5840 * config/s390/s390.c (s390_const_operand_ok): Add missing
5843 2015-10-01 Marek Polacek <polacek@redhat.com>
5845 Backport from mainline
5846 2015-10-01 Marek Polacek <polacek@redhat.com>
5848 PR tree-optimization/67769
5849 * tree-ssa-phiopt.c (conditional_replacement): Call
5850 reset_flow_sensitive_info_in_bb.
5851 (minmax_replacement): Likewise.
5852 (abs_replacement): Likewise.
5854 2015-10-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5856 Backport from mainline
5857 2015-09-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5859 * configure.ac (gcc_cv_ld_pie): Check for gld >= 2.26 on Solaris.
5860 Check for ld -type pie on Solaris 11.x and 12.
5861 * configure: Regenerate.
5862 * config.in: Regenerate.
5864 * config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Define.
5865 (STARTFILE_SPEC): Use it.
5866 (ENDFILE_CRTEND_SPEC): Define.
5867 (ENDFILE_SPEC): Use it and ENDFILE_ARCH_SPEC.
5868 (SUBTARGET_EXTRA_SPECS): Add STARTFILE_CRTBEGIN_SPEC,
5869 ENDFILE_ARCH_SPEC, ENDFILE_CRTEND_SPEC.
5870 (LINK_PIE_SPEC): Define.
5871 * config/i386/sol2.h (ENDFILE_SPEC): Remove.
5872 (ENDFILE_ARCH_SPEC): Define.
5873 * config/sparc/sol2.h (ENDFILE_ARCH_SPEC): Define.
5875 2015-10-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5877 Backport from mainline
5878 2015-09-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5880 * configure.ac (gcc_cv_solaris_crts): New test.
5881 * configure. Regenerate.
5882 * config.in: Regenerate.
5883 * config/sol2.h (STARTFILE_SPEC): Simplify, provide
5884 HAVE_SOLARIS_CRTS variant.
5886 2015-10-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5888 Backport from mainline
5889 2015-06-09 Shiva Chen <shiva0217@gmail.com>
5891 * sync.md (atomic_load<mode>): Add conditional code for lda/ldr
5892 (atomic_store<mode>): Likewise.
5894 2015-09-30 H.J. Lu <hongjiu.lu@intel.com>
5896 Backport from mainline
5897 2015-08-07 H.J. Lu <hongjiu.lu@intel.com>
5899 PR rtl-optimization/67029
5900 * ira-color.c: Include "recog.h" before including "ira-int.h".
5901 * target-globals.c: Likewise.
5902 * ira-lives.c (ira_implicitly_set_insn_hard_regs): Add an
5903 adds an alternative_mask argument and use it instead of
5904 preferred_alternatives.
5905 * ira.h (ira_implicitly_set_insn_hard_regs): Moved to ...
5906 * ira-int.h (ira_implicitly_set_insn_hard_regs): Here.
5907 * sched-deps.c: Include "ira-int.h" after including "ira.h".
5908 (sched_analyze_insn): Update call to
5909 ira_implicitly_set_insn_hard_regs.
5910 * sel-sched.c: Include "ira-int.h" after including "ira.h".
5911 (implicit_clobber_conflict_p): Update call to
5912 ira_implicitly_set_insn_hard_regs.
5914 2015-09-30 Marek Polacek <polacek@redhat.com>
5916 Backport from mainline
5917 2015-09-30 Marek Polacek <polacek@redhat.com>
5919 PR tree-optimization/67690
5920 * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): Call
5921 reset_flow_sensitive_info_in_bb.
5922 * tree-ssa-tail-merge.c: Include "stringpool.h" and "tree-ssanames.h".
5923 (replace_block_by): Call reset_flow_sensitive_info_in_bb.
5924 * tree-ssanames.c: Include "gimple-iterator.h".
5925 (reset_flow_sensitive_info_in_bb): New function.
5926 * tree-ssanames.h (reset_flow_sensitive_info_in_bb): Declare.
5928 2015-09-29 Vladimir Makarov <vmakarov@redhat.com>
5930 Backport from mainline
5931 2015-07-21 Vladimir Makarov <vmakarov@redhat.com>
5934 * lra-remat.c (operand_to_remat): Prevent using insns with input
5935 subregs processed separately by IRA.
5937 2015-09-29 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5939 Backport from mainline
5940 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5942 * config/s390/s390.c (s390_contiguous_bitmask_vector_p): Reject if
5943 the vector element is bigger than 64 bit.
5945 2015-09-29 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5947 Backport from mainline
5948 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5950 * config/s390/vx-builtins.md ("vec_vmal<mode>", "vec_vmah<mode>")
5951 ("vec_vmalh<mode>"): Change mode iterator from VI_HW to VI_HW_QHS.
5953 2015-09-29 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5955 Backport from mainline
5956 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5958 * config/s390/s390.c: Add V1TImode to constant pool modes.
5960 2015-09-29 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5962 Backport from mainline
5963 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5965 * config/s390/vx-builtins.md
5966 ("vec_scatter_element<mode>_<non_vec_int>")
5967 ("vec_scatter_element<V_HW_64:mode>_SI"): Replace gf mode
5968 attribute with bhfgq.
5970 2015-09-29 Andrew Pinski <apinski@cavium.com>
5972 * config/aarch64/aarch64.md (prefetch):
5973 Change the predicate of operand 0 to register_operand.
5975 2015-09-28 Daniel Hellstrom <daniel@gaisler.com>
5977 * config/sparc/t-rtems: Remove -muser-mode. Add ut699, at697f and leon.
5979 2015-09-28 Oleg Endo <olegendo@gcc.gnu.org>
5981 Backport from mainline
5982 2015-09-27 Oleg Endo <olegendo@gcc.gnu.org>
5983 Kaz Kojima <kkojima@gcc.gnu.org>
5986 * config/sh/sh-protos.h (sh_lra_p): Declare.
5987 * config/sh/sh.c (sh_lra_p): Make non-static.
5988 * config/sh/sh.md (addsi3): Use arith_reg_dest for operands[0] and
5989 arith_reg_operand for operands[1]. Remove TARGET_SHMEDIA case.
5990 Expand into addsi3_scr if operands[2] if needed.
5991 (*addsi3_compact): Rename to *addsi3_compact_lra. Use
5992 arith_reg_operand for operands[1]. Allow it only when LRA is enabled.
5993 (addsi3_scr, *addsi3): New insn_and_split patterns.
5995 2015-09-28 Richard Biener <rguenther@suse.de>
5997 Backport from mainline
5998 2015-08-03 Richard Biener <rguenther@suse.de>
6000 PR tree-optimization/66917
6001 * tree-vectorizer.h (struct dataref_aux): Add base_element_aligned
6003 (DR_VECT_AUX): New macro.
6004 (set_dr_misalignment): Adjust.
6005 (dr_misalignment): Likewise.
6006 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
6007 Compute whether the base is at least element aligned.
6008 * tree-vect-stmts.c (ensure_base_align): Adjust.
6009 (vectorizable_store): If the base is not element aligned
6010 preserve alignment of the original access if misalignment is unknown.
6011 (vectorizable_load): Likewise.
6013 2015-09-16 Richard Biener <rguenther@suse.de>
6016 * fold-const.c (extract_muldiv_1): Properly extend multiplication
6017 result before builting a tree via wide_int_to_tree.
6019 2015-09-28 Daniel Cederman <cederman@gaisler.com>
6021 * config/sparc/driver-sparc.c: map LEON to leon3
6023 2015-09-28 Daniel Cederman <cederman@gaisler.com>
6025 * config/sparc/sparc.opt: Rename mask from USER_MODE to SV_MODE
6026 and make it inverse to change default
6027 * config/sparc/sync.md: Only use supervisor ASI for CASA when in
6029 * doc/invoke.texi: Document change of default
6031 2015-09-28 Daniel Cederman <cederman@gaisler.com>
6033 * config/sparc/sparc.c (sparc_function_value_regno_p): Do not return
6034 true on %f0 for a target without FPU.
6035 * config/sparc/sparc.md (untyped_call): Do not save %f0 for a target
6037 (untyped_return): Do not load %f0 for a target without FPU.
6039 2015-09-25 Tobias Burnus <burnus@net-b.de>
6041 * doc/invoke.texi (-fsanitize): Minor wording tweak.
6043 2015-09-25 Tobias Burnus <burnus@net-b.de>
6045 * doc/invoke.texi (-fsanitize): Update URLs.
6047 2015-09-24 John David Anglin <danglin@gcc.gnu.org>
6049 * config/pa/pa-linux.h (HAVE_sync_compare_and_swapdi): Define.
6050 * config/pa/pa-protos.h (pa_maybe_emit_compare_and_swap_exchange_loop):
6052 * config/pa/pa.c (pa_init_libfuncs): Init sync libfuncs up to 8 bytes.
6053 (pa_expand_compare_and_swap_loop): New.
6054 (pa_maybe_emit_compare_and_swap_exchange_loop): New.
6055 * config/pa/pa.md (atomic_storeqi, atomic_storehi, atomic_storesi,
6056 atomic_storesf, atomic_loaddf, atomic_storedf): New expanders.
6057 (atomic_loaddf_1, atomic_storedf_1): New insn patterns.
6058 (atomic_loaddi, atomic_loaddi_1, atomic_storedi, atomic_storedi_1):
6061 2015-09-24 Alan Modra <amodra@gmail.com>
6064 2015-09-02 Alan Modra <amodra@gmail.com>
6065 * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Don't define.
6066 * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Likewise.
6067 (LINK_SPEC, SUBTARGET_EXTRA_SPECS): Delete link_target.
6069 2015-09-23 Oleg Endo <olegendo@gcc.gnu.org>
6071 Backport from mainline
6072 2015-09-23 Oleg Endo <olegendo@gcc.gnu.org>
6075 * config/sh/sh.md (addsi3, *addsi3_compact): Don't check for overlapping
6076 regs when matching the pattern.
6078 2015-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6080 Backport from mainline
6081 2015-09-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6084 * config/arm/arm.md (*arm32_movhf): Remove !arm_restrict_it from
6085 predicate. Set predicable_short_it attr to "no".
6087 2015-09-23 Matthew Wahab <matthew.wahab@arm.com>
6089 Backport from mainline
6090 2015-08-14 Matthew Wahab <matthew.wahab@arm.com>
6093 * config/aarch64/atomics.md (atomic_<optab><mode>): Replace
6094 'lconst_atomic' with 'const_atomic'.
6095 (atomic_fetch_<optab><mode>): Likewise.
6096 (atomic_<optab>_fetch<mode>): Likewise.
6097 * config/aarch64/iterators.md (lconst-atomic): Move below
6099 (const_atomic): New.
6101 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
6103 Backport from mainline
6104 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
6106 * config/nios2/nios2.c (nios2_legitimize_address): When handling
6107 'reg + reloc' cases, allow first operand to be non-REG, and use
6108 force_reg() to enforce address pattern.
6110 2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com>
6112 * gcc/config/i386/i386.md (define_insn "kunpckhi"): Fix
6114 (define_insn "kunpcksi"): Ditto.
6115 (define_insn "kunpckdi"): Ditto.
6117 2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com>
6119 * gcc/config/i386/i386.md (define_split not/xor SWI1248x): Use
6120 iterator instead of fixed modes.
6122 2015-09-21 Uros Bizjak <ubizjak@gmail.com>
6125 * except.c (expand_builtin_eh_return): Use copy_addr_to_reg to copy
6126 the address to a register.
6128 2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
6130 Backport from mainline
6131 2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
6134 * config/sh/sh.c (sh_remove_overlapping_post_inc,
6135 sh_peephole_emit_move_insn): Add new functions.
6136 * config/sh/sh-protos.h (sh_remove_overlapping_post_inc,
6137 sh_peephole_emit_move_insn): Declere them.
6138 * config/sh/sh.md: Use them in various peephole2 patterns.
6140 2015-09-21 Richard Biener <rguenther@suse.de>
6142 Backport from mainline
6143 2015-07-08 Richard Biener <rguenther@suse.de>
6145 PR tree-optimization/66793
6146 * gimple-ssa-isolate-paths.c (insert_trap_and_remove_trailing_statemen):
6147 Properly split the block after stmts ending it.
6149 2015-08-05 Richard Biener <rguenther@suse.de>
6151 PR tree-optimization/67055
6152 * tree-ssa-ccp.c (fold_builtin_alloca_with_align): Handle
6155 2015-08-05 Richard Biener <rguenther@suse.de>
6157 PR tree-optimization/67121
6158 * tree-if-conv.c (combine_blocks): Clear range-info produced
6159 by stmts no longer executed conditionally.
6161 2015-09-16 Richard Biener <rguenther@suse.de>
6164 * fold-const.c (native_encode_expr): Bail out on bogus offsets.
6166 2015-07-22 Richard Biener <rguenther@suse.de>
6168 PR tree-optimization/66952
6169 * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): For
6170 blocks we end up executing unconditionally reset all SSA
6171 info such as range and alignment.
6172 * tree-ssanames.h (reset_flow_sensitive_info): Declare.
6173 * tree-ssanames.c (reset_flow_sensitive_info): New function.
6175 2015-09-15 Richard Biener <rguenther@suse.de>
6177 PR tree-optimization/67470
6178 * tree-ssa-loop-im.c (execute_sm_if_changed): Preserve PHI
6179 structure for PHI hoisting by inserting a forwarder block
6182 2015-09-21 Kaz Kojima <kkojima@gcc.gnu.org>
6184 Backport from mainline
6185 2015-09-16 Kaz Kojima <kkojima@gcc.gnu.org>
6188 * config/sh/sh.md (call_pcrel): Add early clobber to scratch
6190 (call_value_pcrel, sibcall_pcrel, sibcall_value_pcrel): Likewise.
6192 2015-09-20 Oleg Endo <olegendo@gcc.gnu.org>
6194 Backport from mainline
6195 2015-09-14 Oleg Endo <olegendo@gcc.gnu.org>
6198 * config/sh/sh-protos.h (sh_find_set_of_reg): Simplfiy for-loop.
6201 2015-09-19 John David Anglin <danglin@gcc.gnu.org>
6203 * config/pa/pa.c (pa_function_ok_for_sibcall): Remove special treatment
6206 2015-09-18 John David Anglin <danglin@gcc.gnu.org>
6209 * optabs.c (expand_atomic_compare_and_swap): Move result of emitting
6210 sync_compare_and_swap_optab libcall to target_oval.
6212 2015-09-17 Eric Botcazou <ebotcazou@adacore.com>
6214 PR rtl-optimization/66790
6215 * df-problems.c (LIVE): Amend documentation.
6217 2015-09-17 Marek Polacek <polacek@redhat.com>
6219 Backport from mainline:
6220 2015-08-18 Marek Polacek <polacek@redhat.com>
6223 * gimple-low.c (lower_stmt): Don't lower BUILT_IN_POSIX_MEMALIGN
6224 if the call isn't valid.
6225 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Check builtins using
6226 gimple_call_builtin_p.
6227 (call_may_clobber_ref_p_1): Likewise.
6228 (stmt_kills_ref_p): Likewise.
6230 2015-09-12 John David Anglin <danglin@gcc.gnu.org>
6232 * config/pa/pa.c (pa_output_move_double): Enhance to handle HIGH
6233 CONSTANT_P operands.
6235 2015-09-10 Oleg Endo <olegendo@gcc.gnu.org>
6237 Backport from mainline
6238 2015-09-10 Oleg Endo <olegendo@gcc.gnu.org>
6241 * config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Add
6242 missing simplify_gen_subreg.
6244 2015-09-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6246 Backport from mainline
6247 2015-08-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6249 * config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit on
6252 2015-09-10 Jakub Jelinek <jakub@redhat.com>
6255 * gimplify.c (gimplify_omp_for): If inner stmt is not found
6256 for combined loop, assert seen_error () and return GS_ERROR.
6259 * gimplify.c (gimplify_omp_for): Don't call omp_add_variable
6260 if decl is already in outer->variables.
6263 * gimplify.c (gimplify_scan_omp_clauses): Instead of
6264 asserting that decl is not specified in octx->variables,
6265 break out of the loop if it is.
6268 * gimplify.c (gimplify_omp_for): For loop SIMD construct, if
6269 iterator is not explicitly determined, but is defined inside
6270 of the combined workshare region, handle it like if it has
6271 DECL_EXPR in OMP_FOR_PRE_BODY.
6273 2015-09-09 Marek Polacek <polacek@redhat.com>
6275 Backport from mainline:
6276 2015-09-09 Marek Polacek <polacek@redhat.com>
6279 * tree-ssa-uninit.c (pred_equal_p): Only call invert_tree_comparison
6282 2015-09-09 Alan Modra <amodra@gmail.com>
6285 * config/rs6000/rs6000.c (rs6000_secondary_reload_gpr): Find
6286 reload replacement for PRE_MODIFY address reg.
6288 2015-09-07 Ilya Verbin <ilya.verbin@intel.com>
6290 * config/i386/intelmic-mkoffload.c (prepare_target_image): Handle all
6291 non-alphanumeric characters in the symbol name.
6293 2015-09-04 Jakub Jelinek <jakub@redhat.com>
6296 * tree-ssa-live.c: Include cfgloop.h.
6297 (remove_unused_locals): Clear loop->simduid if simduid is about
6298 to be removed from cfun->local_decls.
6300 2015-09-03 Richard Biener <rguenther@suse.de>
6303 * tree-ssa-structalias.c (ctor_for_analysis): New function.
6304 (create_variable_info_for_1): Use ctor_for_analysis instead
6306 (create_variable_info_for): Likewise.
6308 2015-09-02 Uros Bizjak <ubizjak@gmail.com>
6310 Backport from mainline:
6311 2015-08-27 Uros Bizjak <ubizjak@gmail.com>
6314 * config/i386/i386.md (*add<mode>3_cc): Remove insn pattern.
6316 (UNSPEC_ADD_CARRY): Remove.
6317 (addqi3_cconly_overflow): New expander.
6318 (*add<dwi>3_doubleword): Split to add<mode>3_cconly_overflow.
6319 Adjust for changed add<mode>3_carry.
6320 (*neg<dwi>2_doubleword): Adjust for changed add<mode>3_carry.
6321 (*sub<dwi>3_doubleword): Adjust for changed sub<mode>3_carry.
6322 (<plusminus_insn><mode>3_carry): Remove expander.
6323 (*<plusminus_insn><mode>3_carry): Split insn pattern to
6324 add<mode>3_carry and sub<mode>3_carry.
6325 (plusminus_carry_mnemonic): Remove code attribute.
6326 (add<mode>3_carry): Canonicalize insn pattern.
6327 (*addsi3_carry_zext): Ditto.
6328 (sub<mode>3_carry): Ditto.
6329 (*subsi3_carry_zext): Ditto.
6330 (adcx<mode>3): Remove insn pattern.
6331 (addcarry<mode>): New insn pattern.
6332 (subborrow<mode>): Ditto.
6333 * config/i386/i386.c (ix86_expand_strlensi_unroll_1): Use
6334 gen_addqi3_cconly_overflow instead of gen_addqi3_cc.
6335 (ix86_expand_builtin) <case IX86_BUILTIN_SBB32,
6336 case IX86_BUILTIN_SBB64, case IX86_BUILTIN_ADDCARRY32,
6337 case IX86_BUILTIN_ADDCARRY64>: Use CODE_FOR_subborrowsi,
6338 CODE_FOR_subborrowdi, CODE_FOR_addcarrysi and CODE_FOR_addcarrydi.
6339 Rewrite expander to not clobber carry flag chains.
6341 2015-09-02 Alan Modra <amodra@gmail.com>
6344 * config/rs6000/predicates.md (current_file_function_operand): Don't
6345 return true for weak symbols.
6346 * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Likewise.
6348 2015-08-31 Marek Polacek <polacek@redhat.com>
6350 Backport from mainline
6351 2015-08-27 Marek Polacek <polacek@redhat.com>
6354 * tree-ssa-dce.c (remove_dead_stmt): Also schedule fixup if removing
6355 an entry into an irreducible region.
6357 2015-08-27 Pat Haugen <pthaugen@us.ibm.com>
6359 Backport from mainline:
6360 2015-08-27 Pat Haugen <pthaugen@us.ibm.com>
6362 * config/rs6000/vector.md (vec_shr_<mode>): Fix to do a shift
6363 instead of a rotate.
6365 2015-08-26 Renlin Li <renlin.li@arm.com>
6367 Backport from mainline
6368 2015-08-24 Renlin Li <renlin.li@arm.com>
6370 * config/arm/arm-protos.h (arm_valid_symbolic_address_p): Declare.
6371 * config/arm/arm.c (arm_valid_symbolic_address_p): Define.
6372 * config/arm/arm.md (arm_movt): Use arm_valid_symbolic_address_p.
6373 * config/arm/constraints.md ("j"): Add check for high code.
6375 2015-08-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
6377 Backport from mainline
6378 2015-08-21 Dominik Vogt <vogt@linux.vnet.ibm.com>
6380 * config/s390/s390-builtins.def: Fix value range of vec_load_bndry.
6382 2015-08-24 Michael Meissner <meissner@linux.vnet.ibm.com>
6384 Back port from mainline:
6385 2015-08-24 Michael Meissner <meissner@linux.vnet.ibm.com>
6388 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Set
6389 -mefficient-unaligned-vsx on ISA 2.7.
6391 * config/rs6000/rs6000.opt (-mefficient-unaligned-vsx): Convert
6392 option to a masked option.
6394 * config/rs6000/rs6000.c (rs6000_option_override_internal): Rework
6395 logic for -mefficient-unaligned-vsx so that it is set via an arch
6396 ISA option, instead of being set if -mtune=power8 is set. Move
6397 -mefficient-unaligned-vsx and -mallow-movmisalign handling to be
6398 near other default option handling.
6400 2015-08-20 Georg-Johann Lay <avr@gjlay.de>
6402 * config/avr/avr.c (avr_insert_attributes): In diagnostic essage:
6403 Multiply argument avr_n_flash by 64 to match unit of "KiB".
6404 (avr_pgm_check_var_decl): Same.
6406 2015-08-18 Segher Boessenkool <segher@kernel.crashing.org>
6408 Backport from mainline:
6409 2015-08-08 Segher Boessenkool <segher@kernel.crashing.org>
6411 PR rtl-optimization/67028
6412 * combine.c (simplify_comparison): Fix comment. Rearrange code.
6413 Add test to see if a const_int fits in the new mode.
6415 2015-08-17 Jason Merrill <jason@redhat.com>
6418 * stor-layout.c (layout_type): Layout the TYPE_MAIN_VARIANT.
6419 (finalize_type_size): Respect TYPE_USER_ALIGN.
6420 (layout_type) [ARRAY_TYPE]: Likewise.
6422 2015-08-17 Yvan Roux <yvan.roux@linaro.org>
6424 Backport from mainline:
6425 2015-08-12 Yvan Roux <yvan.roux@linaro.org>
6428 * config/arm/arm.md (movdi): Restrict illegitimate ldrd/strd checking
6429 to ARM core registers.
6431 2015-08-16 Uros Bizjak <ubizjak@gmail.com>
6433 Backport from mainline:
6434 2015-07-25 Uros Bizjak <ubizjak@gmail.com>
6437 * config/i386/i386.c (ix86_expand_set_or_movmem): Emit main loop
6438 execution guard when min_size is less than size_needed.
6440 2015-08-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
6442 Backport from mainline
6443 2015-07-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
6445 PR tree-optimization/66828
6446 * tree-ssa-math-opts.c (perform_symbolic_merge): Change type of inc
6447 from int64_t to uint64_t.
6449 2015-08-07 Kaz Kojima <kkojima@gcc.gnu.org>
6451 Backport from mainline
6452 2015-08-07 Kaz Kojima <kkojima@gcc.gnu.org>
6455 * config/sh/sh.c (sh_recog_treg_set_expr): Return false when
6456 currently_expanding_to_rtl is set.
6458 2015-08-07 Kirill Yukhin <kirill.yukhin@intel.com>
6460 * config/i386/i386.md (define_attr "isa"): Addd avx512vl and
6462 (define_attr "enabled"): Handle avx521vl and noavx512vl.
6463 * config/i386/sse.md (define_insn "vec_dupv2df<mask_name>"): Split
6464 AVX-512 alternative out of SSE.
6465 (define_insn "*vec_concatv2df"): Ditto.
6467 2015-08-05 Matthew Wahab <matthew.wahab@arm.com>
6469 Backport from trunk:
6470 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
6473 * config/arm/arm.c (arm_split_compare_and_swap): For ARMv8,
6474 replace an initial acquire barrier with final barrier.
6476 2015-08-05 Matthew Wahab <matthew.wahab@arm.com>
6478 Backport from trunk:
6479 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
6482 * config/arm/arm.c (arm_split_atomic_op): For ARMv8, replace an
6483 initial acquire barrier with final barrier.
6485 2015-08-05 Matthew Wahab <matthew.wahab@arm.com>
6487 Backport from trunk.
6488 2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
6491 * config/aarch64/aarch64.c (aarch64_split_compare_and_swap): Check
6492 for __sync memory models, emit initial loads and final barriers as
6495 2015-08-05 Matthew Wahab <matthew.wahab@arm.com>
6497 Backport from trunk.
6498 2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
6501 * config/aarch64/aarch64.c (aarch64_emit_post_barrier): New.
6502 (aarch64_split_atomic_op): Check for __sync memory models, emit
6503 appropriate initial loads and final barriers.
6505 2015-08-05 Matthew Wahab <matthew.wahab@arm.com>
6508 2015-05-12 Andrew MacLeod <amacleod@redhat.com>
6511 * coretypes.h (MEMMODEL_SYNC, MEMMODEL_BASE_MASK): New macros.
6512 (enum memmodel): Add SYNC_{ACQUIRE,RELEASE,SEQ_CST}.
6513 * tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed)
6514 (is_mm_consume,is_mm_acquire, is_mm_release, is_mm_acq_rel)
6515 (is_mm_seq_cst, is_mm_sync): New accessor functions.
6516 * builtins.c (expand_builtin_sync_operation)
6517 (expand_builtin_compare_and_swap): Use MEMMODEL_SYNC_SEQ_CST.
6518 (expand_builtin_sync_lock_release): Use MEMMODEL_SYNC_RELEASE.
6519 (get_memmodel, expand_builtin_atomic_compare_exchange)
6520 (expand_builtin_atomic_load, expand_builtin_atomic_store)
6521 (expand_builtin_atomic_clear): Use new accessor routines.
6522 (expand_builtin_sync_synchronize): Use MEMMODEL_SYNC_SEQ_CST.
6523 * optabs.c (expand_compare_and_swap_loop): Use MEMMODEL_SYNC_SEQ_CST.
6524 (maybe_emit_sync_lock_test_and_set): Use new accessors and
6525 MEMMODEL_SYNC_ACQUIRE.
6526 (expand_sync_lock_test_and_set): Use MEMMODEL_SYNC_ACQUIRE.
6527 (expand_mem_thread_fence, expand_mem_signal_fence, expand_atomic_load)
6528 (expand_atomic_store): Use new accessors.
6529 * emit-rtl.c (need_atomic_barrier_p): Add additional enum cases.
6530 * tsan.c (instrument_builtin_call): Update check for memory model beyond
6531 final enum to use MEMMODEL_LAST.
6532 * c-family/c-common.c: Use new accessor for memmodel_base.
6533 * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): Use new
6535 * config/aarch64/atomics.md (atomic_load<mode>,atomic_store<mode>)
6536 (arch64_load_exclusive<mode>, aarch64_store_exclusive<mode>)
6537 (mem_thread_fence, *dmb): Likewise.
6538 * config/alpha/alpha.c (alpha_split_compare_and_swap)
6539 (alpha_split_compare_and_swap_12): Likewise.
6540 * config/arm/arm.c (arm_expand_compare_and_swap)
6541 (arm_split_compare_and_swap, arm_split_atomic_op): Likewise.
6542 * config/arm/sync.md (atomic_load<mode>, atomic_store<mode>)
6543 (atomic_loaddi): Likewise.
6544 * config/i386/i386.c (ix86_destroy_cost_data, ix86_memmodel_check):
6546 * config/i386/sync.md (mem_thread_fence, atomic_store<mode>): Likewise.
6547 * config/ia64/ia64.c (ia64_expand_atomic_op): Add new memmodel cases and
6549 * config/ia64/sync.md (mem_thread_fence, atomic_load<mode>)
6550 (atomic_store<mode>, atomic_compare_and_swap<mode>)
6551 (atomic_exchange<mode>): Use new accessors.
6552 * config/mips/mips.c (mips_process_sync_loop): Likewise.
6553 * config/pa/pa.md (atomic_loaddi, atomic_storedi): Likewise.
6554 * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier)
6555 (rs6000_post_atomic_barrier): Add new cases.
6556 (rs6000_expand_atomic_compare_and_swap): Use new accessors.
6557 * config/rs6000/sync.md (mem_thread_fence): Add new cases.
6558 (atomic_load<mode>): Add new cases and use new accessors.
6559 (store_quadpti): Add new cases.
6560 * config/s390/s390.md (mem_thread_fence, atomic_store<mode>): Use new
6562 * config/sparc/sparc.c (sparc_emit_membar_for_model): Use new accessors.
6563 * doc/extend.texi: Update docs to indicate 16 bits are used for memory
6566 2015-08-04 Szabolcs Nagy <szabolcs.nagy@arm.com>
6568 Backport from mainline:
6569 2015-08-04 Szabolcs Nagy <szabolcs.nagy@arm.com>
6572 * config/aarch64/aarch64.c (aarch64_rtx_costs): Fix NEG cost for FNMUL.
6573 (aarch64_rtx_mult_cost): Fix MULT cost with -frounding-math.
6575 2015-07-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
6578 * config/aarch64/aarch64.md (fnmul<mode>3): Handle -frounding-math.
6580 2015-08-03 Peter Bergner <bergner@vnet.ibm.com>
6582 Backport from mainline:
6583 2015-08-03 Peter Bergner <bergner@vnet.ibm.com>
6585 * config/rs6000/htm.md (tabort.): Restrict the source operand to
6586 using a base register.
6588 2015-08-03 John David Anglin <danglin@gcc.gnu.org>
6591 * config/pa/pa.md (call_reg_64bit): Remove reg:DI 1 clobber.
6592 Adjust splits to match new pattern.
6594 2015-08-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
6596 Backport form mainline r226496.
6597 2015-08-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
6600 * config/arm/vfp.md (negmuldf3_vfp): Add new pattern.
6601 (negmulsf3_vfp): Likewise.
6602 (muldf3negdf_vfp): Disable for -frounding-math.
6603 (mulsf3negsf_vfp): Likewise.
6604 * config/arm/arm.c (arm_new_rtx_costs): Fix NEG cost for VNMUL,
6605 fix MULT cost with -frounding-math.
6607 2015-07-31 Kaz Kojima <kkojima@gcc.gnu.org>
6609 Backport form mainline
6610 2015-07-31 Kaz Kojima <kkojima@gcc.gnu.org>
6613 * config/sh/sh.md (GOTaddr2picreg): Fix typo.
6615 2015-07-31 Vladimir Makarov <vmakarov@redhat.com>
6618 * lra-int.h (lra_substitute_pseudo): Add a parameter.
6619 (lra_substitute_pseudo_within_insn): Ditto.
6620 * lra.c (lra_substitute_pseudo): Add a parameter. Simplify subreg
6622 (lra_substitute_pseudo_within_insn): Add a parameter. Transfer it
6623 to lra_substitute_pseudo.
6624 * lra-lives.c (process_bb_lives): Add an argument to
6625 lra_substitute_pseudo_within_insn call.
6626 * lra-constraints.c (inherit_reload_reg, split_reg): Add an
6627 argument to lra_substitute_pseudo and
6628 lra_substitute_pseudo_within_insn calls.
6629 (remove_inheritance_pseudos, undo_optional_reloads): Ditto.
6631 2015-07-27 Marek Polacek <polacek@redhat.com>
6633 Backport from mainline
6634 2015-07-27 Marek Polacek <polacek@redhat.com>
6636 * ipa-devirt.c (types_same_for_odr): Fix typo.
6638 2015-07-25 Oleg Endo <olegendo@gcc.gnu.org>
6640 Backport from mainline
6641 2015-07-25 Oleg Endo <olegendo@gcc.gnu.org>
6644 * config/sh/sh.c (sh_split_movrt_negc_to_movt_xor): Add missing
6645 T bit register modified_between_p check.
6647 2015-07-25 Tom de Vries <tom@codesourcery.com>
6649 backport from trunk:
6650 2015-07-24 Tom de Vries <tom@codesourcery.com>
6652 * graphite-sese-to-poly.c (is_reduction_operation_p): Limit
6653 flag_associative_math to FLOAT_TYPE_P. Honour
6654 TYPE_OVERFLOW_WRAPS for INTEGRAL_TYPE_P. Don't allow any other types.
6656 2015-07-25 Kaz Kojima <kkojima@gcc.gnu.org>
6658 Backport from mainline
6659 2015-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
6662 * config/sh/sh.md (movdi): Split simple reg move to two movsi
6663 when the destination is R0.
6665 2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
6667 Backport from mainline r226159.
6668 2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
6670 * config/aarch64/aarch64-elf-raw.h (LINK_SPEC): Handle -h, -static,
6671 -shared, -symbolic, -rdynamic.
6673 2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
6675 Backport from mainline r226158.
6676 2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
6679 * config/aarch64/aarch64-linux.h (LINUX_TARGET_LINK_SPEC): Move
6680 -dynamic-linker within %{!static %{!shared, and -rdynamic within
6683 2015-07-24 Ilya Enkovich <enkovich.gnu@gmail.com>
6685 Backport from mainline r226155.
6686 2015-07-24 Ilya Enkovich <enkovich.gnu@gmail.com>
6689 * ipa-inline-analysis.c (estimate_calls_size_and_time): Check
6690 edge summary is available.
6692 2015-07-23 Uros Bizjak <ubizjak@gmail.com>
6694 Backport from mainline:
6695 2015-07-17 Uros Bizjak <ubizjak@gmail.com>
6697 PR rtl-optimization/66891
6698 * calls.c (expand_call): Wrap precompute_register_parameters with
6699 NO_DEFER_POP/OK_DEFER_POP to prevent deferred pops.
6701 2015-07-15 Uros Bizjak <ubizjak@gmail.com>
6704 * config/i386/i386.md (*tls_global_dynamic_64_<mode>): Depend on SP_REG.
6705 (*tls_local_dynamic_base_64_<mode>): Ditto.
6706 (*tls_local_dynamic_base_64_largepic): Ditto.
6707 (tls_global_dynamic_64_<mode>): Update expander pattern.
6708 (tls_local_dynamic_base_64_<mode>): Ditto.
6710 2015-07-15 Uros Bizjak <ubizjak@gmail.com>
6712 PR rtl-optimization/58066
6713 * calls.c (expand_call): Precompute register parameters before stack
6714 alignment is performed.
6716 2015-07-23 Martin Jambor <mjambor@suse.cz>
6718 Backport from mainline r225867.
6719 2015-07-16 Martin Jambor <mjambor@suse.cz>
6721 * ipa-prop.h (param_aa_status): Rename to ipa_param_aa_status. Adjust
6722 all uses. Fix two typos in its general comment.
6723 (func_body_info): Rename to ipa_func_body_info. Adjust all uses.
6725 2015-07-23 Martin Jambor <mjambor@suse.cz>
6727 Backport from mainline r225838.
6728 2015-07-15 Paolo Bonzini <bonzini@gnu.org>
6729 Martin Jambor <mjambor@suse.cz>
6732 * ipa-inline-analysis.c (unmodified_parm_or_parm_agg_item): Accept
6733 struct func_body_info* instead of struct ipa_node_params*, expecting
6734 fbi->info to be filled in. Replace throughout. Adjust call to
6735 ipa_load_from_parm_agg.
6736 (set_cond_stmt_execution_predicate): Accept struct func_body_info*
6737 instead of struct ipa_node_params*. Adjust calls to other functions
6738 so that they pass either fbi or fbi->info.
6739 (set_switch_stmt_execution_predicate): Likewise.
6740 (will_be_nonconstant_predicate): Likewise.
6741 (compute_bb_predicates): Likewise.
6742 (estimate_function_body_sizes): Move asserts earlier. Fill in
6743 struct func_body_info, replace parms_info with fbi.info. Adjust
6744 calls to functions that now accept struct func_body_info.
6745 * ipa-prop.c (param_aa_status, struct ipa_bb_info): Move to ipa-prop.h.
6746 (struct func_body_info): Likewise.
6747 (ipa_load_from_parm_agg_1): Rename to ipa_load_from_parm_agg,
6748 remove static. Adjust callers.
6749 (ipa_load_from_parm_agg): Remove.
6750 * ipa-prop.h (param_aa_status, ipa_bb_info): Move from ipa-prop.c.
6751 (func_body_info): Likewise.
6752 (ipa_load_from_parm_agg): Adjust prototype.
6754 2015-07-23 Ilya Enkovich <enkovich.gnu@gmail.com>
6756 Backport from mainline r224643.
6757 2015-06-19 Ilya Enkovich <enkovich.gnu@gmail.com>
6759 PR middle-end/pr66581
6760 * tree-chkp.c (chkp_compute_bounds_for_assignment): Don't
6761 reuse bounds created for abnormal ssa names.
6763 2015-07-23 Ilya Enkovich <enkovich.gnu@gmail.com>
6765 Backport from mainline r224602.
6766 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
6769 * function.c (assign_bounds): Add arguments assign_regs,
6770 assign_special, assign_bt.
6771 (assign_parms): For vararg functions handle bounds in BT
6772 and special slots after incoming vararg bounds.
6774 2015-07-23 Ilya Enkovich <enkovich.gnu@gmail.com>
6776 Backport from mainline r224601.
6777 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
6780 * cfgexpand.c (expand_return): Handle missing bounds.
6781 (expand_gimple_stmt_1): Likewise.
6782 * tree-chkp.c (chkp_expand_zero_bounds): New.
6783 * tree-chkp.h (chkp_expand_zero_bounds): New.
6785 2015-07-23 Ilya Enkovich <enkovich.gnu@gmail.com>
6787 Backport from mainline r224600.
6788 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
6791 * ipa-chkp.c (chkp_maybe_create_clone): Require
6792 functions to be instrumentable.
6793 * tree-chkp.c (chkp_replace_function_pointer): Use
6794 chkp_instrumentable_p instead of attribute check.
6796 2015-07-23 Ilya Enkovich <enkovich.gnu@gmail.com>
6798 Backport from mainline r223215.
6799 2015-05-15 Ilya Enkovich <enkovich.gnu@gmail.com>
6802 * tree-chkp.c (chkp_get_orginal_bounds_for_abnormal_copy): New.
6803 (chkp_maybe_copy_and_register_bounds): Don't copy abnormal copy.
6805 2015-07-23 Ilya Enkovich <ilya.enkovich@intel.com>
6807 Backport from mainline r223114.
6808 2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
6811 * function.c (diddle_return_value_1): Process bounds first.
6812 * config/i38/i386.c (ix86_function_value_regno_p): Add bnd1
6815 2015-07-23 Ilya Enkovich <ilya.enkovich@intel.com>
6817 Backport from mainline r223216.
6818 2015-05-15 Ilya Enkovich <ilya.enkovich@intel.com>
6820 * ipa-chkp.h (chkp_wrap_function): New.
6821 * ipa-chkp.c (chkp_wrap_function): Remove 'static'.
6822 (chkp_wrap_function_name): New.
6823 (chkp_build_instrumented_fndecl): Use chkp_wrap_function_name
6824 to get wrapper name.
6825 * lto-cgraph.c: Include ipa-chkp.h.
6826 (input_cgraph_1): Avoid alias chain for wrappers.
6828 2015-07-23 Ilya Enkovich <ilya.enkovich@intel.com>
6830 Backport from mainline r224074.
6831 2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
6833 * ipa-chkp.c (chkp_maybe_create_clone): Create alias
6834 reference when cloning alias node.
6836 2015-07-21 Georg-Johann Lay <avr@gjlay.de>
6838 Backport from 2015-07-21 trunk r226046.
6841 * config/avr/avr-dimode.md (<extend_u>mulsidi3_insn)
6842 (<extend_u>mulsidi3): Don't use if !AVR_HAVE_MUL.
6844 2015-07-21 Richard Biener <rguenther@suse.de>
6846 PR tree-optimization/66948
6847 * genmatch.c (capture_info::walk_match): Also recurse to
6848 captures. Properly compute expr state from captures of
6851 2015-07-18 Uros Bizjak <ubizjak@gmail.com>
6854 * config/i386/i386.c (ix86_expand_pinsr): Reject insertions
6855 to misaligned positions.
6857 2015-07-17 Uros Bizjak <ubizjak@gmail.com>
6860 * config/i386/i386.c (ix86_expand_pinsr): Reject non-lowpart
6863 2015-07-17 Uros Bizjak <ubizjak@gmail.com>
6865 Backport from mainline:
6866 2015-07-10 Uros Bizjak <ubizjak@gmail.com>
6868 * config/i386/sse.md (movdi_to_sse): Use gen_lowpart
6869 and gen_higpart instead of gen_rtx_SUBREG.
6870 * config/i386/i386.md
6871 (floatdi<X87MODEF:mode>2_i387_with_xmm splitter): Ditto.
6872 (read-modify peephole2): Use gen_lowpart instead of
6873 gen_rtx_SUBREG for operand 5.
6875 2015-07-17 Uros Bizjak <ubizjak@gmail.com>
6877 Backport from mainline:
6878 2015-07-08 Uros Bizjak <ubizjak@gmail.com>
6881 * config/i386/predicates.md (nonimmediate_gr_operand): New predicate.
6882 * config/i386/i386.md (not peephole2): Use nonimmediate_gr_operand.
6883 (varous peephole2s): Use {GENERAL,SSE,MMX}_REGNO_P instead of
6884 {GENERAL,SSE,MMX}_REG_P where appropriate.
6886 2015-07-17 Uros Bizjak <ubizjak@gmail.com>
6888 Backport from mainline:
6889 2015-07-15 Uros Bizjak <ubizjak@gmail.com>
6891 PR rtl-optimization/66838
6892 * postreload.c (reload_cse_move2add): Also process
6893 CALL_INSN_FUNCTION_USAGE when resetting information of
6894 call-clobbered registers.
6896 2015-07-16 Martin Liska <mliska@suse.cz>
6899 * ipa-prop.c (update_jump_functions_after_inlining): Create properly
6900 dst_ctx if it does not exist.
6902 2015-07-16 Richard Biener <rguenther@suse.de>
6904 * BASE-VER: Set to 5.2.1.
6906 2015-07-16 Release Manager
6908 * GCC 5.2.0 released.
6910 2015-07-15 Renlin Li <renlin.li@arm.com>
6912 Backport from mainline.
6913 2015-07-13 Renlin Li <renlin.li@arm.com>
6916 * simplify-rtx.c (simplify_const_relational_operation): Add
6917 side_effects_p checks.
6919 2015-07-15 Thomas Schwinge <thomas@codesourcery.com>
6921 Backport trunk r225560:
6923 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
6926 * config/nvptx/mkoffload.c (main): Create an offload image only in
6927 64-bit configurations.
6929 Backport trunk r222583:
6931 2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
6934 * config/nvptx/mkoffload.c (target_ilp32): New variable.
6935 (main): Set it depending on "-foffload-abi=[...]".
6936 (compile_native, main): Use it to pass "-m32" or "-m64" to the
6939 Backport trunk r223805:
6941 2015-05-28 H.J. Lu <hongjiu.lu@intel.com>
6943 * builtins.c (expand_builtin_acc_on_device): Mark parameters
6944 with ATTRIBUTE_UNUSED.
6946 Backport trunk r223801:
6948 2015-05-28 Julian Brown <julian@codesourcery.com>
6952 * builtins.c (expand_builtin_acc_on_device): Don't use open-coded
6953 sequence for !ACCEL_COMPILER.
6955 2015-07-14 Matthias Klose <doko@ubuntu.com>
6958 * config/rs6000/t-rs6000 (TM_H): Add rs6000-cpus.def.
6960 2015-07-10 Jakub Jelinek <jakub@redhat.com>
6963 * gimplify.c (maybe_fold_stmt): Don't fold in ORT_PARALLEL
6964 or ORT_TASK contexts.
6965 * omp-low.c (lower_omp): Call fold_stmt even if taskreg_nesting_level
6968 Backported from mainline
6969 2015-07-09 Jakub Jelinek <jakub@redhat.com>
6972 * tree-nested.c (get_static_chain): Or in a flag into
6973 info->static_chain_added.
6974 (get_frame_field, get_nonlocal_debug_decl): Likewise.
6975 (convert_nonlocal_omp_clauses, convert_local_omp_clauses): Revert
6977 (convert_tramp_reference_stmt): If a frame_decl or chain_decl
6978 is needed newly inside of GIMPLE_OMP_{PARALLEL,TASK,TARGET} body,
6981 2015-07-10 Vladimir Makarov <vmakarov@redhat.com>
6983 Backport from mainline
6984 2015-07-09 Vladimir Makarov <vmakarov@redhat.com>
6986 PR rtl-optimization/66782
6987 * lra-int.h (struct lra_insn_recog_data): Add comment about
6988 clobbered hard regs for arg_hard_regs.
6989 * lra.c (lra_set_insn_recog_data): Add clobbered hard regs.
6990 * lra-lives.c (process_bb_lives): Process clobbered hard regs.
6991 Add condition for processing used hard regs.
6992 * lra-constraints.c (update_ebb_live_info, inherit_in_ebb):
6993 Process clobbered hard regs.
6995 2015-07-10 Richard Biener <rguenther@suse.de>
6997 Backport from mainline
6998 2015-07-10 Richard Biener <rguenther@suse.de>
7000 PR tree-optimization/66823
7001 * tree-if-conv.c (memrefs_read_or_written_unconditionally): Fix
7004 2015-07-08 Richard Biener <rguenther@suse.de>
7007 * toplev.c (compile_file): Reset maximum_field_alignment after parsing.
7009 2015-07-08 Richard Biener <rguenther@suse.de>
7011 PR tree-optimization/66794
7012 * gimple-ssa-isolate-paths.c (gimple_ssa_isolate_erroneous_paths):
7013 Free post-dominators.
7015 2015-07-10 Kaz Kojima <kkojima@gcc.gnu.org>
7017 Backport form mainline
7018 2015-07-07 Kaz Kojima <kkojima@gcc.gnu.org>
7021 * config/sh/sh.md (symGOT_load): Revert a part of 2015-03-03
7022 change for target/65249.
7024 2015-07-09 Iain Sandoe <iain@codesourcery.com>
7027 * config/darwin.c (darwin_mark_decl_preserved): Exclude 'L' label
7028 names from preservation.
7030 2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
7032 Backport from mainline r225465
7033 2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
7036 * config/arm/arm.c (arm_needs_doubleword_align): Drop any outer
7037 alignment attribute, exploring one level down for records and arrays.
7039 2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
7041 Backport from mainline r225461
7042 2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
7044 * config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state.
7046 2015-07-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7048 Backport from mainline r224725
7049 2015-06-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7052 * config/rs6000/predicates.md (altivec_register_operand): Permit
7053 virtual stack registers.
7054 (vsx_register_operand): Likewise.
7055 (vfloat_operand): Likewise.
7056 (vint_operand): Likewise.
7057 (vlogical_operand): Likewise.
7059 2015-07-04 John David Anglin <danglin@gcc.gnu.org>
7062 * config/pa/pa.md (indirect_jump): Use pmode_register_operand instead
7063 of register_operand. Remove constraint.
7065 2015-07-03 Jack Howarth <howarth.at.gcc@gmail.com>
7068 * configure.ac: Fix filds and fildq test for 64-bit.
7069 * configure: Regenerated.
7071 2015-07-03 James Greenhalgh <james.greenhalgh@arm.com>
7073 Backport from mainline.
7074 2015-07-03 James Greenhalgh <james.greenhalgh@arm.com>
7076 PR tree-optimization/66119
7077 * toplev.c (process_options): Don't set up default values for
7078 the sra_max_scalarization_size_{speed,size} parameters.
7079 * tree-sra (analyze_all_variable_accesses): If no values
7080 have been set for the sra_max_scalarization_size_{speed,size}
7081 parameters, call get_move_ratio to get target defaults.
7083 2015-07-03 Gerald Pfeifer <gerald@pfeifer.com>
7086 * doc/invoke.texi (i386 and x86-64 Options): -mno-fancy-math-387
7087 is not actually the default on FreeBSD.
7089 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7091 * config/s390/s390-builtins.def: Fix vpopct instruction comments.
7093 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7095 Backport from mainline
7096 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7098 * config/s390/s390-builtin-types.def: Add flag to indicate the
7099 options under which the function type is needed.
7100 * config/s390/s390-builtins.def: Add flag to indicate the options
7101 under which the builtin is enabled.
7102 * config/s390/s390-builtins.h: Add flags parameter to macro
7104 (bflags_for_builtin): New function.
7105 (flags_for_builtin): Renamed to ...
7106 (opflags_for_builtin): ... this.
7107 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Rename
7108 flags_for_builtin to bflags_for_builtin and
7109 flags_overloaded_builtin_var to opflags_overloaded_builtin_var.
7110 * config/s390/s390.c: Add initialization of bflags_builtin and
7111 opflags_builtin arrays.
7112 Remove code for flags_builtin.
7113 (s390_init_builtins): Only create builtin function types if one of
7114 their flags is active.
7115 Only create builtins if all of their flags are active.
7116 (s390_expand_builtin): Rename flags_for_builtin to
7117 opflags_for_builtin.
7119 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7121 Backport from mainline
7122 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7124 * config/s390/vecintrin.h: Remove internal builtins.
7126 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7128 Backport from mainline
7129 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7131 * config/s390/s390.c (s390_secondary_reload): Fix check for
7132 GENERAL_REGS register class.
7134 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7136 Backport from mainline
7137 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7139 * config/s390/s390.c (s390_support_vector_misalignment): Call
7140 default implementation for !TARGET_VX.
7142 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7144 Backport from mainline
7145 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7147 * config/s390/s390.c (s390_legitimate_constant_p): Add
7150 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7152 Backport from mainline
7153 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7155 * config/s390/s390.c (s390_vector_abi): New variable definition.
7156 (s390_check_type_for_vector_abi): New function.
7157 (TARGET_ASM_FILE_END): New macro definition.
7158 (s390_asm_file_end): New function.
7159 (s390_function_arg): Call s390_check_type_for_vector_abi.
7160 (s390_gimplify_va_arg): Likewise.
7161 * configure: Regenerate.
7162 * configure.ac: Check for .gnu_attribute Binutils feature.
7164 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7166 Backport from mainline
7167 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7169 * config/s390/s390.c (s390_vector_bool_type_p): New function.
7170 (s390_invalid_binary_op): New function.
7171 (TARGET_INVALID_BINARY_OP): Define macro.
7173 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7175 Backport from mainline
7176 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7178 * config.gcc: Add vecintrin.h to extra_headers. Add s390-c.o to
7179 c_target_objs and cxx_target_objs. Add t-s390 to tmake_file.
7180 * config/s390/s390-builtin-types.def: New file.
7181 * config/s390/s390-builtins.def: New file.
7182 * config/s390/s390-builtins.h: New file.
7183 * config/s390/s390-c.c: New file.
7184 * config/s390/s390-modes.def: Add modes CCVEQANY, CCVH,
7185 CCVHANY, CCVHU, CCVHUANY, CCVFHANY, CCVFHEANY.
7186 * config/s390/s390-protos.h (s390_expand_vec_compare_cc)
7187 (s390_cpu_cpp_builtins, s390_register_target_pragmas): Add
7189 * config/s390/s390.c (s390-builtins.h, s390-builtins.def):
7191 (flags_builtin, flags_overloaded_builtin_var, s390_builtin_types)
7192 (s390_builtin_fn_types, s390_builtin_decls, code_for_builtin): New
7193 variable definitions.
7194 (s390_const_operand_ok): New function.
7195 (s390_expand_builtin): Rewrite.
7196 (s390_init_builtins): New function.
7197 (s390_handle_vectorbool_attribute): New function.
7198 (s390_attribute_table): Add s390_vector_bool attribute.
7199 (s390_match_ccmode_set): Handle new cc modes CCVH, CCVHU.
7200 (s390_branch_condition_mask): Generate masks for new modes.
7201 (s390_expand_vec_compare_cc): New function.
7202 (s390_mangle_type): Add mangling for vector bool types.
7203 (enum s390_builtin): Remove.
7204 (s390_atomic_assign_expand_fenv): Rename constants for sfpc and
7206 * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Call
7207 s390_cpu_cpp_builtins.
7208 (REGISTER_TARGET_PRAGMAS): New macro.
7209 * config/s390/s390.md: Define more UNSPEC_VEC_* constants.
7210 (insn_cmp mode attribute): Add new CC modes.
7211 (s390_sfpc, s390_efpc): Rename patterns to sfpc and efpc.
7212 (lcbb): New pattern definition.
7213 * config/s390/s390intrin.h: Include vecintrin.h.
7214 * config/s390/t-s390: New file.
7215 * config/s390/vecintrin.h: New file.
7216 * config/s390/vector.md: Include vx-builtins.md.
7217 * config/s390/vx-builtins.md: New file.S/390 zvector builtin
7220 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7222 Backport from mainline
7223 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7225 * config/s390/s390-modes.def: Add new modes CCVEQ, CCVFH, and
7227 * config/s390/s390.c (s390_match_ccmode_set): Handle new modes.
7228 (s390_select_ccmode): Likewise.
7229 (s390_canonicalize_comparison): Swap operands if necessary.
7230 (s390_expand_vec_compare_scalar): Expand DFmode compare using
7231 single element vector instructions.
7232 (s390_emit_compare): Call s390_expand_vec_compare_scalar.
7233 (s390_branch_condition_mask): Generate CC masks for the new modes.
7234 * config/s390/s390.md (v0, vf, vd): New mode attributes.
7235 (VFCMP, asm_fcmp, insn_cmp): New mode iterator and attributes.
7236 (*vec_cmp<insn_cmp>df_cconly, *fixuns_truncdfdi2_z13)
7237 (*fix_trunc<BFP:mode><GPR:mode>2_bfp, *floatunsdidf2_z13)
7238 (*floatuns<GPR:mode><FP:mode>2, *extendsfdf2_z13)
7239 (*extend<DSF:mode><BFP:mode>2): New insn definition.
7240 (fix_trunc<BFP:mode><GPR:mode>2_bfp, loatuns<GPR:mode><FP:mode>2)
7241 (extend<DSF:mode><BFP:mode>2): Turn into expander.
7242 (floatdi<mode>2, truncdfsf2, add<mode>3, sub<mode>3, mul<mode>3)
7243 (div<mode>3, *neg<mode>2, *abs<mode>2, *negabs<mode>2)
7244 (sqrt<mode>2): Add vector instruction.
7246 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7248 Backport from mainline
7249 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7251 * config/s390/constraints.md (j00, jm1, jxx, jyy, v): New
7253 * config/s390/predicates.md (const0_operand, constm1_operand)
7254 (constable_operand): Accept vector operands.
7255 * config/s390/s390-modes.def: Add supported vector modes.
7256 * config/s390/s390-protos.h (s390_cannot_change_mode_class)
7257 (s390_function_arg_vector, s390_contiguous_bitmask_vector_p)
7258 (s390_bytemask_vector_p, s390_expand_vec_strlen)
7259 (s390_expand_vec_compare, s390_expand_vcond)
7260 (s390_expand_vec_init): Add prototypes.
7261 * config/s390/s390.c (VEC_ARG_NUM_REG): New macro.
7262 (s390_vector_mode_supported_p): New function.
7263 (s390_contiguous_bitmask_p): Mask out the irrelevant bits.
7264 (s390_contiguous_bitmask_vector_p): New function.
7265 (s390_bytemask_vector_p): New function.
7266 (s390_split_ok_p): Vector regs don't work either.
7267 (regclass_map): Add VEC_REGS.
7268 (s390_legitimate_constant_p): Handle vector constants.
7269 (s390_cannot_force_const_mem): Handle CONST_VECTOR.
7270 (legitimate_reload_vector_constant_p): New function.
7271 (s390_preferred_reload_class): Handle CONST_VECTOR.
7272 (s390_reload_symref_address): Likewise.
7273 (s390_secondary_reload): Vector memory instructions only support
7274 short displacements. Rename reload*_nonoffmem* to reload*_la*.
7275 (s390_emit_ccraw_jump): New function.
7276 (s390_expand_vec_strlen): New function.
7277 (s390_expand_vec_compare): New function.
7278 (s390_expand_vcond): New function.
7279 (s390_expand_vec_init): New function.
7280 (s390_dwarf_frame_reg_mode): New function.
7281 (print_operand): Handle addresses with 'O' and 'R' constraints.
7282 (NR_C_MODES, constant_modes): Add vector modes.
7283 (s390_output_pool_entry): Handle vector constants.
7284 (s390_hard_regno_mode_ok): Handle vector registers.
7285 (s390_class_max_nregs): Likewise.
7286 (s390_cannot_change_mode_class): New function.
7287 (s390_invalid_arg_for_unprototyped_fn): New function.
7288 (s390_function_arg_vector): New function.
7289 (s390_function_arg_float): Remove size variable.
7290 (s390_pass_by_reference): Handle vector arguments.
7291 (s390_function_arg_advance): Likewise.
7292 (s390_function_arg): Likewise.
7293 (s390_return_in_memory): Vector values are returned in a VR if
7295 (s390_function_and_libcall_value): Handle vector arguments.
7296 (s390_gimplify_va_arg): Likewise.
7297 (s390_call_saved_register_used): Consider the arguments named.
7298 (s390_conditional_register_usage): Disable v16-v31 for non-vec
7300 (s390_preferred_simd_mode): New function.
7301 (s390_support_vector_misalignment): New function.
7302 (s390_vector_alignment): New function.
7303 (TARGET_STRICT_ARGUMENT_NAMING, TARGET_DWARF_FRAME_REG_MODE)
7304 (TARGET_VECTOR_MODE_SUPPORTED_P)
7305 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN)
7306 (TARGET_VECTORIZE_PREFERRED_SIMD_MODE)
7307 (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT)
7308 (TARGET_VECTOR_ALIGNMENT): Define target macro.
7309 * config/s390/s390.h (FUNCTION_ARG_PADDING): Define macro.
7310 (FIRST_PSEUDO_REGISTER): Increase value.
7311 (VECTOR_NOFP_REGNO_P, VECTOR_REGNO_P, VECTOR_NOFP_REG_P)
7312 (VECTOR_REG_P): Define macros.
7313 (FIXED_REGISTERS, CALL_USED_REGISTERS)
7314 (CALL_REALLY_USED_REGISTERS, REG_ALLOC_ORDER)
7315 (HARD_REGNO_CALL_PART_CLOBBERED, REG_CLASS_NAMES)
7316 (FUNCTION_ARG_REGNO_P, FUNCTION_VALUE_REGNO_P, REGISTER_NAMES):
7317 Add vector registers.
7318 (CANNOT_CHANGE_MODE_CLASS): Call C function.
7319 (enum reg_class): Add VEC_REGS, ADDR_VEC_REGS, GENERAL_VEC_REGS.
7320 (SECONDARY_MEMORY_NEEDED): Allow SF<->SI mode moves without
7322 (DBX_REGISTER_NUMBER, FIRST_VEC_ARG_REGNO, LAST_VEC_ARG_REGNO)
7323 (SHORT_DISP_IN_RANGE, VECTOR_STORE_FLAG_VALUE): Define macro.
7324 * config/s390/s390.md (UNSPEC_VEC_*): New constants.
7325 (VR*_REGNUM): New constants.
7326 (ALL): New mode iterator.
7327 (INTALL): Remove mode iterator.
7329 (movti): Implement TImode moves for VRs.
7330 Disable TImode splitter for VR targets.
7331 Implement splitting TImode GPR<->VR moves.
7332 (reload*_tomem_z10, reload*_toreg_z10): Replace INTALL with ALL.
7333 (reload<mode>_nonoffmem_in, reload<mode>_nonoffmem_out): Rename to
7334 reload<mode>_la_in, reload<mode>_la_out.
7335 (*movdi_64, *movsi_zarch, *movhi, *movqi, *mov<mode>_64dfp)
7336 (*mov<mode>_64, *mov<mode>_31): Add vector instructions.
7337 (TD/TF mode splitter): Enable for GPRs only (formerly !FP).
7338 (mov<mode> SF SD): Prefer lder, lde for loading.
7339 Add lrl and strl instructions.
7340 Add vector instructions.
7341 (strlen<mode>): Rename old strlen<mode> to strlen_srst<mode>.
7342 Call s390_expand_vec_strlen on z13.
7343 (*cc_to_int): Change predicate to nonimmediate_operand.
7344 (addti3): Rename to *addti3. New expander.
7345 (subti3): Rename to *subti3. New expander.
7346 * config/s390/vector.md: New file.
7348 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7350 Backport from mainline
7351 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7353 * common/config/s390/s390-common.c (processor_flags_table): Add
7355 * config.gcc: Add z13.
7356 * config/s390/s390-opts.h (enum processor_type): Add
7358 * config/s390/s390.c (s390_adjust_priority): Check for
7360 (s390_reorg): Likewise.
7361 (s390_sched_reorder): Likewise.
7362 (s390_sched_variable_issue): Likewise.
7363 (s390_loop_unroll_adjust): Likewise.
7364 (s390_option_override): Likewise. Default to -mvx when available.
7365 * config/s390/s390.h (enum processor_flags): Add PF_Z13 and PF_VX.
7366 (TARGET_CPU_Z13, TARGET_CPU_VX, TARGET_Z13, TARGET_VX)
7367 (TARGET_VX_ABI): Define macros.
7369 (TARGET_DEFAULT): Add MASK_OPT_VX.
7370 * config/s390/s390.md ("cpu" attribute): Add z13.
7371 ("cpu_facility" attribute): Add vec.
7372 * config/s390/s390.opt (processor_type): Add z13.
7374 * doc/invoke.texi: Add z13 option for -march.
7376 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7378 Backport from mainline
7379 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7381 * optabs.c (expand_vec_perm): Don't re-use SEL as target operand.
7383 2015-07-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7385 Backport from mainline
7386 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7388 * recog.h: Increase MAX_RECOG_ALTERNATIVES. Change type of
7389 alternative_mask to uint64_t.
7391 2015-07-02 Jakub Jelinek <jakub@redhat.com>
7393 Backported from mainline
7394 2015-06-08 Jakub Jelinek <jakub@redhat.com>
7396 * genattrtab.c (insn_alternatives): Change type from int *
7398 (check_attr_test): Shift ((uint64_t) 1) instead of 1 up.
7399 (get_attr_value): Change type of num_alt to uint64_t.
7400 (compute_alternative_mask): Change return type from
7401 int to uint64_t, shift ((uint64_t) 1) instead of 1 up.
7402 (make_alternative_compare, mk_attr_alt): Change argument type
7403 from int to uint64_t.
7404 (simplify_test_exp): Change type of i from int to uint64_t.
7405 Shift ((uint64_t) 1) instead of 1 up.
7406 (main): Adjust oballocvec first argument from int to uint64_t.
7407 Shift ((uint64_t) 1) instead of 1 up.
7409 2015-07-01 Kaz Kojima <kkojima@gcc.gnu.org>
7411 2015-06-30 Kaz Kojima <kkojima@gcc.gnu.org>
7413 * config/sh/sh.md (casesi_worker_1): Set length to 8 when
7416 2015-07-01 David Malcolm <dmalcolm@redhat.com>
7418 Backport from mainline r225207
7419 2015-06-30 David Malcolm <dmalcolm@redhat.com>
7421 * typed-splay-tree.h: New file.
7423 2015-07-01 Eric Botcazou <ebotcazou@adacore.com>
7426 * tree-nested.c (convert_nonlocal_omp_clauses): Initialize need_chain
7427 to true if the function is nested and if not optimizing.
7428 (convert_local_omp_clauses): Initialize need_frame to true if the
7429 function contains nested functions and if not optimizing.
7431 2015-06-30 Jakub Jelinek <jakub@redhat.com>
7434 * omp-low.c (simd_clone_adjust): Handle addressable linear
7435 or uniform parameters or non-gimple type uniform parameters.
7437 2015-06-30 Eric Botcazou <ebotcazou@adacore.com>
7439 * config/sparc/leon.md (leon_load): Enable for all LEON variants if
7440 -mfix-ut699 is not specified.
7441 (leon3_load): Rename into...
7442 (ut699_load): ...this. Enable for all LEON variants if -mfix-ut699
7445 2015-06-30 Szabolcs Nagy <szabolcs.nagy@arm.com>
7447 Backport from mainline:
7448 2015-06-02 Szabolcs Nagy <szabolcs.nagy@arm.com>
7451 * config/aarch64/geniterators.sh: Rewrite in awk.
7453 2015-06-27 James Greenhalgh <james.greenhalgh@arm.com>
7455 Backport from mainline r224672.
7456 2015-06-19 James Greenhalgh <james.greenhalgh@arm.com>
7458 * config/vax/vax.md: Adjust sign/zero extend patterns to
7459 handle SUBREGs in operands[1].
7461 2015-06-27 Oleg Endo <olegendo@gcc.gnu.org>
7463 Backport from mainline
7464 2015-06-25 Oleg Endo <olegendo@gcc.gnu.org>
7468 * config/sh/sh.md (tstsi_t peephole2): Use insn_invalid_p to check if
7469 the replacement insn will work.
7471 2015-06-26 Martin Jambor <mjambor@suse.cz>
7474 * tree-ssa-pre.c (before_dom_children): Check that dump_file is not
7475 NULL instead of calling dump_enabled_p.
7477 2015-06-26 Uros Bizjak <ubizjak@gmail.com>
7478 Segher Boessenkool <segher@kernel.crashing.org>
7481 * config/i386/i386.md (various splitters): Use shallow_copy_rtx
7482 before doing PUT_MODE or PUT_CODE on operands to avoid
7483 in-place RTX modification.
7485 2015-06-25 Andreas Tobler <andreast@gcc.gnu.org>
7487 Backport from mainline
7488 2015-05-18 Andreas Tobler <andreast@gcc.gnu.org>
7490 * config/freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build
7492 (FBSD_ENDFILE_SPEC): Likewise.
7493 * config/i386/freebsd.h (STARTFILE_SPEC): Remove and use the one from
7494 config/freebsd-spec.h.
7495 (ENDFILE_SPEC): Likewise.
7497 2015-06-25 Kaz Kojima <kkojima@gcc.gnu.org>
7499 Backport from mainline
7500 2015-06-24 Kaz Kojima <kkojima@gcc.gnu.org>
7503 * config/sh/sh.md (GOTaddr2picreg): Add a new operand for
7504 an additional element of the unspec vector. Modify indices
7506 (builtin_setjmp_receiver): Pass const0_rtx to gen_GOTaddr2picreg.
7507 * config/sh/sh.c (prepare_move_operands): Pass incremented
7508 const_int to gen_GOTaddr2picreg.
7509 (sh_expand_prologue): Pass const0_rtx to gen_GOTaddr2picreg.
7511 2015-06-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7513 Backport from mainline.
7514 2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7516 * config/arm/arm.c (vfp3_const_double_for_fract_bits): Disable
7517 for negative numbers.
7519 2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7522 * config/aarch64/aarch64.c (TARGET_RELAXED_ORDERING): Define.
7524 2015-06-24 Renlin Li <renlin.li@arm.com>
7526 Backport from mainline
7527 2015-06-24 Renlin Li <renlin.li@arm.com>
7529 * varasm.c (emit_local): Use unsigned int for align variable.
7531 2015-06-23 Richard Biener <rguenther@suse.de>
7533 Backport from mainline
7534 2015-06-09 Richard Biener <rguenther@suse.de>
7537 * tree-inline.c (insert_init_debug_bind): Unshare value.
7539 2015-06-23 Ludovic Courtès <ludo@gnu.org>
7542 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Move
7543 '-dynamic-linker' within %{!shared: ...}.
7545 2015-06-22 Vladimir Makarov <vmakarov@redhat.com>
7548 * lra-lives.c (process_bb_lives): Check insn copying the same
7549 reload pseudo and don't create a copy for it.
7551 2015-06-22 Richard Biener <rguenther@suse.de>
7553 Backport from mainline
7554 2015-06-08 Richard Biener <rguenther@suse.de>
7556 PR tree-optimization/66422
7557 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Split
7558 block after inserted gcc_unreachable.
7560 2015-06-21 Marek Polacek <polacek@redhat.com>
7562 Backport from mainline
7563 2015-06-20 Marek Polacek <polacek@redhat.com>
7565 * common.opt (fsanitize-undefined-trap-on-error): Add Driver.
7567 2015-06-18 Richard Biener <rguenther@suse.de>
7569 Backport from mainline
7570 2015-06-03 Richard Biener <rguenther@suse.de>
7572 PR tree-optimization/66375
7573 * tree-scalar-evolution.c (follow_ssa_edge_binary): First
7574 add to the evolution before following SSA edges.
7576 2015-06-18 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
7578 Backport from mainline r224414.
7579 2015-06-12 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
7581 * common/config/i386/i386-common.c
7582 (OPTION_MASK_ISA_MWAITX_SET): New.
7583 (ix86_handle_option): Handle mwaitx.
7584 * config.gcc (i[34567]86-*-*): Add mwaitxintrin.h,
7585 (x86_64-*-*): Likewise.
7586 * config/i386/mwaitxintrin.h: New header.
7587 * config/i386/cpuid.h (bit_MWAITX): Define.
7588 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
7590 * config/i386/i386.opt (mwaitx): New.
7591 * config/i386/i386-builtin-types.def
7592 (VOID_FTYPE_UNSIGNED_ UNSIGNED_UNSIGNED): New function type.
7593 * config/i386/i386-c.c: Define __MWAITX__ if needed.
7594 * config/i386/i386.c (ix86_target_string): Define -mmwaitx option.
7596 (ix86_option_override_internal): Handle new option.
7597 (processor_alias_table): Added PTA_MWAITX.
7598 (ix86_valid_target_attribute_inner_p): Add OPT_mmwaitx.
7599 (ix86_builtins): Add IX86_BUILTIN_MWAITX, IX86_BUILTIN_MONITORX.
7600 (ix86_expand_builtin): Handle IX86_BUILTIN_MWAITX and
7601 IX86_BUILTIN_MONITORX built-ins.
7602 * config/i386/i386.h (TARGET_MWAITX): New.
7603 * config/i386/i386.md (unspecv): Add UNSPEC_MWAITX and
7605 (mwaitx): New pattern.
7606 (monitorx_<mode>): New pattern.
7607 * config/i386/x86intrin.h: Include mwaitxintrin.h.
7608 * doc/extend.texi: Document monitorx and mwaitx builtins.
7609 * doc/invoke.texi: Document -mmwaitx option.
7611 2015-06-17 Jakub Jelinek <jakub@redhat.com>
7614 * omp-low.c (expand_omp_taskreg, expand_omp_target): Use child_cfun
7615 instead of DECL_STRUCT_FUNCTION (child_fn). Or in has_simduid_loops
7616 and has_force_vectorize_loops flags from cfun into
7618 (expand_omp_simd): For broken loop, set cfun->has_simduid_loops
7619 if simduid is non-NULL.
7620 * tree-pass.h (make_pass_simduid_cleanup): New prototype.
7621 * passes.def (pass_simduid_cleanup): Add new pass after loop
7623 * tree-vectorizer.c (adjust_simduid_builtins): Remove one unnecessary
7624 indirection from htab argument's type.
7625 (shrink_simd_arrays): New function.
7626 (vectorize_loops): Use it. Adjust adjust_simduid_builtins caller.
7627 Don't call adjust_simduid_builtins if there are no loops.
7628 (pass_data_simduid_cleanup, pass_simduid_cleanup): New variables.
7629 (pass_simduid_cleanup::execute): New method.
7630 (make_pass_simduid_cleanup): New function.
7632 2015-06-17 Ilya Enkovich <ilya.enkovich@intel.com>
7634 Backport from mainline r223929.
7635 2015-06-01 Ilya Enkovich <ilya.enkovich@intel.com>
7638 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Add
7639 redirection for instrumented calls.
7640 * lto-wrapper.c (merge_and_complain): Merge -fcheck-pointer-bounds.
7641 (append_compiler_options): Append -fcheck-pointer-bounds.
7642 * tree-chkp.h (chkp_copy_call_skip_bounds): New.
7643 (chkp_redirect_edge): New.
7644 * tree-chkp.c (chkp_copy_call_skip_bounds): New.
7645 (chkp_redirect_edge): New.
7647 2015-06-17 Ilya Enkovich <ilya.enkovich@intel.com>
7649 Backport from mainline r224063.
7650 2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
7652 * ipa.c (symbol_table::remove_unreachable_nodes): Don't
7653 remove instumentation thunks calling reachable functions.
7654 * lto-cgraph.c (output_refs): Always output IPA_REF_CHKP.
7655 * lto/lto-partition.c (privatize_symbol_name_1): New.
7656 (privatize_symbol_name): Privatize both decl and orig_decl
7657 names for instrumented functions.
7658 * cgraph.c (cgraph_node::verify_node): Add transparent
7659 transparent alias chain check for instrumented node.
7661 2015-06-16 Jim Wilson <jim.wilson@linaro.org>
7663 Backport from mainline
7664 2015-06-02 Jim Wilson <jim.wilson@linaro.org>
7667 * config/aarch64/aarch64.c (aarch64_function_value_regno_p): Change
7668 !TARGET_GENERAL_REGS_ONLY to TARGET_FLOAT.
7669 (aarch64_secondary_reload): Likewise
7670 (aarch64_expand_builtin_va_start): Change TARGET_GENERAL_REGS_ONLY
7672 (aarch64_gimplify_va_arg_expr, aarch64_setup_incoming_varargs):
7675 2015-06-16 Richard Biener <rguenther@suse.de>
7678 2015-06-01 Richard Biener <rguenther@suse.de>
7680 Backport from mainline
7681 2015-05-26 Michael Matz <matz@suse.de>
7684 * tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set
7685 STMT_VINFO_VEC_STMT, also with SLP.
7687 2015-05-22 Richard Biener <rguenther@suse.de>
7689 PR tree-optimization/66251
7690 * tree-vect-stmts.c (vectorizable_conversion): Properly
7691 set STMT_VINFO_VEC_STMT even for the SLP case.
7693 2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
7695 Backport from mainline:
7696 2015-06-11 David Edelsohn <dje.gcc@gmail.com>
7698 * dbxout.c (xcoff_debug_hooks): Provide a function for
7699 register_main_translation_unit hook.
7701 2015-06-11 John David Anglin <danglin@gcc.gnu.org>
7703 * config/pa/pa.c (pa_output_global_address): Handle LABEL_REF plus
7706 2015-06-11 Eric Botcazou <ebotcazou@adacore.com>
7709 * config/sparc/sparc.c (hard_regno_mode_classes): Add ??? comment.
7710 * config/sparc/sparc.md (zero_extendsidi2_insn_sp32): Use single order.
7711 (*addx_extend_sp32): Fix pasto.
7712 (*subx_extend): Rename into...
7713 (*subx_extend_sp32): ...this.
7714 (*adddi3_extend_sp32): Add earlyclobber.
7715 (*subdi3_insn_sp32): Likewise.
7716 (*subdi3_extend_sp32): Likewise.
7717 (*and_not_di_sp32): Likewise.
7718 (*or_not_di_sp32): Likewise.
7719 (*xor_not_di_sp32): Likewise.
7720 (*negdi2_sp32): Likewise.
7721 (*one_cmpldi2_sp32): Likewise.
7723 2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
7725 * debug.h (struct gcc_debug_hooks): Add a
7726 register_main_translation_unit hook.
7727 * debug.c (do_nothing_debug_hooks): Provide a function for this
7729 * dbxout.c (dbx_debug_hooks): Likewise.
7730 * sdbout.c (sdb_debug_hooks): Likewise.
7731 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
7732 * dwarf2out.c (main_translation_unit): New global variable.
7733 (dwarf2out_register_main_translation_unit): New function
7734 implementing the new hook.
7735 (dwarf2_debug_hooks): Assign
7736 dwarf2out_register_main_translation_unit to this new hook.
7737 (dwarf2out_init): Associate any main translation unit to
7740 2015-06-10 Uros Bizjak <ubizjak@gmail.com>
7743 * config/i386/i386.c (ix86_expand_vector_set): Use gen_int_mode
7744 to prepare mask operand for AVX512 modes.
7746 2015-06-10 Michael Meissner <meissner@linux.vnet.ibm.com>
7748 Backport from mainline:
7749 2015-06-10 Michael Meissner <meissner@linux.vnet.ibm.com>
7752 * doc/md.texi (Machine Constraints): Document that on the PowerPC
7753 if you use a constraint that targets a VSX register, you must use
7754 %x<n> in the template.
7756 2015-06-10 Jakub Jelinek <jakub@redhat.com>
7759 * config/i386/i386.c (ix86_split_long_move): For collisions
7760 involving direct tls segment refs, move the UNSPEC_TP possibly
7761 wrapped in ZERO_EXTEND out of the address for lea, to each of
7764 2015-06-08 Uros Bizjak <ubizjak@gmail.com>
7766 Backport from mainline:
7767 2015-06-03 Uros Bizjak <ubizjak@gmail.com>
7770 * config/i386/i386.c (ix86_function_arg_regno): Use ix86_cfun_abi
7771 to determine current function ABI.
7772 (ix86_function_value_regno_p): Ditto.
7774 2015-06-08 Tom de Vries <tom@codesourcery.com>
7776 backport from mainline:
7777 2015-06-08 Tom de Vries <tom@codesourcery.com>
7779 PR rtl-optimization/66444
7780 * postreload.c (reload_combine): Use get_call_reg_set_usage instead of
7783 2015-06-08 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
7785 * config/i386/sse.md (sse3_mwait): Swap the operand constriants.
7787 2015-06-06 John David Anglin <danglin@gcc.gnu.org>
7790 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Rearrange builtin
7791 defines. Define _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE for c++.
7792 Define _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for c++ if unix95 or
7794 * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Likewise.
7795 Define _INCLUDE_STDC_SOURCE_PRE_199901, _INCLUDE_STDC_SOURCE_199901,
7796 _INCLUDE_XOPEN_SOURCE_PRE_500, _INCLUDE_XOPEN_SOURCE_520,
7797 _INCLUDE_XOPEN_SOURCE_PRE_600 and _INCLUDE_XOPEN_SOURCE_600 for c++
7798 and non iso if unix2003.
7800 2015-06-03 Richard Biener <rguenther@suse.de>
7802 Backport from mainline
7803 2015-06-02 Richard Biener <rguenther@suse.de>
7806 * dwarf2out.c (lookup_context_die): New function.
7807 (resolve_addr): Avoid forcing a full DIE for the
7808 target of a DW_TAG_GNU_call_site during late compilation.
7809 Instead create a stub DIE without a type if we have a
7810 context DIE present.
7812 2015-06-01 Richard Biener <rguenther@suse.de>
7814 PR tree-optimization/66280
7815 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Fix pattern
7818 2015-05-27 Richard Biener <rguenther@suse.de>
7820 PR tree-optimization/66272
7822 2014-08-15 Richard Biener <rguenther@suse.de>
7824 PR tree-optimization/62031
7825 * tree-data-ref.c (dr_analyze_indices): Do not set
7826 DR_UNCONSTRAINED_BASE.
7827 (dr_may_alias_p): All indirect accesses have to go the
7828 formerly DR_UNCONSTRAINED_BASE path.
7829 * tree-data-ref.h (struct indices): Remove
7830 unconstrained_base member.
7831 (DR_UNCONSTRAINED_BASE): Remove.
7833 2015-05-21 Richard Biener <rguenther@suse.de>
7836 * match.pd: Guard pattern optimzing (int)(float)int
7837 conversions to apply only on GIMPLE.
7839 2015-05-13 Richard Biener <rguenther@suse.de>
7841 PR tree-optimization/66123
7842 * tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found
7845 2015-06-02 Renlin Li <renlin.li@arm.com>
7847 Backport from mainline
7848 2015-04-30 Renlin Li <renlin.li@arm.com>
7850 * config/aarch64/aarch64-simd.md (vec_shr): Defined as an unspec.
7851 * config/aarch64/iterators.md (unspec): Add UNSPEC_VEC_SHR.
7853 2015-06-02 Marek Polacek <polacek@redhat.com>
7855 Backport from mainline
7856 2015-06-02 Marek Polacek <polacek@redhat.com>
7859 * gimple-fold.c (gimple_fold_builtin_snprintf): Return false if
7860 get_maxval_strlen does not produce an INTEGER_CST.
7862 2015-06-02 Alan Modra <amodra@gmail.com>
7864 * config/rs6000/vsx.md (vsx_extract_v4sf): Revert accidental
7867 2015-06-01 Dominik Vogt <vogt@linux.vnet.ibm.com>
7869 Backport from mainline
7870 2015-05-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
7873 * config/s390/s390.c (s390_reorg): Fix placement of post-label NOPs
7876 2015-06-01 Richard Biener <rguenther@suse.de>
7878 Backport from mainline
7879 2015-05-26 Michael Matz <matz@suse.de>
7882 * tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set
7883 STMT_VINFO_VEC_STMT, also with SLP.
7885 2015-05-22 Richard Biener <rguenther@suse.de>
7887 PR tree-optimization/66251
7888 * tree-vect-stmts.c (vectorizable_conversion): Properly
7889 set STMT_VINFO_VEC_STMT even for the SLP case.
7891 2015-05-28 Mike Frysinger <vapier@gentoo.org>
7893 * config/nios2/linux.h (CPP_SPEC): Define.
7895 2015-05-28 Mike Frysinger <vapier@gentoo.org>
7897 * config/microblaze/linux.h (CPP_SPEC): Define.
7899 2015-05-28 Mike Frysinger <vapier@gentoo.org>
7901 * config/pa/pa-linux.h (CPP_SPEC): Change so -D_REENTRANT is used when
7902 -pthread is specified.
7904 2015-05-27 John David Anglin <danglin@gcc.gnu.org>
7907 * config/pa/pa.c (pa_emit_move_sequence): Correct placement of
7908 REG_EQUAL note when doing insert.
7910 2015-05-27 Richard Biener <rguenther@suse.de>
7912 Backport from mainline
7913 2015-05-12 Richard Biener <rguenther@suse.de>
7915 PR tree-optimization/66101
7916 * tree-ssa-dce.c (remove_dead_stmt): Properly mark loops for
7917 fixup if we turn a loop exit edge to a fallthru edge.
7919 2015-05-26 Oleg Endo <olegendo@gcc.gnu.org>
7922 * config/sh/sh.md (tstsi_t peephole2): Use gen_rtx_SET and
7923 take into account the case that operands[1] and operands[2]
7924 are the same register.
7926 2015-05-22 Jakub Jelinek <jakub@redhat.com>
7928 Backported from mainline
7929 2015-05-21 Jakub Jelinek <jakub@redhat.com>
7931 PR tree-optimization/66233
7932 * match.pd (ocvt (icvt@1 @0)): Don't handle vector types.
7935 2015-05-19 Jakub Jelinek <jakub@redhat.com>
7938 * tree.h (OMP_TEAMS_COMBINED): Define.
7939 * gimplify.c (enum gimplify_omp_var_data): Add
7940 GOVD_LINEAR_LASTPRIVATE_NO_OUTER.
7941 (enum omp_region_type): Add ORT_COMBINED_TEAMS.
7942 (omp_notice_variable): Accept both ORT_TEAMS
7943 and ORT_COMBINED_TEAMS. Don't recurse if
7944 GOVD_LINEAR_LASTPRIVATE_NO_OUTER is set and either
7945 GOVD_LINEAR is set, or GOVD_LASTPRIVATE without
7947 (omp_no_lastprivate): New function.
7948 (gimplify_scan_omp_clauses): For OMP_CLAUSE_LASTPRIVATE
7949 and OMP_CLAUSE_LINEAR, if omp_no_lastprivate, don't
7950 notice_outer and set appropriate bits, otherwise make
7951 sure default(none) combined constructs won't complain.
7952 (gimplify_adjust_omp_clauses): Remove OMP_CLAUSE_LINEAR
7953 outer special casing, for OMP_CLAUSE_LASTPRIVATE if
7954 omp_no_lastprivate either remove the clause or turn it
7955 into OMP_CLAUSE_PRIVATE.
7956 (gimplify_omp_for): Fix up handling of implicit
7957 lastprivate or linear iterators.
7958 (gimplify_omp_workshare): For OMP_TEAMS_COMBINED use
7960 * omp-low.c (lower_omp_for_lastprivate): For combined
7961 for simd use fd.loop.n2 from the for rather than simd.
7963 2015-05-13 Jakub Jelinek <jakub@redhat.com>
7966 * omp-low.c (expand_omp_taskreg): For GIMPLE_OMP_TASK expansion,
7967 make sure it is never noreturn, even when the task body does not
7969 (lower_omp_taskreg): For GIMPLE_OMP_TASK, emit GIMPLE_OMP_CONTINUE
7970 right before GIMPLE_OMP_RETURN.
7971 (make_gimple_omp_edges): Accept GIMPLE_OMP_CONTINUE as ->cont
7972 for GIMPLE_OMP_TASK. For GIMPLE_OMP_RETURN corresponding to
7973 GIMPLE_OMP_TASK add an EDGE_ABNORMAL edge from entry to exit.
7975 2015-05-21 Sandra Loosemore <sandra@codesourcery.com>
7977 Backport from mainline r223418:
7978 * config.gcc [powerpc*-*-linux*]: Allow --enable-targets=all
7979 to build a biarch toolchain again.
7981 2015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com>
7983 Backport from mainline r223471
7984 2015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com>
7987 * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Use
7988 build_distinct_type_copy to copy bounds.
7990 2015-05-19 Uros Bizjak <ubizjak@gmail.com>
7993 * config/i386/i386.c (expand_vec_perm_blend): Enable HImode and
7994 QImode inner modes for TARGET_AVX512BW. Force mask operand
7995 to a register for AVX512F modes.
7997 2015-04-16 Jan Hubicka <hubicka@ucw.cz>
8000 * i386.c (ix86_function_sseregparm): Only return -1 if local function
8001 with implied regparm is called from -mno-sse function.
8002 (init_cumulative_args): Output error if ix86_function_sseregparm
8003 return -1 and SSE register would be needed.
8004 (function_arg_advance_32): Likewise.
8005 (function_arg_32): Likewise.
8006 * i386.h (ix86_args): Add decl field.
8008 2015-04-16 Jan Hubicka <hubicka@ucw.cz>
8011 * i386.c (ix86_function_sseregparm): Only return -1 if local function
8012 with implied regparm is called from -mno-sse function.
8013 (init_cumulative_args): Output error if ix86_function_sseregparm
8014 return -1 and SSE register would be needed.
8015 (function_arg_advance_32): Likewise.
8016 (function_arg_32): Likewise.
8017 * i386.h (ix86_args): Add decl field.
8018 * gcc.target/i386/pr66047.c: New testcase.
8020 2015-04-16 Jan Hubicka <hubicka@ucw.cz>
8023 * ipa-inline.c (can_inline_edge_p): Allow early inlining of always
8024 inlines across optimization boundary; be tolerant about COMDAT;
8025 allow inlining across -fstrict-aliasing boundary.
8027 2015-05-16 Segher Boessenkool <segher@kernel.crashing.org>
8029 Backport from mainline
8030 2015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
8032 PR rtl-optimization/30967
8033 * config/rs6000/rs6000.c (rs6000_rtx_costs): Don't consider
8034 destination mode for the cost of scc patterns.
8036 2015-05-16 Uros Bizjak <ubizjak@gmail.com>
8039 * config/alpha/alpha.c (get_aligned_mem): Also look for reload
8040 replacements in memory addresses.
8041 (get_unaligned_address): Ditto.
8043 2015-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8045 Backport from mainline
8046 2015-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8049 * config/arm/arm.md (movcond_addsi): Check that operands[2] is a
8050 REG before taking its REGNO.
8052 2015-05-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
8054 * config/s390/2827.md: Split zEC12_simple into zEC12_simple_int
8055 and zEC12_simple_fp.
8056 * config/s390/s390.c (s390_issue_rate): Set issue rate for zEC12
8059 2015-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8061 Backport from mainline
8062 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8064 * common/config/aarch64/aarch64-common.c (AARCH64_CPU_NAME_LENGTH):
8066 (aarch64_rewrite_selected_cpu): Do not chop off extensions starting
8067 at '.'. Assert that there's enough space for everything.
8069 2015-05-12 Yvan Roux <yvan.roux@linaro.org>
8071 Backport from mainline.
8072 2015-05-05 Yvan Roux <yvan.roux@linaro.org>
8074 * config/aarch64/aarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define.
8075 (LINK_SPEC): Include CA53_ERR_843419_SPEC.
8076 * config/aarch64/aarch64-linux.h (CA53_ERR_843419_SPEC): Define.
8077 (LINK_SPEC): Include CA53_ERR_843419_SPEC.
8078 * config/aarch64/aarch64.opt (mfix-cortex-a53-843419): New option.
8079 * configure: Regenerate.
8080 * configure.ac: Add --enable-fix-cortex-a53-843419 option.
8081 * doc/install.texi (aarch64*-*-*): Document new
8082 --enable-fix-cortex-a53-843419 option.
8083 * doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-843419
8084 and -mno-fix-cortex-a53-843419 options.
8086 2015-05-11 Uros Bizjak <ubizjak@gmail.com>
8088 * config/i386/i386.c (ix86_loop_unroll_adjust): Use PATTERN (insn)
8089 when looking for memory references.
8091 2015-05-11 Jakub Jelinek <jakub@redhat.com>
8094 * config/s390/linux.h (TARGET_BINDS_LOCAL_P): Define to
8095 default_binds_local_p_2.
8096 * config/arm/linux-elf.h (TARGET_BINDS_LOCAL_P): Likewise.
8097 * config/aarch64/aarch64-linux.h (TARGET_BINDS_LOCAL_P): Likewise.
8099 2015-05-07 Uros Bizjak <ubizjak@gmail.com>
8102 * config/alpha/alpha.c (alpha_override_options_after_change): New.
8103 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New.
8104 (alpha_override_options): Move align_loops, align_jumps and
8105 align_functions handling into alpha_override_options_after_change.
8107 2015-05-06 Uros Bizjak <ubizjak@gmail.com>
8110 * config/i386/i386.c (ix86_parse_stringop_strategy_string): Error out
8111 if rep_8byte stringop strategy was specified for 32-bit target.
8113 2015-05-06 Christian Bruel <christian.bruel@st.com>
8116 * config/aarch64/aarch64.c (aarch64_override_options): Move align_loops,
8117 align_jumps, align_functions into aarch64_override_options_after_change.
8119 2015-05-05 Peter Bergner <bergner@vnet.ibm.com>
8121 Backport from mainline.
8122 2015-04-27 Peter Bergner <bergner@vnet.ibm.com>
8125 * config/rs6000/htm.md: Remove all define_expands.
8126 (UNSPECV_HTM_TABORTDC, UNSPECV_HTM_TABORTDCI, UNSPECV_HTM_TABORTWC,
8127 UNSPECV_HTM_TABORTWCI): Remove.
8128 (UNSPECV_HTM_TABORTXC, UNSPECV_HTM_TABORTXCI, UNSPECV_HTM_TTEST): New.
8129 (tabort_internal, tbegin_internal, tcheck_internal, tend_internal,
8130 trechkpt_internal, treclaim_internal, tsr_internal): Rename from this...
8131 (tabort, tbegin, tcheck, tend, trechkpt, treclaim, tsr): ...to this.
8132 (tabortdc_internal, tabortdci_internal, tabortwc_internal,
8133 tabortwci_internal): Remove define_insns.
8134 (tabort<wd>c, tabort<wd>ci): New define_insns.
8135 (tabort): Use gpc_reg_operand.
8136 (tcheck): Remove operand.
8137 (htm_mfspr_<mode>, htm_mtspr_<mode>): Use GPR mode macro.
8138 * config/rs6000/htmxlintrin.h (__TM_end): Use _HTM_TRANSACTIONAL as
8140 * config/rs6000/rs6000-builtin.def (BU_HTM_SPR0): Remove.
8141 (BU_HTM_SPR1): Rename to BU_HTM_V1. Remove use of RS6000_BTC_SPR.
8142 (tabort, tabortdc, tabortdci, tabortwc, tabortwci, tbegin,
8143 tcheck, tend, tendall, trechkpt, treclaim, tresume, tsuspend,
8144 tsr, ttest): Pass in the RS6000_BTC_CR attribute.
8145 (get_tfhar, set_tfhar, get_tfiar, set_tfiar, get_texasr, set_texasr,
8146 get_texasru, set_texasru): Pass in the RS6000_BTC_SPR attribute.
8147 (tcheck): Remove builtin argument.
8148 * config/rs6000/rs6000.c (rs6000_htm_spr_icode): Use TARGET_POWERPC64
8150 (htm_expand_builtin): Fix usage of expandedp. Disallow usage of the
8151 tabortdc and tabortdci builtins when not in 64-bit mode.
8152 Modify code to handle the loss of the HTM define_expands.
8153 Emit code to copy the CR register to TARGET.
8154 (htm_init_builtins): Modify code to handle the loss of the HTM
8156 * config/rs6000/rs6000.h (RS6000_BTC_32BIT): Delete.
8157 (RS6000_BTC_64BIT): Likewise.
8158 (RS6000_BTC_CR): New macro.
8159 * doc/extend.texi: Update documentation for htm builtins.
8161 2015-05-04 Jakub Jelinek <jakub@redhat.com>
8163 PR tree-optimization/65984
8164 * ubsan.c: Include tree-cfg.h.
8165 (instrument_bool_enum_load): Use stmt_ends_bb_p instead of
8166 stmt_could_throw_p test, rename can_throw variable to ends_bb.
8168 * Makefile.in (PATCHLEVEL_c): New variable.
8169 (DATESTAMP_s, REVISION_s): If PATCHLEVEL_c is not 0,
8170 expand the same way as if DEVPHASE_c was non-empty.
8172 2015-05-04 Kai Tietz <ktietz@redhat.com>
8174 Backmerge from trunk.
8177 * lto-wrapper.c (run_gcc): Open filename
8180 2015-04-30 Paolo Carlini <paolo.carlini@oracle.com>
8183 * doc/invoke.texi ([-Wnarrowing]): Update.
8185 2015-04-30 Alan Modra <amodra@gmail.com>
8190 * calls.c (load_register_parameters): Don't load past end of
8191 mem unless suitably aligned.
8193 2015-04-27 Jakub Jelinek <jakub@redhat.com>
8195 PR tree-optimization/65875
8196 * tree-vrp.c (update_value_range): If in is_new case setting
8197 old_vr to VR_VARYING, also set new_vr to it. Remove
8198 old_vr->type == VR_VARYING test.
8199 (vrp_visit_phi_node): Return SSA_PROP_VARYING instead of
8200 SSA_PROP_INTERESTING if update_value_range returned true,
8201 but new range is VR_VARYING.
8203 2015-04-27 Georg-Johann Lay <avr@gjlay.de>
8205 Backport from 2015-04-27 trunk r222459.
8209 * config/avr/gen-avr-mmcu-specs.c (print_mcu): Close file.
8210 Add hint how to use own spec file.
8212 2015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
8214 Backport from mainline
8215 2015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
8218 * config/rs6000/rs6000.opt (-mvsx-align-128): Make options that
8219 save to independent variables use the Save attribute. This will
8220 allow these options to be modified with the #pragma/attribute
8222 (-mallow-movmisalign): Likewise.
8223 (-mallow-df-permute): Likewise.
8224 (-msched-groups): Likewise.
8225 (-malways-hint): Likewise.
8226 (-malign-branch-targets): Likewise.
8227 (-mvectorize-builtins): Likewise.
8228 (-msave-toc-indirect): Likewise.
8230 * config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that
8231 can be set via the #pragma/attribute target support.
8232 (rs6000_opt_vars): Likewise.
8233 (rs6000_inner_target_options): If VSX was set, also set
8234 -mno-avoid-indexed-addresses.
8236 2015-04-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8238 Backport from mainline r222385
8239 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8241 * config/rs6000/altivec.md (*altivec_lvx_<mode>_internal): Remove
8242 asterisk from name so this can be generated directly.
8243 (*altivec_stvx_<mode>_internal): Likewise.
8244 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Add assert
8245 that this is never called during or after reload/lra.
8246 (rs6000_frame_related): Remove split_reg
8247 argument and logic that references it.
8248 (emit_frame_save): Remove last parameter from call to
8249 rs6000_frame_related.
8250 (rs6000_emit_prologue): Remove last parameter from eight calls to
8251 rs6000_frame_related. Force generation of stvx instruction for
8252 Altivec register saves. Remove split_reg handling, which is no
8254 (rs6000_emit_epilogue): Force generation of lvx instruction for
8255 Altivec register restores.
8257 2015-04-24 Uros Bizjak <ubizjak@gmail.com>
8259 * config/i386/sse.md (*vec_widen_smult_even_v8si<mask_name>):
8260 Mark operand1 commutative.
8262 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8264 Backport from mainline r222362
8265 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8267 * config/rs6000/crypto.md (crypto_vpmsum<CR_char>): Change
8268 TARGET_CRYPTO to TARGET_P8_VECTOR>
8269 (crypto_vpermxor_<mode>): Likewise.
8270 * config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define.
8271 (BU_CRYPTO_3A): Likewise.
8272 (BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2.
8273 (BU_CRYPTO_OVERLOAD_3A): New #define.
8274 (VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A.
8275 (VPMSUMH): Likewise.
8276 (VPMSUMW): Likewise.
8277 (VPMSUMD): Likewise.
8278 (VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A.
8279 (VPERMXOR_V4SI): Likewise.
8280 (VPERMXOR_V8HI): Likewise.
8281 (VPERMXOR_V16QI): Likewise.
8282 (VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to
8283 BU_CRYPTO_OVERLOAD_2A.
8284 (VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to
8285 BU_CRYPTO_OVERLOAD_3A.
8286 * config/rs6000/rs6000.opt (mcrypto): Change description of
8289 Backport from mainline r222362
8290 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8292 * config/rs6000/rs6000.opt (mcrypto): Change option description to
8293 match category changes in ISA 2.07B.
8295 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8297 Backport from mainline r222351
8298 2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8300 * config/rs6000/rs6000.c (rtx_is_swappable_p): Commentary
8302 (insn_is_swappable_p): Return 1 for a convert from double to
8303 single precision when all of its uses are splats of BE element
8306 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8308 Backport from mainline r222349
8309 2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8312 * config/rs6000/rs6000.c (rs6000_option_override_internal): For
8313 VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and
8314 TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line
8316 (rs6000_builtin_mask_for_load): Return 0 for targets with
8317 efficient unaligned VSX accesses so that the vectorizer will use
8318 direct unaligned loads.
8319 (rs6000_builtin_support_vector_misalignment): Always return true
8320 for targets with efficient unaligned VSX accesses.
8321 (rs6000_builtin_vectorization_cost): Cost of unaligned loads and
8322 stores on targets with efficient unaligned VSX accesses is almost
8323 always the same as the cost of an aligned load or store, so model
8325 * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for
8326 unaligned vectors if we have efficient unaligned VSX accesses.
8327 * config/rs6000/rs6000.opt (mefficient-unaligned-vector): New
8328 undocumented option.
8330 2015-04-23 Vladimir Makarov <vmakarov@redhat.com>
8332 Backport from trunk r222223.
8334 2015-04-19 Vladimir Makarov <vmakarov@redhat.com>
8336 PR rtl-optimization/65805
8337 * lra-eliminations.c (lra_eliminate_regs_1): Add new assert.
8338 Don't use difference of offset and previous offset if
8339 update_sp_offset is non-zero.
8340 (eliminate_regs_in_insn): Ditto.
8341 * lra-spills.c (remove_pseudos): Exchange 4th and 6th args in
8342 lra_eliminate_regs_1 call.
8343 * lra-constraints.c (get_equiv_with_elimination): Ditto.
8345 2015-04-22 Georg-Johann Lay <avr@gjlay.de>
8347 Backport from trunk r222179.
8349 2015-04-17 Sivanupandi Pitchumani <Pitchumani.Sivanupandi@atmel.com>
8352 * config/avr/gen-avr-mmcu-specs.c (*avrlibc_startfile): Adjust
8353 to new AVR-LibC file layout (bug #44574).
8354 (*avrlibc_devicelib): Same.
8355 * config/avr/avr-mcus.def: Adjust comments.
8356 * config/avr/avr.opt (nodevicelib): Adjust help.
8358 2015-04-22 Jakub Jelinek <jakub@redhat.com>
8360 * BASE-VER: Set to 5.1.1.
8362 2015-04-22 Release Manager
8364 * GCC 5.1.0 released.
8366 2015-04-20 Jakub Jelinek <jakub@redhat.com>
8369 * dwarf2out.c (add_AT_wide): Clear attr.dw_attr_val.val_entry.
8371 2015-04-18 Gerald Pfeifer <gerald@pfeifer.com>
8373 * doc/plugins.texi: Rewrite first introductory paragraph.
8375 2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
8378 * config/i386/i386.c (ix86_binds_local_p): Define only if
8379 TARGET_MACHO and TARGET_DLLIMPORT_DECL_ATTRIBUTES are false.
8381 2015-04-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8382 Jakub Jelinek <jakub@redhat.com>
8385 * config/rs6000/rs6000.c (rtx_is_swappable_p): Remove previous
8386 fix; ensure that a subsequent SH_NONE operand does not overwrite
8387 an existing *special value.
8389 2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
8392 * output.h (default_binds_local_p_3): New.
8393 * varasm.c (default_binds_local_p_3): Make it public. Take an
8394 argument to indicate if common symbol may be local. If common
8395 symbol may be local, treat non-external variable as defined
8397 (default_binds_local_p_2): Pass !flag_pic to default_binds_local_p_3.
8398 (default_binds_local_p_1): Pass false to default_binds_local_p_3.
8399 * config/i386/i386.c (ix86_binds_local_p): New.
8400 (TARGET_BINDS_LOCAL_P): Replace default_binds_local_p_2 with
8403 2015-04-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8406 * config/rs6000/rs6000.c (rtx_is_swappable_p): Handle case where
8407 vec_extract operation is wrapped in a PARALLEL with a CLOBBER.
8408 (adjust_extract): Likewise.
8410 2015-04-17 Jakub Jelinek <jakub@redhat.com>
8413 * dwarf2out.c (loc_list_from_tree): Return NULL
8414 for DEBUG_EXPR_DECL.
8416 2015-04-15 Jakub Jelinek <jakub@redhat.com>
8419 * ipa-icf-gimple.c (func_checker::compare_bb): For GIMPLE_NOP
8420 and GIMPLE_PREDICT use break instead of return true. For
8421 GIMPLE_EH_DISPATCH, compare dispatch region.
8423 2015-04-14 Jakub Jelinek <jakub@redhat.com>
8425 PR rtl-optimization/65761
8426 * cfgrtl.c (rtl_split_edge): For EDGE_CROSSING split, use
8427 get_last_bb_insn (after) instead of NEXT_INSN (BB_END (after)).
8429 2015-04-13 Jan Hubicka <hubicka@ucw.cz>
8430 Gerald Pfeifer <gerald@pfeifer.com>
8432 * doc/contrib.texi (Contributors): Add Martin Jambor and
8435 2015-04-12 Jakub Jelinek <jakub@redhat.com>
8437 * BASE-VER: Set to 5.0.1.
8438 * DEV-PHASE: Set to prerelease.
8440 PR tree-optimization/65747
8441 * ipa-icf-gimple.c (func_checker::compare_operand): Use compare_operand
8442 rather than compare_ssa_name for OBJ_TYPE_REF_OBJECT.
8444 2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
8446 * doc/invoke.texi (-Wmemset-transposed-args): Break a long
8447 sentence. Improve grammar.
8449 2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
8451 * doc/contrib.texi (Contributors): Add Maxim Kuvyrkov.
8453 2015-04-11 Jan Hubicka <hubicka@ucw.cz>
8456 * ipa-inline-transform.c (speculation_removed): Remove static var.
8457 (check_speculations): New function.
8458 (clone_inlined_nodes): Do not check spculations.
8459 (inline_call): Call check_speculations.
8460 * ipa-prop.c (ipa_make_edge_direct_to_target): Do not
8461 consider non-invariants.
8463 2015-04-11 Jan Hubicka <hubicka@ucw.cz>
8464 Martin Liska <mliska@suse.cz>
8467 * ipa-icf.c (sem_item::compare_cgraph_references): function and
8468 variable can not match.
8469 (sem_item::update_hash_by_addr_refs): Fix handling of virtual tables.
8470 (sem_variable::equals_wpa): Fix checking of DECL_FINAL_P patch.
8472 2015-04-11 Jakub Jelinek <jakub@redhat.com>
8474 PR tree-optimization/65735
8475 * tree-ssa-threadedge.c (fsm_find_control_statement_thread_paths):
8476 Remove visited_phis argument, add visited_bbs, avoid recursing into the
8477 same bb rather than just into the same phi node.
8478 (thread_through_normal_block): Adjust caller.
8480 2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
8482 * doc/contrib.texi (Contributors): Add Ira Rosen.
8484 2015-04-11 Benno Schulenberg <bensberg@justemail.net>
8486 * gcov.c (find_source): Fix miswording in error message.
8487 * config/i386/i386.c (ix86_handle_cconv_attribute): Likewise.
8488 (ix86_expand_sse_comi_round): Fix typo in error message.
8490 2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
8492 * doc/contrib.texi (Contributors): Add Laurynas Biveinis.
8494 2015-04-10 Gerald Pfeifer <gerald@pfeifer.com>
8496 * doc/contrib.texi (Contributors): Update Joe Buck's entry.
8498 2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
8501 * lra-assigns.c (spill_for): Update smallest_bad_spills_num.
8502 Print bad_spills_num and insn_pseudos_num.
8504 2015-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8507 * config/arm/arm.c (arm_canonicalize_comparison): Use ARM_SIGN_EXTEND
8508 when creating +1 values for SImode.
8510 2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
8513 * lra-constraints.c (prohibited_class_reg_set_mode_p): Comment the
8516 2015-04-10 Jakub Jelinek <jakub@redhat.com>
8517 Iain Sandoe <iain@codesourcery.com>
8520 * configure: Regenerate.
8522 2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
8525 * config/i386/sse.md: Generate vextract32x4 if AVX-512DQ is disabled.
8527 2015-04-09 Gerald Pfeifer <gerald@pfeifer.com>
8529 * doc/contrib.texi (Contributors): Add John Marino.
8531 2015-04-09 Jakub Jelinek <jakub@redhat.com>
8533 PR tree-optimization/65709
8534 * ubsan.c (instrument_mem_ref): Use TREE_TYPE (base) instead of
8535 TREE_TYPE (TREE_TYPE (t)).
8537 2015-04-09 Vladimir Makarov <vmakarov@redhat.com>
8540 * lra-int.h (lra_bad_spill_regno_start): New.
8541 * lra.c (lra_bad_spill_regno_start): New.
8542 (lra): Set up lra_bad_spill_regno_start. Set up
8543 lra_constraint_new_regno_start unconditionally.
8544 * lra-assigns.c (spill_for): Use lra_bad_spill_regno_start for
8547 2015-04-09 Marek Polacek <polacek@redhat.com>
8548 Jakub Jelinek <jakub@redhat.com>
8551 * gimple-fold.c (gimple_fold_builtin_memory_op): Update comment.
8552 (fold_ctor_reference): Use STRIP_USELESS_TYPE_CONVERSION instead
8555 2015-04-09 Segher Boessenkool <segher@kernel.crashing.org>
8557 PR rtl-optimization/65693
8558 * combine.c (is_parallel_of_n_reg_sets): Move outside of
8561 2015-04-09 Georg-Johann Lay <avr@gjlay.de>
8564 * config/avr/driver-avr.c (avr_devicespecs_file): Don't specify a
8565 device specs file if "device-specs%s" didn't resolve to a path.
8567 2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
8570 * config/i386/i386.c (fixup_modeless_constant): New.
8571 (ix86_expand_args_builtin): Fixup modeless constant operand.
8572 (ix86_expand_round_builtin): Ditto.
8573 (ix86_expand_special_args_builtin): Ditto.
8574 (ix86_expand_builtin): Ditto.
8576 2015-04-09 Jakub Jelinek <jakub@redhat.com>
8579 * config/i386/i386.md (*udivmod<mode>4_pow2): Allow
8580 any pow2 integer in between 2 and 0x80000000U inclusive.
8582 2015-04-08 Segher Boessenkool <segher@kernel.crashing.org>
8584 PR rtl-optimization/65693
8585 * combine.c (is_parallel_of_n_reg_sets): Change first argument
8586 from an rtx_insn * to an rtx.
8587 (try_combine): Adjust both callers. Use it once more.
8589 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
8591 * tree-chkp.c (chkp_find_const_bounds_var): Remove.
8592 (chkp_make_static_const_bounds): Search existing
8593 symbol by assembler name. Use make_decl_one_only.
8594 (chkp_get_zero_bounds_var): Remove node search which
8595 is now performed in chkp_make_static_const_bounds.
8596 (chkp_get_none_bounds_var): Likewise.
8598 2015-04-08 Michael Witten <mfwitten@gmail.com>
8600 * doc/extend.texi (Attribute Syntax): Add a trailing semicolon
8603 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8605 * tree.h (CONVERT_EXPR_P): Commentary typo fix.
8607 2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
8609 * doc/extend.texi (__sync Builtins): Fix grammar.
8611 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8613 * doc/cfg.texi (GIMPLE statement iterators): Fix typo.
8615 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8617 * varasm.c (emit_local): Move definition of align.
8619 2015-04-08 Julian Brown <julian@codesourcery.com>
8621 * config/nvptx/mkoffload.c (process): Support variable mapping.
8623 2015-03-27 Trevor Saunders <tbsaunde@tbsaunde.org>
8625 * config/alpha/alpha.c (alpha_use_linkage): Change type of slot to
8627 (alpha_write_one_linkage): Correct typo.
8629 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
8631 * ipa-comdats.c (propagate_comdat_group): Walk through thunks.
8633 2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
8635 * doc/install.texi (bootstrap-lto-noplugin): Rewrite.
8637 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
8639 * tree-chkp.h (chkp_insert_retbnd_call): New.
8640 * tree-chkp.c (chkp_insert_retbnd_call): New.
8641 * ipa-split.c (insert_bndret_call_after): Remove.
8642 (split_function): Use chkp_insert_retbnd_call.
8643 * cgraphunit.c (cgraph_node::expand_thunk): Build returned
8644 bounds for instrumented functions.
8646 2015-04-07 Jan Hubicka <hubicka@ucw.cz>
8649 * calls.c (initialize_argument_information): When producing tail
8650 call also turn SSA_NAMES passed by references to original PARM_DECLs
8652 2015-04-07 Vladimir Makarov <vmakarov@redhat.com>
8655 * lra-remat.c (do_remat): Process input and non-input insn
8656 registers separately.
8658 2015-04-07 Jakub Jelinek <jakub@redhat.com>
8661 * valtrack.c (debug_lowpart_subreg): New function.
8662 (dead_debug_insert_temp): Use it.
8665 * expr.c (get_inner_reference): Handle bit_offset that doesn't fit
8666 into signed HOST_WIDE_INT the same as negative bit_offset.
8668 2015-04-07 Ilya Enkovich <ilya.enkovich@intel.com>
8670 * ipa-comdats.c (ipa_comdats): Visit all thunks
8671 to set proper comdat group.
8673 2015-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8676 * config/arm/arm.c (arm_legitimate_constant_p_1): Remove restriction
8677 on constants for NEON VSTRUCT modes.
8679 2015-04-07 Jakub Jelinek <jakub@redhat.com>
8680 Iain Sandoe <iain@codesourcery.com>
8683 * configure: Regenerate.
8685 2015-04-06 Michael Meissner <meissner@linux.vnet.ibm.com>
8688 * config/rs6000/rs6000.c (struct processor_costs): Add cost field
8689 for SF->DF conversions to make FLOAT_EXTEND more expensive, so
8690 that LFD is used to load double constants instead of LFS. Add
8691 defaults for all costs structures. Add comments for missing
8692 initialization fields.
8693 (size32_cost): Likewise.
8694 (size64_cost): Likewise.
8695 (rs64a_cost): Likewise.
8696 (mpccore_cost): Likewise.
8697 (ppc403_cost): Likewise.
8698 (ppc405_cost): Likewise.
8699 (ppc440_cost): Likewise.
8700 (ppc476_cost): Likewise.
8701 (ppc601_cost): Likewise.
8702 (ppc603_cost): Likewise.
8703 (ppc604_cost): Likewise.
8704 (ppc604e_cost): Likewise.
8705 (ppc620_cost): Likewise.
8706 (ppc630_cost): Likewise.
8707 (ppccell_cost): Likewise.
8708 (ppc750_cost): Likewise.
8709 (ppc7450_cost): Likewise.
8710 (ppc8540_cost): Likewise.
8711 (ppce300c2c3_cost): Likewise.
8712 (ppce500mc_cost): Likewise.
8713 (ppce500mc64_cost): Likewise.
8714 (ppce5500_cost): Likewise.
8715 (ppce6500_cost): Likewise.
8716 (titan_cost): Likewise.
8717 (power4_cost): Likewise.
8718 (power6_cost): Likewise.
8719 (power7_cost): Likewise.
8720 (power8_cost): Likewise.
8721 (ppca2_cost): Likewise.
8722 (rs6000_rtx_costs): Make FLOAT_EXTEND use SFDF_convert field.
8724 * config/rs6000/rs6000.md (extendsfdf2_fpr): Generate XSCPSGNDP
8725 instead of XXLOR to copy SFmode to clear out dirty bits created
8726 when SFmode denormals are generated.
8727 (mov<mode>_hardfloat, FMOVE32 case): Likewise.
8728 (truncdfsf2_fpr): Add support for ISA 2.07 XSRSP instruction.
8730 2015-04-06 Evandro Menezes <e.menezes@samsung.com>
8732 * doc/invoke.texi (AARCH64/mtune): Add exynos-m1 as an option.
8733 * config/aarch64/aarch64-cores.def (exynos-m1): New core.
8734 * config/aarch64/aarch64-tune.md: Regenerate.
8736 2015-04-06 Evandro Menezes <e.menezes@samsung.com>
8738 * doc/invoke.texi (ARM/mtune): Add "exynos-m1" as an option.
8739 * config/arm/arm.c (arm_issue_rate): Specify "3" for "exynosm1".
8740 * config/arm/arm-cores.def (exynos-m1): New core.
8741 * config/arm/arm-tune.md: Regenerate.
8742 * config/arm/arm-tables.opt: Add entry for "exynos-m1".
8743 * config/arm/bpabi.h: Likewise.
8745 2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
8747 * ipa-cp (set_single_call_flag): Remove too
8750 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
8752 * config/i386/intelmic-mkoffload.c (generate_host_descr_file): Call
8753 GOMP_offload_unregister from the destructor.
8755 2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
8757 * ipa-chkp.c (chkp_maybe_create_clone): Reset cdtor
8758 flags for instrumentation thunk.
8759 (chkp_produce_thunks): Likewise.
8761 2015-04-05 Martin Liska <mliska@suse.cz>
8764 * ipa-icf.c (sem_function::equals_wpa): Verify that IPA CP
8765 has computed data structure.
8766 (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
8768 2015-04-04 Jan Hubicka <hubicka@ucw.cz>
8770 * invoke.texi (inline-unit-growth): Increase growth to 20%
8771 * params.def (PARAM_INLINE_UNIT_GROWTH): Likewise.
8773 2015-04-04 Vladimir Makarov <vmakarov@redhat.com>
8776 * lra-int.h (LRA_MAX_REMATERIALIZATION_PASSES): New. Add its
8778 (lra_rematerialization_iter): New.
8779 * lra.c (lra): Initialize lra_rematerialization_iter.
8780 Stop updating lra_constraint_new_regno_start after switching of
8781 inheritance and rematerialization.
8782 * lra-remat.c (lra_rematerialization_iter): New.
8783 (lra_remat): Add printing pass iteration. Do rematerialization
8784 only first LRA_MAX_REMATERIALIZATION_PASSES iterations.
8786 2015-04-04 Richard Biener <rguenther@suse.de>
8788 PR tree-optimization/64909
8789 PR tree-optimization/65660
8790 * tree-vectorizer.h (vect_get_known_peeling_cost): Adjust
8791 to take a cost vector for scalar iteration cost.
8792 (vect_get_single_scalar_iteration_cost): Likewise.
8793 * tree-vect-loop.c (vect_get_single_scalar_iteration_cost):
8794 Compute the scalar iteration cost into a cost vector.
8795 (vect_get_known_peeling_cost): Use the scalar cost vector to
8796 account for the cost of the peeled iterations.
8797 (vect_estimate_min_profitable_iters): Likewise.
8798 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
8801 2015-04-04 Alan Modra <amodra@gmail.com>
8805 * config/rs6000/predicates.md (zero_reg_mem_operand): Exclude
8806 0.0 constant unless TARGET_VSX.
8807 * config/rs6000/rs6000.md (extenddftf2_internal): Remove last
8810 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
8813 * ipa-inline-transform.c (inline_call): Skip sanity check to work
8816 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
8819 * ipa-inline-analysis.c (edge_set_predicate): Do not redirect
8820 speculative indirect edges to avoid ordering issue.
8822 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
8825 * ipa-inline.c (edge_badness): Add combined size to the denominator.
8827 2015-04-03 Jakub Jelinek <jakub@redhat.com>
8829 * omp-low.c (scan_omp_parallel, scan_omp_task, scan_omp_target): Set
8830 TYPE_ARTIFICIAL on the .omp_data* types.
8832 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
8834 * cgraphunit.c (cgraph_node::expand_thunk): Don't expand
8835 instrumentation thunks.
8837 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
8839 * config/i386/i386.c (ix86_expand_call): Avoid nested
8840 PARALLEL in returned call value.
8842 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
8844 * lto-cgraph.c (input_cgraph_1): Always link instrumented
8845 assembler name with original one.
8847 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
8849 * config/i386/i386.c (ix86_register_priority): Use AX_REG.
8851 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
8853 Revert parts of r216820.
8854 * config/i386/i386.md (movqi_internal): Correct type calculation
8855 for alternatives 3 and 5.
8857 2015-04-02 Jakub Jelinek <jakub@redhat.com>
8859 PR preprocessor/61977
8860 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't
8861 predefine __vector/__bool/__pixel macros nor context sensitive
8863 * config/spu/spu-c.c (spu_cpu_cpp_builtins): Similarly.
8865 2015-04-02 John David Anglin <danglin@gcc.gnu.org>
8867 * config/pa/pa.c (pa_output_move_double): Directly handle register
8868 indexed memory operand. Simplify handling of scaled register indexed
8871 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
8874 * config/i386/linux-common.h (MPX_SPEC): New.
8875 (CHKP_SPEC): Add MPX_SPEC.
8876 * doc/invoke.texi (-fcheck-pointer-boudns): Document
8877 possible issues with '-z bndplt' support in linker.
8879 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
8881 * config/i386/sync.md (UNSPEC_FILD_ATOMIC, UNSPEC_FIST_ATOMIC): New.
8882 (loaddi_via_fpu): Use UNSPEC_FILD_ATOMIC.
8883 (storedi_via_fpu): Use UNSPEC_FIST_ATOMIC.
8884 * reg-stack.c (get_true_reg): Change UNSPEC_LDA to UNSPEC_FILD_ATOMIC.
8885 (subst_stack_regs_pat): Change UNSPEC_STA to UNSPEC_FIST_ATOMIC.
8887 2015-04-01 Uros Bizjak <ubizjak@gmail.com>
8889 * config/i386/sync.md (UNSPEC_MOVA): Remove.
8890 (atomic_load<mode>): Change operand 0 predicate to
8891 nonimmediate_operand and fix up the destination when needed.
8893 (atomic_loaddi_fpu): Use UNSPEC_LDA.
8894 (atomic_store<mode>): Change operand 1 predicate to
8895 nonimmendate_operand and move the source to register when needed.
8897 (atomic_store<mode>_1): Use UNSPEC_STA.
8898 (atomic_storedi_fpu): Change operand 1 to nonimmediate_operand.
8899 Fix moves from memory operand. Use UNSPEC_STA.
8901 2015-04-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
8903 * expmed.c (strict_volatile_bitfield_p): Check that the access will
8904 not cross a MODESIZE boundary.
8905 (store_bit_field, extract_bit_field): Added assertions in the
8906 strict volatile bitfields code path.
8908 2015-04-01 Max Ostapenko <m.ostapenko@partner.samsung.com>
8911 * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin):
8912 Increase args array size by one to avoid buffer overflow.
8914 2015-03-31 Jan Hubicka <hubicka@ucw.cz>
8916 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
8918 * ipa-inline.c (edge_badness): Add wrapper penalty.
8919 (sum_callers): Move up.
8920 (inline_small_functions): Set single_caller.
8921 * ipa-inline.h (inline_summary): Add single_caller.
8922 * ipa-split.c (split_function): Set split_part.
8923 (cgraph_node::create_clone): Do not shadow decl; copy split_part.
8924 * cgraph.h (cgraph_node): Add split_part.
8926 2015-03-31 Uros Bizjak <ubizjak@gmail.com>
8929 * config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
8930 Do not split operands 0 and operands 2 to halfmode.
8931 (atomic_compare_and_swap<mode>): Update for
8932 atomic_compare_and_swap<dwi>_doubleword changes.
8934 2015-03-31 Jan Hubicka <hubicka@ucw.cz>
8936 * tree.c (need_assembler_name_p): Artificial types have no ODR names.
8937 * ipa-devirt.c (warn_odr): Do not try to apply ODR cache when
8940 2015-03-31 Martin Liska <mliska@suse.cz>
8943 * ipa-icf.c (sem_function::equals_wpa): Check if IPA CP
8944 has already filled up function summary.
8945 (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
8947 2015-03-31 Richard Biener <rguenther@suse.de>
8949 * tree-sra.c (create_access_replacement): Drop under-/over-alignment
8952 2015-03-31 Dominik Vogt <vogt@linux.vnet.ibm.com>
8954 * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching
8956 (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw.
8957 (s390_asm_output_function_label): Adapt to new signature of
8958 s390_function_num_hotpatch_hw
8959 Optimise the code generating assembler output.
8960 Add comments to assembler file.
8962 2015-03-31 Richard Biener <rguenther@suse.de>
8965 * tree-cfgcleanup.c (fixup_noreturn_call): Only split the block
8966 of the noreturn call so it is last and cleanup_control_flow_bb
8967 can do the CFG part.
8969 2015-03-31 Ilya Enkovich <ilya.enkovich@intel.com>
8972 * ipa-chkp.c (chkp_maybe_create_clone): Don't set
8973 same_comdat_group for external symbols.
8974 * symtab.c (symtab_node::verify_symtab_nodes): Avoid
8975 infinite same_comdat_group traversal loop.
8977 2015-03-31 Jakub Jelinek <jakub@redhat.com>
8980 * Makefile.in (install-plugin): Add all gcc/*.{h,def} files
8981 automatically to $headers.
8983 2015-03-30 Jakub Jelinek <jakub@redhat.com>
8986 * ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare.
8987 * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New
8989 (decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store):
8991 * ipa-prop.c (param_type_may_change_p): Likewise.
8992 * tree-ssa-live.c: Include ipa-utils.h and its dependencies.
8993 (remove_unused_scope_block_p): Add in_ctor_dtor_block
8994 argument. Before inlining, preserve
8995 inlined_polymorphic_ctor_dtor_block_p blocks and the outermost block
8996 with FUNCTION_DECL BLOCK_ABSTRACT_ORIGIN inside of them. Adjust
8998 (remove_unused_locals): Adjust remove_unused_scope_block_p caller.
9000 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
9003 * ipa-inline.c (edge_badness): Base denominator on callee's
9006 2015-03-27 Martin Jambor <mjambor@suse.cz>
9009 * params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New.
9010 (PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise.
9011 * ipa-prop.h (ipa_node_params): New flags node_within_scc and
9012 node_calling_single_call.
9013 * ipa-cp.c (count_callers): New function.
9014 (set_single_call_flag): Likewise.
9015 (initialize_node_lattices): Count callers and set single_flag_call if
9017 (incorporate_penalties): New function.
9018 (good_cloning_opportunity_p): Use it, dump new flags.
9019 (propagate_constants_topo): Set node_within_scc flag if appropriate.
9020 * doc/invoke.texi (ipa-cp-recursion-penalty,
9021 ipa-cp-single-call-pentalty): Document.
9023 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
9026 * symtab.c (symtab_node::get_partitioning_class): Register vars
9028 * varpool.c (symbol_table::output_variables) Do not assemble unefined
9029 decls for non-symbols.
9031 2015-03-27 H.J. Lu <hongjiu.lu@intel.com>
9034 * output.h (default_binds_local_p_2): New.
9035 * varasm.c (default_binds_local_p_2): Renamed to ...
9036 (default_binds_local_p_3): This. Don't return true on protected
9037 data symbol if protected data may be external.
9038 (default_binds_local_p): Use default_binds_local_p_3.
9039 (default_binds_local_p_1): Likewise.
9040 (default_binds_local_p_2): New.
9041 * config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to
9042 default_binds_local_p_2 if TARGET_MACHO is undefined.
9044 2015-03-27 Jakub Jelinek <jakub@redhat.com>
9047 * config/i386/i386.c (legitimize_pic_address): If base
9048 is SYMBOL_REF or LABEL_REF using %rip addressing, force
9049 it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register.
9051 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
9054 * symtab.c (symtab_node::verify_symtab_nodes): Fix verification of
9057 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
9060 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case
9061 of optimized out indirect call.
9062 (redirect_to_unreachable): Always build symbol table node for
9063 BUILT_IN_UNREACHABLE
9065 2015-03-27 Vladimir Makarov <vmakarov@redhat.com>
9068 * ira-costs.c (record_reg_classes): Process all constraint string
9071 2015-03-27 Bernd Schmidt <bernds@codesourcery.com>
9073 * config/c6x/c6x.md (movmisalign<mode>): Use MEM_P, not
9077 * config/c6x/constraints.md (S3): New constraint.
9078 * config/c6x/c6x.md (real_jump): Use it.
9080 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
9083 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Only
9084 do redirection if the call is not optimized out.
9086 2015-03-27 Ilya Enkovich <ilya.enkovich@intel.com>
9089 * c-family/c.opt (fcheck-pointer-bounds): List supported languages.
9090 (fchkp-check-incomplete-type): Add LTO.
9091 (fchkp-zero-input-bounds-for-main): Likewise.
9092 (fchkp-first-field-has-own-bounds): Likewise.
9093 (fchkp-narrow-bounds): Likewise.
9094 (fchkp-narrow-to-innermost-array): Likewise.
9095 (fchkp-use-static-bounds): Likewise.
9096 (fchkp-use-static-const-bounds): Likewise.
9097 (fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
9099 2015-03-27 Marek Polacek <polacek@redhat.com>
9101 * gimple-iterator.h (gsi_prev_nondebug): Fix typo.
9103 2015-03-27 Marek Polacek <polacek@redhat.com>
9106 * ubsan.c (ubsan_create_edge): New function.
9107 (instrument_bool_enum_load): Call it.
9108 (instrument_nonnull_arg): Likewise.
9109 (instrument_nonnull_return): Likewise.
9110 (instrument_object_size): Likewise.
9112 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
9114 * lto-streamer.h (class lto_location_cache): Turn loc_cache into
9117 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
9120 * lto-streamer.h (class lto_location_cache): New.
9121 (struct data_in): Add location_cache.
9122 (lto_input_location): Update prototype.
9123 (stream_input_location_now): New.
9124 * streamer-hooks.h (struct streamer_hooks): Make input_location to take
9125 pointer to location.
9126 (stream_input_location): Update.
9127 * ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h
9128 (warn_odr): Apply location cache before warning.
9129 (lto_input_location): Update prototype.
9130 * gimple-streamer-in.c (input_phi, input_gimple_stmt):
9131 Use stream_input_location_now.
9132 * lto-streamer-in.c (lto_location_cache::current_cache): New static
9134 (lto_location_cache::cmp_loc): New function.
9135 (lto_location_cache::apply_location_cache): New function.
9136 (lto_location_cache::accept_location_cache): New function.
9137 (lto_location_cache::revert_location_cache): New function.
9138 (lto_location_cache::input_location): New function.
9139 (lto_input_location): Do location caching.
9140 (stream_input_location_now): New function.
9141 (input_eh_region, input_struct_function_base): Use
9142 stream_input_location_now.
9143 (lto_data_in_create): use new.
9144 (lto_data_in_delete): Use delete.
9145 * tree-streamer-in.c (unpack_ts_block_value_fields,
9146 unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields,
9147 lto_input_ts_exp_tree_pointers): Update for cached location api.
9149 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
9152 * passes.def: Add pass_nothrow.
9153 * ipa-pure-const.c: (pass_data_nothrow): New.
9154 (pass_nothrow): New.
9155 (pass_nothrow::execute): New.
9156 (make_pass_nothrow): New.
9157 * tree-pass.h (make_pass_nothrow): Declare.
9159 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
9161 * ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for
9162 edge to change by speculation resolution or redirection.
9163 (edge_set_predicate): Likewise.
9164 (inline_summary_t::duplicate): Likewise.
9165 (remap_edge_summaries): Likewise.
9167 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
9169 * ipa-inline.c (check_maybe_up, check_maybe_down, check_match):
9171 (can_inline_edge_p): Relax option matching for always inline functions.
9173 2015-03-26 Uros Bizjak <ubizjak@gmail.com>
9176 * config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm):
9177 Check operand 4 and operand 0 for equality.
9178 (avx512f_vextract<shuffletype>32x4_1_maskm):
9179 Check operand 6 and operand 0 for equality.
9180 (vec_extract_lo_<mode>_maskm): Check operand 2 and operand 0
9182 (vec_extract_hi_<mode>_maskm): Ditto.
9184 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
9186 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring
9187 dead calls back to live.
9188 (cgraph_edge::verify_count_and_frequency): Move cgraph/cfg frequency
9190 (cgraph_node::verify_node): ... here; verify only callee edges,
9192 * cif-code.def (CILK_SPAWN): New code.
9194 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
9196 * ipa-inline-analysis.c (redirect_to_unreachable): New function.
9197 (edge_set_predicate): Use it to mark unreachable edges.
9198 (inline_summary_t::duplicate): Remove unnecesary code.
9199 (remap_edge_summaries): Likewise.
9200 (dump_inline_summary): Report contains_cilk_spawn.
9201 (compute_inline_parameters): Compute contains_cilk_spawn.
9202 (inline_read_section, inline_write_summary): Stream
9203 contains_cilk_spawn.
9204 * ipa-inline.c (can_inline_edge_p): Do not touch
9205 DECL_STRUCT_FUNCTION that may not be available;
9206 use CIF_CILK_SPAWN for cilk; fix optimization attribute checks;
9207 remove check for callee_fun->can_throw_non_call_exceptions and
9208 replace it by optimization attribute check; check for flag_exceptions.
9209 * ipa-inline-transform.c (inline_call): Maintain
9210 DECL_FUNCTION_PERSONALITY
9211 * ipa-inline.h (inline_summary): Add contains_cilk_spawn.
9213 2015-03-26 Jakub Jelinek <jakub@redhat.com>
9215 PR tree-optimization/65551
9216 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use
9217 TYPE_PRECISION only for INTEGRAL_TYPE_P types.
9219 2015-03-26 Richard Biener <rguenther@suse.de>
9222 * tree-cfg.c (verify_gimple_call): Do not require a call to
9223 have no LHS if it wasn't recognized as control altering yet.
9225 2015-03-26 Jakub Jelinek <jakub@redhat.com>
9227 PR tree-optimization/64715
9228 * passes.def: Add another instance of pass_object_sizes before ccp1.
9229 * tree-object-size.c (pass_object_sizes::execute): In
9230 first_pass_instance, only handle __bos (, 1) and __bos (, 3)
9231 calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the
9232 __bos result and the computed constant. Remove redundant
9233 checks, obsoleted by gimple_call_builtin_p test.
9235 * var-tracking.c (variable_tracking_main_1): Don't track
9236 variables for targetm.no_register_allocation targets.
9238 2015-03-26 Oleg Endo <olegendo@gcc.gnu.org>
9240 * config/sh/t-linux (DEFAULT_ENDIAN, MULTILIB_EXCEPTIONS): Remove.
9241 * config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian.
9243 2015-03-25 Michael Meissner <meissner@linux.vnet.ibm.com>
9246 * config/rs6000/rs6000.md (extenddftf2_fprs): On VSX systems use
9247 XXLXOR to create 0.0. On pre-VSX systems make sure the constant
9248 0.0 is correctly setup.
9249 (extenddftf2_internal): Likewise.
9251 2015-03-25 Sebastian Pop <s.pop@samsung.com>
9253 PR tree-optimization/65177
9254 * tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread.
9256 (duplicate_seme_region): Renamed duplicate_thread_path. Redirect all
9257 edges not adjacent on the path to the original code.
9259 2015-03-25 Uros Bizjak <ubizjak@gmail.com>
9262 * doc/install.texi (Building a native compiler): Document new
9263 bootstrap-lto-noplugin configuration. Mention that bootstrap-lto
9264 configuration assumes that the host supports the linker plugin.
9266 2015-03-25 Ilya Enkovich <ilya.enkovich@intel.com>
9269 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Set static
9270 chain for generated call.
9272 2015-03-25 Richard Biener <rguenther@suse.de>
9274 * passes.c (pass_manager::execute_early_local_passes): Guard
9275 execution of pass_chkp_instrumentation_passes with
9276 flag_check_pointer_bounds.
9277 (pass_chkp_instrumentation_passes::gate): Likewise.
9279 2015-03-25 Martin Liska <mliska@suse.cz>
9281 PR tree-optimization/65538
9282 * symbol-summary.h (function_summary::~function_summary):
9283 Relese memory for allocated summaries.
9284 (function_summary::release): New function.
9286 2015-03-25 Jakub Jelinek <jakub@redhat.com>
9289 * lto-streamer-out.c (DFS::worklist): New struct.
9290 (DFS::worklist_vec): New data member.
9291 (DFS::next_dfs_num): Remove.
9292 (DFS::DFS): Rewritten using worklist instead of recursion,
9293 using most of code from DFS::DFS_write_tree.
9294 (DFS::DFS_write_tree_body): Remove SINGLE_P argument, don't
9295 pass it to DFS_write_tree calls.
9296 (DFS::DFS_write_tree): Remove SINGLE_P argument, after
9297 quick initial checks push it into worklist_vec and return.
9299 2015-03-25 Richard Biener <rguenther@suse.de>
9302 * genmatch.c (expr::gen_transform): Re-write to avoid
9305 2015-03-25 Bin Cheng <bin.cheng@arm.com>
9307 * doc/sourcebuild.texi (arm_tune_string_ops_prefer_neon): New.
9309 2015-03-25 Bin Cheng <bin.cheng@arm.com>
9311 * config/arm/arm.opt (print_tune_info): New option.
9312 * config/arm/arm.c (arm_print_tune_info): New function.
9313 (arm_file_start): Call arm_print_tune_info.
9314 * config/arm/arm-protos.h (struct tune_params): Add comment.
9315 * doc/invoke.texi (@item -mprint-tune-info): New item.
9316 (-mtune): mention it in ARM Option Summary.
9318 2015-03-25 DJ Delorie <dj@redhat.com>
9320 * config/rl78/rl78.c (rl78_print_operand_1): Move 'p' test to
9323 2015-03-24 Jan Hubicka <hubicka@ucw.cz>
9324 Martin Liska <mliska@suse.cz>
9326 * ipa-icf-gimple.h (return_with_result): Add missing colon to dump.
9327 * ipa-icf.c (sem_function::get_hash): Hash new declaration properties.
9328 (sem_item::add_type): New function.
9329 (sem_function::hash_stmt): Add TREE_TYPE of gimple_op.
9330 (sem_function::compare_polymorphic_p): Do not consider indirect calls.
9331 (sem_item_optimizer::update_hash_by_addr_refs): Add ODR type to hash.
9332 (sem_function::equals_wpa): Fix typo.
9333 * ipa-icf.h (sem_item::add_type): New function.
9334 (symbol_compare_hashmap_traits): Replace hashing of pointer with symbol
9337 2015-03-24 Jakub Jelinek <jakub@redhat.com>
9339 PR tree-optimization/65533
9340 * tree-vect-slp.c (vect_build_slp_tree): Before re-trying
9341 with swapped operands, call vect_free_slp_tree on
9342 SLP_TREE_CHILDREN of child and truncate the SLP_TREE_CHILDREN
9345 2015-03-24 Richard Biener <rguenther@suse.de>
9348 * tree-cfg.c (remove_edge_and_dominated_blocks): Mark loops
9349 for fixup if necessary.
9351 2015-03-23 Sandra Loosemore <sandra@codesourcery.com>
9353 * doc/extend.texi (Function Attributes): Add @cindex entries
9354 for all attributes and regularize their format. Delete text
9355 about long-obsolete 68HC11 and 68HC12 targets. Move misplaced
9356 information about "eightbit_data", "tiny_data", and "model"
9357 variable attributes to the Variable Attributes section. Fix
9358 some obvious typos and copy-editing issues.
9359 (Variable Attributes, Type Attributes): Likewise add/fix
9360 @cindex entries for all attributes.
9362 2015-03-23 Jakub Jelinek <jakub@redhat.com>
9365 * tree-chkp.c (chkp_build_returned_bound): Ignore
9366 ERF_RETURNS_ARG calls if they have fewer than needed arguments.
9368 2015-03-23 Oleg Endo <olegendo@gcc.gnu.org>
9371 * config/sh/predicates.md (simple_mem_operand,
9372 displacement_mem_operand): Add test for reg.
9373 (short_displacement_mem_operand): Test for displacement_mem_operand
9374 before invoking sh_disp_addr_displacement.
9375 * config/sh/constraints.md (Sdd, Sra): Simplify.
9376 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1):
9377 Remove redundant displacement_mem_operand tests.
9379 2015-03-23 Georg-Johann Lay <avr@gjlay.de>
9382 * config/avr/driver-avr.c (avr_devicespecs_file): Allow to specify
9383 the same -mmcu=MCU more than once.
9385 2015-03-23 Jakub Jelinek <jakub@redhat.com>
9388 * ipa-devirt.c: Remove duplicate demangle.h include.
9391 * config/i386/i386.c (ix86_copy_addr_to_reg): Set REG_POINTER
9393 (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Set
9394 REG_POINTER on *destptr after adjusting it for prologue size.
9397 * ipa-icf.c (sem_item::update_hash_by_addr_refs): Hash
9398 ultimate_alias_target ()->order ints instead of
9399 ultimate_alias_target () pointers.
9401 2015-03-23 Richard Biener <rguenther@suse.de>
9403 PR tree-optimization/65518
9404 * tree-vect-stmts.c (vectorizable_load): Reject single-element
9405 interleaving cases we generate absymal code for.
9407 2015-03-23 Richard Biener <rguenther@suse.de>
9409 PR tree-optimization/65494
9410 * tree-vect-slp.c (vect_build_slp_tree): Do not (re-)allocate
9412 (vect_analyze_slp_instance): But do that here, always and once.
9414 2015-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9416 * expmed.c (synth_mult): Fix comment about multiplying by T-1 and
9417 adding T or multiplying by T+1 and subracting T.
9419 2015-03-22 Jeff Law <law@redhat.com>
9421 PR rtl-optimization/64317
9422 * Makefile.in (OBJS): Add gcse-common.c
9423 * gcse.c: Include gcse-common.h
9424 (struct modify_pair_s): Move structure definition to gcse-common.h
9425 (compute_transp): Move function to gcse-common.c.
9426 (canon_list_insert): Similarly.
9427 (record_last_mem_set_info): Break out some code and put it into
9428 gcse-common.c. Call into the new common code.
9429 (compute_local_properties): Pass additional arguments to compute_transp.
9430 * postreload-gcse.c: Include gcse-common.h and df.h
9431 (modify_mem_list_set, blocks_with_calls): New variables.
9432 (modify_mem_list, canon_modify_mem_list, transp): Likewise.
9433 (get_bb_avail_insn): Pass in the expression index too.
9434 (alloc_mem): Allocate memory for the new bitmaps and lists.
9435 (free_mem): Free memory for the new bitmaps and lists.
9436 (insert_expr_in_table): Record a bitmap index for each entry we
9438 (record_last_mem_set_info): Call into common code in gcse-common.c.
9439 (get_bb_avail_insn): If no available insn was found in the requested
9440 BB. If BB has a single predecessor, see if the expression is
9441 transparent in BB and available in that single predecessor.
9442 (compute_expr_transp): New wrapper for compute_transp.
9443 (eliminate_partially_redundant_load): Pass expression's bitmap_index
9444 to get_bb_avail_insn. Compute next_pred_bb_end a bit later.
9445 (gcse_after_reload_main): If there are elements in the hash table,
9446 then compute transparency for all the elements in the hash table.
9447 * gcse-common.h: New file.
9448 * gcse-common.c: New file.
9450 2015-03-22 Sandra Loosemore <sandra@codesourcery.com>
9452 * doc/cpp.texi (Search Path): Hyphenate "command-line" when used
9454 (System Headers): Likewise.
9456 (Traditional macros): Likewise.
9457 (Invocation): Likewise.
9458 (Option Index): Likewise.
9459 * doc/cppopts.texi (-M): Likewise.
9460 (-finput-charset): Likewise.
9462 * doc.invoke.texi (AVR Options): Likewise.
9463 (V850 Options): Likewise.
9465 2015-03-22 Jan Hubicka <hubicka@ucw.cz>
9468 * ipa-devirt.c: Include demangle.h
9469 (odr_type_d): Add field rtti_broken.
9470 (odr_subtypes_equivalent_p): Do not require name to match.
9471 (compare_virtual_tables): Fix typo; if type already has ODR violation,
9472 bypass the tests; be ready for function referneces in vtables that are
9473 not DECL_VIRTUAL; make warnings to be OPT_Wodr.
9474 (warn_odr): Give up for nameless types.
9475 (warn_types_mismatch): Report mismatch in mangled names;
9476 report mismatch in anonymous namespaces; look into component types to
9477 give useful error; report when mismatch is dragged in from other ODR
9479 (odr_types_equivalent_p): Match types for being polymorphic; avoid
9480 duplicated diagnostics.
9481 (add_type_duplicate): Reorder checks so more informative ones come
9482 first; fix typo; do not output "the extra base is defined here" when
9484 (BINFO_N_BASE_BINFOS): Relax sanity check.
9486 2015-03-22 Martin Liska <mliska@suse.cz>
9487 Jakub Jelinek <jakub@redhat.com>
9489 * config/i386/i386.c (def_builtin): Set deferred_isa_values for
9490 masks that can potentially include a builtin.
9491 (ix86_add_new_builtins): Introduce fast filter for isa values
9492 that cannot trigger builtin inclusion.
9494 2015-03-22 Martin Liska <mliska@suse.cz>
9496 * ipa-icf.c (sem_item::update_hash_by_addr_refs): New function.
9497 (sem_item::update_hash_by_local_refs): Likewise.
9498 (sem_variable::get_hash): Empty line is fixed.
9499 (sem_item_optimizer::execute): Include adding of hash references.
9500 (sem_item_optimizer::update_hash_by_addr_refs): New function.
9501 (sem_item_optimizer::build_hash_based_classes): Use local hash.
9502 * ipa-icf.h (sem_item::update_hash_by_addr_refs): New function.
9503 (sem_item::update_hash_by_local_refs): Likewise.
9505 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
9508 * ipa-comdats.c (enqueue_references): Walk through thunks.
9509 (ipa_comdats): Likewise.
9510 (set_comdat_group_1): New function.
9512 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
9515 * ipa-devirt.c (add_type_duplicate): Prevail polymorphic type over
9518 2015-03-22 Dave Korn <dave.korn.cygwin@gmail.com>
9519 Gerald Pfeifer <gerald@pfeifer.com>
9521 * doc/contrib.texi (Contributors): Update entry for Danny Smith.
9523 2015-03-21 Chung-Lin Tang <cltang@codesourcery.com>
9524 Sandra Loosemore <sandra@codesourcery.com>
9526 * config/nios2/nios2-protos.h (nios2_adjust_call_address): Adjust
9527 function parameter declaration.
9528 * config/nios2/nios2.md (call,call_value,sibcall,sibcall_value):
9529 Update arguments to nios2_adjust_call_address().
9530 (sibcall_internal): Rename from *sibcall.
9531 (sibcall_value_internal): Rename from *sibcall_value.
9532 * config/nios2/nios2.c (nios2_emit_add_constant): New function.
9533 (nios2_large_got_address): Add target temp reg parameter.
9534 (nios2_got_address): Adjust call to nios2_large_got_address, add
9535 force_reg around it.
9536 (nios2_load_pic_address): Add target temp reg parameter, replace call
9537 to nios2_got_address with corresponding code.
9538 (nios2_legitimize_constant_address): Update call to
9539 nios2_load_pic_address.
9540 (nios2_adjust_call_address): Add temp reg parameter, update PIC case
9541 to use temp reg for PIC loading purposes.
9542 (nios2_asm_output_mi_thunk): Implement TARGET_ASM_OUTPUT_MI_THUNK.
9543 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
9544 (TARGET_ASM_OUTPUT_MI_THUNK): Likewise.
9546 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
9548 * doc/invoke.texi (-fno-diagnostics-show-caret): Fix
9549 usage of "the @option{...}".
9550 (-Wopenmp-simd): Likewise.
9551 (-fsanitize-recover): Likewise.
9552 (-fsanitize-undefined-trap-on-error): Likewise.
9554 (tracer-dynamic-coverage-feedback): Likewise.
9555 (reorder-block-duplicate-feedback): Likewise.
9556 (loop-unroll-jam-size): Likewise.
9559 (-mabs=legacy): Likewise.
9560 (-mupper-regs-df): Likewise.
9561 (-mupper-regs-sf): Likewise.
9562 (-mpointers-to-nested-functions): Likewise.
9564 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
9566 * doc/extend.texi (Cilk Plus Builtins): Add markup.
9568 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
9570 * doc/invoke.texi (-fcheck-pointer-bounds): Copy-edit, add
9571 additional index entries and cross-references.
9572 (-fchkp-check-incomplete-type): Likewise.
9573 (-fchkp-first-field-has-own-bounds): Likewise.
9574 (-fchkp-narrow-to-innermost-array): Likewise.
9575 (-fchkp-use-fast-string-functions): Likewise.
9576 (-fchkp-use-nochk-string-functions): Likewise.
9577 (-fchkp-use-static-const-bounds): Likewise.
9578 (-fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
9579 (-fchkp-instrument-marked-only): Likewise.
9580 (-fchkp-use-wrappers): Likewise.
9581 (-static-libmpx): Likewise.
9582 (-static-libmpxwrappers): Likewise.
9583 * doc/extend.texi (bnd_legacy): Likewise.
9584 (bnd_instrument): Likewise.
9585 (bnd_variable_size): Likewise.
9586 (Pointer Bounds Checker builtins): Likewise.
9588 2015-03-21 Tom de Vries <tom@codesourcery.com>
9590 PR tree-optimization/65458
9591 * cgraph.c (cgraph_node::dump): Handle parallelized_function field.
9592 * cgraph.h (cgraph_node): Add parallelized_function field.
9593 * lto-cgraph.c (lto_output_node): Write parallelized_function field.
9594 (input_overwrite_node): Read parallelized_function field.
9595 * omp-low.c (expand_omp_taskreg, finalize_task_copyfn): Set
9596 parallelized_function on cgraph_node for child_fn.
9597 * tree-parloops.c: Add include of plugin-api.h, ipa-ref.h and cgraph.h.
9598 Remove include of gt-tree-parloops.h.
9599 (parallelized_functions): Remove static variable.
9600 (parallelized_function_p): Rewrite using parallelized_function field of
9602 (create_loop_fn): Remove adding to parallelized_functions.
9603 * Makefile.in (GTFILES): Remove tree-parloops.c
9605 2015-03-20 Vladimir Makarov <vmakarov@redhat.com>
9607 PR rtl-optimization/64366
9608 * lra.c (lra_update_insn_regno_info): Consider regs in
9609 CALL_INSN_FUNCTION_USAGE memory.
9611 2015-03-20 Richard Biener <rguenther@suse.de>
9614 * tree-chrec.c (chrec_fold_poly_cst): Use useless_type_conversion_p
9615 for type comparison and gcc_checking_assert.
9616 (chrec_fold_plus_poly_poly): Likewise.
9617 (chrec_fold_multiply_poly_poly): Likewise.
9618 (chrec_convert_1): Likewise.
9619 * gimplify.c (gimplify_expr): Remove premature folding of
9620 &X + CST to &MEM[&X, CST].
9622 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
9624 * ipa-inline.c (can_inline_edge_p): Short circuit if inline_failed
9626 (ipa_inline): Recompute inline_failed codes.
9627 * cif-code.def (FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
9628 USES_COMDAT_LOCAL, ATTRIBUTE_MISMATCH, UNREACHABLE): Declare as
9631 2015-03-20 Uros Bizjak <ubizjak@gmail.com>
9633 PR rtl-optimization/60851
9634 * recog.c (constrain_operands): Accept a pseudo register before reload
9635 for LRA enabled targets.
9637 2015-03-19 Michael Meissner <meissner@linux.vnet.ibm.com>
9640 * config/rs6000/predicates.md (easy_fp_constant): Remove special
9641 -ffast-math handling that kept non-0 constants live in the RTL
9642 until reload. Remove logic testing the number of instructions it
9643 took to create a constant in a GPR that was never used, due to a
9644 test for soft-float earlier.
9645 (memory_fp_constant): Delete, no longer used.
9647 * config/rs6000/rs6000.md (mov<MODE>_hardfloat): Remove
9648 alternatives for loading non-0 constants into GPRs for hard
9649 floating point that is no longer needed due to changes in
9650 easy_fp_constant. Add support for loading 0.0 into GPRs.
9651 (mov<mode>_hardfloat32): Likewise.
9652 (mov<mode>_hardfloat64): Likewise.
9653 (mov<mode>_64bit_dm): Likewise.
9654 (movtd_64bit_nodm): Likewise.
9655 (pre-reload move FP constant define_split): Delete define_split,
9656 since it is no longer used.
9657 (extenddftf2_internal): Remove GHF constraints that are not valid
9660 2015-03-19 Vladimir Makarov <vmakarov@redhat.com>
9662 PR rtl-optimization/63491
9663 * lra-constraints.c (check_and_process_move): Use src instead of
9664 sreg. Remove some dead code.
9666 2015-03-19 Jan Hubicka <hubicka@ucw.cz>
9669 * ipa-icf.c (sem_function::merge): Do not merge DECL_EXTERNAL symbols.
9670 (sem_variable::merge): Likewise.
9672 2015-03-19 Martin Liska <mliska@suse.cz>
9675 * cgraphunit.c (cgraph_node::create_wrapper): Correctly reset
9676 all fields of cgraph_thunk_info.
9678 2015-03-19 Ilya Enkovich <ilya.enkovich@intel.com>
9680 * ipa-chkp.c (chkp_maybe_create_clone): Don't try to
9681 clone instrumented thunks.
9683 2015-03-19 Richard Biener <rguenther@suse.de>
9686 2015-03-10 Richard Biener <rguenther@suse.de>
9689 * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
9690 * tree-ssa-coalesce.c: Include timevar.h.
9691 (attempt_coalesce): Handle graph being NULL.
9692 (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
9693 Split out abnormal coalescing to ...
9694 (perform_abnormal_coalescing): ... this function.
9695 (coalesce_ssa_name): Perform abnormal coalescing without computing
9697 (verify_ssa_coalescing_worker): New function.
9698 (verify_ssa_coalescing): Likewise.
9700 2015-03-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
9701 Jakub Jelinek <jakub@redhat.com>
9704 * tsan.c (instrument_gimple): Clear tail call flag on
9707 2015-03-19 Jakub Jelinek <jakub@redhat.com>
9710 * ipa-split.c (find_return_bb): Allow TSAN_FUNC_EXIT internal
9711 call in the return bb.
9712 (find_split_points): Add RETURN_BB argument, don't call
9714 (split_function): Likewise. Add ADD_TSAN_FUNC_EXIT argument,
9715 if true append TSAN_FUNC_EXIT internal call after the call to
9716 the split off function.
9717 (execute_split_functions): Call find_return_bb here.
9718 Don't optimize if TSAN_FUNC_EXIT is found in unexpected places.
9719 Adjust find_split_points and split_function calls.
9721 2015-03-18 DJ Delorie <dj@redhat.com>
9723 * config/rl78/rl78-virt.md (andqi3_virt): Allow far operands.
9724 (iorqi3_virt): Likewise.
9726 2015-03-18 Tom de Vries <tom@codesourcery.com>
9728 * tree-parloops.c (parallelize_loops): Make static.
9729 * tree-parloops.h (parallelize_loops): Remove extern declaration.
9731 2015-03-18 Andrew Stubbs <ams@codesourcery.com>
9735 2014-11-20 Andrew Stubbs <ams@codesourcery.com>
9737 * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop
9738 condition would be removed due to undefined behaviour.
9740 2015-03-18 Martin Liska <mliska@suse.cz>
9743 * cgraph.c (cgraph_node::get_create): Remove unnecessary
9744 xstrdup_for_dump wrapper.
9745 * ipa-icf.c (sem_item::dump): Use symtab_node::name instead of
9747 (sem_function::equals): Wrap symtab_node::name and symtab_node::asm_name
9748 with xstrdup_for_dump.
9749 (sem_variable::equals): Likewise.
9750 (sem_item_optimizer::read_section): Use symtab_node::name instead of
9752 (sem_item_optimizer::parse_funcs_and_vars): Likewise.
9753 (sem_item_optimizer::merge_classes): Wrap symtab_node::name and
9754 symtab_node::asm_name with xstrdup_for_dump.
9755 (congruence_class::dump): Use symtab_node::name instead of
9757 * ipa-icf.h (symtab_node::name): Remove.
9758 (symtab_node::asm_name): Likewise.
9760 2015-03-18 Jakub Jelinek <jakub@redhat.com>
9762 PR tree-optimization/65450
9763 * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info): New
9765 (vect_create_addr_base_for_vector_ref, vect_create_data_ref_ptr): Use
9766 it instead of duplicate_ssa_name_ptr_info.
9769 * doc/invoke.texi: Add knl as x86 -march=/-mtune= CPU type.
9771 2015-03-18 Richard Biener <rguenther@suse.de>
9773 * tree-data-ref.h (struct access_matrix): Remove.
9774 (AM_LOOP_NEST, AM_NB_INDUCTION_VARS, AM_PARAMETERS, AM_MATRIX,
9775 AM_NB_PARAMETERS, AM_CONST_COLUMN_INDEX, AM_NB_COLUMNS,
9776 AM_GET_SUBSCRIPT_ACCESS_VECTOR, AM_GET_ACCESS_MATRIX_ELEMENT): Likewise.
9777 (am_vector_index_for_loop): Likewise.
9778 (struct data_reference): Remove access_matrix member.
9779 (DR_ACCESS_MATRIX): Remove.
9780 (lambda_vector_new): Add comment.
9781 (lambda_matrix_new): Use XOBNEWVEC.
9783 2015-03-18 Richard Biener <rguenther@suse.de>
9785 * tree-ssa-loop-ch.c (pass_data_ch): Remove TODO_cleanup_cfg.
9786 (pass_ch::execute): Cleanup the CFG only if we did sth.
9787 * tree-vect-generic.c (pass_data_lower_vector): Remove TODO_cleanup_cfg.
9789 2015-03-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9791 * expmed.c (synth_mult): Use std::swap instead of manually
9792 swapping algorithms.
9794 2015-03-18 Jakub Jelinek <jakub@redhat.com>
9797 * config/i386/sse.md (movsi/movdi -> vec_extract_*_0 splitter): New.
9799 2015-03-16 Georg-Johann Lay <avr@gjlay.de>
9802 * config/avr/avr.opt (-nodevicelib): New option.
9803 * doc/invoke.texi (AVR Options): Document it.
9804 * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC) [avr1]: Don't link
9805 libgcc.a, libc.a, libm.a.
9806 * config/avr/specs.h: Same.
9807 * config/avr/gen-avr-mmcu-specs.c (print_mcu): Don't print specs
9808 which don't (directly) depend on the device. Print more help.
9809 (*avrlibc_devicelib) [-nodevicelib]: Don't link libdev.a.
9810 (*cpp): Don't define __AVR_DEV_LIB_NAME__.
9811 * config/avr/driver-avr.c: Remove -nodevicelib from option list in
9813 (avr_devicespecs_file): Use suffix "%s" instead of absolute path
9814 for specs file name.
9815 * config/avr/avr-arch.h (avr_mcu_t) [.library_name]: Remove.
9816 * config/avr/avr-mcus.def: Adjust initializers and comments.
9818 2015-03-16 Jan Hubicka <hubicka@ucw.cz>
9820 * tree-sra.c (ipa_sra_preliminary_function_checks): Use
9821 DECL_ONE_ONLY to check if decl is one only.
9822 * ipa-split.c (consider_split): Limit splitt of one only functions.
9824 2015-03-16 Jakub Jelinek <jakub@redhat.com>
9826 PR tree-optimization/65427
9827 * tree-vect-generic.c (do_cond, expand_vector_scalar_condition): New
9829 (expand_vector_operations_1): Handle BLKmode vector COND_EXPR.
9831 2015-03-16 Marek Polacek <polacek@redhat.com>
9833 * cgraph.h (add_new_static_var): Remove declaration.
9834 * varpool.c (add_new_static_var): Remove function.
9836 2015-03-16 Jakub Jelinek <jakub@redhat.com>
9838 * omp-low.c (expand_omp_target): Use auto_vec<tree, 11>
9839 instead of vec<tree> * with vec_alloc and release for args.
9843 * omp-low.c (delete_omp_context): Only splay_tree_delete
9844 reduction_map in GIMPLE_OMP_TARGET is_gimple_omp_offloaded
9845 is_gimple_omp_oacc contexts. Don't look at ctx->outer.
9847 2015-03-16 Max Ostapenko <m.ostapenko@partner.samsung.com>
9850 * cfgexpand.c (align_base): New function.
9851 (alloc_stack_frame_space): Call it.
9852 (expand_stack_vars): Align prev_frame to be sure
9853 data->asan_vec elements aligned properly.
9855 2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
9858 * expr.c (store_field): Do not do a direct block copy if the source is
9859 a PARALLEL with BLKmode.
9861 2015-03-16 Tom de Vries <tom@codesourcery.com>
9865 2015-03-12 Tom de Vries <tom@codesourcery.com>
9867 PR rtl-optimization/64895
9868 * lra-lives.c (check_pseudos_live_through_calls): Use
9869 actual_call_used_reg_set instead of call_used_reg_set, if available.
9871 2015-03-16 Alan Modra <amodra@gmail.com>
9874 * config/rs6000/rs6000.md (bswapdi2): Remove one scratch reg.
9875 Modify Z->r bswapdi splitter to use dest in place of scratch.
9876 In r->Z and Z->r bswapdi splitter rename word_high, word_low
9877 to word1, word2 and rearrange logic to suit.
9878 (bswapdi2_64bit): Remove early clobber on Z->r alternative.
9879 (bswapdi2_ldbrx): Likewise. Remove '??' on r->r.
9880 (bswapdi2_32bit): Remove early clobber on Z->r alternative.
9881 Add one '?' on r->r. Modify Z->r splitter to avoid need for
9884 2015-03-14 Jakub Jelinek <jakub@redhat.com>
9886 PR tree-optimization/65369
9887 * tree-vect-stmts.c (vectorizable_load) <case dr_explicit_realign>:
9888 Set bump to vs * TYPE_SIZE_UNIT (elem_type) - 1 instead of
9889 (vs - 1) * TYPE_SIZE_UNIT (elem_type).
9891 PR tree-optimization/65418
9892 * tree-ssa-reassoc.c (extract_bit_test_mask): If there
9893 are casts in the first PLUS_EXPR operand, ensure tbias and
9894 *totallowp are in the inner type.
9896 PR rtl-optimization/65401
9897 * combine.c (rtx_equal_for_field_assignment_p): Add widen_x
9898 argument. If true, adjust_address_nv of x with big-endian
9899 correction for the mode widening to GET_MODE (y).
9900 (make_field_assignment): Don't do MEM mode widening here.
9901 Use MEM_P instead of GET_CODE == MEM.
9903 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
9905 * varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for
9908 2015-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9911 * config/arm/arm.c (arm_gen_constant, AND case): Use
9912 ARM_SIGN_EXTEND when constructing AND mask.
9914 2015-03-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
9916 * graph.c (print_graph_cfg): Make function names visible and append
9917 parenthesis to it. Also make groups of basic blocks belonging to the
9918 same function visible.
9920 2015-03-12 Richard Biener <rguenther@suse.de>
9923 * tree-inline.c (gimple_expand_calls_inline): Walk BB backwards
9924 to avoid quadratic behavior with inline expansion splitting blocks.
9925 * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not merge block
9926 with the successor if the predecessor will be merged with it.
9927 * tree-cfg.c (gimple_can_merge_blocks_p): We can't merge the
9928 entry block with its successor.
9930 2015-03-13 Richard Biener <rguenther@suse.de>
9933 * tree-cfgcleanup.c (split_bb_on_noreturn_calls): Remove.
9934 (cleanup_tree_cfg_1): Do not call it.
9935 (execute_cleanup_cfg_post_optimizing): Fixup the CFG here.
9936 (fixup_noreturn_call): Mark the stmt as control altering.
9937 * tree-cfg.c (execute_fixup_cfg): Do not dump the function
9939 (pass_data_fixup_cfg): Produce a dump file.
9940 * tree-ssa-dom.c: Include tree-cfgcleanup.h.
9941 (need_noreturn_fixup): New global.
9942 (pass_dominator::execute): Fixup queued noreturn calls.
9943 (optimize_stmt): Queue calls that became noreturn for fixup.
9944 * tree-ssa-forwprop.c (pass_forwprop::execute): Likewise.
9945 * tree-ssa-pre.c: Include tree-cfgcleanup.h.
9946 (el_to_fixup): New global.
9947 (eliminate_dom_walker::before_dom_childre): Queue calls that
9948 became noreturn for fixup.
9949 (eliminate): Fixup queued noreturn calls.
9950 * tree-ssa-propagate.c: Include tree-cfgcleanup.h.
9951 (substitute_and_fold_dom_walker): New member stmts_to_fixup.
9952 (substitute_and_fold_dom_walker::before_dom_children): Queue
9953 alls that became noreturn for fixup.
9954 (substitute_and_fold): Fixup queued noreturn calls.
9956 2015-03-12 Jan Hubicka <hubicka@ucw.cz>
9958 * ipa-icf.c (sem_function::equals_wpa): Match CXX_CONSTRUCTOR_P
9959 and CXX_DESTURCTOR_P. For consutrctors match ODR type of class they
9960 are building; for methods check ODR type of class they belong to if
9961 they may lead to a polymorphic call.
9962 (sem_function::compare_polymorphic_p): Be bit smarter about testing
9963 when function may lead to a polymorphic call.
9964 (sem_function::compare_type_list): Remove.
9965 (sem_variable::equals): Update use of compatible_types_p.
9966 (sem_variable::parse_tree_refs): Remove.
9967 (sem_item_optimizer::filter_removed_items): Do not filter out CXX
9969 * ipa-icf-gimple.c (func_checker::compare_decl): Do polymorphic
9971 (func_checker::compatible_polymorphic_types_p): Break out from ...
9972 (unc_checker::compatible_types_p): ... here.
9973 * ipa-icf-gimple.h (func_checker::compatible_polymorphic_types_p):
9975 (unc_checker::compatible_types_p): Update.
9976 * ipa-icf.h (compare_type_list, parse_tree_refs, compare_sections):
9979 2015-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9981 PR rtl-optimization/65235
9982 * simplify-rtx.c (simplify_binary_operation_1, VEC_SELECT case):
9983 When first element of vec_concat is const_int, calculate its size
9984 using second element.
9986 2015-03-12 Richard Biener <rguenther@suse.de>
9989 * fold-const.c (operand_equal_p): Fix ordering of resetting
9990 OEP_ADDRESS_OF and checking for it in the [TARGET_]MEM_REF case.
9992 2015-03-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
9994 * config/s390/s390.c (s390_reorg): Move code to output nops after label
9996 (s390_asm_output_function_label): Likewise.
9997 * config/s390/s390.c (s390_asm_output_function_label):
9998 Fix function label alignment with -mhtopatch.
9999 * config/s390/s390.md ("unspecv"): New values UNSPECV_NOP_2_BYTE,
10000 UNSPECV_NOP_4_BYTE and UNSPECV_NOP_6_BYTE
10001 ("nop_2_byte"): New define_insn.
10002 ("nop_4_byte"): Likewise.
10003 ("nop_6_byte"): Likewise.
10004 * doc/extend.texi (hotpatch): hotpatch attribute doc fixes.
10005 * doc/invoke.texi (-mhotpatch): -mhotpatch doc fixes.
10007 2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
10010 * config/i386/i386.c (ix86_address_cost): Fix cost of a PIC
10013 2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
10016 * toplev.c (process_options): Restrict Pointer Bounds Checker
10017 usage with Address Sanitizer.
10019 2015-03-12 Richard Biener <rguenther@suse.de>
10021 * tree-cfg.c (gimple_split_block): Remove loop finding stmt
10023 * omp-low.c (expand_omp_taskreg): Split block before removing
10025 (expand_omp_target): Likewise.
10026 * ubsan.c (ubsan_expand_null_ifn): Adjust stmt if we replaced it.
10027 * tree-parloops.c (create_call_for_reduction_1): Pass a proper
10028 stmt to split_block.
10030 2015-03-12 Tom de Vries <tom@codesourcery.com>
10032 PR rtl-optimization/64895
10033 * lra-lives.c (check_pseudos_live_through_calls): Use
10034 actual_call_used_reg_set instead of call_used_reg_set, if available.
10036 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
10038 * cgraph.c (cgraph_node::release_body): Free function_in_decl_state.
10039 (cgraph_node::remove): Likewise.
10040 (cgraph_node::get_untransformed_body): Likewise.
10041 * varpool.c (varpool_node::remove): Likewise.
10042 (varpool_node::get_constructor): Add sanity check.
10044 2015-03-11 Sandra Loosemore <sandra@codesourcery.com>
10046 * doc/invoke.texi (-fgnu89-inline): Remove discussion about
10048 (-fabi-compat-version): Likewise.
10049 (-ffriend-injection): Likewise.
10050 (-Wdeclaration-after-statement): Likewise.
10051 (-fomit-frame-pointer): Likewise.
10052 (-ftree-coalesce-inlined-vars): Likewise.
10053 (-fvisibility=): Likewise.
10054 * doc/extend.texi (Typeof): Likewise.
10055 (Zero Length): Likewise.
10056 (Escaped Newlines): Likewise.
10057 (Compound Literals): Likewise.
10058 (Function Attributes): Likewise.
10059 (Label Attributes): Likewise.
10060 (Type Attributes): Likewise.
10061 (Function Names): Likewise.
10062 (Other Builtins): Likewise.
10063 (Function Specific Option Pragmas): Likewise.
10064 (C++ Interface): Likewise.
10066 2015-03-11 Thomas Schwinge <thomas@codesourcery.com>
10068 * config/nvptx/nvptx.h (LIBSTDCXX): Define to "gcc".
10070 2015-03-11 Marek Polacek <polacek@redhat.com>
10072 PR tree-optimization/65388
10073 * tree-ssa-tail-merge.c (same_succ_def::equal): Fix typo in comparison.
10075 2015-03-10 Georg-Johann Lay <avr@gjlay.de>
10078 * configure.ac [avr]: Check as for options -mrmw, --mlink-relax.
10079 * configure: Regenerate.
10080 * config.in: Regenerate.
10081 * doc/invoke.texi (AVR Options) [-mrmw]: Document it.
10082 [-mn-flash]: Document it.
10083 [__AVR_ARCH__]: Document avrtiny.
10085 * config/avr/gen-avr-mmcu-specs.c (config.h): Include it.
10086 (*asm_relax): Only define spec if HAVE_AS_AVR_MLINK_RELAX_OPTION.
10087 (*asm_rmw): Only define spec if HAVE_AS_AVR_MRMW_OPTION.
10089 2015-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10091 * doc/invoke.texi: Add missing cpu values (z196, zEC12).
10093 2015-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
10096 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Do not
10097 allow reloads of PLUS in floating point/VSX registers.
10099 2015-03-11 Junmo Park <junmoz.park@samsung.com>
10101 * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Add
10102 crypto_sha256_fast.
10103 (cortex_a57_crypto_complex): Add crypto_sha256_slow.
10105 2015-03-11 Richard Biener <rguenther@suse.de>
10107 PR tree-optimization/65310
10108 * tree-sra.c (build_ref_for_offset): Also preserve larger
10111 2015-03-11 Marat Zakirov <m.zakirov@samsung.com>
10113 * asan.c (instrument_derefs): Disable instrumentation on asan-globals=0.
10115 2015-03-10 Jakub Jelinek <jakub@redhat.com>
10118 * config/i386/i386.md (bmi2_bzhi_<mode>3): Removed define_insn,
10120 (*bmi2_bzhi_<mode>3, *bmi2_bzhi_<mode>3_1): New define_insns.
10122 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
10124 * ipa-icf.c (sem_function::equals_wpa): Move here some checks from ...
10125 (sem_function::equals_wpa): ... here.
10127 2015-03-10 Marek Polacek <polacek@redhat.com>
10128 Jakub Jelinek <jakub@redhat.com>
10131 * ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG
10132 when only removing the statement. Handle expanding UBSAN_OBJECT_SIZE
10135 2015-03-10 Jakub Jelinek <jakub@redhat.com>
10138 * config/rs6000/t-linux: For powerpc64* target set
10139 MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME.
10141 2015-03-10 Richard Biener <rguenther@suse.de>
10143 PR middle-end/44563
10144 * tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit
10145 for redirect_all_calls.
10147 2015-03-10 Marek Polacek <polacek@redhat.com>
10149 * gdbinit.in (pcfun): Define and document.
10151 2015-03-10 Ilya Verbin <ilya.verbin@intel.com>
10153 * config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead
10154 of libgomp-plugin.h.
10155 (find_target_compiler): Support a case when the path to gcc is
10156 specified in the PATH env var, so COLLECT_GCC doesn't contain a path.
10157 (generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from
10158 intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from
10160 (main): Use GCC_INSTALL_NAME as target_driver_name.
10161 * config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME
10163 (mkoffload.o): Remove obsolete include path and defines.
10164 (mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER).
10166 2015-03-10 Richard Biener <rguenther@suse.de>
10168 PR middle-end/63155
10169 * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
10170 * tree-ssa-coalesce.c: Include timevar.h.
10171 (attempt_coalesce): Handle graph being NULL.
10172 (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
10173 Split out abnormal coalescing to ...
10174 (perform_abnormal_coalescing): ... this function.
10175 (coalesce_ssa_name): Perform abnormal coalescing without computing
10177 (verify_ssa_coalescing_worker): New function.
10178 (verify_ssa_coalescing): Likewise.
10180 2015-03-10 Georg-Johann Lay <avr@gjlay.de>
10183 * config.gcc (extra_options) [avr]: Remove.
10184 (extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o.
10185 (tm_file) [avr]: Add avr/specs.h after avr/avr.h.
10186 (tm_defines) [avr-*-rtems*]: Add WITH_RTEMS.
10188 * config/avr/avr.opt (config/avr/avr-arch.h): Remove include.
10189 (-mmcu=): Add Var and MissingArgError properties.
10191 * config/avr/genmultilib.awk: Use -mmcu= instead of -march=.
10192 * config/avr/t-multilib: Regenerate.
10193 * config/avr/specs.h: New file.
10194 * config/avr/driver-avr.c: New file.
10195 * config/avr/genopt.sh: Remove file.
10196 * config/avr/avr-tables.opt: Remove file.
10197 * config/avr/predicates.md (avr_current_arch): Rename to avr_arch.
10198 * config/avr/avr-c.c: Same.
10199 * avr-arch.h: Same.
10200 (avr_current_device): Remove proto.
10201 * config/avr/avr.h (avr_current_arch): Rename to avr_arch.
10202 (AVR_HAVE_8BIT_SP): Don't depend on avr_current_device.
10203 (EXTRA_SPEC_FUNCTIONS): Define.
10204 (avr_devicespecs_file): New specs function proto.
10205 (DRIVER_SELF_SPECS): Use device-specs-file spec function.
10206 * config/avr/avr.c (avr_current_arch): Rename to avr_arch.
10207 (avr_current_device): Remove definition and usage.
10208 (avr_set_core_architecture): New static function.
10209 (avr_option_override): Use it.
10210 * config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them.
10211 (mcu_name): New static array.
10212 (comparator, avr_archs_str, avr_mcus_str): New static functions.
10213 (avr_inform_devices, avr_inform_core_architectures): New functions.
10214 * config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include.
10215 (avrlibc.h) [WITH_AVRLIBC]: Include.
10216 (../rtems.h, rtems.h) [WITH_RTEMS]: Include.
10217 (print_mcu): Rewrite from scratch.
10218 * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC):
10219 Forward to avr-specific specs defined in device-specs file.
10220 * config/avr/t-avr (driver-avr.o): New rule.
10221 (avr-devices.o): Depend on avr-arch.h.
10222 (avr-mcus): No more depend on avr-tables.opt.
10223 (avr-tables.opt): Remove rule.
10224 (install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM.
10226 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
10228 * c-family/c.opt (fchkp-use-wrappers): New.
10229 * ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New.
10230 (chkp_wrap_function): New.
10231 (chkp_build_instrumented_fndecl): Support wrapped
10233 * doc/invoke.texi (-fcheck-pointer-bounds): New.
10234 (-fchkp-check-incomplete-type): New.
10235 (-fchkp-first-field-has-own-bounds): New.
10236 (-fchkp-narrow-bounds): New.
10237 (-fchkp-narrow-to-innermost-array): New.
10238 (-fchkp-optimize): New.
10239 (-fchkp-use-fast-string-functions): New.
10240 (-fchkp-use-nochk-string-functions): New.
10241 (-fchkp-use-static-bounds): New.
10242 (-fchkp-use-static-const-bounds): New.
10243 (-fchkp-treat-zero-dynamic-size-as-infinite): New.
10244 (-fchkp-check-read): New.
10245 (-fchkp-check-write): New.
10246 (-fchkp-store-bounds): New.
10247 (-fchkp-instrument-calls): New.
10248 (-fchkp-instrument-marked-only): New.
10249 (-fchkp-use-wrappers): New.
10250 (-static-libmpx): New.
10251 (-static-libmpxwrappers): New.
10253 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
10255 * config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New.
10256 (CHKP_SPEC): Add wrappers library.
10257 * c-family/c.opt (static-libmpxwrappers): New.
10259 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
10261 * config/i386/linux-common.h (LIBMPX_LIBS): New.
10262 (LIBMPX_SPEC): New.
10264 * gcc.c (CHKP_SPEC): New.
10265 (LINK_COMMAND_SPEC): Add CHKP_SPEC.
10266 * c-family/c.opt (static-libmpx): New.
10268 2015-03-10 Richard Biener <rguenther@suse.de>
10270 PR middle-end/44563
10271 * cgraph.h (struct cgraph_edge_hasher): Add hash overload
10273 * cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer.
10274 (cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash.
10275 (cgraph_add_edge_to_call_site_hash): Likewise.
10276 (cgraph_node::get_edge): Likewise.
10277 (cgraph_edge::set_call_stmt): Likewise.
10278 (cgraph_edge::remove_caller): Likewise.
10280 2015-03-10 Chung-Ju Wu <jasonwucj@gmail.com>
10282 * config/nds32/nds32.h (callee_saved_regs_size): Rename to ...
10283 (callee_saved_gpr_regs_size): ... this.
10284 (callee_saved_regs_first_regno): Rename to ...
10285 (callee_saved_first_gpr_regno): ... this.
10286 (callee_saved_regs_last_regno) Rename to ...
10287 (callee_saved_last_gpr_regno): ... this.
10288 * config/nds32/nds32.c (nds32_compute_stack_frame): Adjust renamed
10290 (nds32_initial_elimination_offset): Likewise.
10291 (nds32_expand_prologue): Likewise.
10292 (nds32_expand_epilogue): Likewise.
10293 (nds32_expand_prologue_v3push): Likewise.
10294 (nds32_expand_epilogue_v3pop): Likewise.
10295 * config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push):
10296 Adjust renamed variables.
10297 (nds32_output_stack_pop): Likewise.
10299 2015-03-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
10301 * dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B
10304 2015-03-10 Jakub Jelinek <jakub@redhat.com>
10306 PR rtl-optimization/65321
10307 * cfgexpand.c (expand_debug_expr): Ensure shift amount isn't wider
10309 * var-tracking.c (use_narrower_mode): Likewise.
10311 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
10313 PR tree-optimization/65355
10314 * varasm.c (notice_global_symbol): Do not produce RTL.
10315 * symtab.c (symtab_node::can_increase_alignment_p): Check for section
10317 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not
10318 check for section anchors.
10320 2015-03-10 Alan Modra <amodra@gmail.com>
10323 * config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux
10324 to be single-arch by default. Set cpu_is_64bit for powerpc64
10325 given --with-cpu=native.
10326 * config/rs6000/t-fprules: Do not set default MULTILIB vars.
10327 * config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64
10329 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
10330 rs6000_isa_flags rather than TARGET_64BIT.
10332 2015-03-09 Yoshinori Sato <ysato@users.sourceforge.jp>
10333 Kaz Kojima <kkojima@gcc.gnu.org>
10335 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases.
10337 2015-03-09 Jakub Jelinek <jakub@redhat.com>
10340 * ipa-devirt.c (add_type_duplicate): Don't use DECL_CONTEXT
10341 on a TREE_BINFO, instead use BINFO_TYPE.
10343 2015-03-09 Richard Biener <rguenther@suse.de>
10345 PR middle-end/65270
10346 * tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF.
10347 * fold-const.c (operand_equal_p): When recursing for ADDR_EXPRs
10348 operand set OEP_ADDRESS_OF. Clear it when recursing to non-bases
10349 of that. When comparing dereferences compare alignment.
10350 When comparing MEM_REFs or TARGET_MEM_REFs compare dependence info.
10352 2015-03-08 Jan Hubicka <hubicka@ucw.cz>
10354 * ipa-inline-analysis.c (check_callers): Check
10355 node->can_remove_if_no_direct_calls_and_refs_p.
10356 (growth_likely_positive): Reorganize to call
10357 can_remove_if_no_direct_calls_p later.
10358 * cgraph.h (will_be_removed_from_program_if_no_direct_calls_p,
10359 will_be_removed_from_program_if_no_direct_calls_p): Add
10360 will_inline parameter.
10361 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p,
10362 cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
10363 Handle inliner case correctly.
10365 2015-03-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
10367 PR tree-optimization/63743
10368 * cfgexpand.c (reorder_operands): Also reorder if only second operand
10369 had its definition forwarded by TER.
10371 2015-03-08 Jan Hubicka <hubicka@ucw.cz>
10374 * ipa-utils.h (types_odr_comparable): Add strict argument.
10375 * ipa-devirt.c: Fix whitespace;
10376 (odr_hasher): Remove.
10377 (odr_name_hasher, odr_vtable_hasher): New hashers.
10378 (can_be_name_hashed_p): New predicate.
10379 (hash_type_name): remove.
10380 (hash_odr_name): New.
10381 (odr_name_hasher::hash): new.
10382 (can_be_vtable_hashed_p): New.
10383 (hash_odr_vtable): New.
10384 (odr_vtable_hasher::hash): New.
10385 (types_same_for_odr): Add strict parameter.
10386 (types_odr_comparable): Likewise.
10387 (odr_name_hasher::equal): New.
10388 (odr_vtable_hasher::equal): New.
10389 (odr_name_hasher::remove): New.
10390 (odr_hash_type): Change to hash_table<odr_name_hasher>.
10391 (odr_vtable_hash_type): New.
10392 (odr_vtable_hash): New.
10393 (odr_subtypes_equivalent_p): Do strict comparsion.
10394 (add_type_duplicate): Merge type names; cleanup; avoid type
10396 (register_odr_type): Initialize vtable hash.
10397 (build_type_inheritance_graph): Likewise
10398 (get_odr_type): Reorg to use two hashes.
10399 (dump_possible_polymorphic_call_targets): Move sanity check after debug
10401 (ipa_devirt): Dump type_inheritance_graph.
10402 (types_same_for_odr): Add strict mode.
10404 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
10407 * cgraph.h (symtab_node): Add definition_alignment,
10408 can_increase_alignment_p and increase_alignment.
10409 * symtab.c (symtab_node::can_increase_alignment_p,
10410 increase_alignment_1, symtab_node::increase_alignment,
10411 symtab_node::definition_alignment): New.
10412 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Use
10413 can_increase_alignment_p.
10414 * tree-vectorizer.c (increase_alignment): Use increase_alignment.
10415 * tree-vect-stmts.c (ensure_base_align): Likewise.
10416 * varasm.c (function_section_1): Use definition_alignment.
10417 (assemble_start_function): Likewise.
10418 (emit_local): likewise.
10419 (build_constant_desc): Likewsie.
10420 (output_constant_def_contents): Likewise.
10421 (place_block_symbol): Likewise.
10422 (output_object_block): Likewise.
10424 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
10427 * tree.c (free_lang_data_in_type): Be sure to keep BINFO_VTABLE
10428 when outputting debug.
10430 2015-03-07 Marek Polacek <polacek@redhat.com>
10431 Martin Uecker <uecker@eecs.berkeley.edu>
10434 * doc/invoke.texi: Update description of -fsanitize=bounds.
10436 2015-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com>
10438 * tree-ssa-phiopt.c (neg_replacement): Remove.
10439 (tree_ssa_phiopt_worker): Remove negate optimization.
10441 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
10444 * value-prof.c (gimple_ic): Pure dead eh edges when needed.
10446 2015-03-06 Richard Biener <rguenther@suse.de>
10448 PR middle-end/64928
10449 * tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack
10450 and liveout_obstack members.
10451 (calculate_live_on_exit): Remove.
10452 (calculate_live_ranges): Change declaration.
10453 * tree-ssa-live.c (liveness_bitmap_obstack): Remove global var.
10454 (new_tree_live_info): Adjust.
10455 (calculate_live_ranges): Delete livein when not wanted.
10456 (calculate_live_ranges): Do not initialize liveness_bitmap_obstack.
10457 Deal with partly deleted live info.
10458 (loe_visit_block): Remove temporary bitmap by using
10459 bitmap_ior_and_compl_into.
10460 (live_worklist): Adjust accordingly.
10461 (calculate_live_on_exit): Make static.
10462 * tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges
10463 we do not need livein.
10465 2015-03-06 Jonathan Wakely <jwakely@redhat.com>
10467 * real.c (real_from_string): Fix typo in assertion.
10469 2015-03-06 Alex Velenko <alex.velenko@arm.com>
10471 * ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of
10474 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
10476 * ipa-icf.c (sem_variable::equals_wpa): Check FINAL flags.
10478 2015-03-05 Vladimir Makarov <vmakarov@redhat.com>
10481 * lra-assigns.c (find_hard_regno_for): Rename to
10482 find_hard_regno_for_1. Add a new parameter.
10483 (find_hard_regno_for): New function using find_hard_regno_for_1.
10485 2015-03-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
10487 PR rtl-optimization/65067
10488 * expmed.c (store_bit_field, extract_bit_field): Reworked the
10489 strict volatile bitfield handling.
10491 2015-03-05 Martin Liska <mliska@suse.cz>
10494 * ipa-icf.c (sem_variable::equals): Compare variables types.
10496 2015-03-05 Richard Henderson <rth@redhat.com>
10499 * config/arm/arm.c (arm_function_in_section_p): Fix predicate to
10500 correctly check weak symbol binding.
10502 2015-03-05 Steve Ellcey <sellcey@imgtec.com>
10504 PR middle-end/65315
10505 * cfgexpand.c (expand_stack_vars): Update large_align to maximum
10508 2015-03-05 Martin Liska <mliska@suse.cz>
10510 * ipa-inline.c (inline_small_functions): Set default value to
10511 prevent warning during bootstrap.
10512 * tree.h: Add pragma guard that ignores false positives during
10515 2015-03-05 Richard Biener <rguenther@suse.de>
10517 PR tree-optimization/65310
10518 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
10519 Properly preserve alignment of the base of the access.
10521 2015-03-05 Richard Biener <rguenther@suse.de>
10524 * ipa-icf-gimple.c (func_checker::compare_memory_operand):
10525 Compare dependence info.
10527 2015-03-05 Richard Biener <rguenther@suse.de>
10529 PR middle-end/65233
10530 * ipa-polymorphic-call.c: Include tree-ssa-operands.h and
10532 (walk_ssa_copies): Revert last chage. Instead do not walk
10533 SSA names registered for SSA update.
10535 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
10538 * ipa-icf.c (sem_item::compare_cgraph_references): Compare
10539 vtable references for their containing type.
10540 (sem_function::equals_wpa): Compare TYPE_RESTRICT
10541 and type attributes.
10543 2015-03-04 Eric Botcazou <ebotcazou@adacore.com>
10545 * fold-const.c (round_up_loc): Cast divisor to signed on all paths
10546 before negating it.
10547 * stor-layout.c (finalize_record_size): Revert latest change.
10549 2015-03-04 Andreas Tobler <andreast@gcc.gnu.org>
10551 * config/rs6000/t-freebsd64: Remove 32-bit soft-float multilibs.
10553 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
10555 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite
10556 for correct comdat handling.
10557 (cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
10559 * cgraph.h (call_for_symbol_and_aliases): Fix formating.
10560 (used_from_object_file_p_worker): Remove.
10561 (cgraph_node::only_called_directly_or_alised): Add
10562 used_from_object_file_p.
10563 * ipa-inline-analysis.c (growth_likely_positive): Optimie.
10564 * ipa-inline-transform.c (can_remove_node_now_p_1): Use
10565 can_remove_if_no_direct_calls_and_refs_p.
10567 2015-03-04 Nick Clifton <nickc@redhat.com>
10569 * config/rl78/rl78.h (enum reg_class): Remove real registers from
10570 General register class.
10571 * config/rl78/rl78-real.md: Replace general register constraints
10572 with real+virtual register constraints.
10574 2015-03-04 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10576 * config/s390/s390.c (s390_expand_builtin): Exlude non-htm builtins
10577 from checking for -mhtm option.
10579 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
10581 * tree-sra.c (convert_callers): Use call_for_symbol_and_aliases.
10582 (struct ipa_sra_check_caller_data): Add has_thunk field.
10583 (ipa_sra_check_caller): Check for thunk.
10584 (ipa_sra_preliminary_function_checks): Give up on function with
10586 (ipa_early_sra): Use call_for_symbol_and_aliases.
10588 2015-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
10591 * config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when
10592 called for __stack_chk_guard symbol.
10594 2015-03-03 DJ Delorie <dj@redhat.com>
10596 * config/rl78/rl78-real.md (*addqi_real): Allow SADDR types for
10598 (*addhi3_real): Likewise.
10599 * config/rl78/rl78-virt.md (*inc<mode>3_virt): Additional
10600 pattern to match incrementing memory.
10601 * config/rl78/predicates.md (rl78_1_2_operand): New.
10602 * config/rl78/rl78.c (rl78_force_nonfar_3): Allow far mem-mem if
10603 it's the same and only mem.
10604 (rl78_alloc_physical_registers_op2): If there's effectively only
10605 one MEM, transcode it into HL.
10606 (rl78_far_p): Reject addresses that aren't legitimate.
10608 2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
10610 * fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before
10613 * tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message.
10615 2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
10617 Implement call0 ABI for xtensa
10618 * config/xtensa/constraints.md ("a" constraint): Include stack
10619 pointer in case of call0 ABI.
10620 ("q" constraint): Make empty in case of call0 ABI.
10621 ("D" constraint): Include stack pointer in case of call0 ABI.
10622 * config/xtensa/xtensa-protos.h (xtensa_set_return_address,
10623 xtensa_expand_epilogue, xtensa_regno_to_class): Add new function
10625 * config/xtensa/xtensa.c (xtensa_callee_save_size): New
10627 (xtensa_regno_to_class): Make it a local variable in the
10628 function xtensa_regno_to_class.
10629 (xtensa_function_epilogue, TARGET_ASM_FUNCTION_EPILOGUE): Remove
10630 macro, function prototype and implementation.
10631 (reg_nonleaf_alloc_order): Make it a local variable in the
10632 function order_regs_for_local_alloc.
10633 (xtensa_conditional_register_usage): New function.
10634 (TARGET_CONDITIONAL_REGISTER_USAGE): Define macro.
10635 (xtensa_valid_move): Allow direct moves to stack pointer
10636 register in call0 ABI.
10637 (xtensa_setup_frame_addresses): Only spill register windows in
10639 (xtensa_emit_call): Emit call(x)8 or call(x)0 in windowed and
10640 call0 ABI respectively.
10641 (xtensa_function_arg_1): Only mark a7 register for copying in
10643 (xtensa_call_save_reg): New function.
10644 (compute_frame_size): Add space for callee saved register
10645 storage to the frame size in call0 ABI.
10646 (xtensa_expand_prologue): Generate code to set up stack frame
10647 and save callee-saved registers in call0 ABI.
10648 (xtensa_expand_epilogue): New function.
10649 (xtensa_set_return_address): New function.
10650 (xtensa_return_addr): Calculate return address in call0 ABI.
10651 (xtensa_builtin_saveregs): Only mark a7 register for copying and
10652 emit copying code in windowed ABI.
10653 (order_regs_for_local_alloc): Add preferred register allocation
10654 order for non-leaf function in call0 ABI.
10655 (xtensa_static_chain): Add atatic chain passing for call0 ABI.
10656 (xtensa_asm_trampoline_template): Add trampoline generation for
10658 (xtensa_trampoline_init): Add trampoline initialization for
10660 (xtensa_conditional_register_usage, xtensa_regno_to_class): New
10662 * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI): New macro.
10663 (TARGET_CPU_CPP_BUILTINS): Add built-in define for call0 ABI.
10664 (CALL_USED_REGISTERS): Modify to encode both windowed and call0
10665 ABI call-used registers.
10666 (HARD_FRAME_POINTER_REGNUM): Add frame pointer for call0 ABI.
10667 (INCOMING_REGNO, OUTGOING_REGNO): Use argument unchanged in
10669 (REG_CLASS_CONTENTS): Include all registers into the preferred
10670 reload registers set, adjust the set in the
10671 xtensa_conditional_register_usage.
10672 (xtensa_regno_to_class): Drop variable declaration.
10673 (REGNO_REG_CLASS): Redefine to use xtensa_regno_to_class
10675 (WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI
10677 (FUNCTION_PROFILER): Add _mcount call for call0 ABI.
10678 (TRAMPOLINE_SIZE): Define trampoline size for call0 ABI.
10679 (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 in call0 ABI.
10680 (ASM_OUTPUT_POOL_PROLOGUE): Always generate literal pool
10681 location in call0 ABI.
10682 (EH_RETURN_STACKADJ_RTX): New definition, use a10 for passing
10683 stack adjustment size when handling exception.
10684 (CRT_CALL_STATIC_FUNCTION): Add definition for call0 ABI.
10685 * config/xtensa/xtensa.md (A9_REG, UNSPECV_BLOCKAGE): New
10687 ("return" pattern): Generate ret.n/ret in call0 ABI.
10688 ("epilogue" pattern): Expand epilogue.
10689 ("nonlocal_goto" pattern): Use default in call0 ABI.
10690 ("eh_return" pattern): Move implementation to eh_set_a0_windowed,
10691 emit eh_set_a0_* depending on ABI.
10692 ("eh_set_a0_windowed" pattern): Former eh_return pattern.
10693 ("eh_set_a0_call0", "blockage"): New patterns.
10695 2015-03-03 Martin Liska <mliska@suse.cz>
10698 * ipa-icf.c (sem_variable::parse): Skip all alias variables.
10700 2015-03-03 Michael Meissner <meissner@linux.vnet.ibm.com>
10703 * config/rs6000/rs6000-tables.opt: Regenerate table.
10705 2015-03-03 Renlin Li <renlin.li@arm.com>
10707 * doc/md.texi (@item ^): Change ? into ^.
10709 2015-03-03 H.J. Lu <hongjiu.lu@intel.com>
10711 * doc/tm.texi: Regenerated.
10713 2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
10715 * builtins.c (expand_builtin_return_addr): Add
10716 RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove
10717 surrounding #ifdef.
10718 * config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change
10720 * config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME):
10722 * defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if
10724 * doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update
10727 2015-03-03 Martin Jambor <mjambor@suse.cz>
10728 Eric Botcazou <ebotcazou@adacore.com>
10730 * tree-sra.c (ipa_sra_check_caller_data): New type.
10731 (has_caller_p): Removed.
10732 (ipa_sra_check_caller): New function.
10733 (ipa_sra_preliminary_function_checks): Use it.
10735 2015-03-03 Martin Liska <mliska@suse.cz>
10737 * ipa-icf.c (sem_item_optimizer::merge_classes): Use bit or
10738 instead of if branch.
10740 2015-03-03 Martin Liska <mliska@suse.cz>
10743 * ipa-icf.c (sem_variable::equals): Fix wrong condition.
10745 2015-03-23 Jeff Law <law@redhat.com>
10747 PR tree-optimization/65241
10748 * tree-ssa-dom.c (lookup_avail_expr): Only modify the avail_expr
10749 hash table if INSERT is true.
10751 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
10754 * config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove.
10756 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
10759 * config/avr/avr.c (context.h, tree-pass.h): Include them.
10760 (avr_pass_data_recompute_notes): New static variable.
10761 (avr_pass_recompute_notes): New class.
10762 (avr_register_passes): New static function.
10763 (avr_option_override): Call it.
10765 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
10767 Fix various problems with specs file generation.
10770 * config.gcc (extra_gcc_objs) [avr]: Remove.
10771 * config/avr/driver-avr.c: Remove file.
10772 * config/avr/t-avr (driver-avr.o): Remove rule.
10773 (gen-avr-mmcu-specs): Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and
10774 INCLUDES to build. Depend on TM_H.
10775 * config/avr/gen-avr-mmcu-specs.c: Tidy up code. Fix various
10776 build warnings. Fix non-matching types and non-existing %-codes.
10778 (*lib) [!WITH_AVRLIBC]: Don't link libdev.a.
10779 (*libgcc) [WITH_AVRLIBC]: Add "-lm".
10780 * config/avr/avrlibc.h (LIBGCC_SPEC): Remove definition.
10781 * config/avr/avr.h (DRIVER_SELF_SPECS): Fix handling of -march=.
10782 (CPP_SPEC, CC1PLUS_SPEC, ASM_SPEC, LINK_SPEC, LIB_SPEC)
10783 (LIBGCC_SPEC): Remove definitions.
10785 2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
10787 * config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG
10788 to create a register in testing mode.
10790 2015-03-03 Martin Liska <mliska@suse.cz>
10791 Jan Hubicka <hubicka@ucw.cz>
10794 * cgraph.c (cgraph_node::has_thunk_p): New function.
10795 * cgraph.h (cgraph_node::has_thunk_p: Likewise.
10796 * ipa-icf.c (redirect_all_callers): Do not redirect thunks.
10797 (sem_function::merge): Assert is changed.
10799 2015-03-03 Martin Liska <mliska@suse.cz>
10800 Martin Jambor <mjambor@suse.cz>
10803 * ipa-icf.c (sem_item_optimizer::execute): Change function
10804 return value to boolean.
10805 (sem_item_optimizer::merge_classes): Likewise.
10806 (ipa_icf_driver): Return TODO_remove_functions in case there's
10807 a merge operation processed.
10808 * ipa-icf.h: Change function return value to boolean.
10810 2015-03-02 Michael Meissner <meissner@linux.vnet.ibm.com>
10813 * config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic
10814 processor type for 64-bit little endian PowerPC.
10816 * config/rs6000/rs6000.c (rs6000_option_override_internal): If
10817 -mdebug=reg, print TARGET_DEFAULT. Fix logic to use
10818 TARGET_DEFAULT if there is no default cpu. Fix -mdebug=reg
10819 printing built-in mask so it does not pass NULL pointers.
10821 * doc/invoke.texi (IBM RS/6000 and PowerPC options): Document
10824 2015-03-02 Steve Ellcey <sellcey@imgtec.com>
10827 * config/mips/mips.md (mov<mode>cc): Change ISA_HAS_SEL check to
10828 !ISA_HAS_FP_CONDMOVE.
10830 2015-03-02 Aldy Hernandez <aldyh@redhat.com>
10832 * config/i386/i386.md (*udivmod<mode>4_pow2): Remove
10835 2015-03-02 Ulrich Drepper <drepper@gmail.com>
10837 * doc/invoke.texi (Options for Code Generation Conventions):
10838 Fix URL of DSO paper.
10840 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
10843 * ipa-inline.c (check_callers): Looks for recursion.
10844 (inline_to_all_callers): Give up on uninlinable or recursive edges.
10845 * ipa-inline-analysis.c (inline_summary_t::duplicate): Do not update
10846 summary of inline clones.
10847 (do_estimate_growth_1): Fix recursion check.
10849 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
10852 * ipa-inline-transform.c (clone_inlined_nodes): Do not dissolve
10855 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
10856 Aldy Hernandez <aldyh@redhat.com>
10859 * ipa-devirt.c (add_type_duplicate): Remove odr_violated assert
10860 when checking TYPE_BINFO.
10862 2015-03-02 Richard Biener <rguenther@suse.de>
10865 * ipa-icf-gimple.c: Include builtins.h.
10866 (func_checker::compare_memory_operand): Compare base alignment.
10868 2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
10871 * gcc/config/i386/i386.c (ix86_pass_by_reference) Bounds
10872 are never passed by reference.
10874 2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
10877 * tree-chkp.c (chkp_check_lower): Don't check against
10878 zero bounds for already instrumented functions.
10879 (chkp_check_upper): Likewise.
10880 (chkp_fini): Clean pass local data to avoid wrong reusage.
10882 2015-02-28 Martin Liska <mliska@suse.cz>
10883 Jan Hubicka <hubicka@ucw.cz>
10885 * ipa-icf.c (sem_variable::equals): Improve debug output;
10886 get variable constructor.
10887 (sem_variable::parse): Do not filter out too early; give up on
10888 volatile and register vars.
10889 (sem_item_optimizer::filter_removed_items): Filter out nonreadonly
10891 * ipa-icf.h (sem_variable::init): Do not set ctor.
10892 (sem_variable::ctor): Remove.
10894 2015-03-01 Aldy Hernandez <aldyh@redhat.com>
10896 PR middle-end/65233
10897 * ipa-polymorphic-call.c (walk_ssa_copies): Handle empty PHIs.
10899 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
10901 * ipa-icf.c: Include stor-layout.h
10902 (sem_function::compare_cgraph_references): Rename to ...
10903 (sem_item::compare_cgraph_references): ... this one.
10904 (sem_variable::equals_wpa): New function
10905 (sem_variable::equals): Do not check stuff already verified by
10907 (sem_variable::equals): Reorg based on varasm.c:compare_constant.
10908 * ipa-icf.h (sem_item): Add compare_cgraph_references.
10909 (sem_function): Remove compare_cgraph_references.
10910 (sem_variable): Turns equals_wpa into non-inline.
10912 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
10914 * ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT.
10915 (sem_item::add_expr): New function.
10916 (sem_function::hash_stmt): Handle operands of most statements.
10917 (sem_variable::get_hash): Hash the actual constructor.
10918 * ipa-icf.h (sem_item): Add add_expr.
10919 (sem_function): Update prototype of hash_stmt
10921 2015-02-28 Martin Liska <mliska@suse.cz>
10922 Jan Hubicka <hubicka@ucw.cz>
10925 * ipa-icf-gimple.c (func_checker::compare_function_decl):
10927 (func_checker::compare_variable_decl): Skip symtab vars.
10928 (func_checker::compare_cst_or_decl): Update.
10929 * ipa-icf.c (sem_function::parse): Do not consider aliases.
10930 (sem_function::compare_cgraph_references): Add ADDRESS parameter;
10931 use correct symtab predicates.
10932 (sem_function::equals_wpa): Update uses of compare_cgraph_references.
10933 (sem_variable::parse): Update comment.
10934 (sem_item_optimizer::build_graph): Consider ultimate aliases
10937 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
10939 * ipa-icf-gimple.c (func_checker::compare_operand): Fix handling
10942 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
10944 * ipa-icf.c (sem_function::merge): Fix handling of COMDAT.
10945 (sem_variable::merge) Likewise.
10947 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
10949 * ipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline
10950 target; also match flag_ipa_devirt.
10952 2015-03-01 Martin Liska <mliska@suse.cz>
10953 Jan Hubicka <hubicka@ucw.cz>
10955 * ipa-icf-gimple.c (func_checker::compare_variable_decl):
10956 Validate variable alignment.
10957 * ipa-icf.c (sem_function::equals_private): Be more precise
10958 about non-common function attributes.
10959 (sem_variable::equals): Likewise.
10961 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
10964 * ipa-icf.c (sem_function::merge): Do not attempt to produce alias
10965 across COMDAT group boundary.
10967 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
10970 * ipa-icf.c (clear_decl_rtl): New function.
10971 (sem_function::merge): Clear RTL before forming alias.
10972 (sem_variable::merge): Clear RTL before forming alias.
10974 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
10977 * cgraphunit.c (cgraph_node::expand_thunk): Enable return slot opt.
10979 2015-02-28 Xingxing Pan <xxingpan@marvell.com>
10981 * config/aarch64/aarch64.md: (mov<mode>_aarch64): Change type
10984 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
10986 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix
10987 a typo in the description.
10989 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
10992 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
10993 * params.h (LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
10994 * lra-constraints.c: Include "params.h".
10995 (EBB_PROBABILITY_CUTOFF): Use
10996 LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF.
10997 (lra_inheritance): Use '<' instead of '<=' for
10998 EBB_PROBABILITY_CUTOFF.
10999 * doc/invoke.texi (lra-inheritance-ebb-probability-cutoff):
11002 2015-02-27 Martin Liska <mliska@suse.cz>
11004 * ipa-icf.h (struct symbol_compare_hashmap_traits): Add missing
11005 vector length condition.
11007 2015-02-27 Sandra Loosemore <sandra@codesourcery.com>
11009 * doc/extend.texi (x86 transactional memory intrinsics):
11010 Reorganize discussion of _xbegin. Clarify that the return
11011 value is a bit mask. Expand example and move to end of section.
11013 2015-02-26 Jakub Jelinek <jakub@redhat.com>
11014 Aldy Hernandez <aldyh@redhat.com>
11016 PR rtl-optimization/65220
11017 * config/i386/i386.md (*udivmod<mode>4_pow2): New.
11019 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
11022 * lra-remat.c (update_scratch_ops): New.
11023 (do_remat): Call it.
11024 * lra.c (lra_register_new_scratch_op): New. Take code from ...
11025 (remove_scratches): ... here.
11026 * lra-int.h (lra_register_new_scratch_op): New prototype.
11028 2015-02-27 Marek Polacek <polacek@redhat.com>
11031 * doc/invoke.texi: Update to reflect that -Wformat=2 doesn't enable
11032 -Wformat-signedness anymore.
11034 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11036 * config/s390/s390.c: (s390_atomic_assign_expand_fenv): New
11038 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define macro.
11040 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11042 * config/s390/s390.c (enum s390_builtin):
11043 Add S390_BUILTIN_S390_SFPC and S390_BUILTIN_S390_EFPC.
11044 (code_for_builtin): Add CODE_FOR_s390_sfpc and CODE_FOR_s390_efpc.
11045 (s390_init_builtins): Generate new builtin functions.
11046 * config/s390/s390.md (UNSPECV_SFPC, UNSPECV_EFPC): New constants.
11047 (s390_sfpc, s390_efpc): New pattern definitions.
11049 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11051 * config/s390/s390.c: (enum s390_builtin, s390_expand_builtin):
11052 Rename S390_BUILTIN_max to S390_BUILTIN_MAX.
11053 (s390_builtin_decls): New array.
11054 (s390_init_builtins): Put builtin decls into s390_builtin_decls.
11055 (s390_builtin_decl): New function.
11056 (TARGET_BUILTIN_DECL): Define macro.
11058 2015-02-27 Richard Biener <rguenther@suse.de>
11060 PR middle-end/63175
11061 * builtins.c (get_object_alignment_2): Make sure to re-apply
11062 the ANDed mask after recursing to its operand gets us a new
11063 misalignment bit position.
11065 2015-02-26 Jan Hubicka <hubicka@ucw.cz>
11066 Martin Liska <mliska@suse.cz>
11069 * ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton):
11070 Use address_matters_p.
11071 (redirect_all_callers, set_addressable): New functions.
11072 (sem_function::merge): Reorganize and fix merging issues.
11073 (sem_variable::merge): Likewise.
11074 (sem_variable::compare_sections): Remove.
11075 * common.opt (fmerge-all-constants, fmerge-constants): Remove
11077 * symtab.c (symtab_node::resolve_alias): When alias has aliases,
11079 (symtab_node::make_decl_local): Set ADDRESSABLE bit when
11081 (address_matters_1): New function.
11082 (symtab_node::address_matters_p): New function.
11083 * cgraph.c (cgraph_edge::verify_corresponds_to_fndecl): Fix
11084 check for merged flag.
11085 * cgraph.h (address_matters_p): Declare.
11086 (symtab_node::address_taken_from_non_vtable_p): Remove.
11087 (symtab_node::address_can_be_compared_p): New method.
11088 (ipa_ref::address_matters_p): Move here from ipa-ref.c; simplify.
11089 * ipa-visibility.c (symtab_node::address_taken_from_non_vtable_p):
11091 (comdat_can_be_unshared_p_1) Use address_matters_p.
11092 (update_vtable_references): Fix formating.
11093 * ipa-ref.c (ipa_ref::address_matters_p): Move inline.
11094 * cgraphunit.c (cgraph_node::create_wrapper): Drop UNINLINABLE flag.
11095 * cgraphclones.c: Preserve merged and icf_merged flags.
11097 2015-02-26 Sandra Loosemore <sandra@codesourcery.com>
11099 * doc/extend.texi (Function Attributes): Fix spelling and typos.
11100 (Label Attributes): Likewise.
11101 (Cilk Plus Builtins): Likewise.
11102 (ARC SIMD Built-in Functions): Likewise.
11103 (ARM C Language Extensions (ACLE)): Likewise.
11104 (PowerPC Built-in Functions): Likewise.
11105 (PowerPC Hardware Transactional Memory Built-in Functions):
11108 2015-02-26 Jakub Jelinek <jakub@redhat.com>
11110 PR tree-optimization/65216
11111 * tree-ssa-reassoc.c (rewrite_expr_tree): Force creation of
11112 new stmt and new SSA_NAME for lhs whenever the arguments have
11113 changed and weren't just swapped. Fix comment typo.
11115 PR tree-optimization/65215
11116 * tree-ssa-math-opts.c (find_bswap_or_nop_load): Return false
11117 for PDP endian targets.
11118 (perform_symbolic_merge, find_bswap_or_nop_1, find_bswap_or_nop):
11119 Fix up formatting issues.
11120 (bswap_replace): Likewise. For BYTES_BIG_ENDIAN, if the final access
11121 size is smaller than the original, adjust MEM_REF offset by the
11122 difference of sizes. Use is_gimple_mem_ref_addr instead of
11123 is_gimple_min_invariant test to avoid adding address temporaries.
11125 2015-02-26 Martin Liska <mliska@suse.cz>
11126 Jan Hubicka <hubicka@ucw.cz>
11129 * ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New.
11130 (sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function.
11131 (sem_item_optimizer::process_cong_reduction): Include division by
11132 sensitive references.
11133 * ipa-icf.h (struct symbol_compare_hashmap_traits): New class.
11134 * ipa-ref.c (ipa_ref::address_matters_p): New function.
11135 * ipa-ref.h (ipa_ref::address_matters_p): Likewise.
11137 2015-02-26 Georg-Johann Lay <avr@gjlay.de>
11140 * config/avr/avr-protos.h (tiny_valid_direct_memory_access_range):
11142 * config/avr/avr.c: Same.
11143 (avr_legitimate_address_p) <AVR_TINY, CONSTANT_ADDRESS_P>:
11144 Refuse any constant address not in 0..0xbf.
11145 * config/avr/avr.md (*mov<mode>, *movsf): Remove
11146 tiny_valid_direct_memory_access_range from insn conditions.
11147 (mov<mode>): Don't special-case expansion of avrtiny addresses.
11149 2015-02-26 Oleg Endo <olegendo@gcc.gnu.org>
11152 * config/sh/sh.c (sh_check_add_incdec_notes): New function.
11153 * config/sh/sh-protos.h (sh_check_add_incdec_notes): Declare it.
11154 * config/sh/predicates.md (const_logical_operand): New predicate.
11155 * config/sh/sh.md: Add new peephole2 patterns.
11157 2015-02-26 Marek Polacek <polacek@redhat.com>
11160 * ipa-inline.c (early_inliner): Recompute inline parameters.
11162 2015-02-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11165 * config/rs6000/rs6000.c (rs6000_analyze_swaps): Ensure
11166 instructions with TImode operands are included in the analysis.
11168 2015-02-26 Sebastian Pop <s.pop@samsung.com>
11170 * tree-ssa-threadupdate.c (dump_jump_thread_path): Print all edges
11171 of an EDGE_FSM_THREAD.
11173 2015-02-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
11175 * config/rs6000/htm.md (tcheck): Fix assembly encoding.
11177 2015-02-25 Aldy Hernandez <aldyh@redhat.com>
11180 * dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups.
11182 2015-02-26 Sebastian Pop <s.pop@samsung.com>
11184 PR tree-optimization/65048
11185 * tree-ssa-threadupdate.c (valid_jump_thread_path): New.
11186 (thread_through_all_blocks): Call valid_jump_thread_path.
11187 Remove invalid FSM jump-thread paths.
11189 2015-02-26 Jakub Jelinek <jakub@redhat.com>
11191 * passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
11192 (ipa_write_optimization_summaries): Likewise.
11193 * tree-streamer.h: Include data-streamer.h.
11194 (streamer_mode_table): Declare extern variable.
11195 (bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions.
11196 * lto-streamer-out.c (lto_output_init_mode_table,
11197 lto_write_mode_table): New functions.
11198 (produce_asm_for_decls): Call lto_write_mode_table when streaming
11200 * lto-section-in.c (lto_section_name): Add "mode_table" entry.
11201 (lto_create_simple_input_block): Add mode_table argument to the
11202 lto_input_block constructors.
11203 * ipa-prop.c (ipa_prop_read_section, read_replacements_section):
11205 * data-streamer-in.c (string_for_index): Likewise.
11206 * ipa-inline-analysis.c (inline_read_section): Likewise.
11207 * ipa-icf.c (sem_item_optimizer::read_section): Likewise.
11208 * lto-cgraph.c (input_cgraph_opt_section): Likewise.
11209 * lto-streamer-in.c (lto_read_body_or_constructor,
11210 lto_input_toplevel_asms): Likewise.
11211 (lto_input_mode_table): New function.
11212 * tree-streamer-out.c (pack_ts_fixed_cst_value_fields,
11213 pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields):
11214 Use bp_pack_machine_mode.
11215 * real.h (struct real_format): Add name field.
11216 * lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table.
11217 (class lto_input_block): Add mode_table member.
11218 (lto_input_block::lto_input_block): Add mode_table_ argument,
11219 initialize mode_table.
11220 (struct lto_file_decl_data): Add mode_table field.
11221 (lto_input_mode_table, lto_output_init_mode_table): New prototypes.
11222 * tree-streamer-in.c (unpack_ts_fixed_cst_value_fields,
11223 unpack_ts_decl_common_value_fields,
11224 unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode.
11225 * tree-streamer.c (streamer_mode_table): New variable.
11226 * real.c (ieee_single_format, mips_single_format,
11227 motorola_single_format, spu_single_format, ieee_double_format,
11228 mips_double_format, motorola_double_format,
11229 ieee_extended_motorola_format, ieee_extended_intel_96_format,
11230 ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
11231 ibm_extended_format, mips_extended_format, ieee_quad_format,
11232 mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
11233 decimal_single_format, decimal_double_format, decimal_quad_format,
11234 ieee_half_format, arm_half_format, real_internal_format): Add name
11236 * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
11238 2015-02-26 Yuri Rumyantsev <ysrumyan@gmail.com>
11241 * config/i386/i386.c (ix86_sched_reorder): Skip instruction
11242 reordering for selective scheduling.
11244 2015-02-26 Terry Guo <terry.guo@arm.com>
11246 * config/arm/arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE.
11247 * config/arm/arm-protos.h (FL_NO_VOLATILE_CE): New flag.
11248 (arm_arch_no_volatile_ce): Declare new global variable.
11249 * config/arm/arm.c (arm_arch_no_volatile_ce): New global variable.
11250 (arm_option_override): Assign value to arm_arch_no_volatile_ce.
11251 * config/arm/arm.h (arm_arch_no_volatile_ce): Declare it.
11252 (TARGET_NO_VOLATILE_CE): New macro.
11253 * config/arm/arm.md (arm_comparison_operator): Disabled if not allow
11254 volatile memory access in IT block
11256 2015-02-25 Kai Tietz <ktietz@redhat.com>
11258 PR tree-optimization/61917
11259 * tree-vect-loop.c (vectorizable_reduction): Handle obvious case
11260 that reduc_def_stmt is null.
11262 2015-02-25 Martin Liska <mliska@suse.cz>
11264 * ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare
11265 hard register variables.
11267 2015-02-25 Kai Tietz <ktietz@redhat.com>
11270 * symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0.
11271 (symtab::noninterposable_alias): Likewise.
11273 2015-02-25 Ilya Enkovich <ilya.enkovich@intel.com>
11276 * gcc/config/i386/i386.c (ix86_function_arg_regno_p): Support
11278 (avoid_func_arg_motion): Add dependencies for BNDSTX insns.
11280 2015-02-25 Alan Lawrence <alan.lawrence@arm.com>
11283 * config/aarch64/aarch64.md (*xor_one_cmpl<mode>3): Use FP_REGNUM_P
11284 as split condition; force split via '#' in output pattern.
11286 2015-02-25 Richard Biener <rguenther@suse.de>
11287 Kai Tietz <ktietz@redhat.com>
11289 PR tree-optimization/61917
11290 * tree-vect-loop.c (vectorizable_reduction): Allow
11291 vect_internal_def without reduction to exit graceful.
11293 2015-02-25 Georg-Johann Lay <avr@gjlay.de>
11296 * config/avr/avr.c (avr_adjust_insn_length): Call recog_memoized
11297 only with NONDEBUG_INSN_P.
11299 2015-02-25 Georg-Johann Lay <avr@gjlay.de>
11301 Use variadic macros with avr-log.c.
11303 * config/avr/avr-protos.h (avr_vdump): New prototype.
11304 (avr_log_set_caller_e, avr_log_set_caller_f): Remove protos.
11305 (avr_edump, avr_fdump, avr_dump): (Re)define to use avr_vdump.
11306 * config/avr/avr-log.c: Adjust comments.
11307 (avr_vdump): New function.
11308 (avr_vadump): Pass caller as 2nd argument instead of format string.
11309 (avr_log_caller, avr_log_fdump_e, avr_log_fdump_f)
11310 (avr_log_set_caller_e, avr_log_set_caller_f): Remove.
11312 2015-02-25 Jakub Jelinek <jakub@redhat.com>
11315 * target.def (target_option_stream_in): New target hook.
11316 * tree-streamer-in.c (streamer_read_tree_bitfields): Invoke
11317 targetm.target_option.post_stream_in if non-NULL.
11318 * doc/tm.texi.in: Add @hook TARGET_OPTION_POST_STREAM_IN.
11319 * doc/tm.texi: Updated.
11320 * config/i386/i386.c (ix86_function_specific_post_stream_in): New
11322 (TARGET_OPTION_POST_STREAM_IN): Redefine.
11324 2015-02-24 Jeff Law <law@redhat.com>
11327 * config/xtensa/xtensa.md (zero_cost_loop_start): Reverse numbering
11328 of operand 0 and operand 2.
11329 (zero_cost_loop_end, loop_end): Similarly.
11331 2015-02-24 Aldy Hernandez <aldyh@redhat.com>
11333 * gimple.h (gimple_build_assign): Rename CXX_MEM_STAT_DECL to
11336 2015-02-24 DJ Delorie <dj@redhat.com>
11338 * config/rl78/rl78-protos.h (rl78_split_movsi): Accept a mode as well.
11339 * config/rl78/rl78-expand.md (movsf): New, same as movsi.
11340 * config/rl78/rl78.c (rl78_split_movsi): Accept a mode, use it
11341 instead of hardcoding SImode.
11343 2015-02-24 Bernd Schmidt <bernds@codesourcery.com>
11345 * omp-low.c (create_omp_child_function): Tag entrypoint
11346 functions with a special attribute.
11348 2015-02-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
11351 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Drop unused variable.
11353 2015-02-24 Vladimir Makarov <vmakarov@redhat.com>
11355 PR rtl-optimization/65123
11356 * lra-remat.c (operand_to_remat): Check hard regs in insn
11359 2015-02-24 Nick Clifton <nickc@redhat.com>
11361 * config/v850/v850.h (ASM_SPEC): Pass -msoft-float/-mhard-float on
11364 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
11367 * omp-builtins.def (BUILT_IN_GOACC_DATA_START): Specify as
11368 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, not
11369 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR.
11370 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Specify as
11371 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, not
11372 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR.
11373 (BUILT_IN_GOACC_PARALLEL): Specify as
11374 BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, not
11375 BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR.
11376 * builtin-types.def
11377 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
11378 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
11379 Remove function types.
11380 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
11381 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
11382 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
11383 New function types.
11385 2015-02-24 Georg-Johann Lay <avr@gjlay.de>
11387 * config/avr/stdfix.h [__WITH_AVRLIBC__]: Include <stdfix-avrlibc.h>.
11389 2015-02-24 Jakub Jelinek <jakub@redhat.com>
11391 PR tree-optimization/65170
11392 * wide-int.cc (wi::mul_internal): For the umul_ppmm optimization,
11393 if val[1] < 0, clear also val[2] and return 3.
11395 2015-02-24 Alan Modra <amodra@gmail.com>
11398 * config/rs6000/rs6000.c (get_memref_parts): Only return true
11399 when *base is a reg. Handle nested plus addresses. Simplify
11402 2015-02-22 Max Filippov <jcmvbkbc@gmail.com>
11404 * config/xtensa/xtensa.h (CONSTANT_ALIGNMENT, DATA_ALIGNMENT):
11405 use natural alignment when optimizing for size.
11407 2015-02-23 Kaz Kojima <kkojima@gcc.gnu.org>
11410 * config/sh/sh.md (movsicc_true+3): Remove peephole.
11411 * config/sh/sh-protos.h (replace_n_hard_rtx): Don't declare.
11412 * config/sh/sh.c (replace_n_hard_rtx): Remove.
11414 2015-02-23 Richard Sandiford <richard.sandiford@arm.com>
11417 * wide-int.cc (wi::from_mpz): Cope with unwrapped values that are
11418 too big for a wide_int. Implement missing wrapping operation.
11420 2015-02-23 Oleg Endo <olegendo@gcc.gnu.org>
11423 * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536
11424 instead of const_int 4294901760.
11426 2015-02-23 Georg-Johann Lay <avr@gjlay.de>
11428 * config/avr/t-avr: Fix typo in comment.
11430 2015-02-21 Richard Sandiford <richard.sandiford@arm.com>
11432 * doc/rtl.texi (fma): Clarify documentation.
11434 2015-02-20 Aldy Hernandez <aldyh@redhat.com>
11437 * gimplify.c (gimplify_expr): Prefer location of TRY_FINALLY_EXPR
11438 over input_location.
11440 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
11442 * tree-streamer-in.c (unpack_ts_decl_common_value_fields,
11443 unpack_ts_type_common_value_fields): If ACCEL_COMPILER,
11444 restrict alignments to absolute_biggest_alignment.
11445 * config/i386/i386.c (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT):
11447 * doc/tm.texi.in (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): Add.
11448 * doc/tm.texi: Regenerate.
11449 * target.def (absolute_biggest_alignment): New DEFHOOKPOD.
11451 2015-02-20 Vladimir Makarov <vmakarov@redhat.com>
11454 * ira-color.c (color_pass): Prevent splitting multi-register pseudos.
11456 2015-02-20 Richard Biener <rguenther@suse.de>
11458 PR tree-optimization/65136
11459 * tree-ssa-propagate.c: Include cfgloop.h.
11460 (replace_phi_args_in): Avoid replacing loop latch edge PHI
11461 arguments with constants.
11463 2015-02-20 Jakub Jelinek <jakub@redhat.com>
11464 Martin Liska <mliska@suse.cz>
11467 * ipa-icf.c (sem_function::merge): If DECL_COMDAT_GROUP (alias->decl),
11468 don't try to create_thunk if stdarg_p. If
11469 !sem_item::target_supports_symbol_aliases_p (), similarly, and try to
11470 redirect_callers if possible.
11471 (sem_item_optimizer::execute): Call unregister_hooks here...
11472 (ipa_icf_driver): ... instead of here.
11474 2015-02-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11476 * config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_<mode>3):
11477 Mark operand 0 as earlyclobber in 2nd alternative.
11478 (1st define_split below *aarch64_lshr_sisd_or_int_<mode>3):
11479 Write negated shift amount into QI lowpart operand 0 and use it
11481 (2nd define_split below *aarch64_lshr_sisd_or_int_<mode>3): Likewise.
11483 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
11485 * cgraph.h (clone_function_name_1): Declare.
11486 * cgraphclones.c (clone_function_name_1): New function.
11487 (clone_function_name): Use it.
11488 * lto-partition.c: Include "stringpool.h".
11489 (must_not_rename, maybe_rewrite_identifier)
11490 (validize_symbol_for_target): New static functions.
11491 (privatize_symbol_name): Use must_not_rename.
11492 (promote_symbol): Call validize_symbol_for_target.
11493 (lto_promote_cross_file_statics): Likewise.
11494 (lto_promote_statics_nonwpa): Likewise.
11496 2015-02-20 Georg-Johann Lay <avr@gjlay.de>
11499 * config/avr/avr.md (pushhi_insn): New insn.
11500 (push<mode>1): Push virtual regs in one chunk using pushhi1_insn.
11502 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
11503 Jakub Jelinek <jakub@redhat.com>
11505 * tree-streamer.c (preload_common_nodes): Don't preload
11506 TI_VA_LIST* for offloading.
11507 * tree-stdarg.c (pass_stdarg::gate): Disable for ACCEL_COMPILER
11510 2015-02-19 John David Anglin <danlgin@gcc.gnu.org>
11512 * config/pa/pa.c (pa_emit_move_sequence): Always force
11513 (const (plus (symbol) (const_int))) to const mem. Put REG_EQUAL
11516 * config/pa/pa.c (pa_reloc_rw_mask): New function.
11517 (TARGET_ASM_RELOC_RW_MASK): Define.
11518 (pa_cannot_force_const_mem): Revert previous change.
11520 2015-02-19 Martin Jambor <mjmabor@suse.cz>
11521 Jan Hubicka <hubicka@ucw.cz>
11524 * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation
11525 across jump functions.
11527 2015-02-19 Uros Bizjak <ubizjak@gmail.com>
11529 * config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols.
11531 2015-02-19 Sandra Loosemore <sandra@codesourcery.com>
11533 * doc/extend.texi (x86 transactional memory intrinsics): Copy-edit.
11535 2015-02-19 Richard Henderson <rth@redhat.com>
11537 PR middle-end/65074
11538 * varasm.c (default_binds_local_p_2): Don't test node->definition;
11539 test DECL_EXTERNAL independent of symtab_node.
11541 2015-02-19 Jakub Jelinek <jakub@redhat.com>
11544 * varpool.c (varpool_node::get_constructor): Return early
11545 if this->lto_file_data is NULL.
11547 2015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
11549 * haifa-sched.c (enum rfs_decision, rfs_str): Remove RFS_DEBUG.
11550 (rank_for_schedule_debug): Update.
11551 (ready_sort): Make static. Move sorting logic to ...
11552 (ready_sort_debug, ready_sort_real): New static functions.
11553 (schedule_block): Sort both debug insns and real insns in preparation
11554 for ready list trimming. Improve debug output.
11555 * sched-int.h (ready_sort): Remove global declaration.
11557 2015-02-18 Trevor Saunders <tsaunders@mozilla.com>
11559 * ipa-icf.c (sem_function::equals_private): Adjust.
11560 (sem_function::bb_dict_test): Take a vec<int> * instead of
11562 * ipa-icf.h (bb_dict_test): Likewise.
11564 2015-02-18 Jakub Jelinek <jakub@redhat.com>
11566 PR gcov-profile/64634
11567 * tree-eh.c (frob_into_branch_around): Fix up typos
11568 in function comment.
11569 (lower_catch): Put eh_seq resulting from EH lowering of
11570 the cleanup sequence after the cleanup rather than before it.
11572 2015-02-18 Tom de Vries <tom@codesourcery.com>
11574 * common.opt (fstdarg-opt): New option.
11575 * tree-stdarg.c (pass_stdarg::gate): Use flag_stdarg_opt.
11576 * doc/invoke.texi (@item Optimization Options): Add -fstdarg-opt.
11577 (@item -fstdarg-opt): New item.
11579 2015-02-18 H.J. Lu <hongjiu.lu@intel.com>
11582 * config/ia64/predicates.md (sdata_symbolic_operand): Return false
11583 for common symbols.
11585 2015-02-18 Jakub Jelinek <jakub@redhat.com>
11587 * config/i386/t-intelmic (mkoffload.o): Remove dependency on
11589 (ALL_HOST_OBJS): Add mkoffload.o.
11590 * config/nvptx/t-nvptx (ALL_HOST_OBJS): Likewise.
11592 2015-02-18 Jan Hubicka <hubicka@ucw.cz>
11594 * ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating.
11595 (compare_virtual_tables): Be smarter about skipping typeinfos;
11596 do sane output on virtual table table mismatch.
11597 (warn_odr): Be ready for forward declarations of enums;
11598 output sane info on base mismatch and virtual table mismatch.
11599 (add_type_duplicate): Fix code choosing prevailing type; do not ICE
11600 when only one type is polymorphic.
11601 (get_odr_type): Fix hashtable corruption.
11602 (dump_odr_type): Dump mangled names.
11604 2015-02-18 Richard Biener <rguenther@suse.de>
11606 PR tree-optimization/65063
11607 * tree-predcom.c (determine_unroll_factor): Return 1 if we
11608 have replaced looparound PHIs.
11610 2015-02-18 Martin Liska <mliska@suse.cz>
11612 * lto-streamer.c (lto_streamer_init): Encapsulate
11613 streamer_check_handled_ts_structures with checking macro.
11615 2015-02-18 Jakub Jelinek <jakub@redhat.com>
11618 * cgraphclones.c (cgraph_node::create_virtual_clone): Only copy
11619 section if !implicit_section.
11620 (cgraph_node::create_version_clone_with_body): Likewise.
11621 * trans-mem.c (ipa_tm_create_version): Likewise.
11623 2015-02-18 Richard Biener <rguenther@suse.de>
11625 PR tree-optimization/62217
11626 * tree-ssa-dom.c (cprop_operand): Avoid propagating copies
11629 2015-02-18 Marek Polacek <polacek@redhat.com>
11632 * ubsan.c (OBJSZ_MAX_OFFSET): Define.
11633 (ubsan_expand_objsize_ifn): Don't emit run-time check if the offset
11634 is in range [-16K, -1]. Don't issue run-time error if
11635 (ptr > ptr + offset).
11637 2015-02-18 Thomas Schwinge <thomas@codesourcery.com>
11639 * doc/install.texi (nvptx-*-none): New section.
11640 * doc/invoke.texi (Nvidia PTX Options): Likewise.
11641 * config/nvptx/nvptx.opt: Update.
11643 * config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs)
11644 (access_check): New functions, copied from
11645 config/i386/intelmic-mkoffload.c.
11646 (main): For non-installed testing, look in all COMPILER_PATHs for
11649 * config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro.
11651 2015-02-18 Andrew Pinski <apinski@cavium.com>
11652 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
11654 * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately):
11655 Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.
11657 2015-02-17 Jan Hubicka <hubicka@ucw.cz>
11659 * ipa-visibility.c (function_and_variable_visibility): Only
11660 check locality if node is not already local.
11661 * ipa-inline.c (want_inline_function_to_all_callers_p): Use
11662 call_for_symbol_and_aliases instead of
11663 call_for_symbol_thunks_and_aliases.
11664 (ipa_inline): Likewise.
11665 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
11666 first walk aliases.
11667 * ipa.c (symbol_table::remove_unreachable_nodes): Use
11668 call_for_symbol_and_aliases.
11669 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
11670 (ipa_propagate_frequency_1): Use it; use opt_for_fn
11671 (ipa_propagate_frequency): Update.
11672 (ipa_profile): Add opt_for_fn gueards.
11674 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
11676 * config/sh/sh.opt (mcbranch-force-delay-slot): New option.
11677 * doc/invoke.texi (SH options): Document it.
11678 * config/sh/sh.c (sh_insn_length_adjustment): Check
11679 TARGET_CBRANCH_FORCE_DELAY_SLOT instead of sh_cpu_attr == CPU_SH2E.
11681 2015-02-17 H.J. Lu <hongjiu.lu@intel.com>
11683 * common.opt (fipa-cp-alignment): New.
11684 * ipa-cp.c (ipcp_store_alignment_results): Check
11685 flag_ipa_cp_alignment.
11686 * opts.c (default_options_table): Enable -fipa-cp-alignment for
11688 (enable_fdo_optimizations): Set x_flag_ipa_cp_alignment.
11689 * doc/invoke.texi: Document -fipa-cp-alignment.
11691 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
11694 * config/sh/sh.md (cbranch define_delay): Set annulled true branch insn
11695 to nil. Adjust comments.
11697 2015-02-17 Jan Hubicka <hubicka@ucw.cz>
11699 * ipa-visibility.c (function_and_variable_visibility): Only
11700 check locality if node is not already local.
11701 * ipa-inline.c (want_inline_function_to_all_callers_p): Use
11702 call_for_symbol_and_aliases instead of
11703 call_for_symbol_thunks_and_aliases.
11704 (ipa_inline): Likewise.
11705 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
11706 first walk aliases.
11707 * ipa.c (symbol_table::remove_unreachable_nodes): Use
11708 call_for_symbol_and_aliases.
11709 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
11710 (ipa_propagate_frequency_1): Use it; use opt_for_fn
11711 (ipa_propagate_frequency): Update.
11712 (ipa_profile): Add opt_for_fn guards.
11714 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
11716 * config/nvptx/mkoffload.c (parse_file): Fix logic error in
11717 skipping of "strange" tokens.
11719 2015-02-17 Jeff Law <law@redhat.com>
11721 * tree-vrp.c (identify_jump_threads): Use last_stmt. Remove
11724 2015-02-17 James Greenhalgh <james.greenhalgh@arm.com>
11726 * haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P
11727 as forcing a HARD_DEP between instructions, thereby
11728 disallowing rewriting to break dependencies.
11730 2015-02-16 Jan Hubicka <hubicka@ucw.cz>
11732 * symtab.c (symtab_node::verify_base): Verify body_removed->!definiton
11733 * lto-cgraph.c (lto_output_varpool_node): Do not keep definition of
11734 variables in boundary that have no inlitalizer encoded and are
11736 * varasm.c (default_binds_local_p_2): External definitions do not
11737 count as definitions here.
11739 2015-02-16 Jeff Law <law@redhat.com>
11741 PR tree-optimization/64823
11742 * tree-vrp.c (identify_jump_threads): Handle blocks with no real
11744 * tree-ssa-threadedge.c (potentially_threadable_block): Allow
11745 threading through blocks with PHIs, but no statements.
11746 (thread_through_normal_block): Distinguish between blocks where
11747 we did not process all the statements and blocks with no statements.
11749 2015-02-16 Jakub Jelinek <jakub@redhat.com>
11750 James Greenhalgh <james.greenhalgh@arm.com>
11753 * cgraphclones.c (cgraph_node::create_virtual_clone): Copy
11754 section if not linkonce. Fix up formatting.
11755 (cgraph_node::create_version_clone_with_body): Copy section.
11756 * trans-mem.c (ipa_tm_create_version): Likewise.
11758 2015-02-16 Richard Biener <rguenther@suse.de>
11760 PR tree-optimization/65077
11761 * tree-ssa-structalias.c (get_constraint_for_1): Handle
11762 IMAGPART_EXPR, REALPART_EXPR and BIT_FIELD_REF.
11763 (find_func_aliases): Allow float values to carry pointers again.
11765 2015-02-16 James Greenhalgh <james.greenhalgh@arm.com>
11767 * doc/install.texi (Specific): Reorder targets list to put
11768 aarch64 in alphabetical order. Add a link to aarch64*-*-*
11771 2015-02-16 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
11772 David Edelsohn <dje.gcc@gmail.com>
11775 * config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage
11776 mapping class to external variable or function reference.
11777 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage
11780 2015-02-16 David Eelsohn <dje.gcc@gmail.com>
11783 * config/rs6000/rs6000.c (rs6000_declare_alias): Only use
11784 ASM_WEAKEN_DECL if defined.
11786 2015-02-16 Richard Biener <rguenther@suse.de>
11789 * varasm.c (default_file_start): For LTO produced units
11790 emit <artificial> as file directive.
11792 2015-02-16 Richard Biener <rguenther@suse.de>
11794 PR tree-optimization/63593
11795 * tree-predcom.c (execute_pred_commoning_chain): Delay removing
11796 stmts and releasing SSA names until...
11797 (execute_pred_commoning): ... after processing all chains.
11799 2015-02-16 Jan Hubicka <hubicka@ucw.cz>
11802 * ipa-comdats.c (ipa_comdats): Do not categorize thunks to
11803 external functions.
11805 2015-02-15 Sandra Loosemore <sandra@codesourcery.com>
11807 * doc/bugreport.texi: Adjust section titles throughout the file
11808 to use "Title Case".
11809 * doc/extend.texi: Likewise.
11810 * doc/gcov.texi: Likewise.
11811 * doc/implement-c.texi: Likewise.
11812 * doc/implement-cxx.texi: Likewise.
11813 * doc/invoke.texi: Likewise.
11814 * doc/objc.texi: Likewise.
11815 * doc/standards.texi: Likewise.
11816 * doc/trouble.texi: Likewise.
11818 2015-02-15 Jan Hubicka <hubicka@ucw.cz>
11820 * cgraph.h (symtab_node::has_aliases_p): Simplify.
11821 (symtab_node::call_for_symbol_and_aliases): Use has_aliases_p
11822 * tree.c (lookup_binfo_at_offset): Make static.
11823 (get_binfo_at_offset): Do not shadow offset; add explanatory
11826 2015-02-15 John David Anglin <danglin@gcc.gnu.org>
11828 * config/pa/pa.c (pa_secondary_reload): Request a secondary reload
11829 for all floading point loads and stores except those using a register
11831 * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand
11834 2015-02-14 Jan Hubicka <hubicka@ucw.cz>
11836 * ipa-inline-analysis.c (growth_data): Add uninlinable field.
11837 (do_estimate_growth_1): Record if any uninlinable edge was seen.
11838 (estimate_growth): Handle uninlinable edges correctly.
11839 (check_callers): New.
11840 (growth_likely_positive): Handle aliases correctly.
11842 2015-02-14 Jan Hubicka <hubicka@ucw.cz>
11844 * ipa-chkp.c: Use iterate_direct_aliases.
11845 * symtab.c (resolution_used_from_other_file_p): Move inline.
11846 (symtab_node::create_reference): Fix formating.
11847 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
11848 (symtab_node::iterate_reference): Move inline.
11849 (symtab_node::iterate_referring): Move inline.
11850 (symtab_node::iterate_direct_aliases): Move inline.
11851 (symtab_node::used_from_object_file_p_worker): Inline into ...
11852 (symtab_node::used_from_object_file_p): ... this one; move inline.
11853 (symtab_node::call_for_symbol_and_aliases): Move inline;
11854 use iterate_direct_aliases.
11855 (symtab_node::call_for_symbol_and_aliases_1): New method.
11856 (cgraph_node::call_for_symbol_and_aliases): Move inline;
11857 use iterate_direct_aliases.
11858 (cgraph_node::call_for_symbol_and_aliases_1): New method.
11859 (varpool_node::call_for_node_and_aliases): Rename to ...
11860 (varpool_node::call_for_symbol_and_aliases): ... this one; Move inline;
11861 use iterate_direct_aliases.
11862 (varpool_node::call_for_symbol_and_aliases_1): New method.
11863 * ipa.c (ipa_single_use): Use iterate_direct_aliases.
11864 (ipa_discover_readonly_nonaddressable_var): Update.
11865 * ipa-devirt.c: Fix formating.
11866 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p):
11868 (cgraph_node::call_for_symbol_and_aliases): Move inline.
11869 (cgraph_node::call_for_symbol_and_aliases_1): New function..
11870 * cgraph.h (used_from_object_file_p_worker): Remove.
11871 (resolution_used_from_other_file_p): Move inline.
11872 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
11873 (symtab_node::iterate_reference): Move inline.
11874 (symtab_node::iterate_referring): Move inline.
11875 (symtab_node::iterate_direct_aliases): Move inline.
11876 (symtab_node::used_from_object_file_p_worker): Inline into ...
11877 (symtab_node::used_from_object_file_p): Move inline.
11878 * tree-emutls.c (ipa_lower_emutls): Update.
11879 * varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method.
11880 (varpool_node::call_for_node_and_aliases): Remove.
11882 2015-02-14 Jakub Jelinek <jakub@redhat.com>
11884 PR tree-optimization/62209
11885 * tree-ssa-reassoc.c (update_range_test): If stmt is a PHI and
11886 op == range->exp, insert seq and gimplified code after labels
11887 instead of after the phi.
11889 2015-02-13 Jeff Law <law@redhat.com>
11892 Revert my change for tree-optimization/64823.
11894 2015-02-13 Jakub Jelinek <jakub@redhat.com>
11896 PR tree-optimization/65053
11897 * tree-ssa-phiopt.c (value_replacement): When moving assign before
11898 cond, either reset VR on lhs or set it to phi result VR.
11900 2015-02-13 Jeff Law <law@redhat.com>
11902 PR tree-optimization/64823
11903 * tree-vrp.c (identify_jump_threads): Handle blocks with no statements.
11904 * tree-ssa-threadedge.c (potentially_threadable_block): Allow
11905 threading through blocks with PHIs, but no statements.
11906 (thread_through_normal_block): Distinguish between blocks where
11907 we did not process all the statements and blocks with no statements.
11909 PR rtl-optimization/47477
11910 * match.pd (convert (plus/minus (convert @0) (convert @1): New
11911 simplifier to narrow arithmetic.
11913 2015-02-13 Jan Hubicka <hubicka@ucw.cz>
11916 * ipa-prop.c (update_indirect_edges_after_inlining): Do not drop
11917 polymorphic call info when type is not known to be preserved.
11919 2015-02-13 Maritn Jambor <mjambor@suse.cz>
11922 * ipa-inline-transform.c (mark_all_inlined_calls_cdtor): New function.
11923 (inline_call): Use it.
11925 2015-02-13 Thomas Schwinge <thomas@codesourcery.com>
11927 * config/nvptx/offload.h (ACCEL_COMPILER_acc_device): Define to
11928 GOMP_DEVICE_NVIDIA_PTX.
11930 2015-02-13 Jakub Jelinek <jakub@redhat.com>
11933 * stmt.c (emit_case_nodes): Use void_type_node instead of
11934 NULL_TREE as LABEL_DECL type.
11936 2015-02-13 John David Anglin <danglin@gcc.gnu.org>
11938 * config/pa/constraints.md: Change "Q" and "T" constraints to memory
11940 * config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant
11941 symbolic references to data to be forced to constant memory on the
11944 2015-02-13 Ilya Enkovich <ilya.enkovich@intel.com>
11946 PR tree-optimization/65002
11947 * tree-cfg.c (pass_data_fixup_cfg): Don't update
11949 * tree-sra.c (some_callers_have_no_vuse_p): New.
11950 (ipa_early_sra): Reject functions whose callers
11951 assume function is read only.
11953 2015-02-13 Richard Biener <rguenther@suse.de>
11956 * dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name
11957 for LTO produced CUs.
11959 2015-02-13 Bin Cheng <bin.cheng@arm.com>
11961 PR tree-optimization/64705
11962 * tree-ssa-loop-niter.h (expand_simple_operations): New parameter.
11963 * tree-ssa-loop-niter.c (expand_simple_operations): New parameter.
11964 * tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New.
11965 (find_bivs, find_givs_in_stmt_scev): Pass new argument to
11966 expand_simple_operations.
11968 2015-02-13 H.J. Lu <hongjiu.lu@intel.com>
11969 Richard Henderson <rth@redhat.com>
11972 * cgraphunit.c (cgraph_node::finalize_function): Set definition
11973 before notice_global_symbol.
11974 (varpool_node::finalize_decl): Likewise.
11975 * varasm.c (default_binds_local_p_2): Rename from
11976 default_binds_local_p_1, add weak_dominate argument. Use direct
11977 returns instead of assigning to local variable. Unify varpool and
11978 cgraph paths via symtab_node. Reject undef weak variables before
11979 testing visibility. Reorder tests for simplicity.
11980 (default_binds_local_p): Use default_binds_local_p_2.
11981 (default_binds_local_p_1): Likewise.
11982 (decl_binds_to_current_def_p): Unify varpool and cgraph paths
11984 (default_elf_asm_output_external): Emit visibility when specified.
11986 2015-02-13 Alan Modra <amodra@gmail.com>
11988 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in
11989 code setting up r11 for out-of-line fp restore.
11991 2015-02-13 Eric Botcazou <ebotcazou@adacore.com>
11993 * config/visium/visium.opt (msv-mode): Add RejectNegative and Report.
11994 (muser-mode): Likewise.
11996 2015-02-13 Alan Modra <amodra@gmail.com>
11998 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry
11999 or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.
12001 2015-02-12 David Howells <dhowells@redhat.com>
12003 * tree-sra.c (dump_dereferences_table): Avoid -Wformat-security
12005 * tree-ssa-uninit.c (dump_predicates): Likewise.
12006 * opts.c (print_filtered_help): Likewise.
12008 2015-02-12 Jakub Jelinek <jakub@redhat.com>
12010 * dwarf2out.c (output_die): Use "%s", name instead of name to
12011 avoid -Wformat-security warning.
12013 * dwarf2asm.c (dw2_asm_output_vms_delta): Only define
12014 if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
12015 * dwarf2out.c (output_die): Use dw2_asm_output_vms_delta
12016 only if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
12018 2015-02-12 Jason Merrill <jason@redhat.com>
12020 * common.opt (-flifetime-dse): New.
12022 2015-02-12 Jakub Jelinek <jakub@redhat.com>
12025 * ubsan.c (ubsan_expand_objsize_ifn): Always return true.
12027 PR tree-optimization/65014
12028 * fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR,
12029 use original second operand of arg0 or arg1 instead of
12030 that adjusted by STRIP_NOPS.
12032 2015-02-11 Jeff Law <law@redhat.com>
12035 * haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn
12036 that needs to be queued, just queue it for a single cycle.
12038 2015-02-11 Jan Hubicka <hubicka@ucw.cz>
12040 * ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing
12041 bodies of thunks; comment on why.
12042 * symtab.c (symtab_node::get_partitioning_class): Aliases of extern
12043 symbols are extern.
12045 2015-02-11 Richard Henderson <rth@redhat.com>
12048 * tree-eh.c (mark_reachable_handlers): Mark source and destination
12049 regions of __builtin_eh_copy_values.
12051 2015-02-11 Jakub Jelinek <jakub@redhat.com>
12053 PR middle-end/65003
12054 * varasm.c (place_block_symbol): Assert that DECL_RTL of the
12055 ultimate alias is MEM with SYMBOL_REF satisfying
12056 SYMBOL_REF_HAS_BLOCK_INFO_P as its operand. Don't pass the MEM
12057 to place_block_symbol, but instead pass the SYMBOL_REF operand of it.
12059 2015-02-11 Thomas Schwinge <thomas@codesourcery.com>
12061 * config/nvptx/mkoffload.c: Include "diagnostic.h" instead of
12062 "diagnostic-core.h".
12063 (main): Initialize progname, and call diagnostic_initialize.
12065 * config/nvptx/mkoffload.c (process): Refer to __OFFLOAD_TABLE__
12066 instead of __OPENMP_TARGET__.
12068 * config/nvptx/mkoffload.c: Include "gomp-constants.h".
12069 (process): Use its GOMP_DEVICE_NVIDIA_PTX instead of (wrongly)
12070 hard-coding PTX_ID.
12072 2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
12074 * doc/sourcebuild.texi (pie_enabled): Document.
12076 2015-02-11 Martin Liska <mliska@suse.cz>
12079 * cgraphunit.c (cgraph_node::expand_thunk): Do not create
12080 a return value for call to a function that is noreturn.
12082 2015-02-11 Richard Biener <rguenther@suse.de>
12085 * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list
12088 2015-02-11 Andrew Pinski <apinski@cavium.com>
12091 * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
12092 Change the first argument type to size_type_node and add another
12094 (aarch64_simd_expand_builtin): Handle the new argument to
12095 AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather
12096 print an out when the first two arguments are not
12097 nonzero integer constants.
12098 * config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK):
12099 Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi.
12101 2015-02-11 Jakub Jelinek <jakub@redhat.com>
12104 * config/i386/i386.c (ix86_reset_to_default_globals): Removed.
12105 (ix86_reset_previous_fndecl): Restore it here, unconditionally.
12106 (ix86_set_current_function): Rewritten.
12107 (ix86_add_new_builtins): Temporarily clear current_target_pragma
12108 when creating builtin fndecls.
12110 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
12113 * ipa-visibility.c (cgraph_node::non_local_p): Turn into static
12115 * symtab.c (symtab_node::verify_base): Remove check that non-definitions
12116 have no comdat group.
12117 * lto-cgraph.c (lto_output_node): Always output thunk and alias info.
12118 (lto_output_varpool_node): Always output alias info.
12119 (output_refs): Output refs of boundary aliases, too.
12120 (compute_ltrans_boundary): Add alias and thunk target into boundaries.
12121 (output_symtab): Output call eges in thunks in boundary.
12122 (get_alias_symbol): Remove.
12123 (input_node, input_varpool_node): Do not special case weakrefs.
12124 * ipa.c (symbol_table::remove_unreachable_nodes): Do not remove
12125 alias and thunks targets in the boundary; do not take removed symbols
12126 from their comdat groups.
12127 * cgraph.c (cgraph_node::local_info): Look through aliases and thunks.
12128 (cgraph_node::global_info): Remove.
12129 (cgraph_node::rtl_info): Look through aliases and thunks.
12130 * cgrpah.h (global_info): Remove.
12131 (non_local_p): Remove.
12133 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
12134 Sandra Loosemore <sandra@codesourcery.com>
12136 * doc/invoke.texi (x86 Options [-masm=dialect]): Add cross-references
12137 to inline asm. List dialects in proper order.
12139 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
12140 Sandra Loosemore <sandra@codesourcery.com>
12142 * doc/extend.texi (Loop-Specific Pragmas): Fix grammar error.
12144 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
12146 * doc/extend.texi (Symbol-Renaming Pragmas): Restore (slightly
12147 modified) reference to Solaris.
12149 2015-02-10 Sandra Loosemore <sandra@codesourcery.com>
12151 * doc/extend.texi (Extended Asm): Fix typos.
12153 2015-02-10 Jakub Jelinek <jakub@redhat.com>
12156 * ubsan.c (ubsan_expand_vptr_ifn): Always return true.
12158 2015-02-10 Oleg Endo <olegendo@gcc.gnu.org>
12161 * config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
12162 TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
12163 TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses.
12164 * config/sh/constraints.md (Ara, Add): New constraints.
12165 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New
12167 (atomic_compare_and_swap<mode>, atomic_exchange<mode>): Use
12168 atomic_mem_operand_0. Don't use force_reg on the memory address.
12169 (atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and
12170 Sra constraint. Convert to insn_and_split. Add workaround for
12172 (atomic_compare_and_swap<mode>_hard): Copy to
12173 atomic_compare_and_swap<mode>_hard_1. Convert to insn_and_split.
12174 Use atomic_mem_operand_0 predicate.
12175 (atomic_compare_and_swap<mode>_soft_gusa,
12176 atomic_exchange<mode>_soft_gusa): Use atomic_mem_operand_0 predicate and
12177 AraAdd constraints.
12178 (atomic_compare_and_swap<mode>_soft_tcb,
12179 atomic_compare_and_swap<mode>_soft_imask,
12180 atomic_exchange<mode>_soft_tcb, atomic_exchange<mode>_soft_imask): Use
12181 atomic_mem_operand_0 predicate and SraSdd constraints.
12182 (atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra
12184 (atomic_exchange<mode>_hard): Copy to atomic_exchange<mode>_hard_1.
12185 Convert to insn_and_split. Use atomic_mem_operand_0 predicate.
12186 (atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>,
12187 atomic_<fetchop_name>_fetch<mode>): Use atomic_mem_operand_1. Don't use
12188 force_reg on the memory address.
12189 (atomic_fetch_<fetchop_name>si_hard, atomic_fetch_notsi_hard,
12190 atomic_fetch_nandsi_hard, atomic_<fetchop_name>_fetchsi_hard,
12191 atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use
12192 atomic_mem_operand_1 predicate and Sra constraint.
12193 (atomic_fetch_<fetchop_name><mode>_hard): Copy to
12194 atomic_fetch_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
12195 Use atomic_mem_operand_1 predicate.
12196 (atomic_<fetchop_name><mode>_hard): Copy to
12197 atomic_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
12198 Use atomic_mem_operand_1 predicate.
12199 (atomic_fetch_nand<mode>_hard): Copy to atomic_fetch_nand<mode>_hard_1.
12200 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
12201 (atomic_nand<mode>_hard): Copy to atomic_nand<mode>_hard_1. Convert to
12202 insn_and_split. Use atomic_mem_operand_1 predicate.
12203 (atomic_<fetchop_name>_fetch<mode>_hard): Copy to
12204 atomic_<fetchop_name>_fetch<mode>_hard_1. Convert to insn_and_split.
12205 Use atomic_mem_operand_1 predicate.
12206 (atomic_nand_fetch<mode>_hard): Copy to atomic_nand_fetch<mode>_hard_1.
12207 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
12208 (atomic_fetch_not<mode>_hard, atomic_not_fetch<mode>_hard): Replace mems
12209 in generated insn with original mem operand before emitting the insn.
12210 (atomic_fetch_<fetchop_name><mode>_soft_gusa,
12211 atomic_fetch_not<mode>_soft_gusa, atomic_fetch_nand<mode>_soft_gusa,
12212 atomic_<fetchop_name>_fetch<mode>_soft_gusa,
12213 atomic_not_fetch<mode>_soft_gusa, atomic_nand_fetch<mode>_soft_gusa):
12214 Use atomic_mem_operand_1 predicate and AraAdd constraints.
12215 (atomic_fetch_<fetchop_name><mode>_soft_tcb,
12216 atomic_<fetchop_name><mode>_soft_tcb, atomic_fetch_not<mode>_soft_tcb,
12217 atomic_not<mode>_soft_tcb, atomic_fetch_<fetchop_name><mode>_soft_imask,
12218 atomic_fetch_not<mode>_soft_imask, atomic_fetch_nand<mode>_soft_tcb,
12219 atomic_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask,
12220 atomic_<fetchop_name>_fetch<mode>_soft_tcb,
12221 atomic_not_fetch<mode>_soft_tcb,
12222 atomic_<fetchop_name>_fetch<mode>_soft_imask,
12223 atomic_not_fetch<mode>_soft_imask, atomic_nand_fetch<mode>,
12224 atomic_nand_fetch<mode>_soft_tcb, atomic_nand_fetch<mode>_soft_imask):
12225 Use atomic_mem_operand_1 predicate and SraSdd constraints.
12227 2015-02-10 Uros Bizjak <ubizjak@gmail.com>
12229 * config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2
12230 and 3 earlyclobber operands.
12232 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
12234 * common.opt (fstack-reuse): Mark as optimization.
12236 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
12239 * cgraphunit.c (cgraph_node::expand_thunk): Look for stdarg thunks.
12241 2015-02-10 Trevor Saunders <tsaunders@mozilla.com>
12243 PR tree-optimization/64326
12244 * cfghooks.c (make_forwarder_block): Cap frequency of created block.
12246 2015-02-10 Rainer Emrich <rainer@emrich-ebersheim.de>
12248 PR gcov-profile/61889
12249 * gcov-tool.c: Remove wrong #if !defined(_WIN32)
12251 2015-02-10 Richard Biener <rguenther@suse.de>
12253 PR tree-optimization/64995
12254 * tree-ssa-sccvn.c (set_ssa_val_to): Assert that the
12255 value we use is final.
12256 (visit_reference_op_store): Always valueize op.
12257 (visit_use): Properly valueize vuses.
12259 2015-02-10 Richard Biener <rguenther@suse.de>
12261 PR tree-optimization/64909
12262 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly
12263 pass a scalar-stmt count estimate to the cost model.
12264 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
12266 2015-02-10 Alexander Monakov <amonakov@ispras.ru>
12268 * doc/invoke.texi (-fvar-tracking-assignments): Clarify that VTA is
12269 enabled by default together with var-tracking.
12271 2015-02-10 Nick Clifton <nickc@redhat.com>
12273 * config/rl78/rl78.c: Remove DIV attribute code accidentally
12274 included in previous rl78 commit.
12276 2015-02-10 Richard Biener <rguenther@suse.de>
12278 * tree-streamer.h (streamer_read_tree_bitfields): Adjust.
12279 * tree-streamer-in.c (streamer_read_tree_bitfields): Do not
12280 return the bitpack.
12282 2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
12284 PR gcov-profile/61889
12285 * config.in: regenerate.
12286 * configure.in: Likewise.
12287 * configure.ac: Check for ftw.h.
12288 * gcov-tool.c: Check for ftw.h before using nftw.
12290 2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
12293 * ipa-visibility.c (update_visibility_by_resolution_info): Only
12294 assert when not in lto mode.
12296 2015-02-09 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
12298 * ira-color.c (setup_left_conflict_sizes_p): Simplify
12299 initialization/assignment of conflict_size.
12301 2015-02-09 Jan Hubicka <hubicka@ucw.cz>
12304 * ipa-cp.c (gather_caller_stats): Skip thunks.
12305 (propagate_constants_topo): Skip aliases.
12307 2015-02-09 Kaz Kojima <kkojima@gcc.gnu.org>
12310 * config/sh/sh.c (sh_option_override): Don't change
12311 -freorder-blocks-and-partition to -freorder-blocks even when
12312 unwinding is enabled.
12313 (sh_can_follow_jump): Return false if the followee jump is
12314 a crossing jump when -freorder-blocks-and-partition is specified.
12315 * config/sh/sh.md (*jump_compact_crossing): New insn.
12317 2015-02-09 Joern Rennecke <joern.rennecke@embecosm.com>
12318 Kaz Kojima <kkojima@gcc.gnu.org>
12321 * config/sh/sh-protos.h (sh_can_redirect_branch): Don't declare.
12322 * config/sh/sh.c (TARGET_CAN_FOLLOW_JUMP): Redefine.
12323 (sh_can_redirect_branch): Rename to ...
12324 (sh_can_follow_jump): ... this. Constify argument types.
12325 * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): Don't define.
12326 * doc/tm.texi.in (MD_CAN_REDIRECT_BRANCH): Remove documentation.
12327 * reorg.c (steal_delay_list_from_target): Use targetm.can_follow_jump.
12328 * doc/tm.texi: Regenerate.
12330 2015-02-09 Jakub Jelinek <jakub@redhat.com>
12333 * builtins.c (expand_builtin): Call targetm.expand_builtin
12334 for BUILT_IN_MD builtins regardless of asan_intercepted_p.
12336 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
12339 * tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS.
12341 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
12344 * ipa-icf.c (set_local): New function.
12345 (sem_function::merge): Use it.
12347 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
12349 * ipa-devirt.c (odr_types_equivalent_p): Fix formating.
12350 (add_type_duplicate): Fix comparison of BINFOs.
12352 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
12354 * ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE
12355 on getting VOID pointer.
12357 2015-02-09 Jakub Jelinek <jakub@redhat.com>
12360 * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for
12363 2015-02-09 Richard Biener <rguenther@suse.de>
12365 * genmatch.c (replace_id): Copy expr_type.
12367 2015-02-09 Richard Biener <rguenther@suse.de>
12369 * tree-streamer.h (streamer_pack_tree_bitfields): Remove.
12370 (streamer_write_tree_bitfields): Declare.
12371 * tree-streamer-in.c (unpack_ts_base_value_fields): Inline,
12372 properly unpack padding.
12373 (unpack_value_fields): Inline ...
12374 (streamer_read_tree_bitfields): ... here.
12375 * tree-streamer-out.c (pack_ts_base_value_fields): Inline
12376 and properly add padding bits.
12377 (streamer_pack_tree_bitfields): Fold into ...
12378 (streamer_write_tree_bitfields): ... this new function,
12379 exposing the bitpack object.
12380 * lto-streamer-out.c (lto_write_tree_1): Call
12381 streamer_write_tree_bitfields.
12383 2015-02-09 Richard Biener <rguenther@suse.de>
12385 PR tree-optimization/54000
12386 * tree-ssa-looo-ivopts.c: Include tree-vectorizer.h.
12387 (struct ivopts_data): Add loop_loc member.
12388 (tree_ssa_iv_optimize_loop): Dump loop location.
12389 (create_new_ivs): Likewise, also dump number of IVs generated.
12391 2015-02-09 Martin Liska <mliska@suse.cz>
12393 * ipa-icf.c (sem_item_optimizer::register_hooks): Register hooks
12394 just if not yet registered.
12395 (ipa_icf_generate_summary): Register callgraph hooks.
12397 2015-02-08 Andrew Pinski <apinski@cavium.com>
12399 * config/aarch64/aarch64.c (gty_dummy): Delete.
12401 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
12404 * ipa-visibility.c (cgraph_node::non_local_p): Accept aliases.
12405 (cgraph_node::local_p): Remove thunk related FIXME.
12407 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
12410 * i386.c (ix86_function_regparm): Look through aliases to see if callee
12411 is local and optimized.
12412 (ix86_function_sseregparm): Likewise; also use target's SSE math
12413 settings; error out instead of silently generating wrong code
12415 (init_cumulative_args): Look through aliases.
12417 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
12420 * ipa-split.c (execute_split_functions): Split if function has aliases.
12422 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
12425 * cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is
12426 aliases before trying to expand it.
12427 (cgraph_node::expand_thunk): Fix formating.
12429 2015-02-07 Sandra Loosemore <sandra@codesourcery.com>
12431 * doc/extend.texi (Function Attributes [naked]): Copy-edit.
12432 (Using Assembly Language with C): Expand introduction.
12433 (Basic Asm): Copy-edit. Add more information about uses of
12435 (Extended Asm): Copy-edit. Document new escape syntax and
12437 (Global Reg Vars): Copy-edit.
12438 (Local Reg Vars): Likewise.
12440 2015-02-06 David Edelsohn <dje.gcc@gmail.com>
12444 * xcoffout.h (DBX_CONTIN_LENGTH): Define as 16384.
12445 (DBX_CONTIN_CHAR): Define.
12447 2015-02-06 Sebastian Pop <s.pop@samsung.com>
12448 Brian Rzycki <b.rzycki@samsung.com>
12450 PR tree-optimization/64878
12451 * tree-ssa-threadedge.c: Include tree-ssa-loop.h.
12452 (fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi.
12453 Stop recursion at loop phi nodes after having visited a loop phi node.
12455 2015-02-06 Jakub Jelinek <jakub@redhat.com>
12457 * toplev.c (process_options): Change flag_ipa_ra before creating
12458 optimization_{default,current}_node.
12461 * cgraphunit.c (cgraph_node::expand_thunk): If
12462 restype is not is_gimple_reg_type nor the thunk_fndecl
12463 returns aggregate_value_p, set restmp to a temporary variable
12464 instead of resdecl.
12466 2015-02-06 Vladimir Makarov <vmakarov@redhat.com>
12468 * lra.c (lra_emit_add): Fix a typo in using disp instead of base.
12470 2015-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
12473 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
12474 add a general secondary reload handler for SDmode, unless we have
12475 both read/write support for SDmode.
12477 2015-02-06 Jakub Jelinek <jakub@redhat.com>
12479 PR middle-end/64937
12480 * dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags):
12481 Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT
12482 or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't
12483 1 before, push it to abstract_vec.
12484 (dwarf2out_abstract_function): Adjust caller. Don't call
12485 set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or
12486 DECL_ABSTRACT_P flags for all abstract_vec elts.
12488 2015-02-06 Renlin Li <renlin.li@arm.com>
12490 * tree-ssa-forwprop.c (execute): Keep location info while rewrite
12492 * tree-ssa.c (execute_update_addresses_taken): Likewise.
12494 2015-02-06 Jeff Law <law@redhat.com>
12497 * config/h8300/h8300.c (push): New argument "in_prologue".
12498 Pass "in_prologue" along to "F".
12499 (h8300_push_pop): Corresponding changes.
12500 (h8300_expand_prologue): Likewise.
12501 (h8300_swap_into_er6): Likewise. Do not set RTX_FRAME_RELATED_P.
12503 2015-02-06 Jakub Jelinek <jakub@redhat.com>
12505 PR rtl-optimization/64957
12507 * simplify-rtx.c (simplify_binary_operation_1): Use ~cval for
12508 IOR rather than for AND.
12510 2015-02-06 Eric Botcazou <ebotcazou@adacore.com>
12513 * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs
12514 of shift-add and (add + shift) operations. Rename local variable.
12516 2015-02-05 Jeff Law <law@redhat.com>
12519 * config/h8300/constraints.md (U): Correctly dectect
12520 "eightbit_data" memory addresses.
12521 * config/h8300/h8300.c (eightbit_constant_address_p): Also
12522 handle (const (plus (symbol_ref (x)))) where x is declared
12523 as an 8-bit data memory address.
12524 * config/h8300/h8300.md (call, call_value): Correctly detect
12525 "funcvec" functions.
12528 * config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by
12529 24 to 28 bits for the H8/300.
12531 2015-02-06 Alan Modra <amodra@gmail.com>
12534 * config/rs6000/rs6000.c (chain_already_loaded): New function.
12535 (rs6000_call_aix): Use it.
12537 2015-02-05 Jan Hubicka <hubicka@ucw.cz>
12539 * ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds
12542 2015-02-05 Joern Rennecke <joern.rennecke@embecosm.com>
12544 * config/h8300/constraints.md ("U" constraint): Use strict
12545 variant of REG_OK_FOR_BASE_P after reload has started.
12547 2015-02-04 Mantas Mikaitis <mantas.mikaitis@arm.com>
12549 * config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition,
12550 define to zero if !TARGET_NEON.
12551 (TARGET_ARM_FP): Added !TARGET_SOFT_FLOAT into conditional definition.
12553 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
12554 Trevor Saunders <tsaunders@mozilla.com>
12557 * tree-emultls.c (new_emutls_decl): Resolve alias after creating it.
12559 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
12562 * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue
12563 when removing varpool nodes.
12565 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
12568 * varpool.c (varpool_node::remove): Fix order of variables.
12570 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
12573 * ipa-inline.c (inline_small_functions): Fix ordering issue between
12574 speculation resolution and key updates.
12576 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
12578 * ipa-prop.c (update_indirect_edges_after_inlining): By more careful
12579 about not letting any speculative edges unupdated.
12581 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
12584 * gcov-io.c (gcov_var): Export.
12586 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
12588 PR middle-end/64922
12589 * ipa-prop.c (update_indirect_edges_after_inlining): Correctly update
12590 edges that become speculative.
12592 2015-02-04 Jakub Jelinek <jakub@redhat.com>
12594 * dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03
12595 or DW_LANG_Fortran08.
12596 (lower_bound_default): Return 1 for DW_LANG_Fortran03 or
12598 (gen_compile_unit_die): Handle "GNU Fortran2003" and
12599 "GNU Fortran2008" language strings.
12600 * dbxout.c (get_lang_number): Use lang_GNU_Fortran.
12601 * langhooks.h (lang_GNU_Fortran): New prototype.
12602 * langhooks.c (lang_GNU_Fortran): New function.
12603 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
12606 2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
12608 * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error.
12609 (RTX_OK_FOR_OLO10_P): Likewise.
12611 2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
12613 * tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset.
12615 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
12617 PR middle-end/64922
12618 * gimple.c: Include gimple-ssa.h.
12619 (maybe_remove_unused_call_args): New function.
12620 * gimple.h (maybe_remove_unused_call_args): Declare.
12621 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it.
12622 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
12623 * gimple-fold.c (gimple_fold_call): Likewise.
12625 2015-02-04 H.J. Lu <hongjiu.lu@intel.com>
12627 PR rtl-optimization/64905
12628 * lra-eliminations.c (setup_can_eliminate): Clear hard frame
12629 pointer alignment if it isn't needed.
12631 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
12633 * config/aarch64/aarch64-cores.def: Add cortex-a72 and
12634 cortex-a72.cortex-a53.
12635 * config/aarch64/aarch64-tune.md: Regenerate.
12636 * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72".
12638 2015-02-04 Nick Clifton <nickc@redhat.com>
12640 * config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs
12643 2015-02-04 Jakub Jelinek <jakub@redhat.com>
12645 * builtins.def (DEF_BUILTIN_CHKP): Define if not defined.
12646 (DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine.
12647 (DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead
12649 (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT,
12650 BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use
12651 DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN.
12652 (BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK,
12653 BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK,
12654 BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use
12655 DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN.
12656 * tree-core.h (enum built_in_function): In between
12657 BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values
12658 for builtins that use DEF_BUILTIN_CHKP macro.
12660 2015-02-04 Alexandre Oliva <aoliva@redhat.com>
12663 * cfgexpand.c (expand_debug_expr): Compute unsignedp from
12664 operands for tcc_comparison exprs. Fix typos.
12667 * simplify-rtx.c (simplify_binary_operation_1): Simplify one
12668 of two XORs that have an intervening AND or IOR.
12671 * simplify-rtx.c (simplify_binary_operation_1): Rewrite
12672 simplification of XOR of AND to not allocate new rtx before
12673 committing to a simplification.
12675 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12677 * config/aarch64/aarch64-ldpstp.md: Use std::swap instead of
12678 manual swaps in all peepholes.
12680 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12682 * config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead
12683 of manual swapping implementation.
12684 (aarch64_expand_vec_perm_const_1): Likewise.
12686 2015-02-04 James Greenhalgh <james.greenhalgh@arm.com>
12688 * config/aarch64/aarch64.c (NAMED_PARAM): Delete it.
12689 (generic_addrcost_table): Remove NAMED_PARAM.
12690 (cortexa57_addrcost_table): Likewise.
12691 (xgene1_addrcost_table): Likewise.
12692 (generic_regmove_table): Likewise.
12693 (cortexa53_regmove_table): Likewise.
12694 (xgene1_regmove_table): Likewise.
12695 (generic_vector_table): Likewise.
12696 (cortexa57_vector_table): Likewise.
12697 (xgene1_vector_table): Likewise.
12698 (generic_tunings): Likewise.
12699 (cortexa53_tunings): Likewise.
12700 (cortexa57_tunings): Likewise.
12701 (xgene1_tunings): Likewise.
12703 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
12705 * config/arm/arm-cores.def: Add cortex-a72 and
12706 cortex-a72.cortex-a53.
12707 * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise.
12708 * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
12709 * config/arm/arm-tune.md: Regenerate.
12710 * config/arm/arm-tables.opt: Add entries for "cortex-a72" and
12711 "cortex-a72.cortex-a53".
12712 * doc/invoke.texi (ARM Options/-mtune): Likewise.
12714 2015-02-04 Nick Clifton <nickc@redhat.com>
12717 * config/fr30/predicates.md (di_operand): Add SUBREG to the list
12719 (nonimmediate_di_operand): Likewise.
12721 * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more
12722 prefixes of known F5 using MSP430 MCUs.
12724 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12726 * config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF.
12727 * config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf
12728 instead of __builtin_sqrt.
12730 2015-02-04 Ilya Enkovich <ilya.enkovich@intel.com>
12732 * varasm.c (do_assemble_alias): Follow transparent alias
12734 (default_assemble_visibility): Follow transparent alias
12735 chain for decl name.
12737 2015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
12739 PR middle-end/62103
12740 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION
12741 to compute size of referenced value in the constant case.
12743 2015-02-03 Jakub Jelinek <jakub@redhat.com>
12745 PR rtl-optimization/64756
12746 * cse.c (invalidate_dest): New function.
12747 (cse_insn): Use it. If dest != SET_DEST (sets[i].rtl) and
12748 HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record,
12749 invalidate and do not record it.
12751 2015-02-03 Oleg Endo <olegendo@gcc.gnu.org>
12754 * config/sh/sync.md (atomic_<fetchop_name><mode>_hard,
12755 atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb,
12756 atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard,
12757 atomic_nand<mode>_soft_tcb): New insns.
12758 (atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split.
12759 Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused.
12760 (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split.
12761 Split into atomic_not_fetchsi_hard if operands[0] is unused.
12762 (atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split.
12763 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
12764 (atomic_fetch_not<mode>_hard): Convert to insn_and_split. Split into
12765 atomic_not<mode>_hard if operands[0] is unused.
12766 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to
12767 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa
12768 if operands[0] is unused.
12769 (atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split. Split
12770 into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused.
12771 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split.
12772 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
12774 (atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split. Split
12775 into atomic_not<mode>_soft_tcb if operands[0] is unused.
12776 (atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to
12777 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_imask
12778 if operands[0] is unused.
12779 (atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split. Split
12780 into atomic_not_fetch<mode>_soft_imask is operands[0] is unused.
12781 (atomic_fetch_nandsi_hard): Convert to insn_and_split. Split into
12782 atomic_nand_fetchsi_hard if operands[0] is unused.
12783 (atomic_fetch_nand<mode>_hard): Convert to insn_and_split. Split into
12784 atomic_nand<mode>_hard if operands[0] is unused.
12785 (atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split. Split
12786 into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused.
12787 (atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split. Split
12788 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
12789 (atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split. Split
12790 into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused.
12791 (atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split.
12792 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
12793 (atomic_not_fetch<mode>_hard): Convert to insn_and_split. Split into
12794 atomic_not<mode>_hard if operands[0] is unused.
12795 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split.
12796 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
12798 (atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
12799 into atomic_not<mode>_soft_tcb if operands[0] is unused.
12800 (atomic_nand_fetch<mode>_hard): Convert to insn_and_split. Split into
12801 atomic_nand<mode>_hard if operands[0] is unused.
12802 (atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
12803 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
12805 2015-02-03 David Malcolm <dmalcolm@redhat.com>
12808 * Makefile.in (GCC_OBJS): Add gcc-main.o.
12809 * gcc-main.c: New file, containing "main" taken from gcc.c.
12810 * gcc.c (do_self_spec): Free decoded_options.
12811 (class driver): Move declaration to gcc.h.
12812 (main): Move declaration and implementation to new file
12814 (driver_get_configure_time_options): New function.
12815 * gcc.h (class driver): Move this declaration here, from
12817 (driver_get_configure_time_options): New declaration.
12819 2015-02-03 Jan Hubicka <hubicka@ucw.cz>
12821 * ipa-inline-analysis.c (simple_edge_hints): Fix check for
12822 cross-module inlining.
12823 * cgraph.h (cgraph_node): Add flag merged.
12824 * ipa-icf.c (sem_function::merge): Maintain it.
12826 2015-02-03 Richard Sandiford <richard.sandiford@arm.com>
12828 * config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P
12829 instead of OBJECT_P.
12831 2015-02-03 Eric Botcazou <ebotcazou@adacore.com>
12834 * config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS.
12835 (TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL.
12836 * config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on
12837 int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set.
12839 2015-02-03 Jakub Jelinek <jakub@redhat.com>
12842 * combine.c (reg_n_sets_max): New variable.
12843 (can_change_dest_mode, reg_nonzero_bits_for_combine,
12844 reg_num_sign_bit_copies_for_combine, get_last_value_validate,
12845 get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max.
12846 (try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max.
12847 (rest_of_handle_combine): Initialize reg_n_sets_max.
12849 2015-02-02 Jan Hubicka <hubicka@ucw.cz>
12851 * ipa-inline.c (early_inliner): Skip inlining only in always_inlined;
12852 if some always_inline was inlined, apply changes before inlining
12855 2015-02-02 David Malcolm <dmalcolm@redhat.com>
12858 * config/arm/arm.c (arm_option_override): Set
12859 arm_selected_arch/cpu/tune to NULL on entry.
12861 2015-02-02 Tejas Belagod <tejas.belagod@arm.com>
12862 Andrew Pinski <pinskia@gcc.gnu.org>
12863 Jakub Jelinek <jakub@gcc.gnu.org>
12866 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large
12867 integer typing for small model. Use IN_RANGE.
12869 2015-02-02 Richard Biener <rguenther@suse.de>
12871 * tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs.
12872 * tree-vrp.c (vrp_valueize_1): Likewise.
12874 2015-02-02 Alan Modra <amodra@gmail.com>
12876 * config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather
12877 than mem for toc_restore.
12878 * config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define.
12879 (call_indirect_aix, call_value_indirect_aix): Adjust to suit.
12880 (call_indirect_elfv2, call_value_indirect_elfv2): Likewise.
12882 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
12885 * config/rs6000/rs6000.c (rs6000_set_current_function): Handle
12886 explicit default options.
12888 2015-02-01 Jan Hubicka <hubicka@ucw.cz>
12891 * ipa-utils.c (ipa_merge_profiles): Add release argument.
12892 * ipa-icf.c (sem_function::merge): Do not release body when merging.
12893 * ipa-utils.h (ipa_merge_profiles): Update prototype.
12895 2015-02-01 Jakub Jelinek <jakub@redhat.com>
12898 * cfgexpand.c (deep_ter_debug_map): New variable.
12899 (avoid_deep_ter_for_debug): New function.
12900 (expand_debug_expr): If TERed SSA_NAME is in
12901 deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL
12902 instead of trying to expand SSA_NAME's def stmt.
12903 (expand_debug_locations): When expanding debug bind
12904 of a DEBUG_EXPR_DECL to corresponding SSA_NAME,
12905 temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's
12907 (pass_expand::execute): Call avoid_deep_ter_for_debug on
12908 all debug bind stmts. Delete deep_ter_debug_map after
12909 expand_debug_location if non-NULL and clear it.
12911 2015-02-01 Oleg Endo <olegendo@gcc.gnu.org>
12914 * config/sh/sync.md (atomic_fetch_notsi_hard,
12915 atomic_fetch_not<mode>_hard, atomic_fetch_not<mode>_soft_gusa,
12916 atomic_fetch_not<mode>_soft_tcb, atomic_fetch_not<mode>_soft_imask,
12917 atomic_not_fetchsi_hard, atomic_not_fetch<mode>_hard,
12918 atomic_not_fetch<mode>_soft_gusa, atomic_not_fetch<mode>_soft_tcb,
12919 atomic_not_fetch<mode>_soft_imask): New insns.
12921 2015-02-01 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
12923 * haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro.
12924 (rank_for_schedule_debug): Split from ...
12925 (rank_for_schedule): ... this.
12926 (ready_sort): Sort DEBUG_INSNs separately from normal INSNs.
12927 * sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order.
12929 2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
12931 * doc/md.texi (Machine Constraints): Alphabetize table by target.
12932 * doc/extend.texi (x86 Variable Attributes): Move section to
12933 correct alphabetization after renaming.
12934 (x86 Type Attributes): Likewise.
12935 (Target Builtins): Re-alphabetize menu.
12936 (x86 Built-in Functions): Move section to correct alphabetization
12938 (x86 transactional memory intrinsics): Likewise.
12939 * doc/invoke.texi (Option Summary): Re-alphabetize x86 Options
12940 and x86 Windows Options in table and menu.
12941 (x86 Options): Move section to correct alphabetization after
12943 (x86 Windows Options): Likewise.
12945 2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
12947 * doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the
12948 preferred names of the architecture and its 32- and 64-bit
12950 * doc/invoke.texi: Likewise.
12951 * doc/md.texi: Likewise.
12953 2015-01-31 Uros Bizjak <ubizjak@gmail.com>
12956 * config/i386/predicates.md (address_no_seg_operand): Reject
12957 non-CONST_INT_P operands in invalid mode.
12959 2015-01-31 Uros Bizjak <ubizjak@gmail.com>
12961 * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of
12962 address_operand 0. Rename from *prefetch_prefetchwt1_<mode>.
12963 * config/i386/predicates.md (address_no_seg_operand): Call
12964 address_operand with VOIDmode.
12965 (vsib_address_operand): Ditto.
12966 (address_mpx_no_base_operand): Ditto.
12967 (address_mpx_no_index_operand): Ditto.
12969 2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
12972 * lra-constraints.c (original_subreg_reg_mode): New.
12973 (simplify_operand_subreg): Try to simplify subreg of const. Use
12974 original_subreg_reg_mode for it.
12975 (swap_operands): Update original_subreg_reg_mode.
12976 (curr_insn_transform): Set up original_subreg_reg_mode.
12978 2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
12981 * lra-constraints.c (prohibited_class_reg_set_mode_p): New
12983 (process_alt_operands): Use it.
12984 (curr_insn_transform): Check the optional reload pseudo class is
12987 2015-01-30 Joseph Myers <joseph@codesourcery.com>
12989 * diagnostic.c (fatal_error (const char *, ...)): Remove function.
12990 * diagnostic-core.h (fatal_error (const char *, ...)): Remove
12992 * toplev.h (init_asm_output): Update comment on use of
12993 UNKNOWN_LOCATION with fatal_error.
12994 * cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
12995 config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
12996 config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
12997 config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
12998 config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
12999 config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
13000 config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
13001 ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
13002 lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
13003 lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
13004 tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
13005 fatal_error changed to pass input_location as first argument.
13007 2015-01-30 Martin Liska <mliska@suse.cz>
13009 * tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006
13010 in #pragma GCC diagnostic guards.
13012 2015-01-30 Richard Biener <rguenther@suse.de>
13014 PR tree-optimization/64829
13015 * tree-vect-patterns.c (vect_handle_widen_op_by_const): Do
13016 not add a widening conversion pattern but hand off extra
13017 widenings to callers.
13018 (vect_recog_widen_mult_pattern): Handle extra widening produced
13019 by vect_handle_widen_op_by_const.
13020 (vect_recog_widen_shift_pattern): Likewise.
13021 (vect_pattern_recog_1): Remove excess vertical space in dumping.
13022 * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
13023 (vect_init_vector_1): Likewise.
13024 (vect_get_vec_def_for_operand): Likewise.
13025 (vect_finish_stmt_generation): Likewise.
13026 (vectorizable_load): Likewise.
13027 (vect_analyze_stmt): Likewise.
13028 (vect_is_simple_use): Likewise.
13030 2015-01-29 Jeff Law <law@redhat.com>
13032 * combine.c (try_combine): Fix typo in comment.
13034 2015-01-29 Segher Boessenkool <segher@kernel.crashing.org>
13037 * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order.
13038 (rs6000_stack_info): Add assert.
13039 (rs6000_output_savres_externs): New function, split off from...
13040 (rs6000_output_function_prologue): ... here. Do not call it for
13043 2015-01-29 Jeff Law <law@redhat.com>
13046 * combine.c (try_combine): If I0 is a memory load and I3 a store
13047 to a related address, increase the "goodness" of doing a 4-insn
13048 combination with I0-I3.
13049 (make_field_assignment): Handle SUBREGs in the ior+and case.
13051 2015-01-29 Yuri Rumyantsev <ysrumyan@gmail.com>
13053 PR tree-optimization/64746
13054 * tree-if-conv.c (mask_exists): New function.
13055 (predicate_mem_writes): Save created mask with given size for further
13057 (stmt_is_root_of_bool_pattern): Remove argument VAR and store to it.
13058 (ifcvt_repair_bool_pattern): Collect all statements that are root
13059 of bool pattern and use iterative algorithm to remove multiple uses
13060 of predicates, display number of required iterations.
13062 2015-01-29 Richard Biener <rguenther@suse.de>
13064 PR tree-optimization/64853
13065 * tree-vrp.c (vrp_valueize_1): Do not return anything if the
13066 stmt will get simulated again.
13067 * tree-ssa-ccp.c (valueize_op_1): Likewise.
13069 2015-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13071 * config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of
13072 return_in_pc. Remove redundant assignments.
13073 (thumb2_emit_ldrd_pop): Simplify definition of return_in_pc.
13074 (arm_expand_epilogue): Don't compare boolean with true in if condition.
13076 2015-01-29 Uros Bizjak <ubizjak@gmail.com>
13078 * config/i386/i386.c (ix86_mode_after): Make static.
13080 2015-01-29 Richard Biener <rguenther@suse.de>
13082 PR tree-optimization/64844
13083 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Always
13084 dump cost model analysis.
13085 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
13086 Do not register adjusted load/store costs here.
13088 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
13089 Uros Bizjak <ubizjak@gmail.com>
13091 * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New.
13092 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by
13093 using x86_use_pseudo_pic_reg.
13094 * config/i386/i386.c (ix86_conditional_register_usage): Remove
13095 support for fixed PIC register.
13096 (ix86_use_pseudo_pic_reg): Not static any more.
13098 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
13100 PR middle-end/64805
13101 * ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference
13102 to avoid error in cgraph node verification.
13104 2015-01-29 Marek Polacek <polacek@redhat.com>
13106 * doc/standards.texi: Reflect that the default for C is gnu11.
13108 2015-01-29 Kaz Kojima <kkojima@gcc.gnu.org>
13111 * reorg.c (switch_text_sections_between_p): New function.
13112 (relax_delay_slots): Call it when testing if the jump insn
13113 is removable. Use targetm.can_follow_jump when testing if
13114 the conditional branch can follow an unconditional jump.
13116 2015-01-27 Caroline Tice <cmtice@google.com>
13118 Committing VTV Cywin/Ming patch for Patrick Wollgast
13119 * config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o,
13120 if -fvtable-verify=preinit/std is used.
13121 * config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise.
13122 * config/i386/mingw32.h (STARTFILE_SPEC): Likewise.
13123 * config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o,
13124 if -fvtable-verify=preinit/std is used.
13125 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
13126 * config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi,
13127 if -fvtable-verify=preinit/std is used.
13128 * config/i386/mingw-w64.h (LIB_SPEC): Likewise.
13129 * config/i386/mingw32.h (LIB_SPEC): Likewise.
13130 * varasm.c (assemble_variable): Add code to properly set the comdat
13131 section and name for the .vtable_map_vars section in case the
13132 target is PE or COFF.
13134 2015-01-29 Jan Hubicka <hubicka@ucw.cz>
13137 * cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter;
13138 make sane BB profile.
13139 (cgraph_node::expand_thunk): Make sane BB profile.
13140 (cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p.
13141 * cgraph.h (init_lowered_empty_function): Update prototype.
13142 * config/i386/i386.c (make_resolver_func): Update call.
13143 * predict.c (gate): Disable branch prediction pass if
13144 profile is already there.
13146 2015-01-29 Jan Hubicka <hubicka@ucw.cz>
13148 * optc-save-gen.awk: flag_fp_contract_mode is no longer speical.
13149 * opth-gen.awk: Likewise.
13150 * common.opt: Mark flag_fp_contract_mode as Optimization.
13152 2015-01-29 Bernd Edlinger <bernd.edlinger@hotmail.de>
13154 * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16.
13155 * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16.
13157 2015-01-28 Oleg Endo <olegendo@gcc.gnu.org>
13160 * config/sh/predicates.md (atomic_arith_operand,
13161 atomic_logical_operand): Remove.
13162 * config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove.
13163 (atomic_arith_operand_0): New predicate.
13164 (atomic_compare_and_swap<mode>): Use arith_reg_dest for output values.
13165 Use atomic_arith_operand_0 for input values.
13166 (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
13167 atomic_compare_and_swap<mode>_soft_gusa,
13168 atomic_compare_and_swap<mode>_soft_tcb,
13169 atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and
13170 arith_reg_operand instead of register_operand.
13171 (atomic_exchange<mode>): Use arith_reg_dest for output value. Use
13172 atomic_arith_operand_0 for newval input.
13173 (atomic_exchangesi_hard, atomic_exchange<mode>_hard,
13174 atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb,
13175 atomic_exchange<mode>_soft_imask): Use arith_reg_dest and
13176 arith_reg_operand instead of register_operand.
13177 (atomic_arith_operand_1, atomic_logical_operand_1): New predicates.
13178 fetchop_predicate_1, fetchop_constraint_1_llcs,
13179 fetchop_constraint_1_gusa, fetchop_constraint_1_tcb,
13180 fetchop_constraint_1_imask): New code iterator attributes.
13181 (atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of
13182 register_operand. Use fetchop_predicate_1.
13183 (atomic_fetch_<fetchop_name>si_hard,
13184 atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of
13185 register_operand. Use fetchop_predicate_1, fetchop_constraint_1_llcs.
13186 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest
13187 and arith_reg_operand instead of register_operand. Use
13188 fetchop_predicate_1, fetchop_constraint_1_gusa.
13189 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest
13190 and arith_reg_operand instead of register_operand. Use
13191 fetchop_predicate_1, fetchop_constraint_1_tcb. Adjust asm sequence
13193 (atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest
13194 and arith_reg_operand instead of register_operand. Use
13195 fetchop_predicate_1, fetchop_constraint_1_imask. Adjust asm sequence
13197 (atomic_fetch_nand<mode>): Use arith_reg_dest instead of
13198 register_operand. Use atomic_logical_operand_1.
13199 (atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
13200 atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and
13201 arith_reg_operand instead of register_operand.
13202 (atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask):
13203 Use arith_reg_dest and arith_reg_operand instead of register_operand.
13204 Use logical_operand and rK08. Adjust asm sequence to allow R0 usage.
13205 (atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of
13206 register_operand. Use fetchop_predicate_1.
13207 (atomic_<fetchop_name>_fetchsi_hard,
13208 atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and
13209 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
13210 fetchop_constraint_1_llcs.
13211 (atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and
13212 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
13213 fetchop_constraint_1_gusa.
13214 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and
13215 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
13216 fetchop_constraint_1_tcb. Adjust asm sequence to allow R0 usage.
13217 (atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and
13218 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
13219 fetchop_constraint_1_imask. Adjust asm sequence to allow R0 usage.
13220 (atomic_nand_fetch<mode>): Use arith_reg_dest instead of
13221 register_operand. Use atomic_logical_operand_1.
13222 (atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
13223 atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and
13224 arith_reg_operand instead of register_operand.
13225 (atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and
13226 arith_reg_operand instead of register_operand. Use logical_operand
13227 and K08. Adjust asm sequence to allow R0 usage.
13228 (atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and
13229 arith_reg_operand instead of register_operand. Use logical_operand
13232 2015-01-28 Jakub Jelinek <jakub@redhat.com>
13235 * dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor):
13236 Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>.
13237 (attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum
13238 only get_full_len HOST_WIDE_INTs from get_val () array rather than
13239 all bits in *val_wide.
13241 2015-01-28 Jan Hubicka <hubicka@ucw.cz>
13243 * varpool.c (tls_model_names): Fix names.
13244 (varpool_node::dump): Dump tls- prefix for tls models.
13246 2015-01-28 Thomas Schwinge <thomas@codesourcery.com>
13247 Bernd Schmidt <bernds@codesourcery.com>
13248 Nathan Sidwell <nathan@codesourcery.com>
13250 * config/nvptx/mkoffload.c: New file.
13251 * config/nvptx/t-nvptx: Add build rules for it.
13252 * config.gcc <nvptx-*> [$enable_as_accelerator = yes]
13253 (extra_programs): Add mkoffload.
13254 * config/nvptx/nvptx.c (nvptx_record_offload_symbol): New
13256 (TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it.
13258 2015-01-28 Yuri Rumyantsev <ysrumyan@gmail.com>
13260 PR middle-end/64809
13261 * cfgexpand.c (reorder_operands): Skip debug gimples.
13263 2015-01-28 Ilya Enkovich <ilya.enkovich@intel.com>
13265 PR tree-optimization/64277
13266 * tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base
13267 range info when possible to refine estimation.
13269 2015-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
13271 PR tree-optimization/64718
13272 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type
13273 be a 16bit unsigned integer when n->range is 16.
13274 (bswap_replace): Convert src to that type if necessary for all bswap
13275 sizes. Fix rotation right notation in nearby comment. Use bswap_type
13276 set in pass_optimize_bswap::execute ().
13278 2015-01-28 James Greenhalgh <james.greenhalgh@arm.com>
13280 * config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New.
13281 * config/aarch64/aarch64-simd-builtins.def (abs): Split by
13282 integer and floating point variants.
13283 * config/aarch64/iterators.md (unspec): Add UNSPEC_ABS.
13285 2015-01-28 Robert Suchanek <robert.suchanek@imgtec.com>
13287 * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators
13288 for all vector modes.
13290 2015-01-28 Jakub Jelinek <jakub@redhat.com>
13293 * doc/sourcebuild.texi (comdat_group): Document.
13295 2015-01-28 Terry Guo <terry.guo@arm.com>
13297 * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
13299 2015-01-27 David Malcolm <dmalcolm@redhat.com>
13301 * toplev.c (print_version): Add param "show_global_state", and
13302 only print GGC and plugin information if it is true.
13303 (init_asm_output): Pass in "true" for the new param when calling
13305 (process_options): Likewise.
13306 (toplev::main): Likewise.
13307 * toplev.h (print_version): Add new param to decl.
13309 2015-01-27 Jan Hubicka <hubicka@ucw.cz>
13313 * tree.c (lookup_binfo_at_offset): New function.
13314 (get_binfo_at_offset): Use it.
13316 2015-01-27 Jan Hubicka <hubicka@ucw.cz>
13319 * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
13320 on vtable being vtable.
13322 2015-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
13324 * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
13325 * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
13326 -mhotpatch= option.
13327 * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
13328 -mno-hotpatch options. Change syntax of -mhotpatch= option.
13329 * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
13331 (s390_hotpatch_trampoline_halfwords_max): Renamed.
13332 (s390_hotpatch_hw_max): New name.
13333 (s390_hotpatch_trampoline_halfwords): Renamed.
13334 (s390_hotpatch_hw_before_label): New name.
13335 (get_hotpatch_attribute): Removed.
13336 (s390_hotpatch_hw_after_label): New name.
13337 (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
13339 (s390_attribute_table): Ditto.
13340 (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
13341 (s390_function_num_hotpatch_hw): New name.
13342 Remove special handling of inline functions and hotpatching.
13343 Return number of nops before and after the function label.
13344 (s390_can_inline_p): Removed.
13345 (s390_asm_output_function_label): Emit a configurable number of nops
13346 after the function label.
13347 (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
13348 (TARGET_CAN_INLINE_P) Removed.
13349 (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.
13351 2015-01-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
13352 Jiong Wang <jiong.wang@arm.com>
13354 * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead
13356 (cb<optab><mode>1): Likewise.
13357 * config/aarch64/iterators.md (bcond): New define_code_attr.
13359 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
13361 * config/s390/s390.c (s390_memory_move_cost): Increase costs for
13364 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
13366 * config/s390/s390.c (s390_register_move_cost): Increase costs for
13369 2015-01-27 Richard Biener <rguenther@suse.de>
13371 * tree-vrp.c (update_value_range): Intersect the range with
13372 old recorded SSA name range information.
13374 2015-01-27 Nick Clifton <nickc@redhat.com>
13376 * config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the
13377 BC, DE and HL registers directly, not via AX.
13378 When decrementing the stack pointer by a large amount, transfer SP
13379 into AX and perform the subtraction there.
13380 (rl78_expand_epilogue): Perform the inverse of the above
13383 2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13385 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove.
13387 2015-01-27 Jakub Jelinek <jakub@redhat.com>
13388 Yury Gribov <y.gribov@samsung.com>
13391 * ubsan.c (ubsan_source_location): Refactor code.
13392 (ubsan_type_descriptor): Update type size. Refactor code.
13394 2015-01-27 Richard Biener <rguenther@suse.de>
13396 PR tree-optimization/56273
13397 PR tree-optimization/59124
13398 PR tree-optimization/64277
13399 * tree-vrp.c (vrp_finalize): Emit array-bound warnings only
13400 from the first VRP pass.
13402 2015-01-27 Jakub Jelinek <jakub@redhat.com>
13405 * cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting,
13406 handle the first argument in the same loop as all the other arguments.
13408 PR rtl-optimization/61058
13409 * jump.c (cleanup_barriers): Update basic block boundaries
13410 if BLOCK_FOR_INSN is non-NULL on PREV.
13412 2015-01-27 Ilya Enkovich <ilya.enkovich@intel.com>
13414 * tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of
13415 bounds narrowing, already instrumented calls and calls to
13416 not instrumentable functions.
13418 2015-01-27 Jakub Jelinek <jakub@redhat.com>
13420 PR tree-optimization/64807
13421 * wide-int.cc (wi::divmod_internal): Clear
13422 b_dividend[dividend_blocks_needed].
13424 2015-01-26 DJ Delorie <dj@redhat.com>
13426 * config/rl78/rl78.c (move_elim_pass): Don't optimize away
13427 volatile memory references.
13429 2015-01-26 Oleg Endo <olegendo@gcc.gnu.org>
13432 * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before
13434 * config/sh/sh.md (tstsi_t): Don't try to optimize constant with right
13435 shifts if it already fits into K08.
13437 2015-01-26 Jakub Jelinek <jakub@redhat.com>
13440 * ipa-inline.c (inline_small_functions): Print "unknown" even
13441 if edge->call_stmt is non-NULL, but has builtins or unknown
13444 PR middle-end/64421
13445 * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts
13446 with asterisk, skip the first character.
13448 2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
13451 * config/i386/i386 (feature_priority): Revert the last P_POPCNT
13454 2015-01-26 Uros Bizjak <ubizjak@gmail.com>
13457 * config/i386/i386.md (*movdi_internal): Also check operand 0
13458 to determine TYPE_LEA operand.
13459 (*movsi_internal): Ditto.
13461 2015-01-26 Jakub Jelinek <jakub@redhat.com>
13463 * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
13464 OPTION_MASK_QUAD_MEMORY_ATOMIC.
13466 2015-01-26 Renlin Li <renlin.li@arm.com>
13468 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct
13470 * config/aarch64/aarch64.md (tlsle_small_<mode>): Add left shift 12-bit
13473 2015-01-26 Richard Biener <rguenther@suse.de>
13475 PR middle-end/64764
13476 * tree-ssa-uninit.c (is_pred_expr_subset_of): Handle
13477 combining two BIT_AND_EXPR predicates.
13479 2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
13482 * tree-ssa-structalias.c (new_var_info): Initialize ruid.
13484 2015-01-26 Terry Guo <terry.guo@arm.com>
13486 * config/arm/arm.c (arm_file_start): Update the assignment of
13487 Tag_ABI_HardFP_use.
13489 2015-01-25 James Greenhalgh <james.greenhalgh@arm.com>
13491 * config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57
13493 config/arm/arm.md: Include the new Cortex-A57 model.
13494 (generic_sched): Don't use generic_sched when tuning for
13497 2015-01-25 Allan Sandfeld Jensen <sandfeld@kde.org>
13498 Uros Bizjak <ubizjak@gmail.com>
13500 * config/i386/i386.c (get_builtin_code_for_version): Add
13501 support for BMI and BMI2 multiversion functions.
13503 2015-01-25 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
13505 * emit-rtl.h (store_bit_field): Move prototype to expmed.h.
13506 (extract_bit_field): Likewise.
13507 (extract_low_bits): Likewise.
13508 (expand_mult): Likewise.
13509 (expand_mult_highpart_adjust): Likewise.
13511 2015-01-24 H.J. Lu <hongjiu.lu@intel.com>
13513 * config/i386/driver-i386.c (host_detect_local_cpu): Check new
13514 Silvermont, Haswell, Broadwell and Knights Landing model numbers.
13515 * config/i386/i386.c (processor_model): Add
13516 M_INTEL_COREI7_BROADWELL.
13517 (arch_names_table): Add "broadwell".
13519 2015-01-24 Oleg Endo <olegendo@gcc.gnu.org>
13528 * config/sh/sh-protos.h
13529 (sh_extending_set_of_reg::can_use_as_unextended_reg,
13530 sh_extending_set_of_reg::use_as_unextended_reg,
13531 sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn,
13532 sh_is_movrt_insn, sh_insn_operands_modified_between_p,
13533 sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr,
13534 sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions.
13535 (sh_treg_insns): New class.
13536 * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook.
13537 (scope_counter): New class.
13538 (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest,
13539 sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn,
13540 sh_extending_set_of_reg::can_use_as_unextended_reg,
13541 sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr,
13542 sh_in_recog_treg_set_expr, sh_try_split_insn_simple,
13543 sh_split_treg_set_expr): New functions.
13544 (addsubcosts): Handle treg_set_expr.
13545 (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT.
13546 (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND.
13547 (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases.
13548 (sh_insn_operands_modified_between_p): Make non-static.
13549 * config/sh/predicates.md (zero_extend_movu_operand): Allow
13550 simple_mem_operand in addition to displacement_mem_operand.
13551 (zero_extend_operand): Don't allow zero_extend_movu_operand.
13552 (treg_set_expr, treg_set_expr_not_const01,
13553 arith_reg_or_treg_set_expr): New predicates.
13554 * config/sh/sh.md (tstsi_t): Use arith_reg_operand and
13555 arith_or_int_operand instead of logical_operand. Convert to
13556 insn_and_split. Try to optimize constant operand in splitter.
13557 (tsthi_t, tstqi_t): Fold into *tst<mode>_t. Convert to insn_and_split.
13558 (*tstqi_t_zero): Delete.
13559 (*tst<mode>_t_subregs): Add !sh_in_recog_treg_set_expr split condition.
13560 (tstsi_t_and_not): Delete.
13561 (tst<mode>_t_zero_extract_eq): Rename to *tst<mode>_t_zero_extract.
13562 Convert to insn_and_split.
13563 (unnamed split, tstsi_t_zero_extract_xor,
13564 tstsi_t_zero_extract_subreg_xor_little,
13565 tstsi_t_zero_extract_subreg_xor_big): Delete.
13566 (*tstsi_t_shift_mask): New insn_and_split.
13567 (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try
13568 to recombine with surrounding insns when splitting.
13569 (*negtstsi): Add !sh_in_recog_treg_set_expr condition.
13570 (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ...
13571 (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4,
13572 *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns.
13573 (*cbranch_div0s: Delete.
13574 (*addc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
13575 Try to recombine with surrounding insns when splitting. Add operand
13577 (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01.
13578 (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb,
13579 *addc_r_r_msb, *addc_2r_msb): Delete.
13580 (*addc_2r_lsb): Rename to *addc_2r_t. Use treg_set_expr. Add operand
13582 (*addc_negreg_t): New insn_and_split.
13583 (*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
13584 Try to recombine with surrounding insns when splitting.
13585 Add operand order variants.
13586 (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New
13587 insn_and_split patterns.
13588 (*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with
13589 surrounding insns when splitting.
13590 (unnamed rotcr split): Use arith_reg_or_treg_set_expr.
13591 (*rotcl): Likewise. Add zero_extract variant.
13592 (*ashrsi2_31): New insn_and_split.
13593 (*negc): Convert to insn_and_split. Use treg_set_expr.
13594 (*zero_extend<mode>si2_disp_mem): Update comment.
13595 (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split
13597 (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr. Try to recombine
13598 with surrounding insns when splitting.
13599 (any_treg_expr_to_reg): New insn_and_split.
13600 (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2,
13601 *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5,
13602 *neg_zero_extract_6, *zero_extract_0, *zero_extract_1,
13603 *zero_extract_2): New single bit zero extract patterns.
13604 (bld_reg, *bld_regqi): Fold into bld<mode>_reg.
13605 (*get_thread_pointersi, store_gbr, *mov<mode>_gbr_load,
13606 *mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load,
13607 *movdi_gbr_load): Use arith_reg_dest instead of register_operand for
13609 (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of
13610 register_operand for set source.
13612 2015-01-23 Jan Hubicka <hubicka@ucw.cz>
13614 * i386.opt (prefetch_sse): New targetsave.
13615 * i386.c (ix86_function_specific_save): Save prefetch_sse.
13616 (ix86_function_specific_restore): Restore prefetch_sse and initialize
13617 ix86_cost/ix86_tune_cost.
13619 2015-01-23 David Malcolm <dmalcolm@redhat.com>
13621 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
13622 Support the JIT by using 0 as the language type.
13624 2015-01-23 Vladimir Makarov <vmakarov@redhat.com>
13627 * lra-lives.c (make_hard_regno_born): Add parameter. Don't make
13628 REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo.
13629 (mark_regno_live, process_bb_lives): Pass new parameter value to
13630 make_hard_regno_born.
13632 2015-01-23 Jakub Jelinek <jakub@redhat.com>
13634 PR rtl-optimization/63637
13635 PR rtl-optimization/60663
13636 * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
13637 if elt->cost is MAX_COST for ASM_OPERANDS.
13638 (find_sets_in_insn): Fix up comment typo.
13639 (cse_insn): Don't set src_volatile for all non-volatile
13640 ASM_OPERANDS in PARALLELs, but just those with multiple outputs
13641 or with "memory" clobber. Set elt->cost to MAX_COST
13642 for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST
13643 if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
13645 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
13647 * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
13650 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
13652 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to
13653 libgcc/config/i386/elf-lib.h.
13655 2015-01-23 Jakub Jelinek <jakub@redhat.com>
13658 * gcc.c (print_configuration): Don't print a blank line at the end
13660 (run_attempt): ... but here unstead.
13662 PR middle-end/64734
13663 * omp-low.c (scan_sharing_clauses): Don't ignore
13664 OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses
13665 on target data/update constructs.
13667 2015-01-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
13670 * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here.
13671 (DEBUG_RELOAD): Removed define.
13672 (m32c_limit_reload_class): Enable traces with if DEBUG0.
13673 (m32c_function_arg): Added a type cast.
13674 (m32c_legitimize_reload_address): Push A_REGS reload with PSImode.
13675 * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments.
13676 * config/m32c/bitops.md (andqi3_16): Likewise.
13677 * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise.
13678 (push_a01_l): Likewise.
13680 2015-01-23 David Malcolm <dmalcolm@redhat.com>
13683 * main.c (main): Construct toplev instances with init_signals=true.
13684 * toplev.c (general_init): Add param "init_signals", and use it to
13685 conditionalize the calls to signal and host_hooks.extra_signals.
13686 (toplev::toplev): Add param "init_signals".
13687 (toplev::main): When invoking general_init, pass m_init_signals
13688 to control whether signal-handlers are installed.
13689 * toplev.h (toplev::toplev): Add param "init_signals".
13690 (toplev::m_init_signals): New field.
13692 2015-01-23 David Malcolm <dmalcolm@redhat.com>
13695 * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to
13696 NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the
13697 latter may be affected by the former (e.g. on i686).
13699 2015-01-23 Martin Liska <mliska@suse.cz>
13701 * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow
13702 false positive during profiledbootstrap.
13704 2015-01-23 Tom de Vries <tom@codesourcery.com>
13707 * lto-opts.c (lto_write_options): Output non-explicit conservative
13709 * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc.
13710 (append_compiler_options): Pass -fopenacc through.
13712 2015-01-23 Tom de Vries <tom@codesourcery.com>
13715 * lto-opts.c (lto_write_options): Output non-explicit conservative
13717 * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp.
13718 (append_compiler_options): Pass -fopenmp through.
13720 2015-01-23 Jakub Jelinek <jakub@redhat.com>
13723 * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
13726 * diagnostic-core.h (internal_error_no_backtrace): New prototype.
13727 * diagnostic.def (DK_ICE_NOBT): New kind.
13728 * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT
13729 like DK_ICE, but never print backtrace.
13730 (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE.
13731 (internal_error_no_backtrace): New function.
13732 * gcc.c (execute): Use internal_error_no_backtrace instead of
13735 2015-01-22 Jeff Law <law@redhat.com>
13738 * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to
13739 improve code density for small immediate to memory case.
13740 (insv): Better handle bitfield assignments when the field is
13741 being set to all ones.
13742 * config/m68k/predicates.md (reg_or_pow2_m1_operand): New
13745 2015-01-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13746 Jakub Jelinek <jakub@redhat.com>
13748 PR middle-end/64729
13749 * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit
13750 for !TARGET_LIBC_PROVIDES_SSP version and
13751 -fstack-protector-{all,strong,explicit} otherwise.
13752 * config/freebsd.h (LINK_SSP_SPEC): Handle
13753 -fstack-protector-{strong,explicit}.
13755 2015-01-22 Jan Hubicka <hubicka@ucw.cz>
13756 H.J. Lu <hongjiu.lu@intel.com>
13759 * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of
13762 2015-01-22 Wei Mi <wmi@google.com>
13764 PR rtl-optimization/64557
13765 * dse.c (record_store): Call get_addr for mem_addr.
13766 (check_mem_read_rtx): Likewise.
13768 2015-01-22 Eric Botcazou <ebotcazou@adacore.com>
13770 * fold-const.c (const_binop): Add early return for non-tcc_binary.
13772 2015-01-22 Chen Gang <gang.chen.5i5j@gmail.com>
13774 * toplev.c (init_local_tick): Process the failure when read
13775 fails for random_seed.
13777 * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for
13778 'pretty_name' to avoid memory overflow.
13780 2015-01-22 Richard Biener <rguenther@suse.de>
13782 PR middle-end/64728
13783 * tree-ssa-coalesce.c (coalesce_partitions): Do not perform
13784 abnormal coalescing on undefined SSA names.
13786 2015-22-01 Uros Bizjak <ubizjak@gmail.com>
13790 * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints
13792 (*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1.
13794 2015-01-22 Trevor Saunders <tsaunders@mozilla.com>
13796 PR middle-end/63325
13797 * fold-const.c (fold_checksum_tree): Don't include value of
13798 expr->decl_with_vis.symtab_node in the checksum.
13800 2015-01-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
13802 * config/s390/s390.md (atomic code attribute): Fix typo "ior" -> "or".
13804 2015-01-22 Max Ostapenko <m.ostapenko@partner.samsung.com>
13807 * gcc.c (insert_comments): New function.
13808 (try_generate_repro): Call it.
13809 (append_text): Removed.
13811 2015-01-22 Richard Biener <rguenther@suse.de>
13813 * ipa-inline.c (can_inline_edge_p): Disable inlining of edges
13814 with IL incompatible options. Properly honor user optimize
13817 2015-01-21 Segher Boessenkool <segher@kernel.crashing.org>
13819 PR rtl-optimization/64682
13820 * combine.c (distribute_notes): When moving a death note for
13821 a register that is set in the new I2, make sure to put it
13822 before that new I2.
13824 2015-01-21 David Edelsohn <dje.gcc@gmail.com>
13826 * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags
13827 not TARGET_DEFAULT.
13829 2015-01-21 Jakub Jelinek <jakub@redhat.com>
13832 * simplify-rtx.c (simplify_relational_operation_1): Don't try to
13833 optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0))
13834 into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)).
13837 * doc/invoke.texi (-fsanitize=vptr): Document.
13839 PR rtl-optimization/62078
13840 * dse.c: Include cfgcleanup.h.
13841 (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed
13842 anything call purge_all_dead_edges and cleanup_cfg at the end
13845 2015-01-21 Jan Hubicka <hubicka@ucw.cz>
13847 * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect
13850 2015-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
13852 * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread
13855 2015-01-21 David Sherwood <david.sherwood@arm.com>
13856 Tejas Belagod <Tejas.Belagod@arm.com>
13858 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed.
13859 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed.
13860 * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class):
13863 2015-01-21 David Sherwood <david.sherwood@arm.com>
13864 Tejas Belagod <Tejas.Belagod@arm.com>
13866 * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist)
13867 (aarch64_reverse_mask): New decls.
13868 * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum.
13869 (insn_count): New mode_attr.
13870 * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci)
13871 (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci)
13872 (vec_load_lanesxi): Made ABI compliant for Big Endian targets.
13873 (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3)
13874 (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3)
13875 (aarch64_simd_st4): New patterns.
13876 * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist)
13877 (aarch64_reverse_mask): New functions.
13879 2015-01-21 Richard Sandiford <richard.sandiford@arm.com>
13881 * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy):
13883 * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra
13884 addressing modes for BE.
13885 (aarch64_print_operand): Add 'R' specifier.
13886 (aarch64_simd_disambiguate_copy): Delete.
13887 (aarch64_simd_emit_reg_reg_move): New function.
13888 * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move
13889 in define_splits for structural moves.
13890 (mov<mode>): Use less restrictive predicates.
13891 (*aarch64_mov<mode>): Simplify and only allow for LE.
13892 (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New.
13894 2015-01-21 Alan Hayward <alan.hayward@arm.com>
13896 * rtlanal.c (subreg_get_info): Exit early for simple and common cases.
13898 2015-01-21 Richard Henderson <rth@redhat.com>
13901 * ccmp.c (used_in_cond_stmt_p): Remove.
13902 (expand_ccmp_expr): Don't use it.
13904 2015-01-21 Nick Clifton <nickc@redhat.com>
13906 * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside
13909 2015-01-21 Richard Biener <rguenther@suse.de>
13911 PR middle-end/64313
13912 * tree-core.h (builtin_info, builtin_info_type): Turn from
13913 an object with two arrays into an array of an object with
13914 decl and two flags, implicit_p and declared_p.
13915 * tree.h (builtin_decl_explicit, builtin_decl_implicit,
13916 set_builtin_decl, set_builtin_decl_implicit_p,
13917 builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust.
13918 (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions.
13919 * builtins.c (builtin_info): Adjust.
13920 * gimplify.c (gimplify_addr_expr): References to builtins
13921 that have been declared by the user makes them eligible for
13922 use by the compiler. Call set_builtin_decl_implicit_p on them.
13924 2015-01-20 Jeff Law <law@redhat.com>
13927 * config/m68k/m68k.md (Comparison expanders and patterns): Do not
13928 allow pc-relative addresses in operand predicates or constraints.
13930 2015-01-21 Bin Cheng <bin.cheng@arm.com>
13932 * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer
13933 neon on aarch32 processors for stringops.
13935 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
13938 * ipa-utils.c (ipa_merge_profiles): Merge speculative edges.
13940 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
13943 * ipa-inline.c: Include lto-streamer.h
13944 (report_inline_failed_reason): Output source file differences and
13945 flags on optimization/target node mismatch.
13946 (can_inline_edge_p): Consider caller to be the outer inline function;
13947 be less restrictive about matching opimize and optimize_size attributes.
13948 (inline_account_function_p): Break out from ...
13949 (inline_small_functions): ... here.
13950 * ipa-inline-transform.c (clone_inlined_nodes): Use
13951 inline_account_function_p.
13952 (inline_call): Use optimize attribution; use inline_account_function_p.
13953 (inline_transform): Use opt_for_fn.
13954 * ipa-inline.h (inline_account_function_p): Declare.
13956 2015-01-20 Jakub Jelinek <jakub@redhat.com>
13959 * dwarf2out.c (decl_piece_node): Don't put bitsize into
13960 mode if bitsize <= 0.
13961 (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
13962 dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
13963 sizes and positions.
13965 2015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
13967 * config/nios2/nios2.c (nios2_asm_file_end): Implement
13968 TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
13970 (TARGET_ASM_FILE_END): Define.
13972 2015-01-20 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
13974 * config/arm/arm-protos.h (enum arm_sched_autopref): New constants.
13975 (struct tune_params): Use the enum.
13976 * arm.c (arm_*_tune): Update.
13977 (arm_option_override): Update.
13979 2015-01-20 Richard Biener <rguenther@suse.de>
13982 * ipa-reference.c (add_static_var): Inline ...
13983 (analyze_function): ... here after splitting out from ...
13984 (is_proper_for_analysis): ... this.
13986 2015-01-20 Matthew Wahab <matthew.wahab@arm.com>
13989 * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle.
13990 * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag,
13991 replace the conditional with it's true branch.
13992 * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true.
13993 (arm_lra_p): Remove.
13995 2015-01-20 Eric Botcazou <ebotcazou@adacore.com>
13997 * config/visium/visium.h (LIB_SPEC): Adjust in default case.
13999 2015-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
14001 * config/tilegx/mul-tables.c: Move symtab.h include after
14002 coretypes.h include.
14003 * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h,
14004 vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h,
14005 flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h,
14006 wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h,
14007 explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
14009 2015-01-20 Igor Zamyatin <igor.zamyatin@intel.com>
14013 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
14015 PR rtl-optimization/64081
14016 * loop-iv.c (def_pred_latch_p): New function.
14017 (latch_dominating_def): Allow specific cases with non-single
14019 (iv_get_reaching_def): Likewise.
14020 (check_complex_exit_p): New function.
14021 (check_simple_exit): Use check_complex_exit_p to allow certain cases
14022 with exits not executing on any iteration.
14024 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
14027 * i386.c (ix86_option_override_internal): Use ix86_tune_cost
14028 to set branch cost.
14030 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
14033 * i386.c (gate): Check flag_expensive_optimizations and
14035 (ix86_option_override_internal): Drop optimize_size condition
14036 on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
14037 MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
14038 MASK_PREFER_AVX128.
14039 (ix86_avx256_split_vector_move_misalign,
14040 ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
14041 * sse.md (all uses of TARGET_PREFER_AVX128): Add
14042 optimize_insn_for_speed_p check.
14044 2015-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
14046 * config/mips/mips.h (FP_ASM_SPEC): New define.
14047 (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
14050 2015-01-19 Oleg Endo <olegendo@gcc.gnu.org>
14053 * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
14054 nullptr for insn when reaching the first insn.
14055 * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
14056 (sh_insn_operands_modified_between_p): Add nullptr check.
14057 (sh_find_extending_set_of_reg): Fix log message. Don't accept
14058 sign extending mem load if the insn contains any UNSPEC or
14061 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
14063 * params.def (inline-unit-growth): Drop to 15%.
14064 * invoke.texi (inline-unit-growth): Document change.
14066 2015-01-19 Martin Liska <mliska@suse.cz>
14069 * ipa-icf-gimple.c (func_checker::compare_operand): Call proper
14070 function for second argument of OBJ_TYPE_REF.
14072 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
14075 * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
14076 whether function is an alias.
14078 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
14080 * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless
14083 2015-01-19 Vladimir Makarov <vmakarov@redhat.com>
14085 PR rtl-optimization/64671
14086 * lra-remat.c (operand_to_remat): Don't consider jump and call
14089 2015-01-19 David Edelsohn <dje.gcc@gmail.com>
14092 * config/rs6000/default64.h: Include rs6000-cpus.def.
14093 (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
14094 (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
14095 * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
14097 * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
14099 * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
14100 pseudo-op to specify assembler dialect.
14102 2015-01-19 Martin Liska <mliska@suse.cz>
14105 * ipa-icf.c (sem_item_optimizer::filter_removed_items):
14106 Handle safe potentially removed nodes during filtering.
14108 2015-01-19 Martin Liska <mliska@suse.cz>
14110 * doc/extend.texi (no_icf): Add new attribute description.
14111 * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
14112 where the pass attempts to merge a function with no_icf attribute.
14114 2015-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
14117 * doc/md.texi (ARM Options): Document register constraints.
14119 2015-01-19 Jiong Wang <jiong.wang@arm.com>
14120 Andrew Pinski <apinski@cavium.com>
14123 * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
14124 (ashl<mode>3): Don't expand if operands[2] is not constant.
14126 2015-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14129 * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
14130 Match xor-and-xor RTL pattern.
14132 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
14134 PR rtl-optimization/64081
14135 * loop-iv.c (def_pred_latch_p): New function.
14136 (latch_dominating_def): Allow specific cases with non-single
14138 (iv_get_reaching_def): Likewise.
14139 (check_complex_exit_p): New function.
14140 (check_simple_exit): Use check_complex_exit_p to allow certain cases
14141 with exits not executing on any iteration.
14143 2015-01-19 Jakub Jelinek <jakub@redhat.com>
14145 * common.opt (fgraphite): Fix a typo.
14147 2015-01-19 Felix Yang <felix.yang@huawei.com>
14149 * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New
14151 * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp,
14152 uminp, smax_nanp, smin_nanp): New builtins.
14153 * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32,
14154 vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32,
14155 vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64,
14156 vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64,
14157 vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8,
14158 vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8,
14159 vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64,
14160 vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64,
14161 vpminnms_f32): Rewrite using builtin functions.
14163 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
14166 * omp-low.c (offload_symbol_decl): Remove variable.
14167 (get_offload_symbol_decl): Remove function.
14168 (expand_omp_target): For BUILT_IN_GOMP_TARGET,
14169 BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
14170 instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
14171 BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
14172 BUILT_IN_GOACC_UPDATE don't pass it at all.
14174 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
14176 * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
14179 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
14181 * ipa-chkp.c (chkp_produce_thunks): Add early param
14182 to split thunks production into two passes. Keep
14183 'always_inline' function bodies after the first pass.
14184 (pass_data_ipa_chkp_early_produce_thunks): New.
14185 (pass_ipa_chkp_early_produce_thunks): New.
14186 (pass_ipa_chkp_produce_thunks::execute): Adjust to new
14187 chkp_produce_thunks signature.
14188 (make_pass_ipa_chkp_early_produce_thunks): New.
14189 * passes.def (pass_ipa_chkp_early_produce_thunks): New.
14190 (pass_ipa_chkp_produce_thunks): Move after local optimizations.
14191 * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.
14193 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
14195 * cgraph.c (cgraph_node::dump): Dump profile flags.
14197 2015-01-18 Oleg Endo <olegendo@gcc.gnu.org>
14200 * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address
14201 reg appear first in the parallel.
14203 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
14205 * ipa-reference.c (set_reference_optimization_summary,
14206 ipa_reference_get_not_written_global): Do nothing if ipa-reference is
14208 (ignore_module_statics): New static var.
14209 (propagate_bits): If ipa-reference is disabled, do not look into local
14211 (analyze_function): Disable analysis when ipa_reference is disabled.
14212 (generate_summary): Do not dump when reference is disabled;
14213 collect vars accessed from functions with ipa-reference disabled.
14214 (get_read_write_all_from_node): When ipa-reference is disabled, use the
14216 (gate): Enable for LTO.
14217 (ignore_edge_p): New function.
14218 (propagate): Skip functions w/o ipa-reference analysis.
14219 * optc-save-gen.awk: Handle optimize_debug correctly.
14220 * opth-gen.awk: Likewise.
14221 * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse,
14222 fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region,
14223 fira-share-save-slots, fira-share-spill-slots,
14224 fmodulo-sched-allow-regmoves, fpartial-inlining,
14225 sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow,
14226 ftracer, ftree-parallelize-loops, fassociative-math,
14227 freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as
14229 (fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
14230 ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
14232 * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
14235 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
14238 * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
14240 * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
14242 2015-01-18 Sandra Loosemore <sandra@codesourcery.com>
14244 * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
14245 Remove duplicate option listings.
14247 2015-01-18 Felix Yang <felix.yang@huawei.com>
14249 * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
14250 (autofdo_source_profile::get_callsite_total_count,
14251 function_instance::get_function_instance_by_decl,
14252 string_table::get_index, string_table::get_index_by_decl,
14253 afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
14254 Fix comment typos. Reformatting and minor code rearrangement.
14256 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
14258 * config/rs6000/rs6000.md (probe_stack): Delete.
14259 (probe_stack_address): New.
14261 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
14263 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
14264 to test for 32-bit ABIs, not !TARGET_POWERPC64.
14266 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
14268 * config/rs6000/rs6000.c (rs6000_parallel_return): New function.
14269 (rs6000_function_value): Use it. Handle SCmode and TCmode as well,
14270 for TARGET_32BIT && TARGET_POWERPC64. Fix another BITS_PER_WORD
14272 (rs6000_libcall_value): Use the new function.
14274 2015-01-17 Sandra Loosemore <sandra@codesourcery.com>
14276 * doc/invoke.texi ([-ftracer]): Remove duplicate option listing.
14278 2015-01-17 Eric Botcazou <ebotcazou@adacore.com>
14280 * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
14281 implement a more precise life analysis for it during backward scan.
14283 2015-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
14285 * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
14287 2015-01-17 Bernd Schmidt <bernds@codesourcery.com>
14289 PR rtl-optimization/52773
14290 * calls.c (emit_library_call_value): When pushing arguments use
14291 stack_pointer_rtx rather than virtual_outgoing_args_rtx in
14292 CALL_INSN_FUNCTION_USAGE. Only emit one of use of the magic
14293 stack pointer reference into CALL_INSN_FUNCTION_USAGE.
14295 2015-01-17 Jeff Law <law@redhat.com>
14297 PR rtl-optimization/32790
14298 * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
14299 not ZERO_EXTEND in SET_DESTs.
14301 2015-01-17 Alan Modra <amodra@gmail.com>
14303 * cprop.c (do_local_cprop): Revert last change.
14305 2015-01-16 DJ Delorie <dj@redhat.com>
14306 Nick Clifton <nickc@redhat.com>
14308 * config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
14309 (addhi3_real): Likewise. Fix [HL+0] syntax.
14310 (subqi3_real): Likewise.
14311 (subhi3_real): Likewise.
14312 (cbranchqi4_real): Likewise. Allow saddr,#imm.
14313 (cbranchhi4_real): Likewise.
14314 (cbranchhi4_real_inverted): Likewise.
14315 (cbranchsi4_real_lt): Likewise.
14316 (cbranchsi4_real_ge): Likewise.
14317 (cbranchsi4_real_ge): Likewise.
14318 * config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
14319 (sub<mode>3_virt): Likewise.
14320 (cbranchqi4_virt): Likewise.
14321 (cbranchhi4_virt): Likewise.
14322 * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
14323 always use '[reg+imm]' even when imm is zero.
14324 * config/rl78/predicates.md (rl78_volatile_memory_operand): New.
14325 (rl78_general_operand): New.
14326 (rl78_nonimmediate_operand): New.
14327 (rl78_nonfar_operand): Use them.
14328 (rl78_nonfar_nonimm_operand): Likewise.
14329 (rl78_stack_based_mem): Fix.
14330 * config/rl78/constraints.md (Ibqi): New.
14335 * config/rl78/rl78-expand.md (andqi3): Accept volatiles.
14336 (iorqi3): Likewise.
14337 (xorqi3): Likewise.
14338 * config/rl78/rl78-protos.h (rl78_sfr_p): New.
14340 * config/rl78/constrains (Qs8): New constraint.
14341 * config/rl78/rl78.c (rl78_flags_already_set): New function.
14342 * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
14343 * config/rl78/rl78-real.md (update_Z): New attribute.
14344 Update patterns to set it.
14345 (cbranchqi4_real): Call rl78_flags_already_set() to determine if a
14346 shorter compare and branch sequence can be used.
14347 (cbranchhi4_real): Likewise.
14348 (cbranchhi4_real_inverted): Likewise.
14350 * config/rl78/predicates.md (uword_operand): Allow symbol_refs.
14351 * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
14353 * config/rl78/rl78.c (rl78_get_name_encoding): New.
14354 (rl78_option_override): Allow -mes0 only if C.
14355 (characterize_address): Support subregs of symbol_refs.
14356 (rl78_addr_space_address_mode): Move. Add __near.
14357 (rl78_far_p): Likewise.
14358 (rl78_addr_space_pointer_mode): Likewise.
14359 (rl78_as_legitimate_address): Likewise.
14360 (rl78_addr_space_subset_p): Likewise.
14361 (rl78_addr_space_convert): Likewise.
14362 (rl78_print_operand_1): Support 16-bit addressing of 32-bit
14363 symbols with -mes0.
14364 (transcode_memory_rtx): Don't copy ES if -mes0. Allow symbol[BC]
14366 (rl78_alloc_physical_registers_op1): Change logic to prefer
14367 symbol[BC] addressing.
14368 (frodata_section): New.
14369 (rl78_asm_init_sections): Initialize it.
14370 (rl78_select_section): Put __far readonly symbols in .frodata.
14371 (rl78_make_type_far): New.
14372 (rl78_insert_attributes): Force all readonly symbols to be
14374 (rl78_asm_out_integer): New.
14375 * config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
14376 * config/rl78/rl78.opt (-mes0): New.
14378 * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
14379 (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
14380 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
14381 * config/rl78/rl78-protos.h (rl78_output_labelref): New.
14382 (rl78_saddr_p): New.
14383 (rl78_output_aligned_common): New.
14384 * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
14385 (rl78_handle_saddr_attribute): New.
14386 (rl78_handle_naked_attribute): New.
14387 (rl78_attribute_table): Add saddr.
14388 (rl78_print_operand_1): Don't print '!' on saddr operands.
14389 (rl78_print_operand_1): Strip encodings.
14391 (rl78_strip_name_encoding): New.
14392 (rl78_attrlist_to_encoding): New.
14393 (rl78_encode_section_info): New.
14394 (rl78_asm_init_sections): New.
14395 (rl78_select_section): New.
14396 (rl78_output_labelref): New.
14397 (rl78_output_aligned_common): New.
14398 (rl78_asm_out_integer): New.
14399 (rl78_asm_ctor_dtor): New.
14400 (rl78_asm_constructor): New.
14401 (rl78_asm_destructor): New.
14403 * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
14404 * config/rl78/rl78.c (rl78_expand_epilogue): Update.
14405 (transcode_memory_rtx): Update.
14406 (rl78_expand_epilogue): Use A_REG instead of 0.
14408 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
14410 * config/arm/arm-protos.h (struct tune_params): New field
14411 sched_autopref_queue_depth.
14412 * config/arm/arm.c (sched-int.h): Include header.
14413 (arm_first_cycle_multipass_dfa_lookahead_guard,)
14414 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
14415 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
14416 (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
14417 (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
14418 (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
14419 (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
14420 (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
14421 Specify sched_autopref_queue_depth value. Enabled for A15 and A57.
14422 * config/arm/t-arm (arm.o): Update.
14423 * haifa-sched.c (update_insn_after_change): Update.
14424 (rank_for_schedule): Use auto-prefetcher model, if requested.
14425 (autopref_multipass_init): New static function.
14426 (autopref_rank_for_schedule): New rank_for_schedule heuristic.
14427 (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
14428 variable for debug dumps.
14429 (autopref_multipass_dfa_lookahead_guard_1): New static helper function.
14430 (autopref_multipass_dfa_lookahead_guard): New global function that
14431 implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
14432 (init_h_i_d): Update.
14433 * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
14434 * sched-int.h (enum autopref_multipass_data_status): New const enum.
14435 (autopref_multipass_data_): Structure for auto-prefetcher data.
14436 (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
14437 (struct _haifa_insn_data:autopref_multipass_data): New field.
14438 (INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
14439 (autopref_multipass_dfa_lookahead_guard): Declare.
14441 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
14443 * rtlanal.c (get_base_term): Handle SCRATCH.
14445 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
14447 * config/aarch64/aarch64.c
14448 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
14449 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
14451 (arm_first_cycle_multipass_dfa_lookahead): Implement hook.
14452 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
14454 2015-01-17 Alan Modra <amodra@gmail.com>
14456 * cprop.c (do_local_cprop): Disallow replacement of fixed
14459 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14462 * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before
14465 2015-01-16 Bernd Edlinger <bernd.edlinger@hotmail.de>
14467 * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
14468 * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update.
14470 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14472 * config/arm/arm.md: Move comment about splitting Thumb1 patterns to...
14473 * config/arm/thumb1.md: ... Here.
14475 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
14477 * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
14478 TImode for TARGET_32BIT.
14480 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
14482 * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
14483 TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
14485 (rs6000_abi_word_mode): New function.
14487 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
14489 * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD
14490 instead of UNITS_PER_WORD to describe the size of stack slots.
14492 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
14494 * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
14495 as rs6000_promote_function_mode. Move comment to there.
14496 (rs6000_promote_function_mode): New function.
14498 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
14500 * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32
14501 -mpowerpc64 is active.
14503 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
14505 PR middle-end/64353
14506 * tree-cfg.c (pass_data_fixup_cfg): Update SSA for
14509 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
14511 * config/arm/cortex-a57.md: Remove duplicate of file accidentally
14512 introduced in revision 219724.
14514 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14515 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
14518 * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the
14519 destination is not a GP reg.
14520 (*movdi_aarch64): Likewise.
14522 2015-01-16 David Edelsohn <dje.gcc@gmail.com>
14525 * config/rs6000/default64.h: Revert ISA change.
14527 2015-01-16 Richard Biener <rguenther@suse.de>
14529 PR middle-end/64614
14530 * tree-ssa-uninit.c: Include tree-cfg.h.
14531 (MAX_SWITCH_CASES): New define.
14532 (convert_control_dep_chain_into_preds): Handle switch statements.
14533 (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
14534 (normalize_one_pred_1): Do not split bit-manipulations.
14537 2015-01-16 Richard Biener <rguenther@suse.de>
14539 PR tree-optimization/64568
14540 * tree-ssa-forwprop.c (pass_forwprop::execute): Guard
14541 complex load rewriting for TARGET_MEM_REFs.
14543 2015-01-16 Uros Bizjak <ubizjak@gmail.com>
14545 * builtins.c (expand_builtin_acc_on_device): Check target for NULL.
14547 2015-01-16 Matthew Wahab <matthew.wahab@arm.com>
14550 * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
14552 * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true.
14553 (aarch64_lra_p): Remove.
14555 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
14558 * ipa-chkp.h (chkp_instrumentable_p): New.
14559 * ipa-chkp.c: Include tree-inline.h.
14560 (chkp_instrumentable_p): New.
14561 (chkp_maybe_create_clone): Use chkp_instrumentable_p.
14562 Fix processing of not instrumentable functions.
14563 (chkp_versioning): Use chkp_instrumentable_p. Warn about
14564 not instrumentable functions.
14565 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
14566 chkp_instrumentable_p.
14567 * tree-inline.h (copy_forbidden): New.
14568 * tree-inline.c (copy_forbidden): Not static anymore.
14570 2015-01-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14572 * optc-save-gen.awk (cl_target_option_print_diff): Mark indent,
14575 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
14577 * lra-constraints.c (curr_insn_transform): Change a reload pseudo of
14578 type OP_OUT to OP_INOUT.
14580 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
14582 * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
14583 (high x) y) to y if x and y have the same base.
14585 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
14587 * config/arm/cortex-a57.md: New.
14588 * config/aarch64/aarch64.md: Include it.
14589 * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.
14590 * config/aarch64/aarch64-tune.md: Regenerate.
14592 2015-01-16 Zhenqiang Chen <zhenqiang.chen@arm.com>
14595 * ccmp.c (expand_ccmp_next): New function.
14596 (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence
14597 and compare insn sequence.
14598 * config/aarch64/aarch64.c (aarch64_code_to_ccmode,
14599 aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions.
14600 (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO.
14601 * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>.
14602 (*ccmp_ior): Changed to ccmp_ior<mode>.
14603 (cmp<mode>): New pattern.
14604 * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update
14606 * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters.
14608 2015-01-16 Ilya Tocar <ilya.tocar@intel.com>
14610 * config/i386/avx2intrin.h (_mm256_bslli_epi128,
14611 _mm256_bsrli_epi128): New.
14612 * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
14614 2015-01-15 Jiong Wang <jiong.wang@arm.com>
14616 * expmed.c (store_bit_field_using_insv): Improve warning message.
14617 Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.
14619 2015-01-15 Jiong Wang <jiong.wang@arm.com>
14621 PR rtl-optimization/64011
14622 * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
14623 there is partial overflow.
14625 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
14627 * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change
14629 (nds32_expand_epilogue_v3pop): Likewise.
14630 * config/nds32/nds32.md (sibcall): Define this for sibling call
14632 (sibcall_register): Likewise.
14633 (sibcall_immediate): Likewise.
14634 (sibcall_value): Likewise.
14635 (sibcall_value_register): Likewise.
14636 (sibcall_value_immediate): Likewise.
14637 (sibcall_epilogue): Likewise.
14638 (epilogue): Pass false to indicate this is not a sibcall epilogue.
14639 * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case.
14640 (nds32_expand_epilogue_v3pop): Likewise.
14642 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
14644 * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New.
14645 * config/nds32/nds32.md (unspec_volatile_func_return): Remove.
14646 (return_internal): New.
14647 (return): Define this named pattern.
14648 (simple_return): Define this named pattern.
14649 * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal
14650 pattern instead of unspec_volatile_func_return.
14651 (nds32_expand_epilogue_v3pop): Likewise.
14652 (nds32_can_use_return_insn): New function.
14654 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
14656 * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New.
14657 * config/nds32/nds32.md (pop25return): New.
14658 * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit
14659 pop25return pattern.
14661 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
14663 * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp,
14664 -mforbid-fp-as-gp, and -mex9 options.
14666 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
14668 * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and
14669 remove -mgp-direct option.
14671 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
14673 * doc/invoke.texi (--param early-inlining-insns): Update default value.
14674 * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.
14676 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
14678 * ipa-inline.c (inline_small_functions): Work around hints
14681 2015-01-15 Sandra Loosemore <sandra@codesourcery.com>
14684 * doc/invoke.texi (Option Summary): Document new Nios II
14686 (Nios II Options): Likewise.
14687 * config/nios2/nios2.opt: Add -mgpopt= option support.
14688 Modify existing -mgpopt and -mno-gpopt options to be aliases.
14689 * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New.
14690 * config/nios2/nios2.c (nios2_option_override): Adjust
14691 -mgpopt defaulting.
14692 (nios2_in_small_data_p): Return true for explicit small data
14693 sections even with -G0.
14694 (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt=
14697 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
14700 * ipa-inline-transform.c (can_remove_node_now_p): Fix handling
14702 (inline_call): Fix removal of aliases.
14704 2015-01-15 Jakub Jelinek <jakub@redhat.com>
14706 * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR,
14707 include SANITIZE_VPTR in SANITIZE_UNDEFINED.
14708 * opts.c (common_handle_option): Add -fsanitize=vptr.
14709 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS,
14710 BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New.
14711 * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER,
14712 UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE.
14713 (ubsan_expand_vptr_ifn): New prototype.
14714 * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE,
14715 expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL,
14716 expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK,
14717 expand_LOOP_VECTORIZED): Make argument nameless, remove
14719 (expand_UBSAN_VPTR): New function.
14720 * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W
14722 (UBSAN_VPTR): New internal function.
14723 * sanopt.c (tree_map_traits): Renamed to ...
14724 (sanopt_tree_map_traits): ... this.
14725 (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes.
14726 (sanopt_ctx): Adjust asan_check_map type for tree_map_traits
14727 to sanopt_tree_map_traits renaming. Add vptr_check_map field.
14728 (maybe_optimize_ubsan_vptr_ifn): New function.
14729 (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR.
14730 (pass_sanopt::execute): Likewise. Call sanopt_optimize even for
14732 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain
14733 internal calls like pure functions for aliasing, even when they
14734 have other side-effects that prevent making them ECF_PURE.
14735 * ubsan.c (ubsan_vptr_type_cache_decl): New variable.
14736 (ubsan_expand_vptr_ifn): New function.
14738 2015-01-15 Vladimir Makarov <vmakarov@redhat.com>
14740 PR rtl-optimization/64110
14741 * stmt.c (parse_output_constraint): Process '^' and '$'.
14742 (parse_input_constraint): Ditto.
14743 * lra-constraints.c (process_alt_operands): Process the new
14745 * ira-costs.c (record_reg_classes): Process the new constraint
14747 * genoutput.c (indep_constraints): Add '^' and '$'.
14748 * config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'.
14749 * doc/md.texi: Add description of the new constraints.
14751 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
14752 Bernd Schmidt <bernds@codesourcery.com>
14753 Cesar Philippidis <cesar@codesourcery.com>
14754 James Norris <jnorris@codesourcery.com>
14755 Tom de Vries <tom@codesourcery.com>
14756 Ilmir Usmanov <i.usmanov@samsung.com>
14757 Dmitry Bocharnikov <dmitry.b@samsung.com>
14758 Evgeny Gavrin <e.gavrin@samsung.com>
14759 Jakub Jelinek <jakub@redhat.com>
14761 * builtin-types.def (BT_FN_VOID_INT_INT_VAR)
14762 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
14763 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
14764 New function types.
14765 * builtins.c: Include "gomp-constants.h".
14766 (expand_builtin_acc_on_device): New function.
14767 (expand_builtin, is_inexpensive_builtin): Handle
14768 BUILT_IN_ACC_ON_DEVICE.
14769 * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER):
14771 * cgraph.c (cgraph_node::create): Consider flag_openacc next to
14773 * config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h.
14774 <*-intelmic-* | *-intelmicemul-*> (tm_file): Add
14775 i386/intelmic-offload.h.
14776 * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link
14777 to libgomp and its dependencies.
14778 * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise.
14779 * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
14780 * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
14781 * config/ia64/hpux.h (LIB_SPEC): Likewise.
14782 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
14783 * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
14784 * doc/generic.texi: Update for OpenACC changes.
14785 * doc/gimple.texi: Likewise.
14786 * doc/invoke.texi: Likewise.
14787 * doc/sourcebuild.texi: Likewise.
14788 * gimple-pretty-print.c (dump_gimple_omp_for): Handle
14789 GF_OMP_FOR_KIND_OACC_LOOP.
14790 (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS,
14791 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA,
14792 GF_OMP_TARGET_KIND_OACC_UPDATE,
14793 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
14795 * gimple.c: Update comments for OpenACC changes.
14796 * gimple.def: Likewise.
14797 * gimple.h: Likewise.
14798 (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP,
14799 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
14800 GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE,
14801 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
14802 (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the
14804 (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions.
14805 * gimplify.c: Include "gomp-constants.h".
14806 Update comments for OpenACC changes.
14807 (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA,
14808 OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA,
14809 OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
14810 (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
14811 OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
14812 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
14813 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
14814 OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
14815 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
14817 (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use
14818 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
14819 OMP_CLAUSE_SET_MAP_KIND.
14820 (gimplify_oacc_cache): New function.
14821 (gimplify_omp_for): Handle OACC_LOOP.
14822 (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL,
14824 (gimplify_omp_target_update): Handle OACC_ENTER_DATA,
14825 OACC_EXIT_DATA, OACC_UPDATE.
14826 (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA,
14827 OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA,
14828 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE.
14829 (gimplify_body): Consider flag_openacc next to flag_openmp.
14830 * lto-streamer-out.c: Include "gomp-constants.h".
14831 * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE)
14832 (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END)
14833 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL)
14834 (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT)
14835 (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS)
14836 (BUILT_IN_ACC_ON_DEVICE): New builtins.
14837 * omp-low.c: Include "gomp-constants.h".
14838 Update comments for OpenACC changes.
14839 (struct omp_context): Add reduction_map, gwv_below, gwv_this
14841 (extract_omp_for_data, use_pointer_for_field, install_var_field)
14842 (new_omp_context, delete_omp_context, scan_sharing_clauses)
14843 (create_omp_child_function, scan_omp_for, scan_omp_target)
14844 (check_omp_nesting_restrictions, lower_reduction_clauses)
14845 (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges):
14846 Update for OpenACC changes.
14847 (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS:
14848 OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH,
14849 OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG,
14850 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
14851 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT,
14852 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of
14854 (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
14855 Handle GF_OMP_FOR_KIND_OACC_LOOP.
14856 (expand_omp_target, lower_omp_target): Handle
14857 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
14858 GF_OMP_TARGET_KIND_OACC_UPDATE,
14859 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA,
14860 GF_OMP_TARGET_KIND_OACC_DATA.
14861 (pass_expand_omp::execute, execute_lower_omp)
14862 (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to
14864 (offload_symbol_decl): New variable.
14865 (oacc_get_reduction_array_id, oacc_max_threads)
14866 (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction)
14867 (maybe_lookup_oacc_reduction, enclosing_target_ctx)
14868 (oacc_loop_or_target_p, oacc_lower_reduction_var_helper)
14869 (oacc_gimple_assign, oacc_initialize_reduction_data)
14870 (oacc_finalize_reduction_data, oacc_process_reduction_data): New
14872 (is_targetreg_ctx): Remove function.
14873 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_,
14874 OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE,
14875 OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
14876 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
14877 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS,
14878 OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH.
14879 * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly.
14880 * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR)
14881 (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR)
14882 (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR)
14883 (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR)
14884 (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros.
14885 * tree-core.h: Update comments for OpenACC changes.
14886 (enum omp_clause_map_kind): Remove.
14887 (struct tree_omp_clause): Change type of map_kind member from enum
14888 omp_clause_map_kind to unsigned char.
14889 * tree-inline.c: Update comments for OpenACC changes.
14890 * tree-nested.c: Likewise. Include "gomp-constants.h".
14891 (convert_nonlocal_reference_stmt, convert_local_reference_stmt)
14892 (convert_tramp_reference_stmt, convert_gimple_call): Update for
14893 OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
14894 OMP_CLAUSE_SET_MAP_KIND.
14895 * tree-pretty-print.c: Include "gomp-constants.h".
14896 (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT,
14897 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG,
14898 OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ,
14899 OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR,
14900 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
14901 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_*
14902 instead of OMP_CLAUSE_MAP_*.
14903 (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS,
14904 OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE,
14905 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
14906 * tree-streamer-in.c: Include "gomp-constants.h".
14907 (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of
14908 OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
14909 * tree-streamer-out.c: Include "gomp-constants.h".
14910 (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of
14912 * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA)
14913 (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE)
14914 (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes.
14915 * tree.c (omp_clause_num_ops): Update accordingly.
14916 * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE):
14918 (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY)
14919 (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES)
14920 (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES)
14921 (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES)
14922 (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES)
14923 (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros.
14924 * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind.
14925 (OMP_CLAUSE_SET_MAP_KIND): New macro.
14926 * varpool.c (varpool_node::get_create): Consider flag_openacc next
14928 * config/i386/intelmic-offload.h: New file.
14929 * config/nvptx/offload.h: Likewise.
14931 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
14933 * explow.h: Remove duplicate contents.
14934 * dojump.h: Likewise.
14936 2015-01-15 Richard Earnshaw <rearnsha@arm.com>
14938 * arm.c (arm_xgene_tune): Add default initializer for instruction
14941 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
14945 * ipa.c (symbol_table::remove_unreachable_nodes):
14946 Do not put abstract origins into boundary.
14948 2015-01-15 Evgeny Stupachenko <evstupac@gmail.com>
14950 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage.
14951 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto.
14953 2015-01-15 Steve Ellcey <sellcey@mips.com>
14955 * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h,
14956 cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h,
14957 builtins.def, and chkp-builtins.def.
14959 2015-01-15 David Edelsohn <dje.gcc@gmail.com>
14961 * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use
14964 2015-01-15 Richard Biener <rguenther@suse.de>
14966 PR tree-optimization/61743
14967 * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range
14968 information on PHIs for some simple cases.
14970 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
14972 * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list.
14974 * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1.
14975 * config/arm/arm-cores.def (xgene1): New entry.
14976 * config/arm/arm-tables.opt: Regenerate.
14977 * config/arm/arm-tune.md: Regenerate.
14978 * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1.
14980 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
14982 * tree-if-conv.c: Include hash-map.h.
14983 (aggressive_if_conv): New variable.
14984 (fold_build_cond_expr): Add simplification of non-zero condition.
14985 (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge
14986 destination block is not always executed.
14987 (if_convertible_phi_p): Fix commentary, allow phi nodes have more
14988 than two predecessors if AGGRESSIVE_IF_CONV is true.
14989 (if_convertible_stmt_p): Fix commentary.
14990 (all_preds_critical_p): New function.
14991 (has_pred_critical_p): New function.
14992 (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true
14993 BB can have more than two predecessors and all incoming edges can be
14995 (predicate_bbs): Skip predication for loop exit block, use build2_loc
14996 to compute predicate for true edge.
14997 (find_phi_replacement_condition): Delete this function.
14998 (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED.
14999 Allow interchange PHI arguments if EXTENDED is false.
15000 Change check that block containing reduction statement candidate
15001 is predecessor of phi-block since phi may have more than two arguments.
15002 (phi_args_hash_traits): New helper structure.
15003 (struct phi_args_hash_traits): New type.
15004 (phi_args_hash_traits::hash): New function.
15005 (phi_args_hash_traits::equal_keys): New function.
15006 (gen_phi_arg_condition): New function.
15007 (predicate_scalar_phi): Add handling of phi nodes with more than two
15008 arguments, delete COND and TRUE_BB arguments, insert body of
15009 find_phi_replacement_condition to predicate ordinary phi nodes.
15010 (predicate_all_scalar_phis): Skip blocks with the only predecessor,
15011 delete call of find_phi_replacement_condition and invoke
15012 predicate_scalar_phi with two arguments.
15013 (insert_gimplified_predicates): Add assert that non-predicated block
15014 don't have statements to insert.
15015 (ifcvt_split_critical_edges): New function.
15016 (ifcvt_split_def_stmt): Likewise.
15017 (ifcvt_walk_pattern_tree): Likewise.
15018 (stmt_is_root_of_bool_pattern): Likewise.
15019 (ifcvt_repair_bool_pattern): Likewise.
15020 (ifcvt_local_dce): Likewise.
15021 (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which
15022 is copy of inner or outer loop force_vectorize field, invoke
15023 ifcvt_split_critical_edges, ifcvt_local_dce and
15024 ifcvt_repair_bool_pattern for aggressive if-conversion.
15026 2015-01-15 Philipp Tomsich <ptomsich@theobroma-systems.com>
15028 * config/aarch64/aarch64.md: Include xgene1.md.
15029 * config/aarch64/xgene1.md: New file.
15031 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
15033 * config/aarch64/aarch64-cores.def (xgene1): Update/add the
15034 xgene1 (APM XGene-1) core definition.
15035 * gcc/config/aarch64/aarch64.c: Add cost tables for APM XGene-1
15036 * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1
15037 * doc/invoke.texi: Document -mcpu=xgene1.
15039 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
15041 * dojump.h: New header file.
15042 * explow.h: Likewise.
15043 * expr.h: Remove includes.
15044 Move expmed.c prototypes to expmed.h.
15045 Move dojump.c prototypes to dojump.h.
15046 Move alias.c prototypes to alias.h.
15047 Move explow.c prototypes to explow.h.
15048 Move calls.c prototypes to calls.h.
15049 Move emit-rtl.c prototypes to emit-rtl.h.
15050 Move varasm.c prototypes to varasm.h.
15051 Move stmt.c prototypes to stmt.h.
15052 (saved_pending_stack_adjust): Move to dojump.h.
15053 (adjust_address): Move to explow.h.
15054 (adjust_address_nv): Move to emit-rtl.h.
15055 (adjust_bitfield_address): Likewise.
15056 (adjust_bitfield_address_size): Likewise.
15057 (adjust_bitfield_address_nv): Likewise.
15058 (adjust_automodify_address_nv): Likewise.
15059 * explow.c (expr_size): Move to expr.c.
15060 (int_expr_size): Likewise.
15061 (tree_expr_size): Likewise.
15062 Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15063 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
15064 * genemit.c (main): Generate includes statistics.h, real.h,
15065 fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
15067 * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h,
15068 function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h,
15069 explow.h, emit-rtl.h, stmt.h.
15070 * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
15071 fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
15072 * genemit.c (open_base_files): Generate includes flags.h, statistics.h,
15073 real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h,
15074 emit-rtl.h, varasm.h, stmt.h.
15075 * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h,
15076 hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h,
15077 function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h,
15078 fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h,
15079 expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
15080 * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
15081 double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
15082 function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
15083 insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
15084 tm.h tree.h varasm.h vec.h wide-int.h.
15085 * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
15086 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
15087 hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
15088 real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
15089 * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h
15090 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h
15091 insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
15092 * loop-iv.c: Likewise.
15093 * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h
15094 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h
15095 statistics.h stmt.h tree.h varasm.h wide-int.h.
15096 * lra-constraints.c: Likewise.
15097 * lra-eliminations.c: Likewise.
15098 * lra-lives.c: Likewise.
15099 * lra-remat.c: Likewise.
15100 * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
15101 explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
15102 statistics.h stmt.h tree.h varasm.h wide-int.h.
15103 * hw-doloop.c: Likewise.
15104 * ira-color.c: Likewise.
15105 * ira-emit.c: Likewise.
15106 * loop-doloop.c: Likewise.
15107 * loop-invariant.c: Likewise.
15108 * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
15109 explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
15110 statistics.h stmt.h tree.h varasm.h wide-int.h.
15111 * caller-save.c: Include alias.h calls.h dojump.h double-int.h
15112 emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h
15113 statistics.h stmt.h tree.h varasm.h wide-int.h.
15114 * combine-stack-adj.c: Likewise.
15117 * ifcvt.c: Likewise.
15118 * ira-costs.c: Likewise.
15119 * jump.c: Likewise.
15120 * lra-coalesce.c: Likewise.
15121 * lra-spills.c: Likewise.
15122 * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
15123 explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
15124 stmt.h varasm.h wide-int.h.
15125 * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
15126 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
15128 * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
15129 double-int.h explow.h expmed.h fixed-value.h flags.h real.h
15130 statistics.h stmt.h varasm.h wide-int.h.
15131 * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
15132 expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
15133 varasm.h wide-int.h.
15134 * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
15135 expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
15136 * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
15137 emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
15138 statistics.h stmt.h.
15139 * config/tilepro/tilepro.c: Likewise.
15140 * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
15141 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
15142 * config/pdp11/pdp11.c: Likewise.
15143 * config/xtensa/xtensa.c: Likewise.
15144 * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
15145 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
15147 * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15148 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
15149 insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
15150 * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15151 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
15152 insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
15153 * rtl-chkp.c: Likewise.
15154 * tree-chkp-opt.c: Likewise.
15155 * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h
15156 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
15157 hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h.
15158 * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15159 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
15160 statistics.h stmt.h.
15161 * tree-vect-data-refs.c: Likewise.
15162 * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
15163 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
15164 rtl.h statistics.h stmt.h varasm.h.
15165 * internal-fn.c: Likewise.
15166 * ipa-icf-gimple.c: Likewise.
15167 * lto-section-out.c: Likewise.
15168 * tree-data-ref.c: Likewise.
15169 * tree-nested.c: Likewise.
15170 * tree-outof-ssa.c: Likewise.
15171 * tree-predcom.c: Likewise.
15172 * tree-pretty-print.c: Likewise.
15173 * tree-scalar-evolution.c: Likewise.
15174 * tree-ssa-strlen.c: Likewise.
15175 * tree-vect-loop.c: Likewise.
15176 * tree-vect-patterns.c: Likewise.
15177 * tree-vect-slp.c: Likewise.
15178 * tree-vect-stmts.c: Likewise.
15179 * tsan.c: Likewise.
15180 * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15181 fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
15183 * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
15184 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
15185 statistics.h stmt.h varasm.h.
15186 * loop-unroll.c: Likewise.
15187 * ubsan.c: Likewise.
15188 * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
15189 expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
15191 * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15192 fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
15193 * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
15194 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
15195 statistics.h stmt.h.
15196 * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
15197 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
15198 statistics.h stmt.h varasm.h.
15199 * gimple-match-head.c: Likewise.
15200 * lto-cgraph.c: Likewise.
15201 * lto-section-in.c: Likewise.
15202 * lto-streamer-in.c: Likewise.
15203 * lto-streamer-out.c: Likewise.
15204 * tree-affine.c: Likewise.
15205 * tree-cfg.c: Likewise.
15206 * tree-cfgcleanup.c: Likewise.
15207 * tree-if-conv.c: Likewise.
15208 * tree-into-ssa.c: Likewise.
15209 * tree-ssa-alias.c: Likewise.
15210 * tree-ssa-copyrename.c: Likewise.
15211 * tree-ssa-dse.c: Likewise.
15212 * tree-ssa-forwprop.c: Likewise.
15213 * tree-ssa-live.c: Likewise.
15214 * tree-ssa-math-opts.c: Likewise.
15215 * tree-ssa-pre.c: Likewise.
15216 * tree-ssa-sccvn.c: Likewise.
15217 * tree-tailcall.c: Likewise.
15218 * tree-vect-generic.c: Likewise.
15219 * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15220 fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
15221 * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15222 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
15223 * varasm.c: Likewise.
15224 * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15225 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
15227 * init-regs.c: Likewise.
15229 * omp-low.c: Likewise.
15230 * stack-ptr-mod.c: Likewise.
15231 * tree-ssa-reassoc.c: Likewise.
15232 * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15233 fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
15235 * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15236 fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
15237 * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15238 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
15239 * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15240 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
15241 * tree-ssa-phiopt.c: Likewise.
15242 * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15243 fixed-value.h hashtab.h real.h statistics.h stmt.h.
15244 * config/fr30/fr30.c: Likewise.
15245 * config/frv/frv.c: Likewise.
15246 * expr.c: Likewise.
15247 * final.c: Likewise.
15248 * optabs.c: Likewise.
15249 * passes.c: Likewise.
15250 * simplify-rtx.c: Likewise.
15251 * stmt.c: Likewise.
15252 * toplev.c: Likewise.
15253 * var-tracking.c: Likewise.
15254 * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15255 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
15256 * lower-subreg.c: Likewise.
15257 * postreload-gcse.c: Likewise.
15259 * reginfo.c: Likewise.
15260 * store-motion.c: Likewise.
15261 * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15262 fixed-value.h hashtab.h real.h stmt.h varasm.h.
15263 * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15264 fixed-value.h hashtab.h statistics.h stmt.h.
15265 * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15266 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
15267 * except.c: Likewise.
15268 * explow.c: Likewise.
15269 * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15270 fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
15272 * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15273 fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
15274 * tree-ssa-structalias.c: Likewise.
15275 * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15276 fixed-value.h insn-config.h real.h statistics.h.
15277 * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15278 fixed-value.h insn-config.h real.h statistics.h stmt.h.
15279 * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15280 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
15281 * cfgbuild.c: Likewise.
15282 * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15283 fixed-value.h real.h rtl.h statistics.h stmt.h.
15284 * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15285 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
15286 * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15287 fixed-value.h real.h statistics.h stmt.h.
15288 * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
15289 fixed-value.h real.h statistics.h stmt.h varasm.h.
15290 * cprop.c: Likewise.
15291 * modulo-sched.c: Likewise.
15292 * postreload.c: Likewise.
15293 * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
15294 flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
15295 statistics.h stmt.h varasm.h.
15296 * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
15297 explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
15298 rtl.h statistics.h stmt.h varasm.h.
15299 * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
15300 fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
15302 * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
15303 function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
15305 * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
15306 fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
15308 * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
15309 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
15310 * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
15311 function.h real.h statistics.h stmt.h varasm.h.
15312 * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
15313 insn-config.h real.h statistics.h stmt.h.
15314 * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
15315 statistics.h stmt.h.
15316 * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
15317 fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
15318 statistics.h stmt.h varasm.h.
15319 * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h
15320 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
15321 * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
15322 flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
15323 * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
15324 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
15325 statistics.h stmt.h varasm.h.
15326 * ipa-polymorphic-call.c: Likewise.
15327 * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h
15328 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
15329 statistics.h stmt.h.
15330 * config/c6x/c6x.c: Likewise.
15331 * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h
15332 explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
15333 statistics.h stmt.h varasm.h.
15334 * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h
15335 fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h
15337 * ipa-split.c: Likewise.
15338 * tree-eh.c: Likewise.
15339 * tree-ssa-dce.c: Likewise.
15340 * tree-ssa-loop-niter.c: Likewise.
15341 * tree-vrp.c: Likewise.
15342 * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
15343 expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
15345 * config/nds32/nds32-fp-as-gp.c: Likewise.
15346 * config/nds32/nds32-intrinsic.c: Likewise.
15347 * config/nds32/nds32-isr.c: Likewise.
15348 * config/nds32/nds32-md-auxiliary.c: Likewise.
15349 * config/nds32/nds32-memory-manipulation.c: Likewise.
15350 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
15351 * config/nds32/nds32-predicates.c: Likewise.
15352 * config/nds32/nds32.c: Likewise.
15353 * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
15354 fixed-value.h hashtab.h real.h statistics.h.
15355 * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
15356 fixed-value.h hashtab.h real.h statistics.h stmt.h.
15357 * config/arm/arm.c: Likewise.
15358 * config/avr/avr.c: Likewise.
15359 * config/bfin/bfin.c: Likewise.
15360 * config/h8300/h8300.c: Likewise.
15361 * config/i386/i386.c: Likewise.
15362 * config/ia64/ia64.c: Likewise.
15363 * config/iq2000/iq2000.c: Likewise.
15364 * config/m32c/m32c.c: Likewise.
15365 * config/m32r/m32r.c: Likewise.
15366 * config/m68k/m68k.c: Likewise.
15367 * config/mcore/mcore.c: Likewise.
15368 * config/mep/mep.c: Likewise.
15369 * config/mips/mips.c: Likewise.
15370 * config/mn10300/mn10300.c: Likewise.
15371 * config/moxie/moxie.c: Likewise.
15372 * config/pa/pa.c: Likewise.
15373 * config/rl78/rl78.c: Likewise.
15374 * config/rx/rx.c: Likewise.
15375 * config/s390/s390.c: Likewise.
15376 * config/sh/sh.c: Likewise.
15377 * config/sparc/sparc.c: Likewise.
15378 * config/spu/spu.c: Likewise.
15379 * config/stormy16/stormy16.c: Likewise.
15380 * config/v850/v850.c: Likewise.
15381 * config/vax/vax.c: Likewise.
15382 * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
15383 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
15384 * config/msp430/msp430.c: Likewise.
15385 * predict.c: Likewise.
15386 * value-prof.c: Likewise.
15387 * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
15388 expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
15389 * config/microblaze/microblaze.c: Likewise.
15390 * config/nios2/nios2.c: Likewise.
15391 * config/rs6000/rs6000.c: Likewise.
15392 * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
15393 insn-config.h real.h rtl.h statistics.h stmt.h.
15394 * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
15395 insn-config.h real.h statistics.h stmt.h.
15396 * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
15397 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
15398 * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
15399 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
15400 * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h
15401 fixed-value.h real.h statistics.h stmt.h.
15402 * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
15403 fixed-value.h statistics.h stmt.h.
15404 * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
15407 2015-01-15 Jakub Jelinek <jakub@redhat.com>
15409 * gengtype.c (create_user_defined_type): Workaround
15410 -Wmaybe-uninitialized false positives.
15411 * cse.c (fold_rtx): Likewise.
15412 * loop-invariant.c (gain_for_invariant): Likewise.
15414 2015-01-15 Eric Botcazou <ebotcazou@adacore.com>
15416 * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
15417 set the memory attributes in all cases but clear MEM_EXPR if need be.
15419 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
15421 PR tree-optimization/64434
15422 * cfgexpand.c (reorder_operands): New function.
15423 (expand_gimple_basic_block): Insert call of reorder_operands if
15426 2015-01-15 Matthew Fortune <matthew.fortune@imgtec.com>
15428 * config/mips/micromips.md (*swp): Remove explicit parallel.
15429 (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise.
15430 * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise.
15431 (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise.
15432 (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise.
15433 (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise.
15434 (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise.
15435 (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise.
15436 (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise.
15437 (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise.
15438 (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise.
15439 (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise.
15440 (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise.
15441 (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise.
15442 (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise.
15443 (mips_wrdsp): Likewise.
15444 * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit
15446 (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise.
15447 (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise.
15448 (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise.
15449 (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise.
15450 (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise.
15451 (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise.
15452 * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel.
15453 (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise.
15454 (ssmaddsqdq4, ssmsubsqdq4): Likewise.
15456 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
15458 * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA.
15459 (mips_print_operand): Support 'y' to print exact log2 in decimal
15461 * config/mips/mips.h (ISA_HAS_LSA): New define.
15462 (ISA_HAS_DLSA): Likewise.
15463 * config/mips/mips.md (<GPR:d>lsa): New define_insn.
15464 * config/mips/predicates.md (const_immlsa_operand): New predicate.
15466 2015-01-15 Martin Liska <mliska@suse.cz>
15469 * optc-save-gen.awk: Add support for array types.
15471 2015-01-15 Richard Biener <rguenther@suse.de>
15473 PR middle-end/64365
15474 * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
15475 for MEM_REF access functions with the same base can never partially
15478 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
15480 * common.opt: New option -fstack-protector-explicit.
15481 * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
15482 (stack_protect_decl_phase): Handle stack_protect attribute for
15483 explicit stack protection requests.
15484 (expand_used_vars): Similarly.
15485 * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
15486 * doc/extend.texi: Add documentation for "stack_protect" attribute.
15487 * doc/invoke.texi: Add documentation for -fstack-protector-explicit.
15489 2015-01-14 Oleg Endo <olegendo@gcc.gnu.org>
15492 * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
15494 (sh_extending_set_of_reg): New struct.
15495 (sh_find_extending_set_of_reg, sh_split_tst_subregs,
15496 sh_remove_reg_dead_or_unused_notes): New Declarations.
15497 * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
15498 sh_find_extending_set_of_reg, sh_split_tst_subregs,
15499 sh_extending_set_of_reg::use_as_extended_reg): New functions.
15500 * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
15501 convert to insn_and_split and use new function sh_split_tst_subregs.
15503 2015-01-14 Sandra Loosemore <sandra@codesourcery.com>
15505 * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
15507 (Optimization Options): Move -fuse-ld documentation to...
15508 (Link Options): ...here.
15510 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
15512 * config/mips/constraints.md (ZC): Add support for R6 LL/SC
15514 (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
15515 * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
15516 (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
15517 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
15518 instead of ZR for the memory operand of LL/SC.
15519 (compare_and_swap_12, sync_add<mode>): Likewise.
15520 (sync_<optab>_12, sync_old_<optab>_12): Likewise.
15521 (sync_new_<optab>_12, sync_nand_12): Likewise.
15522 (sync_old_nand_12, sync_new_nand_12): Likewise.
15523 (sync_sub<mode>, sync_old_add<mode>): Likewise.
15524 (sync_old_sub<mode>, sync_new_add<mode>): Likewise.
15525 (sync_new_sub<mode>, sync_<optab><mode>): Likewise.
15526 (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
15527 (sync_nand<mode>, sync_old_nand<mode>): Likewise.
15528 (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
15529 (test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
15530 (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
15531 * doc/md.texi (ZC): Update description.
15533 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
15535 * builtins.c (expand_builtin_atomic_exchange): Remove error when
15536 memory model is CONSUME.
15537 (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
15538 expand_builtin_atomic_store): Change invalid memory model errors to
15540 (expand_builtin_atomic_clear): Change invalid model errors to warnings
15541 and issue warning for CONSUME.
15543 2015-01-14 Aldy Hernandez <aldyh@redhat.com>
15545 * lto-cgraph: Update function comments for
15546 lto_symtab_encoder_encode_*.
15548 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
15550 * Makefile.in (site.exp): Do not set ENABLE_LTO.
15552 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
15554 * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
15555 * lto-cgraph.c (select_what_to_stream): Remove argument, use
15556 lto_stream_offload_p instead.
15557 * lto-streamer.h (select_what_to_stream): Remove argument.
15558 * passes.c (ipa_write_summaries): Likewise.
15559 * tree-pass.h (ipa_write_summaries): Likewise.
15561 2015-01-14 Richard Biener <rguenther@suse.de>
15563 PR tree-optimization/59354
15564 * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
15565 groups larger than the slp group size as having gaps.
15567 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
15569 PR middle-end/59448
15570 * builtins.c (get_memmodel): Promote consume to acquire always.
15572 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
15575 * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
15578 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
15581 * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
15583 (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
15584 * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
15585 AVX512VBMI, as it implies AVX512BW.
15587 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
15590 * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
15591 (vec_unpacks_hi_v16sf): Ditto.
15593 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15595 * config/aarch64/arm_neon.h: Error out if AdvancedSIMD
15598 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15600 * doc/invoke.texi (mapcs): Mention deprecation.
15601 (mapcs-frame): Likewise.
15603 2015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
15606 * config/arm/arm.c (callee_saved_reg_p): Define.
15607 (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
15608 register is callee saved instead of !call_used_regs[reg].
15609 (thumb1_compute_save_reg_mask): Likewise.
15611 2015-01-14 Hale Wang <hale.wang@arm.com>
15613 * config/arm/arm.c: Tune the max_cond_insns/branch_cost for
15616 2015-01-14 Richard Biener <rguenther@suse.de>
15619 * tree-inline.c (insert_debug_decl_map): Check destination
15620 function MAY_HAVE_DEBUG_STMTS.
15621 (insert_init_debug_bind): Likewise.
15622 (insert_init_stmt): Remove redundant check.
15623 (remap_gimple_stmt): Drop debug stmts if the destination
15624 function has var-tracking assignments disabled.
15626 2015-01-14 Martin Liska <mliska@suse.cz>
15628 * ipa-icf-gimple.c (func_checker::compare_operand): Add support for
15629 IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.
15631 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15634 * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
15635 (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.
15637 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
15639 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
15640 level from an ARCH; do not inject the default.
15641 (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
15642 MIPS_ISA_LEVEL_SPEC.
15643 (MIPS_ISA_NAN2008_SPEC): Update comment.
15644 (BASE_DRIVER_SELF_SPECS): Likewise.
15645 * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
15646 MIPS_DEFAULT_ISA_LEVEL_SPEC.
15647 * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
15648 * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
15649 * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.
15651 2015-01-14 Richard Biener <rguenther@suse.de>
15653 PR tree-optimization/64493
15654 PR tree-optimization/64495
15655 * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
15656 assign the proper vectorized PHI to the inner loop exit PHIs.
15658 2015-01-14 Joey Ye <joey.ye@arm.com>
15660 * config/arm/arm.c (arm_compute_save_reg_mask):
15661 Do not save lr in case of tail call.
15662 * config/arm/thumb2.md (*thumb2_pop_single): New pattern.
15664 2015-01-14 Martin Uecker <uecker@eecs.berkeley.edu>
15666 * tree-vrp.c (check_array_ref): Emit more warnings
15667 for warn_array_bounds >= 2.
15668 * common.opt: New option -Warray-bounds=.
15669 * doc/invoke.texi: Document -Warray-bounds=.
15671 2015-01-14 Chung-Ju Wu <jasonwucj@gmail.com>
15673 * config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
15674 (mforbid-fp-as-gp): Remove.
15676 * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
15677 (nds32_symbol_load_store_p): Remove.
15678 (nds32_fp_as_gp_check_available): Clean up implementation.
15679 * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
15681 * config/nds32/nds32.c (nds32_asm_file_start): No need to consider
15682 fp-as-gp and ex9 cases.
15684 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
15686 * tree-profile.c (init_ic_make_global_vars): Drop workaround
15687 for bintuils bug 14342.
15688 (init_ic_make_global_vars): Likewise.
15689 (gimple_init_edge_profiler): Likewise.
15690 (gimple_gen_ic_func_profiler): Likewise.
15692 2015-01-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
15694 * ipa-inline.c (inline_small_functions): Swap the operands in
15697 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
15700 * ipa-inline-analysis.c (node_growth_cache): Remove.
15701 (initialize_growth_caches): Do not initialize it.
15702 (free_growth_caches): Do not free it.
15703 (do_estimate_growth): Rename to ...
15704 (estimate_growth): ... this one; drop growth cache code.
15705 (growth_likely_positive): Always go the heuristics way.
15706 * ipa-inline.c (can_inline_edge_p): Walk through aliases.
15707 (reset_edge_caches): Do not reset node growth.
15708 (heap_edge_removal_hook): Do not maintain cache.
15709 (inline_small_functions): Likewise; strenghten sanity check.
15710 (ipa_inline): Do not maintain caches.
15711 * ipa-inline.h (node_growth_cache): Remove.
15712 (do_estimate_growth): Remove to ...
15713 (estimate_growth): this one; remove inline version.
15714 (reset_node_growth_cache): Remove.
15716 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
15719 * ipa-inline.c (inline_small_functions): Update callee keys after
15720 resolving speculation
15721 (inline_small_functions): Always check monotonicity of the queue.
15723 2015-01-13 Marek Polacek <polacek@redhat.com>
15725 PR middle-end/64391
15726 * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
15728 2015-01-13 Jakub Jelinek <jakub@redhat.com>
15730 PR rtl-optimization/64286
15731 * ree.c (combine_reaching_defs): Move part of comment earlier,
15732 remove !SCALAR_INT_MODE_P check.
15733 (add_removable_extension): Don't add vector mode
15734 extensions if all uses of the source register aren't the same
15737 2015-01-13 Renlin Li <renlin.li@arm.com>
15739 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
15740 (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
15742 2015-01-13 Martin Liska <mliska@suse.cz>
15744 * ipa-icf.c (sem_function::equals_private): Call new functions
15745 cl_target_option_print_diff and cl_optimization_print_diff.
15746 * optc-save-gen.awk (cl_target_option_print_diff): New function.
15747 (cl_optimization_print_diff): Likewise.
15748 * opth-gen.awk: Likewise.
15750 2015-01-13 Richard Sandiford <richard.sandiford@arm.com>
15752 * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
15753 (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
15754 (*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
15755 (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
15756 (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
15757 (*sub_uxtsi_multp2_uxtw): Add stack pointer sources.
15759 2015-01-13 Andrew Pinski <apinski@cavium.com>
15761 * config/aarch64/aarch64.c (fusion_load_store): Check dest mode
15762 instead of src mode.
15764 2015-01-13 Richard Biener <rguenther@suse.de>
15767 * lto-streamer-out.c (tree_is_indexable): Guard for NULL
15770 2015-01-13 Andrew Pinski <apinski@cavium.com>
15772 * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
15774 (aarch64_operands_adjust_ok_for_ldpstp): Likewise.
15776 2015-01-13 Jakub Jelinek <jakub@redhat.com>
15778 PR middle-end/63974
15779 * cfgexpand.c (expand_computed_goto): Don't call
15780 convert_memory_address here.
15782 2015-01-13 Richard Biener <rguenther@suse.de>
15784 PR tree-optimization/64406
15785 * tree-loop-distibution.c (pass_loop_distribution::execute):
15786 Reset the SCEV hashtable if we distributed anything.
15788 2015-01-13 Richard Biener <rguenther@suse.de>
15790 PR tree-optimization/64404
15791 * tree-vect-stmts.c (vectorizable_load): Reject conflicting
15792 SLP types for CSEd loads.
15794 2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
15796 PR tree-optimization/64436
15797 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
15798 merge of two symbolic numbers for a bitwise OR to ...
15799 (perform_symbolic_merge): This. Also fix computation of the range and
15800 end of the symbolic number corresponding to the result of a bitwise OR.
15802 2015-01-13 Richard Biener <rguenther@suse.de>
15804 PR tree-optimization/64568
15805 * tree-ssa-forwprop.c (pass_forwprop::execute): Properly
15806 release defs of removed stmts, avoid splitting TARGET_MEM_REFs.
15808 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
15810 * config/nds32/nds32.c (nds32_legitimate_address_p): Consider
15811 TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.
15813 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
15815 * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
15816 target-specific symbol_ref flag.
15817 (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
15818 resides in rodata section.
15819 * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
15820 (nds32_encode_section_info): New function.
15822 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
15824 * config/nds32/nds32.md (call): Use pseudo instruction bal which
15825 clobbers TA_REGNUM if large code model is specified.
15826 (call_register): Likewise.
15827 (call_immediate): Likewise.
15828 (call_value): Likewise.
15829 (call_value_register): Likewise.
15830 (call_value_immediate): Likewise.
15832 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
15834 * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
15835 (TARGET_CMODEL_MEDIUM): New macro.
15836 (TARGET_CMODEL_LARGE): New macro.
15837 * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
15838 code model setting in assembly code.
15840 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
15842 * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
15843 Remove MASK_GP_DIRECT flag.
15844 * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
15845 one of the multilib default options.
15846 * config/nds32/nds32.opt (mgp-direct): Remove.
15847 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
15848 -mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian.
15850 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
15852 * config/nds32/nds32.opt (mcmodel): Add new option.
15853 * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
15854 to describe code model.
15856 2015-01-13 Oleg Endo <olegendo@gcc.gnu.org>
15859 * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
15861 2015-01-12 Kaz Kojima <kkojima@gcc.gnu.org>
15863 * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function.
15864 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
15865 (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables.
15866 (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and
15867 __builtin_sh_set_fpscr.
15869 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
15871 * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
15872 after a funtion name just to indicate it is a function.
15873 ([-fsanitize-undefined-trap-on-error]): Likewise.
15874 ([-fdbg-cnt=]): Likewise.
15875 ([-mmemcpy]): Likewise.
15876 ([-mflush-func]): Likewise.
15877 ([-msynci]): Likewise.
15879 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
15881 * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
15884 2015-01-12 Jakub Jelinek <jakub@redhat.com>
15886 PR tree-optimization/64563
15887 * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
15888 instead of != VR_VARYING.
15891 * config/i386/i386.c (ix86_expand_prologue): Add
15892 REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
15894 PR tree-optimization/64454
15895 * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
15896 op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
15897 for signed or [0, op1 - 1] for unsigned modulo.
15898 (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
15899 even if op1 does not satisfy integer_pow2p.
15902 * sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
15904 2015-01-12 Jeff Law <law@redhat.com>
15907 * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
15908 (trunchiqi2, truncsihi2): Similarly.
15910 * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
15911 rather than calling F.
15913 2015-01-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
15915 * tsan.c (instrument_expr): Use force_gimple_operand.
15916 Use may_be_nonaddressable_p instead of is_gimple_addressable.
15918 2015-01-12 Richard Biener <rguenther@suse.de>
15920 PR tree-optimization/64530
15921 * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
15924 2015-01-12 Richard Biener <rguenther@suse.de>
15926 PR middle-end/64357
15927 * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
15930 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15932 * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
15933 Cortex-A17 tuning parameters.
15934 * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.
15936 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15938 * config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
15939 * config/arm/arm.c (arm_macro_fusion_p): New function.
15940 (arm_macro_fusion_pair_p): Likewise.
15941 (TARGET_SCHED_MACRO_FUSION_P): Define.
15942 (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
15943 (ARM_FUSE_NOTHING): Likewise.
15944 (ARM_FUSE_MOVW_MOVT): Likewise.
15945 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
15946 arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
15947 arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
15948 arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
15949 arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
15950 arm_cortex_a5_tune): Specify fuseable_ops value.
15952 2015-01-12 H.J. Lu <hongjiu.lu@intel.com>
15955 * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
15956 test for PIE with copy reloc.
15957 * configure: Regenerated.
15959 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15961 * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
15963 (arm_tls_descseq_addr): Likewise.
15964 (arm_gen_movmemqi): Likewise.
15965 (arm_expand_epilogue_apcs_frame): Likewise.
15966 (arm_expand_epilogue): Likewise.
15967 (arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1
15970 2015-01-12 Martin Liska <mliska@suse.cz>
15973 * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
15974 volatility for correct operands.
15976 2015-01-12 Martin Liska <mliska@suse.cz>
15978 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
15979 that a function is not leaf.
15980 (sem_function::compare_polymorphic_p): Likewise.
15982 2015-01-12 Martin Liska <mliska@suse.cz>
15984 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
15985 that a function is not leaf.
15986 (sem_function::compare_polymorphic_p): Likewise.
15988 2015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
15990 * config/visium/visium.c: Add includes hashtab.h, hash-set.h,
15991 machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
15992 fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
15993 fold-const.h, tree-check.h.
15995 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
15999 * ipa-inline.c (compute_uninlined_call_time,
16000 compute_inlined_call_time): Use counts for extra precision when
16002 (big_speedup_p): Fix formating.
16003 (RELATIVE_TIME_BENEFIT_RANGE): Remove.
16004 (relative_time_benefit): Remove.
16005 (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
16006 merge guessed and read profile paths.
16007 (inline_small_functions): Count only !optimize_size functions into
16008 initial size; be more lax about sanity check when profile is used;
16009 be sure to update inlined function profile when profile is read.
16011 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
16014 * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
16015 cost when edge becomes direct.
16016 * ipa-prop.c (make_edge_direct): Do not adjust when speculation
16017 is resolved or when introducing new speculation.
16019 2015-01-12 Chen Gang <gang.chen.5i5j@gmail.com>
16023 * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
16024 '||' to fix typo issue.
16026 * gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
16027 accept and return NULL.
16029 2015-01-12 Martin Liska <mliska@suse.cz>
16031 * cgraph.c (cgraph_edge::remove_callee): Move function to header
16032 file for being inlined.
16033 (cgraph_set_edge_callee): Delete.
16034 (cgraph_edge::redirect_callee): Move function to header file
16036 (cgraph_edge::make_direct): Use new function.
16037 (cgraph_edge::dump_edge_flags): New function created from
16038 static dump_edge_flags function.
16039 (cgraph_node::dump): Use new function.
16040 (cgraph_edge::verify_count_and_frequency): New function created
16041 from verify_edge_count_and_frequency.
16042 (cgraph_edge::verify_corresponds_to_fndecl): New function created
16043 from verify_edge_corresponds_to_fndecl.
16044 (verify_edge_corresponds_to_fndecl): Delete.
16045 (cgraph_node::verify_node): Use new function.
16046 * cgraph.h (cgraph_edge::set_callee): New function.
16047 (cgraph_edge::dump_edge_flags): Likewise.
16048 (cgraph_edge::verify_corresponds_to_fndecl): Likewise.
16050 2015-01-11 Jan Hubicka <hubicka@ucw.cz>
16052 * ipa-utils.c (estimate_function_body_sizes): Do not
16053 free node params when called late with early=true.
16055 2015-01-11 James Greenhalgh <james.greenhalgh@arm.com>
16057 * doc/md.texi (Instruction Patterns): Rewrite text for
16059 (Example): Likewise.
16061 2015-01-10 Sandra Loosemore <sandra@codesourcery.com>
16063 * doc/invoke.texi (Option Summary): Break long lines.
16064 [(-fdiagnostics-color)]: Put long literal in @smallexample
16066 [(-fsanitize-recover)]: Likewise.
16067 [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
16068 [(-ffast-math)]: Likewise.
16069 [(--param max-inline-insns-recursive)]: Likewise.
16070 [(--param max-inline-recursive-depth)]: Likewise.
16071 [(-mno-text-section-literals)]: Likewise.
16073 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
16075 * doc/install.texi: Update for libgomp being renamed from "GNU
16076 OpenMP Runtime Library" to "GNU Offloading and Multi Processing
16078 * doc/sourcebuild.texi: Likewise.
16080 2015-01-10 Anthony Green <green@moxielogic.com>
16082 * config/moxie/moxie.c (moxie_option_override): Fix forcing of
16083 mul.x availability for moxiebox configuration.
16085 2015-01-09 Anthony Green <green@moxielogic.com>
16087 * config/moxie/moxie.md: Tabify assembly output.
16089 2015-01-09 Anthony Green <green@moxielogic.com>
16091 * config/moxie/moxie.md (CC_REG): Correct register definition.
16093 2015-01-09 Sandra Loosemore <sandra@codesourcery.com>
16095 * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
16096 ([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location
16099 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
16101 * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
16103 2015-01-09 Bernd Schmidt <bernds@codesourcery.com>
16104 Jakub Jelinek <jakub@redhat.com>
16106 PR middle-end/64412
16107 * lto-streamer.h (lto_stream_offload_p): New declaration.
16108 * lto-streamer.c (lto_stream_offload_p): New variable.
16109 * cgraphunit.c (ipa_passes): Set lto_stream_offload_p
16110 at the same time as section_name_prefix.
16111 * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
16112 if lto_stream_offload_p.
16113 * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
16114 stream TREE_TARGET_OPTION if lto_stream_offload_p.
16115 (write_ts_function_decl_tree_pointers): Don't
16116 stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
16117 * tree-streamer-in.c (unpack_value_fields): Don't stream
16118 TREE_TARGET_OPTION in if ACCEL_COMPILER.
16119 (lto_input_ts_function_decl_tree_pointers): Don't stream
16120 DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
16121 * lto-opts.c (lto_write_options): Use lto_stream_offload_p
16122 instead of section_name_prefix string comparisons.
16124 2015-01-09 Jakub Jelinek <jakub@redhat.com>
16126 PR rtl-optimization/64536
16127 * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
16130 2015-01-09 Michael Collison <michael.collison@linaro.org>
16132 PR tree-optimization/64322
16133 * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive
16134 range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic.
16136 2015-01-09 Tom de Vries <tom@codesourcery.com>
16138 PR rtl-optimization/64539
16139 * regcprop.c (kill_clobbered_values): Factor out of ...
16140 (copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values
16141 instead of note_stores with kill_clobbered_value.
16143 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
16145 * ginclude/unwind-arm-common.h: Revert previous commit.
16147 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
16149 * config.gcc (arm*-*-freebsd*): New configuration.
16150 * config/arm/freebsd.h: New file.
16151 * config.host: Add extra components for arm*-*-freebsd*.
16152 * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
16153 * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
16155 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
16157 * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
16159 * config/rs6000/t-rtems: Add e6500 multilibs.
16161 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
16163 * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
16166 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
16168 * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
16169 MULTILIB_EXCEPTIONS.
16171 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
16173 * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
16174 MULTILIB_EXCEPTIONS.
16176 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
16178 * config/arm/t-rtems-eabi: Rename to...
16179 * config/arm/t-rtems: ...this.
16180 * config/arm/rtems-eabi.h: Rename to...
16181 * config/arm/rtems.h: ...this.
16182 * config.gcc (arm*-*-rtems*): Reflect changes above.
16184 2015-01-09 Richard Biener <rguenther@suse.de>
16186 PR tree-optimization/64410
16187 * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
16189 (execute_update_addresses_taken): Deal with that.
16190 * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
16191 loads/stores for complex variables.
16193 2015-01-09 Martin Liska <mliska@suse.cz>
16195 * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
16197 (func_checker::compare_memory_operand): New function.
16198 (func_checker::compare_operand): Split case to newly
16200 (func_checker::compare_cst_or_decl): New function.
16201 (func_checker::compare_gimple_call): Identify
16203 (func_checker::compare_gimple_assign): Likewise.
16204 * ipa-icf-gimple.h: New function.
16206 2015-01-09 Martin Liska <mliska@suse.cz>
16209 * sreal.c (sreal::dump): Change unsigned format to signed for
16211 (sreal::to_double): Replace exp2 with scalbln.
16213 2015-01-09 Martin Liska <mliska@suse.cz>
16215 * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
16216 * ipa-icf.c (sem_function::equals_private): Add support for target and
16217 (sem_item_optimizer::merge_classes): Remove redundant function
16218 optimization flags comparison.
16219 * tree.h (target_opts_for_fn): New function.
16221 2015-01-09 Tom de Vries <tom@codesourcery.com>
16223 * omp-low.c (expand_omp_for_static_chunk): Fix assert.
16225 2015-01-09 Kito Cheng <kito@0xlab.org>
16227 PR rtl-optimization/64348
16228 * lra-constraints.c (split_reg): Fix caller-save store/restore
16229 instruction generation.
16231 2015-01-08 John David Anglin <danglin@gcc.gnu.org>
16233 PR gcov-profile/61790
16234 * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
16235 long long. Fallback to int64_t if host doesn't have long long and
16236 use strtol if int64_t is long. Otherwise, use sscanf for conversion.
16238 2015-01-08 Jakub Jelinek <jakub@redhat.com>
16240 PR tree-optimization/63989
16241 * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
16242 from 1000 to 10000.
16243 * tree-ssa-strlen.c (get_strinfo): Moved earlier.
16244 (get_stridx): If we don't have a record for certain SSA_NAME,
16245 but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
16246 constant offset, call get_stridx_plus_constant.
16247 (get_stridx_plus_constant): New function.
16248 (zero_length_string): Don't use get_stridx here.
16251 PR middle-end/64388
16252 * dse.c (struct insn_info): Mention frame_read set also
16253 before reload for tail calls on some targets.
16254 (scan_insn): Revert 2014-12-22 change. Set frame_read
16255 also before reload for tail calls if
16256 HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read
16257 instead of add_non_frame_wild_read for non-const/memset
16258 tail calls after reload.
16260 2015-01-08 Jason Merrill <jason@redhat.com>
16262 * ubsan.c (do_ubsan_in_current_function): New.
16263 (pass_ubsan::gate): Use it.
16264 * ubsan.h: Declare it.
16265 * convert.c (convert_to_integer): Use it.
16267 2015-01-08 Jakub Jelinek <jakub@redhat.com>
16270 * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
16271 compare_code when it is unconditionally overwritten afterwards.
16272 Use ix86_reverse_condition instead of reverse_condition. Don't
16273 change code if *reverse_condition* returned UNKNOWN and don't
16274 swap ct/cf and negate diff in that case.
16276 2015-01-08 Mike Stump <mikestump@comcast.net>
16278 * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
16279 (pass_tsan_O0::gate): Likewise.
16280 * extend.texi (Function Attributes): Add no_sanitize_thread
16283 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
16285 * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
16286 for registering builtins.
16287 * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
16288 add -fopenmp to the argv_obstack used when invoking
16289 compile_for_target.
16291 * config/i386/intelmic-mkoffload.c (compile_for_target): Always
16292 add "-m32" or "-m64" to argv_obstack.
16293 (generate_host_descr_file): Likewise, when invoking host_compiler.
16294 (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
16297 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
16299 * config/sh/sh-mem.cc: Use constant as second operand when emitting
16302 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
16305 * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
16306 constant load if constant operand fits into I08.
16308 2015-01-08 Jakub Jelinek <jakub@redhat.com>
16311 * tree.c (build2_stat): Fix up initialization of TREE_READONLY
16312 and TREE_THIS_VOLATILE for MEM_REFs.
16313 (build5_stat): Fix up initialization of TREE_READONLY and
16314 TREE_THIS_VOLATILE for TARGET_MEM_REFs.
16316 2015-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
16319 * config/sh/sh.md (*addsi3_compact): Use u constraint instead
16320 of r for the second alternative of the destination operand.
16322 2015-01-07 Segher Boessenkool <segher@kernel.crashing.org>
16325 * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
16327 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
16329 * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
16331 ([-fivar-visibility], [-fvisibility]): Likewise.
16333 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
16335 * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
16336 the file where @code, @command, etc is more appropriate.
16338 2015-01-06 Sandra Loosemore <sandra@codesourcery.com>
16340 * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
16341 of -mrecip= documentation.
16343 2015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com>
16346 * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
16347 correct reload handler if -m32 -mpowerpc64 is used.
16349 2015-01-06 Tom de Vries <tom@codesourcery.com>
16351 * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
16353 2015-01-08 Christian Bruel <christian.bruel@st.com>
16356 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
16358 2015-01-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
16360 PR tree-optimization/63259
16361 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
16362 if optab exists for 16bit byteswap.
16364 2015-01-06 Jakub Jelinek <jakub@redhat.com>
16366 * opts.c (common_handle_option): Add support for
16367 -fno-sanitize=all and -f{,no-}sanitize-recover=all.
16368 * doc/invoke.texi: Document -fno-sanitize=all,
16369 -f{,no-}sanitize-recover=all. Document that
16370 -fsanitize=float-cast-overflow is not enabled
16371 by -fsanitize=undefined. Fix up documentation
16372 of -f{,no-}sanitize-recover.
16374 2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
16376 * config.gcc: Add Visium support.
16377 * configure.ac: Likewise.
16378 * configure: Regenerate.
16379 * doc/extend.texi (interrupt attribute): Add Visium.
16380 * doc/invoke.texi: Document Visium options.
16381 * doc/install.texi: Document Visium target.
16382 * doc/md.texi: Document Visium constraints.
16383 * common/config/visium: New directory.
16384 * config/visium: Likewise.
16386 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
16388 * simplify-rtx.c (simplify_binary_operation_1): Handle more cases
16389 for the "(and X (ior (not X) Y) -> (and X Y)" transform.
16391 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
16393 * combine.c (combine_validate_cost): Do not count the cost of a
16394 split I2 twice. Do not display it twice in the dump, either.
16396 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
16398 Revert parts of r219199.
16399 * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
16401 ([-Wtraditional]): Restore markup on <limits.h>.
16403 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
16406 * doc/invoke.texi: Document -Wsuggest-override.
16408 2015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com>
16410 PR rtl-optimization/64287
16411 * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
16412 (process_options): Disable flag_ipa_ra if profiling.
16414 2015-01-05 Eric Botcazou <ebotcazou@adacore.com>
16416 * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
16418 2015-01-05 Max Filippov <jcmvbkbc@gmail.com>
16420 * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
16421 hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
16422 put under #if TARGET_LOOPS guard.
16424 2015-01-05 Uros Bizjak <ubizjak@gmail.com>
16426 * config/i386/i386.c (output_387_binary_op): Use std::swap.
16428 2015-01-05 Oleg Endo <olegendo@gcc.gnu.org>
16430 * rtlanal.c (refers_to_regno_p): Change return value from int to bool.
16431 * rtl.h (refers_to_regno_p): Add overload.
16433 * bt-load.c: Likewise.
16434 * combine.c: Likewise.
16435 * df-scan.c: Likewise.
16436 * sched-deps.c: Likewise.
16437 * config/s390/s390.c: Likewise.
16438 * config/m32r/m32r.c: Likewise.
16439 * config/rs6000/spe.md: Likewise.
16440 * config/rs6000/rs6000.c: Likewise.
16441 * config/pa/pa.c: Likewise.
16442 * config/stormy16/stormy16.c: Likewise.
16443 * config/cris/cris.c: Likewise.
16444 * config/arc/arc.md: Likewise.
16445 * config/arc/arc.c: Likewise.
16446 * config/sh/sh.md: Likewise.
16447 * config/sh/sh.c: Likewise.
16448 * config/frv/frv.c: Likewise.
16450 2015-01-05 Jakub Jelinek <jakub@redhat.com>
16453 * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
16454 call as cleanup of the whole body.
16455 * internal-fn.def (TSAN_FUNC_EXIT): New internal call.
16456 * tsan.c (replace_func_exit): New function.
16457 (instrument_func_exit): Moved earlier.
16458 (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
16459 Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
16461 (tsan_pass): Don't call instrument_func_exit.
16462 * internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
16463 * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
16467 * ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
16468 * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
16469 it to libubsan handler instead of EXPR. Fold comparisons earlier,
16470 if the result is integer_zerop, return NULL_TREE.
16471 * convert.c (convert_to_integer): Pass expr as ARG.
16473 PR tree-optimization/64465
16474 * tree-inline.c (redirect_all_calls): During inlining
16475 clean up EH stmts and EH edges if redirect_call_stmt_to_callee
16476 changed the stmt to a non-throwing call.
16478 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
16480 * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
16481 etc markup throughout the file.
16483 2015-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
16485 Enable experimental TSAN support for Ada.
16486 * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
16488 2015-01-05 Jakub Jelinek <jakub@redhat.com>
16490 PR tree-optimization/64494
16491 * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
16492 clear SSA_NAME_ANTI_RANGE_P flag.
16494 2015-01-05 Marek Polacek <polacek@redhat.com>
16496 * doc/extend.texi (Arrays of Length Zero): Add missing comma.
16498 2015-01-05 Jakub Jelinek <jakub@redhat.com>
16500 Update copyright years.
16502 * gcc.c (process_command): Update copyright notice dates.
16503 * gcov-dump.c: Ditto.
16505 * doc/cpp.texi: Bump @copying's copyright year.
16506 * doc/cppinternals.texi: Ditto.
16507 * doc/gcc.texi: Ditto.
16508 * doc/gccint.texi: Ditto.
16509 * doc/gcov.texi: Ditto.
16510 * doc/install.texi: Ditto.
16511 * doc/invoke.texi: Ditto.
16513 * auto-profile.c, auto-profile.h: Fix up Copyright line.
16515 2015-01-04 Sandra Loosemore <sandra@codesourcery.com>
16517 * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
16519 ([-fvtable-verify], [-fvtv-debug]): Likewise.
16520 ([-Wabi]): Likewise.
16521 ([-fmessage-length]): Likewise.
16522 ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
16523 ([-Wno-discarded-qualifiers]): Likewise.
16524 ([-Wnodiscarded-array-qualifiers]): Likewise.
16525 ([-Wno-virtual-move-assign]): Likewise.
16526 ([-fsanitize=address], [-fsanitize=thread]): Likewise.
16527 ([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
16528 ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
16529 ([-fsanitize-undefined-trap-on-error]): Likewise.
16530 ([-floop-interchange]): Likewise.
16531 ([-ftree-coalesce-inlined-vars]): Likewise.
16532 ([-fvect-cost-model]): Likewise.
16533 ([-flto]): Likewise.
16534 ([--param]): Likewise.
16535 (Spec Files): Likewise.
16536 ([-mstrict-align]): Likewise.
16537 ([-mfix-cortex-a53-835769]): Likewise.
16538 ([-march], [-mtune]): Likewise.
16539 ([-mpic-register]): Likewise.
16540 ([-munaligned-access]): Likewise.
16541 ([-msp8]): Likewise.
16542 (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
16543 (AVR Built-in Macros): Likewise.
16544 ([-mpreferred-stack-boundary]): Likewise.
16545 ([-mtune-crtl]): Likewise.
16546 ([-mashf]): Likewise.
16547 ([-mmcu=]): Likewise.
16548 ([-minrt]): Likewise.
16549 ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
16550 ([-mupper-regs]): Likewise.
16551 ([-matomic-model]): Likewise.
16552 ([-mdiv]): Likewise.
16553 ([-mzdcbranch]): Likewise.
16554 ([-mdisable-callt]): Likewise.
16555 ([-msoft-float]): Likewise.
16556 ([-m8byte-align]): Likewise.
16557 ([-fstack-reuse]): Likewise.
16559 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
16561 * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
16562 Fix markup, light copy-editing.
16563 ([-fauto-profile]): Rewrite to fix formatting and content
16566 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
16568 * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
16569 Copy-edit description.
16570 ([-fisolate-erroneous-paths-attribute]): Likewise.
16571 * common.opt (fisolate-erroneous-paths-dereference):
16572 Copy-edit description.
16573 (fisolate-erroneous-paths-attribute): Likewise.
16575 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
16577 * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
16580 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
16582 * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
16583 ([-fvtv-debug]): Likewise.
16584 ([-Wc++-compat]): Likewise.
16585 ([-Wc++11-compat]): Likewise.
16586 ([-Wc++14-compat]): Likewise.
16587 ([-Wno-sized-deallocation]): Likewise.
16588 ([-femit-class-debug-always]): Likewise.
16589 ([-femit-struct-debug-detailed]): Likewise.
16590 ([-fno-keep-inline-dllexport]): Likewise.
16591 ([-fira-algorithm]): Likewise.
16592 ([-fira-region]): Likewise.
16593 ([-flra-remat]): Likewise.
16594 ([-fipa-ra]): Likewise.
16595 ([-fhoist-adjacent-loads]): Likewise.
16596 ([-fisolate-erroneous-paths-dereference]): Likewise.
16597 ([-fisolate-erroneous-paths-attribute]): Likewise.
16598 ([-ftree-switch-conversion]): Likewise.
16599 ([-ftree-tail-merge]): Likewise.
16600 ([-ftree-loop-if-convert]): Likewise.
16601 ([-ftree-loop-if-convert-stores]): Likewise.
16602 ([-ftree-loop-distribution]): Likewise.
16603 ([-ftree-loop-distribute-patterns]): Likewise.
16604 ([-flto-compression-level]): Likewise.
16605 ([-flto-report]): Likewise.
16606 ([-flto-report-wpa]): Likewise.
16607 ([-fuse-linker-plugin]): Likewise.
16608 ([-mfix-cortex-a53-835769]): Likewise.
16609 ([-mno-fix-cortex-a53-835769]): Likewise.
16610 ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
16611 explicit listing; add a note to the discussion indicating they
16612 exist. Reorder table to group similar options. Add missing
16613 @opindex entries. Add @need commands throughout the table to
16614 allow it to be split across multiple pages.
16615 ([-m8bit-idiv]): Fix @opindex.
16616 ([-mavx256-split-unaligned-load]): Likewise.
16617 ([-mavx256-split-unaligned-store]): Likewise.
16618 ([-mstack-protector-guard]): Likewise.
16619 ([-mcpu=]): Likewise.
16620 ([-mcpu]): Likewise.
16621 ([-mpointer-size=]): Likewise.
16623 2015-01-03 John David Anglin <danglin@gcc.gnu.org>
16625 * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
16626 instead of `m' constraint. Likewise for unnamed movb comparison
16627 patterns using reg_before_reload_operand predicate.
16628 * config/pa/predicates.md (reg_before_reload_operand): Tighten
16629 predicate to reject register index and LO_SUM DLT memory forms
16632 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
16634 * doc/invoke.texi (Option Summary): Fix spelling of
16635 -fdevirtualize-at-ltrans.
16636 ([-fdevirtualize]): Fix markup.
16637 ([-fdevirtualize-speculatively]): Fix typo.
16638 ([-fdevirtualize-at-ltrans]): Likewise. Make description less
16639 implementor-speaky.
16640 * common.opt (fdevirtualize-at-ltrans): Likewise.
16641 * ipa-devirt.c: Fix typos in comments throughout the file.
16642 (ipa_devirt): Fix typos in format strings for dump output.
16644 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
16646 * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
16647 discussion of defaults, light copy-editing.
16649 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
16651 * tsan.c (instrument_expr): corrected previous checkin.
16653 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
16655 Instrument bit field and unaligned accesses for TSAN.
16656 * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
16657 (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
16658 * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
16659 Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
16660 unaligned memory regions.
16662 2015-01-01 Anthony Green <green@moxielogic.com>
16664 * config/moxie/predicates.md (moxie_general_movsrc_operand):
16665 Restrict move source register offsets to 16 bits.
16667 Copyright (C) 2015 Free Software Foundation, Inc.
16669 Copying and distribution of this file, with or without modification,
16670 are permitted in any medium without royalty provided the copyright
16671 notice and this notice are preserved.