Update ChangeLog and version files for release
[official-gcc.git] / gcc / ChangeLog
blobd9c6d3fcacaf842775d210052325d1f89ed7927c
1 2017-10-10  Release Manager
3         * GCC 5.5.0 released.
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>
27         PR bootstrap/81037
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.
48         * toplev.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
56         Backport r230667
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>
63         PR target/81996
64         * gcc/config/rs6000/rs6000.c (rs6000_return_addr): Use
65         stack_pointer_rtx for count 0.  Update comments.  Break up
66         large rtl expression.
68 2017-09-19  Martin Liska  <mliska@suse.cz>
70         PR c++/81355
71         * config/i386/i386.c (sorted_attr_string): Skip empty strings.
73 2017-09-19  Martin Liska  <mliska@suse.cz>
75         Revert backport:
76         2017-08-10  Martin Liska  <mliska@suse.cz>
78         PR c++/81355
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>
87         PR middle-end/80362
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>
93         PR middle-end/68528
94         * fold-const.c (fold_binary_loc): Do not call negate_expr_p
95         on stripped operands.
97         2017-03-27  Richard Biener  <rguenther@suse.de>
99         PR middle-end/80171
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>
105         PR middle-end/64516
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>
114         PR c/81687
115         * omp-low.c (omp_copy_decl): Don't remap FORCED_LABEL or DECL_NONLOCAL
116         LABEL_DECLs.
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>
124         PR middle-end/81766
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>
131         PR target/81621
132         * bb-reorder.c (pass_partition_blocks::execute): Return TODO_df_finish
133         after setting changeable df flags.
135         PR middle-end/81052
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>
141         PR middle-end/79499
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>
152         PR tree-opt/79987
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>
161         PR sanitizer/81224
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>
170         PR inline-asm/82001
171         * ipa-icf-gimple.c (func_checker::compare_tree_list_operand):
172         Rename to ...
173         (func_checker::compare_asm_inputs_outputs): ... this function.
174         (func_checker::compare_gimple_asm): Use the function to compare
175         also ASM constrains.
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>
183         PR c++/81355
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>
192         PR tree-opt/81696
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>
201         PR ipa/81128
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>
209         PR target/81833
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
218         PR target/82181
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
230         definition.
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>
248         PR target/80210
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.
256         PR 81487
257         * tree-ssa-structalias.c (alias_get_name): Use xasprintf instead
258         of asprintf.
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.
273         PR target/81305
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.
286         PR target/79883
287         PR target/67353
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.
298         PR target/80462
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.
314         PR target/81407
315         * config/avr/avr.c (avr_encode_section_info)
316         [progmem && !TREE_READONLY]: Error if progmem object needs
317         constructing.
319 2017-08-22  Georg-Johann Lay  <avr@gjlay.de>
321         Backport from 2017-08-22 trunk r251256.
323         PR target/81910
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>
331         PR target/81894
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>
340         PR target/81861
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>
356         PR sanitizer/81604
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):
376         Align .toc.
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>
389         PR target/80569
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>
395         PR target/81471
396         * config/i386/i386.md (rorx_immediate_operand): New mode attribute.
397         (*bmi2_rorx<mode>3_1): Use rorx_immediate_operand as
398         operand 2 predicate.
399         (*bmi2_rorxsi3_1_zext): Use const_0_to_31_operand as
400         operand 2 predicate.
401         (ror,rol -> rorx splitters): Use const_int_operand as
402         operand 2 predicate.
404 2017-07-14  Uros Bizjak  <ubizjak@gmail.com>
406         Backport from mainline
407         2017-07-10  Uros Bizjak  <ubizjak@gmail.com>
409         PR target/81375
410         * config/i386/i386.md (divsf3): Add TARGET_SSE to TARGET_SSE_MATH.
411         (rcpps): Ditto.
412         (*rsqrtsf2_sse): Ditto.
413         (rsqrtsf2): 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>
420         PR target/81300
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>
435         Revert:
436         Backports from trunk:
438         2017-04-12  Segher Boessenkool  <segher@kernel.crashing.org>
439         PR target/80382
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>
444         PR target/80966
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>
461         PR target/61729
462         PR target/77850
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>
467         PR target/80382
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>
472         PR middle-end/80692
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>
477         PR target/80618
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>
482         PR target/80966
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>
490         PR middle-end/80902
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>
508         PR target/79155
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>
516         PR other/80909
517         * auto-profile.c (get_function_decl_from_block): Fix
518         parenthesis.
520 2017-06-22  Martin Liska  <mliska@suse.cz>
522         Backport from mainline
523         2017-05-26  Martin Liska  <mliska@suse.cz>
525         PR ipa/80663
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>
533         PR ipa/79850.
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>
541         PR driver/31468
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>
558         PR other/80589
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>
596         PR driver/56469
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>
603         PR target/80968
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
608         for alloca here too.
610 2017-06-06  David S. Miller  <davem@davemloft.net>
612         PR target/80968
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
623         in inline functions.
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
674         format string.
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
683         note.
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
691         definition.
692         (DWARF_FRAME_REGISTERS): Reserve space for one extra register in
693         call0 ABI.
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
711         environment.
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.
719         PR libgomp/80394
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>
725         PR target/80286
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):
733         Likewise.
735         2017-03-31  Jakub Jelinek  <jakub@redhat.com>
737         PR debug/80025
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>
745         PR sanitizer/80168
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>
759         PR c++/80129
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>
765         PR sanitizer/79944
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.
771         PR target/79932
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.
804         PR target/79932
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__
809         guarded section.
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
815         ...
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>
826         PR target/79807
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>
833         PR target/79729
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>
839         PR middle-end/79396
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>
845         PR target/79570
846         * sel-sched.c (moveup_expr_cached): Don't call sel_bb_head
847         on temporarily removed DEBUG_INSNs.
849         PR target/79494
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>
855         PR target/79568
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>
867         PR target/79559
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
877         phis.
879         2017-02-07  Jakub Jelinek  <jakub@redhat.com>
880                     Richard Biener  <rguenther@suse.de>
882         PR middle-end/79399
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>
889         PR target/79197
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>
896         PR ipa/77905
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>
904         PR target/78796
905         * config/aarch64/aarch64.c (aarch64_classify_symbol): Merge large
906         model checks into switch.
908         2016-11-28  Jakub Jelinek  <jakub@redhat.com>
910         PR fortran/78298
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>
917         PR middle-end/69183
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.
921         Formatting fix.
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>
929         PR middle-end/78416
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>
937         PR middle-end/67335
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>
949         PR target/78227
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>
969         PR sanitizer/66343
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>
976         PR fortran/77665
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>
982         PR middle-end/77624
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>
989         PR target/77587
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>
997         PR middle-end/77594
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>
1003         PR sanitizer/68260
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>
1013         PR fortran/77516
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>
1019         PR debug/77363
1020         * dwarf2out.c (modified_type_die): Use lookup_type_die (type)
1021         instead of lookup_type_die (type_main_variant (type)) even for array
1022         types.
1024         PR middle-end/77377
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>
1030         PR target/71910
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>
1049         PR sanitizer/71953
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>
1063         PR middle-end/79931
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>
1071         PR ipa/65972
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>
1080         PR lto/50345
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>
1106         PR ipa/80212
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>
1116         PR ipa/80212
1117         * ipa-cp.c (determine_versionability): Handle calls_comdat_local
1118         flags.
1120 2017-05-29  Martin Liska  <mliska@suse.cz>
1122         Backport from mainline
1123         2017-04-11  Martin Liska  <mliska@suse.cz>
1125         PR sanitizer/70878
1126         * ubsan.c (instrument_object_size): Do not instrument register
1127         variables.
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>
1146         PR ipa/80205
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>
1155         PR ipa/80104
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>
1172         PR target/80799
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>
1181         Revert backport of
1182         PR middle-end/80222
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
1195         value.
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
1202         overflow.
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
1212         expansion itself.
1213         * tree-inline.h (struct copy_body_data): Make call_stmt a gcall *.
1215         2017-03-28  Richard Biener  <rguenther@suse.de>
1217         PR middle-end/80222
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>
1230         PR middle-end/80539
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,
1242         and SH_VPERM_COMP.
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
1247         for reductions.
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
1259         replaced by copies.
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>
1267         PR target/68491
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>
1276         PR target/68390
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>
1285         PR target/80376
1286         PR target/80315
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
1294         must be a constant.
1296 2017-04-11  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1298         Backport from GCC 6
1299         2017-04-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1301         PR target/80082
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
1308         arm_arch_lpae.
1310 2017-04-11  Martin Jambor  <mjambor@suse.cz>
1312         Backport from mainline
1313         2017-03-30  Martin Jambor  <mjambor@suse.cz>
1315         PR ipa/77333
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>
1352         PR target/79733
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>
1363         PR target/80246
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>
1371         PR target/80180
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.
1378 >>>>>>> .r248557
1379 2017-03-22  Martin Liska  <mliska@suse.cz>
1381         Backport from mainline
1382         2017-02-22  Martin Liska  <mliska@suse.cz>
1384         PR lto/79587
1385         * data-streamer-in.c (streamer_read_gcov_count): Remove assert.
1386         * data-streamer-out.c (streamer_write_gcov_count_stream):
1387         Likewise.
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>
1396         PR target/79906
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>
1415         PR middle-end/79753
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>
1424         PR target/79769
1425         PR target/79770
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>
1434         PR middle-end/79831
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>
1442         PR middle-end/78339
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>
1451         PR target/65705
1452         PR target/69804
1453         PR sanitizer/71458
1455         * toplev.c (process_options): Enable MPX with LSAN and UBSAN.
1456         * tree-chkp.c (chkp_walk_pointer_assignments): Verify that
1457         FIELD != NULL.
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>
1473         PR ipa/79761
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
1484         assert.
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>
1520         PR target/79951
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>
1531         PR target/71017
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>
1550         PR target/80019
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>
1559         PR target/79439
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>
1573         PR target/77850
1574         * config/pa/pa-64.h (PAD_VARARGS_DOWN): Don't pad down complex and
1575         vector types.
1577 2017-03-02  Uros Bizjak  <ubizjak@gmail.com>
1579         PR target/79514
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>
1587         PR target/79544
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>
1596         PR lto/79579
1597         * ipa-prop.c (ipa_prop_write_jump_functions): Bail out if no edges
1598         have been analyzed.
1600 2017-02-28  Eric Botcazou  <ebotcazou@adacore.com>
1602         PR target/79749
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>
1611         PR target/79261
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>
1623         PR target/71017
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>
1636         PR target/76731
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
1792         PR 79545
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"
1798         statement.
1800 2017-02-14  Martin Liska  <mliska@suse.cz>
1802         Backport from mainline
1803         2016-03-01  Richard Biener  <rguenther@suse.de>
1805         PR middle-end/70022
1806         PR target/79498
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>
1815         PR c/79471
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
1822         of AltiVec.
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>
1835         PR lto/79061
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
1882         PR target/78041
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
1894         a VDEF.
1896         2016-11-05  David Edelsohn  <dje.gcc@gmail.com>
1897                 Richard Biener  <rguenther@suse.de>
1899         PR bootstrap/78188
1900         PR c++/71848
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
1907         with complex RHS.
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
1913         pointers as well.
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
1920         NRV return slots.
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
1931         which is not safe.
1933         2016-09-01  Richard Biener  <rguenther@suse.de>
1935         PR middle-end/77436
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>
1941         PR middle-end/77605
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>
1953         PR middle-end/78185
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>
1961         PR middle-end/78333
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>
1970         PR lto/69188
1971         * tree-profile.c (init_ic_make_global_vars): Do not call
1972         finalize_decl.
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
1981         https by default.
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>
1990         PR ipa/79043
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>
2002         PR ipa/70366
2003         * ipa-inline-transform.c (inline_call): Pass opts_for_fn (to->decl)
2004         instead of
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>
2030         PR ipa/71207
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>
2048         PR target/78253
2049         * config/arm/arm.c (legitimize_pic_address): Handle reference to
2050         weak symbol.
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>
2063         PR lto/79042
2064         * lto-cgraph.c (lto_output_varpool_node): Pack dynamically_initialized
2065         bit.
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>
2088         PR sanitizer/65479
2089         * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
2090         -fasynchronous-unwind-tables option when -fsanitize=address is
2091         specified.
2093 2017-01-10  Martin Liska  <mliska@suse.cz>
2095         Backport from mainline
2096         2017-01-09  Martin Liska  <mliska@suse.cz>
2098         PR pch/78970
2099         * gcc.c (driver_handle_option): Handle OPT_E and set
2100         have_E.
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>
2108         PR pch/78970
2109         * gcc.c (lookup_compiler): Reject '-' filename for a precompiled
2110         header.
2112 2017-01-10  Chung-Ju Wu  <jasonwucj@gmail.com>
2114         Backport from mainline
2115         2016-04-28  Segher Boessenkool  <segher@kernel.crashing.org>
2117         PR target/70668
2118         * config/nds32/nds32.md (casesi): Don't access the operands array
2119         out of bounds.
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
2138         is equal to NULL.
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
2147         function.
2148         (store_constructor): Set up bitregion_end and add
2149         gcc_unreachable to fields that have either non-constant size
2150         or (and) offset.
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
2188         statement.
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>
2197         PR target/77933
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>
2219         PR target/77957
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
2230         register.
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
2241         of the candidate.
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
2261         documentation.
2262         * config/s390/s390.c (s390_match_ccmode_set): Rename cc modes.
2263         (s390_expand_vec_compare_scalar): Pick one of the cc consumer
2264         modes.
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>
2286         PR target/78426
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>
2295         PR ipa/78309
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
2313         of -j argument.
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>
2322         PR target/78310
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>
2329         PR target/78262
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>
2336         PR driver/78206
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
2346         file is missing.
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>
2357         Backport from trunk
2358         2016-10-26  Will Schmidt <will_schmidt@vnet.ibm.com>
2360         PR middle-end/72747
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
2377         or unknown strides.
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>
2387         PR target/77991
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
2398           copying.
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>
2440         Backport from trunk
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
2448         detection.
2449         * config/i386/i386-c.c (ix86_target_macros_internal): Deleted define
2450         __PCOMMIT__.
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>
2467         PR target/77874
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
2489         VAR_DECL string.
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
2501         PR target/65210
2502         * config/avr/avr.c (avr_eval_addr_attrib): Look for io_low
2503         attribute as well.
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.
2520         PR target/77326
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>
2539         PR target/77403
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>
2554         PR target/64971
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>
2564         PR target/72863
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>
2573         PR middle-end/71700
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>
2582         PR target/76342
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>
2596         PR target/72843
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>
2609         PR target/71338
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>
2625         PR driver/72765
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
2641         reference type.
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>
2653         PR target/72805
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.
2664         PR target/72767
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>
2673         PR c/7652
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>
2681         PR target/71216
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>
2687         PR target/72103
2688         * config/rs6000/rs6000.c (rs6000_secondary_reload): Initialize
2689         sri->t_icode.
2691 2016-07-20  Martin Jambor  <mjambor@suse.cz>
2693         PR fortran/71688
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>
2699         PR middle-end/71874
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>
2715         PR middle-end/71758
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
2725         loops.
2727 2016-07-12  Segher Boessenkool  <segher@kernel.crashing.org>
2729         Backport from mainline
2730         2016-07-06  Segher Boessenkool  <segher@kernel.crashing.org>
2732         PR target/70098
2733         PR target/71763
2734         * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
2735         *ctr<mode>_internal5, *ctr<mode>_internal6): Add *wi to the output
2736         constraint.
2738 2016-07-08  Martin Liska  <mliska@suse.cz>
2740         Backported from mainline
2741         2016-07-08  Martin Liska  <mliska@suse.cz>
2743         PR middle-end/71606
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>
2752         PR middle-end/71626
2753         * config/i386/i386.c (ix86_expand_vector_move): For SUBREG of
2754         a constant, force its SUBREG_REG into memory or register instead
2755         of whole op1.
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
2762         it.
2764         2016-06-20  Jakub Jelinek  <jakub@redhat.com>
2766         PR middle-end/71581
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,
2771         punt.
2773         2016-06-10  Jakub Jelinek  <jakub@redhat.com>
2775         PR middle-end/71494
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>
2781         PR c++/70641
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.
2786         PR middle-end/70633
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>
2792         PR debug/70628
2793         * explow.c (convert_memory_address_addr_space_1): Formatting fix.
2795         PR debug/70628
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>
2815         PR c++/70336
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>
2823         PR middle-end/71423
2824         * match.pd ((X | ~Y) -> Y <= X): Properly invert the comparison
2825         for signed ops.
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
2843         for NULL decl.
2845 2016-06-30  Jakub Jelinek  <jakub@redhat.com>
2847         PR middle-end/71693
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.
2857         PR target/30417
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>
2864         PR target/71103
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.
2873         PR target/71103
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>
2879         PR target/71554
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
2887         reg.
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>
2909         PR target/71379
2910         * config/s390/s390.c (s390_expand_builtin): Increase MAX_ARGS by
2911         one.
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
2919         -mno-htm.
2921 2016-06-07  Uros Bizjak  <ubizjak@gmail.com>
2923         PR target/71389
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>
2934         PR target/67310
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*
2949         target.
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>
2961         PR target/68696
2962         * config/aarch64/aarch64-simd.md (*aarch64_simd_bsl<mode>_alt):
2963         New pattern.
2964         (aarch64_simd_bsl<mode>_internal): Update comment to reflect
2965         the above.
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>
2979         PR target/69634
2980         * regstat.c (regstat_bb_compute_calls_crossed): Disregard
2981         debug insns.
2983         2015-10-30  Richard Biener  <rguenther@suse.de>
2985         PR middle-end/68142
2986         * fold-const.c (extract_muldiv_1): Avoid introducing undefined
2987         overflow.
2989         2016-03-24  Richard Henderson  <rth@redhat.com>
2991         PR middle-end/69845
2992         * fold-const.c (extract_muldiv_1): Correct test for multiplication
2993         overflow.
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
3002         BYTES_BIG_ENDIAN.
3004         2016-01-12  Jan Hubicka  <hubicka@ucw.cz>
3006         PR lto/69003
3007         * lto-partition.c (rename_statics): Fix pasto.
3009         2016-01-13  Jan Hubicka  <hubicka@ucw.cz>
3011         PR ipa/66487
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>
3018         PR target/69252
3019         * modulo-sched.c (optimize_sc): Allow branch-scheduling to add a new
3020         first stage.
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>
3028         PR target/67973
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>
3065         PR middle-end/67278
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>
3071         PR target/67278
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
3083         defs properly.
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>
3097         PR middle-end/70941
3098         * fold-const.c (split_tree): Always convert to the original type
3099         before negating.
3101         2016-05-06  Richard Biener  <rguenther@suse.de>
3103         PR middle-end/70931
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
3123         wasn't visited yet.
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>
3129         PR ipa/70646
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>
3135         PR ipa/70646
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
3146         them to conditions.
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>
3168         PR target/71145
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>
3174         PR c++/70353
3175         * tree-inline.c (remap_decls): Don't add_local_decl if
3176         cfun is null.
3178 2016-05-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3180         Backport from mainline
3181         2016-05-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3183         PR target/70809
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>
3191         PR c++/70613
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>
3208         PR target/70963
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>
3250         PR target/70858
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>
3262         PR driver/70132
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>
3287         PR target/70098
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>
3302         PR target/70674
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>
3313         PR target/70662
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>
3319         PR target/70662
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>
3326         PR target/70044
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>
3335         PR target/70630
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>
3343         PR target/70566
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>
3351         PR target/70117
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
3356         limit.
3358 2016-04-09  Oleg Endo  <olegendo@gcc.gnu.org>
3360         Backport from mainline
3361         2016-04-03  Oleg Endo  <olegendo@gcc.gnu.org>
3363         PR target/70416
3364         PR target/67391
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):
3385         Adjust callers.
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>
3396         PR middle-end/69760
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>
3411         PR middle-end/68963
3412         * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Fix
3413         bogus check.
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>
3422         PR middle-end/70022
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>
3434         PR middle-end/70424
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>
3446         PR middle-end/70450
3447         * fold-const.c (extract_muldiv_1): Fix thinko in wide_int::from
3448         usage.
3450         2016-03-22  Richard Biener  <rguenther@suse.de>
3452         PR middle-end/70333
3453         * fold-const.c (extract_muldiv_1): Properly perform multiplication
3454         in the wide type.
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>
3480         PR target/70510
3481         * config/i386/sse.md (iptr): Add V64QI, V32HI, V16SI and V8DI modes.
3483 2016-04-05  Jakub Jelinek  <jakub@redhat.com>
3485         PR target/70525
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>
3494         PR middle-end/70457
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
3497         prototype.
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>
3517         PR target/67896
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>
3524         PR c++/70393
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>
3535         PR target/70453
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>
3570         PR target/66660
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>
3579         PR target/64411
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>
3601         PR target/68973
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.
3605         (p8_mtvsrwz): New.
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
3610         clobber constraint.
3611         (reload_fpr_from_gpr<mode>): Adjust for above.  Use "d" for
3612         op0 constraint.
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>
3622         PR target/69917
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>
3632         PR target/69614
3633         * lra-constraints.c (delete_move_and_clobber): New.
3634         (remove_inheritance_pseudos): Use it.
3636 2016-03-30  Jakub Jelinek  <jakub@redhat.com>
3638         PR target/70421
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>
3652         PR target/70329
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>
3659         PR target/70296
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
3677         for unknown codes.
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>
3687         PR target/70062
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>
3696         PR target/69888
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>
3702         PR target/70028
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>
3709         PR target/69969
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>
3723         PR debug/69705
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>
3729         PR middle-end/69838
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
3742         up formatting.
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.
3756         PR ipa/68672
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>
3765         PR target/70052
3766         * config/rs6000/constraints.md (j): Simplify.
3767         * config/rs6000/predicates.md (easy_fp_constant): Exclude
3768         decimal float 0.D.
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>
3777         PR target/69875
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>
3786         PR target/70406
3787         * config/i386/i386.md (define_split, andn): Fix modes.
3789 2016-03-24  John David Anglin  <danglin@gcc.gnu.org>
3791         PR target/70319
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>
3800         PR ipa/70306
3801         * ipa-icf.c (sem_function::parse): Skip static
3802         constructors and destructors.
3804 2016-03-22  Kirill Yukhin  <kirill.yukhin@intel.com>
3806         PR target/70325
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>
3814         PR target/70327
3815         * config/i386/i386.md (movxi): Use ix86_expand_vector_move instead
3816         of ix86_expand_move.
3817         (movoi): Ditto.
3818         (movti): Use general_operand for operand 1 predicate.
3820 2016-03-21  Tom de Vries  <tom@codesourcery.com>
3822         backport from trunk:
3823         PR ipa/70269
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>
3833         PR ipa/70161
3834         * cgraph.c (cgraph_node::get_body): Save, reset and restore
3835         dump_file_name.
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
3839         transform.
3841 2016-03-21  Kirill Yukhin  <kirill.yukhin@intel.com>
3843         PR target/70293
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>
3849         PR target/70188
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.
3858         Add comments.
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>
3874         PR target/70131
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>
3884         PR target/62281
3885         * config/i386/sol2.h (STACK_REALIGN_DEFAULT): Define.
3887 2016-03-10  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3889         PR target/70168
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
3906         PR middle-end/69920
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>
3916         PR target/65932
3917         PR target/67714
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>
3923         PR target/70059
3924         * config/i386/sse.md (vec_set_lo_<mode><mask_name>,
3925         <extract_type_2>_vinsert<shuffletype><extract_suf_2>_mask): Formatting
3926         fixes.
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>
3945         Revert
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
3956         loop.
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
3968         loop.
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
4011         mode.
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
4046         debug output.
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
4056         superfluous loops.
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>
4070         PR target/69625
4071         * config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New
4072         defines.
4073         (s390_register_info_gprtofpr): Use new macros above.
4074         (s390_register_info_stdarg_fpr): Adjust max_fpr to better match
4075         its name.
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
4096         fix indentation.
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>
4103         PR other/69006
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
4128         redundant stores.
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
4137         sets from caller.
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>
4147         revert:
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
4162         of successors.
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
4229         bitmap.
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>
4243         PR target/65932
4244         PR target/67714
4245         * config/arm/arm.h (PROMOTE_MODE): Don't set UNSIGNEDP for QImode and
4246         HImode.
4248 2016-02-16  Tom de Vries  <tom@codesourcery.com>
4250         backport from trunk:
4251         PR lto/67709
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
4263         for created clones.
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>
4275         PR target/67260
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>
4295         PR middle-end/69308
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>
4327         PR target/69713
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>
4351         PR target/69432
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
4355         fixes.
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>
4362         PR target/69187
4363         PR target/65624
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>
4369         PR middle-end/67653
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>
4377         PR debug/65779
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>
4396         PR target/68269
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.
4405         Formatting fix.
4407         2016-01-07  Jakub Jelinek  <jakub@redhat.com>
4409         PR middle-end/68960
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>
4415         PR sanitizer/69055
4416         * ubsan.c (ubsan_instrument_float_cast): Call
4417         initialize_sanitizer_builtins.
4419         PR target/69015
4420         * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
4422         2015-12-22  Jakub Jelinek  <jakub@redhat.com>
4424         PR c++/67376
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>
4435         PR middle-end/65702
4436         * varasm.c (make_decl_rtl): Mark invalid register vars as
4437         DECL_EXTERNAL.
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>
4454         PR target/69644
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>
4461         PR target/69118
4462         * config/i386/sse.md (define_insn "avx512f_maskcmp<mode>3"):
4463         Fix target.
4465 2016-02-02  Uros Bizjak  <ubizjak@gmail.com>
4467         PR target/67032
4468         * config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves.
4470 2016-02-02  Alan Modra  <amodra@gmail.com>
4472         PR target/69548
4473         * config/rs6000/predicates.md (quad_int_reg_operand): Don't
4474         allow subregs.
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>
4480         PR target/68986
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>
4493         PR target/69305
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>
4523         PR target/69459
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
4529         of C constraint.
4531 2016-01-29  Jakub Jelinek  <jakub@redhat.com>
4533         PR target/69551
4534         * config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For
4535         SSE1, copy target into the temporary reg first before recursing
4536         on it.
4538 2016-01-28  Jakub Jelinek  <jakub@redhat.com>
4540         PR middle-end/69542
4541         * lra-remat.c (calculate_local_reg_remat_bb_data): Only consider
4542         non-debug insns.
4544 2016-01-28  Richard Henderson  <rth@redhat.com>
4546         PR rtl-opt/69447
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
4574         removed clobber.
4576 2016-01-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4578         Backport from mainline
4579         2016-01-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4581         PR target/69403
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>
4607         PR c/68513
4608         * match.pd ((x & ~m) | (y & m)): Only perform on GIMPLE.
4610 2016-01-19  Sergei Trofimovich <siarheit@google.com>
4612         Backport from mainline
4613         PR other/60465
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
4617         predicate.
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
4631         needed.
4633 2016-01-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4635         Backport from mainline
4636         2016-01-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4638         PR target/69135
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>
4647         PR target/67895
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>"):
4655         Likewise.
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>
4663         PR target/69140
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>
4687         PR target/69194
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>
4696         PR target/69228
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>
4721         PR target/69198
4722         * config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
4723         aligned_mem is properly set for AVX512-VL floating point masked
4724         stores.
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>
4736         PR target/65689
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>
4763         PR ipa/66616
4764         * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
4765         flag.
4767 2016-01-11  Yury Gribov  <y.gribov@samsung.com>
4769         Backport from mainline
4770         2016-01-11  Yury Gribov  <y.gribov@samsung.com>
4772         PR 67425
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>
4781         PR ipa/68851
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>
4787         PR target/68648
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
4794         alternative.
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
4816         PR target/68872
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.
4825         (iordi3): Likewise.
4826         (xordi3): Likewise.
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>
4839         PR target/68729
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
4851         few builtins.
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
4863         mode from DI to SI.
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
4923         letter I->K.
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>
4940         PR target/68779
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>
4956         PR ipa/68184
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>
4964         PR middle-end/68636
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>
4970         PR c/68162
4971         * dwarf2out.c (gen_type_die_with_usage): Keep variant types
4972         of arrays.
4974 2015-12-14  Martin Jambor  <mjambor@suse.cz>
4976         PR ipa/66616
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>
5003         PR target/67484
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>
5010         PR debug/67355
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>
5036         PR target/68701
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>
5054         PR lto/65948
5055         * ipa-devirt.c (odr_types_equivalent_p): NULLPTR_TYPE is equivalent
5056         to itself.
5058 2015-12-09  John David Anglin  <danglin@gcc.gnu.org>
5060         PR target/68729
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
5064         address forms.
5066 2015-12-09  Martin Liska  <mliska@suse.cz>
5068         Backport from mainline
5069         2015-12-09  Martin Liska  <mliska@suse.cz>
5071         PR ipa/68790
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
5083         by name.
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>
5141         PR target/68416
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
5155         optimization.
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>
5200         PR c/68337
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>
5219         PR middle-end/68221
5220         * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Properly
5221         use mem_ref_offset.
5223 2015-11-24  Jakub Jelinek  <jakub@redhat.com>
5225         PR target/68483
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
5228         returns false.
5229         * optabs.c (shift_amt_for_vec_perm_mask): Return NULL_RTX
5230         whenever first is nelt or above.  Don't mask expected with
5231         2 * nelt - 1.
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>
5239         PR target/67808
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
5247         register.
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>
5259         PR target/68363
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>
5269         PR ipa/65908
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>
5292         PR middle-end/56956
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>
5301         PR fortran/67460
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>
5312         PR debug/66432
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>
5319         PR middle-end/68339
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>
5349         PR lto/61313
5350         * configure.ac (PLUGIN_LD_SUFFIX): Do not touch the value specified
5351         by the user.
5352         * configure: Regenerate.
5354 2015-11-19  Eric Botcazou  <ebotcazou@adacore.com>
5356         PR target/68408
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.
5366         PR target/67770
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
5373         PR rtl-opt/67609
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>
5388         PR ipa/68057
5389         PR ipa/68220
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>
5397         PR ipa/pr67600
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>
5404         PR ipa/67783
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
5407         quadratic behavior.
5409         2015-10-11  Jan Hubicka  <hubicka@ucw.cz>
5411         PR ipa/67056
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>
5419         PR c/66098
5420         PR c/66711
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>
5429         PR target/68143
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>
5440         PR middle-end/68067
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>
5449         PR middle-end/67443
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>
5460         PR middle-end/67662
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
5474         PR ipa/67280
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>
5484         PR target/68277
5485         * config/sh/sh.md (addsi3_scr): Handle reg overlap of operands[0] and
5486         operands[2].
5487         (*addsi3): Add another insn_and_split variant for reload.
5489 2015-11-12  Eric Botcazou  <ebotcazou@adacore.com>
5491         PR target/67265
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>
5497         PR target/67265
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>
5504         PR target/68129
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
5509         match.
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>
5522         PR target/57845
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>
5528         PR debug/66728
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.
5545         (do_remat): Ditto.
5547 2015-11-02  Andreas Tobler  <andreast@gcc.gnu.org>
5549         * config/rs6000/freebsd64.h (ASM_SPEC32): Adapt spec to handle PIE
5550         executables.
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
5560         of gen_lowpart.
5562 2015-10-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5564         Backport from mainline
5565         2015-10-27  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5567         PR target/68102
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>
5583         PR middle-end/67989
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>
5589         PR target/67929
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
5607         parameter.
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>
5613         PR middle-end/68079
5614         * dojump.c (do_compare_and_jump): Canonicalize both function and
5615         method types.
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>
5622         PR target/68015
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>
5631         PR target/68018
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
5634         is overriden.
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>
5641         PR target/66912
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>
5654         PR middle-end/66311
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>
5664         PR target/67281
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>
5678         PR target/67967
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>
5684         PR target/67940
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>
5701         PR target/66697
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>
5719         PR target/67850
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>
5727         PR target/67849
5728         * config/i386/sse.md (define_split vec_select/V8FI): Restrict
5729         split for upper-bank registers when target does not support
5730         AVX512VL.
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
5747         <isl/union_set.h>.
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
5753         <isl/union_set.h>.
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>
5762         PR debug/58315
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>
5772         PR libstdc++/65913
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>
5781         PR middle-end/67563
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>
5793         PR lto/67699
5794         * lto-cgraph.c (compute_ltrans_boundary): Do not stream
5795         abstract origins.
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
5805         to V54QI.
5806         (define_mode_iterator VI248_AVX2_8_AVX512F): Rename to ...
5807         (define_mode_iterator VI248_AVX2_8_AVX512F_24_AVX512BW): This. Extend
5808         to V32HI and V16SI.
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>
5829         PR target/67716
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
5841         brackets.
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>
5933         PR ipa/66424.
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>
5985         PR target/67391
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
6002         field.
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>
6015         PR middle-end/67442
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
6028           supervisor mode
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
6036         without FPU.
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):
6051         Declare.
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):
6059         Revise.
6061 2015-09-24  Alan Modra  <amodra@gmail.com>
6063         Apply from mainline
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>
6074         PR target/67391
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>
6083         PR target/67439
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>
6092         PR target/67143
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
6098         'const_atomic'.
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
6113         operand in pattern.
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>
6124         PR middle-end/67619
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>
6133         PR target/67657
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
6153         NULL gimple_block.
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>
6163         PR middle-end/67271
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
6180         if appropriate.
6182 2015-09-21  Kaz Kojima  <kkojima@gcc.gnu.org>
6184         Backport from mainline
6185         2015-09-16  Kaz Kojima  <kkojima@gcc.gnu.org>
6187         PR target/67573
6188         * config/sh/sh.md (call_pcrel): Add early clobber to scratch
6189         operand.
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>
6197         PR target/67061
6198         * config/sh/sh-protos.h (sh_find_set_of_reg): Simplfiy for-loop.
6199         Handle call insns.
6201 2015-09-19  John David Anglin  <danglin@gcc.gnu.org>
6203         * config/pa/pa.c (pa_function_ok_for_sibcall): Remove special treatment
6204         of TARGET_ELF32.
6206 2015-09-18  John David Anglin  <danglin@gcc.gnu.org>
6208         PR middle-end/67401
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>
6222         PR middle-end/67222
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>
6240         PR target/67506
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
6250         Solaris 12+.
6252 2015-09-10  Jakub Jelinek  <jakub@redhat.com>
6254         PR c++/67523
6255         * gimplify.c (gimplify_omp_for): If inner stmt is not found
6256         for combined loop, assert seen_error () and return GS_ERROR.
6258         PR middle-end/67521
6259         * gimplify.c (gimplify_omp_for): Don't call omp_add_variable
6260         if decl is already in outer->variables.
6262         PR middle-end/67517
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.
6267         PR c++/67514
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>
6278         PR middle-end/67512
6279         * tree-ssa-uninit.c (pred_equal_p): Only call invert_tree_comparison
6280         for comparisons.
6282 2015-09-09  Alan Modra  <amodra@gmail.com>
6284         PR target/67378
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>
6295         PR middle-end/67452
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>
6302         PR ipa/66705
6303         * tree-ssa-structalias.c (ctor_for_analysis): New function.
6304         (create_variable_info_for_1): Use ctor_for_analysis instead
6305         of get_constructor.
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>
6313         PR target/67317
6314         * config/i386/i386.md (*add<mode>3_cc): Remove insn pattern.
6315         (addqi3_cc): Ditto.
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>
6343         PR target/67417
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>
6353         PR middle-end/67005
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>
6387         PR target/67211
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>
6417         PR c++/65734
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>
6427         PR target/67127
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>
6436         PR target/66648
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>
6454         PR target/67002
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
6461         noavx512vl.
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>
6472         PR target/65697
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>
6481         PR target/65697
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>
6490         PR target/65697
6491         * config/aarch64/aarch64.c (aarch64_split_compare_and_swap): Check
6492         for __sync memory models, emit initial loads and final barriers as
6493         appropriate.
6495 2015-08-05  Matthew Wahab  <matthew.wahab@arm.com>
6497         Backport from trunk.
6498         2015-06-01  Matthew Wahab  <matthew.wahab@arm.com>
6500         PR target/65697
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>
6507         Backport from trunk
6508         2015-05-12  Andrew MacLeod  <amacleod@redhat.com>
6510         PR target/65697
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
6534         accessors.
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):
6545         Likewise.
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
6548         use new accessors.
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
6561         accessors.
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
6564         model, not 8.
6566 2015-08-04  Szabolcs Nagy  <szabolcs.nagy@arm.com>
6568         Backport from mainline:
6569         2015-08-04  Szabolcs Nagy  <szabolcs.nagy@arm.com>
6571         PR target/66731
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>
6577         PR target/66731
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>
6590         PR target/67060
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>
6599         PR target/66731
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>
6612         PR target/67049
6613         * config/sh/sh.md (GOTaddr2picreg): Fix typo.
6615 2015-07-31  Vladimir Makarov  <vmakarov@redhat.com>
6617         PR debug/66691
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
6621         of constant.
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>
6643         PR target/66930
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>
6661         PR target/65249
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>
6678         PR target/65711
6679         * config/aarch64/aarch64-linux.h (LINUX_TARGET_LINK_SPEC): Move
6680         -dynamic-linker within %{!static %{!shared, and -rdynamic within
6681         %{!static.
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>
6688         PR ipa/66566
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>
6703         PR target/58066
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>
6731         PR ipa/66760
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>
6768         PR target/66569
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>
6779         PR middle-end/66568
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>
6790         PR middle-end/66567
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>
6801         PR middle-end/66134
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>
6810         PR target/66048
6811         * function.c (diddle_return_value_1): Process bounds first.
6812         * config/i38/i386.c (ix86_function_value_regno_p): Add bnd1
6813         register.
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.
6840         PR target/66956
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
6849         captures.
6851 2015-07-18  Uros Bizjak  <ubizjak@gmail.com>
6853         PR target/66922
6854         * config/i386/i386.c (ix86_expand_pinsr): Reject insertions
6855         to misaligned positions.
6857 2015-07-17  Uros Bizjak  <ubizjak@gmail.com>
6859         PR target/66866
6860         * config/i386/i386.c (ix86_expand_pinsr): Reject non-lowpart
6861         source subregs.
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>
6880         PR target/66814
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>
6898         PR ipa/66896
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>
6915         PR rtl/66556
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>
6925         PR libgomp/65099
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>
6933         PR libgomp/65099
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
6937         compiler.
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>
6950         PR libgomp/65742
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>
6957         PR target/66840
6958         * config/rs6000/t-rs6000 (TM_H): Add rs6000-cpus.def.
6960 2015-07-10  Jakub Jelinek  <jakub@redhat.com>
6962         PR middle-end/66820
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
6966         is non-zero.
6968         Backported from mainline
6969         2015-07-09  Jakub Jelinek  <jakub@redhat.com>
6971         PR middle-end/66633
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
6976         2015-07-01 changes.
6977         (convert_tramp_reference_stmt): If a frame_decl or chain_decl
6978         is needed newly inside of GIMPLE_OMP_{PARALLEL,TASK,TARGET} body,
6979         add it to clauses.
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
7002         inverted predicate.
7004         2015-07-08  Richard Biener  <rguenther@suse.de>
7006         PR middle-end/43341
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>
7020         PR target/66780
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>
7026         PR target/66523
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>
7035         PR target/65956
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>
7051         PR target/65914
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>
7061         PR target/66114
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>
7067         PR target/66509
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>
7085         PR target/37072
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
7103         definitions.
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
7148         TARGET_VX check.
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
7188         prototypes.
7189         * config/s390/s390.c (s390-builtins.h, s390-builtins.def):
7190         Include.
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
7205         efpc builtins.
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
7218         support.
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
7226         CCVFHE.
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
7252         constraints.
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
7294         possible.
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
7299         targets.
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
7321         memory.
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.
7328         Include vector.md.
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
7354         z13.
7355         * config.gcc: Add z13.
7356         * config/s390/s390-opts.h (enum processor_type): Add
7357         PROCESSOR_2964_Z13.
7358         * config/s390/s390.c (s390_adjust_priority): Check for
7359         PROCESSOR_2964_Z13.
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.
7368         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.
7373         (mvx): New options.
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 *
7397         to uint64_t *.
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>
7412         PR target/64833
7413         * config/sh/sh.md (casesi_worker_1): Set length to 8 when
7414         flag_pic is set.
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>
7425         PR middle-end/66633
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>
7433         PR middle-end/66702
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
7443         is specified.
7445 2015-06-30  Szabolcs Nagy  <szabolcs.nagy@arm.com>
7447         Backport from mainline:
7448         2015-06-02  Szabolcs Nagy  <szabolcs.nagy@arm.com>
7450         PR target/66136
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>
7466         PR target/65979
7467         PR target/66611
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>
7473         PR debug/66301
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>
7480         PR target/66412
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
7491         pie executables.
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>
7502         PR target/66563
7503         * config/sh/sh.md (GOTaddr2picreg): Add a new operand for
7504         an additional element of the unspec vector.  Modify indices
7505         of operands.
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>
7515         PR target/63408
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>
7521         PR target/66200
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>
7536         PR middle-end/66413
7537         * tree-inline.c (insert_init_debug_bind): Unshare value.
7539 2015-06-23  Ludovic Courtès  <ludo@gnu.org>
7541         PR 65711
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>
7547         PR bootstrap/63740
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
7589         MWAITX support.
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.
7595         (PTA_MWAITX): New.
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
7604         UNSPEC_MONITORX.
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>
7613         PR middle-end/66429
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
7617         child_cfun.
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
7622         passes.
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>
7637         PR target/65527
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>
7666         PR target/66258
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
7671         to !TARGET_FLOAT.
7672         (aarch64_gimplify_va_arg_expr, aarch64_setup_incoming_varargs):
7673         Likewise.
7675 2015-06-16  Richard Biener  <rguenther@suse.de>
7677         Revert
7678         2015-06-01  Richard Biener  <rguenther@suse.de>
7680         Backport from mainline
7681         2015-05-26  Michael Matz  <matz@suse.de>
7683         PR middle-end/66251
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
7704         CONST_INT for goto.
7706 2015-06-11  Eric Botcazou  <ebotcazou@adacore.com>
7708         PR bootstrap/66252
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
7728         new hook.
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
7738         comp_unit_die ().
7740 2015-06-10  Uros Bizjak  <ubizjak@gmail.com>
7742         PR target/66473
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>
7751         PR target/66474
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>
7758         PR target/66470
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
7762         the memory loads.
7764 2015-06-08  Uros Bizjak  <ubizjak@gmail.com>
7766         Backport from mainline:
7767         2015-06-03  Uros Bizjak  <ubizjak@gmail.com>
7769         PR target/66275
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
7781         call_used_regs.
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>
7789         PR bootstrap/66319
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
7793         later.
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>
7805         PR debug/65549
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
7816         def-use walking.
7818         2015-05-27  Richard Biener  <rguenther@suse.de>
7820         PR tree-optimization/66272
7821         Revert parts of
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>
7835         PR c++/66211
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
7843         a taken edge.
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>
7858         PR middle-end/66345
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
7865         2014-08-11 change.
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>
7872         PR target/66215
7873         * config/s390/s390.c (s390_reorg): Fix placement of post-label NOPs
7874         with -mhotpatch=.
7876 2015-06-01  Richard Biener  <rguenther@suse.de>
7878         Backport from mainline
7879         2015-05-26  Michael Matz  <matz@suse.de>
7881         PR middle-end/66251
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>
7906         PR target/66148
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>
7921         PR target/65979
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.
7933         Simplify.
7935         2015-05-19  Jakub Jelinek  <jakub@redhat.com>
7937         PR middle-end/66199
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
7946         GOVD_FIRSTPRIVATE.
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
7959         ORT_COMBINED_TEAMS.
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>
7965         PR middle-end/66133
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
7968         return.
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>
7986         PR middle-end/66221
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>
7992         PR target/66174
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>
7999         PR target/66047
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>
8010         PR target/66047
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>
8022         PR ipa/65873
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>
8038         PR target/66140
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>
8048         PR target/65955
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
8057         to 1.
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):
8065         Increase to 128.
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>
8093         PR target/65780
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>
8101         PR target/66015
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>
8109         PR target/65990
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>
8115         PR target/66015
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>
8124         PR target/64579
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
8139         expected value.
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
8149         not TARGET_64BIT.
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
8155         define_expands.
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.
8176         PR lto/65559
8177         * lto-wrapper.c (run_gcc): Open filename
8178         in binary-mode.
8180 2015-04-30  Paolo Carlini  <paolo.carlini@oracle.com>
8182         PR c++/65801
8183         * doc/invoke.texi ([-Wnarrowing]): Update.
8185 2015-04-30  Alan Modra  <amodra@gmail.com>
8187         PR target/65408
8188         PR target/58744
8189         PR middle-end/36043
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.
8207         PR target/65296
8208         PR target/65895
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>
8217         PR target/65849
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
8221         target support.
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
8253         longer needed.
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
8287         option.
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
8301         adjustments.
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
8304         zero.
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>
8311         PR target/65456
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
8315         option.
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
8324         it that way.
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>
8351         PR target/65296
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>
8368         PR debug/65807
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>
8377         PR target/65780
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>
8384         PR target/65787
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>
8391         PR target/65780
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
8396         locally.
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
8401         ix86_binds_local_p.
8403 2015-04-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8405         PR target/65787
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>
8412         PR debug/65771
8413         * dwarf2out.c (loc_list_from_tree): Return NULL
8414         for DEBUG_EXPR_DECL.
8416 2015-04-15  Jakub Jelinek  <jakub@redhat.com>
8418         PR ipa/65765
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
8433         Michael Matz.
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>
8455         PR ipa/65743
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>
8466         PR ipa/65722
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>
8500         PR target/65710
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>
8506         PR target/65694
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>
8512         PR target/65729
8513         * lra-constraints.c (prohibited_class_reg_set_mode_p): Comment the
8514         assert.
8516 2015-04-10  Jakub Jelinek  <jakub@redhat.com>
8517             Iain Sandoe  <iain@codesourcery.com>
8519         PR target/65351
8520         * configure: Regenerate.
8522 2015-04-09  Kirill Yukhin  <kirill.yukhin@intel.com>
8524         PR target/65671
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>
8539         PR target/65710
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
8545         spill preferences.
8547 2015-04-09  Marek Polacek  <polacek@redhat.com>
8548             Jakub Jelinek  <jakub@redhat.com>
8550         PR middle-end/65554
8551         * gimple-fold.c (gimple_fold_builtin_memory_op): Update comment.
8552         (fold_ctor_reference): Use STRIP_USELESS_TYPE_CONVERSION instead
8553         of STRIP_NOPS.
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
8559         #ifndef HAVE_cc0.
8561 2015-04-09  Georg-Johann Lay  <avr@gjlay.de>
8563         PR target/65296
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>
8569         PR target/65676
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>
8578         PR target/65693
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
8601         to an example.
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
8626         alpha_links **.
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>
8648         PR ipa/65540
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>
8654         PR target/65648
8655         * lra-remat.c (do_remat): Process input and non-input insn
8656         registers separately.
8658 2015-04-07  Jakub Jelinek  <jakub@redhat.com>
8660         PR debug/65678
8661         * valtrack.c (debug_lowpart_subreg): New function.
8662         (dead_debug_insert_temp): Use it.
8664         PR middle-end/65680
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>
8675         PR target/65489
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>
8682         PR target/65351
8683         * configure: Regenerate.
8685 2015-04-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
8687         PR target/65614
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
8748         restrictive assert.
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>
8763         PR ipa/65665
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>
8775         PR target/65647
8776         * lra-int.h (LRA_MAX_REMATERIALIZATION_PASSES): New.  Add its
8777         value checking.
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):
8799         Likewise.
8801 2015-04-04  Alan Modra  <amodra@gmail.com>
8803         PR target/65576
8804         PR target/65240
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
8808         alternative.
8810 2015-04-03  Jan Hubicka  <hubicka@ucw.cz>
8812         PR ipa/65654
8813         * ipa-inline-transform.c (inline_call): Skip sanity check to work
8814         around the ICE
8816 2015-04-03  Jan Hubicka  <hubicka@ucw.cz>
8818         PR ipa/65655
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>
8824         PR ipa/65076
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
8862         macros for CLK_ASM.
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
8869         memory operands.
8871 2015-04-02  Ilya Enkovich  <ilya.enkovich@intel.com>
8873         PR driver/65444
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.
8892         Use UNSPEC_LDA.
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.
8896         Use UNSPEC_STA.
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>
8910         PR target/65624
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
8917         split_part.
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>
8928         PR target/58945
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
8938         no caching is done.
8940 2015-03-31  Martin Liska  <mliska@suse.cz>
8942         PR ipa/65557
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
8950         of types.
8952 2015-03-31  Dominik Vogt  <vogt@linux.vnet.ibm.com>
8954         * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching
8955         nested functions.
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>
8964         PR middle-end/65626
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>
8971         PR target/65531
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>
8979         PR plugins/61176
8980         * Makefile.in (install-plugin): Add all gcc/*.{h,def} files
8981         automatically to $headers.
8983 2015-03-30  Jakub Jelinek  <jakub@redhat.com>
8985         PR ipa/65610
8986         * ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare.
8987         * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New
8988         function.
8989         (decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store):
8990         Use it.
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
8997         recursive calls.
8998         (remove_unused_locals): Adjust remove_unused_scope_block_p caller.
9000 2015-03-27  Jan Hubicka  <hubicka@ucw.cz>
9002         PR ipa/65076
9003         * ipa-inline.c (edge_badness): Base denominator on callee's
9004         grwoth squared.
9006 2015-03-27  Martin Jambor  <mjambor@suse.cz>
9008         PR ipa/65478
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
9016         necessary.
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>
9025         PR ipa/65588
9026         * symtab.c (symtab_node::get_partitioning_class): Register vars
9027         are duplicated.
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>
9033         PR target/65248
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>
9046         PR target/65593
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>
9053         PR target/65531
9054         * symtab.c (symtab_node::verify_symtab_nodes): Fix verification of
9055         comdat groups.
9057 2015-03-27  Jan Hubicka  <hubicka@ucw.cz>
9059         PR ipa/65600
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>
9067         PR target/65407
9068         * ira-costs.c (record_reg_classes): Process all constraint string
9069         containing 0-9.
9071 2015-03-27  Bernd Schmidt  <bernds@codesourcery.com>
9073         * config/c6x/c6x.md (movmisalign<mode>): Use MEM_P, not
9074         memory_operand.
9076         PR target/65052
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>
9082         PR middle-end/65595
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>
9088         PR target/65495
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>
9105         PR sanitizer/65583
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
9115         auto_vec.
9117 2015-03-26  Jan Hubicka  <hubicka@ucw.cz>
9119         PR lto/65536
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
9133         variable.
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>
9151         PR ipa/65076
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):
9170         New macros.
9171         (can_inline_edge_p): Relax option matching for always inline functions.
9173 2015-03-26  Uros Bizjak  <ubizjak@gmail.com>
9175         PR target/65561
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
9181         for equality.
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
9189         cross check to ...
9190         (cgraph_node::verify_node): ... here; verify only callee edges,
9191         not caller.
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>
9221         PR middle-end/65555
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>
9245         PR target/65569
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.
9255         (bb_in_bbs): New.
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>
9261         PR bootstrap/65537
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>
9268         PR target/65508
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>
9288         PR lto/65515
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>
9301         PR middle-end/65519
9302         * genmatch.c (expr::gen_transform): Re-write to avoid
9303         using gimple_build.
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
9321         correct clause.
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
9335         order.
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
9343         vector.
9345 2015-03-24  Richard Biener  <rguenther@suse.de>
9347         PR middle-end/65517
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>
9364         PR target/65523
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>
9370         PR target/65505
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>
9381         PR target/65296
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>
9387         PR bootstrap/65522
9388         * ipa-devirt.c: Remove duplicate demangle.h include.
9390         PR target/65504
9391         * config/i386/i386.c (ix86_copy_addr_to_reg): Set REG_POINTER
9392         on the pseudo.
9393         (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Set
9394         REG_POINTER on *destptr after adjusting it for prologue size.
9396         PR ipa/65521
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
9411         matches here.
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
9437         add to the table.
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
9453         as an adjective.
9454         (System Headers): Likewise.
9455         (Ifdef): Likewise.
9456         (Traditional macros): Likewise.
9457         (Invocation): Likewise.
9458         (Option Index): Likewise.
9459         * doc/cppopts.texi (-M): Likewise.
9460         (-finput-charset): Likewise.
9461         (--help): Likewise.
9462         * doc.invoke.texi (AVR Options): Likewise.
9463         (V850 Options): Likewise.
9465 2015-03-22  Jan Hubicka  <hubicka@ucw.cz>
9467         PR ipa/65475
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
9478         type.
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
9483         we did not warn.
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>
9507         PR ipa/65502
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>
9514         PR ipa/65475
9515         * ipa-devirt.c (add_type_duplicate): Prevail polymorphic type over
9516         non-polymorphic
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.
9553         (-flto): Likewise.
9554         (tracer-dynamic-coverage-feedback): Likewise.
9555         (reorder-block-duplicate-feedback): Likewise.
9556         (loop-unroll-jam-size): Likewise.
9557         (-B): Likewise.
9558         (-I-): 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
9601         cgraph_node.
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>
9613         PR middle-end/64715
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
9625         already is final.
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
9629         CIF_FINAL_ERROR.
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>
9639         PR target/65240
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
9658         for extenddftf2.
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>
9668         PR ipa/65380
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>
9674         PR ipa/65465
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>
9685         Revert
9686         2015-03-10  Richard Biener  <rguenther@suse.de>
9688         PR middle-end/63155
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
9696         live/conflict.
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>
9703         PR sanitizer/65400
9704         * tsan.c (instrument_gimple): Clear tail call flag on
9705         calls.
9707 2015-03-19  Jakub Jelinek  <jakub@redhat.com>
9709         PR sanitizer/65400
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
9713         find_return_bb.
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>
9733         PR middle-end/64491
9734         Revert:
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>
9742         PR ipa/65432
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
9746         sem_item::name.
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
9751         sem_item::name.
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
9756         sem_item::name.
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
9764         function.
9765         (vect_create_addr_base_for_vector_ref, vect_create_data_ref_ptr): Use
9766         it instead of duplicate_ssa_name_ptr_info.
9768         PR target/65222
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>
9796         PR target/65078
9797         * config/i386/sse.md (movsi/movdi -> vec_extract_*_0 splitter): New.
9799 2015-03-16  Georg-Johann Lay  <avr@gjlay.de>
9801         PR target/65296
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
9812         case of an error.
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
9828         functions.
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.
9840         Adjust all users.
9842         PR middle-end/65431
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>
9849         PR sanitizer/64820
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>
9857         PR middle-end/65409
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>
9863         PR middle-end/65414
9864         Revert:
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>
9873         PR target/63150
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
9882         early clobber.
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
9906         the external decls.
9908 2015-03-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
9910         PR target/64600
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>
9922         PR middle-end/44563
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>
9932         PR middle-end/44563
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
9938         here.
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
9968         cdtor.
9969         * ipa-icf-gimple.c (func_checker::compare_decl): Do polymorphic
9970         matching here.
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):
9974         Declare.
9975         (unc_checker::compatible_types_p): Update.
9976         * ipa-icf.h (compare_type_list, parse_tree_refs, compare_sections):
9977         Remove.
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>
9988         PR middle-end/65270
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
9995         to s390_reorg ().
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>
10009         PR target/65103
10010         * config/i386/i386.c (ix86_address_cost): Fix cost of a PIC
10011         register.
10013 2015-03-12  Ilya Enkovich  <ilya.enkovich@intel.com>
10015         PR target/65044
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
10022         to split on.
10023         * omp-low.c (expand_omp_taskreg): Split block before removing
10024         the stmt.
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
10047         old GCC versions.
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>
10077         PR target/65296
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>
10095         PR target/65242
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
10109         alignment.
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>
10117         PR target/65368
10118         * config/i386/i386.md (bmi2_bzhi_<mode>3): Removed define_insn,
10119         new define_expand.
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>
10130         PR sanitizer/65367
10131         * ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG
10132         when only removing the statement.  Handle expanding UBSAN_OBJECT_SIZE
10133         separately.
10135 2015-03-10  Jakub Jelinek  <jakub@redhat.com>
10137         PR target/65286
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
10159         libgomp-plugin.h.
10160         (main): Use GCC_INSTALL_NAME as target_driver_name.
10161         * config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME
10162         define.
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
10176         live/conflict.
10177         (verify_ssa_coalescing_worker): New function.
10178         (verify_ssa_coalescing): Likewise.
10180 2015-03-10  Georg-Johann Lay  <avr@gjlay.de>
10182         PR target/65296
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.
10190         (-march=): Remove.
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
10232         functions.
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.
10263         (CHKP_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
10272         for compare_type.
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
10289         variables.
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
10302         code in comment.
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
10308         than shift mode.
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
10316         anchor.
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>
10322         PR target/65286
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
10328         and powerpc64le.
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>
10339         PR lto/65361
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>
10373         PR lto/65316
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
10395         duplicates.
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
10400         output.
10401         (ipa_devirt): Dump type_inheritance_graph.
10402         (types_same_for_odr): Add strict mode.
10404 2015-03-05  Jan Hubicka  <hubicka@ucw.cz>
10406         PR ipa/65334
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>
10426         PR ipa/65316
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>
10433         PR sanitizer/65280
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>
10443         PR ipa/65302
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
10472         the patch.
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>
10480         PR target/64342
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>
10493         PR ipa/65318
10494         * ipa-icf.c (sem_variable::equals): Compare variables types.
10496 2015-03-05  Richard Henderson  <rth@redhat.com>
10498         PR target/65121
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
10506         needed alignment.
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
10513         bootstrap.
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>
10523         PR ipa/65270
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
10531         tree-into-ssa.h.
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>
10537         PR ipa/65270
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):
10558         Likewise.
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
10585         thunks.
10586         (ipa_early_sra): Use call_for_symbol_and_aliases.
10588 2015-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
10590         PR target/65249
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
10597         inc/dec.
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
10611         negating it.
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
10624         prototypes.
10625         * config/xtensa/xtensa.c (xtensa_callee_save_size): New
10626         variable.
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
10638         windowed ABI.
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
10642         windowed ABI.
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
10657         call0 ABI.
10658         (xtensa_trampoline_init): Add trampoline initialization for
10659         call0 ABI.
10660         (xtensa_conditional_register_usage, xtensa_regno_to_class): New
10661         functions.
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
10668         call0 ABI.
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
10674         function.
10675         (WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI
10676         respectively.
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
10686         definitions.
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>
10697         PR ipa/65287
10698         * ipa-icf.c (sem_variable::parse): Skip all alias variables.
10700 2015-03-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
10702         PR 65138/target
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
10719         definition to 1.
10720         * config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME):
10721         Likewise.
10722         * defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if
10723         undefined.
10724         * doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update
10725         paragraph.
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>
10742         PR ipa/65282
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>
10753         PR target/65296
10754         * config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove.
10756 2015-03-03  Georg-Johann Lay  <avr@gjlay.de>
10758         PR target/64331
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.
10769         PR target/65296
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.
10777         (tm.h): Include.
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>
10793         PR ipa/65263
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>
10802         PR ipa/65087
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>
10812         PR 65138/target
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
10822         -mcpu=powerpc64le.
10824 2015-03-02  Steve Ellcey  <sellcey@imgtec.com>
10826         PR target/58158
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
10833         reload_completed.
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>
10842         PR ipa/65130
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>
10851         PR ipa/64988
10852         * ipa-inline-transform.c (clone_inlined_nodes): Do not dissolve
10853         comdat groups.
10855 2015-03-02  Jan Hubicka  <hubicka@ucw.cz>
10856             Aldy Hernandez  <aldyh@redhat.com>
10858         PR lto/65276
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>
10864         PR ipa/65270
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>
10870         PR target/65184
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>
10876         PR target/65183
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
10890         variables.
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
10906         equals_wpa.
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>
10924         PR ipa/65245
10925         * ipa-icf-gimple.c (func_checker::compare_function_decl):
10926         Remove.
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
10935         for references.
10937 2015-02-28  Jan Hubicka  <hubicka@ucw.cz>
10939         * ipa-icf-gimple.c (func_checker::compare_operand): Fix handling
10940         of OBJ_TYPE_REF.
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>
10963         PR ipa/65237
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>
10969         PR ipa/65232
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>
10976         PR ipa/65236
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
10982         to neon_to_gp<q>.
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>
10991         PR target/64317
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):
11000         Document change.
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>
11021         PR target/65032
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>
11030         PR c/65040
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
11037         function.
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>
11068         PR bootstrap/65150
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
11076         Optimization flag.
11077         * symtab.c (symtab_node::resolve_alias): When alias has aliases,
11078         redirect them.
11079         (symtab_node::make_decl_local): Set ADDRESSABLE bit when
11080         decl is used.
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):
11090         Remove.
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):
11106         Likewise.
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>
11128         PR ipa/64693
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>
11139         PR target/65192
11140         * config/avr/avr-protos.h (tiny_valid_direct_memory_access_range):
11141         Remove.
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>
11151         PR target/61142
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>
11159         PR ipa/65008
11160         * ipa-inline.c (early_inliner): Recompute inline parameters.
11162 2015-02-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
11164         PR target/65171
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>
11179         PR debug/46102
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
11199         offloading LTO.
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):
11204         Likewise.
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
11235         field.
11236         * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
11238 2015-02-26  Yuri Rumyantsev  <ysrumyan@gmail.com>
11240         PR target/65161
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>
11269         PR target/64212
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>
11275         PR target/65167
11276         * gcc/config/i386/i386.c (ix86_function_arg_regno_p): Support
11277         bounds registers.
11278         (avoid_func_arg_motion): Add dependencies for BNDSTX insns.
11280 2015-02-25  Alan Lawrence  <alan.lawrence@arm.com>
11282         PR target/64997
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>
11295         PR target/65196
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>
11314         PR lto/64374
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
11321         function.
11322         (TARGET_OPTION_POST_STREAM_IN): Redefine.
11324 2015-02-24  Jeff Law  <law@redhat.com>
11326         PR target/65117
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
11334         CXX_MEM_STAT_INFO.
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>
11350         PR target/65058
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
11357         definition too.
11359 2015-02-24  Nick Clifton  <nickc@redhat.com>
11361         * config/v850/v850.h (ASM_SPEC): Pass -msoft-float/-mhard-float on
11362         to the assembler.
11364 2015-02-24  Thomas Schwinge  <thomas@codesourcery.com>
11366         PR libgomp/64625
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>
11397         PR target/65172
11398         * config/rs6000/rs6000.c (get_memref_parts): Only return true
11399         when *base is a reg.  Handle nested plus addresses.  Simplify
11400         pre_modify test.
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>
11409         PR target/65153
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>
11416         PR fortran/63427
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>
11422         PR target/65163
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>
11436         PR debug/58123
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):
11446         Define.
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>
11453         PR target/64172
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>
11466         PR target/63892
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
11480         in the shift step.
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>
11498         PR target/64452
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
11508         in_lto_p.
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
11514         note on insn.
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>
11523         PR ipa/65028
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>
11543         PR lto/65012
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
11561         auto_vec<int>.
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>
11581         PR target/65064
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
11588         insn-modes.h.
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>
11617         PR ipa/65087
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
11627         into BIVs.
11629 2015-02-18  Marek Polacek  <polacek@redhat.com>
11631         PR sanitizer/65081
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
11647         GCC_INSTALL_NAME.
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
11687         -O2.
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>
11693         PR target/64793
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
11722         obsolete comment.
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
11735         not aliases.
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
11743         statements.
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>
11752         PR ipa/64963
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*-*-*
11769         from the top menu.
11771 2015-02-16  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
11772             David Edelsohn  <dje.gcc@gmail.com>
11774         PR target/65058
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
11778         mapping class.
11780 2015-02-16  David Eelsohn  <dje.gcc@gmail.com>
11782         PR target/53348
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>
11788         PR lto/65015
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>
11801         PR ipa/65059
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
11824         comment.
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
11830         index address.
11831         * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand
11832         to a register.
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):
11867         Move inline.
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>
11891         PR bootstrap/65060
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>
11915         PR ipa/65028
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>
11921         PR ipa/65028
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>
11932         PR ipa/65034
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
11939         constraints.
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
11942         SOM target.
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
11948         SSA on start.
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>
11955         PR lto/65015
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>
11971         PR rtl/32219
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
11983         via symtab_node.
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
12004         warning.
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>
12024         PR sanitizer/65019
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>
12034         PR target/63347
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>
12047         PR sanitize/65000
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>
12078         PR ipa/64813
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>
12084         PR lto/65015
12085         * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list
12086         and -fresolution.
12088 2015-02-11  Andrew Pinski  <apinski@cavium.com>
12090         PR target/64893
12091         * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
12092         Change the first argument type to size_type_node and add another
12093         size_type_node.
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>
12103         PR target/61925
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>
12112         PR ipa/65005
12113         * ipa-visibility.c (cgraph_node::non_local_p): Turn into static
12114         function.
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>
12155         PR sanitizer/65004
12156         * ubsan.c (ubsan_expand_vptr_ifn): Always return true.
12158 2015-02-10  Oleg Endo  <olegendo@gcc.gnu.org>
12160         PR target/64661
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
12166         predicates.
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
12171         PR 64974.
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
12183         constraint.
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>
12238         PR ipa/64982
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>
12292         PR lto/64076
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>
12303         PR ipa/64978
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>
12309         PR target/64761
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>
12320         PR target/64761
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>
12332         PR sanitizer/64981
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>
12338         PR ipa/61548
12339         * tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS.
12341 2015-02-08  Jan Hubicka  <hubicka@ucw.cz>
12343         PR ipa/63566
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>
12359         PR target/64979
12360         * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for
12361         va_list escapes.
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>
12403         PR ipa/63566
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>
12409         PR ipa/63566
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
12414         on mismatches.
12415         (init_cumulative_args): Look through aliases.
12417 2015-02-08  Jan Hubicka  <hubicka@ucw.cz>
12419         PR ipa/63566
12420         * ipa-split.c (execute_split_functions): Split if function has aliases.
12422 2015-02-08  Jan Hubicka  <hubicka@ucw.cz>
12424         PR ipa/63566
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
12434         basic asm.
12435         (Extended Asm): Copy-edit.  Document new escape syntax and
12436         %l[label] syntax.
12437         (Global Reg Vars): Copy-edit.
12438         (Local Reg Vars): Likewise.
12440 2015-02-06  David Edelsohn  <dje.gcc@gmail.com>
12442         PR debug/2714
12443         PR bootstrap/64256
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.
12460         PR ipa/64896
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>
12472         PR target/64205
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
12491         complex gimple.
12492         * tree-ssa.c (execute_update_addresses_taken): Likewise.
12494 2015-02-06  Jeff Law  <law@redhat.com>
12496         PR target/64889
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
12506         PR debug/64817
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>
12512         PR target/62631
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>
12518         PR target/17306
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.
12527         PR target/43264
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>
12533         PR target/64876
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
12540         check.
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>
12556         PR ipa/61548
12557         * tree-emultls.c (new_emutls_decl): Resolve alias after creating it.
12559 2015-02-04  Jan Hubicka  <hubicka@ucw.cz>
12561         PR ipa/61548
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>
12567         PR ipa/61548
12568         * varpool.c (varpool_node::remove): Fix order of variables.
12570 2015-02-04  Jan Hubicka  <hubicka@ucw.cz>
12572         PR ipa/64686
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>
12583         PR gcov/64123
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
12597         DW_LANG_Fortran08.
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
12604         lang_GNU_Fortran.
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
12641         inside a MEM.
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
12648         of DEF_BUILTIN.
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>
12662         PR debug/64817
12663         * cfgexpand.c (expand_debug_expr): Compute unsignedp from
12664         operands for tcc_comparison exprs.  Fix typos.
12666         PR debug/64817
12667         * simplify-rtx.c (simplify_binary_operation_1): Simplify one
12668         of two XORs that have an intervening AND or IOR.
12670         PR debug/64817
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>
12716         PR target/64408
12717         * config/fr30/predicates.md (di_operand): Add SUBREG to the list
12718         of accepted codes.
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
12733         chain for target.
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>
12753         PR target/64660
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
12773         unused.
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
12797         unused.
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>
12807         PR jit/64810
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
12813         gcc-main.c.
12814         (driver_get_configure_time_options): New function.
12815         * gcc.h (class driver): Move this declaration here, from
12816         gcc.c.
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>
12833         PR target/62631
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>
12841         PR other/63504
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
12853         heuristically.
12855 2015-02-02  David Malcolm  <dmalcolm@redhat.com>
12857         PR jit/64810
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>
12865         PR target/64231
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>
12884         PR target/64047
12885         * config/rs6000/rs6000.c (rs6000_set_current_function): Handle
12886         explicit default options.
12888 2015-02-01  Jan Hubicka  <hubicka@ucw.cz>
12890         PR ipa/64872
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>
12897         PR debug/64817
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
12906         value.
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>
12913         PR target/64851
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
12937         after renaming.
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
12942         renaming.
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
12949         variants.
12950         * doc/invoke.texi: Likewise.
12951         * doc/md.texi: Likewise.
12953 2015-01-31  Uros Bizjak  <ubizjak@gmail.com>
12955         PR target/64882
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>
12971         PR target/64688
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>
12980         PR target/64617
12981         * lra-constraints.c (prohibited_class_reg_set_mode_p): New
12982         function.
12983         (process_alt_operands): Use it.
12984         (curr_insn_transform): Check the optional reload pseudo class is
12985         ok for the mode.
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
12991         prototype.
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>
13036         PR target/64580
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
13041         thunks.
13043 2015-01-29  Jeff Law  <law@redhat.com>
13045         PR target/15184
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
13056         use.
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>
13110         PR target/64761
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>
13136         PR ipa/64801
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>
13159         PR target/64659
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
13192         to allow R0 usage.
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
13196         to allow R0 usage.
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
13230         and K08.
13232 2015-01-28  Jakub Jelinek  <jakub@redhat.com>
13234         PR other/63504
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
13255         function.
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>
13292         PR bootstrap/64612
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
13304         print_version.
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>
13311         PR ipa/60871
13312         PR ipa/64139
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>
13318         PR ipa/64282
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):
13330         Renamed.
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
13338         attribute.
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
13355         of scratch reg.
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
13362         memory accesses.
13364 2015-01-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
13366         * config/s390/s390.c (s390_register_move_cost): Increase costs for
13367         FPR->GPR moves.
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
13381         enhancements.
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>
13390         PR ubsan/64741
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>
13404         PR ipa/64776
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>
13431         PR target/49263
13432         * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before
13433         remove_insn.
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>
13439         PR ipa/64730
13440         * ipa-inline.c (inline_small_functions): Print "unknown" even
13441         if edge->call_stmt is non-NULL, but has builtins or unknown
13442         location.
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>
13450         PR target/64806
13451         * config/i386/i386 (feature_priority): Revert the last P_POPCNT
13452         order change.
13454 2015-01-26  Uros Bizjak  <ubizjak@gmail.com>
13456         PR target/64795
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
13469         the comment.
13470         * config/aarch64/aarch64.md (tlsle_small_<mode>): Add left shift 12-bit
13471         for higher part.
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>
13481         PR bootstrap/64754
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
13492         pipeline model.
13493         config/arm/arm.md: Include the new Cortex-A57 model.
13494         (generic_sched): Don't use generic_sched when tuning for
13495         Cortex-A57.
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>
13521         PR target/49263
13522         PR target/53987
13523         PR target/64345
13524         PR target/59533
13525         PR target/52933
13526         PR target/54236
13527         PR target/51244
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
13576         order variants.
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
13581         order variant.
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
13596         condition.
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
13608         set destination.
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>
13626         PR target/64317
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
13648         alternative 1.
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>
13657         PR driver/64737
13658         * gcc.c (print_configuration): Don't print a blank line at the end
13659         here...
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>
13669         PR target/50928
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>
13682         PR jit/64721
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>
13694         PR jit/64722
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>
13706         PR libgomp/64672
13707         * lto-opts.c (lto_write_options): Output non-explicit conservative
13708         -fno-openacc.
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>
13714         PR libgomp/64707
13715         * lto-opts.c (lto_write_options): Output non-explicit conservative
13716         -fno-openmp.
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>
13722         PR debug/64511
13723         * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
13724         GTY markup.
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
13733         internal_error.
13735 2015-01-22  Jeff Law  <law@redhat.com>
13737         PR target/52076
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
13743         operand predicate.
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>
13758         PR ipa/64694
13759         * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of
13760         heap.
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>
13788         PR target/64688
13789         PR target/64477
13790         * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints
13791         for alternative 3.
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>
13806         PR driver/64690
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
13815         attributes.
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>
13831         PR debug/64511
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)).
13836         PR sanitizer/64706
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
13843         of the pass.
13845 2015-01-21  Jan Hubicka  <hubicka@ucw.cz>
13847         * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect
13848         edges.
13850 2015-01-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
13852         * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread
13853         decl attribute.
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):
13861         Removed.
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):
13882         Declare.
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>
13900         PR target/64669
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
13907         PARALLELs.
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>
13926         PR target/59946
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>
13937         PR ipa/63576
13938         * ipa-utils.c (ipa_merge_profiles): Merge speculative edges.
13940 2015-01-19  Jan Hubicka  <hubicka@ucw.cz>
13942         PR lto/45375
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>
13958         PR debug/64663
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
13969         needed.
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>
13981         PR ipa/64684
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>
13988         PR target/64149
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>
14011         PR bootstrap/64676
14012         Revert:
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
14018         definitions.
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>
14026         PR lto/45375
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>
14032         PR lto/45375
14033         * i386.c (gate): Check flag_expensive_optimizations and
14034         optimize_size.
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
14048         instead.
14050 2015-01-19  Oleg Endo  <olegendo@gcc.gnu.org>
14052         PR target/53988
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
14059         UNSPEC_VOLATILE.
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>
14068         PR ipa/64668
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>
14074         PR ipa/64218
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
14081         cases.
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
14087         insns.
14089 2015-01-19  David Edelsohn  <dje.gcc@gmail.com>
14091         PR target/59828
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
14096         and POWER8.
14097         * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
14098         POWER8.
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>
14104         PR ipa/64664
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>
14116         PR target/64532
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>
14122         PR target/64304
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>
14128         PR target/64448
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
14137         definitions.
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
14150         pattern.
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>
14165         PR libgomp/64625
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
14177         callers.
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>
14199         PR target/64652
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
14207         disabled.
14208         (ignore_module_statics): New static var.
14209         (propagate_bits): If ipa-reference is disabled, do not look into local
14210         properties.
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
14215         node flags.
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
14228         Optimization
14229         (fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
14230         ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
14231         Optimization.
14232         * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
14233         Fix for IPA.
14235 2015-01-18  Jan Hubicka  <hubicka@ucw.cz>
14237         PR ipa/64378
14238         * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
14239         flag correctly.
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
14271         snafu.
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.
14331         (IBqi): New.
14332         (Wsa): New.
14333         (Wsf): New.
14334         (Cs1): Fix.
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
14352         address space.
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]
14365         addressing.
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
14373         __far when -mes0.
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.
14390         (rl78_sfr_p): New.
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.
14450         * config/arm/arm.c
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
14457         hard registers.
14459 2015-01-16  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
14461         PR target/62066
14462         * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before
14463         early return 0.
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
14484         as ...
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
14507         virtuals on start.
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>
14517         PR target/64263
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>
14524         PR target/64623
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.
14535         Record (x & CST).
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>
14549         PR target/64149
14550         * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
14551         variable.
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>
14557         PR target/64363
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,
14573         ptr1, ptr2 unused.
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>
14594         PR target/64015
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
14605         parameters.
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
14628         prototype.
14629         (nds32_expand_epilogue_v3pop): Likewise.
14630         * config/nds32/nds32.md (sibcall): Define this for sibling call
14631         optimization.
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
14679         cache issue.
14681 2015-01-15  Sandra Loosemore  <sandra@codesourcery.com>
14683         PR target/59710
14684         * doc/invoke.texi (Option Summary): Document new Nios II
14685         -mgpopt= syntax.
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=
14695         option choices.
14697 2015-01-15  Jan Hubicka  <hubicka@ucw.cz>
14699         PR ipa/64612
14700         * ipa-inline-transform.c (can_remove_node_now_p): Fix handling
14701         of comdat locals.
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
14718         ATTRIBUTE_UNUSED.
14719         (expand_UBSAN_VPTR): New function.
14720         * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W
14721         in fn spec.
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
14731         -fsanitize=vptr.
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
14744         constraints.
14745         * ira-costs.c (record_reg_classes): Process the new constraint
14746         '^'.
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):
14770         New macros.
14771         * cgraph.c (cgraph_node::create): Consider flag_openacc next to
14772         flag_openmp.
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.
14794         Dump more 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
14803         appropriate place.
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,
14816         OMP_CLAUSE_SEQ.
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,
14823         OACC_DATA.
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
14840         members.
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
14853         OMP_CLAUSE_MAP_*.
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
14863         flag_openmp.
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
14871         functions.
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
14911         OMP_CLAUSE_MAP_*.
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):
14917         Likewise.
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
14927         to flag_openmp.
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
14939         fusion.
14941 2015-01-15  Jan Hubicka  <hubicka@ucw.cz>
14943         PR ipa/64068
14944         PR ipa/64559
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
14962         ISA 2.7 (POWER8).
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.
14973         Include xgene1.md.
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
14994         critical.
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,
15066         stmt.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.
15115         * cse.c: Likewise.
15116         * ddg.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
15127         varasm.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
15146         varasm.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
15182         stmt.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
15190         stmt.h varasm.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
15226         varasm.h.
15227         * init-regs.c: Likewise.
15228         * ira.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
15234         varasm.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.
15258         * ree.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
15271         varasm.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
15301         varasm.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
15304         varasm.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
15307         varasm.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
15336         stmt.h varasm.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
15344         stmt.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
15405         stmt.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
15424         optimized is true.
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
15445         parallel.
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
15460         of a const_int.
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>
15468         PR target/64377
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
15476         overlap.
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>
15491         PR target/53988
15492         * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
15493         reg-reg copies.
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
15506         option.
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
15513         offsets.
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
15539         warnings.
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>
15574         PR target/64386
15575         * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
15576         V32HImode.
15578 2015-01-14  Ilya Tocar  <ilya.tocar@intel.com>
15580         PR target/64393
15581         * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
15582         Enable AVX512BW.
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>
15589         PR target/64387
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
15596         is not available.
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>
15605         PR target/64453
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
15614         Cortex-M7.
15616 2015-01-14  Richard Biener  <rguenther@suse.de>
15618         PR lto/64415
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>
15633         PR target/64460
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.
15675         (mex9): 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
15680         cases.
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
15695         enum.
15697 2015-01-13  Jan Hubicka  <hubicka@ucw.cz>
15699         PR ipa/64481
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>
15718         PR ipa/64565
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
15735         vector extensions.
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>
15766         PR lto/64373
15767         * lto-streamer-out.c (tree_is_indexable): Guard for NULL
15768         DECL_CONTEXT.
15770 2015-01-13  Andrew Pinski  <apinski@cavium.com>
15772         * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
15773         volatile mems.
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>
15858         PR target/64479
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
15882         example.
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.
15890         PR target/64513
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.
15901         PR other/64370
15902         * sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
15904 2015-01-12  Jeff Law  <law@redhat.com>
15906         PR target/64461
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
15922         back dr1.
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
15928         latches properly.
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>
15954         PR bootstrap/64561
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
15962         in gen_rtx_REG.
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
15968         in gen_rtx_REG.
15970 2015-01-12  Martin Liska  <mliska@suse.cz>
15972         PR ipa/64550
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>
15997         PR ipa/63967
15998         PR ipa/64425
15999         * ipa-inline.c (compute_uninlined_call_time,
16000         compute_inlined_call_time): Use counts for extra precision when
16001         needed possible.
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>
16013         PR ipa/63470
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>
16021         PR ipa/64551
16022         PR ipa/64552
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
16035         for being inlined.
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
16058         clarity.
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
16065         instead of inline.
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
16077         Runtime Library".
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
16097         of log files.
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
16128         tablejumps.
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__
16158         for -mcpu=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
16164         MPC8540.
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
16188         on the LHS.
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
16196         name comparison.
16197         (func_checker::compare_memory_operand): New function.
16198         (func_checker::compare_operand): Split case to newly
16199         added functions.
16200         (func_checker::compare_cst_or_decl): New function.
16201         (func_checker::compare_gimple_call): Identify
16202         memory operands.
16203         (func_checker::compare_gimple_assign): Likewise.
16204         * ipa-icf-gimple.h: New function.
16206 2015-01-09  Martin Liska  <mliska@suse.cz>
16208         PR ipa/64503
16209         * sreal.c (sreal::dump): Change unsigned format to signed for
16210         m_exp value.
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.
16250         PR target/55023
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>
16269         PR target/64338
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
16281         documentation.
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
16295         ld.
16297 2015-01-08  Oleg Endo  <olegendo@gcc.gnu.org>
16299         * config/sh/sh-mem.cc: Use constant as second operand when emitting
16300         tstsi_t insns.
16302 2015-01-08  Oleg Endo  <olegendo@gcc.gnu.org>
16304         PR target/55212
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>
16310         PR sanitizer/64336
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>
16318         PR target/64533
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>
16324         PR target/36557
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
16330         keywords.
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>
16345         PR target/64505
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>
16355         PR target/64507
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
16400         <inttypes.h>.
16401         ([-Wtraditional]): Restore markup on <limits.h>.
16403 2015-01-05  Trevor Saunders  <tsaunders@mozilla.com>
16405         PR c++/31397
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.
16432         * cse.c: Use it.
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>
16452         PR sanitizer/64265
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
16460         been found.
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
16464         inlining.
16466         PR sanitizer/64344
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.
16504         * gcov.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
16518         verb tense, etc.
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
16564         problems.
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
16578         tidy grammar.
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
16630         after reload.
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.