Merge aosp-toolchain/gcc/gcc-4_9 changes.
[official-gcc.git] / gcc-4_9 / gcc / ChangeLog
blob58192a9dab34ae8ecd2768b38f8b3cc0a15f8e2e
1 2015-03-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3         Backport of r214242, r214254, and bug fix patches from mainline
4         * config/rs6000/rs6000.c (context.h): New #include.
5         (tree-pass.h): Likewise.
6         (make_pass_analyze_swaps): New declaration.
7         (rs6000_option_override): Register swap-optimization pass.
8         (swap_web_entry): New class.
9         (special_handling_values): New enum.
10         (union_defs): New function.
11         (union_uses): Likewise.
12         (insn_is_load_p): Likewise.
13         (insn_is_store_p): Likewise.
14         (insn_is_swap_p): Likewise.
15         (rtx_is_swappable_p): Likewise.
16         (insn_is_swappable_p): Likewise.
17         (chain_purpose): New enum.
18         (chain_contains_only_swaps): New function.
19         (mark_swaps_for_removal): Likewise.
20         (swap_const_vector_halves): Likewise.
21         (adjust_subreg_index): Likewise.
22         (permute_load): Likewise.
23         (permute_store): Likewise.
24         (adjust_extract): Likewise.
25         (adjust_splat): Likewise.
26         (handle_special_swappables): Likewise.
27         (replace_swap_with_copy): Likewise.
28         (dump_swap_insn_table): Likewise.
29         (rs6000_analyze_swaps): Likewise.
30         (pass_data_analyze_swaps): New pass_data.
31         (pass_analyze_swaps): New class.
32         (pass_analyze_swaps::gate): New method.
33         (pass_analyze_swaps::execute): New method.
34         (make_pass_analyze_swaps): New function.
35         * config/rs6000/rs6000.opt (moptimize-swaps): New option.
36         * df.h (web_entry_base): New class, replacing struct web_entry.
37         (web_entry_base::pred): New method.
38         (web_entry_base::set_pred): Likewise.
39         (web_entry_base::unionfind_root): Likewise.
40         (web_entry_base::unionfind_union): Likewise.
41         (unionfind_root): Delete external reference.
42         (unionfind_union): Likewise.
43         (union_defs): Likewise.
44         * web.c (web_entry_base::unionfind_root): Convert to method.
45         (web_entry_base::unionfind_union): Likewise.
46         (web_entry): New class.
47         (union_match_dups): Convert to use class structure.
48         (union_defs): Likewise.
49         (entry_register): Likewise.
50         (web_main): Likewise.
52 2015-01-23  Jakub Jelinek  <jakub@redhat.com>
54         PR middle-end/64734
55         * omp-low.c (scan_sharing_clauses): Don't ignore
56         OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses
57         on target data/update constructs.
59 2015-01-23  Wei Mi  <wmi@google.com>
61         Backported from trunk.
62         2015-01-22  Wei Mi  <wmi@google.com>
64         PR rtl-optimization/64557
65         * dse.c (record_store): Call get_addr for mem_addr.
66         (check_mem_read_rtx): Likewise.
68 2015-01-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
70         * config/s390/s390.md (atomic code attribute): Fix typo "ior" ->
71         "or".
73 2015-01-21  Wei Mi  <wmi@google.com>
75         Backported from trunk.
76         2014-11-22  Jan Hubicka  <hubicka@ucw.cz>
78         PR ipa/63970
79         * ipa.c (symbol_table::remove_unreachable_nodes): Mark all inline clones
80         as having abstract origin used.
81         * ipa-inline-transform.c (can_remove_node_now_p_1): Drop abstract origin check.
82         (clone_inlined_nodes): Copy abstract originflag.
83         * lto-cgraph.c (compute_ltrans_boundary): Use get_create to get abstract origin node.
85 2015-01-20  Chung-Lin Tang  <cltang@codesourcery.com>
87         Backport from mainline
88         * config/nios2/nios2.c (nios2_asm_file_end): Implement
89         TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
90         needed.
91         (TARGET_ASM_FILE_END): Define.
93 2015-01-15  Martin Liska  <mliska@suse.cz>
95         Backport from mainline
96         2014-11-27  Richard Biener  <rguenther@suse.de>
98         PR middle-end/63704
99         * alias.c (mems_in_disjoint_alias_sets_p): Remove assert
100         and instead return false when !fstrict-aliasing.
102 2015-01-15  Eric Botcazou  <ebotcazou@adacore.com>
104         * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
105         set the memory attributes in all cases but clear MEM_EXPR if need be.
107 2015-01-14  Jakub Jelinek  <jakub@redhat.com>
109         Backported from mainline
110         2015-01-12  Jakub Jelinek  <jakub@redhat.com>
112         PR target/64513
113         * config/i386/i386.c (ix86_expand_prologue): Add
114         REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
116         2015-01-13  Jakub Jelinek  <jakub@redhat.com>
118         PR rtl-optimization/64286
119         * ree.c (combine_reaching_defs): Move part of comment earlier,
120         remove !SCALAR_INT_MODE_P check.
121         (add_removable_extension): Don't add vector mode
122         extensions if all uses of the source register aren't the same
123         vector extensions.
125         2015-01-12  Jakub Jelinek  <jakub@redhat.com>
127         PR tree-optimization/64563
128         * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
129         instead of != VR_VARYING.
131 2015-01-14  Marek Polacek  <polacek@redhat.com>
133         Backport from mainline
134         2015-01-13  Marek Polacek  <polacek@redhat.com>
136         PR middle-end/64391
137         * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
139 2015-01-13  Marc Glisse  <marc.glisse@inria.fr>
141         PR c++/54442
142         * tree.c (build_qualified_type): Use a canonical type for
143         TYPE_CANONICAL.
145 2015-01-13  Pat Haugen  <pthaugen@us.ibm.com>
147         Backport from mainline
148         2014-12-20  Segher Boessenkool  <segher@kernel.crashing.org>
150         PR target/64358
151         * config/rs6000/rs6000.c (rs6000_split_logical_inner): Swap the
152         input operands if only the second is inverted.
153         * config/rs6000/rs6000.md (*boolc<mode>3_internal1 for BOOL_128):
154         Swap BOOL_REGS_OP1 and BOOL_REGS_OP2.  Correct arguments to
155         rs6000_split_logical.
156         (*boolc<mode>3_internal2 for TI2): Swap operands[1] and operands[2].
158 2015-01-13  Renlin Li  <renlin.li@arm.com>
160         Backport from mainline:
161         2014-11-19 Renlin Li <renlin.li@arm.com>
163         PR target/63424
164         * config/aarch64/aarch64-simd.md (<su><maxmin>v2di3): New.
166 2015-01-13  Oleg Endo  <olegendo@gcc.gnu.org>
168         Backport form mainline
169         2015-01-13  Oleg Endo  <olegendo@gcc.gnu.org>
171         PR target/64479
172         * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
174 2015-01-09  Jakub Jelinek  <jakub@redhat.com>
176         PR rtl-optimization/64536
177         * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
178         tablejumps.
180 2015-01-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
182         Backport from mainline:
183         2015-01-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
185         PR target/64505
186         * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
187         correct reload handler if -m32 -mpowerpc64 is used.
189 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
191         Backport from mainline:
192         2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
194         * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
195         for -mcpu=e6500.
196         * config/rs6000/t-rtems: Add e6500 multilibs.
198 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
200         Backport from mainline:
201         2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
203         * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
204         MPC8540.
206 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
208         Backport from mainline:
209         2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
211         * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
212         MULTILIB_EXCEPTIONS.
214 2015-01-09  Renlin Li  <renlin.li@arm.com>
216         Backport from mainline:
217         2014-08-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
219         PR target/61413
220         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix definition
221         of __ARM_SIZEOF_WCHAR_T.
223 2015-01-08  Christian Bruel  <christian.bruel@st.com>
225         PR target/64507
226         * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
228 2015-01-03  John David Anglin  <danglin@gcc.gnu.org>
230         * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
231         instead of `m' constraint.  Likewise for unnamed movb comparison
232         patterns using reg_before_reload_operand predicate.
233         * config/pa/predicates.md (reg_before_reload_operand): Tighten
234         predicate to reject register index and LO_SUM DLT memory forms
235         after reload.
237 2014-12-27  H.J. Lu  <hongjiu.lu@intel.com>
239         Backport from mainline:
240         2014-12-27  H.J. Lu  <hongjiu.lu@intel.com>
242         PR target/64409
243         * config/i386/i386.c (ix86_function_type_abi): Issue an error
244         when ms_abi attribute is used with x32.
246 2014-12-27  Uros Bizjak  <ubizjak@gmail.com>
248         * config/i386/mmx.md (*vec_extractv2sf_1): Do not emit unpckhps.
249         Emit movshdup for SSE3 and shufps otherwise.
250         (*vec_extractv2si_1): Do not emit punpckhdq and unpckhps.
251         Emit pshufd for SSE2 and shufps otherwise.
253 2014-12-24  Nick Clifton  <nickc@redhat.com>
255         Backport from mainline:
256         2014-06-13  Nick Clifton  <nickc@redhat.com>
258         * config/rx/rx.h (JUMP_ALIGN): Return the log value if user
259         requested alignment is active.
260         (LABEL_ALIGN): Likewise.
261         (LOOP_ALIGN): Likewise.
263         2014-03-25  Nick Clifton  <nickc@redhat.com>
265         * config/rx/rx.c (rx_print_operand): Allow R operator to accept
266         SImode values.
268 2014-12-17  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
270         Backport from mainline
271         2014-12-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
273         PR rtl-optimization/64010
274         * reload.c (push_reload): Before reusing a register contained
275         in an operand as input reload register, ensure that it is not
276         used in CALL_INSN_FUNCTION_USAGE.
278 2014-12-15  Jakub Jelinek  <jakub@redhat.com>
280         PR sanitizer/64265
281         * tsan.c (instrument_func_entry): Insert __tsan_func_entry
282         call on edge from entry block to single succ instead
283         of after labels of single succ of entry block.
285 2014-12-14  H.J. Lu  <hongjiu.lu@intel.com>
287         Backported from mainline
288         2014-12-14  H.J. Lu  <hongjiu.lu@intel.com>
290         PR rtl-optimization/64037
291         * combine.c (setup_incoming_promotions): Pass the argument
292         before any promotions happen to promote_function_mode.
294 2014-12-14  H.J. Lu  <hongjiu.lu@intel.com>
296         Backported from mainline
297         2014-12-06  H.J. Lu  <hongjiu.lu@intel.com>
299         PR target/64200
300         * config/i386/i386.c (decide_alg): Don't assert "alg != libcall"
301         for TARGET_INLINE_STRINGOPS_DYNAMICALLY.
303 2014-12-13  Jakub Jelinek  <jakub@redhat.com>
305         Backported from mainline
306         2014-12-12  Jakub Jelinek  <jakub@redhat.com>
308         PR tree-optimization/64269
309         * tree-ssa-forwprop.c (simplify_builtin_call): Bail out if
310         len2 or diff are too large.
312 2014-12-11  Eric Botcazou  <ebotcazou@adacore.com>
314         * doc/md.texi (Insn Lengths): Fix description of (pc).
316 2014-12-11  Renlin Li  <renlin.li@arm.com>
318         Backport from mainline
319         2014-12-11  Renlin Li  <renlin.li@arm.com>
321         * config/aarch64/aarch64.c (aarch64_parse_cpu): Don't define
322         selected_tune.
323         (aarch64_override_options): Use selected_cpu's tuning.
325 2014-12-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
327         Backport from mainline
328         2014-09-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
330         * config/rs6000/rs6000-builtin.def (XVCVSXDDP_SCALE):  New
331         built-in definition.
332         (XVCVUXDDP_SCALE): Likewise.
333         (XVCVDPSXDS_SCALE): Likewise.
334         (XVCVDPUXDS_SCALE): Likewise.
335         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins):  Add
336         entries for VSX_BUILTIN_XVCVSXDDP_SCALE,
337         VSX_BUILTIN_XVCVUXDDP_SCALE, VSX_BUILTIN_XVCVDPSXDS_SCALE, and
338         VSX_BUILTIN_XVCVDPUXDS_SCALE.
339         * config/rs6000/rs6000-protos.h (rs6000_scale_v2df): New
340         prototype.
341         * config/rs6000/rs6000.c (real.h): New include.
342         (rs6000_scale_v2df): New function.
343         * config/rs6000/vsx.md (UNSPEC_VSX_XVCVSXDDP): New unspec.
344         (UNSPEC_VSX_XVCVUXDDP): Likewise.
345         (UNSPEC_VSX_XVCVDPSXDS): Likewise.
346         (UNSPEC_VSX_XVCVDPUXDS): Likewise.
347         (vsx_xvcvsxddp_scale): New define_expand.
348         (vsx_xvcvsxddp): New define_insn.
349         (vsx_xvcvuxddp_scale): New define_expand.
350         (vsx_xvcvuxddp): New define_insn.
351         (vsx_xvcvdpsxds_scale): New define_expand.
352         (vsx_xvcvdpsxds): New define_insn.
353         (vsx_xvcvdpuxds_scale): New define_expand.
354         (vsx_xvcvdpuxds): New define_insn.
355         * doc/extend.texi (vec_ctf): Add new prototypes.
356         (vec_cts): Likewise.
357         (vec_ctu): Likewise.
358         (vec_splat): Likewise.
359         (vec_div): Likewise.
360         (vec_mul): Likewise.
362         Backport from mainline
363         2014-08-28  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
365         * config/rs6000/altivec.h (vec_xl): New #define.
366         (vec_xst): Likewise.
367         * config/rs6000/rs6000-builtin.def (XXSPLTD_V2DF): New built-in.
368         (XXSPLTD_V2DI): Likewise.
369         (DIV_V2DI): Likewise.
370         (UDIV_V2DI): Likewise.
371         (MUL_V2DI): Likewise.
372         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
373         entries for VSX_BUILTIN_XVRDPI, VSX_BUILTIN_DIV_V2DI,
374         VSX_BUILTIN_UDIV_V2DI, VSX_BUILTIN_MUL_V2DI,
375         VSX_BUILTIN_XXSPLTD_V2DF, and VSX_BUILTIN_XXSPLTD_V2DI).
376         * config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTD): New unspec.
377         (UNSPEC_VSX_DIVSD): Likewise.
378         (UNSPEC_VSX_DIVUD): Likewise.
379         (UNSPEC_VSX_MULSD): Likewise.
380         (vsx_mul_v2di): New insn-and-split.
381         (vsx_div_v2di): Likewise.
382         (vsx_udiv_v2di): Likewise.
383         (vsx_xxspltd_<mode>): New insn.
385         Backport from mainline
386         2014-08-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
388         * config/rs6000/altivec.h (vec_cpsgn): New #define.
389         (vec_mergee): Likewise.
390         (vec_mergeo): Likewise.
391         (vec_cntlz): Likewise.
392         * config/rs600/rs6000-c.c (altivec_overloaded_builtins): Add new
393         entries for VEC_AND, VEC_ANDC, VEC_MERGEH, VEC_MERGEL, VEC_NOR,
394         VEC_OR, VEC_PACKSU, VEC_XOR, VEC_PERM, VEC_SEL, VEC_VCMPGT_P,
395         VMRGEW, and VMRGOW.
396         * doc/extend.texi: Document various forms of vec_cpsgn,
397         vec_splats, vec_and, vec_andc, vec_mergeh, vec_mergel, vec_nor,
398         vec_or, vec_perm, vec_sel, vec_sub, vec_xor, vec_all_eq,
399         vec_all_ge, vec_all_gt, vec_all_le, vec_all_lt, vec_all_ne,
400         vec_any_eq, vec_any_ge, vec_any_gt, vec_any_le, vec_any_lt,
401         vec_any_ne, vec_mergee, vec_mergeo, vec_packsu, and vec_cntlz.
403         Backport from mainline
404         2014-07-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
406         * config/rs6000/altivec.md (unspec enum):  Fix typo in UNSPEC_VSLDOI.
407         (altivec_vsldoi_<mode>): Likewise.
410 2014-12-10  Jakub Jelinek  <jakub@redhat.com>
412         PR tree-optimization/62021
413         * omp-low.c (simd_clone_adjust_return_type): Use
414         vector of pointer_sized_int_node types instead vector of pointer
415         types.
416         (simd_clone_adjust_argument_types): Likewise.
418 2014-12-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
420         Backport from mainline:
421         2014-12-09  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
423         PR middle-end/64225
424         * tree-ssa-reassoc.c (acceptable_pow_call): Disable transformation
425         for BUILT_IN_POW when flag_errno_math is present.
427 2014-12-10  Marek Polacek  <polacek@redhat.com>
429         Backport from mainline
430         2014-12-10  Marek Polacek  <polacek@redhat.com>
432         PR tree-optimization/61686
433         * tree-ssa-reassoc.c (range_entry_cmp): Use q->high instead of
434         p->high.
436 2014-12-09  David Edelsohn  <dje.gcc@gmail.com>
438         Backport from mainline
439         2014-12-05  David Edelsohn  <dje.gcc@gmail.com>
441         * config/rs6000/xcoff.h (ASM_OUTPUT_ALIGNED_LOCAL): Append
442         alignment to section name. Increase default alignment to
443         word.
445 2014-12-09  Uros Bizjak  <ubizjak@gmail.com>
447         PR bootstrap/64213
448         Revert:
449         2014-11-28  H.J. Lu  <hongjiu.lu@intel.com>
451         PR rtl-optimization/64037
452         * combine.c (setup_incoming_promotions): Pass the argument
453         before any promotions happen to promote_function_mode.
455 2014-12-09  Richard Biener  <rguenther@suse.de>
457         PR tree-optimization/64191
458         * tree-vect-stmts.c (vect_stmt_relevant_p): Clobbers are
459         not relevant (nor are their uses).
461 2014-12-07  Oleg Endo  <olegendo@gcc.gnu.org>
463         Backport from mainline
464         2014-12-07  Oleg Endo  <olegendo@gcc.gnu.org>
466         PR target/50751
467         * config/sh/sh.md (extendqihi2): Allow only for TARGET_SH1.
469 2014-12-05  H.J. Lu  <hongjiu.lu@intel.com>
471         Backport from mainline
472         2014-12-02  H.J. Lu  <hongjiu.lu@intel.com>
474         PR target/64108
475         * config/i386/i386.c (decide_alg): Stop only if there aren't
476         any usable algorithms.
478 2014-12-05  H.J. Lu  <hongjiu.lu@intel.com>
480         Backport from mainline
481         2014-11-28  H.J. Lu  <hongjiu.lu@intel.com>
483         PR rtl-optimization/64037
484         * combine.c (setup_incoming_promotions): Pass the argument
485         before any promotions happen to promote_function_mode.
487 2014-12-04  Tobias Burnus  <burnus@net-b.de>
489         * configure.ac
490         (ac_has_isl_schedule_constraints_compute_schedule):
491         New check.
492         * graphite-clast-to-gimple.c: For ISL 0.14, include deprecate headers.
493         * graphite-interchange.c: Ditto.
494         * graphite-poly.c: Ditto.
495         * graphite-sese-to-poly.c: Ditto.
496         * graphite-optimize-isl.c (getScheduleForBandList): Ditto.
497         Conditionally use ISL 0.13+ functions.
498         * config.in: Regenerate.
499         * configure: Regenerate.
501 2014-12-04  Jakub Jelinek  <jakub@redhat.com>
503         PR c++/56493
504         * convert.c (convert_to_real, convert_to_expr, convert_to_complex):
505         Handle COMPOUND_EXPR.
507 2014-12-03  Jakub Jelinek  <jakub@redhat.com>
509         PR c/59708
510         * expmed.c (expand_widening_mult): Return const0_rtx if
511         coeff is 0.
513 2014-12-03  Martin Jambor  <mjambor@suse.cz>
515         PR ipa/64153
516         * ipa-inline-analysis.c (evaluate_conditions_for_known_args): Check
517         type sizes before view_converting.
519 2014-12-03  Shanyao Chen  <chenshanyao@huawei.com>
521         Backport from mainline
522         2014-11-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
524         PR target/59593
525         * config/arm/arm.md (*movhi_insn): Use right formatting
526         for immediate.
528         2014-11-19  Felix Yang  <felix.yang@huawei.com>
529                     Shanyao Chen  <chenshanyao@huawei.com>
531         PR target/59593
532         * config/arm/arm.md (define_attr "arch"): Add v6t2.
533         (define_attr "arch_enabled"): Add test for the above.
534         (*movhi_insn_arch4): Add new alternative.
536 2014-12-03  Renlin Li  <Renlin.Li@arm.com>
538         Backported from mainline
539         2014-12-03  Renlin Li  <Renlin.Li@arm.com>
541         PR middle-end/63762
542         PR target/63661
543         * ira.c (ira): Update preferred class.
545 2014-12-02  Uros Bizjak  <ubizjak@gmail.com>
547         PR target/64113
548         * config/alpha/alpha.md (call_value_osf_tlsgd): Do not split insn
549         using post-reload splitter.  Use peephole2 pass instead.
550         (call_value_osf_tlsldm): Ditto.
551         (TLS_CALL): New int iterator.
552         (tls): New int attribute.
553         (call_value_osf_<tls>): Merge insn pattern from call_value_osf_tlsgd
554         and call_value_tlsldm using TLS_CALL int iterator.
556 2014-12-02  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
558         PR target/64115
559         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Remove
560         invalid UNSPEC_TOCREL sanity check under ENABLE_CHECKING.
562 2014-12-01  Richard Biener  <rguenther@suse.de>
564         PR middle-end/64111
565         * tree.c (int_cst_hash_hash): Use TYPE_UID instead of
566         htab_hash_pointer to not break PCH.
568 2014-12-01  Martin Jambor  <mjambor@suse.cz>
570         PR ipa/63551
571         * ipa-inline-analysis.c (evaluate_conditions_for_known_args): Convert
572         value of the argument to the type of the value in the condition.
574 2014-11-28  Jakub Jelinek  <jakub@redhat.com>
576         Backported from mainline
577         2014-11-27  Jakub Jelinek  <jakub@redhat.com>
579         PR middle-end/64067
580         * expr.c (expand_expr_addr_expr_1) <case COMPOUND_LITERAL_EXPR>:
581         Handle it by returning address of COMPOUND_LITERAL_EXPR_DECL
582         not only if modifier is EXPAND_INITIALIZER, but whenever
583         COMPOUND_LITERAL_EXPR_DECL is non-NULL and TREE_STATIC.
585         2014-11-19  Jakub Jelinek  <jakub@redhat.com>
587         PR tree-optimization/63915
588         * tree-vect-stmts.c (vectorizable_simd_clone_call): Pass
589         true instead of false as last argument to gsi_replace.
591         PR sanitizer/63913
592         * ubsan.c: Include tree-eh.h.
593         (instrument_bool_enum_load): Handle loads that can throw.
595         2014-10-31  Jakub Jelinek  <jakub@redhat.com>
597         PR rtl-optimization/63659
598         * ree.c (update_reg_equal_equiv_notes): New function.
599         (combine_set_extension, transform_ifelse): Use it.
601 2014-11-28  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
603         Backport from mainline.
604         2014-11-28  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
605         * config/arm/t-aprofile (MULTILIB_MATCHES): New entry for
606         -march=armv8-a+crc.
608 2014-11-26  Richard Biener  <rguenther@suse.de>
610         PR middle-end/63738
611         * tree-data-ref.c (split_constant_offset_1): Do not follow
612         SSA edges for SSA names with SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
614 2014-11-26  Richard Biener  <rguenther@suse.de>
616         Backport from mainline
617         2014-11-26  Richard Biener  <rguenther@suse.de>
619         PR tree-optimization/62238
620         * tree-predcom.c (ref_at_iteration): Unshare the expression
621         before gimplifying it.
623         2014-11-25  Richard Biener  <rguenther@suse.de>
625         PR tree-optimization/61927
626         * tree-vect-loop.c (vect_analyze_loop_2): Revert ordering
627         of group and pattern analysis to the one in GCC 4.8.
629         2014-11-07  Richard Biener  <rguenther@suse.de>
631         PR tree-optimization/63605
632         * fold-const.c (fold_binary_loc): Properly use element_precision
633         for types that may not be scalar.
635         2014-10-28  Richard Biener  <rguenther@suse.de>
637         PR middle-end/63665
638         * fold-const.c (fold_comparison): Properly guard simplifying
639         against INT_MAX/INT_MIN with !TYPE_OVERFLOW_WRAPS.
641 2014-11-25  Rohit  <rohitarulraj@freescale.com>
643         PR bootstrap/63703
644         * config/rs6000/darwin.h (REGISTER_NAMES): Update based on 32 newly
645         added GCC hard register numbers for SPE high registers.
647 2014-11-23  Oleg Endo  <olegendo@gcc.gnu.org>
649         Backport from mainline
650         2014-11-23  Oleg Endo  <olegendo@gcc.gnu.org>
652         PR target/53976
653         * config/sh/sh_optimize_sett_clrt.cc
654         (sh_optimize_sett_clrt::find_last_ccreg_values): Return bool instead
655         of void.  Abort at complex edges.
656         (sh_optimize_sett_clrt::execute): Do nothing if find_last_ccreg_values
657         returned false.
659 2014-11-22  Oleg Endo  <olegendo@gcc.gnu.org>
661         Backport from mainline
662         2014-11-22  Oleg Endo  <olegendo@gcc.gnu.org>
664         PR target/63783
665         PR target/51244
666         * config/sh/sh_treg_combine.cc (sh_treg_combine::make_not_reg_insn):
667         Do not emit bitwise not insn.  Emit logical not insn sequence instead.
668         Adjust related comments throughout the file.
670 2014-11-22  Oleg Endo  <olegendo@gcc.gnu.org>
672         Backport from mainline
673         2014-11-20  Segher Boessenkool  <segher@kernel.crashing.org>
675         PR target/60111
676         * config/sh/sh.c: Use signed char for signed field.
678 2014-11-22  Uros Bizjak  <ubizjak@gmail.com>
680        * params.def (PARAM_MAX_COMPLETELY_PEELED_INSNS): Increase to 200.
681        * config/i386/i386.c (ix86_option_override_internal): Do not increase
682        PARAM_MAX_COMPLETELY_PEELED_INSNS.
684 2014-11-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
686         PR target/63673
687         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Allow
688         the base pointer of vec_vsx_ld and vec_vsx_st to take a pointer to
689         double.
691 2014-11-21  Richard Biener  <rguenther@suse.de>
693         PR tree-optimization/61750
694         * tree-ssa-forwprop.c (simplify_vce): Verify type sizes
695         match for the resulting VIEW_CONVERT_EXPR.
697 2014-11-19  Uros Bizjak  <ubizjak@gmail.com>
699         PR target/63947
700         * config/i386/i386.c (put_condition_code) <case LTU, case GEU>:
701         Output "b" and "nb" suffix for FP mode.
703 2014-11-19  Tom de Vries  <tom@codesourcery.com>
705         Backport from mainline
706         PR tree-optimization/62167
707         * tree-ssa-tail-merge.c (stmt_local_def): Handle statements with vuse
708         conservatively.
709         (gimple_equal_p): Don't use vn_valueize to compare for lhs equality of
710         assigns.
712 2014-11-16  Eric Botcazou  <ebotcazou@adacore.com>
714         * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Move around.
715         * doc/tm.texi: Regenerate.
717 2014-11-14  Felix Yang  <felix.yang@huawei.com>
719         Backport from mainline
720         2014-11-14  Felix Yang  <felix.yang@huawei.com>
721                     Jiji Jiang  <jiangjiji@huawei.com>
723         * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): Use
724         VALL mode iterator instead of VALLDI.
726 2014-11-13  Teresa Johnson  <tejohnson@google.com>
728         PR tree-optimization/63841
729         * tree-ssa-strlen.c (strlen_optimize_stmt): Ignore clobbers.
731 2014-11-13  Christophe Lyon  <christophe.lyon@linaro.org>
733         Backport from mainline
734         2014-11-02  Michael Collison  <michael.collison@linaro.org>
736         * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO) : Update
737         to support vector modes.
738         (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
740 2014-11-13  Eric Botcazou  <ebotcazou@adacore.com>
742         * doc/tm.texi.in (SELECT_CC_MODE): Update example.
743         (REVERSIBLE_CC_MODE): Fix example.
744         (REVERSE_CONDITION): Fix typo.
745         * doc/tm.texi: Regenerate.
747 2014-11-12  Jakub Jelinek  <jakub@redhat.com>
749         PR ipa/63838
750         * ipa-pure-const.c (propagate_nothrow): Walk w->indirect_calls
751         chain instead of node->indirect_calls.
753 2014-11-11  Eric Botcazou  <ebotcazou@adacore.com>
755         PR target/61535
756         * config/sparc/sparc.c (function_arg_vector_value): Deal with vectors
757         smaller than 8 bytes.
758         (sparc_function_arg_1): Tweak.
759         (sparc_function_value_1): Tweak.
761 2014-11-08  Eric Botcazou  <ebotcazou@adacore.com>
763         * config/arm/arm.c (arm_set_return_address): Mark the store as frame
764         related, if any.
765         (thumb_set_return_address): Likewise.
767 2014-11-07  Daniel Hellstrom  <daniel@gaisler.com>
769         * config.gcc (sparc-*-rtems*): Clean away unused t-elf.
770         * config/sparc/t-rtems: Add leon3v7 and muser-mode multilibs.
772 2014-11-07  Marek Polacek  <polacek@redhat.com>
774         Backported from mainline
775         2014-10-23  Marek Polacek  <polacek@redhat.com>
777         * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
778         in unsigned type.
780 2014-11-06  John David Anglin  <danglin@gcc.gnu.org>
782         * config/pa/pa.md (trap): New insn.  Add "trap" to attribute type.
783         Don't allow trap insn in in_branch_delay, in_nullified_branch_delay
784         or in_call_delay.
786 2014-11-06  Daniel Hellstrom  <daniel@gaisler.com>
788         * config.gcc (sparc*-*-*): Accept mcpu=leon3v7 processor.
789         * doc/invoke.texi (SPARC options): Add mcpu=leon3v7 comment.
790         * config/sparc/leon.md (leon3_load, leon_store, leon_fp_*): Handle
791         leon3v7 as leon3.
792         * config/sparc/sparc-opts.h (enum processor_type): Add LEON3V7.
793         * config/sparc/sparc.c (sparc_option_override): Add leon3v7 support.
794         * config/sparc/sparc.h (TARGET_CPU_leon3v7): New define.
795         * config/sparc/sparc.md (cpu): Add leon3v7.
796         * config/sparc/sparc.opt (enum processor_type): Add leon3v7.
798 2014-11-05  Uros Bizjak  <ubizjak@gmail.com>
800         PR target/63538
801         * config/i386/i386.c (in_large_data_p): Reject automatic variables.
802         (ix86_encode_section_info): Do not check for non-automatic varibles
803         when setting SYMBOL_FLAG_FAR_ADDR flag.
804         (x86_64_elf_select_section): Do not check ix86_cmodel here.
805         (x86_64_elf_unique_section): Ditto.
806         (x86_elf_aligned_common): Emit tab before .largecomm.
808 2014-11-05  Uros Bizjak  <ubizjak@gmail.com>
810         Backport from mainline:
811         2014-10-20  Uros Bizjak  <ubizjak@gmail.com>
813         * varasm.c (const_alias_set): Remove.
814         (init_varasm_once): Remove initialization of const_alias_set.
815         (build_constant_desc): Do not set alias set to const_alias_set.
817         Backport from mainline:
818         2014-10-14  Uros Bizjak  <ubizjak@gmail.com>
820         PR rtl-optimization/63475
821         * alias.c (true_dependence_1): Always use get_addr to extract
822         true address operands from x_addr and mem_addr.  Use extracted
823         address operands to check for references with alignment ANDs.
824         Use extracted address operands with find_base_term and
825         base_alias_check. For noncanonicalized operands call canon_rtx with
826         extracted address operand.
827         (write_dependence_1): Ditto.
828         (may_alias_p): Ditto.  Remove unused calls to canon_rtx.
830         Backport from mainline:
831         2014-10-10  Uros Bizjak  <ubizjak@gmail.com>
833         PR rtl-optimization/63483
834         * alias.c (true_dependence_1): Do not exit early for MEM_READONLY_P
835         references when alignment ANDs are involved.
836         (write_dependence_p): Ditto.
837         (may_alias_p): Ditto.
839 2014-10-31  DJ Delorie  <dj@redhat.com>
841         * expmed.c (strict_volatile_bitfield_p): Fix off-by-one error.
843 2014-10-31  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
845         * config/aarch64/aarch64-elf-raw.h (CA53_ERR_835769_SPEC): Define.
846         (LINK_SPEC): Include CA53_ERR_835769_SPEC.
847         * config/aarch64/aarch64-linux.h (CA53_ERR_835769_SPEC): Define.
848         (LINK_SPEC): Include CA53_ERR_835769_SPEC.
850 2014-10-31  Jakub Jelinek  <jakub@redhat.com>
852         PR sanitizer/63697
853         * tree-vrp.c (simplify_internal_call_using_ranges): For subcode ==
854         MINUS_EXPR, check overflow on vr0.min - vr1.max and vr0.max - vr1.min
855         instead of vr0.min - vr1.min and vr0.max - vr1.max.
857 2014-10-30  Georg-Johann Lay  <avr@gjlay.de>
859         PR63633
860         * config/avr/avr-protos.h (regmask): New inline function.
861         (avr_fix_inputs, avr_emit3_fix_outputs): New protos.
862         * config/avr/avr.c (avr_fix_operands, avr_move_fixed_operands)
863         (avr_fix_inputs, avr_emit3_fix_outputs): New functions.
864         * config/avr/avr-fixed.md (mulqq3_nomul, muluqq3_nomul)
865         (mul<ALL2QA>3, mul<ALL4A>3, <usdiv><ALL1Q>3, <usdiv><ALL2QA>3)
866         (<usdiv><ALL4A>3, round<ALL124QA>3): Fix input operands.
867         * config/avr/avr-dimode.md (add<ALL8>3, sub<ALL8>3)
868         (<ss_addsub><ALL8S>3, <us_addsub><ALL8U>3, cbranch<ALL8>4)
869         (<di_shifts><ALL8>3, <any_extend>mulsidi3): Fix input operands.
870         * config/avr/avr.md (mulqi3_call, mulhi3_call, mulsi3, mulpsi3)
871         (mulu<QIHI>si3, muls<QIHI>si3, mulohisi3, <any_extend>mulhisi3)
872         (usmulhisi3, <any_extend>mulhi3_highpart, mulsqipsi3)
873         (fmul, fmuls, fmulsu): Fix operands.  Turn insn into expander as
874         needed.
876 2014-10-30  Jakub Jelinek  <jakub@redhat.com>
878         * BASE-VER: Set to 4.9.3.
879         * DEV-PHASE: Set to prerelease.
881 2014-10-30  Release Manager
883         * GCC 4.9.2 released.
885 2014-10-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
887         * config/aarch64/aarch64.c (aarch64_madd_needs_nop): Restore
888         recog state after aarch64_prev_real_insn call.
890 2014-10-27  Guozhi Wei  <carrot@google.com>
892         PR tree-optimization/63530
893         tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Set
894         pointer alignment according to DR_MISALIGNMENT.
896 2014-10-25  Yury Gribov  <y.gribov@samsung.com>
898         PR sanitizer/63638
899         * asan.c (enum asan_check_flags): Fixed ASAN_CHECK_LAST.
901 2014-10-24  Markus Trippelsdorf  <markus@trippelsdorf.de>
903         PR bootstrap/63632
904         * collect2.c (main): Filter out -fno-lto.
906 2014-10-22  Richard Biener  <rguenther@suse.de>
907             Tobias Burnus <burnus@net-b.de>
909         PR lto/63603
910         * gcc.c (LINK_COMMAND_SPEC): Add %{fno-lto}.
912 2014-10-21  Jakub Jelinek  <jakub@redhat.com>
914         PR tree-optimization/63563
915         * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Bail out
916         if either dra or drb stmts are not normal loads/stores.
918 2014-10-17  Jakub Jelinek  <jakub@redhat.com>
920         * asan.c (instrument_derefs): Allow instrumentation of odd-sized
921         accesses even for -fsanitize=address.
922         (execute_sanopt): Only allow use_calls for -fsanitize=kernel-address.
924         PR tree-optimization/63302
925         * tree-ssa-reassoc.c (optimize_range_tests_xor,
926         optimize_range_tests_diff): Use !integer_pow2p () instead of
927         tree_log2 () < 0.
929 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
931         * asan.c (instrument_derefs): Enable unaligned path for KASan.
933 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
935         Backport from mainline
936         2014-10-03  Yury Gribov  <y.gribov@samsung.com>
938         * asan.c (asan_finish_file): Disable __asan_init calls for KASan;
939         don't emit empty ctors.
941 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
943         Backport from mainline
944         2014-09-01  Yury Gribov  <y.gribov@samsung.com>
946         PR sanitizer/61897
947         PR sanitizer/62140
949         * asan.c (asan_mem_ref_get_end): Handle non-ptroff_t lengths.
950         (build_check_stmt): Likewise.
951         (instrument_strlen_call): Likewise.
952         (asan_expand_check_ifn): Likewise and fix types.
953         (maybe_cast_to_ptrmode): New function.
955 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
957         Backport from mainline
958         2014-08-18  Yury Gribov  <y.gribov@samsung.com>
960         PR sanitizer/62089
962         * asan.c (instrument_derefs): Fix bitfield check.
964 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
966         Backport from mainline
967         2014-08-11  Yury Gribov  <y.gribov@samsung.com>
969         * asan.c (asan_check_flags): New enum.
970         (build_check_stmt_with_calls): Removed function.
971         (build_check_stmt): Split inlining logic to
972         asan_expand_check_ifn.
973         (instrument_derefs): Rename parameter.
974         (instrument_mem_region_access): Rename parameter.
975         (instrument_strlen_call): Likewise.
976         (asan_expand_check_ifn): New function.
977         (asan_instrument): Remove old code.
978         (pass_sanopt::execute): Change handling of
979         asan-instrumentation-with-call-threshold.
980         (asan_clear_shadow): Fix formatting.
981         (asan_function_start): Likewise.
982         (asan_emit_stack_protection): Likewise.
983         * doc/invoke.texi (asan-instrumentation-with-call-threshold):
984         Update description.
985         * internal-fn.c (expand_ASAN_CHECK): New function.
986         * internal-fn.def (ASAN_CHECK): New internal function.
987         * params.def (PARAM_ASAN_INSTRUMENTATION_WITH_CALL_THRESHOLD):
988         Update description.
989         (PARAM_ASAN_USE_AFTER_RETURN): Likewise.
990         * tree.c: Small comment fix.
992 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
994         Backport from mainline
995         2014-08-11  Yury Gribov  <y.gribov@samsung.com>
997         * gimple.c (gimple_call_fnspec): Support internal functions.
998         (gimple_call_return_flags): Use const.
999         * Makefile.in (GTFILES): Add internal-fn.h to list of GC files.
1000         * internal-fn.def: Add fnspec information.
1001         * internal-fn.h (internal_fn_fnspec): New function.
1002         (init_internal_fns): Declare new function.
1003         * internal-fn.c (internal_fn_fnspec_array): New global variable.
1004         (init_internal_fns): New function.
1005         * tree-core.h: Update macro call.
1006         * tree.c (build_common_builtin_nodes): Initialize internal fns.
1008         Backport from mainline
1009         2014-08-12  Yury Gribov  <y.gribov@samsung.com>
1011         * internal-fn.c (init_internal_fns): Fix off-by-one.
1013 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1015         Backport from mainline
1016         2014-07-31  Yury Gribov  <y.gribov@samsung.com>
1018         * doc/cpp.texi (__SANITIZE_ADDRESS__): Updated description.
1019         * doc/invoke.texi (-fsanitize=kernel-address): Describe new option.
1020         * flag-types.h (SANITIZE_USER_ADDRESS, SANITIZE_KERNEL_ADDRESS):
1021         New enums.
1022         * gcc.c (sanitize_spec_function): Support new option.
1023         (SANITIZER_SPEC): Remove now redundant check.
1024         * opts.c (common_handle_option): Support new option.
1025         (finish_options): Check for incompatibilities.
1026         * toplev.c (process_options): Split userspace-specific checks.
1028 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1030         Backport from mainline
1031         2014-06-24  Max Ostapenko  <m.ostapenko@partner.samsung.com>
1033         * asan.c (instrument_strlen_call): Do not instrument first byte in
1034         strlen if already instrumented.
1036 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1038         Backport from mainline
1039         2014-06-16  Yury Gribov  <y.gribov@samsung.com>
1041         * asan.c (check_func): New function.
1042         (maybe_create_ssa_name): Likewise.
1043         (build_check_stmt_with_calls): Likewise.
1044         (use_calls_p): Likewise.
1045         (report_error_func): Change interface.
1046         (build_check_stmt): Allow non-integer lengths; add support
1047         for new parameter.
1048         (asan_instrument): Likewise.
1049         (instrument_mem_region_access): Moved code to
1050         build_check_stmt.
1051         (instrument_derefs): Likewise.
1052         (instrument_strlen_call): Likewise.
1053         * cfgcleanup.c (old_insns_match_p): Add support for new
1054         functions.
1055         * doc/invoke.texi: Describe new parameter.
1056         * params.def: Define new parameter.
1057         * params.h: Likewise.
1058         * sanitizer.def: Describe new builtins.
1060         Backport from mainline
1061         2014-06-16  Yury Gribov  <y.gribov@samsung.com>
1063         * asan.c (build_check_stmt): Fix maybe-uninitialized warning.
1065         Backport from mainline
1066         2014-06-18  Yury Gribov  <y.gribov@samsung.com>
1068         PR sanitizer/61530
1070         * asan.c (build_check_stmt): Add condition.
1072         Backport from mainline
1073         2014-06-18  Yury Gribov  <y.gribov@samsung.com>
1075         PR sanitizer/61547
1077         * asan.c (instrument_strlen_call): Fixed instrumentation of
1078         trailing byte.
1080 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1082         Backport from mainline
1083         2014-05-30  Jakub Jelinek  <jakub@redhat.com>
1085         * asan.c (report_error_func): Add SLOW_P argument, use
1086         BUILT_IN_ASAN_*_N if set.
1087         (build_check_stmt): Likewise.
1088         (instrument_derefs): If T has insufficient alignment,
1089         force same handling as for odd sizes.
1091 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1093         Backport from mainline
1094         2014-05-30  Jakub Jelinek  <jakub@redhat.com>
1096         * sanitizer.def (BUILT_IN_ASAN_REPORT_LOAD_N,
1097         BUILT_IN_ASAN_REPORT_STORE_N): New.
1098         * asan.c (struct asan_mem_ref): Change access_size type to
1099         HOST_WIDE_INT.
1100         (asan_mem_ref_init, asan_mem_ref_new, get_mem_refs_of_builtin_call,
1101         update_mem_ref_hash_table): Likewise.
1102         (asan_mem_ref_hasher::hash): Hash in a HWI.
1103         (report_error_func): Change size_in_bytes argument to HWI.
1104         Use *_N builtins if size_in_bytes is larger than 16 or not power of
1105         two.
1106         (build_shadow_mem_access): New function.
1107         (build_check_stmt): Use it.  Change size_in_bytes argument to HWI.
1108         Handle size_in_bytes not power of two or larger than 16.
1109         (instrument_derefs): Don't give up if size_in_bytes is not
1110         power of two or is larger than 16.
1112 2014-10-15  Vladimir Makarov  <vmakarov@redhat.com>
1114         PR rtl-optimization/63448
1115         * lra-int.h (LRA_MAX_CONSTRAINT_ITERATION_NUMBER): Remove.
1116         (LRA_MAX_ASSIGNMENT_ITERATION_NUMBER): New.
1117         (LRA_MAX_INHERITANCE_PASSES): Use it.
1118         (lra_constraint_iter_after_spill): Remove.
1119         (lra_assignment_iter): New.
1120         (lra_assignment_iter_after_spill): New.
1121         * lra-assigns.c (lra_assignment_iter): New.
1122         (lra_assignment_iter_after_spill): New.
1123         (former_reload_pseudo_spill_p): New.
1124         (spill_for): Set up former_reload_pseudo_spill_p.
1125         (setup_live_pseudos_and_spill_after_risky): Ditto.
1126         (assign_by_spills): Ditto.
1127         (lra_assign): Increment lra_assignment_iter.  Print the iteration
1128         number.  Reset former_reload_pseudo_spill_p.  Check
1129         lra_assignment_iter_after_spill.
1130         * lra.c (lra): Remove lra_constraint_iter_after_spill.  Initialize
1131         lra_assignment_iter and lra_assignment_iter_after_spill.
1132         * lra-constraints.c (lra_constraint_iter_after_spill): Remove.
1133         (lra_constraints): Remove code with
1134         lra_assignment_iter_after_spill.
1136 2014-10-15  Eric Botcazou  <ebotcazou@adacore.com>
1138         * stor-layout.c (self_referential_size): Do not promote arguments.
1140 2014-10-15  Richard Biener  <rguenther@suse.de>
1142         Backport from mainline
1143         2014-08-15  Richard Biener  <rguenther@suse.de>
1145         PR tree-optimization/62031
1146         * tree-data-ref.c (dr_analyze_indices): Do not set
1147         DR_UNCONSTRAINED_BASE.
1148         (dr_may_alias_p): All indirect accesses have to go the
1149         formerly DR_UNCONSTRAINED_BASE path.
1150         * tree-data-ref.h (struct indices): Remove
1151         unconstrained_base member.
1152         (DR_UNCONSTRAINED_BASE): Remove.
1154 2014-10-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1156         Backport from mainline r215880
1157         2014-10-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1159         * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
1160         Issue a warning message when vec_lvsl or vec_lvsr is used with a
1161         little endian target.
1163         Backport from mainline r215882
1164         2014-10-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1166         * altivec.md (altivec_lvsl): New define_expand.
1167         (altivec_lvsl_direct): Rename define_insn from altivec_lvsl.
1168         (altivec_lvsr): New define_expand.
1169         (altivec_lvsr_direct): Rename define_insn from altivec_lvsr.
1170         * rs6000.c (rs6000_expand_builtin): Change to use
1171         altivec_lvs[lr]_direct; remove commented-out code.
1173 2014-10-10  Richard Biener  <rguenther@suse.de>
1175         PR tree-optimization/63379
1176         * tree-vect-slp.c (vect_get_constant_vectors): Do not compute
1177         a neutral operand for min/max when it is not a reduction chain.
1179 2014-10-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1181         Backport from mainline
1182         2014-10-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1184         * configure.ac: Add --enable-fix-cortex-a53-835769 option.
1185         * configure: Regenerate.
1186         * config/aarch64/aarch64.c (aarch64_override_options): Handle
1187         TARGET_FIX_ERR_A53_835769_DEFAULT.
1188         * config/aarch64/aarch64.opt (mfix-cortex-a53-835769): Set Init
1189         value to 2.
1190         * doc/install.texi (aarch64*-*-*): Document new
1191         --enable-fix-cortex-a53-835769 option.
1193 2014-10-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1195         Backport from mainline
1196         2014-10-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1197                     Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1199         * config/aarch64/aarch64.h (FINAL_PRESCAN_INSN): Define.
1200         (ADJUST_INSN_LENGTH): Define.
1201         * config/aarch64/aarch64.opt (mfix-cortex-a53-835769): New option.
1202         * config/aarch64/aarch64.c (is_mem_p): New function.
1203         (is_memory_op): Likewise.
1204         (aarch64_prev_real_insn): Likewise.
1205         (is_madd_op): Likewise.
1206         (dep_between_memop_and_curr): Likewise.
1207         (aarch64_madd_needs_nop): Likewise.
1208         (aarch64_final_prescan_insn): Likewise.
1209         * doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-835769
1210         and -mno-fix-cortex-a53-835769 options.
1212 2014-10-10  Richard Biener  <rguenther@suse.de>
1214         PR tree-optimization/63380
1215         * tree-ssa-tail-merge.c (stmt_local_def): Exclude stmts that
1216         may trap.
1218 2014-10-09  Richard Biener  <rguenther@suse.de>
1220         PR tree-optimization/61969
1221         * tree-nrv.c (pass_nrv::execute): Properly test for automatic
1222         variables.
1224 2014-10-09  Uros Bizjak  <ubizjak@gmail.com>
1226         Backport from mainline
1227         2014-10-09  Uros Bizjak  <ubizjak@gmail.com>
1229         PR rtl-optimization/57003
1230         * regcprop.c (copyprop_hardreg_forward_1): If ksvd.ignore_set_reg,
1231         also check CALL_INSN_FUNCTION_USAGE for clobbers again after
1232         killing regs_invalidated_by_call.
1234 2014-10-08  Oleg Endo  <olegendo@gcc.gnu.org>
1236         Backport from mainline
1237         2014-10-08  Oleg Endo  <olegendo@gcc.gnu.org>
1239         PR target/52941
1240         * config/sh/sync.md (atomic_exchangesi_hard, atomic_exchange<mode>_hard,
1241         atomic_fetch_<fetchop_name>si_hard,
1242         atomic_fetch_<fetchop_name><mode>_hard, atomic_fetch_nandsi_hard,
1243         atomic_fetch_nand<mode>_hard, atomic_<fetchop_name>_fetchsi_hard,
1244         atomic_<fetchop_name>_fetch<mode>_hard, atomic_nand_fetchsi_hard,
1245         atomic_nand_fetch<mode>_hard): Add missing set of T_REG.
1247 2014-10-03  Jan Hubicka  <hubicka@ucw.cz>
1249         PR ipa/61144
1250         * varpool.c (ctor_for_folding): Do not fold WEAK symbols.
1252 2014-10-03  Jan Hubicka  <hubicka@ucw.cz>
1254         PR ipa/62121
1255         * ipa-devirt.c (restrict_to_inner_class): Do not ICE when type is
1256         unknown.
1258 2014-10-03  Jan Hubicka  <hubicka@ucw.cz>
1260         PR lto/62026
1261         * lto-streamer-out.c (lto_output): Handle thunks correctly.
1262         * cgraphclones.c (duplicate_thunk_for_node): Get thunk's arguments.
1264 2014-10-03  Jakub Jelinek  <jakub@redhat.com>
1266         PR libgomp/61200
1267         * omp-low.c (taskreg_contexts): New variable.
1268         (scan_omp_parallel): Push newly created context into taskreg_contexts
1269         vector and move record layout code to finish_taskreg_scan.
1270         (scan_omp_task): Likewise.
1271         (finish_taskreg_scan): New function.
1272         (execute_lower_omp): Call finish_taskreg_scan on all taskreg_contexts
1273         vector elements and release it.
1275 2014-10-02  Martin Jambor  <mjambor@suse.cz>
1277         PR tree-optimization/63375
1278         * tree-sra.c (build_access_from_expr_1): Disqualify volatile
1279         references.
1281 2014-10-01  Jakub Jelinek  <jakub@redhat.com>
1283         PR debug/63342
1284         * dwarf2out.c (loc_list_from_tree): Handle TARGET_MEM_REF and
1285         SSA_NAME.
1287         PR target/63428
1288         * config/i386/i386.c (expand_vec_perm_pshufb): Fix up rperm[0]
1289         argument to avx2_permv2ti.
1291         PR c++/63306
1292         Backported from mainline
1293         2014-08-01  James Greenhalgh  <james.greenhalgh@arm.com>
1295         PR regression/61510
1296         * cgraphunit.c (analyze_functions): Use get_create rather than get
1297         for decls which are clones of abstract functions.
1299 2014-10-01  Jakub Jelinek  <jakub@redhat.com>
1301         Backported from mainline
1302         2014-09-18  Vladimir Makarov  <vmakarov@redhat.com>
1304         PR debug/63285
1305         * haifa-sched.c (schedule_block): Advance cycle at the end of BB
1306         if advance != 0.
1308         2014-09-10  Jan Hubicka  <hubicka@ucw.cz>
1310         PR tree-optimization/63186
1311         * ipa-split.c (test_nonssa_use): Skip nonforced labels.
1312         (mark_nonssa_use): Likewise.
1313         (verify_non_ssa_vars): Verify all header blocks for label
1314         definitions.
1316 2014-10-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1318         Backport from mainline
1319         2014-10-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1321         * config/arm/arm.md (*store_minmaxsi): Disable for arm_restrict_it.
1323 2014-10-01  Uros Bizjak  <ubizjak@gmail.com>
1325         Backport from mainline
1326         2014-09-30  Uros Bizjak  <ubizjak@gmail.com>
1328         * config/i386/i386.md (fmodxf3): Enable for flag_finite_math_only only.
1329         (fmod<mode>3): Ditto.
1330         (fpremxf4_i387): Ditto.
1331         (reminderxf3): Ditto.
1332         (reminder<mode>3): Ditto.
1333         (fprem1xf4_i387): Ditto.
1335 2014-09-30  David Malcolm  <dmalcolm@redhat.com>
1337         PR plugins/63410
1338         * Makefile.in (PLUGIN_HEADERS): Add pass-instances.def.
1340 2014-09-30  Jakub Jelinek  <jakub@redhat.com>
1342         PR inline-asm/63282
1343         * ifcvt.c (dead_or_predicable): Don't call redirect_jump_1
1344         or invert_jump_1 if jump isn't any_condjump_p.
1346 2014-09-29  James Clarke  <jrtc27@jrtc27.com>
1347             Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1349         PR target/61407
1350         * config/darwin-c.c (version_as_macro): Added extra 0 for OS X 10.10
1351         and above.
1352         * config/darwin-driver.c (darwin_find_version_from_kernel): Removed
1353         kernel version check to avoid incrementing it after every major OS X
1354         release.
1355         (darwin_default_min_version): Avoid static memory buffer.
1357 2014-09-29  Charles Baylis  <charles.baylis@linaro.org>
1359         Backport from mainline r212303
1360         PR target/49423
1361         * config/arm/arm-protos.h (arm_legitimate_address_p,
1362         arm_is_constant_pool_ref): Add prototypes.
1363         * config/arm/arm.c (arm_legitimate_address_p): Remove static.
1364         (arm_is_constant_pool_ref) New function.
1365         * config/arm/arm.md (unaligned_loadhis, arm_zero_extendhisi2_v6,
1366         arm_zero_extendqisi2_v6): Use Uh constraint for memory operand.
1367         (arm_extendhisi2, arm_extendhisi2_v6): Use Uh constraint for memory
1368         operand and remove pool_range and neg_pool_range attributes.
1369         (arm_extendqihi_insn, arm_extendqisi, arm_extendqisi_v6): Remove
1370         pool_range and neg_pool_range attributes.
1371         * config/arm/constraints.md (Uh): New constraint. (Uq): Don't allow
1372         constant pool references.
1374 2014-09-29  Jakub Jelinek  <jakub@redhat.com>
1376         PR middle-end/63247
1377         * omp-low.c (lower_omp_target): For OMP_CLAUSE_MAP_POINTER
1378         of ARRAY_TYPE, if not OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION
1379         use the alignment of avar rather than ovar.
1381 2014-09-28  John David Anglin  <danglin@gcc.gnu.org>
1383         * config/pa/pa.c (pa_output_function_epilogue): Only update
1384         last_address when a nonnote insn is found.
1386 2014-09-25  Oleg Endo  <olegendo@gcc.gnu.org>
1388         Backport from mainline
1389         2014-09-25  Nick Clifton  <nickc@redhat.com>
1390         2014-09-25  Oleg Endo  <olegendo@gcc.gnu.org>
1392         PR target/62218
1393         * config/sh/sync.md (atomic_fetch_nand<mode>_soft_imask,
1394         atomic_test_and_set_soft_imask): Fix typo in instruction sequence.
1396 2014-09-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1398         Backport from mainline r215559
1399         2014-09-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1401         PR target/63335
1402         * config/rs6000/rs6000-c.c (altivec_build_resolved_builtin):
1403         Exclude VSX_BUILTIN_XVCMPGEDP_P from special handling.
1405 2014-09-25  Jakub Jelinek  <jakub@redhat.com>
1407         PR tree-optimization/63341
1408         * tree-vectorizer.h (vect_create_data_ref_ptr,
1409         vect_create_addr_base_for_vector_ref): Add another tree argument
1410         defaulting to NULL_TREE.
1411         * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add byte_offset
1412         argument, pass it down to vect_create_addr_base_for_vector_ref.
1413         (vect_create_addr_base_for_vector_ref): Add byte_offset argument,
1414         add that to base_offset too if non-NULL.
1415         * tree-vect-stmts.c (vectorizable_load): Add byte_offset variable,
1416         for dr_explicit_realign_optimized set it to vector byte size
1417         - 1 instead of setting offset, pass byte_offset down to
1418         vect_create_data_ref_ptr.
1420 2014-09-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
1422         Backport from mainline
1423         2014-09-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
1425         * config/rs6000/rs6000.md (f32_vsx): New mode attributes to
1426         refine the constraints used on 32/64-bit floating point moves.
1427         (f32_av): Likewise.
1428         (f64_vsx): Likewise.
1429         (f64_dm): Likewise.
1430         (f64_av): Likewise.
1431         (BOOL_REGS_OUTPUT): Use wt constraint for TImode instead of wa.
1432         (BOOL_REGS_OP1): Likewise.
1433         (BOOL_REGS_OP2): Likewise.
1434         (BOOL_REGS_UNARY): Likewise.
1435         (mov<mode>_hardfloat, SFmode/SDmode): Tighten down constraints for
1436         32/64-bit floating point moves.  Do not use wa, instead use ww/ws
1437         for moves involving VSX registers.  Do not use constraints that
1438         target VSX registers for decimal types.
1439         (mov<mode>_hardfloat32, DFmode/DDmode): Likewise.
1440         (mov<mode>_hardfloat64, DFmode/DDmode): Likewise.
1442 2014-09-22  Marek Polacek  <polacek@redhat.com>
1444         Backport from mainline
1445         2014-05-21  Marek Polacek  <polacek@redhat.com>
1447         PR sanitizer/61272
1448         * ubsan.c (is_ubsan_builtin_p): Turn assert into a condition.
1450 2014-09-22  Jakub Jelinek  <jakub@redhat.com>
1452         PR debug/63328
1453         * omp-low.c (ipa_simd_modify_stmt_ops): For debug stmts
1454         insert a debug source bind stmt setting DEBUG_EXPR_DECL
1455         instead of a normal gimple assignment stmt.
1457 2014-09-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
1459         Back port from trunk:
1460         2014-09-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
1462         * config/rs6000/predicates.md (fusion_gpr_mem_load): Move testing
1463         for base_reg_operand to be common between LO_SUM and PLUS.
1464         (fusion_gpr_mem_combo): New predicate to match a fused address
1465         that combines the addis and memory offset address.
1467         * config/rs6000/rs6000-protos.h (fusion_gpr_load_p): Change
1468         calling signature.
1469         (emit_fusion_gpr_load): Likewise.
1471         * config/rs6000/rs6000.c (fusion_gpr_load_p): Change calling
1472         signature to pass each argument separately, rather than
1473         using an operands array.  Rewrite the insns found by peephole2 to
1474         be a single insn, rather than hoping the insns will still be
1475         together when the peephole pass is done.  Drop being called via a
1476         normal peephole.
1477         (emit_fusion_gpr_load): Change calling signature to be called from
1478         the fusion_gpr_load_<mode> insns with a combined memory address
1479         instead of the peephole pass passing the addis and offset
1480         separately.
1482         * config/rs6000/rs6000.md (UNSPEC_FUSION_GPR): New unspec for GPR
1483         fusion.
1484         (power8 fusion peephole): Drop support for doing power8 via a
1485         normal peephole that was created by the peephole2 pass.
1486         (power8 fusion peephole2): Create a new insn with the fused
1487         address, so that the fused operation is kept together after
1488         register allocation is done.
1489         (fusion_gpr_load_<mode>): Likewise.
1491 2014-09-18  Jakub Jelinek  <jakub@redhat.com>
1493         PR c++/62017
1494         * asan.c (transform_statements): Don't instrument clobber statements.
1496 2014-09-17  Jakub Jelinek  <jakub@redhat.com>
1498         PR debug/63284
1499         * tree-cfgcleanup.c (fixup_noreturn_call): Don't split block
1500         if there are only debug stmts after the noreturn call, instead
1501         remove the debug stmts.
1503 2014-09-17  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1505         * config.gcc (*-*-rtems*): Default to 'rtems' thread model.
1506         Enable selection of 'posix' or no thread model.
1508 2014-09-16  John David Anglin  <danglin@gcc.gnu.org>
1510         PR target/61853
1511         * config/pa/pa.c (pa_function_value): Directly handle aggregates
1512         that fit exactly in a word or double word.
1514 2014-09-15  Markus Trippelsdorf  <markus@trippelsdorf.de>
1516         * doc/install.texi (Options specification): add
1517         --disable-libsanitizer item.
1519 2014-09-12  DJ Delorie  <dj@redhat.com>
1521         * config/msp430/msp430.md (extendhipsi2): Use 20-bit form of RLAM/RRAM.
1522         (extend_and_shift1_hipsi2): Likewise.
1523         (extend_and_shift2_hipsi2): Likewise.
1525 2014-09-12  Martin Jambor  <mjambor@suse.cz>
1527         PR ipa/61654
1528         * cgraph.h (cgraph_analyze_function): Declare.
1529         * cgraphunit.c: (analyze_function): Remove forward declaration,
1530         rename to cgraph_analyze_function, made external.
1531         * cgraphclones.c (duplicate_thunk_for_node): Copy arguments of the
1532         new decl properly.  Analyze the new thunk if it is expanded.
1534 2014-09-11  H.J. Lu  <hongjiu.lu@intel.com>
1536         Backport from mainline
1537         2014-09-11  H.J. Lu  <hongjiu.lu@intel.com>
1539         PR target/63228
1540         * config/i386/i386.c (ix86_option_override_internal): Also turn
1541         off OPTION_MASK_ABI_X32 for -m16.
1543 2014-09-11  James Greenhalgh  <james.greenhalgh@arm.com>
1545         Backport from mainline.
1546         2014-09-11  James Greenhalgh  <james.greenhalgh@arm.com>
1548         * config/aarch64/arm_neon.h (vmull_high_lane_s16): Fix argument
1549         types.
1550         (vmull_high_lane_s32): Likewise.
1551         (vmull_high_lane_u16): Likewise.
1552         (vmull_high_lane_u32): Likewise.
1554 2014-09-11  Alan Lawrence  <alan.lawrence@arm.com>
1556         Backport r214946 from mainline
1557         2014-09-05  Alan Lawrence  <alan.lawrence@arm.com>
1559         * config/aarch64/aarch64.md (adddi3_aarch64): Set type to neon_add.
1561 2014-09-11  Alan Lawrence  <alan.lawrence@arm.com>
1563         Backport r214953 from mainline
1564         2014-09-05  Alan Lawrence  <alan.lawrence@arm.com>
1566         * config/aarch64/arm_neon.h (int32x1_t, int16x1_t, int8x1_t,
1567         uint32x1_t, uint16x1_t, uint8x1_t): Remove typedefs.
1569         (vqabsb_s8, vqabsh_s16, vqabss_s32, vqaddb_s8, vqaddh_s16, vqadds_s32,
1570         vqaddb_u8, vqaddh_u16, vqadds_u32, vqdmlalh_s16, vqdmlalh_lane_s16,
1571         vqdmlals_s32, vqdmlslh_s16, vqdmlslh_lane_s16, vqdmlsls_s32,
1572         vqdmulhh_s16, vqdmulhh_lane_s16, vqdmulhs_s32, vqdmulhs_lane_s32,
1573         vqdmullh_s16, vqdmullh_lane_s16, vqdmulls_s32, vqdmulls_lane_s32,
1574         vqmovnh_s16, vqmovns_s32, vqmovnd_s64, vqmovnh_u16, vqmovns_u32,
1575         vqmovnd_u64, vqmovunh_s16, vqmovuns_s32, vqmovund_s64, vqnegb_s8,
1576         vqnegh_s16, vqnegs_s32, vqrdmulhh_s16, vqrdmulhh_lane_s16,
1577         vqrdmulhs_s32, vqrdmulhs_lane_s32, vqrshlb_s8, vqrshlh_s16,
1578         vqrshls_s32, vqrshlb_u8, vqrshlh_u16, vqrshls_u32, vqrshrnh_n_s16,
1579         vqrshrns_n_s32, vqrshrnd_n_s64, vqrshrnh_n_u16, vqrshrns_n_u32,
1580         vqrshrnd_n_u64, vqrshrunh_n_s16, vqrshruns_n_s32, vqrshrund_n_s64,
1581         vqshlb_s8, vqshlh_s16, vqshls_s32, vqshlb_u8, vqshlh_u16, vqshls_u32,
1582         vqshlb_n_s8, vqshlh_n_s16, vqshls_n_s32, vqshlb_n_u8, vqshlh_n_u16,
1583         vqshls_n_u32, vqshlub_n_s8, vqshluh_n_s16, vqshlus_n_s32,
1584         vqshrnh_n_s16, vqshrns_n_s32, vqshrnd_n_s64, vqshrnh_n_u16,
1585         vqshrns_n_u32, vqshrnd_n_u64, vqshrunh_n_s16, vqshruns_n_s32,
1586         vqshrund_n_s64, vqsubb_s8, vqsubh_s16, vqsubs_s32, vqsubb_u8,
1587         vqsubh_u16, vqsubs_u32, vsqaddb_u8, vsqaddh_u16, vsqadds_u32,
1588         vuqaddb_s8, vuqaddh_s16, vuqadds_s32): Replace all int{32,16,8}x1_t
1589         with int{32,16,8}_t.
1591 2014-09-11  Jason Merrill  <jason@redhat.com>
1593         PR c++/58678
1594         * ipa-devirt.c (ipa_devirt): Don't check DECL_COMDAT.
1596 2014-09-11  Georg-Johann Lay  <avr@gjlay.de>
1598         Backport from 2014-09-11 trunk r215152.
1600         PR target/63223
1601         * config/avr/avr.md (*tablejump.3byte-pc): New insn.
1602         (*tablejump): Restrict to !AVR_HAVE_EIJMP_EICALL.  Add void clobber.
1603         (casesi): Expand to *tablejump.3byte-pc if AVR_HAVE_EIJMP_EICALL.
1605 2014-09-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
1607         Backport from mainline
1608         2014-09-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
1610         * config/rs6000/vsx.md (vsx_fmav4sf4): Use correct constraints for
1611         V2DF, V4SF, DF, and DI modes.
1612         (vsx_fmav2df2): Likewise.
1613         (vsx_float_fix_<mode>2): Likewise.
1614         (vsx_reduc_<VEC_reduc_name>_v2df_scalar): Likewise.
1616 2014-09-10  Xinliang David Li  <davidxl@google.com>
1618         Backport from mainline
1619         PR target/63209
1620         * config/arm/arm.md (movcond_addsi): Handle case where source
1621         and target operands are the same.
1623 2014-09-10  Alan Modra  <amodra@gmail.com>
1625         PR debug/60655
1626         * dwarf2out.c (mem_loc_descriptor <PLUS>): Return NULL if addend
1627         can't be output.
1629 2014-09-09  Bill Schmidt  <wschmidt@us.ibm.com>
1631         Backported from mainline
1632         2014-09-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1634         * config/rs6000/vsx.md (*vsx_extract_<mode>_load): Always match
1635         selection of 0th memory doubleword, regardless of endianness.
1637 2014-09-09  James Greenhalgh  <james.greenhalgh@arm.com>
1639         Backport from mainline
1640         2014-09-09  James Greenhalgh  <james.greenhalgh@arm.com>
1642         * doc/invoke.texi (-march): Use GNU/Linux rather than Linux.
1643         (-mtune): Likewise.
1644         (-mcpu): Likewise.
1646 2014-09-09  Jason Merrill  <jason@redhat.com>
1648         PR c++/61214
1649         PR c++/62224
1650         * gimple-fold.c (can_refer_decl_in_current_unit_p): Don't allow
1651         reference to a DECL_EXTERNAL COMDAT.
1653 2014-09-09  Richard Biener  <rguenther@suse.de>
1655         Backport from mainline
1656         2014-08-05  Richard Biener  <rguenther@suse.de>
1658         PR rtl-optimization/61672
1659         * emit-rtl.h (mem_attrs_eq_p): Declare.
1660         * emit-rtl.c (mem_attrs_eq_p): Export.  Handle NULL mem-attrs.
1661         * cse.c (exp_equiv_p): Use mem_attrs_eq_p.
1662         * cfgcleanup.c (merge_memattrs): Likewise.
1663         Include emit-rtl.h.
1665         2014-08-11  Richard Biener  <rguenther@suse.de>
1667         PR tree-optimization/62075
1668         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Properly
1669         handle uses in patterns.
1671         2014-08-14  Richard Biener  <rguenther@suse.de>
1673         PR rtl-optimization/62079
1674         * recog.c (peephole2_optimize): If peep2_do_cleanup_cfg
1675         run cleanup_cfg.
1677         2014-08-26  Richard Biener  <rguenther@suse.de>
1679         PR tree-optimization/62175
1680         * tree-ssa-loop-niter.c (expand_simple_operations): Do not
1681         expand possibly trapping operations.
1683 2014-09-08  DJ Delorie  <dj@redhat.com>
1685         * doc/invoke.texi (MSP430 Options): Add -minrt.
1687 2014-09-05  Easwaran Raman  <eraman@google.com>
1689         Backport from mainline
1690         PR rtl-optimization/62146
1691         * ifcvt.c (dead_or_predicable): Make removal of REG_EQUAL note of
1692         hoisted instruction unconditional.
1694 2014-09-04  Guozhi Wei  <carrot@google.com>
1696         PR target/62040
1697         * config/aarch64/iterators.md (VQ_NO2E, VQ_2E): New iterators.
1698         * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): Split
1699         it into two patterns.
1700         (move_lo_quad_internal_be_<mode>): Likewise.
1702 2014-09-03  Martin Jambor  <mjambor@suse.cz>
1704         PR ipa/62015
1705         * ipa-cp.c (intersect_aggregates_with_edge): Handle impermissible
1706         pass-trough jump functions correctly.
1708 2014-09-03  Martin Jambor  <mjambor@suse.cz>
1710         PR ipa/61986
1711         * ipa-cp.c (find_aggregate_values_for_callers_subset): Chain
1712         created replacements in ascending order of offsets.
1713         (known_aggs_to_agg_replacement_list): Likewise.
1715 2014-09-02  Kaz Kojima  <kkojima@gcc.gnu.org>
1717         Backport from mainline
1718         2014-08-27  Kaz Kojima  <kkojima@gcc.gnu.org>
1720         PR target/62261
1721         * config/sh/sh.md (ashlsi3): Handle negative shift count for
1722         TARGET_SHMEDIA.
1723         (ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
1725 2014-09-02  Kaz Kojima  <kkojima@gcc.gnu.org>
1727         Backport from mainline
1728         2014-08-25  Kaz Kojima  <kkojima@gcc.gnu.org>
1730         PR target/62111
1731         * config/sh/predicates.md (general_extend_operand): Disable
1732         TRUNCATE before reload completes.
1734 2014-09-01  Oleg Endo  <olegendo@gcc.gnu.org>
1736         Backport from mainline
1737         2014-09-01  Oleg Endo  <olegendo@gcc.gnu.org>
1739         PR target/62312
1740         * config/sh/sh.md (*cmp_div0s_0): Add missing constraints.
1742 2014-09-01  Jakub Jelinek  <jakub@redhat.com>
1744         PR target/62025
1745         * sched-deps.c (add_or_update_dep_1): If ask_dependency_caches
1746         returned DEP_PRESENT, make sure to set DEP_MULTIPLE on present_dep.
1747         (find_inc): Revert 2014-08-12 change.
1749         * config/gnu-user.h (LIBLSAN_EARLY_SPEC): Define.
1750         * gcc.c (LIBLSAN_SPEC, LIBLSAN_EARLY_SPEC): Follow LIBTSAN*_SPEC.
1751         (SANITIZER_EARLY_SPEC): Include LIBLSAN_EARLY_SPEC for -fsanitize=leak.
1753 2014-09-01  Marek Polacek  <polacek@redhat.com>
1755         Backport from mainline
1756         2014-08-21  Marek Polacek  <polacek@redhat.com>
1758         PR c/61271
1759         * expr.c (is_aligning_offset): Remove logical not.
1761 2014-09-01  Marek Polacek  <polacek@redhat.com>
1763         Backport from mainline
1764         2014-08-19  Marek Polacek  <polacek@redhat.com>
1766         PR c/61271
1767         * cgraphunit.c (handle_alias_pairs): Fix condition.
1769 2014-08-30  John David Anglin  <danglin@gcc.gnu.org>
1771         * config/pa/pa.c (pa_assemble_integer): Don't add PLABEL relocation
1772         prefix to function labels when generating fast indirect calls.
1774 2014-08-29  Yvan Roux  <yvan.roux@linaro.org>
1776         Backport from mainline
1777         2014-08-27  Yvan Roux  <yvan.roux@linaro.org>
1779         PR other/62248
1780         * config.gcc (arm*-*-*): Check --with-fpu against arm-fpus.def.
1782 2014-08-27  Guozhi Wei  <carrot@google.com>
1784         PR target/62262
1785         * config/aarch64/aarch64.md (*andim_ashift<mode>_bfiz): Check the shift
1786         amount before using it.
1788 2014-08-26  Joel Sherrill <joel.sherrill@oarcorp.com>
1790         * doc/invoke.texi: -fno-cxa-atexit should be -fno-use-cxa-atexit.
1792 2014-08-26  Marek Polacek  <polacek@redhat.com>
1794         Backport from mainline
1795         2014-08-26  Marek Polacek  <polacek@redhat.com>
1797         PR c/61271
1798         * tree-vectorizer.h (LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT,
1799         LOOP_REQUIRES_VERSIONING_FOR_ALIAS): Wrap in parens.
1801 2014-08-24  Oleg Endo  <olegendo@gcc.gnu.org>
1803         Backport from mainline
1804         2014-08-24  Oleg Endo  <olegendo@gcc.gnu.org>
1806         PR target/61996
1807         * config/sh/sh.opt (musermode): Allow negative form.
1808         * config/sh/sh.c (sh_option_override): Disable TARGET_USERMODE for
1809         targets that don't support it.
1810         * doc/invoke.texi (SH Options): Rename sh-*-linux* to sh*-*-linux*.
1811         Document -mno-usermode option.
1813 2014-08-23  John David Anglin  <danglin@gcc.gnu.org>
1815         PR target/62038
1816         * config/pa/pa.c (pa_output_function_epilogue): Don't set
1817         last_address when the current function is a thunk.
1818         (pa_asm_output_mi_thunk): When we don't have named sections or they
1819         are not being used, check that thunk can reach the stub table with a
1820         short branch.
1822 2014-08-22  Michael Meissner  <meissner@linux.vnet.ibm.com>
1824         Backport from mainline
1825         2014-08-22  Michael Meissner  <meissner@linux.vnet.ibm.com>
1827         PR target/62195
1828         * doc/md.texi (Machine Constraints): Update PowerPC wi constraint
1829         documentation to state it is only for VSX operations.
1831         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Make wi
1832         constraint only active if VSX.
1834         * config/rs6000/rs6000.md (lfiwax): Use wj constraint instead of
1835         wi cosntraint for ISA 2.07 lxsiwax/lxsiwzx instructions.
1836         (lfiwzx): Likewise.
1838 2014-08-21  Uros Bizjak  <ubizjak@gmail.com>
1840         Backport from mainline
1841         2014-08-19  H.J. Lu  <hongjiu.lu@intel.com>
1843         * config/i386/i386.md (*ctz<mode>2_falsedep_1): Don't clear
1844         destination if it is used in source.
1845         (*clz<mode>2_lzcnt_falsedep_1): Likewise.
1846         (*popcount<mode>2_falsedep_1): Likewise.
1848         Backport from mainline
1849         2014-08-18  Uros Bizjak  <ubizjak@gmail.com>
1851         PR target/62011
1852         * config/i386/x86-tune.def (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI):
1853         New tune flag.
1854         * config/i386/i386.h (TARGET_AVOID_FALSE_DEP_FOR_BMI): New define.
1855         * config/i386/i386.md (unspec) <UNSPEC_INSN_FALSE_DEP>: New unspec.
1856         (ffs<mode>2): Do not expand with tzcnt for
1857         TARGET_AVOID_FALSE_DEP_FOR_BMI.
1858         (ffssi2_no_cmove): Ditto.
1859         (*tzcnt<mode>_1): Disable for TARGET_AVOID_FALSE_DEP_FOR_BMI.
1860         (ctz<mode>2): New expander.
1861         (*ctz<mode>2_falsedep_1): New insn_and_split pattern.
1862         (*ctz<mode>2_falsedep): New insn.
1863         (*ctz<mode>2): Rename from ctz<mode>2.
1864         (clz<mode>2_lzcnt): New expander.
1865         (*clz<mode>2_lzcnt_falsedep_1): New insn_and_split pattern.
1866         (*clz<mode>2_lzcnt_falsedep): New insn.
1867         (*clz<mode>2): Rename from ctz<mode>2.
1868         (popcount<mode>2): New expander.
1869         (*popcount<mode>2_falsedep_1): New insn_and_split pattern.
1870         (*popcount<mode>2_falsedep): New insn.
1871         (*popcount<mode>2): Rename from ctz<mode>2.
1872         (*popcount<mode>2_cmp): Remove.
1873         (*popcountsi2_cmp_zext): Ditto.
1875 2014-08-20  Martin Jambor  <mjambor@suse.cz>
1876             Wei Mi  <wmi@google.com>
1878         PR ipa/60449
1879         PR middle-end/61776
1880         * tree-ssa-operands.c (update_stmt_operands): Remove
1881         MODIFIED_NORETURN_CALLS.
1882         * tree-cfgcleanup.c (cleanup_call_ctrl_altering_flag): New func.
1883         (cleanup_control_flow_bb): Use cleanup_call_ctrl_altering_flag.
1884         (split_bb_on_noreturn_calls): Renamed from split_bbs_on_noreturn_calls.
1885         (cleanup_tree_cfg_1): Use split_bb_on_noreturn_calls.
1886         * tree-ssanames.h: Remove MODIFIED_NORETURN_CALLS.
1887         * gimple.h (enum gf_mask): Add GF_CALL_CTRL_ALTERING.
1888         (gimple_call_set_ctrl_altering): New func.
1889         (gimple_call_ctrl_altering_p): Ditto.
1890         * tree-cfg.c (gimple_call_initialize_ctrl_altering): Ditto.
1891         (make_blocks): Use gimple_call_initialize_ctrl_altering.
1892         (is_ctrl_altering_stmt): Use gimple_call_ctrl_altering_p.
1893         (execute_fixup_cfg): Use gimple_call_ctrl_altering_p and
1894         remove MODIFIED_NORETURN_CALLS.
1896 2014-08-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1898         Backport from mainline.
1899         2014-08-12  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1900         PR target/62098
1901         * config/arm/vfp.md (*combine_vcvtf2i): Fix constraint.
1902         Remove unnecessary attributes.
1904 2014-08-16  John David Anglin  <danglin@gcc.gnu.org>
1906         PR target/61641
1907         * config/pa/pa-protos.h (pa_output_addr_vec, pa_output_addr_diff_vec):
1908         Declare.
1909         * config/pa/pa.c (pa_reorg): Remove code to insert brtab marker insns.
1910         (pa_output_addr_vec, pa_output_addr_diff_vec): New.
1911         * config/pa/pa.h (ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC):
1912         Define.
1913         * config/pa/pa.md (begin_brtab): Delete insn.
1914         (end_brtab): Likewise.
1916 2014-08-15  Oleg Endo  <olegendo@gcc.gnu.org>
1918         Backport from mainline:
1919         2014-08-15  Oleg Endo  <olegendo@gcc.gnu.org>
1921         * doc/invoke.texi (SH options): Document missing processor variant
1922         options.  Remove references to Hitachi.  Undocument deprecated mspace
1923         option.
1925 2014-08-15  Tom de Vries  <tom@codesourcery.com>
1927         Backport from mainline:
1928         2014-08-14  Tom de Vries  <tom@codesourcery.com>
1930         PR rtl-optimization/62004
1931         PR rtl-optimization/62030
1932         * ifcvt.c (rtx_interchangeable_p): New function.
1933         (noce_try_move, noce_process_if_block): Use rtx_interchangeable_p.
1935         2014-08-05  Richard Biener  <rguenther@suse.de>
1937         * emit-rtl.h (mem_attrs_eq_p): Declare.
1938         * emit-rtl.c (mem_attrs_eq_p): Export.
1940 2014-08-15  Jakub Jelinek  <jakub@redhat.com>
1942         PR middle-end/62092
1943         * gimplify.c (gimplify_adjust_omp_clauses_1): Don't remove
1944         OMP_CLAUSE_SHARED for global vars if the global var is mentioned
1945         in OMP_CLAUSE_MAP in some outer target region.
1947 2014-08-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1949         Backport from mainline
1950         2014-08-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1952         PR target/61713
1953         * gcc/optabs.c (expand_atomic_test_and_set): Do not try to emit
1954         move to subtarget in serial version if result is ignored.
1956 2014-08-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1958         Backport from mainline
1959         2014-08-12  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1961         PR middle-end/62103
1962         * gimple-fold.c (fold_ctor_reference): Don't fold in presence of
1963         bitfields, that is when size doesn't match the size of type or the
1964         size of the constructor.
1966 2014-08-12  Felix Yang  <fei.yang0953@gmail.com>
1968         PR tree-optimization/62073
1969         * tree-vect-loop.c (vect_is_simple_reduction_1): Check that DEF1 has
1970         a basic block.
1972 2014-08-12  Jakub Jelinek  <jakub@redhat.com>
1974         PR target/62025
1975         * sched-deps.c (find_inc): Check if inc_insn doesn't clobber
1976         any registers that are used in mem_insn.
1978 2014-08-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
1980         Backport patch from mainline
1981         2014-08-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
1983         * config/rs6000/constraints.md (wh constraint): New constraint,
1984         for FP registers if direct move is available.
1985         (wi constraint): New constraint, for VSX/FP registers that can
1986         handle 64-bit integers.
1987         (wj constraint): New constraint for VSX/FP registers that can
1988         handle 64-bit integers for direct moves.
1989         (wk constraint): New constraint for VSX/FP registers that can
1990         handle 64-bit doubles for direct moves.
1991         (wy constraint): Make documentation match implementation.
1993         * config/rs6000/rs6000.c (struct rs6000_reg_addr): Add
1994         scalar_in_vmx_p field to simplify tests of whether SFmode or
1995         DFmode can go in the Altivec registers.
1996         (rs6000_hard_regno_mode_ok): Use scalar_in_vmx_p field.
1997         (rs6000_setup_reg_addr_masks): Likewise.
1998         (rs6000_debug_print_mode): Add debug support for scalar_in_vmx_p
1999         field, and wh/wi/wj/wk constraints.
2000         (rs6000_init_hard_regno_mode_ok): Setup scalar_in_vmx_p field, and
2001         the wh/wi/wj/wk constraints.
2002         (rs6000_preferred_reload_class): If SFmode/DFmode can go in the
2003         upper registers, prefer VSX registers unless the operation is a
2004         memory operation with REG+OFFSET addressing.
2006         * config/rs6000/vsx.md (VSr mode attribute): Add support for
2007         DImode.  Change SFmode to use ww constraint instead of d to allow
2008         SF registers in the upper registers.
2009         (VSr2): Likewise.
2010         (VSr3): Likewise.
2011         (VSr5): Fix thinko in comment.
2012         (VSa): New mode attribute that is an alternative to wa, that
2013         returns the VSX register class that a mode can go in, but may not
2014         be the preferred register class.
2015         (VS_64dm): New mode attribute for appropriate register classes for
2016         referencing 64-bit elements of vectors for direct moves and normal
2017         moves.
2018         (VS_64reg): Likewise.
2019         (vsx_mov<mode>): Change wa constraint to <VSa> to limit the
2020         register allocator to only registers the data type can handle.
2021         (vsx_le_perm_load_<mode>): Likewise.
2022         (vsx_le_perm_store_<mode>): Likewise.
2023         (vsx_xxpermdi2_le_<mode>): Likewise.
2024         (vsx_xxpermdi4_le_<mode>): Likewise.
2025         (vsx_lxvd2x2_le_<mode>): Likewise.
2026         (vsx_lxvd2x4_le_<mode>): Likewise.
2027         (vsx_stxvd2x2_le_<mode>): Likewise.
2028         (vsx_add<mode>3): Likewise.
2029         (vsx_sub<mode>3): Likewise.
2030         (vsx_mul<mode>3): Likewise.
2031         (vsx_div<mode>3): Likewise.
2032         (vsx_tdiv<mode>3_internal): Likewise.
2033         (vsx_fre<mode>2): Likewise.
2034         (vsx_neg<mode>2): Likewise.
2035         (vsx_abs<mode>2): Likewise.
2036         (vsx_nabs<mode>2): Likewise.
2037         (vsx_smax<mode>3): Likewise.
2038         (vsx_smin<mode>3): Likewise.
2039         (vsx_sqrt<mode>2): Likewise.
2040         (vsx_rsqrte<mode>2): Likewise.
2041         (vsx_tsqrt<mode>2_internal): Likewise.
2042         (vsx_fms<mode>4): Likewise.
2043         (vsx_nfma<mode>4): Likewise.
2044         (vsx_eq<mode>): Likewise.
2045         (vsx_gt<mode>): Likewise.
2046         (vsx_ge<mode>): Likewise.
2047         (vsx_eq<mode>_p): Likewise.
2048         (vsx_gt<mode>_p): Likewise.
2049         (vsx_ge<mode>_p): Likewise.
2050         (vsx_xxsel<mode>): Likewise.
2051         (vsx_xxsel<mode>_uns): Likewise.
2052         (vsx_copysign<mode>3): Likewise.
2053         (vsx_float<VSi><mode>2): Likewise.
2054         (vsx_floatuns<VSi><mode>2): Likewise.
2055         (vsx_fix_trunc<mode><VSi>2): Likewise.
2056         (vsx_fixuns_trunc<mode><VSi>2): Likewise.
2057         (vsx_x<VSv>r<VSs>i): Likewise.
2058         (vsx_x<VSv>r<VSs>ic): Likewise.
2059         (vsx_btrunc<mode>2): Likewise.
2060         (vsx_b2trunc<mode>2): Likewise.
2061         (vsx_floor<mode>2): Likewise.
2062         (vsx_ceil<mode>2): Likewise.
2063         (vsx_<VS_spdp_insn>): Likewise.
2064         (vsx_xscvspdp): Likewise.
2065         (vsx_xvcvspuxds): Likewise.
2066         (vsx_float_fix_<mode>2): Likewise.
2067         (vsx_set_<mode>): Likewise.
2068         (vsx_extract_<mode>_internal1): Likewise.
2069         (vsx_extract_<mode>_internal2): Likewise.
2070         (vsx_extract_<mode>_load): Likewise.
2071         (vsx_extract_<mode>_store): Likewise.
2072         (vsx_splat_<mode>): Likewise.
2073         (vsx_xxspltw_<mode>): Likewise.
2074         (vsx_xxspltw_<mode>_direct): Likewise.
2075         (vsx_xxmrghw_<mode>): Likewise.
2076         (vsx_xxmrglw_<mode>): Likewise.
2077         (vsx_xxsldwi_<mode>): Likewise.
2078         (vsx_xscvdpspn): Tighten constraints to only use register classes
2079         the types use.
2080         (vsx_xscvspdpn): Likewise.
2081         (vsx_xscvdpspn_scalar): Likewise.
2083         * config/rs6000/rs6000.h (enum rs6000_reg_class_enum): Add wh, wi,
2084         wj, and wk constraints.
2085         (GPR_REG_CLASS_P): New helper macro for register classes targeting
2086         general purpose registers.
2088         * config/rs6000/rs6000.md (f32_dm): Use wh constraint for SDmode
2089         direct moves.
2090         (zero_extendsidi2_lfiwz): Use wj constraint for direct move of
2091         DImode instead of wm.  Use wk constraint for direct move of DFmode
2092         instead of wm.
2093         (extendsidi2_lfiwax): Likewise.
2094         (lfiwax): Likewise.
2095         (lfiwzx): Likewise.
2096         (movdi_internal64): Likewise.
2098         * doc/md.texi (PowerPC and IBM RS6000): Document wh, wi, wj, and
2099         wk constraints. Make the wy constraint documentation match them
2100         implementation.
2102 2014-08-12  Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
2104         Backport from mainline
2105         2014-08-04 Ganesh Gopalasubramanian
2106                    <Ganesh.Gopalasubramanian@amd.com>
2108         * config/i386/i386.c (ix86_option_override_internal): Add
2109         PTA_RDRND and PTA_MOVBE for bdver4.
2111 2014-08-12  Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
2113         Backport from mainline
2114         2014-08-04  Ganesh Gopalasubramanian
2115                     <Ganesh.Gopalasubramanian@amd.com>
2117         * config/i386/driver-i386.c (host_detect_local_cpu): Handle AMD's extended
2118         family information. Handle BTVER2 cpu with cpuid family value.
2120 2014-08-12  Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
2122         Backport from mainline
2123         2014-06-16  Ganesh Gopalasubramanian
2124                     <Ganesh.Gopalasubramanian@amd.com>
2126         * config/i386/i386.c (ix86_expand_sse2_mulvxdi3): Issue
2127         instructions "vpmuludq" and "vpaddq" instead of "vpmacsdql" for
2128         handling 32-bit multiplication.
2130 2014-08-08  Guozhi Wei  <carrot@google.com>
2132         * config/rs6000/rs6000.md (*movdi_internal64): Add a new constraint.
2134 2014-08-07  Ilya Tocar  <ilya.tocar@intel.com>
2136         * config/i386/sse.md (vec_extract_lo_<mode><mask_name>): Fix
2137         constraint.
2139 2014-08-06  Vladimir Makarov  <vmakarov@redhat.com>
2141         PR debug/61923
2142         * haifa-sched.c (advance_one_cycle): Fix dump.
2143         (schedule_block): Don't advance cycle if we are already at the
2144         beginning of the cycle.
2146 2014-08-06  Richard Biener  <rguenther@suse.de>
2148         PR tree-optimization/61320
2149         * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Properly
2150         handle misaligned loads.
2152 2014-08-04  Rohit  <rohitarulraj@freescale.com>
2154         PR target/60102
2155         * config/rs6000/rs6000.c
2156         (rs6000_reg_names): Add SPE high register names.
2157         (alt_reg_names): Likewise.
2158         (rs6000_dwarf_register_span): For SPE high registers, replace
2159         dwarf register numbers with GCC hard register numbers.
2160         (rs6000_init_dwarf_reg_sizes_extra): Likewise.
2161         (rs6000_dbx_register_number): For SPE high registers, return dwarf
2162         register number for the corresponding GCC hard register number.
2163         * config/rs6000/rs6000.h
2164         (FIRST_PSEUDO_REGISTER): Update based on 32 newly added GCC hard
2165         register numbers for SPE high registers.
2166         (DWARF_FRAME_REGISTERS):  Likewise.
2167         (DWARF_REG_TO_UNWIND_COLUMN): Likewise.
2168         (DWARF_FRAME_REGNUM): Likewise.
2169         (FIXED_REGISTERS): Likewise.
2170         (CALL_USED_REGISTERS): Likewise.
2171         (CALL_REALLY_USED_REGISTERS): Likewise.
2172         (REG_ALLOC_ORDER): Likewise.
2173         (enum reg_class): Likewise.
2174         (REG_CLASS_NAMES): Likewise.
2175         (REG_CLASS_CONTENTS): Likewise.
2176         (SPE_HIGH_REGNO_P): New macro to identify SPE high registers.
2178 2014-08-01  Vladimir Makarov  <vmakarov@redhat.com>
2180         * lra-constraints.c (remove_inheritance_pseudos): Process
2181         destination pseudo too.
2183 2014-08-01  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2185         Backport from mainline
2186         2014-06-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2188         PR tree-optimization/61375
2189         * tree-ssa-math-opts.c (find_bswap_or_nop_1): Cancel optimization if
2190         symbolic number cannot be represented in an unsigned HOST_WIDE_INT.
2191         (execute_optimize_bswap): Cancel optimization if CHAR_BIT != 8.
2193 2014-08-01  Richard Biener  <rguenther@suse.de>
2195         PR tree-optimization/61964
2196         * tree-ssa-tail-merge.c (gimple_equal_p): Handle non-SSA LHS solely
2197         by structural equality.
2199 2014-07-31  Oleg Endo  <olegendo@gcc.gnu.org>
2201         Backport from mainline
2202         2014-07-31  Oleg Endo  <olegendo@gcc.gnu.org>
2204         PR target/61844
2205         * config/sh/sh.c (sh_legitimate_address_p,
2206         sh_legitimize_reload_address): Handle reg+reg address modes when
2207         ALLOW_INDEXED_ADDRESS is false.
2208         * config/sh/predicates.md (general_movsrc_operand,
2209         general_movdst_operand): Likewise.
2211 2014-07-25  Uros Bizjak  <ubizjak@gmail.com>
2213         Backport from mainline
2214         2014-07-14  Jakub Jelinek  <jakub@redhat.com>
2216         PR target/61656
2217         * config/i386/i386.c (classify_argument): Don't merge classes above
2218         number of words.
2220 2014-07-25  Uros Bizjak  <ubizjak@gmail.com>
2222         * config/alpha/elf.h: Define TARGET_UNWIND_TABLES_DEFAULT.
2224 2014-07-24  Kyle McMartin  <kyle@redhat.com>
2226         * config/aarch64/aarch64-linux.h (TARGET_ASM_FILE_END): Define.
2228 2014-07-24  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2230         * config/rs6000/rs6000-protos.h (rs6000_special_adjust_field_align_p):
2231         Add prototype.
2232         * config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p): New
2233         function.  Issue -Wpsabi warning if future GCC releases will use
2234         different field alignment rules for this type.
2235         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Call it.
2236         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise.
2237         * config/rs6000/freebsd64.h (ADJUST_FIELD_ALIGN): Likewise.
2239 2014-07-24  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2241         * config/rs6000/rs6000.c (rs6000_function_arg_boundary): Issue
2242         -Wpsabi note when encountering a type where future GCC releases
2243         will apply different alignment requirements.
2245 2014-07-24  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2247         * config/rs6000/rs6000.c (rs6000_function_arg): If a float argument
2248         does not fit fully into floating-point registers, and there is still
2249         space in the register parameter area, issue -Wpsabi note that the ABI
2250         will change in a future GCC release.
2252 2014-07-23  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2254         * config/arm/t-rtems-eabi: Add
2255         mthumb/march=armv7-r/mfpu=vfpv3-d16/mfloat-abi=hard,
2256         mthumb/march=armv7-m/mfpu=fpv4-sp-d16/mfloat-abi=hard,
2257         mbig-endian/mthumb/march=armv7-r, and
2258         mbig-endian/mthumb/march=armv7-r/mfpu=vfpv3-d16/mfloat-abi=hard
2259         multilibs.
2261 2014-07-23  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2262             Chris Johns <chrisj@rtems.org>
2263             Joel Sherrill <joel.sherrill@oarcorp.com>
2265         * config.gcc: Add nios2-*-rtems*.
2266         * config/nios2/rtems.h: New file.
2267         * gcc/config/nios2/t-rtems: New file.
2269 2014-07-21  Peter Bergner  <bergner@vnet.ibm.com>
2271         * config/rs6000/sysv4.h (LIBASAN_EARLY_SPEC): Define.
2272         (LIBTSAN_EARLY_SPEC): Likewise.
2274 2014-07-21  Uros Bizjak  <ubizjak@gmail.com>
2276         Backport from mainline
2277         2014-07-21  Uros Bizjak  <ubizjak@gmail.com>
2279         PR target/61855
2280         * config/i386/avx512fintrin.h: Move constants for mantissa extraction
2281         out of #ifdef __OPTIMIZE__.
2283 2014-07-20  Eric Botcazou  <ebotcazou@adacore.com>
2285         * expr.c (store_field): Handle VOIDmode for calls that return values
2286         in multiple locations.
2288 2014-07-19  Eric Botcazou  <ebotcazou@adacore.com>
2290         * toplev.c (output_stack_usage): Adjust the location of the warning.
2292 2014-07-19  Daniel Cederman  <cederman@gaisler.com>
2294         * config/sparc/sync.md (*membar_storeload_leon3): New insn.
2295         (*membar_storeload): Disable for LEON3.
2297 2014-07-18  Uros Bizjak  <ubizjak@gmail.com>
2299         Backport from mainline
2300         2014-07-16  David Wohlferd  <dw@LimeGreenSocks.com>
2302         PR target/61662
2303         * config/i386/ia32intrin.h: Use __LP64__ to determine size of long.
2305 2014-07-18  Uros Bizjak  <ubizjak@gmail.com>
2307         Backport from mainline
2308         2014-07-18  Uros Bizjak  <ubizjak@gmail.com>
2310         PR target/61794
2311         * config/i386/sse.md (avx512f_vextract<shuffletype>32x4_1_maskm):
2312         Fix instruction constraint.
2313         (<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name>): Ditto.
2315 2014-07-17  Richard Biener  <rguenther@suse.de>
2317         Backport from mainline
2318         2014-07-14  Richard Biener  <rguenther@suse.de>
2320         PR tree-optimization/61779
2321         * tree-ssa-copy.c (copy_prop_visit_cond_stmt): Always try
2322         simplifying a condition.
2324 2014-07-17  Richard Biener  <rguenther@suse.de>
2326         PR rtl-optimization/61801
2327         * sched-deps.c (sched_analyze_2): For ASM_OPERANDS and ASM_INPUT
2328         don't set reg_pending_barrier if it appears in a debug-insn.
2330 2014-07-17  Hans-Peter Nilsson  <hp@axis.com>
2332         Backport from trunk.
2333         PR target/61737.
2334         * config/cris/cris.c (TARGET_LEGITIMATE_CONSTANT_P)
2335         (TARGET_CANNOT_FORCE_CONST_MEM): Define.
2336         (cris_cannot_force_const_mem, cris_legitimate_constant_p): New
2337         functions.
2338         (cris_print_index, cris_print_operand, cris_constant_index_p)
2339         (cris_side_effect_mode_ok): Replace CONSTANT_P with CRIS_CONSTANT_P.
2340         (cris_address_cost): Ditto last CONSTANT_P.
2341         (cris_symbol_type_of): Rename from cris_pic_symbol_type_of.  All
2342         callers changed.  Yield cris_offsettable_symbol for non-PIC
2343         constant symbolic expressions including labels.  Yield cris_unspec
2344         for all unspecs.
2345         (cris_expand_pic_call_address): New parameter MARKERP.  Set its
2346         target to pic_offset_table_rtx for calls that will likely go
2347         through PLT, const0_rtx when they can't.  All callers changed.
2348         Assert flag_pic.  Use CONSTANT_P, not CONSTANT_ADDRESS_P, for
2349         symbolic expressions to be PICified.  Remove second, redundant,
2350         assert on can_create_pseudo_p returning non-zero.  Use
2351         replace_equiv_address_nv, not replace_equiv_address, for final
2352         operand update.
2353         * config/cris/cris.md ("movsi"): Move variable t to pattern
2354         toplevel. Adjust assert for new cris_symbol_type member.  Use
2355         CONSTANT_P instead of CONSTANT_ADDRESS_P.
2356         ("*movsi_internal") <case 9>: Make check for valid unspec operands
2357         for lapc stricter.
2358         <case CRIS_UNSPEC_PCREL, CRIS_UNSPEC_PLT_PCREL>: Clear condition codes.
2359         ("call", "call_value"): Use second incoming operand as a marker
2360         for pic-offset-table-register being used.
2361         ("*expanded_call_non_v32", "*expanded_call_v32")
2362         ("*expanded_call_value_non_v32", "*expanded_call_value_v32"): For
2363         second incoming operand to CALL, match cris_call_type_marker.
2364         ("*expanded_call_value_side"): Ditto.  Disable before reload_completed.
2365         ("*expanded_call_side"): Ditto.  Fix typo in comment.
2366         (moverside, movemside peepholes): Check for CRIS_CONSTANT_P, not
2367         CONSTANT_P.
2368         * config/cris/predicates.md ("cris_call_type_marker"): New predicate.
2369         * config/cris/cris.h (CRIS_CONSTANT_P): New macro.
2370         (enum cris_symbol_type): Rename from cris_pic_symbol_type.  All
2371         users changed.  Add members cris_offsettable_symbol and cris_unspec.
2372         (cris_symbol_type): Rename from cris_pic_symbol_type.
2373         * config/cris/constraints.md ("T"): Use CRIS_CONSTANT_P, not
2374         just CONSTANT_P.
2375         * config/cris/cris-protos.h (cris_symbol_type_of,
2376         cris_expand_pic_call_address): Adjust prototypes.
2377         (cris_legitimate_constant_p): New prototype.
2379         * config.gcc (crisv32-*-linux* | cris-*-linux*): Do not override
2380         an existing tmake_file.  Don't add t-slibgcc and t-linux.
2382 2014-07-16  Jakub Jelinek  <jakub@redhat.com>
2384         * omp-low.c (create_omp_child_function): Don't set DECL_NAMELESS
2385         on the FUNCTION_DECL.
2387         * BASE-VER: Set to 4.9.2.
2388         * DEV-PHASE: Set to prerelease.
2390 2014-07-16  Release Manager
2392         * GCC 4.9.1 released.
2394 2014-07-11  Rong Xu  <xur@google.com>
2396         Backport r212462 trunk.
2398         * gcov-tool.c (gcov_output_files): Fix build error introduced in
2399         commit r212448.
2401 2014-07-10  Rong Xu  <xur@google.com>
2403         Backport r212448 from trunk.
2405         Add gcov-tool: an offline gcda profile processing tool
2406         Support.
2407         * gcov-io.c (gcov_position): Make avaialble to gcov-tool.
2408         (gcov_is_error): Ditto.
2409         (gcov_read_string): Ditto.
2410         (gcov_read_sync): Ditto.
2411         * gcov-io.h: Move counter defines to gcov-counter.def.
2412         * gcov-dump.c (tag_counters): Use gcov-counter.def.
2413         * coverage.c: Ditto.
2414         * gcov-tool.c: Offline gcda profile processing tool.
2415         (unlink_gcda_file): Remove one gcda file.
2416         (unlink_profile_dir): Remove gcda files from the profile path.
2417         (gcov_output_files): Output gcda files to an output dir.
2418         (profile_merge): Merge two profiles in directory.
2419         (print_merge_usage_message): Print merge usage.
2420         (merge_usage): Print merge usage and exit.
2421         (do_merge): Driver for profile merge sub-command.
2422         (profile_rewrite): Rewrite profile.
2423         (print_rewrite_usage_message): Print rewrite usage.
2424         (rewrite_usage): Print rewrite usage and exit.
2425         (do_rewrite): Driver for profile rewrite sub-command.
2426         (print_usage): Print gcov-info usage and exit.
2427         (print_version): Print gcov-info version.
2428         (process_args): Process arguments.
2429         (main): Main routine for gcov-tool.
2430         * Makefile.in: Build and install gcov-tool.
2431         * gcov-counter.def: New file split from gcov-io.h.
2432         * doc/gcc.texi: Include gcov-tool.texi.
2433         * doc/gcov-tool.texi: Document for gcov-tool.
2435 2014-07-10  Cary Coutant  <ccoutant@google.com>
2437         Backport from trunk at r212211.
2439         * dwarf2out.c (remove_addr_table_entry): Remove unnecessary hash table
2440         lookup.
2441         (resolve_addr_in_expr): When replacing the rtx in a location list
2442         entry, get a new address table entry.
2443         (dwarf2out_finish): Call index_location_lists even if there are no
2444         addr_index_table entries yet.
2446 2014-07-10  Tom G. Christensen  <tgc@jupiterrise.com>
2448         * doc/install.texi: Remove links to defunct package providers for
2449         Solaris.
2451 2014-07-10  Eric Botcazou  <ebotcazou@adacore.com>
2453         PR middle-end/53590
2454         * function.c (allocate_struct_function): Revert r188667 change.
2456         * gimple-low.c (lower_builtin_setjmp): Use properly-typed constant.
2458 2014-07-09  Alan Lawrence  <alan.lawrence@arm.com>
2460         Backport r211369 from trunk.
2461         2014-06-09  Alan Lawrence  <alan.lawrence@arm.com>
2463         PR target/61062
2464         * config/arm/arm_neon.h (vtrn_s8, vtrn_s16, vtrn_u8, vtrn_u16, vtrn_p8,
2465         vtrn_p16, vtrn_s32, vtrn_f32, vtrn_u32, vtrnq_s8, vtrnq_s16, vtrnq_s32,
2466         vtrnq_f32, vtrnq_u8, vtrnq_u16, vtrnq_u32, vtrnq_p8, vtrnq_p16,
2467         vzip_s8, vzip_s16, vzip_u8, vzip_u16, vzip_p8, vzip_p16, vzip_s32,
2468         vzip_f32, vzip_u32, vzipq_s8, vzipq_s16, vzipq_s32, vzipq_f32,
2469         vzipq_u8, vzipq_u16, vzipq_u32, vzipq_p8, vzipq_p16, vuzp_s8, vuzp_s16,
2470         vuzp_s32, vuzp_f32, vuzp_u8, vuzp_u16, vuzp_u32, vuzp_p8, vuzp_p16,
2471         vuzpq_s8, vuzpq_s16, vuzpq_s32, vuzpq_f32, vuzpq_u8, vuzpq_u16,
2472         vuzpq_u32, vuzpq_p8, vuzpq_p16): Correct mask for bigendian.
2475 2014-07-09  Alan Lawrence  <alan.lawrence@arm.com>
2477         Backport r210219 from trunk.
2478         2014-05-08  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2480         * config/arm/arm_neon.h: Update comment.
2481         * config/arm/neon-docgen.ml: Delete.
2482         * config/arm/neon-gen.ml: Delete.
2483         * doc/arm-neon-intrinsics.texi: Update comment.
2485 2014-07-09  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
2487         Backport r211775 from trunk.
2488         2014-06-18  Terry Guo  <terry.guo@arm.com>
2490         PR target/61544
2491         * config/arm/arm.c (thumb1_reorg): Move to next basic block if we
2492         reach the head.
2494 2014-07-08  Jakub Jelinek  <jakub@redhat.com>
2496         PR rtl-optimization/61673
2497         * combine.c (simplify_comparison): Test just mode's sign bit
2498         in tmode rather than the sign bit and any bits above it.
2500 2014-07-08  James Greenhalgh  <james.greenhalgh@arm.com>
2502         Backport r212298 from trunk.
2503         2014-07-04  James Greenhalgh  <james.greenhalgh@arm.com>
2505         * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): New.
2506         (move_lo_quad_internal_be_<mode>): Likewise.
2507         (move_lo_quad_<mode>): Convert to define_expand.
2508         (aarch64_simd_move_hi_quad_<mode>): Gate on BYTES_BIG_ENDIAN.
2509         (aarch64_simd_move_hi_quad_be_<mode>): New.
2510         (move_hi_quad_<mode>): Use appropriate insn for BYTES_BIG_ENDIAN.
2511         (aarch64_combinez<mode>): Gate on BYTES_BIG_ENDIAN.
2512         (aarch64_combinez_be<mode>): New.
2513         (aarch64_combine<mode>): Convert to define_expand.
2514         (aarch64_combine_internal<mode>): New.
2515         (aarch64_simd_combine<mode>): Remove bogus RTL description.
2517 2014-07-08  Richard Biener  <rguenther@suse.de>
2519         PR tree-optimization/61680
2520         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
2521         Handle properly all read-write dependences with group accesses.
2523         PR tree-optimization/61681
2524         * tree-ssa-structalias.c (find_what_var_points_to): Expand
2525         NONLOCAL inside ESCAPED.
2527 2014-07-08  Alan Lawrence  <alan.lawrence@arm.com>
2529         Backport r211502 from mainline.
2530         2014-06-10  Alan Lawrence  <alan.lawrence@arm.com>
2532         PR target/59843
2533         * config/aarch64/aarch64-modes.def: Add V1DFmode.
2534         * config/aarch64/aarch64.c (aarch64_vector_mode_supported_p):
2535         Support V1DFmode.
2537 2014-07-08  Jakub Jelinek  <jakub@redhat.com>
2539         PR tree-optimization/61725
2540         * tree-vrp.c (extract_range_basic): Don't assume vr0 is unsigned
2541         range, use range_includes_zerop_p instead of integer_zerop on
2542         vr0->min, only use log2 of max if min is not negative.
2544 2014-07-06  Gerald Pfeifer  <gerald@pfeifer.com>
2546         * doc/install.texi (Specific, aarch64*-*-*): Fix markup.  Reword a bit.
2548 2014-07-04  Jakub Jelinek  <jakub@redhat.com>
2550         PR middle-end/61654
2551         * cgraphunit.c (expand_thunk): Call free_dominance_info.
2553         PR tree-optimization/61684
2554         * tree-ssa-ifcombine.c (recognize_single_bit_test): Make sure
2555         rhs1 of conversion is a SSA_NAME before using SSA_NAME_DEF_STMT on it.
2557 2014-06-30  Jakub Jelinek  <jakub@redhat.com>
2559         Backported from mainline
2560         2014-06-27  Jakub Jelinek  <jakub@redhat.com>
2562         PR tree-optimization/57233
2563         PR tree-optimization/61299
2564         * tree-vect-generic.c (get_compute_type, count_type_subparts): New
2565         functions.
2566         (expand_vector_operations_1): Use them.  If {L,R}ROTATE_EXPR
2567         would be lowered to scalar shifts, check if corresponding
2568         shifts and vector BIT_IOR_EXPR are supported and don't lower
2569         or lower just to narrower vector type in that case.
2570         * expmed.c (expand_shift_1): Fix up handling of vector
2571         shifts and rotates.
2573         2014-06-25  Jakub Jelinek  <jakub@redhat.com>
2575         * langhooks-def.h (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Define.
2576         (LANG_HOOKS_DECLS): Add it.
2577         * gimplify.c (gimplify_omp_for): Make sure OMP_CLAUSE_LINEAR_STEP
2578         has correct type.
2579         * tree.h (OMP_CLAUSE_LINEAR_ARRAY): Define.
2580         * langhooks.h (struct lang_hooks_for_decls): Add
2581         omp_clause_linear_ctor hook.
2582         * omp-low.c (lower_rec_input_clauses): Set max_vf even if
2583         OMP_CLAUSE_LINEAR_ARRAY is set.  Don't fold_convert
2584         OMP_CLAUSE_LINEAR_STEP.  For OMP_CLAUSE_LINEAR_ARRAY in
2585         combined simd loop use omp_clause_linear_ctor hook.
2587         2014-06-24  Jakub Jelinek  <jakub@redhat.com>
2589         * gimplify.c (gimplify_scan_omp_clauses) <case OMP_CLAUSE_MAP,
2590         OMP_CLAUSE_TO, OMP_CLAUSE_FROM): Make sure OMP_CLAUSE_SIZE is non-NULL.
2591         <case OMP_CLAUSE_ALIGNED>: Gimplify OMP_CLAUSE_ALIGNED_ALIGNMENT.
2592         (gimplify_adjust_omp_clauses_1): Make sure OMP_CLAUSE_SIZE is non-NULL.
2593         (gimplify_adjust_omp_clauses): Likewise.
2594         * omp-low.c (lower_rec_simd_input_clauses,
2595         lower_rec_input_clauses, expand_omp_simd): Handle non-constant
2596         safelen the same as safelen(1).
2597         * tree-nested.c (convert_nonlocal_omp_clauses,
2598         convert_local_omp_clauses): Handle OMP_CLAUSE_ALIGNED.  For
2599         OMP_CLAUSE_{MAP,TO,FROM} if not decl use walk_tree.
2600         (convert_nonlocal_reference_stmt, convert_local_reference_stmt):
2601         Fixup handling of GIMPLE_OMP_TARGET.
2602         (convert_tramp_reference_stmt, convert_gimple_call): Handle
2603         GIMPLE_OMP_TARGET.
2605         2014-06-18  Jakub Jelinek  <jakub@redhat.com>
2607         * gimplify.c (omp_notice_variable): If n is non-NULL and no flags
2608         change in ORT_TARGET region, don't jump to do_outer.
2609         (struct gimplify_adjust_omp_clauses_data): New type.
2610         (gimplify_adjust_omp_clauses_1): Adjust for data being
2611         a struct gimplify_adjust_omp_clauses_data pointer instead
2612         of tree *.  Pass pre_p as a new argument to
2613         lang_hooks.decls.omp_finish_clause hook.
2614         (gimplify_adjust_omp_clauses): Add pre_p argument, adjust
2615         splay_tree_foreach to pass both list_p and pre_p.
2616         (gimplify_omp_parallel, gimplify_omp_task, gimplify_omp_for,
2617         gimplify_omp_workshare, gimplify_omp_target_update): Adjust
2618         gimplify_adjust_omp_clauses callers.
2619         * langhooks.c (lhd_omp_finish_clause): New function.
2620         * langhooks-def.h (lhd_omp_finish_clause): New prototype.
2621         (LANG_HOOKS_OMP_FINISH_CLAUSE): Define to lhd_omp_finish_clause.
2622         * langhooks.h (struct lang_hooks_for_decls): Add a new
2623         gimple_seq * argument to omp_finish_clause hook.
2624         * omp-low.c (scan_sharing_clauses): Call scan_omp_op on
2625         non-DECL_P OMP_CLAUSE_DECL if ctx->outer.
2626         (scan_omp_parallel, lower_omp_for): When adding _LOOPTEMP_ clause var,
2627         add it to outer ctx's decl_map as identity.
2628         * tree-core.h (OMP_CLAUSE_MAP_TO_PSET): New map kind.
2629         * tree-nested.c (convert_nonlocal_omp_clauses,
2630         convert_local_omp_clauses): Handle various OpenMP 4.0 clauses.
2631         * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_MAP_TO_PSET.
2633         2014-06-10  Jakub Jelinek  <jakub@redhat.com>
2635         PR fortran/60928
2636         * omp-low.c (lower_rec_input_clauses) <case OMP_CLAUSE_LASTPRIVATE>:
2637         Set lastprivate_firstprivate even if omp_private_outer_ref
2638         langhook returns true.
2639         <case OMP_CLAUSE_REDUCTION>: When calling omp_clause_default_ctor
2640         langhook, call unshare_expr on new_var and call
2641         build_outer_var_ref to get the last argument.
2643         2014-05-11  Jakub Jelinek  <jakub@redhat.com>
2645         * tree.h (OMP_CLAUSE_LINEAR_STMT): Define.
2646         * tree.c (omp_clause_num_ops): Increase OMP_CLAUSE_LINEAR
2647         number of operands to 3.
2648         (walk_tree_1): Walk all operands of OMP_CLAUSE_LINEAR.
2649         * tree-nested.c (convert_nonlocal_omp_clauses,
2650         convert_local_omp_clauses): Handle OMP_CLAUSE_DEPEND.
2651         * gimplify.c (gimplify_scan_omp_clauses): Handle
2652         OMP_CLAUSE_LINEAR_STMT.
2653         * omp-low.c (lower_rec_input_clauses): Fix typo.
2654         (maybe_add_implicit_barrier_cancel, lower_omp_1): Add
2655         cast between Fortran boolean_type_node and C _Bool if needed.
2657 2014-06-30  Jason Merrill  <jason@redhat.com>
2659         PR c++/51253
2660         PR c++/61382
2661         * gimplify.c (gimplify_arg): Non-static.
2662         * gimplify.h: Declare it.
2664 2014-06-30  Marcus Shawcroft  <marcus.shawcroft@arm.com>
2666         Backport from Mainline
2667         2014-06-30  Marcus Shawcroft  <marcus.shawcroft@arm.com>
2669         PR target/61633
2670         * config/aarch64/aarch64.md (*aarch64_ashr_sisd_or_int_<mode>3):
2671         Add alternative; make early clobber.  Adjust both split patterns
2672         to use operand 0 as the working register.
2674 2014-06-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2676         * config/aarch64/iterators.md (VCOND): Handle SI and HI modes.
2677         Update comments.
2678         (VCONQ): Make comment more helpful.
2679         (VCON): Delete.
2680         * config/aarch64/aarch64-simd.md
2681         (aarch64_sqdmulh_lane<mode>):
2682         Use VCOND for operands 2.  Update lane checking and flipping logic.
2683         (aarch64_sqrdmulh_lane<mode>): Likewise.
2684         (aarch64_sq<r>dmulh_lane<mode>_internal): Likewise.
2685         (aarch64_sqdmull2<mode>): Remove VCON, use VQ_HSI mode iterator.
2686         (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal, VD_HSI): Change mode
2687         attribute of operand 3 to VCOND.
2688         (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal, SD_HSI): Likewise.
2689         (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
2690         (aarch64_sqdmull_lane<mode>_internal, VD_HSI): Likewise.
2691         (aarch64_sqdmull_lane<mode>_internal, SD_HSI): Likewise.
2692         (aarch64_sqdmull2_lane<mode>_internal): Likewise.
2693         (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal, VD_HSI: New
2694         define_insn.
2695         (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal, SD_HSI): Likewise.
2696         (aarch64_sqdml<SBINQOPS:as>l2_laneq<mode>_internal): Likewise.
2697         (aarch64_sqdmull_laneq<mode>_internal, VD_HSI): Likewise.
2698         (aarch64_sqdmull_laneq<mode>_internal, SD_HSI): Likewise.
2699         (aarch64_sqdmull2_laneq<mode>_internal): Likewise.
2700         (aarch64_sqdmlal_lane<mode>): Change mode attribute of penultimate
2701         operand to VCOND.  Update lane flipping and bounds checking logic.
2702         (aarch64_sqdmlal2_lane<mode>): Likewise.
2703         (aarch64_sqdmlsl_lane<mode>): Likewise.
2704         (aarch64_sqdmull_lane<mode>): Likewise.
2705         (aarch64_sqdmull2_lane<mode>): Likewise.
2706         (aarch64_sqdmlal_laneq<mode>): Replace VCON usage with VCONQ.
2707         Emit aarch64_sqdmlal_laneq<mode>_internal insn.
2708         (aarch64_sqdmlal2_laneq<mode>): Emit
2709         aarch64_sqdmlal2_laneq<mode>_internal insn.
2710         Replace VCON with VCONQ.
2711         (aarch64_sqdmlsl2_lane<mode>): Replace VCON with VCONQ.
2712         (aarch64_sqdmlsl2_laneq<mode>): Likewise.
2713         (aarch64_sqdmull_laneq<mode>): Emit
2714         aarch64_sqdmull_laneq<mode>_internal insn.
2715         Replace VCON with VCONQ.
2716         (aarch64_sqdmull2_laneq<mode>): Emit
2717         aarch64_sqdmull2_laneq<mode>_internal insn.
2718         (aarch64_sqdmlsl_laneq<mode>): Replace VCON usage with VCONQ.
2719         * config/aarch64/arm_neon.h (vqdmlal_high_lane_s16): Change type
2720         of 3rd argument to int16x4_t.
2721         (vqdmlalh_lane_s16): Likewise.
2722         (vqdmlslh_lane_s16): Likewise.
2723         (vqdmull_high_lane_s16): Likewise.
2724         (vqdmullh_lane_s16): Change type of 2nd argument to int16x4_t.
2725         (vqdmlal_lane_s16): Don't create temporary int16x8_t value.
2726         (vqdmlsl_lane_s16): Likewise.
2727         (vqdmull_lane_s16): Don't create temporary int16x8_t value.
2728         (vqdmlal_high_lane_s32): Change type 3rd argument to int32x2_t.
2729         (vqdmlals_lane_s32): Likewise.
2730         (vqdmlsls_lane_s32): Likewise.
2731         (vqdmull_high_lane_s32): Change type 2nd argument to int32x2_t.
2732         (vqdmulls_lane_s32): Likewise.
2733         (vqdmlal_lane_s32): Don't create temporary int32x4_t value.
2734         (vqdmlsl_lane_s32): Likewise.
2735         (vqdmull_lane_s32): Don't create temporary int32x4_t value.
2736         (vqdmulhh_lane_s16): Change type of second argument to int16x4_t.
2737         (vqrdmulhh_lane_s16): Likewise.
2738         (vqdmlsl_high_lane_s16): Likewise.
2739         (vqdmulhs_lane_s32): Change type of second argument to int32x2_t.
2740         (vqdmlsl_high_lane_s32): Likewise.
2741         (vqrdmulhs_lane_s32): Likewise.
2743 2014-06-30  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2745         Backport from Mainline
2746         2014-06-20  Jakub Jelinek  <jakub@redhat.com>
2747         2014-06-11  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2749         PR tree-optimization/61306
2750         * tree-ssa-math-opts.c (struct symbolic_number): Store type of
2751         expression instead of its size.
2752         (do_shift_rotate): Adapt to change in struct symbolic_number. Return
2753         false to prevent optimization when the result is unpredictable due to
2754         arithmetic right shift of signed type with highest byte is set.
2755         (verify_symbolic_number_p): Adapt to change in struct symbolic_number.
2756         (find_bswap_1): Likewise. Return NULL to prevent optimization when the
2757         result is unpredictable due to sign extension.
2758         (find_bswap): Adapt to change in struct symbolic_number.
2760 2014-06-27  Martin Jambor  <mjambor@suse.cz>
2762         PR ipa/61160
2763         * cgraphclones.c (duplicate_thunk_for_node): Removed parameter
2764         args_to_skip, use those from node instead.  Copy args_to_skip and
2765         combined_args_to_skip from node to the new thunk.
2766         (redirect_edge_duplicating_thunks): Removed parameter args_to_skip.
2767         (cgraph_create_virtual_clone): Moved computation of
2768         combined_args_to_skip...
2769         (cgraph_clone_node): ...here, simplify it to bitmap_ior..
2771 2014-06-27  Uros Bizjak  <ubizjak@gmail.com>
2773         Backport from mainline
2774         2014-06-26  Uros Bizjak  <ubizjak@gmail.com>
2776         PR target/61586
2777         * config/alpha/alpha.c (alpha_handle_trap_shadows): Handle BARRIER RTX.
2779 2014-06-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2781         PR target/61542
2782         * config/rs6000/vsx.md (vsx_extract_v4sf): Fix bug with element
2783         extraction other than index 3.
2785 2014-06-26  Marc Glisse  <marc.glisse@inria.fr>
2787         PR target/61503
2788         * config/i386/i386.md (x86_64_shrd, x86_shrd,
2789         ix86_rotr<dwi>3_doubleword): Replace ashiftrt with lshiftrt.
2791 2014-06-26  Martin Jambor  <mjambor@suse.cz>
2793         Backport from mainline
2794         * ipa-prop.c (ipa_impossible_devirt_target): No longer static,
2795         renamed to ipa_impossible_devirt_target.  Fix typo.
2796         * ipa-prop.h (ipa_impossible_devirt_target): Declare.
2797         * ipa-cp.c (ipa_get_indirect_edge_target_1): Use
2798         ipa_impossible_devirt_target.
2800 2014-06-25  Cong Hou  <congh@google.com>
2802         * tree-vectorizer.h: Fixing incorrect number of patterns.
2804 2014-06-24  Cong Hou  <congh@google.com>
2806         * tree-vect-patterns.c (vect_recog_sad_pattern): New function for SAD
2807         pattern recognition.
2808         (type_conversion_p): PROMOTION is true if it's a type promotion
2809         conversion, and false otherwise.  Return true if the given expression
2810         is a type conversion one.
2811         * tree-vectorizer.h: Adjust the number of patterns.
2812         * tree.def: Add SAD_EXPR.
2813         * optabs.def: Add sad_optab.
2814         * cfgexpand.c (expand_debug_expr): Add SAD_EXPR case.
2815         * expr.c (expand_expr_real_2): Likewise.
2816         * gimple-pretty-print.c (dump_ternary_rhs): Likewise.
2817         * gimple.c (get_gimple_rhs_num_ops): Likewise.
2818         * optabs.c (optab_for_tree_code): Likewise.
2819         * tree-cfg.c (estimate_operator_cost): Likewise.
2820         * tree-ssa-operands.c (get_expr_operands): Likewise.
2821         * tree-vect-loop.c (get_initial_def_for_reduction): Likewise.
2822         * config/i386/sse.md: Add SSE2 and AVX2 expand for SAD.
2823         * doc/generic.texi: Add document for SAD_EXPR.
2824         * doc/md.texi: Add document for ssad and usad.
2826 2014-06-24  Jakub Jelinek  <jakub@redhat.com>
2828         PR target/61570
2829         * config/i386/driver-i386.c (host_detect_local_cpu): For unknown
2830         model family 6 CPU with has_longmode never use a CPU without
2831         64-bit support.
2833         * gimplify.c (gimplify_omp_for): For #pragma omp for simd iterator
2834         not mentioned in clauses use private clause if the iterator is
2835         declared in #pragma omp for simd, and when adding lastprivate
2836         instead, add it to the outer #pragma omp for too.  Diagnose
2837         if the variable is private in outer context.  For simd collapse > 1
2838         loops, replace all iterators with temporaries.
2839         * omp-low.c (lower_rec_input_clauses): Handle LINEAR clause the
2840         same even in collapse > 1 loops.
2842 2014-06-23  Alan Modra  <amodra@gmail.com>
2844         PR bootstrap/61583
2845         * tree-vrp.c (remove_range_assertions): Do not set is_unreachable
2846         to zero on debug statements.
2848 2014-06-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2850         * config/aarch64/aarch64-simd.md (aarch64_sqdmulh_lane<mode>):
2851         New expander.
2852         (aarch64_sqrdmulh_lane<mode>): Likewise.
2853         (aarch64_sq<r>dmulh_lane<mode>): Rename to...
2854         (aarch64_sq<r>dmulh_lane<mode>_interna): ...this.
2855         (aarch64_sqdmulh_laneq<mode>): New expander.
2856         (aarch64_sqrdmulh_laneq<mode>): Likewise.
2857         (aarch64_sq<r>dmulh_laneq<mode>): Rename to...
2858         (aarch64_sq<r>dmulh_laneq<mode>_internal): ...this.
2859         (aarch64_sqdmulh_lane<mode>): New expander.
2860         (aarch64_sqrdmulh_lane<mode>): Likewise.
2861         (aarch64_sq<r>dmulh_lane<mode>): Rename to...
2862         (aarch64_sq<r>dmulh_lane<mode>_internal): ...this.
2863         (aarch64_sqdmlal_lane<mode>): Add lane flip for big-endian.
2864         (aarch64_sqdmlal_laneq<mode>): Likewise.
2865         (aarch64_sqdmlsl_lane<mode>): Likewise.
2866         (aarch64_sqdmlsl_laneq<mode>): Likewise.
2867         (aarch64_sqdmlal2_lane<mode>): Likewise.
2868         (aarch64_sqdmlal2_laneq<mode>): Likewise.
2869         (aarch64_sqdmlsl2_lane<mode>): Likewise.
2870         (aarch64_sqdmlsl2_laneq<mode>): Likewise.
2871         (aarch64_sqdmull_lane<mode>): Likewise.
2872         (aarch64_sqdmull_laneq<mode>): Likewise.
2873         (aarch64_sqdmull2_lane<mode>): Likewise.
2874         (aarch64_sqdmull2_laneq<mode>): Likewise.
2876 2014-06-20  Martin Jambor  <mjambor@suse.cz>
2878         PR ipa/61540
2879         * ipa-prop.c (impossible_devirt_target): New function.
2880         (try_make_edge_direct_virtual_call): Use it, also instead of
2881         asserting.
2883 2014-06-20  Martin Jambor  <mjambor@suse.cz>
2885         PR ipa/61211
2886         * cgraph.c (clone_of_p): Allow skipped_branch to deal with
2887         expanded clones.
2889 2014-06-20  Chung-Lin Tang  <cltang@codesourcery.com>
2891         Backport from mainline
2893         2014-06-20  Julian Brown  <julian@codesourcery.com>
2894                     Chung-Lin Tang  <cltang@codesourcery.com>
2896         * config/arm/arm.c (arm_output_mi_thunk): Fix offset for
2897         TARGET_THUMB1_ONLY. Add comments.
2899 2014-06-18  Uros Bizjak  <ubizjak@gmail.com>
2901         Backport from mainline
2902         2014-06-16  Uros Bizjak  <ubizjak@gmail.com>
2904         * config/i386/i386.c (decide_alg): Correctly handle
2905         maximum size of stringop algorithm.
2907 2014-06-18  Richard Henderson  <rth@redhat.com>
2909         PR target/61545
2910         * config/aarch64/aarch64.md (tlsdesc_small): Clobber CC_REGNUM.
2912 2014-06-17  Yufeng Zhang  <yufeng.zhang@arm.com>
2914         PR target/61483
2915         * config/aarch64/aarch64.c (aarch64_layout_arg): Add new local
2916         variable 'size'; calculate 'size' right in the front; use
2917         'size' to compute 'nregs' (when 'allocate_ncrn != 0') and
2918         pcum->aapcs_stack_words.
2920 2014-06-17  Nick Clifton  <nickc@redhat.com>
2922         * config/msp430/msp430.md (mulhisi3): Add a NOP after the DINT.
2923         (umulhi3, mulsidi3, umulsidi3): Likewise.
2925 2014-06-17  Uros Bizjak  <ubizjak@gmail.com>
2927         Backport from mainline
2928         2014-06-06  Uros Bizjak  <ubizjak@gmail.com>
2930         PR target/61423
2931         * config/i386/i386.md (*floatunssi<mode>2_i387_with_xmm): New
2932         define_insn_and_split pattern, merged from *floatunssi<mode>2_1
2933         and corresponding splitters.  Zero extend general register
2934         or memory input operand to XMM temporary.  Enable for
2935         TARGET_SSE2 and TARGET_INTER_UNIT_MOVES_TO_VEC only.
2936         (floatunssi<mode>2): Update expander predicate.
2938 2014-06-16  Vladimir Makarov  <vmakarov@redhat.com>
2940         PR rtl-optimization/61325
2941         * lra-constraints.c (valid_address_p): Add forward declaration.
2942         (simplify_operand_subreg): Check address validity before and after
2943         alter_reg of memory subreg.
2945 2014-06-18  Jakub Jelinek  <jakub@redhat.com>
2947         PR plugins/45078
2948         * config.gcc (arm*-*-linux-*): Include vxworks-dummy.h in tm_file.
2950 2014-06-13  Peter Bergner  <bergner@vnet.ibm.com>
2952         Backport from mainline
2954         2014-06-13  Peter Bergner  <bergner@vnet.ibm.com>
2955         PR target/61415
2956         * config/rs6000/rs6000-builtin.def (BU_MISC_1): Delete.
2957         (BU_MISC_2): Rename to ...
2958         (BU_LDBL128_2): ... this.
2959         * config/rs6000/rs6000.h (RS6000_BTM_LDBL128): New define.
2960         (RS6000_BTM_COMMON): Add RS6000_BTM_LDBL128.
2961         * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
2962         RS6000_BTM_LDBL128.
2963         (rs6000_invalid_builtin): Add long double 128-bit builtin support.
2964         (rs6000_builtin_mask_names): Add RS6000_BTM_LDBL128.
2965         * config/rs6000/rs6000.md (unpacktf_0): Remove define)expand.
2966         (unpacktf_1): Likewise.
2967         * doc/extend.texi (__builtin_longdouble_dw0): Remove documentation.
2968         (__builtin_longdouble_dw1): Likewise.
2969         * doc/sourcebuild.texi (longdouble128): Document.
2971 2014-06-13  Jeff Law  <law@redhat.com>
2973         Backports from mainline:
2974         2014-06-13  Jeff Law  <law@redhat.com>
2976         PR rtl-optimization/61094
2977         PR rtl-optimization/61446
2978         * ree.c (combine_reaching_defs): Get the mode for the copy from
2979         the extension insn rather than the defining insn.
2981         2014-06-02  Jeff Law  <law@redhat.com>
2983         PR rtl-optimization/61094
2984         * ree.c (combine_reaching_defs): Do not reextend an insn if it
2985         was marked as do_no_reextend.  If a copy is needed to eliminate
2986         an extension, then mark it as do_not_reextend.
2988 2014-06-13  Martin Jambor  <mjambor@suse.cz>
2990         PR ipa/61186
2991         * ipa-devirt.c (possible_polymorphic_call_targets): Store NULL to
2992         cache_token if returning early.
2994 2014-06-12  Jakub Jelinek  <jakub@redhat.com>
2996         PR middle-end/61486
2997         * gimplify.c (struct gimplify_omp_ctx): Add distribute field.
2998         (gimplify_adjust_omp_clauses): Don't or in GOVD_LASTPRIVATE
2999         if outer combined construct is distribute.
3000         (gimplify_omp_for): For OMP_DISTRIBUTE set
3001         gimplify_omp_ctxp->distribute.
3002         * omp-low.c (scan_sharing_clauses) <case OMP_CLAUSE_SHARED>: For
3003         GIMPLE_OMP_TEAMS, if decl isn't global in outer context, record
3004         mapping into decl map.
3006 2014-06-12  Jeff Law  <law@redhat.com>
3008         Backports from mainline:
3010         2014-06-12  Jeff Law  <law@redhat.com>
3012         PR tree-optimization/61009
3013         * tree-ssa-threadedge.c (thread_through_normal_block): Correct return
3014         value when we stop processing a block due to problematic PHIs.
3016         2014-06-05  Jeff Law  <law@redhat.com>
3018         PR tree-optimization/61289
3019         * tree-ssa-threadedge.c (invalidate_equivalences): Remove SRC_MAP and
3020         DST_MAP parameters.   Invalidate by walking all the SSA_NAME_VALUES
3021         looking for those which match LHS.  All callers changed.
3022         (record_temporary_equivalences_from_phis): Remove SRC_MAP and DST_MAP
3023         parameters and code which manipulated them.  All callers changed.
3024         (record_temporary_equivalences_from_stmts_at_dest): Remove SRC_MAP
3025         and DST_MAP parameters.  Simplify invalidation code by just calling
3026         invalidate_equivalences.  All callers changed.
3027         (thread_across_edge): Simplify now that we don't need to maintain
3028         the map of equivalences to invalidate.
3030 2014-06-12  Eric Botcazou  <ebotcazou@adacore.com>
3032         * tree-core.h (DECL_NONALIASED): Use proper spelling in comment.
3034 2014-06-12  Georg-Johann Lay  <avr@gjlay.de>
3036         Backport from 2014-05-14 trunk r210418
3037         * config/avr/avr.h (REG_CLASS_CONTENTS): Use unsigned suffix for
3038         shifted values to avoid build warning.
3040 2014-06-12  Georg-Johann Lay  <avr@gjlay.de>
3042         Backport from 2014-05-09 trunk r210272
3044         * config/avr/avr-fixed.md (round<mode>3): Use -1U instead of -1 in
3045         unsigned int initializers for regno_in, regno_out.
3047         Backport from 2014-06-12 trunk r211491
3049         PR target/61443
3050         * config/avr/avr.md (push<mode>1): Avoid (subreg(mem)) when
3051         loading from address spaces.
3053 2014-06-12  Alan Modra  <amodra@gmail.com>
3055         PR target/61300
3056         * doc/tm.texi.in (INCOMING_REG_PARM_STACK_SPACE): Document.
3057         * doc/tm.texi: Regenerate.
3058         * function.c (INCOMING_REG_PARM_STACK_SPACE): Provide default.
3059         Use throughout in place of REG_PARM_STACK_SPACE.
3060         * config/rs6000/rs6000.c (rs6000_reg_parm_stack_space): Add
3061         "incoming" param.  Pass to rs6000_function_parms_need_stack.
3062         (rs6000_function_parms_need_stack): Add "incoming" param, ignore
3063         prototype_p when incoming.  Use function decl when incoming
3064         to handle K&R style functions.
3065         * config/rs6000/rs6000.h (REG_PARM_STACK_SPACE): Adjust.
3066         (INCOMING_REG_PARM_STACK_SPACE): Define.
3068 2014-06-11  Richard Biener  <rguenther@suse.de>
3070         PR tree-optimization/61452
3071         * tree-ssa-sccvn.c (visit_phi): Remove pointless setting of
3072         expr and has_constants in case we found a leader.
3073         (simplify_binary_expression): Always valueize operands first.
3074         (simplify_unary_expression): Likewise.
3076 2014-06-11  Richard Biener  <rguenther@suse.de>
3078         PR middle-end/61456
3079         * tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p):
3080         Do not use the main variant for the type comparison.
3082 2014-06-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3084         * doc/arm-acle-intrinsics.texi: Specify when CRC32 intrinsics are
3085         available.
3086         Simplify description of __crc32d and __crc32cd intrinsics.
3087         * doc/extend.texi (ARM ACLE Intrinsics): Remove comment about CRC32
3088         availability.
3090 2014-06-07  Eric Botcazou  <ebotcazou@adacore.com>
3092         * tree-ssa-tail-merge.c (same_succ_hash): Hash the static chain of a
3093         call statement, if any.
3094         (gimple_equal_p) <GIMPLE_CALL>: Compare the static chain of the call
3095         statements, if any.  Tidy up.
3097 2014-06-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
3099         Back port from trunk
3100         2014-06-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
3102         PR target/61431
3103         * config/rs6000/vsx.md (VSX_LE): Split VSX_D into 2 separate
3104         iterators, VSX_D that handles 64-bit types, and VSX_LE that
3105         handles swapping the two 64-bit double words on little endian
3106         systems.  Include V1TImode and optionally TImode in VSX_LE so that
3107         these types are properly swapped.  Change all of the insns and
3108         splits that do the 64-bit swaps to use VSX_LE.
3109         (vsx_le_perm_load_<mode>): Likewise.
3110         (vsx_le_perm_store_<mode>): Likewise.
3111         (splitters for little endian memory operations): Likewise.
3112         (vsx_xxpermdi2_le_<mode>): Likewise.
3113         (vsx_lxvd2x2_le_<mode>): Likewise.
3114         (vsx_stxvd2x2_le_<mode>): Likewise.
3116 2014-06-06  Vladimir Makarov  <vmakarov@redhat.com>
3118         PR rtl-optimization/61325
3119         * lra-constraints.c (process_address_1): Check scale equal to one
3120         to prevent transformation: base + scale * index => base + new_reg.
3122 2014-06-05  Martin Jambor  <mjambor@suse.cz>
3124         PR ipa/61393
3125         * ipa-cp.c (determine_versionability): Pretend that tm_clones are
3126         not versionable.
3128 2014-06-04  Richard Biener  <rguenther@suse.de>
3130         PR tree-optimization/61383
3131         * tree-ssa-ifcombine.c (bb_no_side_effects_p): Make sure
3132         stmts can't trap.
3134 2014-06-02  Jason Merrill  <jason@redhat.com>
3136         PR c++/61020
3137         * varpool.c (ctor_for_folding): Handle uninitialized vtables.
3139 2014-06-03  Martin Jambor  <mjambor@suse.cz>
3141         PR ipa/61160
3142         * ipa-cp.c (cgraph_edge_brings_value_p): Handle edges leading to
3143         thunks.
3145 2014-06-03  Andrey Belevantsev  <abel@ispras.ru>
3147         Backport from mainline
3148         2014-05-14  Andrey Belevantsev  <abel@ispras.ru>
3150         PR rtl-optimization/60866
3151         * sel-sched-ir (sel_init_new_insn): New parameter old_seqno.
3152         Default it to -1.  Pass it down to init_simplejump_data.
3153         (init_simplejump_data): New parameter old_seqno.  Pass it down
3154         to get_seqno_for_a_jump.
3155         (get_seqno_for_a_jump): New parameter old_seqno.  Use it for
3156         initializing new jump seqno as a last resort.  Add comment.
3157         (sel_redirect_edge_and_branch): Save old seqno of the conditional
3158         jump and pass it down to sel_init_new_insn.
3159         (sel_redirect_edge_and_branch_force): Likewise.
3161 2014-06-03  Andrey Belevantsev  <abel@ispras.ru>
3163         Backport from mainline
3164         2014-05-14  Andrey Belevantsev  <abel@ispras.ru>
3166         PR rtl-optimization/60901
3167         * config/i386/i386.c (ix86_dependencies_evaluation_hook): Check that
3168         bb predecessor belongs to the same scheduling region.  Adjust comment.
3170 2014-06-03  Uros Bizjak  <ubizjak@gmail.com>
3172         Backport from mainline
3173         2014-06-02  Uros Bizjak  <ubizjak@gmail.com>
3175         PR target/61239
3176         * config/i386/i386.c (ix86_expand_vec_perm) [case V32QImode]: Use
3177         GEN_INT (-128) instead of GEN_INT (128) to set MSB of QImode constant.
3179 2014-05-29  Vladimir Makarov  <vmakarov@redhat.com>
3181         PR rtl-optimization/61325
3182         * lra-constraints.c (process_address): Rename to
3183         process_address_1.
3184         (process_address): New function.
3186 2014-05-29  Uros Bizjak  <ubizjak@gmail.com>
3188         Backport from mainline
3189         2014-05-26  Uros Bizjak  <ubizjak@gmail.com>
3191         PR target/61271
3192         * config/i386/i386.c (ix86_rtx_costs)
3193         <case CONST_INT, case CONST, case LABEL_REF, case SYMBOL_REF>:
3194         Fix condition.
3196 2014-05-28  Eric Botcazou  <ebotcazou@adacore.com>
3198         Backport from mainline
3199         2014-05-27  Eric Botcazou  <ebotcazou@adacore.com>
3201         * double-int.c (div_and_round_double) <ROUND_DIV_EXPR>: Use the proper
3202         predicate to detect a negative quotient.
3204 2014-05-28  Richard Biener  <rguenther@suse.de>
3206         Backport from mainline
3207         2014-05-28  Richard Biener  <rguenther@suse.de>
3209         PR middle-end/61045
3210         * fold-const.c (fold_comparison): When folding
3211         X +- C1 CMP Y +- C2 to X CMP Y +- C2 +- C1 also ensure
3212         the sign of the remaining constant operand stays the same.
3214         2014-05-05  Richard Biener  <rguenther@suse.de>
3216         PR middle-end/61010
3217         * fold-const.c (fold_binary_loc): Consistently avoid
3218         canonicalizing X & CST away from a CST that is the mask
3219         of a mode.
3221         2014-04-28  Richard Biener  <rguenther@suse.de>
3223         PR tree-optimization/60979
3224         * graphite-scop-detection.c (scopdet_basic_block_info): Reject
3225         SCOPs that end in a block with a successor with abnormal
3226         predecessors.
3228 2014-05-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3230         * configure.ac ($gcc_cv_ld_clearcap): New test.
3231         * configure: Regenerate.
3232         * config.in: Regenerate.
3233         * config/sol2.opt (mclear-hwcap): New option.
3234         * config/sol2.h (LINK_CLEARCAP_SPEC): Define.
3235         * config/sol2-clearcap.map: Moved here from
3236         testsuite/gcc.target/i386/clearcap.map.
3237         * config/sol2-clearcapv2.map: Move here from
3238         gcc.target/i386/clearcapv2.map.
3239         * config/t-sol2 (install): Depend on install-clearcap-map.
3240         (install-clearcap-map): New target.
3241         * doc/invoke.texi (Option Summary, Solaris 2 Options): Document
3242         -mclear-hwcap.
3244 2014-05-28  Georg-Johann Lay  <avr@gjlay.de>
3246         PR libgcc/61152
3247         * config/dbx.h (License): Add Runtime Library Exception.
3248         * config/newlib-stdint.h (License): Same.
3249         * config/rtems.h (License): Same
3250         * config/initfini-array.h (License): Same
3251         * config/v850/v850.h (License): Same.
3252         * config/v850/v850-opts.h (License): Same
3253         * config/v850/rtems.h (License): Same.
3255 2014-05-28  Georg-Johann Lay  <avr@gjlay.de>
3257         PR target/61044
3258         * doc/extend.texi (Local Labels): Note that label differences are
3259         not supported for AVR.
3261 2014-05-27  Georg-Johann Lay  <avr@gjlay.de>
3263         Backport from 2014-05-12 mainline r210322.
3264         Backport from 2014-05-27 mainline r210959, r210969.
3266         PR libgcc/61152
3267         * config/arm/arm.h (License): Add GCC Runtime Library Exception.
3268         * config/arm/arm-cores.def (License): Same.
3269         * config/arm/arm-opts.h (License): Same.
3270         * config/arm/aout.h (License): Same.
3271         * config/arm/bpabi.h (License): Same.
3272         * config/arm/elf.h (License): Same.
3273         * config/arm/linux-elf.h (License): Same.
3274         * config/arm/linux-gas.h (License): Same.
3275         * config/arm/netbsd-elf.h (License): Same.
3276         * config/arm/uclinux-eabi.h (License): Same.
3277         * config/arm/uclinux-elf.h (License): Same.
3278         * config/arm/vxworks.h (License): Same.
3280 2014-05-26  Michael Tautschnig  <mt@debian.org>
3282         PR target/61249
3283         * doc/extend.texi (X86 Built-in Functions): Fix parameter lists of
3284         __builtin_ia32_vfrczs[sd] and __builtin_ia32_mpsadbw256.
3286 2014-05-22  Vladimir Makarov  <vmakarov@redhat.com>
3288         PR rtl-optimization/61215
3289         * lra-elelimination.c (lra_eliminate_regs_1): Don't use
3290         simplify_gen_subreg until final substitution.
3292 2014-05-23  Alan Modra  <amodra@gmail.com>
3294         PR target/61231
3295         * config/rs6000/rs6000.c (mem_operand_gpr): Handle SImode.
3296         * config/rs6000/rs6000.md (extendsidi2_lfiwax, extendsidi2_nocell):
3297         Use "Y" constraint rather than "m".
3299 2014-05-22  Vladimir Makarov  <vmakarov@redhat.com>
3301         PR rtl-optimization/60969
3302         * ira-costs.c (record_reg_classes): Process NO_REGS for matching
3303         constraints.  Set up mem cost for NO_REGS case.
3305 2014-05-22  Peter Bergner  <bergner@vnet.ibm.com>
3307         * config/rs6000/htm.md (ttest): Use correct shift value to get CR0.
3309 2014-05-22  Richard Earnshaw  <rearnsha@arm.com>
3311         PR target/61208
3312         * arm.md (arm_cmpdi_unsigned): Fix length calculation for Thumb2.
3314 2014-05-22  Nick Clifton  <nickc@redhat.com>
3316         * config/msp430/msp430.h (ASM_SPEC): Add spaces after inserted options.
3318 2014-05-22  Jakub Jelinek  <jakub@redhat.com>
3320         * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Make sure
3321         all padding bits in REAL_VALUE_TYPE are cleared.
3323 2014-05-21  Guozhi Wei  <carrot@google.com>
3325         PR target/61202
3326         * config/aarch64/arm_neon.h (vqdmulh_n_s16): Change the last operand's
3327         constraint.
3328         (vqdmulhq_n_s16): Likewise.
3330 2014-05-21  Martin Jambor  <mjambor@suse.cz>
3332         * doc/invoke.texi (Optimize Options): Document parameters
3333         ipa-cp-eval-threshold, ipa-max-agg-items, ipa-cp-loop-hint-bonus and
3334         ipa-cp-array-index-hint-bonus.
3336 2014-05-21  Jakub Jelinek  <jakub@redhat.com>
3338         PR middle-end/61252
3339         * omp-low.c (handle_simd_reference): New function.
3340         (lower_rec_input_clauses): Use it.  Defer adding reference
3341         initialization even for reduction without placeholder if in simd,
3342         handle it properly later on.
3344 2014-05-20  Jan Hubicka  <hubicka@ucw.cz>
3346         PR bootstrap/60984
3347         * ipa-inline-transform.c (inline_call): Use add CALLEE_REMOVED
3348         parameter.
3349         * ipa-inline.c (inline_to_all_callers): If callee was removed; return.
3350         (ipa_inline): Loop inline_to_all_callers until no more aliases
3351         are removed.
3353 2014-05-20  Jan Hubicka  <hubicka@ucw.cz>
3355         PR lto/60820
3356         * varpool.c (varpool_remove_node): Do not alter decls when streaming.
3358 2014-05-20  DJ Delorie  <dj@redhat.com>
3360         * config/msp430/msp430.md (split): Don't allow subregs when
3361         splitting SImode adds.
3362         (andneghi): Fix subtraction logic.
3363         * config/msp430/predicates.md (msp430_nonsubreg_or_imm_operand): New.
3365 2014-05-20  Nick Clifton  <nickc@redhat.com>
3367         * config/msp430/msp430.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
3368         (msp430_gimplify_va_arg_expr): New function.
3369         (msp430_print_operand): Handle (CONST (ZERO_EXTRACT)).
3371         * config/msp430/msp430.md (zero_extendpsisi2): Use + constraint on
3372         operand 0 in order to prevent confusion about the number of
3373         registers involved.
3375 2014-05-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3377         * config/arm/arm.md (arith_shiftsi): Do not predicate for
3378         arm_restrict_it.
3380 2014-05-19  Richard Earnshaw  <rearnsha@arm.com>
3382         * arm.c (thumb1_reorg): When scanning backwards skip anything
3383         that's not a proper insn.
3385 2014-05-17  Jan Hubicka  <hubicka@ucw.cz>
3387         * ipa.c (symtab_remove_unreachable_nodes): Remove
3388         symbol from comdat group if its body was eliminated.
3389         (comdat_can_be_unshared_p_1): Static symbols can always be privatized.
3390         * symtab.c (symtab_remove_from_same_comdat_group): Break out from ...
3391         (symtab_unregister_node): ... this one.
3392         (verify_symtab_base): More strict checking of comdats.
3393         * cgraph.h (symtab_remove_from_same_comdat_group): Declare.
3395 2014-05-17  Jan Hubicka  <hubicka@ucw.cz>
3397         * opts.c (common_handle_option): Disable -fipa-reference coorectly
3398         with -fuse-profile.
3400 2014-05-17  Jan Hubicka  <hubicka@ucw.cz>
3402         PR ipa/60854
3403         * ipa.c (symtab_remove_unreachable_nodes): Mark targets of
3404         external aliases alive, too.
3406 2014-05-17  Uros Bizjak  <ubizjak@gmail.com>
3408         * doc/invoke.texi (free): Mention Alpha.  Also enabled at -Os.
3410 2014-05-17  Uros Bizjak  <ubizjak@gmail.com>
3412         Backport from mainline
3413         2014-04-25  H.J. Lu  <hongjiu.lu@intel.com>
3415         PR target/60969
3416         * config/i386/i386.md (*movsf_internal): Set MODE to SI for
3417         alternative 12.
3419 2014-05-16  Vladimir Makarov  <vmakarov@redhat.com>
3421         PR rtl-optimization/60969
3422         * ira-costs.c (record_reg_classes): Allow only memory for pseudo.
3423         Calculate costs for this case.
3425 2014-05-15  Peter Bergner  <bergner@vnet.ibm.com>
3427         PR target/61193
3428         * config/rs6000/htmxlintrin.h (_HTM_TBEGIN_STARTED): New define.
3429         (__TM_simple_begin): Use it.
3430         (__TM_begin): Likewise.
3432 2014-05-15  Martin Jambor  <mjambor@suse.cz>
3434         PR ipa/61085
3435         * ipa-prop.c (update_indirect_edges_after_inlining): Check
3436         type_preserved flag when the indirect edge is polymorphic.
3438 2014-05-15  Martin Jambor  <mjambor@suse.cz>
3440         PR ipa/60897
3441         * ipa-prop.c (ipa_modify_formal_parameters): Reset DECL_LANG_SPECIFIC.
3443 2014-05-15  Jakub Jelinek  <jakub@redhat.com>
3445         PR tree-optimization/61158
3446         * fold-const.c (fold_binary_loc): If X is zero-extended and
3447         shiftc >= prec, make sure zerobits is all ones instead of
3448         invoking undefined behavior.
3450 2014-05-14  Cary Coutant  <ccoutant@google.com>
3452         PR debug/61013
3453         * opts.c (common_handle_option): Don't special-case "-g".
3454         (set_debug_level): Default to at least level 2 with "-g".
3456 2014-05-14  Eric Botcazou  <ebotcazou@adacore.com>
3458         * config/sparc/sparc-protos.h (sparc_absnegfloat_split_legitimate):
3459         Delete.
3460         * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): Likewise.
3461         * config/sparc/sparc.md (fptype_ut699): New attribute.
3462         (in_branch_delay): Return false if -mfix-ut699 is specified and
3463         fptype_ut699 is set to single.
3464         (truncdfsf2): Add fptype_ut699 attribute.
3465         (fix_truncdfsi2): Likewise.
3466         (floatsisf2): Change fptype attribute.
3467         (fix_truncsfsi2): Likewise.
3468         (negtf2_notv9): Delete.
3469         (negtf2_v9): Likewise.
3470         (negtf2_hq): New instruction.
3471         (negtf2): New instruction and splitter.
3472         (negdf2_notv9): Rewrite.
3473         (abstf2_notv9): Delete.
3474         (abstf2_hq_v9): Likewise.
3475         (abstf2_v9): Likewise.
3476         (abstf2_hq): New instruction.
3477         (abstf2): New instruction and splitter.
3478         (absdf2_notv9): Rewrite.
3480 2014-05-14  Matthias Klose  <doko@ubuntu.com>
3482         Revert:
3483         2014-05-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3484                     Matthias Klose  <doko@ubuntu.com>
3486         PR driver/61106
3487         * optc-gen.awk: Fix option handling for -Wunused-parameter.
3489 2014-05-13  Peter Bergner  <bergner@vnet.ibm.com>
3491         * doc/sourcebuild.texi: (dfp_hw): Document.
3492         (p8vector_hw): Likewise.
3493         (powerpc_eabi_ok): Likewise.
3494         (powerpc_elfv2): Likewise.
3495         (powerpc_htm_ok): Likewise.
3496         (ppc_recip_hw): Likewise.
3497         (vsx_hw): Likewise.
3499 2014-05-13  Jeff Law  <law@redhat.com>
3501         Backports fromm mainline:
3503         2014-05-08  Jeff Law  <law@redhat.com>
3505         PR tree-optimization/61009
3506         * tree-ssa-threadedge.c (thread_through_normal_block): Return a
3507         tri-state rather than a boolean.  When a block is too big to
3508         thread through, inform caller via negative return value.
3509         (thread_across_edge): If a block was too big for normal threading,
3510         then it's too big for a joiner too, so remove temporary equivalences
3511         and return immediately.
3513         2014-04-28  Jeff Law  <law@redhat.com>
3515         PR tree-optimization/60902
3516         * tree-ssa-threadedge.c
3517         (record_temporary_equivalences_from_stmts_at_dest): Only iterate
3518         over real defs when invalidating outputs from statements that do not
3519         produce useful outputs for threading.
3521         2014-04-23  Jeff Law  <law@redhat.com>
3523         PR tree-optimization/60902
3524         * tree-ssa-threadedge.c
3525         (record_temporary_equivalences_from_stmts_at_dest): Make sure to
3526         invalidate outputs from statements that do not produce useful
3527         outputs for threading.
3529 2014-05-13  Richard Biener  <rguenther@suse.de>
3531         PR ipa/60973
3532         * tree-inline.c (remap_gimple_stmt): Clear tail call flag,
3533         it needs revisiting whether the call still may be tail-called.
3535 2014-05-13  Jakub Jelinek  <jakub@redhat.com>
3537         PR target/61060
3538         * config/i386/i386.c (ix86_expand_set_or_movmem): If count_exp
3539         is const0_rtx, return immediately.  Don't test count == 0 when
3540         it is always true.
3542 2014-05-12  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
3544         Backport from mainline
3545         2014-05-12  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
3547         PR target/60991
3548         * config/avr/avr.c (avr_out_store_psi): Use correct constant
3549         to restore Y.
3551 2014-05-09  Uros Bizjak  <ubizjak@gmail.com>
3553         Backport from mainline
3554         2014-05-08  Uros Bizjak  <ubizjak@gmail.com>
3556         PR target/61092
3557         * config/alpha/alpha.c: Include gimple-iterator.h.
3558         (alpha_gimple_fold_builtin): New function.  Move
3559         ALPHA_BUILTIN_UMULH folding from ...
3560         (alpha_fold_builtin): ... here.
3561         (TARGET_GIMPLE_FOLD_BUILTIN): New define.
3563 2014-05-09  Pitchumani Sivanupandi  <Pitchumani.S@atmel.com>
3565         Backport from 2014-04-16 trunk r209446
3566         2014-04-16  Pitchumani Sivanupandi  <Pitchumani.S@atmel.com>
3568         * config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro.
3570 2014-05-09  Georg-Johann Lay  <avr@gjlay.de>
3572         Backport from 2014-05-09 trunk r210267
3574         PR target/61055
3575         * config/avr/avr.md (cc): Add new attribute set_vzn.
3576         (addqi3, addqq3, adduqq3, subqi3, subqq3, subuqq3, negqi2) [cc]:
3577         Set cc insn attribute to set_vzn instead of set_zn for alternatives
3578         with INC, DEC or NEG.
3579         * config/avr/avr.c (avr_notice_update_cc): Handle SET_VZN.
3580         (avr_out_plus_1): ADIW sets cc0 to CC_SET_CZN.
3581         INC, DEC and ADD+ADC set cc0 to CC_CLOBBER.
3583 2014-05-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3584             Matthias Klose  <doko@ubuntu.com>
3586         PR driver/61106
3587         * optc-gen.awk: Fix option handling for -Wunused-parameter.
3589 2014-05-08  Uros Bizjak  <ubizjak@gmail.com>
3591         PR target/59952
3592         * config/i386/i386.c (PTA_HASWELL): Remove PTA_RTM.
3594 2014-05-05  Marek Polacek  <polacek@redhat.com>
3596         Back port from mainline
3597         2014-05-05  Marek Polacek  <polacek@redhat.com>
3599         PR driver/61065
3600         * opts.c (common_handle_option): Call error_at instead of warning_at.
3602 2014-05-04  Jan Hubicka  <hubicka@ucw.cz>
3604         PR ipa/60965
3605         * ipa-devirt.c (get_class_context): Allow POD to change to non-POD.
3607 2014-05-04  Peter Bergner  <bergner@vnet.ibm.com>
3609         * config/rs6000/rs6000.h (RS6000_BTM_HARD_FLOAT): New define.
3610         (RS6000_BTM_COMMON): Add RS6000_BTM_HARD_FLOAT.
3611         (TARGET_EXTRA_BUILTINS): Add TARGET_HARD_FLOAT.
3612         * config/rs6000/rs6000-builtin.def (BU_MISC_1):
3613         Use RS6000_BTM_HARD_FLOAT.
3614         (BU_MISC_2): Likewise.
3615         * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
3616         RS6000_BTM_HARD_FLOAT.
3617         (rs6000_option_override_internal): Enforce -mhard-float if -mhard-dfp
3618         is explicitly used.
3619         (rs6000_invalid_builtin): Add hard floating builtin support.
3620         (rs6000_expand_builtin): Relax the gcc_assert to allow the new
3621         hard float builtins.
3622         (rs6000_builtin_mask_names): Add RS6000_BTM_HARD_FLOAT.
3624 2014-05-03  Joey Ye  <joey.ye@arm.com>
3626         Backport from mainline r209463
3627         2014-04-17  Joey Ye  <joey.ye@arm.com>
3629         * opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og.
3631 2014-05-03  Oleg Endo  <olegendo@gcc.gnu.org>
3633         Back port from mainline
3634         PR target/61026
3635         * config/sh/sh.c: Include stdlib headers before everything else.
3637 2014-05-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3639         PR tree-optimization/60930
3640         * gimple-ssa-strength-reduction.c (create_mul_imm_cand):  Reject
3641         creating a multiply candidate by folding two constant
3642         multiplicands when the result overflows.
3644 2014-05-02  Jakub Jelinek  <jakub@redhat.com>
3646         * gimplify.c (gimplify_adjust_omp_clauses_1): Handle
3647         GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE.
3648         (gimplify_adjust_omp_clauses): Simd region is never
3649         directly nested in combined parallel.  Instead, for linear
3650         with copyin/copyout, if in combined for simd loop, make decl
3651         firstprivate/lastprivate on OMP_FOR.
3652         * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
3653         expand_omp_for_static_chunk): When setting endvar, also set
3654         fd->loop.v to the same value.
3656 2014-05-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3658         Back port from mainline
3659         2014-04-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3661         * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Check
3662         TARGET_SIMD rather than TARGET_GENERAL_REGS_ONLY.
3663         (TARGET_SIMD): Take AARCH64_ISA_SIMD into account.
3664         (TARGET_FLOAT): Take AARCH64_ISA_FP into account.
3665         (TARGET_CRYPTO): Take TARGET_SIMD into account.
3667 2014-04-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
3669         Back port from mainline
3670         2014-04-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
3672         * doc/extend.texi (PowerPC Built-in Functions): Document new
3673         powerpc extended divide, bcd, pack/unpack 128-bit, builtin
3674         functions.
3675         (PowerPC AltiVec/VSX Built-in Functions): Likewise.
3677         * config/rs6000/predicates.md (const_0_to_3_operand): New
3678         predicate to match 0..3 integer constants.
3680         * config/rs6000/rs6000-builtin.def (BU_DFP_MISC_1): Add new macros
3681         to support adding miscellaneous builtin functions.
3682         (BU_DFP_MISC_2): Likewise.
3683         (BU_P7_MISC_1): Likewise.
3684         (BU_P7_MISC_2): Likewise.
3685         (BU_P8V_MISC_3): Likewise.
3686         (BU_MISC_1): Likewise.
3687         (BU_MISC_2): Likewise.
3688         (DIVWE): Add extended divide builtin functions.
3689         (DIVWEO): Likewise.
3690         (DIVWEU): Likewise.
3691         (DIVWEUO): Likewise.
3692         (DIVDE): Likewise.
3693         (DIVDEO): Likewise.
3694         (DIVDEU): Likewise.
3695         (DIVDEUO): Likewise.
3696         (DXEX): Add decimal floating-point builtin functions.
3697         (DXEXQ): Likewise.
3698         (DDEDPD): Likewise.
3699         (DDEDPDQ): Likewise.
3700         (DENBCD): Likewise.
3701         (DENBCDQ): Likewise.
3702         (DIEX): Likewise.
3703         (DIEXQ): Likewise.
3704         (DSCLI): Likewise.
3705         (DSCLIQ): Likewise.
3706         (DSCRI): Likewise.
3707         (DSCRIQ): Likewise.
3708         (CDTBCD): Add new BCD builtin functions.
3709         (CBCDTD): Likewise.
3710         (ADDG6S): Likewise.
3711         (BCDADD): Likewise.
3712         (BCDADD_LT): Likewise.
3713         (BCDADD_EQ): Likewise.
3714         (BCDADD_GT): Likewise.
3715         (BCDADD_OV): Likewise.
3716         (BCDSUB): Likewise.
3717         (BCDSUB_LT): Likewise.
3718         (BCDSUB_EQ): Likewise.
3719         (BCDSUB_GT): Likewise.
3720         (BCDSUB_OV): Likewise.
3721         (PACK_TD): Add new pack/unpack 128-bit type builtin functions.
3722         (UNPACK_TD): Likewise.
3723         (PACK_TF): Likewise.
3724         (UNPACK_TF): Likewise.
3725         (UNPACK_TF_0): Likewise.
3726         (UNPACK_TF_1): Likewise.
3727         (PACK_V1TI): Likewise.
3728         (UNPACK_V1TI): Likewise.
3730         * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
3731         support for decimal floating point builtin functions.
3732         (rs6000_expand_ternop_builtin): Add checks for the new builtin
3733         functions that take constant arguments.
3734         (rs6000_invalid_builtin): Add decimal floating point builtin
3735         support.
3736         (rs6000_init_builtins): Setup long double, _Decimal64, and
3737         _Decimal128 types for new builtin functions.
3738         (builtin_function_type): Set the unsigned flags appropriately for
3739         the new builtin functions.
3740         (rs6000_opt_masks): Add support for decimal floating point builtin
3741         functions.
3743         * config/rs6000/rs6000.h (RS6000_BTM_DFP): Add support for decimal
3744         floating point builtin functions.
3745         (RS6000_BTM_COMMON): Likewise.
3746         (RS6000_BTI_long_double): Likewise.
3747         (RS6000_BTI_dfloat64): Likewise.
3748         (RS6000_BTI_dfloat128): Likewise.
3749         (long_double_type_internal_node): Likewise.
3750         (dfloat64_type_internal_node): Likewise.
3751         (dfloat128_type_internal_node): Likewise.
3753         * config/rs6000/altivec.h (UNSPEC_BCDADD): Add support for ISA
3754         2.07 bcd arithmetic instructions.
3755         (UNSPEC_BCDSUB): Likewise.
3756         (UNSPEC_BCD_OVERFLOW): Likewise.
3757         (UNSPEC_BCD_ADD_SUB): Likewise.
3758         (bcd_add_sub): Likewise.
3759         (BCD_TEST): Likewise.
3760         (bcd<bcd_add_sub>): Likewise.
3761         (bcd<bcd_add_sub>_test): Likewise.
3762         (bcd<bcd_add_sub>_test2): Likewise.
3763         (bcd<bcd_add_sub>_<code>): Likewise.
3764         (peephole2 for combined bcd ops): Likewise.
3766         * config/rs6000/dfp.md (UNSPEC_DDEDPD): Add support for new
3767         decimal floating point builtin functions.
3768         (UNSPEC_DENBCD): Likewise.
3769         (UNSPEC_DXEX): Likewise.
3770         (UNSPEC_DIEX): Likewise.
3771         (UNSPEC_DSCLI): Likewise.
3772         (UNSPEC_DSCRI): Likewise.
3773         (D64_D128): Likewise.
3774         (dfp_suffix): Likewise.
3775         (dfp_ddedpd_<mode>): Likewise.
3776         (dfp_denbcd_<mode>): Likewise.
3777         (dfp_dxex_<mode>): Likewise.
3778         (dfp_diex_<mode>): Likewise.
3779         (dfp_dscli_<mode>): Likewise.
3780         (dfp_dscri_<mode>): Likewise.
3782         * config/rs6000/rs6000.md (UNSPEC_ADDG6S): Add support for new BCD
3783         builtin functions.
3784         (UNSPEC_CDTBCD): Likewise.
3785         (UNSPEC_CBCDTD): Likewise.
3786         (UNSPEC_DIVE): Add support for new extended divide builtin
3787         functions.
3788         (UNSPEC_DIVEO): Likewise.
3789         (UNSPEC_DIVEU): Likewise.
3790         (UNSPEC_DIVEUO): Likewise.
3791         (UNSPEC_UNPACK_128BIT): Add support for new builtin functions to
3792         pack/unpack 128-bit types.
3793         (UNSPEC_PACK_128BIT): Likewise.
3794         (idiv_ldiv): New mode attribute to set the 32/64-bit divide type.
3795         (udiv<mode>3): Use idiv_ldiv mode attribute.
3796         (div<mode>3): Likewise.
3797         (addg6s): Add new BCD builtin functions.
3798         (cdtbcd): Likewise.
3799         (cbcdtd): Likewise.
3800         (UNSPEC_DIV_EXTEND): Add support for new extended divide
3801         instructions.
3802         (div_extend): Likewise.
3803         (div<div_extend>_<mode>"): Likewise.
3804         (FP128_64): Add support for new builtin functions to pack/unpack
3805         128-bit types.
3806         (unpack<mode>): Likewise.
3807         (unpacktf_0): Likewise.
3808         (unpacktf_1): Likewise.
3809         (unpack<mode>_dm): Likewise.
3810         (unpack<mode>_nodm): Likewise.
3811         (pack<mode>): Likewise.
3812         (unpackv1ti): Likewise.
3813         (packv1ti): Likewise.
3815 2014-04-29  Pat Haugen  <pthaugen@us.ibm.com>
3817         Backport from mainline
3818         2014-04-17  Pat Haugen  <pthaugen@us.ibm.com>
3820         * config/rs6000/rs6000.md (addti3, subti3): New.
3822 2014-04-29  Jakub Jelinek  <jakub@redhat.com>
3824         PR tree-optimization/60971
3825         * tree-tailcall.c (process_assignment): Reject conversions which
3826         reduce precision.
3828 2014-04-29  Nick Clifton  <nickc@redhat.com>
3830         * config/msp430/msp430.md (umulsidi): Fix typo.
3831         (mulhisi3): Enable even inside interrupt handlers.
3832         * config/msp430/msp430.c (msp430_print_operand): %O: Allow for the
3833         bigger return address pushed in large mode.
3835 2014-04-28  Pat Haugen  <pthaugen@us.ibm.com>
3837         * config/rs6000/sync.md (AINT mode_iterator): Move definition.
3838         (loadsync_<mode>): Change mode.
3839         (load_quadpti, store_quadpti): New.
3840         (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
3841         * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
3843 2014-04-28  Eric Botcazou  <ebotcazou@adacore.com>
3845         * configure.ac: Tweak GAS check for LEON instructions on SPARC.
3846         * configure: Regenerate.
3847         * config/sparc/sparc.opt (muser-mode): New option.
3848         * config/sparc/sync.md (atomic_compare_and_swap<mode>_1): Do not enable
3849         for LEON3.
3850         (atomic_compare_and_swap_leon3_1): New instruction for LEON3.
3851         * doc/invoke.texi (SPARC options): Document -muser-mode.
3853 2014-04-26  Markus Trippelsdorf  <markus@trippelsdorf.de>
3855         * doc/install.texi (Building with profile feedback): Remove
3856         outdated sentence.
3858 2014-04-26  Tom de Vries  <tom@codesourcery.com>
3860         * config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds
3861         array accesses.
3863 2014-04-25  Jakub Jelinek  <jakub@redhat.com>
3865         PR tree-optimization/60960
3866         * tree-vect-generic.c (expand_vector_operation): Only call
3867         expand_vector_divmod if type's mode satisfies VECTOR_MODE_P.
3869 2014-04-25  Eric Botcazou  <ebotcazou@adacore.com>
3871         PR target/60941
3872         * config/sparc/sparc.md (ashlsi3_extend): Delete.
3874 2014-04-25  Richard Biener  <rguenther@suse.de>
3876         PR ipa/60912
3877         * tree-ssa-structalias.c (ipa_pta_execute): Compute direct
3878         call stmt use/clobber sets during stmt walk instead of
3879         walking the possibly incomplete set of caller edges.
3881 2014-04-25  Richard Biener  <rguenther@suse.de>
3883         PR ipa/60911
3884         * passes.c (apply_ipa_transforms): Inline into only caller ...
3885         (execute_one_pass): ... here.  Properly bring in function
3886         bodies for nodes we want to apply IPA transforms to.
3888 2014-04-24  Jakub Jelinek  <jakub@redhat.com>
3890         * tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
3891         * gimplify.c (omp_is_private): Change last argument's type to int.
3892         Only diagnose lastprivate if the simd argument is 1, only diagnose
3893         linear if the simd argument is 2.
3894         (gimplify_omp_for): Adjust omp_is_private callers.  When adding
3895         lastprivate or private, add the clause to OMP_FOR_CLAUSES.  Pass
3896         GOVD_EXPLICIT to omp_add_variable.  For simd with collapse == 1
3897         create OMP_CLAUSE_LINEAR rather than OMP_CLAUSE_PRIVATE for var.
3898         If var != decl and decl is in OMP_CLAUSE_LINEAR, gimplify decl
3899         increment to OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
3900         * omp-low.c (scan_sharing_clauses, lower_lastprivate_clauses): Handle
3901         OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
3902         * tree-nested.c (convert_nonlocal_omp_clauses,
3903         convert_local_omp_clauses): Handle OMP_CLAUSE_LINEAR.
3905 2014-04-23  Uros Bizjak  <ubizjak@gmail.com>
3907         Backport from mainline
3908         2014-04-21  Uros Bizjak  <ubizjak@gmail.com>
3910         PR target/60909
3911         * config/i386/i386.c (ix86_expand_builtin)
3912         <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
3913         register for target RTX.
3914         <case IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Ditto.
3916 2014-04-23  Richard Biener  <rguenther@suse.de>
3918         PR tree-optimization/60903
3919         * tree-ssa-loop-im.c (analyze_memory_references): Remove
3920         commented code block.
3921         (execute_sm_if_changed): Properly apply IRREDUCIBLE_LOOP
3922         loop flags to newly created BBs and edges.
3924 2014-04-23  Nick Clifton  <nickc@redhat.com>
3926         * config/msp430/msp430.c (msp430_handle_option): Move function
3927         to msp430-common.c
3928         (msp430_option_override): Simplify mcu and mcpu option handling.
3929         (msp430_is_f5_mcu): Rename to msp430_use_f5_series_hwmult.  Add
3930         support for -mhwmult command line option.
3931         (has_32bit_hwmult): Rename to use_32bit_hwmult.  Add support for
3932         -mhwmult command line option.
3933         (msp430_hwmult_enabled): Delete.
3934         (msp43o_output_labelref): Add support for -mhwmult command line
3935         option.
3936         * config/msp430/msp430.md (mulhisi3, umulhisi3, mulsidi3)
3937         (umulsidi3): Likewise.
3938         * config/msp430/msp430.opt (mmcu): Add Report attribute.
3939         (mcpu, mlarge, msmall): Likewise.
3940         (mhwmult): New option.
3941         * config/msp430/msp430-protos.h (msp430_hwmult_enabled): Remove
3942         prototype.
3943         (msp430_is_f5_mcu): Remove prototype.
3944         (msp430_use_f5_series_hwmult): Add prototype.
3945         * config/msp430/msp430-opts.h: New file.
3946         * common/config/msp430: New directory.
3947         * common/config/msp430/msp430-common.c: New file.
3948         * config.gcc (msp430): Remove target_has_targetm_common.
3949         * doc/invoke.texi: Document -mhwmult command line option.
3951 2014-04-23  Nick Clifton  <nickc@redhat.com>
3953         * config/i386/cygwin.h (ENDFILE_SPEC): Include
3954         default-manifest.o if it can be found in the search path.
3955         * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
3957 2014-04-23  Richard Biener  <rguenther@suse.de>
3959         Backport from mainline
3960         2014-04-14  Richard Biener  <rguenther@suse.de>
3962         PR lto/60720
3963         * lto-streamer-out.c (wrap_refs): New function.
3964         (lto_output): Wrap symbol references in global initializes in
3965         type-preserving MEM_REFs.
3967 2014-04-23  Richard Biener  <rguenther@suse.de>
3969         PR middle-end/60895
3970         * tree-inline.c (declare_return_variable): Use mark_addressable.
3972 2014-04-23  Richard Biener  <rguenther@suse.de>
3974         PR middle-end/60891
3975         * loop-init.c (loop_optimizer_init): Make sure to apply
3976         LOOPS_MAY_HAVE_MULTIPLE_LATCHES before fixing up loops.
3978 2014-04-22  Michael Meissner  <meissner@linux.vnet.ibm.com>
3980         Backport from mainline
3981         2014-04-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
3983         PR target/60735
3984         * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64 case):
3985         If mode is DDmode and TARGET_E500_DOUBLE allow move.
3987         * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print some
3988         more debug information for E500 if -mdebug=reg.
3990 2014-04-22  H.J. Lu  <hongjiu.lu@intel.com>
3992         Backport from mainline
3993         2014-04-22  H.J. Lu  <hongjiu.lu@intel.com>
3995         PR target/60868
3996         * config/i386/i386.c (ix86_expand_set_or_movmem): Call counter_mode
3997         on count_exp to get mode.
3999 2014-04-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4001         * config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for
4002         little-endian.
4003         (vsx_xxmrglw_<mode>): Likewise.
4005 2014-04-22  Richard Biener  <rguenther@suse.de>
4007         Backport from mainline
4008         2014-04-14  Richard Biener  <rguenther@suse.de>
4010         PR middle-end/55022
4011         * fold-const.c (negate_expr_p): Don't negate directional rounding
4012         division.
4013         (fold_negate_expr): Likewise.
4015 2014-04-22  Richard Biener  <rguenther@suse.de>
4017         Backport from mainline
4018         2014-04-17  Richard Biener  <rguenther@suse.de>
4020         PR middle-end/60849
4021         * tree-ssa-propagate.c (valid_gimple_rhs_p): Only allow effective
4022         boolean results for comparisons.
4024 2014-04-22   Richard Biener  <rguenther@suse.de>
4026         Backport from mainline
4027         2014-04-17   Richard Biener  <rguenther@suse.de>
4029         PR tree-optimization/60841
4030         * tree-vect-data-refs.c (vect_analyze_data_refs): Count stmts.
4031         * tree-vect-loop.c (vect_analyze_loop_2): Pass down number
4032         of stmts to SLP build.
4033         * tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
4034         (vect_analyze_slp): Likewise.
4035         (vect_analyze_slp_instance): Likewise.
4036         (vect_build_slp_tree): Limit overall SLP tree growth.
4037         * tree-vectorizer.h (vect_analyze_data_refs,
4038         vect_analyze_slp): Adjust prototypes.
4040 2014-04-22  Richard Biener  <rguenther@suse.de>
4042         Backport from mainline
4043         2014-04-17  Richard Biener  <rguenther@suse.de>
4045         PR tree-optimization/60836
4046         * tree-vect-loop.c (vect_create_epilog_for_reduction): Force
4047         initial PHI args to be gimple values.
4049 2014-04-22  Richard Biener  <rguenther@suse.de>
4051         Backport from mainline
4052         2014-04-14  Richard Biener  <rguenther@suse.de>
4054         PR tree-optimization/59817
4055         PR tree-optimization/60453
4056         * graphite-scop-detection.c (graphite_can_represent_scev): Complete
4057         recursion to catch all CHRECs in the scalar evolution and restrict
4058         the predicate for the remains appropriately.
4060 2014-04-22  Jakub Jelinek  <jakub@redhat.com>
4062         PR tree-optimization/60823
4063         * omp-low.c (ipa_simd_modify_function_body): Go through
4064         all SSA_NAMEs and for those refering to vector arguments
4065         which are going to be replaced adjust SSA_NAME_VAR and,
4066         if it is a default definition, change it into a non-default
4067         definition assigned at the beginning of function from new_decl.
4068         (ipa_simd_modify_stmt_ops): Rewritten.
4069         * tree-dfa.c (set_ssa_default_def): When removing default def,
4070         check for NULL loc instead of NULL *loc.
4072 2014-04-22  Lin Zuojian  <manjian2006@gmail.com>
4074         PR middle-end/60281
4075         * asan.c (asan_emit_stack_protection): Force the base to align to
4076         appropriate bits if STRICT_ALIGNMENT.  Set shadow_mem align to
4077         appropriate bits if STRICT_ALIGNMENT.
4078         * cfgexpand.c (expand_stack_vars): Set base_align appropriately
4079         when asan is on.
4080         (expand_used_vars): Leave a space in the stack frame for alignment
4081         if STRICT_ALIGNMENT.
4083 2014-04-22  Jakub Jelinek  <jakub@redhat.com>
4085         Backported from mainline
4086         2014-04-16  Jakub Jelinek  <jakub@redhat.com>
4088         PR tree-optimization/60844
4089         * tree-ssa-reassoc.c (reassoc_remove_stmt): New function.
4090         (propagate_op_to_single_use, remove_visited_stmt_chain,
4091         linearize_expr, repropagate_negates, reassociate_bb): Use it
4092         instead of gsi_remove.
4094 2014-04-22  Jakub Jelinek  <jakub@redhat.com>
4096         * BASE-VER: Set to 4.9.1.
4097         * DEV-PHASE: Set to prerelease.
4099 2014-04-22  Release Manager
4101         * GCC 4.9.0 released.
4103 2014-04-18  Richard Henderson  <rth@redhat.com>
4105         * config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
4106         to GET_MODE_SIZE, not a reg_class_t.
4108 2014-04-17  Jakub Jelinek  <jakub@redhat.com>
4110         PR target/60847
4111         Forward port from 4.8 branch
4112         2013-07-19  Kirill Yukhin  <kirill.yukhin@intel.com>
4114         * config/i386/bmiintrin.h (_blsi_u32): New.
4115         (_blsi_u64): Ditto.
4116         (_blsr_u32): Ditto.
4117         (_blsr_u64): Ditto.
4118         (_blsmsk_u32): Ditto.
4119         (_blsmsk_u64): Ditto.
4120         (_tzcnt_u32): Ditto.
4121         (_tzcnt_u64): Ditto.
4123 2014-04-15  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4125         PR target/60839
4126         Revert the following patch
4128         2014-04-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
4130         PR target/60735
4131         * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
4132         software floating point or no floating point registers, do not
4133         allow any type in the FPRs.  Eliminate a test for SPE SIMD types
4134         in GPRs that occurs after we tested for GPRs that would never be
4135         true.
4137         * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
4138         Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
4139         since the FMOVE64 type is DFmode/DDmode.  If TARGET_E500_DOUBLE,
4140         specifically allow DDmode, since that does not use the SPE SIMD
4141         instructions.
4143 2014-04-15  Jakub Jelinek  <jakub@redhat.com>
4145         PR plugins/59335
4146         * Makefile.in (PLUGIN_HEADERS): Add various headers that have been
4147         added in 4.9.
4149 2014-04-14  Yufeng Zhang  <yufeng.zhang@arm.com>
4151         * doc/invoke.texi (free): Document AArch64.
4153 2013-04-11  Jakub Jelinek  <jakub@redhat.com>
4155         * DEV-PHASE: Set to prerelease.
4157 2014-04-11  Tobias Burnus  <burnus@net-b.de>
4159         PR other/59055
4160         * doc/bugreport.texi (Bugs): Remove nodes pointing to the nirvana.
4161         * doc/gcc.texi (Service): Update description in the @menu
4162         * doc/invoke.texi (Option Summary): Remove misplaced and
4163         duplicated @menu.
4165 2014-04-11  Steve Ellcey  <sellcey@mips.com>
4166             Jakub Jelinek  <jakub@redhat.com>
4168         PR middle-end/60556
4169         * expr.c (convert_move): Use emit_store_flag_force instead of
4170         emit_store_flag.  Pass lowpart_mode instead of VOIDmode as 5th
4171         argument to it.
4173 2014-04-11  Richard Biener  <rguenther@suse.de>
4175         PR middle-end/60797
4176         * varasm.c (assemble_alias): Avoid endless error reporting
4177         recursion by setting TREE_ASM_WRITTEN.
4179 2014-04-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
4181         * config/s390/s390.md: Add a splitter for NOT rtx.
4183 2014-04-11  Jakub Jelinek  <jakub@redhat.com>
4185         PR rtl-optimization/60663
4186         * cse.c (cse_insn): Set src_volatile on ASM_OPERANDS in PARALLEL.
4188 2014-04-10  Jan Hubicka  <hubicka@ucw.cz>
4189             Jakub Jelinek  <jakub@redhat.com>
4191         PR lto/60567
4192         * ipa.c (function_and_variable_visibility): Copy forced_by_abi
4193         flag from decl_node to node.
4195 2014-04-10  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
4197         PR debug/60655
4198         * config/arm/arm.c (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Define
4199         (arm_const_not_ok_for_debug_p): Reject MINUS with SYM_REF's
4200         ameliorating the cases where it can be.
4202 2014-04-09  David Edelsohn  <dje.gcc@gmail.com>
4204         Revert
4205         2014-04-08  Pat Haugen  <pthaugen@us.ibm.com>
4207         * config/rs6000/sync.md (AINT mode_iterator): Move definition.
4208         (loadsync_<mode>): Change mode.
4209         (load_quadpti, store_quadpti): New.
4210         (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
4211         * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
4212         * config/rs6000/predicates.md (quad_memory_operand): !TARGET_SYNC_TI.
4214 2014-04-09  Cong Hou  <congh@google.com>
4216         PR testsuite/60773
4217         * doc/sourcebuild.texi (vect_widen_mult_si_to_di_pattern): Add
4218         documentation.
4220 2014-04-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4222         * config/rs6000/rs6000.c (rs6000_expand_vector_set): Use vnand
4223         instead of vnor to exploit possible fusion opportunity in the
4224         future.
4225         (altivec_expand_vec_perm_const_le): Likewise.
4227 2014-04-08  Pat Haugen  <pthaugen@us.ibm.com>
4229         * config/rs6000/sync.md (AINT mode_iterator): Move definition.
4230         (loadsync_<mode>): Change mode.
4231         (load_quadpti, store_quadpti): New.
4232         (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
4233         * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
4235 2014-04-08  Richard Sandiford  <rdsandiford@googlemail.com>
4237         PR target/60763
4238         * config/rs6000/vsx.md (vsx_xscvdpspn_scalar): Change input to DImode.
4239         * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Update accordingly.
4240         Use gen_rtx_REG rather than simplify_gen_subreg for op0_di.
4242 2014-04-08  Richard Biener  <rguenther@suse.de>
4244         PR middle-end/60706
4245         * tree-pretty-print.c (pp_double_int): For HWI32 hosts with
4246         a 64bit widest int print double-int similar to on HWI64 hosts.
4248 2014-04-08  Richard Biener  <rguenther@suse.de>
4250         PR tree-optimization/60785
4251         * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat
4252         default defs properly.
4254 2014-04-08  Nathan Sidwell  <nathan@codesourcery.com>
4256         * doc/invoke (Wnon-virtual-dtor): Update to match implementation.
4257         (Weffc++): Likewise.
4259 2014-04-07  Jan Hubicka  <hubcika@ucw.cz>
4261         * ipa-devirt.c (maybe_record_node): When node is not recorded,
4262         set completep to false rather than true.
4264 2014-04-07  Douglas B Rupp  <rupp@adacore.com>
4266         PR target/60504
4267         * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Expose from
4268         ARM_TARGET2_DWARF_FORMAT.
4270 2014-04-07  Charles Baylis  <charles.baylis@linaro.org>
4272         PR target/60609
4273         * config/arm/arm.h (ASM_OUTPUT_CASE_END): Remove.
4274         (LABEL_ALIGN_AFTER_BARRIER): Align barriers which occur after
4275         ADDR_DIFF_VEC.
4277 2014-04-07  Richard Biener  <rguenther@suse.de>
4279         PR tree-optimization/60766
4280         * tree-ssa-loop-ivopts.c (cand_value_at): Compute in an unsigned type.
4281         (may_eliminate_iv): Convert cand_value_at result to desired type.
4283 2014-04-07  Jason Merrill  <jason@redhat.com>
4285         PR c++/60731
4286         * common.opt (-fno-gnu-unique): Add.
4287         * config/elfos.h (USE_GNU_UNIQUE_OBJECT): Check it.
4289 2014-04-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4291         * haifa-sched.c: Fix outdated function reference and minor
4292         grammar errors in introductory comment.
4294 2014-04-07  Richard Biener  <rguenther@suse.de>
4296         PR middle-end/60750
4297         * tree-ssa-operands.c (maybe_add_call_vops): Also add VDEFs
4298         for noreturn calls.
4299         * tree-cfgcleanup.c (fixup_noreturn_call): Do not remove VDEFs.
4301 2014-04-06  John David Anglin  <danglin@gcc.gnu.org>
4303         PR debug/55794
4304         * config/pa/pa.c (pa_output_function_epilogue): Skip address and code
4305         size accounting for thunks.
4306         (pa_asm_output_mi_thunk): Use final_start_function() and
4307         final_end_function() to output function start and end directives.
4309 2014-04-05  Pitchumani Sivanupandi  <Pitchumani.S@atmel.com>
4311         * config/avr/avr-arch.h (avr_mcu_t): Add dev_attribute field to have
4312         device specific ISA/ feature information. Remove short_sp and
4313         errata_skip ds.  Add avr_device_specific_features enum to have device
4314         specific info.
4315         * config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check
4316         errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available.
4317         * config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for
4318         updated device specific info.
4319         * config/avr/avr-mcus.def: Merge device specific details to
4320         dev_attribute field.
4321         * config/avr/avr.c (avr_2word_insn_p): use dev_attribute field to check
4322         errata_skip.
4323         * config/avr/avr.h (AVR_HAVE_8BIT_SP): same for short sp info.
4324         * config/avr/driver-avr.c (avr_device_to_as): Pass -mrmw option to
4325         assembler if RMW isa supported by current device.
4326         * config/avr/genmultilib.awk: Update as device info structure changed.
4327         * doc/invoke.texi: Add info for __AVR_ISA_RMW__ builtin macro
4329 2014-04-04  Cong Hou  <congh@google.com>
4331         PR tree-optimization/60656
4332         * tree-vect-stmts.c (supportable_widening_operation):
4333         Fix a bug that elements in a vector with vect_used_by_reduction
4334         property are incorrectly reordered when the operation on it is not
4335         consistant with the one in reduction operation.
4337 2014-04-04  John David Anglin  <danglin@gcc.gnu.org>
4339         PR rtl-optimization/60155
4340         * gcse.c (record_set_data): New function.
4341         (single_set_gcse): New function.
4342         (gcse_emit_move_after): Use single_set_gcse instead of single_set.
4343         (hoist_code): Likewise.
4344         (get_pressure_class_and_nregs): Likewise.
4346 2014-04-04  Eric Botcazou  <ebotcazou@adacore.com>
4348         * explow.c (probe_stack_range): Emit a final optimization blockage.
4350 2014-04-04  Anthony Green  <green@moxielogic.com>
4352         * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2): Fix
4353         typos.
4355 2014-04-04  Jan Hubicka  <hubicka@ucw.cz>
4357         PR ipa/59626
4358         * lto-cgraph.c (input_overwrite_node): Check that partitioning
4359         flags are set only during streaming.
4360         * ipa.c (process_references, walk_polymorphic_call_targets,
4361         symtab_remove_unreachable_nodes): Drop bodies of always inline
4362         after early inlining.
4363         (symtab_remove_unreachable_nodes): Remove always_inline attribute.
4365 2014-04-04  Jakub Jelinek  <jakub@redhat.com>
4366         Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
4368         PR debug/60655
4369         * dwarf2out.c (const_ok_for_output_1): Reject expressions
4370         containing a NOT.
4372 2014-04-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4374         PR bootstrap/60743
4375         * config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation
4376         duration.
4377         (cortex_a53_fdivd): Likewise.
4379 2014-04-04  Martin Jambor  <mjambor@suse.cz>
4381         PR ipa/60640
4382         * cgraph.h (cgraph_clone_node): New parameter added to declaration.
4383         Adjust all callers.
4384         * cgraph.c (clone_of_p): Also return true if thunks match.
4385         (verify_edge_corresponds_to_fndecl): Removed extraneous call to
4386         cgraph_function_or_thunk_node and an obsolete comment.
4387         * cgraphclones.c (build_function_type_skip_args): Moved upwards in the
4388         file.
4389         (build_function_decl_skip_args): Likewise.
4390         (set_new_clone_decl_and_node_flags): New function.
4391         (duplicate_thunk_for_node): Likewise.
4392         (redirect_edge_duplicating_thunks): Likewise.
4393         (cgraph_clone_node): New parameter args_to_skip, pass it to
4394         redirect_edge_duplicating_thunks which is called instead of
4395         cgraph_redirect_edge_callee.
4396         (cgraph_create_virtual_clone): Pass args_to_skip to cgraph_clone_node,
4397         moved setting of a lot of flags to set_new_clone_decl_and_node_flags.
4399 2014-04-04  Jeff Law  <law@redhat.com>
4401         PR target/60657
4402         * config/arm/predicates.md (const_int_I_operand): New predicate.
4403         (const_int_M_operand): Similarly.
4404         * config/arm/arm.md (insv_zero): Use const_int_M_operand instead of
4405         const_int_operand.
4406         (insv_t2, extv_reg, extzv_t2): Likewise.
4407         (load_multiple_with_writeback): Similarly for const_int_I_operand.
4408         (pop_multiple_with_writeback_and_return): Likewise.
4409         (vfp_pop_multiple_with_writeback): Likewise
4411 2014-04-04  Richard Biener  <rguenther@suse.de>
4413         PR ipa/60746
4414         * tree-ssanames.c (make_ssa_name_fn): Fix assert.
4415         * gimple.c (gimple_set_bb): Avoid ICEing for NULL cfun for
4416         non-GIMPLE_LABELs.
4417         * gimplify.h (gimple_add_tmp_var_fn): Declare.
4418         * gimplify.c (gimple_add_tmp_var_fn): New function.
4419         * gimple-expr.h (create_tmp_reg_fn): Declare.
4420         * gimple-expr.c (create_tmp_reg_fn): New function.
4421         * gimple-low.c (record_vars_into): Don't change cfun.
4422         * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix
4423         code generation without cfun.
4425 2014-04-04  Thomas Schwinge  <thomas@codesourcery.com>
4427         PR bootstrap/60719
4428         * Makefile.in (install-driver): Fix shell scripting.
4430 2014-04-03  Cong Hou  <congh@google.com>
4432         PR tree-optimization/60505
4433         * tree-vectorizer.h (struct _stmt_vec_info): Add th field as the
4434         threshold of number of iterations below which no vectorization
4435         will be done.
4436         * tree-vect-loop.c (new_loop_vec_info):
4437         Initialize LOOP_VINFO_COST_MODEL_THRESHOLD.
4438         * tree-vect-loop.c (vect_analyze_loop_operations):
4439         Set LOOP_VINFO_COST_MODEL_THRESHOLD.
4440         * tree-vect-loop.c (vect_transform_loop):
4441         Use LOOP_VINFO_COST_MODEL_THRESHOLD.
4442         * tree-vect-loop.c (vect_analyze_loop_2): Check the maximum number
4443         of iterations of the loop and see if we should build the epilogue.
4445 2014-04-03  Richard Biener  <rguenther@suse.de>
4447         * tree-streamer.h (struct streamer_tree_cache_d): Add next_idx member.
4448         (streamer_tree_cache_create): Adjust.
4449         * tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust
4450         to allow optional nodes array.
4451         (streamer_tree_cache_insert_1): Use next_idx to assign idx.
4452         (streamer_tree_cache_append): Likewise.
4453         (streamer_tree_cache_create): Create nodes array optionally
4454         as specified by parameter.
4455         * lto-streamer-out.c (create_output_block): Avoid maintaining
4456         the node array in the writer cache.
4457         (DFS_write_tree): Remove assertion.
4458         (produce_asm_for_decls): Free the out decl state hash table early.
4459         * lto-streamer-in.c (lto_data_in_create): Adjust for
4460         streamer_tree_cache_create prototype change.
4462 2014-04-03  Richard Biener  <rguenther@suse.de>
4464         * tree-streamer-out.c (streamer_write_chain): Do not temporarily
4465         set TREE_CHAIN to NULL_TREE.
4467 2014-04-03  Richard Biener  <rguenther@suse.de>
4469         PR tree-optimization/60740
4470         * graphite-scop-detection.c (stmt_simple_for_scop_p): Iterate
4471         over all GIMPLE_COND operands.
4473 2014-04-03  Nathan Sidwell  <nathan@codesourcery.com>
4475         * doc/invoke.texi (Wnon-virtual-dtor): Adjust documentation.
4476         (Weffc++): Remove Scott's numbering, merge lists and reference
4477         Wnon-virtual-dtor.
4479 2014-04-03  Nick Clifton  <nickc@redhat.com>
4481         * config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF))
4482         properly.
4484 2014-04-03  Martin Jambor  <mjambor@suse.cz>
4486         * ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and
4487         mention gcc_unreachable before failing.
4488         * ipa.c (symtab_remove_unreachable_nodes): Also print order of
4489         removed symbols.
4491 2014-04-02  Jan Hubicka  <hubicka@ucw.cz>
4493         PR ipa/60659
4494         * ipa-devirt.c (get_polymorphic_call_info): Do not ICE on type
4495         inconsistent code and instead mark the context inconsistent.
4496         (possible_polymorphic_call_targets): For inconsistent contexts
4497         return empty complete list.
4499 2014-04-02  Anthony Green  <green@moxielogic.com>
4501         * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2)
4502         (extendqisi2, extendhisi2): Define.
4503         * config/moxie/moxie.h (DEFAULT_SIGNED_CHAR): Change to 0.
4504         (WCHAR_TYPE): Change to unsigned int.
4506 2014-04-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4508         PR tree-optimization/60733
4509         * gimple-ssa-strength-reduction.c (ncd_with_phi): Change required
4510         insertion point for PHI candidates to be the end of the feeding
4511         block for the PHI argument.
4513 2014-04-02  Vladimir Makarov  <vmakarov@redhat.com>
4515         PR rtl-optimization/60650
4516         * lra-constraints.c (process_alt_operands): Decrease reject for
4517         earlyclobber matching.
4519 2014-04-02  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
4521         * config/s390/s390.c (s390_expand_insv): Use GET_MODE_BITSIZE.
4523 2014-04-02  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4525         * config/spu/spu.c (pad_bb): Do not crash when the last
4526         insn is CODE_FOR_blockage.
4528 2014-04-02  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4530         * config/spu/spu.md ("insv"): Fail if bitoffset+bitsize
4531         lies outside the target mode.
4533 2014-04-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
4535         PR target/60735
4536         * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
4537         software floating point or no floating point registers, do not
4538         allow any type in the FPRs.  Eliminate a test for SPE SIMD types
4539         in GPRs that occurs after we tested for GPRs that would never be
4540         true.
4542         * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
4543         Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
4544         since the FMOVE64 type is DFmode/DDmode.  If TARGET_E500_DOUBLE,
4545         specifically allow DDmode, since that does not use the SPE SIMD
4546         instructions.
4548 2014-04-02  Richard Biener  <rguenther@suse.de>
4550         PR middle-end/60729
4551         * optabs.c (expand_abs_nojump): Honor flag_trapv only for
4552         MODE_INTs.  Properly use negv_optab.
4553         (expand_abs): Likewise.
4555 2014-04-02  Richard Biener  <rguenther@suse.de>
4557         PR bootstrap/60719
4558         * Makefile.in (install-driver): Guard extra installs with special
4559         names properly.
4561 2014-04-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
4563         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
4564         Document vec_vgbbd.
4566 2014-04-01  Richard Henderson  <rth@redhat.com>
4568         PR target/60704
4569         * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Leave the second
4570         alternative enabled before register allocation.
4572 2014-04-01  Chung-Lin Tang  <cltang@codesourcery.com>
4574         * config/nios2/nios2.md (unspec): Remove UNSPEC_TLS, UNSPEC_TLS_LDM.
4575         * config/nios2/nios2.c (nios2_function_profiler): Fix addi operand
4576         typo.
4577         (nios2_large_got_address): Remove unneeded 'sym' parameter.
4578         (nios2_got_address): Update nios2_large_got_address call site.
4579         (nios2_delegitimize_address): New function.
4580         (TARGET_DELEGITIMIZE_ADDRESS): Define to nios2_delegitimize_address.
4581         * config/nios2/linux.h (GLIBC_DYNAMIC_LINKER): Define.
4582         (LINK_SPEC): Specify dynamic linker using GNU_USER_DYNAMIC_LINKER.
4584 2014-04-01  Martin Husemann  <martin@duskware.de>
4586         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define __mips_o32
4587         for -mabi=32.
4589 2014-04-01  Richard Sandiford  <rdsandiford@googlemail.com>
4591         PR rtl-optimization/60604
4592         * recog.c (general_operand): Incorporate REG_CANNOT_CHANGE_MODE_P
4593         check from register_operand.
4594         (register_operand): Redefine in terms of general_operand.
4595         (nonmemory_operand): Use register_operand for the non-constant cases.
4597 2014-04-01  Richard Biener  <rguenther@suse.de>
4599         * gimple.h (struct gimple_statement_base): Align subcode to 16 bits.
4601 2014-04-01  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4603         * doc/invoke.texi (mapp-regs): Clarify.
4605 2014-03-31  Ulrich Drepper  <drepper@gmail.com>
4607         * config/i386/avx512fintrin.h (__v32hi): Define type.
4608         (__v64qi): Likewise.
4609         (_mm512_set1_epi8): Define.
4610         (_mm512_set1_epi16): Define.
4611         (_mm512_set4_epi32): Define.
4612         (_mm512_set4_epi64): Define.
4613         (_mm512_set4_pd): Define.
4614         (_mm512_set4_ps): Define.
4615         (_mm512_setr4_epi64): Define.
4616         (_mm512_setr4_epi32): Define.
4617         (_mm512_setr4_pd): Define.
4618         (_mm512_setr4_ps): Define.
4619         (_mm512_setzero_epi32): Define.
4621 2014-03-31  Martin Jambor  <mjambor@suse.cz>
4623         PR middle-end/60647
4624         * tree-sra.c (callsite_has_enough_arguments_p): Renamed to
4625         callsite_arguments_match_p.  Updated all callers.  Also check types of
4626         corresponding formal parameters and actual arguments.
4627         (not_all_callers_have_enough_arguments_p) Renamed to
4628         some_callers_have_mismatched_arguments_p.
4630 2014-03-31  Yuri Rumyantsev  <ysrumyan@gmail.com>
4632         * tree-inline.c (copy_loops): Add missed copy of 'safelen'.
4634 2014-03-31  Kugan Vivekanandarajah  <kuganv@linaro.org>
4636         PR target/60034
4637         * aarch64/aarch64.c (aarch64_classify_address): Fix alignment for
4638         section anchor.
4640 2014-03-30  Uros Bizjak  <ubizjak@gmail.com>
4642         * config/i386/sse.md (FMAMODE_NOVF512): New mode iterator.
4643         (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>):
4644         Split out
4645         <sd_mask_codefor>fma_fmadd_<VF_512:mode><sd_maskz_name><round_name>.
4646         Use FMAMODE_NOVF512 mode iterator.
4647         (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>): Ditto.
4648         (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>): Ditto.
4649         (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>): Ditto.
4650         (<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>):
4651         Split out
4652         <sd_mask_codefor>fma_fmaddsub_<VF_512:mode><sd_maskz_name><round_name>.
4653         Use VF_128_256 mode iterator.
4654         (<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>):
4655         Ditto.
4657 2014-03-28  Jan Hubicka  <hubicka@ucw.cz>
4659         * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Clear
4660         static chain if needed.
4662 2014-03-28  Vladimir Makarov  <vmakarov@redhat.com>
4664         PR target/60697
4665         * lra-constraints.c (index_part_to_reg): New.
4666         (process_address): Use it.
4668 2014-03-27  Jeff Law  <law@redhat.com>
4669             Jakub Jelinek  <jakub@redhat.com>
4671         PR target/60648
4672         * expr.c (do_tablejump): Use simplify_gen_binary rather than
4673         gen_rtx_{PLUS,MULT} to build up the address expression.
4675         * i386/i386.c (ix86_legitimize_address): Use copy_addr_to_reg to avoid
4676         creating non-canonical RTL.
4678 2014-03-28  Jan Hubicka  <hubicka@ucw.cz>
4680         PR ipa/60243
4681         * ipa-inline.c (want_inline_small_function_p): Short circuit large
4682         functions; reorganize to make cheap checks first.
4683         (inline_small_functions): Do not estimate growth when dumping;
4684         it is expensive.
4685         * ipa-inline.h (inline_summary): Add min_size.
4686         (growth_likely_positive): New function.
4687         * ipa-inline-analysis.c (dump_inline_summary): Add min_size.
4688         (set_cond_stmt_execution_predicate): Cleanup.
4689         (estimate_edge_size_and_time): Compute min_size.
4690         (estimate_calls_size_and_time): Likewise.
4691         (estimate_node_size_and_time): Likewise.
4692         (inline_update_overall_summary): Update min_size.
4693         (do_estimate_edge_time): Likewise.
4694         (do_estimate_edge_size): Update.
4695         (do_estimate_edge_hints): Update.
4696         (growth_likely_positive): New function.
4698 2014-03-28  Jakub Jelinek  <jakub@redhat.com>
4700         PR target/60693
4701         * config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg
4702         also if addr has VOIDmode.
4704 2014-03-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4706         * config/arm/aarch-common.c (aarch_crypto_can_dual_issue): New.
4707         * config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue):
4708         Declare extern.
4709         * config/arm/cortex-a53.md: Add reservations and bypass for crypto
4710         instructions as well as AdvancedSIMD loads.
4712 2014-03-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4714         * config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi):
4715         Use crypto_aese type.
4716         (aarch64_crypto_aes<aesmc_op>v16qi): Use crypto_aesmc type.
4717         * config/arm/arm.md (is_neon_type): Replace crypto_aes with
4718         crypto_aese, crypto_aesmc.  Move to types.md.
4719         * config/arm/types.md (crypto_aes): Split into crypto_aese,
4720         crypto_aesmc.
4721         * config/arm/iterators.md (crypto_type): Likewise.
4723 2014-03-28  Jan Hubicka  <hubicka@ucw.cz>
4725         * cgraph.c: Include expr.h and tree-dfa.h.
4726         (cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn;
4727         remove LHS.
4729 2014-03-28  Vladimir Makarov  <vmakarov@redhat.com>
4731         PR target/60675
4732         * lra-assigns.c (find_hard_regno_for): Remove unavailable hard
4733         regs from checking multi-reg pseudos.
4735 2014-03-28  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
4737         * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.
4739 2014-03-28  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4741         * config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization
4742         if it would clobber the stack pointer, even temporarily.
4744 2014-03-28  Eric Botcazou  <ebotcazou@adacore.com>
4746         * mode-switching.c: Make small adjustments to the top comment.
4748 2014-03-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
4750         * config/rs6000/constraints.md (wD constraint): New constraint to
4751         match the constant integer to get the top DImode/DFmode out of a
4752         vector in a VSX register.
4754         * config/rs6000/predicates.md (vsx_scalar_64bit): New predicate to
4755         match the constant integer to get the top DImode/DFmode out of a
4756         vector in a VSX register.
4758         * config/rs6000/rs6000-builtins.def (VBPERMQ): Add vbpermq builtin
4759         for ISA 2.07.
4761         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
4762         vbpermq builtins.
4764         * config/rs6000/rs6000.c (rs6000_debug_reg_global): If
4765         -mdebug=reg, print value of VECTOR_ELEMENT_SCALAR_64BIT.
4767         * config/rs6000/vsx.md (vsx_extract_<mode>, V2DI/V2DF modes):
4768         Optimize vec_extract of 64-bit values, where the value being
4769         extracted is in the top word, where we can use scalar
4770         instructions.  Add direct move and store support.  Combine the big
4771         endian/little endian vector select load support into a single insn.
4772         (vsx_extract_<mode>_internal1): Likewise.
4773         (vsx_extract_<mode>_internal2): Likewise.
4774         (vsx_extract_<mode>_load): Likewise.
4775         (vsx_extract_<mode>_store): Likewise.
4776         (vsx_extract_<mode>_zero): Delete, big and little endian insns are
4777         combined into vsx_extract_<mode>_load.
4778         (vsx_extract_<mode>_one_le): Likewise.
4780         * config/rs6000/rs6000.h (VECTOR_ELEMENT_SCALAR_64BIT): Macro to
4781         define the top 64-bit vector element.
4783         * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wD
4784         constraint.
4786         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
4787         Document vec_vbpermq builtin.
4789         PR target/60672
4790         * config/rs6000/altivec.h (vec_xxsldwi): Add missing define to
4791         enable use of xxsldwi and xxpermdi builtin functions.
4792         (vec_xxpermdi): Likewise.
4794         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
4795         Document use of vec_xxsldwi and vec_xxpermdi builtins.
4797 2014-03-27  Vladimir Makarov  <vmakarov@redhat.com>
4799         PR rtl-optimization/60650
4800         * lra-assign.c (find_hard_regno_for, spill_for): Add parameter
4801         first_p.  Use it.
4802         (find_spills_for): New.
4803         (assign_by_spills): Pass the new parameter to find_hard_regno_for.
4804         Spill all pseudos on the second iteration.
4806 2014-03-27  Marek Polacek  <polacek@redhat.com>
4808         PR c/50347
4809         * doc/extend.texi (ffs Builtins): Change unsigned types to signed
4810         types.
4812 2014-03-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
4814         * config/s390/s390.c (s390_can_use_return_insn): Check for
4815         call-saved FPRs on 31 bit.
4817 2014-03-27  Jakub Jelinek  <jakub@redhat.com>
4819         PR middle-end/60682
4820         * omp-low.c (lower_omp_1): For gimple_clobber_p stmts,
4821         if they need regimplification, just drop them instead of
4822         calling gimple_regimplify_operands on them.
4824 2014-03-27  Marcus Shawcroft  <marcus.shawcroft@arm.com>
4826         PR target/60580
4827         * config/aarch64/aarch64.c (faked_omit_frame_pointer): Remove.
4828         (aarch64_frame_pointer_required): Adjust logic.
4829         (aarch64_can_eliminate): Adjust logic.
4830         (aarch64_override_options_after_change): Adjust logic.
4832 2014-03-27  Dehao Chen  <dehao@google.com>
4834         * ipa-inline.c (early_inliner): Update node's inline info.
4836 2014-03-26  Dehao Chen  <dehao@google.com>
4838         * dojump.c (do_compare_rtx_and_jump): Sets correct probability for
4839         compiler inserted conditional jumps for NAN float check.
4841 2014-03-26  Jakub Jelinek  <jakub@redhat.com>
4843         * ubsan.h (ubsan_create_data): Change second argument's type
4844         to const location_t *.
4845         * ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to
4846         _("<unknown>").
4847         (ubsan_create_data): Change second argument to const location_t *PLOC.
4848         Create Loc field whenever PLOC is non-NULL.
4849         (ubsan_instrument_unreachable, ubsan_expand_null_ifn,
4850         ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust
4851         callers.
4853         PR other/59545
4854         * real.c (real_to_integer2): Change type of low to UHWI.
4856 2014-03-26  Tobias Burnus  <burnus@net-b.de>
4858         * gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
4859         (CILK_SELF_SPECS): New define.
4860         (driver_self_specs): Use it.
4862 2014-03-26  Richard Biener  <rguenther@suse.de>
4864         * tree-pretty-print.c (percent_K_format): Implement special
4865         case for LTO and its stripped down BLOCK tree.
4867 2014-03-26  Jakub Jelinek  <jakub@redhat.com>
4869         PR sanitizer/60636
4870         * ubsan.c (instrument_si_overflow): Instrument ABS_EXPR.
4872         * tree-vrp.c (simplify_internal_call_using_ranges): If only
4873         one range is range_int_cst_p, but not both, at least optimize
4874         addition/subtraction of 0 and multiplication by 0 or 1.
4875         * gimple-fold.c (gimple_fold_call): Fold
4876         IFN_UBSAN_CHECK_{ADD,SUB,MUL}.
4877         (gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't
4878         INTEGER_CSTs, try to fold at least x * 0 and y - y.
4880 2014-03-26  Eric Botcazou  <ebotcazou@adacore.com>
4882         PR rtl-optimization/60452
4883         * rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment.
4884         <case REG>: Return 1 for invalid offsets from the frame pointer.
4886 2014-03-26  Marek Polacek  <polacek@redhat.com>
4888         PR c/37428
4889         * doc/extend.texi (C Extensions): Mention variable-length arrays in
4890         a structure/union.
4892 2014-03-26  Marek Polacek  <polacek@redhat.com>
4894         PR c/39525
4895         * doc/extend.texi (Designated Inits): Describe what happens to omitted
4896         field members.
4898 2014-03-26  Marek Polacek  <polacek@redhat.com>
4900         PR other/59545
4901         * ira-color.c (update_conflict_hard_regno_costs): Perform the
4902         multiplication in unsigned type.
4904 2014-03-26  Chung-Ju Wu  <jasonwucj@gmail.com>
4906         * doc/install.texi: Document nds32le-*-elf and nds32be-*-elf.
4908 2014-03-26  Chung-Ju Wu  <jasonwucj@gmail.com>
4910         * doc/contrib.texi: Add myself as Andes nds32 port contributor.
4912 2014-03-25  Jan Hubicka  <hubicka@ucw.cz>
4914         PR ipa/60315
4915         * cif-code.def (UNREACHABLE) New code.
4916         * ipa-inline.c (inline_small_functions): Skip edges to
4917         __builtlin_unreachable.
4918         (estimate_edge_growth): Allow edges to __builtlin_unreachable.
4919         * ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false
4920         predicate to __bulitin_unreachable.
4921         (set_cond_stmt_execution_predicate): Fix issue when
4922         invert_tree_comparison returns ERROR_MARK.
4923         * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not
4924         propagate to inline clones.
4925         * cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection
4926         to unreachable.
4927         * ipa-cp.c (create_specialized_node): Be ready for new node to appear.
4928         * cgraphclones.c (cgraph_clone_node): If call destination is already
4929         ureachable, do not redirect it back.
4930         * tree-inline.c (fold_marked_statements): Hanlde calls becoming
4931         unreachable.
4933 2014-03-25  Jan Hubicka  <hubicka@ucw.cz>
4935         * ipa-pure-const.c (propagate_pure_const, propagate_nothrow):
4936         Do not modify inline clones.
4938 2014-03-25  Jakub Jelinek  <jakub@redhat.com>
4940         * config/i386/i386.md (general_sext_operand): New mode attr.
4941         (addv<mode>4, subv<mode>4, mulv<mode>4): If operands[2] is CONST_INT,
4942         don't generate (sign_extend (const_int)).
4943         (*addv<mode>4, *subv<mode>4, *mulv<mode>4): Disallow CONST_INT_P
4944         operands[2].  Use We constraint instead of <i> and
4945         <general_sext_operand> predicate instead of <general_operand>.
4946         (*addv<mode>4_1, *subv<mode>4_1, *mulv<mode>4_1): New insns.
4947         * config/i386/constraints.md (We): New constraint.
4948         * config/i386/predicates.md (x86_64_sext_operand,
4949         sext_operand): New predicates.
4951 2014-03-25  Martin Jambor  <mjambor@suse.cz>
4953         PR ipa/60600
4954         * ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type
4955         inconsistent devirtualizations to __builtin_unreachable.
4957 2014-03-25  Marek Polacek  <polacek@redhat.com>
4959         PR c/35449
4960         * doc/extend.texi (Example of asm with clobbered asm reg): Fix typo.
4962 2014-03-25  Alan Lawrence  <alan.lawrence@arm.com>
4964         * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse
4965         order of elements for big-endian.
4967 2014-03-25  Richard Biener  <rguenther@suse.de>
4969         PR middle-end/60635
4970         * gimplify-me.c (gimple_regimplify_operands): Update the
4971         re-gimplifed stmt.
4973 2014-03-25  Martin Jambor  <mjambor@suse.cz>
4975         PR ipa/59176
4976         * lto-cgraph.c (lto_output_node): Stream body_removed flag.
4977         (lto_output_varpool_node): Likewise.
4978         (input_overwrite_node): Likewise.
4979         (input_varpool_node): Likewise.
4981 2014-03-25  Richard Biener  <rguenther@suse.de>
4983         * lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like OPT_fpie.
4984         (run_gcc): Likewise.
4986 2014-03-25  Jakub Jelinek  <jakub@redhat.com>
4988         * combine.c (simplify_compare_const): Add MODE argument.
4989         Handle mode_width 0 as very large mode_width.
4990         (try_combine, simplify_comparison): Adjust callers.
4992         * cselib.c (cselib_hash_rtx): Perform addition in unsigned
4993         type to avoid signed integer overflow.
4994         * explow.c (plus_constant): Likewise.
4996 2014-03-25  Dominik Vogt  <vogt@linux.vnet.ibm.com>
4998         * doc/generic.texi: Correct typos.
5000 2014-03-24  Tobias Burnus  <burnus@net-b.de>
5002         * doc/invoke.texi (-flto): Expand section about
5003         using static libraries with LTO.
5005 2014-03-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5007         PR rtl-optimization/60501
5008         * optabs.def (addptr3_optab): New optab.
5009         * optabs.c (gen_addptr3_insn, have_addptr3_insn): New function.
5010         * doc/md.texi ("addptrm3"): Document new RTL standard expander.
5011         * expr.h (gen_addptr3_insn, have_addptr3_insn): Add prototypes.
5013         * lra.c (emit_add3_insn): Use the addptr pattern if available.
5015         * config/s390/s390.md ("addptrdi3", "addptrsi3"): New expanders.
5017 2014-03-24  Ulrich Drepper  <drepper@gmail.com>
5019         * config/i386/avx512fintrin.h: Define _mm512_set1_ps and
5020         _mm512_set1_pd.
5022         * config/i386/avxintrin.h (_mm256_undefined_si256): Define.
5023         (_mm256_undefined_ps): Define.
5024         (_mm256_undefined_pd): Define.
5025         * config/i386/emmintrin.h (_mm_undefined_si128): Define.
5026         (_mm_undefined_pd): Define.
5027         * config/i386/xmmintrin.h (_mm_undefined_ps): Define.
5028         * config/i386/avx512fintrin.h (_mm512_undefined_si512): Define.
5029         (_mm512_undefined_ps): Define.
5030         (_mm512_undefined_pd): Define.
5031         Use _mm*_undefined_*.
5032         * config/i386/avx2intrin.h: Use _mm*_undefined_*.
5034 2014-03-24  Alex Velenko  <Alex.Velenko@arm.com>
5036         * config/aarch64/aarch64-simd-builtins.def (lshr): DI mode excluded.
5037         (lshr_simd): DI mode added.
5038         * config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): New pattern.
5039         (aarch64_ushr_simddi): Likewise.
5040         * config/aarch64/aarch64.md (UNSPEC_USHR64): New unspec.
5041         * config/aarch64/arm_neon.h (vshr_n_u64): Intrinsic fixed.
5042         (vshrd_n_u64): Likewise.
5044 2014-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5046         * Makefile.in (s-macro_list): Depend on cc1.
5048 2014-03-23  Teresa Johnson  <tejohnson@google.com>
5050         * ipa-utils.c (ipa_print_order): Use specified dump file.
5052 2014-03-23  Eric Botcazou  <ebotcazou@adacore.com>
5054         PR rtl-optimization/60601
5055         * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
5057         * gcc.c (eval_spec_function): Initialize save_growing_value.
5059 2014-03-22  Jakub Jelinek  <jakub@redhat.com>
5061         PR sanitizer/60613
5062         * internal-fn.c (ubsan_expand_si_overflow_addsub_check): For
5063         code == MINUS_EXPR, never swap op0 with op1.
5065         * toplev.c (init_local_tick): Avoid signed integer multiplication
5066         overflow.
5067         * genautomata.c (reserv_sets_hash_value): Fix rotate idiom, avoid
5068         shift by first operand's bitsize.
5070 2014-03-21  Jakub Jelinek  <jakub@redhat.com>
5072         PR target/60610
5073         * config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH,
5074         redefine to 1 or 0.
5075         * config/i386/darwin.h (TARGET_64BIT_P): Redefine to
5076         TARGET_ISA_64BIT_P(x).
5078 2014-03-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5080         * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a
5081         pattern for vector nor instead of subtract from splat(-1).
5082         (altivec_expand_vec_perm_const_le): Likewise.
5084 2014-03-21  Richard Henderson  <rth@twiddle.net>
5086         PR target/60598
5087         * ifcvt.c (dead_or_predicable): Return FALSE if there are any frame
5088         related insns after epilogue_completed.
5090 2014-03-21  Martin Jambor  <mjambor@suse.cz>
5092         PR ipa/59176
5093         * cgraph.h (symtab_node): New flag body_removed.
5094         * ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag
5095         when removing bodies.
5096         * symtab.c (dump_symtab_base): Dump body_removed flag.
5097         * cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which
5098         had their bodies removed.
5100 2014-03-21  Martin Jambor  <mjambor@suse.cz>
5102         PR ipa/60419
5103         * ipa.c (symtab_remove_unreachable_nodes): Clear thunk flag of nodes
5104         in the border.
5106 2014-03-21  Richard Biener  <rguenther@suse.de>
5108         PR tree-optimization/60577
5109         * tree-core.h (struct tree_base): Document nothrow_flag use
5110         in DECL_NONALIASED.
5111         * tree.h (DECL_NONALIASED): New.
5112         (may_be_aliased): Adjust.
5113         * coverage.c (build_var): Set DECL_NONALIASED.
5115 2014-03-20  Eric Botcazou  <ebotcazou@adacore.com>
5117         * expr.c (expand_expr_real_1): Remove outdated comment.
5119 2014-03-20  Jakub Jelinek  <jakub@redhat.com>
5121         PR middle-end/60597
5122         * ira.c (adjust_cleared_regs): Call copy_rtx on
5123         *reg_equiv[REGNO (loc)].src_p before passing it to
5124         simplify_replace_fn_rtx.
5126         PR target/60568
5127         * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
5128         into CONST, put pic register as first operand of PLUS.  Use
5129         gen_const_mem for both 32-bit and 64-bit PIC got loads.
5131 2014-03-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
5133         * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete.
5135 2014-03-20  Eric Botcazou  <ebotcazou@adacore.com>
5137         * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
5138         around for store forwarding issue in the FPU on the UT699.
5139         * config/sparc/sparc.md (in_branch_delay): Return false for single FP
5140         loads and operations if -mfix-ut699 is specified.
5141         (divtf3_hq): Tweak attribute.
5142         (sqrttf2_hq): Likewise.
5144 2014-03-20  Eric Botcazou  <ebotcazou@adacore.com>
5146         * calls.c (store_one_arg): Remove incorrect const qualification on the
5147         type of the temporary.
5148         * cfgexpand.c (expand_return): Likewise.
5149         * expr.c (expand_constructor): Likewise.
5150         (expand_expr_real_1): Likewise.
5152 2014-03-20  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
5154         * config/arm/arm.c (arm_dwarf_register_span): Update the element number
5155         of parts.
5157 2014-03-19  Kaz Kojima  <kkojima@gcc.gnu.org>
5159         PR target/60039
5160         * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
5162 2014-03-19  James Greenhalgh  <james.greenhalgh@arm.com>
5164         * config/arm/aarch-common-protos.h
5165         (alu_cost_table): Fix spelling of "extend".
5166         * config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend".
5168 2014-03-19  Richard Biener  <rguenther@suse.de>
5170         PR middle-end/60553
5171         * tree-core.h (tree_type_common): Re-order pointer members
5172         to reduce recursion depth during GC walks.
5174 2014-03-19  Marek Polacek  <polacek@redhat.com>
5176         PR sanitizer/60569
5177         * ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull
5178         before accessing it.
5180 2014-03-19  Richard Biener  <rguenther@suse.de>
5182         PR lto/59543
5183         * lto-streamer-in.c (input_function): In WPA stage do not drop
5184         debug stmts.
5186 2014-03-19  Jakub Jelinek  <jakub@redhat.com>
5188         PR tree-optimization/60559
5189         * vectorizable_mask_load_store): Replace scalar MASK_LOAD
5190         with build_zero_cst assignment.
5192 2014-03-18  Kai Tietz  <ktietz@redhat.com>
5194         PR rtl-optimization/56356
5195         * sdbout.c (sdbout_parms): Verify that parms'
5196         incoming argument is valid.
5197         (sdbout_reg_parms): Likewise.
5199 2014-03-18  Richard Henderson  <rth@redhat.com>
5201         PR target/60562
5202         * config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to
5203         be shadowed by *float<SWI48><MODEF>2_sse.  Test X87_ENABLE_FLOAT.
5204         (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0.
5206 2014-03-18  Basile Starynkevitch  <basile@starynkevitch.net>
5208         * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
5209         * doc/plugins.texi (Plugin callbacks): Mention PLUGIN_INCLUDE_FILE.
5210         Italicize plugin event names in description.  Explain that
5211         PLUGIN_PRAGMAS has no sense for lto1.  Explain PLUGIN_INCLUDE_FILE.
5212         Remind that no GCC functions should be called after PLUGIN_FINISH.
5213         Explain what pragmas with expansion are.
5215 2014-03-18  Martin Liska  <mliska@suse.cz>
5217         * cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when
5218         gimple call statement is update.
5219         * gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and
5220         GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL.
5222 2014-03-18  Jakub Jelinek  <jakub@redhat.com>
5224         PR sanitizer/60557
5225         * ubsan.c (ubsan_instrument_unreachable): Call
5226         initialize_sanitizer_builtins.
5227         (ubsan_pass): Likewise.
5229         PR sanitizer/60535
5230         * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
5231         varpool_finalize_decl instead of rest_of_decl_compilation.
5233 2014-03-18  Richard Biener  <rguenther@suse.de>
5235         * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
5236         by using bitmap_and_compl instead of bitmap_and_compl_into.
5237         (df_rd_transfer_function): Likewise.
5239 2014-03-18  Richard Biener  <rguenther@suse.de>
5241         * doc/lto.texi (fresolution): Fix typo.
5243 2014-03-18  Richard Biener  <rguenther@suse.de>
5245         * doc/invoke.texi (flto): Update for changes in 4.9.
5247 2014-03-18  Richard Biener  <rguenther@suse.de>
5249         * doc/loop.texi: Remove section on the removed lambda framework.
5250         Update loop docs with recent changes in preserving loop structure.
5252 2014-03-18  Richard Biener  <rguenther@suse.de>
5254         * doc/lto.texi (-fresolution): Document.
5256 2014-03-18  Richard Biener  <rguenther@suse.de>
5258         * doc/contrib.texi: Adjust my name.
5260 2014-03-18  Jakub Jelinek  <jakub@redhat.com>
5262         PR ipa/58721
5263         * internal-fn.c: Include diagnostic-core.h.
5264         (expand_BUILTIN_EXPECT): New function.
5265         * gimplify.c (gimplify_call_expr): Use false instead of FALSE.
5266         (gimplify_modify_expr): Gimplify 3 argument __builtin_expect into
5267         IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call.
5268         * ipa-inline-analysis.c (find_foldable_builtin_expect): Handle
5269         IFN_BUILTIN_EXPECT.
5270         * predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT.
5271         Revert 3 argument __builtin_expect code.
5272         (strip_predict_hints): Handle IFN_BUILTIN_EXPECT.
5273         * gimple-fold.c (gimple_fold_call): Likewise.
5274         * tree.h (fold_builtin_expect): New prototype.
5275         * builtins.c (build_builtin_expect_predicate): Add predictor
5276         argument, if non-NULL, create 3 argument __builtin_expect.
5277         (fold_builtin_expect): No longer static.  Add ARG2 argument,
5278         pass it through to build_builtin_expect_predicate.
5279         (fold_builtin_2): Adjust caller.
5280         (fold_builtin_3): Handle BUILT_IN_EXPECT.
5281         * internal-fn.def (BUILTIN_EXPECT): New.
5283 2014-03-18  Tobias Burnus  <burnus@net-b.de>
5285         PR ipa/58721
5286         * predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC,
5287         PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO,
5288         PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add.
5290 2014-03-18  Jan Hubicka  <hubicka@ucw.cz>
5292         PR ipa/58721
5293         * predict.c (combine_predictions_for_bb): Fix up formatting.
5294         (expr_expected_value_1, expr_expected_value): Add predictor argument,
5295         fill what it points to if non-NULL.
5296         (tree_predict_by_opcode): Adjust caller, use the predictor.
5297         * predict.def (PRED_COMPARE_AND_SWAP): Add.
5299 2014-03-18  Eric Botcazou  <ebotcazou@adacore.com>
5301         * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
5302         proper constant for the store mode.
5304 2014-03-18  Ilya Enkovich  <ilya.enkovich@intel.com>
5306         * symtab.c (change_decl_assembler_name): Fix transparent alias
5307         chain construction.
5309 2014-03-16  Renlin Li  <Renlin.Li@arm.com>
5311         * config/aarch64/aarch64.c: Correct the comments about the
5312         aarch64 stack layout.
5314 2014-03-18  Thomas Schwinge  <thomas@codesourcery.com>
5316         * omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore
5317         check for GF_OMP_FOR_KIND_FOR.
5319 2013-03-18  Kirill Yukhin  <kirill.yukhin@intel.com>
5321         * config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
5322         ymm and zmm register names.
5324 2014-03-17  Jakub Jelinek  <jakub@redhat.com>
5326         PR target/60516
5327         * config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
5328         note creation for the 2010-08-31 changes.
5330 2014-03-17  Marek Polacek  <polacek@redhat.com>
5332         PR middle-end/60534
5333         * omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same
5334         as -fno-tree-loop-vectorize.
5335         (expand_omp_simd): Likewise.
5337 2014-03-15  Eric Botcazou  <ebotcazou@adacore.com>
5339         * config/sparc/sparc-protos.h (tls_call_delay): Delete.
5340         (eligible_for_call_delay): New prototype.
5341         * config/sparc/sparc.c (tls_call_delay): Rename into...
5342         (eligible_for_call_delay): ...this.  Return false if the instruction
5343         cannot be put in the delay slot of a branch.
5344         (eligible_for_restore_insn): Simplify.
5345         (eligible_for_return_delay): Return false if the instruction cannot be
5346         put in the delay slot of a branch and simplify.
5347         (eligible_for_sibcall_delay): Return false if the instruction cannot be
5348         put in the delay slot of a branch.
5349         * config/sparc/sparc.md (fix_ut699): New attribute.
5350         (tls_call_delay): Delete.
5351         (in_call_delay): Reimplement.
5352         (eligible_for_sibcall_delay): Rename into...
5353         (in_sibcall_delay): ...this.
5354         (eligible_for_return_delay): Rename into...
5355         (in_return_delay): ...this.
5356         (in_branch_delay): Reimplement.
5357         (in_uncond_branch_delay): Delete.
5358         (in_annul_branch_delay): Delete.
5360 2014-03-14  Richard Henderson  <rth@redhat.com>
5362         PR target/60525
5363         * config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename
5364         define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand.
5365         (*floathi<X87MODEF>2_i387_with_temp): Remove.
5366         (floathi splitters): Remove.
5367         (float<SWI48x>xf2): New pattern.
5368         (float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2.  Drop
5369         code that tried to handle DImode for 32-bit, but which was excluded
5370         by the pattern's condition.  Drop allocation of stack temporary.
5371         (*floatsi<MODEF>2_vector_mixed_with_temp): Remove.
5372         (*float<SWI48><MODEF>2_mixed_with_temp): Remove.
5373         (*float<SWI48><MODEF>2_mixed_interunit): Remove.
5374         (*float<SWI48><MODEF>2_mixed_nointerunit): Remove.
5375         (*floatsi<MODEF>2_vector_sse_with_temp): Remove.
5376         (*float<SWI48><MODEF>2_sse_with_temp): Remove.
5377         (*float<SWI48><MODEF>2_sse_interunit): Remove.
5378         (*float<SWI48><MODEF>2_sse_nointerunit): Remove.
5379         (*float<SWI48x><X87MODEF>2_i387_with_temp): Remove.
5380         (*float<SWI48x><X87MODEF>2_i387): Remove.
5381         (all float _with_temp splitters): Remove.
5382         (*float<SWI48x><MODEF>2_i387): New pattern.
5383         (*float<SWI48><MODEF>2_sse): New pattern.
5384         (float TARGET_USE_VECTOR_CONVERTS splitters): Merge them.
5385         (float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them.
5387 2014-03-14  Jakub Jelinek  <jakub@redhat.com>
5388             Marek Polacek  <polacek@redhat.com>
5390         PR middle-end/60484
5391         * common.opt (dump_base_name_prefixed): New Variable.
5392         * opts.c (finish_options): Don't prepend directory to x_dump_base_name
5393         if x_dump_base_name_prefixed is already set, set it at the end.
5395 2014-03-14  Vladimir Makarov  <vmakarov@redhat.com>
5397         PR rtl-optimization/60508
5398         * lra-constraints.c (get_reload_reg): Add new parameter
5399         in_subreg_p.
5400         (process_addr_reg, simplify_operand_subreg, curr_insn_transform):
5401         Pass the new parameter values.
5403 2014-03-14  Richard Biener  <rguenther@suse.de>
5405         * common.opt: Revert unintented changes from r205065.
5406         * opts.c: Likewise.
5408 2014-03-14  Richard Biener  <rguenther@suse.de>
5410         PR middle-end/60518
5411         * cfghooks.c (split_block): Properly adjust all loops the
5412         block was a latch of.
5414 2014-03-14  Martin Jambor  <mjambor@suse.cz>
5416         PR lto/60461
5417         * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
5418         and simplify it.
5420 2014-03-14  Georg-Johann Lay  <avr@gjlay.de>
5422         PR target/59396
5423         * config/avr/avr.c (avr_set_current_function): Pass function name
5424         through default_strip_name_encoding before sanity checking instead
5425         of skipping the first char of the assembler name.
5427 2014-03-13  Richard Henderson  <rth@redhat.com>
5429         PR debug/60438
5430         * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
5431         (ix86_force_to_memory, ix86_free_from_memory): Remove.
5432         * config/i386/i386-protos.h: Likewise.
5433         * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
5434         in the expander instead of a splitter.
5435         (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
5436         any possibility of requiring a memory.
5437         (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
5438         (*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
5439         (fp branch splitters): Update for ix86_split_fp_branch.
5440         (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
5441         (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
5442         (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
5443         (*fop_<MODEF>_2_i387): Remove f/r alternative.
5444         (*fop_<MODEF>_3_i387): Likewise.
5445         (*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
5446         (splitters for the fop_* register patterns): Remove.
5447         (fscalexf4_i387): Rename from *fscalexf4_i387.
5448         (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.
5450 2014-03-13  Jakub Jelinek  <jakub@redhat.com>
5452         PR tree-optimization/59779
5453         * tree-dfa.c (get_ref_base_and_extent): Use double_int
5454         type for bitsize and maxsize instead of HOST_WIDE_INT.
5456 2014-03-13  Steven Bosscher  <steven@gcc.gnu.org>
5458         PR rtl-optimization/57320
5459         * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
5460         the CFG after thread_prologue_and_epilogue_insns.
5462 2014-03-13  Vladimir Makarov  <vmakarov@redhat.com>
5464         PR rtl-optimization/57189
5465         * lra-constraints.c (process_alt_operands): Disfavor spilling
5466         vector pseudos.
5468 2014-03-13  Cesar Philippidis  <cesar@codesourcery.com>
5470         * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages.
5472 2014-03-13  Jakub Jelinek  <jakub@redhat.com>
5474         PR tree-optimization/59025
5475         PR middle-end/60418
5476         * tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
5477         same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.
5479 2014-03-13  Georg-Johann Lay  <avr@gjlay.de>
5481         PR target/60486
5482         * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
5483         calls of avr_out_plus_1.
5485 2014-03-13  Bin Cheng  <bin.cheng@arm.com>
5487         * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
5488         BB's single pred and update the father loop's latch info later.
5490 2014-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
5492         * config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
5493         (VEC_M): Likewise.
5494         (VEC_N): Likewise.
5495         (VEC_R): Likewise.
5496         (VEC_base): Likewise.
5497         (mov<MODE>, VEC_M modes): If we are loading TImode into VSX
5498         registers, we need to swap double words in little endian mode.
5500         * config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
5501         to be a container mode for 128-bit integer operations added in ISA
5502         2.07.  Unlike TImode and PTImode, the preferred register set is
5503         the Altivec/VMX registers for the 128-bit operations.
5505         * config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
5506         declarations.
5507         (rs6000_split_128bit_ok_p): Likewise.
5509         * config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
5510         macros for creating ISA 2.07 normal and overloaded builtin
5511         functions with 3 arguments.
5512         (BU_P8V_OVERLOAD_3): Likewise.
5513         (VPERM_1T): Add support for V1TImode in 128-bit vector operations
5514         for use as overloaded functions.
5515         (VPERM_1TI_UNS): Likewise.
5516         (VSEL_1TI): Likewise.
5517         (VSEL_1TI_UNS): Likewise.
5518         (ST_INTERNAL_1ti): Likewise.
5519         (LD_INTERNAL_1ti): Likewise.
5520         (XXSEL_1TI): Likewise.
5521         (XXSEL_1TI_UNS): Likewise.
5522         (VPERM_1TI): Likewise.
5523         (VPERM_1TI_UNS): Likewise.
5524         (XXPERMDI_1TI): Likewise.
5525         (SET_1TI): Likewise.
5526         (LXVD2X_V1TI): Likewise.
5527         (STXVD2X_V1TI): Likewise.
5528         (VEC_INIT_V1TI): Likewise.
5529         (VEC_SET_V1TI): Likewise.
5530         (VEC_EXT_V1TI): Likewise.
5531         (EQV_V1TI): Likewise.
5532         (NAND_V1TI): Likewise.
5533         (ORC_V1TI): Likewise.
5534         (VADDCUQ): Add support for 128-bit integer arithmetic instructions
5535         added in ISA 2.07.  Add both normal 'altivec' builtins, and the
5536         overloaded builtin.
5537         (VADDUQM): Likewise.
5538         (VSUBCUQ): Likewise.
5539         (VADDEUQM): Likewise.
5540         (VADDECUQ): Likewise.
5541         (VSUBEUQM): Likewise.
5542         (VSUBECUQ): Likewise.
5544         * config/rs6000/rs6000-c.c (__int128_type): New static to hold
5545         __int128_t and __uint128_t types.
5546         (__uint128_type): Likewise.
5547         (altivec_categorize_keyword): Add support for vector __int128_t,
5548         vector __uint128_t, vector __int128, and vector unsigned __int128
5549         as a container type for TImode operations that need to be done in
5550         VSX/Altivec registers.
5551         (rs6000_macro_to_expand): Likewise.
5552         (altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
5553         to support 128-bit integer instructions vaddcuq, vadduqm,
5554         vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
5555         (altivec_resolve_overloaded_builtin): Add support for V1TImode.
5557         * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
5558         for V1TImode, and set up preferences to use VSX/Altivec registers.
5559         Setup VSX reload handlers.
5560         (rs6000_debug_reg_global): Likewise.
5561         (rs6000_init_hard_regno_mode_ok): Likewise.
5562         (rs6000_preferred_simd_mode): Likewise.
5563         (vspltis_constant): Do not allow V1TImode as easy altivec constants.
5564         (easy_altivec_constant): Likewise.
5565         (output_vec_const_move): Likewise.
5566         (rs6000_expand_vector_set): Convert V1TImode set and extract to
5567         simple move.
5568         (rs6000_expand_vector_extract): Likewise.
5569         (reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
5570         addressing.
5571         (rs6000_const_vec): Add support for V1TImode.
5572         (rs6000_emit_le_vsx_load): Swap double words when loading or
5573         storing TImode/V1TImode.
5574         (rs6000_emit_le_vsx_store): Likewise.
5575         (rs6000_emit_le_vsx_move): Likewise.
5576         (rs6000_emit_move): Add support for V1TImode.
5577         (altivec_expand_ld_builtin): Likewise.
5578         (altivec_expand_st_builtin): Likewise.
5579         (altivec_expand_vec_init_builtin): Likewise.
5580         (altivec_expand_builtin): Likewise.
5581         (rs6000_init_builtins): Add support for V1TImode type.  Add
5582         support for ISA 2.07 128-bit integer builtins.  Define type names
5583         for the VSX/Altivec vector types.
5584         (altivec_init_builtins): Add support for overloaded vector
5585         functions with V1TImode type.
5586         (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode.
5587         (rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
5588         external function.
5589         (rs6000_split_128bit_ok_p): Likewise.
5590         (rs6000_handle_altivec_attribute): Create V1TImode from vector
5591         __int128_t and vector __uint128_t.
5593         * config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
5594         and mode attributes.
5595         (VSX_M): Likewise.
5596         (VSX_M2): Likewise.
5597         (VSm): Likewise.
5598         (VSs): Likewise.
5599         (VSr): Likewise.
5600         (VSv): Likewise.
5601         (VS_scalar): Likewise.
5602         (VS_double): Likewise.
5603         (vsx_set_v1ti): New builtin function to create V1TImode from TImode.
5605         * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether
5606         we support the ISA 2.07 128-bit integer arithmetic instructions.
5607         (ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
5608         (enum rs6000_builtin_type_index): Add fields to hold V1TImode
5609         and TImode types for use with the builtin functions.
5610         (V1TI_type_node): Likewise.
5611         (unsigned_V1TI_type_node): Likewise.
5612         (intTI_type_internal_node): Likewise.
5613         (uintTI_type_internal_node): Likewise.
5615         * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07
5616         128-bit builtin functions.
5617         (UNSPEC_VADDEUQM): Likewise.
5618         (UNSPEC_VADDECUQ): Likewise.
5619         (UNSPEC_VSUBCUQ): Likewise.
5620         (UNSPEC_VSUBEUQM): Likewise.
5621         (UNSPEC_VSUBECUQ): Likewise.
5622         (VM): Add V1TImode to vector mode iterators.
5623         (VM2): Likewise.
5624         (VI_unit): Likewise.
5625         (altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
5626         (altivec_vaddcuq): Likewise.
5627         (altivec_vsubuqm): Likewise.
5628         (altivec_vsubcuq): Likewise.
5629         (altivec_vaddeuqm): Likewise.
5630         (altivec_vaddecuq): Likewise.
5631         (altivec_vsubeuqm): Likewise.
5632         (altivec_vsubecuq): Likewise.
5634         * config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
5635         mode iterators.
5636         (BOOL_128): Likewise.
5637         (BOOL_REGS_OUTPUT): Likewise.
5638         (BOOL_REGS_OP1): Likewise.
5639         (BOOL_REGS_OP2): Likewise.
5640         (BOOL_REGS_UNARY): Likewise.
5641         (BOOL_REGS_AND_CR0): Likewise.
5643         * config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
5644         128-bit integer builtin support.
5645         (vec_vadduqm): Likewise.
5646         (vec_vaddecuq): Likewise.
5647         (vec_vaddeuqm): Likewise.
5648         (vec_vsubecuq): Likewise.
5649         (vec_vsubeuqm): Likewise.
5650         (vec_vsubcuq): Likewise.
5651         (vec_vsubuqm): Likewise.
5653         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
5654         Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
5655         vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
5656         128-bit integer add/subtract to ISA 2.07.
5658 2014-03-12  Joern Rennecke  <joern.rennecke@embecosm.com>
5660         * config/arc/arc.c (arc_predicate_delay_insns):
5661         Fix third argument passed to conditionalize_nonjump.
5663 2014-03-12  Yufeng Zhang  <yufeng.zhang@arm.com>
5665         * config/aarch64/aarch64-builtins.c
5666         (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
5667         BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
5668         * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
5669         instead of __builtin_lfloor.
5670         (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.
5672 2014-03-12  Jakub Jelinek  <jakub@redhat.com>
5674         * tree-ssa-ifcombine.c (forwarder_block_to): New function.
5675         (tree_ssa_ifcombine_bb_1): New function.
5676         (tree_ssa_ifcombine_bb): Use it.  Handle also cases where else_bb
5677         is an empty forwarder block to then_bb or vice versa and then_bb
5678         and else_bb are effectively swapped.
5680 2014-03-12  Christian Bruel  <christian.bruel@st.com>
5682         PR target/60264
5683         * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a
5684         REG_CFA_DEF_CFA note.
5685         (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
5686         (arm_unwind_emit): Allow REG_CFA_DEF_CFA.
5688 2014-03-12  Thomas Preud'homme  <thomas.preudhomme@arm.com>
5690         PR tree-optimization/60454
5691         * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
5693 2014-03-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5695         * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
5696         Do not define target_cpu_default2 to generic.
5697         * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
5698         * config/aarch64/aarch64.c (aarch64_override_options): Update comment.
5699         * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
5701 2014-03-12  Jakub Jelinek  <jakub@redhat.com>
5702             Marc Glisse  <marc.glisse@inria.fr>
5704         PR tree-optimization/60502
5705         * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
5706         instead of build_low_bits_mask.
5708 2014-03-12  Jakub Jelinek  <jakub@redhat.com>
5710         PR middle-end/60482
5711         * tree-vrp.c (register_edge_assert_for_1): Don't add assert
5712         if there are multiple uses, but op doesn't live on E edge.
5713         * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
5714         clobber stmts before __builtin_unreachable.
5716 2014-03-11  Richard Sandiford  <rdsandiford@googlemail.com>
5718         * builtins.c (expand_builtin_setjmp_receiver): Use and clobber
5719         hard_frame_pointer_rtx.
5720         * cse.c (cse_insn): Remove volatile check.
5721         * cselib.c (cselib_process_insn): Likewise.
5722         * dse.c (scan_insn): Likewise.
5724 2014-03-11  Joern Rennecke  <joern.rennecke@embecosm.com>
5726         * config/arc/arc.c (conditionalize_nonjump): New function,
5727         broken out of ...
5728         (arc_ifcvt): ... this.
5729         (arc_predicate_delay_insns): Use it.
5731 2014-03-11  Joern Rennecke  <joern.rennecke@embecosm.com>
5733         * config/arc/predicates.md (extend_operand): During/after reload,
5734         allow const_int_operand.
5735         * config/arc/arc.md (mulsidi3_700): Use extend_operand predicate.
5736         (umulsidi3_700): Likewise.  Change operand 2 constraint back to "cL".
5737         (mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3
5738         to "i".
5739         (umulsi3_highpart_i): Likewise.
5741 2014-03-11  Richard Biener  <rguenther@suse.de>
5743         * tree-ssa-structalias.c (get_constraint_for_ptr_offset):
5744         Add asserts to guard possible wrong-code bugs.
5746 2014-03-11  Richard Biener  <rguenther@suse.de>
5748         PR tree-optimization/60429
5749         PR tree-optimization/60485
5750         * tree-ssa-structalias.c (set_union_with_increment): Properly
5751         take into account all fields that overlap the shifted vars.
5752         (do_sd_constraint): Likewise.
5753         (do_ds_constraint): Likewise.
5754         (get_constraint_for_ptr_offset): Likewise.
5756 2014-03-11  Chung-Lin Tang  <cltang@codesourcery.com>
5758         * config/nios2/nios2.c (machine_function): Add fp_save_offset field.
5759         (nios2_compute_frame_layout):
5760         Add calculation of cfun->machine->fp_save_offset.
5761         (nios2_expand_prologue): Correct setting of frame pointer register
5762         in prologue.
5763         (nios2_expand_epilogue): Update recovery of stack pointer from
5764         frame pointer accordingly.
5765         (nios2_initial_elimination_offset): Update calculation of offset
5766         for eliminating to HARD_FRAME_POINTER_REGNUM.
5768 2014-03-10  Jakub Jelinek  <jakub@redhat.com>
5770         PR ipa/60457
5771         * ipa.c (symtab_remove_unreachable_nodes): Don't call
5772         cgraph_get_create_node on VAR_DECLs.
5774 2014-03-10  Richard Biener  <rguenther@suse.de>
5776         PR middle-end/60474
5777         * tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs.
5779 2014-03-08  Douglas B Rupp  <rupp@gnat.com>
5781         * config/vms/vms.opt (vms_float_format): New variable.
5783 2014-03-08  Tobias Burnus  <burnus@net-b.de>
5785         * doc/invoke.texi (-fcilkplus): Update implementation status.
5787 2014-03-08  Paulo Matos  <paulo@matos-sorge.com>
5788             Richard Biener  <rguenther@suse.de>
5790         * lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
5791         consistently accross all TUs.
5792         (run_gcc): Enable -fshort-double automatically at link at link-time
5793         and disallow override.
5795 2014-03-08  Richard Sandiford  <rdsandiford@googlemail.com>
5797         PR target/58271
5798         * config/mips/mips.c (mips_option_override): Promote -mpaired-single
5799         warning to an error.  Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
5800         if they can't be used.
5802 2014-03-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5804         * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test
5805         for Solaris 11/x86 ld.
5806         * configure: Regenerate.
5808 2014-03-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5810         * configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
5811         (LIB_TLS_SPEC): Save as ld_tls_libs.
5812         (HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
5813         (HAVE_AS_IX86_TLSLDM): New test.
5814         * configure, config.in: Regenerate.
5815         * config/i386/i386.c (legitimize_tls_address): Fall back to
5816         TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
5817         cannot support TLS_MODEL_LOCAL_DYNAMIC.
5818         * config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
5819         instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
5821 2014-03-07  Paulo Matos  <paulo@matos-sorge.com>
5823         * common.opt (fira-loop-pressure): Mark as optimization.
5825 2014-03-07  Thomas Schwinge  <thomas@codesourcery.com>
5827         * langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
5828         an OpenMP mappable type.
5830 2014-03-06  Matthias Klose  <doko@ubuntu.com>
5832         * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
5833         MULTILIB_OSDIRNAMES is not defined.
5835 2014-03-06  Jakub Jelinek  <jakub@redhat.com>
5836             Meador Inge  <meadori@codesourcery.com>
5838         PR target/58595
5839         * config/arm/arm.c (arm_tls_symbol_p): Remove.
5840         (arm_legitimize_address): Call legitimize_tls_address for any
5841         arm_tls_referenced_p expression, handle constant addend.  Call it
5842         before testing for !TARGET_ARM.
5843         (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
5845 2014-03-06  Richard Biener  <rguenther@suse.de>
5847         PR middle-end/60445
5848         PR lto/60424
5849         PR lto/60427
5850         Revert
5851         2014-03-04  Paulo Matos  <paulo@matos-sorge.com>
5853         * tree-streamer.c (record_common_node): Assert we don't record
5854         nodes with type double.
5855         (preload_common_node): Skip type double, complex double and double
5856         pointer since it is now frontend dependent due to fshort-double option.
5858 2014-03-06  Richard Biener  <rguenther@suse.de>
5860         * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
5861         or -fno-lto is specified and the linker has full plugin support.
5862         * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is enabled.
5863         (main): Remove -flto processing, adjust lto_mode using use_plugin late.
5864         * lto-wrapper.c (merge_and_complain): Merge compile-time
5865         optimization levels.
5866         (run_gcc): And pass it through to the link options.
5868 2014-03-06  Alexandre Oliva  <aoliva@redhat.com>
5870         PR debug/60381
5871         Revert:
5872         2014-02-28  Alexandre Oliva  <aoliva@redhat.com>
5873         PR debug/59992
5874         * cselib.c (remove_useless_values): Skip to avoid quadratic
5875         behavior if the condition moved from...
5876         (cselib_process_insn): ... here holds.
5878 2014-03-05  Jakub Jelinek  <jakub@redhat.com>
5880         PR plugins/59335
5881         * Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
5882         ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
5884         PR plugins/59335
5885         * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
5886         (TM_H): Add x86-tune.def.
5888 2014-03-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5890         * config/aarch64/aarch64.c (generic_tunings):
5891         Use cortexa57_extra_costs.
5893 2014-03-05  Jakub Jelinek  <jakub@redhat.com>
5895         PR lto/60404
5896         * cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
5897         of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
5898         * tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
5899         cost for in_lto_p.
5901 2014-03-04  Heiher  <r@hev.cc>
5903         * config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
5904         * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly.
5906 2014-03-04  Uros Bizjak  <ubizjak@gmail.com>
5908         * config/i386/predicates.md (const2356_operand): Change to ...
5909         (const2367_operand): ... this.
5910         * config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use
5911         const2367_operand.
5912         (*avx512pf_scatterpf<mode>sf_mask): Ditto.
5913         (*avx512pf_scatterpf<mode>sf): Ditto.
5914         (avx512pf_scatterpf<mode>df): Ditto.
5915         (*avx512pf_scatterpf<mode>df_mask): Ditto.
5916         (*avx512pf_scatterpf<mode>df): Ditto.
5917         * config/i386/i386.c (ix86_expand_builtin): Update
5918         incorrect hint operand error message.
5920 2014-03-04  Richard Biener  <rguenther@suse.de>
5922         * lto-section-in.c (lto_get_section_data): Fix const cast.
5924 2014-03-04  Paulo Matos  <paulo@matos-sorge.com>
5926         * tree-streamer.c (record_common_node): Assert we don't record
5927         nodes with type double.
5928         (preload_common_node): Skip type double, complex double and double
5929         pointer since it is now frontend dependent due to fshort-double option.
5931 2014-03-04  Richard Biener  <rguenther@suse.de>
5933         PR lto/60405
5934         * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check.
5935         (lto_input_toplevel_asms): Likewise.
5936         * lto-section-in.c (lto_get_section_data): Instead do it here
5937         for every section.
5939 2014-03-04  Richard Biener  <rguenther@suse.de>
5941         PR tree-optimization/60382
5942         * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
5943         dead PHIs a reduction.
5945 2014-03-03  Uros Bizjak  <ubizjak@gmail.com>
5947         * config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct
5948         hint value.
5949         (_mm_prefetch): Move out of GCC target("sse") pragma.
5950         * config/i386/prfchwintrin.h (_m_prefetchw): Move out of
5951         GCC target("prfchw") pragma.
5952         * config/i386/i386.md (prefetch): Emit prefetchwt1 only
5953         for locality <= 2.
5954         * config/i386/i386.c (ix86_option_override_internal): Enable
5955         -mprfchw with -mprefetchwt1.
5957 2014-03-03  Joern Rennecke  <joern.rennecke@embecosm.com>
5959         * config/arc/arc.md (casesi_load) <length attribute alternative 0>:
5960         Mark as varying.
5962 2014-03-03  Joern Rennecke  <joern.rennecke@embecosm.com>
5964         * opts.h (CL_PCH_IGNORE): Define.
5965         * targhooks.c (option_affects_pch_p):
5966         Return false for options that have CL_PCH_IGNORE set.
5967         * opt-functions.awk: Process PchIgnore.
5968         * doc/options.texi: Document PchIgnore.
5970         * config/arc/arc.opt (misize): Add PchIgnore property.
5972 2014-03-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5974         * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
5975         reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax
5976         constraint on constants to permit them being loaded into
5977         GENERAL_REGS or BASE_REGS.
5979 2014-03-03  Nick Clifton  <nickc@redhat.com>
5981         * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add
5982         anti-cacnonical alternatives.
5983         (negandhi3_real): New pattern.
5984         * config/rl78/rl78-virt.md (negandhi3_virt): New pattern.
5986 2014-03-03  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
5988         * config/avr/avr-mcus.def: Remove atxmega16x1.
5989         * config/avr/avr-tables.opt: Regenerate.
5990         * config/avr/t-multilib: Regenerate.
5991         * doc/avr-mmcu.texi: Regenerate.
5993 2014-03-03  Tobias Grosser  <tobias@grosser.es>
5994             Mircea Namolaru  <mircea.namolaru@inria.fr>
5996         PR tree-optimization/58028
5997         * graphite-clast-to-gimple.c (set_cloog_options): Don't remove
5998         scalar dimensions.
6000 2014-03-03  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
6002         * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
6003         not handled by recognizers.
6005 2014-03-03  Jakub Jelinek  <jakub@redhat.com>
6007         PR middle-end/60175
6008         * function.c (expand_function_end): Don't emit
6009         clobber_return_register sequence if clobber_after is a BARRIER.
6010         * cfgexpand.c (construct_exit_block): Append instructions before
6011         return_label to prev_bb.
6013 2014-03-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6015         * config/rs6000/constraints.md: Document reserved use of "wc".
6017 2014-03-02  Jan Hubicka  <hubicka@ucw.cz>
6019         PR ipa/60150
6020         * ipa.c (function_and_variable_visibility): When dissolving comdat
6021         group, also set all symbols to local.
6023 2014-03-02  Jan Hubicka  <hubicka@ucw.cz>
6025         PR ipa/60306
6027         Revert:
6028         2013-12-14   Jan Hubicka  <jh@suse.cz>
6029         PR middle-end/58477
6030         * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
6032 2014-03-02  Jon Beniston  <jon@beniston.com>
6034         PR bootstrap/48230
6035         PR bootstrap/50927
6036         PR bootstrap/52466
6037         PR target/46898
6038         * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect.
6039           (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
6040         * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
6041         (simple_return, *simple_return): New patterns
6042         * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
6043         * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
6045 2014-03-01  Paolo Carlini  <paolo.carlini@oracle.com>
6047         * dwarf2out.c (gen_subprogram_die): Tidy.
6049 2014-03-01  Oleg Endo  <olegendo@gcc.gnu.org>
6051         PR target/60071
6052         * config/sh/sh.md (*mov_t_msb_neg): Split into ...
6053         (*mov_t_msb_neg_negc): ... this new insn.
6055 2014-02-28  Jason Merrill  <jason@redhat.com>
6057         PR c++/58678
6058         * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared
6059         function.
6061 2014-02-28  Paolo Carlini  <paolo.carlini@oracle.com>
6063         PR c++/60314
6064         * dwarf2out.c (decltype_auto_die): New static.
6065         (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'.
6066         (gen_type_die_with_usage): Handle 'decltype(auto)'.
6067         (is_cxx_auto): Likewise.
6069 2014-02-28  Ian Bolton  <ian.bolton@arm.com>
6071         * config/aarch64/aarch64.h: Define __ARM_NEON by default if
6072         we are not using general regs only.
6074 2014-02-28  Richard Biener  <rguenther@suse.de>
6076         PR target/60280
6077         * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
6078         previous fix and only allow to remove trivial pre-headers
6079         and latches.  Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
6080         (remove_forwarder_block): Properly update the latch of a loop.
6082 2014-02-28  Alexandre Oliva  <aoliva@redhat.com>
6084         PR debug/59992
6085         * cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
6086         (cselib_preserved_hash_table): New.
6087         (preserve_constants_and_equivs): Move preserved vals to it.
6088         (cselib_find_slot): Look it up first.
6089         (cselib_init): Initialize it.
6090         (cselib_finish): Release it.
6091         (dump_cselib_table): Dump it.
6093 2014-02-28  Alexandre Oliva  <aoliva@redhat.com>
6095         PR debug/59992
6096         * cselib.c (remove_useless_values): Skip to avoid quadratic
6097         behavior if the condition moved from...
6098         (cselib_process_insn): ... here holds.
6100 2014-02-28  Alexandre Oliva  <aoliva@redhat.com>
6102         PR debug/57232
6103         * var-tracking.c (vt_initialize): Apply the same condition to
6104         preserve the CFA base value.
6106 2014-02-28  Joey Ye  <joey.ye@arm.com>
6108         PR target/PR60169
6109         * config/arm/arm.c (thumb_far_jump_used_p): Don't change
6110         if reload in progress or completed.
6112 2014-02-28  Tobias Burnus  <burnus@net-b.de>
6114         PR middle-end/60147
6115         * tree-pretty-print.c (dump_generic_node, print_declaration): Handle
6116         NAMELIST_DECL.
6118 2014-02-27  H.J. Lu  <hongjiu.lu@intel.com>
6120         * doc/tm.texi.in (Condition Code Status): Update documention for
6121         relative locations of cc0-setter and cc0-user.
6123 2014-02-27  Jeff Law  <law@redhat.com>
6125         PR rtl-optimization/52714
6126         * combine.c (try_combine): When splitting an unrecognized PARALLEL
6127         into two independent simple sets, if I3 is a jump, ensure the
6128         pattern we place into I3 is a (set (pc) ...).
6130 2014-02-27  Mikael Pettersson  <mikpe@it.uu.se>
6131             Jeff Law  <law@redhat.com>
6133         PR rtl-optimization/49847
6134         * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user
6135         are in different blocks.
6136         * doc/tm.texi (Condition Code Status): Update documention for
6137         relative locations of cc0-setter and cc0-user.
6139 2014-02-27  Vladimir Makarov  <vmakarov@redhat.com>
6141         PR target/59222
6142         * lra.c (lra_emit_add): Check SUBREG too.
6144 2014-02-27  Andreas Schwab  <schwab@suse.de>
6146         * config/m68k/m68k.c (m68k_option_override): Disable
6147         -flive-range-shrinkage for classic m68k.
6148         (m68k_override_options_after_change): Likewise.
6150 2014-02-27  Marek Polacek  <polacek@redhat.com>
6152         PR middle-end/59223
6153         * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
6154         -Wmaybe-uninitialized.
6156 2014-02-27  Alan Modra  <amodra@gmail.com>
6158         PR target/57936
6159         * reload1.c (emit_input_reload_insns): When reload_override_in,
6160         set old to rl->in_reg when rl->in_reg is a subreg.
6162 2014-02-26  Richard Biener  <rguenther@suse.de>
6164         PR bootstrap/60343
6165         * lra-assigns.c (spill_for): Avoid mixed-sign comparison.
6167 2014-02-25  Ilya Tocar  <ilya.tocar@intel.com>
6169         * common/config/i386/predicates.md (const1256_operand): Remove.
6170         (const2356_operand): New.
6171         (const_1_to_2_operand): Remove.
6172         * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
6173         (*avx512pf_gatherpf<mode>sf_mask): Ditto.
6174         (*avx512pf_gatherpf<mode>sf): Ditto.
6175         (avx512pf_gatherpf<mode>df): Ditto.
6176         (*avx512pf_gatherpf<mode>df_mask): Ditto.
6177         (*avx512pf_gatherpf<mode>df): Ditto.
6178         (avx512pf_scatterpf<mode>sf): Ditto.
6179         (*avx512pf_scatterpf<mode>sf_mask): Ditto.
6180         (*avx512pf_scatterpf<mode>sf): Ditto.
6181         (avx512pf_scatterpf<mode>df): Ditto.
6182         (*avx512pf_scatterpf<mode>df_mask): Ditto.
6183         (*avx512pf_scatterpf<mode>df): Ditto.
6184         * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
6186 2014-02-26  Ilya Tocar  <ilya.tocar@intel.com>
6188         * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
6189         (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask),
6190         (_mm512_mask_testn_epi64_mask): Move to ...
6191         * config/i386/avx512cdintrin.h: Here.
6192         * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm.
6193         * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %.
6194         (avx512f_scalef<mode><mask_name><round_name>): Ditto.
6195         (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to
6196         TARGET_AVX512F from TARGET_AVX512CD.
6198 2014-02-26  Richard Biener  <rguenther@suse.de>
6200         PR ipa/60327
6201         * ipa.c (walk_polymorphic_call_targets): Properly guard
6202         call to inline_update_overall_summary.
6204 2014-02-26  Bin Cheng  <bin.cheng@arm.com>
6206         PR target/60280
6207         * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders
6208         and latches only if requested.  Fix latch if it is removed.
6209         * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
6210         LOOPS_HAVE_PREHEADERS.
6212 2014-02-25  Andrew Pinski  <apinski@cavium.com>
6214         * builtins.c (expand_builtin_thread_pointer): Create a new target
6215         when the target is NULL.
6217 2014-02-25  Vladimir Makarov  <vmakarov@redhat.com>
6219         PR rtl-optimization/60317
6220         * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
6221         * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
6222         * lra-assigns.c: Include params.h.
6223         (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for
6224         other reload pseudos considerations.
6226 2014-02-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6228         * config/rs6000/vector.md (*vector_unordered<mode>): Change split
6229         to use canonical form for nor<mode>3.
6231 2014-02-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
6233         PR target/55426
6234         * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
6235         conversions.
6237 2014-02-25  Ilya Tocar  <ilya.tocar@intel.com>
6239         * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET),
6240         (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New.
6241         (ix86_handle_option): Handle OPT_mprefetchwt1.
6242         * config/i386/cpuid.h (bit_PREFETCHWT1): New.
6243         * config/i386/driver-i386.c (host_detect_local_cpu): Detect
6244         PREFETCHWT1 CPUID.
6245         * config/i386/i386-c.c (ix86_target_macros_internal): Handle
6246         OPTION_MASK_ISA_PREFETCHWT1.
6247         * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1.
6248         (PTA_PREFETCHWT1): New.
6249         (ix86_option_override_internal): Handle PTA_PREFETCHWT1.
6250         (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1.
6251         * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New.
6252         * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
6253         (*prefetch_avx512pf_<mode>_: Change into ...
6254         (*prefetch_prefetchwt1_<mode>: This.
6255         * config/i386/i386.opt (mprefetchwt1): New.
6256         * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1.
6257         (_mm_prefetch): Handle intent to write.
6258         * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument.
6260 2014-02-25  Richard Biener  <rguenther@suse.de>
6262         PR middle-end/60291
6263         * emit-rtl.c (mem_attrs_htab): Remove.
6264         (mem_attrs_htab_hash): Likewise.
6265         (mem_attrs_htab_eq): Likewise.
6266         (set_mem_attrs): Always allocate new mem-attrs when something changed.
6267         (init_emit_once): Do not allocate mem_attrs_htab.
6269 2014-02-25  Richard Biener  <rguenther@suse.de>
6271         PR lto/60319
6272         * lto-opts.c (lto_write_options): Output non-explicit conservative
6273         -fwrapv, -fno-trapv and -fno-strict-overflow.
6274         * lto-wrapper.c (merge_and_complain): Handle merging those options.
6275         (run_gcc): And pass them through.
6277 2014-02-25  Andrey Belevantsev  <abel@ispras.ru>
6279         * sel-sched.c (calculate_new_fences): New parameter ptime.
6280         Calculate it as a maximum over all fence cycles.
6281         (sel_sched_region_2): Adjust the call to calculate_new_fences.
6282         Print the final schedule timing when sched_verbose.
6284 2014-02-25  Andrey Belevantsev  <abel@ispras.ru>
6286         PR rtl-optimization/60292
6287         * sel-sched.c (fill_vec_av_set): Do not reset target availability
6288         bit fot the fence instruction.
6290 2014-02-24  Alangi Derick  <alangiderick@gmail.com>
6292         * calls.h: Fix typo in comment.
6294 2014-02-24  John David Anglin  <danglin@gcc.gnu.org>
6296         * config/pa/pa.c (pa_output_move_double): Don't valididate when
6297         adjusting offsetable addresses.
6299 2014-02-24  Guozhi Wei  <carrot@google.com>
6301         * sparseset.h (sparseset_pop): Fix the wrong index.
6303 2014-02-24  Walter Lee  <walt@tilera.com>
6305         * config.gcc (tilepro-*-*): Change to tilepro*-*-*.
6306         (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
6307         triplet.
6308         * common/config/tilegx/tilegx-common.c
6309         (TARGET_DEFAULT_TARGET_FLAGS): Define.
6310         * config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
6311         (LINK_SPEC): Ditto.
6312         * config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
6313         * config/tilegx/tilegx.c (tilegx_return_in_msb): New.
6314         (tilegx_gimplify_va_arg_expr): Handle big endian.
6315         (tilegx_expand_unaligned_load): Ditto.
6316         (tilegx_expand_unaligned_store): Ditto.
6317         (TARGET_RETURN_IN_MSB): New.
6318         * config/tilegx/tilegx.h (TARGET_DEFAULT): New.
6319         (TARGET_ENDIAN_DEFAULT): New.
6320         (TARGET_BIG_ENDIAN): Handle big endian.
6321         (BYTES_BIG_ENDIAN): Ditto.
6322         (WORDS_BIG_ENDIAN): Ditto.
6323         (FLOAT_WORDS_BIG_ENDIAN): Ditto.
6324         (ENDIAN_SPEC): New.
6325         (EXTRA_SPECS): New.
6326         * config/tilegx/tilegx.md (extv): Handle big endian.
6327         (extzv): Ditto.
6328         (insn_st<n>): Ditto.
6329         (insn_st<n>_add<bitsuffix>): Ditto.
6330         (insn_stnt<n>): Ditto.
6331         (insn_stnt<n>_add<bitsuffix>):Ditto.
6332         (vec_interleave_highv8qi): Handle big endian.
6333         (vec_interleave_highv8qi_be): New.
6334         (vec_interleave_highv8qi_le): New.
6335         (insn_v1int_h): Handle big endian.
6336         (vec_interleave_lowv8qi): Handle big endian.
6337         (vec_interleave_lowv8qi_be): New.
6338         (vec_interleave_lowv8qi_le): New.
6339         (insn_v1int_l): Handle big endian.
6340         (vec_interleave_highv4hi): Handle big endian.
6341         (vec_interleave_highv4hi_be): New.
6342         (vec_interleave_highv4hi_le): New.
6343         (insn_v2int_h): Handle big endian.
6344         (vec_interleave_lowv4hi): Handle big endian.
6345         (vec_interleave_lowv4hi_be): New.
6346         (vec_interleave_lowv4hi_le): New.
6347         (insn_v2int_l): Handle big endian.
6348         (vec_interleave_highv2si): Handle big endian.
6349         (vec_interleave_highv2si_be): New.
6350         (vec_interleave_highv2si_le): New.
6351         (insn_v4int_h): Handle big endian.
6352         (vec_interleave_lowv2si): Handle big endian.
6353         (vec_interleave_lowv2si_be): New.
6354         (vec_interleave_lowv2si_le): New.
6355         (insn_v4int_l): Handle big endian.
6356         * config/tilegx/tilegx.opt (mbig-endian): New option.
6357         (mlittle-endian): New option.
6358         * doc/install.texi: Document tilegxbe-linux.
6359         * doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
6361 2014-02-24  Martin Jambor  <mjambor@suse.cz>
6363         PR ipa/60266
6364         * ipa-cp.c (propagate_constants_accross_call): Bail out early if
6365         there are no parameter descriptors.
6367 2014-02-24  Andrey Belevantsev  <abel@ispras.ru>
6369         PR rtl-optimization/60268
6370         * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
6371         initialization to ...
6372         (sched_rgn_init): ... here.
6373         (schedule_region): Check for SCHED_PRESSURE_NONE earlier.
6375 2014-02-23  David Holsgrove  <david.holsgrove@xilinx.com>
6377         * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
6378         names.
6380 2014-02-23  Edgar E. Iglesias  <edgar.iglesias@xilinx.com>
6382         * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
6383         definition.
6385 2014-02-23  David Holsgrove  <david.holsgrove@xilinx.com>
6387         * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk,
6388         define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK.
6390 2014-02-23  David Holsgrove  <david.holsgrove@xilinx.com>
6392         * config/microblaze/predicates.md: Add cmp_op predicate.
6393         * config/microblaze/microblaze.md: Add branch_compare instruction
6394         which uses cmp_op predicate and emits cmp insn before branch.
6395         * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
6396         to microblaze_expand_conditional_branch and consolidate logic.
6397         (microblaze_expand_conditional_branch): emit branch_compare
6398         insn instead of handling cmp op separate from branch insn.
6400 2014-02-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6402         * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
6403         to permit subregs.
6405 2014-02-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6407         * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
6408         define_insn with define_expand and new define_insn
6409         *altivec_lve<VI_char>x_internal.
6410         (altivec_stve<VI_char>x): Replace define_insn with define_expand
6411         and new define_insn *altivec_stve<VI_char>x_internal.
6412         * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
6413         prototype.
6414         * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
6415         lve*x built-ins.
6416         (altivec_expand_stvex_be): New function.
6418 2014-02-22  Joern Rennecke  <joern.rennecke@embecosm.com>
6420         * config/avr/avr.c (avr_can_eliminate): Allow elimination from
6421         ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed.
6422         * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
6423         ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
6425 2014-02-21  Vladimir Makarov  <vmakarov@redhat.com>
6427         PR target/60298
6428         * lra-constraints.c (inherit_reload_reg): Use lra_emit_move
6429         instead of emit_move_insn.
6431 2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6433         * config/rs6000/altivec.md (altivec_vsumsws): Replace second
6434         vspltw with vsldoi.
6435         (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
6436         gen_altivec_vsumsws.
6438 2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6440         * config/rs6000/altivec.md (altivec_lvxl): Rename as
6441         *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
6442         (altivec_lvxl_<mode>): New define_expand incorporating
6443         -maltivec=be semantics where needed.
6444         (altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
6445         (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
6446         semantics where needed.
6447         (altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
6448         (altivec_stvx_<mode>): New define_expand incorporating
6449         -maltivec=be semantics where needed.
6450         (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
6451         VM2 iterator instead of V4SI.
6452         (altivec_stvxl_<mode>): New define_expand incorporating
6453         -maltivec=be semantics where needed.
6454         * config/rs6000/rs6000-builtin.def: Add new built-in definitions
6455         LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
6456         LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF,
6457         STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF,
6458         STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI.
6459         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
6460         ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
6461         similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
6462         ALTIVEC_BUILTIN_STVXL.
6463         * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype.
6464         (altivec_expand_stvx_be): Likewise.
6465         * config/rs6000/rs6000.c (swap_selector_for_mode): New function.
6466         (altivec_expand_lvx_be): Likewise.
6467         (altivec_expand_stvx_be): Likewise.
6468         (altivec_expand_builtin): Add cases for
6469         ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
6470         ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
6471         (altivec_init_builtins): Add definitions for
6472         __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
6473         __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>.
6475 2014-02-21  Catherine Moore  <clm@codesourcery.com>
6477         * doc/invoke.texi (mvirt, mno-virt): Document.
6478         * config/mips/mips.opt (mvirt): New option.
6479         * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
6481 2014-02-21  Richard Biener  <rguenther@suse.de>
6483         PR tree-optimization/60276
6484         * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
6485         (STMT_VINFO_MIN_NEG_DIST): New macro.
6486         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
6487         STMT_VINFO_MIN_NEG_DIST.
6488         * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
6489         made for negative dependence distances still hold.
6491 2014-02-21  Richard Biener  <rguenther@suse.de>
6493         PR middle-end/60291
6494         * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
6495         DECL_INITIAL for globals not in the current function context.
6497 2014-02-21  Jakub Jelinek  <jakub@redhat.com>
6499         PR tree-optimization/56490
6500         * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
6501         * tree-ssa-uninit.c: Include params.h.
6502         (compute_control_dep_chain): Add num_calls argument, return false
6503         if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
6504         num_calls to recursive call.
6505         (find_predicates): Change dep_chain into normal array,
6506         cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
6507         variable and adjust compute_control_dep_chain caller.
6508         (find_def_preds): Likewise.
6510 2014-02-21  Thomas Schwinge  <thomas@codesourcery.com>
6512         * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
6513         <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
6515 2014-02-21  Nick Clifton  <nickc@redhat.com>
6517         * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
6518         (pushhi1): Likewise.
6519         (popqi1): Add mode to pre_dec.
6520         (pophi1): Likewise.
6522 2014-02-21  Jakub Jelinek  <jakub@redhat.com>
6524         * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
6525         mode for mask of V8SFmode permutation.
6527 2014-02-20  Richard Henderson  <rth@redhat.com>
6529         PR c++/60272
6530         * builtins.c (expand_builtin_atomic_compare_exchange): Always make
6531         a new pseudo for OLDVAL.
6533 2014-02-20  Jakub Jelinek  <jakub@redhat.com>
6535         PR target/57896
6536         * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
6537         gen_reg_rtx if d->testing_p.
6538         (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
6539         if d->testing_p and we will certainly return true.
6540         (expand_vec_perm_even_odd_1): Likewise.  Don't call gen_reg_rtx
6541         if d->testing_p.
6543 2014-02-20  Uros Bizjak  <ubizjak@gmail.com>
6545         * emit-rtl.c (gen_reg_rtx): Assert that
6546         crtl->emit.regno_pointer_align_length is non-zero.
6548 2014-02-20  Richard Henderson  <rth@redhat.com>
6550         PR c++/60272
6551         * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
6552         on failure the store back into EXPECT.
6554 2014-02-20  Chung-Lin Tang  <cltang@codesourcery.com>
6555             Sandra Loosemore  <sandra@codesourcery.com>
6557         * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
6558         * config/nios2/nios2.c (nios2_function_profiler): Add
6559         -fPIC (flag_pic == 2) support.
6560         (nios2_handle_custom_fpu_cfg): Fix warning parameter.
6561         (nios2_large_offset_p): New function.
6562         (nios2_unspec_reloc_p): Move up position, update to use
6563         nios2_large_offset_p.
6564         (nios2_unspec_address): Remove function.
6565         (nios2_unspec_offset): New function.
6566         (nios2_large_got_address): New function.
6567         (nios2_got_address): Add large offset support.
6568         (nios2_legitimize_tls_address): Update usage of removed and new
6569         functions.
6570         (nios2_symbol_binds_local_p): New function.
6571         (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
6572         (nios2_legitimize_address): Update to use nios2_large_offset_p.
6573         (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
6574         (nios2_print_operand): Merge H/L processing, add hiadj/lo
6575         processing for (const (unspec ...)).
6576         (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
6578 2014-02-20  Richard Biener  <rguenther@suse.de>
6580         * tree-cfg.c (replace_uses_by): Mark altered BBs before
6581         doing the substitution.
6582         (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
6584 2014-02-20  Martin Jambor  <mjambor@suse.cz>
6586         PR ipa/55260
6587         * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
6588         info when checking whether lattices are bottom.
6590 2014-02-20  Richard Biener  <rguenther@suse.de>
6592         PR middle-end/60221
6593         * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
6594         regions at -O0.
6596 2014-02-20  Jan Hubicka  <hubicka@ucw.cz>
6598         PR ipa/58555
6599         * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
6600         parameter specifying the scaling.
6601         (inline_call): Update.
6602         (want_inline_recursively): Guard division by zero.
6603         (recursive_inlining): Update.
6604         * ipa-inline.h (clone_inlined_nodes): Update.
6606 2014-02-20  Ilya Tocar  <ilya.tocar@intel.com>
6608         PR target/60204
6609         * config/i386/i386.c (classify_argument): Pass structures of size
6610         64 bytes or less in register.
6612 2014-02-20  Ilya Tocar  <ilya.tocar@intel.com>
6613             Kirill Yukhin  <kirill.yukhin@intel.com>
6615         * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
6616         (_mm_rcp28_round_ss): Ditto.
6617         (_mm_rsqrt28_round_sd): Ditto.
6618         (_mm_rsqrt28_round_ss): Ditto.
6619         * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
6620         (_mm_rcp14_round_ss): Ditto.
6621         (_mm_rsqrt14_round_sd): Ditto.
6622         (_mm_rsqrt14_round_ss): Ditto.
6623         * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
6624         the first input operand, get rid of match_dup.
6625         (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
6626         attribute to sse.
6627         (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
6628         Ditto.
6629         (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
6630         operand as the first input operand, set type attribute.
6631         (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
6632         Set type attribute.
6633         (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
6634         operand as the first input operand, set type attribute.
6636 2014-02-19  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6638         * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
6639         bit of zero.
6641 2014-02-19  H.J. Lu  <hongjiu.lu@intel.com>
6643         PR target/60207
6644         * config/i386/i386.c (construct_container): Remove TFmode check
6645         for X86_64_INTEGER_CLASS.
6647 2014-02-19  Uros Bizjak  <ubizjak@gmail.com>
6649         PR target/59794
6650         * config/i386/i386.c (type_natural_mode): Warn for ABI changes
6651         only when -Wpsabi is enabled.
6653 2014-02-19  Michael Hudson-Doyle  <michael.hudson@linaro.org>
6655          PR target/59799
6656         * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
6657         passing arrays in registers are the same as for structs, so remove the
6658         special case for them.
6660 2014-02-19  Eric Botcazou  <ebotcazou@adacore.com>
6662         * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
6663         destination type, extract only the valid bits if the source type is not
6664         integral and has a different mode.
6666 2014-02-19  Richard Biener  <rguenther@suse.de>
6668         PR ipa/60243
6669         * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
6670         for all calls.
6672 2014-02-19  Richard Biener  <rguenther@suse.de>
6674         PR ipa/60243
6675         * ipa-prop.c: Include stringpool.h and tree-ssanames.h.
6676         (ipa_modify_call_arguments): Emit an argument load explicitely and
6677         preserve virtual SSA form there and for the replacement call.
6678         Do not update SSA form nor free dominance info.
6680 2014-02-18  Jan Hubicka  <hubicka@ucw.cz>
6682         * ipa.c (function_and_variable_visibility): Also clear WEAK
6683         flag when disolving COMDAT_GROUP.
6685 2014-02-18  Jan Hubicka  <hubicka@ucw.cz>
6687         * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
6688         * ipa-prop.c (ipa_set_jf_known_type): Return early when
6689         not devirtualizing.
6690         (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved;
6691         do more sanity checks.
6692         (detect_type_change): Return true when giving up early.
6693         (compute_complex_assign_jump_func): Fix type parameter of
6694         ipa_set_ancestor_jf.
6695         (compute_complex_ancestor_jump_func): Likewise.
6696         (update_jump_functions_after_inlining): Fix updating of
6697         ancestor function.
6698         * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
6700 2014-02-18  Jan Hubicka  <hubicka@ucw.cz>
6702         * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove
6703         inline clones when edge disappears.
6705 2014-02-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
6707         PR target/60203
6708         * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
6709         Split 64-bit moves into 2 patterns.  Do not allow the use of
6710         direct move for TDmode in little endian, since the decimal value
6711         has little endian bytes within a word, but the 64-bit pieces are
6712         ordered in a big endian fashion, and normal subreg's of TDmode are
6713         not allowed.
6714         (mov<mode>_64bit_dm): Likewise.
6715         (movtd_64bit_nodm): Likewise.
6717 2014-02-18  Eric Botcazou  <ebotcazou@adacore.com>
6719         PR tree-optimization/60174
6720         * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining
6721         statement of an SSA_NAME that occurs in an abnormal PHI node.
6723 2014-02-18  Jakub Jelinek  <jakub@redhat.com>
6725         PR sanitizer/60142
6726         * final.c (SEEN_BB): Remove.
6727         (SEEN_NOTE, SEEN_EMITTED): Renumber.
6728         (final_scan_insn): Don't force_source_line on second
6729         NOTE_INSN_BASIC_BLOCK.
6731 2014-02-18  Uros Bizjak  <ubizjak@gmail.com>
6733         PR target/60205
6734         * config/i386/i386.h (struct ix86_args): Add warn_avx512f.
6735         * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f.
6736         (type_natural_mode): Warn ABI change when %zmm register is not
6737         available for AVX512F vector value passing.
6739 2014-02-18  Kai Tietz  <ktietz@redhat.com>
6741         PR target/60193
6742         * config/i386/i386.c (ix86_expand_prologue): Use value in
6743         rax register as displacement when restoring %r10 or %rax.
6744         Fix wrong offset when restoring both registers.
6746 2014-02-18  Eric Botcazou  <ebotcazou@adacore.com>
6748         * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
6749         assertion with conditional return.
6751 2014-02-18  Jakub Jelinek  <jakub@redhat.com>
6752             Uros Bizjak  <ubizjak@gmail.com>
6754         PR driver/60233
6755         * config/i386/driver-i386.c (host_detect_local_cpu): If
6756         YMM state is not saved by the OS, also clear has_f16c.  Move
6757         CPUID 0x80000001 handling before YMM state saving checking.
6759 2014-02-18  Andrey Belevantsev  <abel@ispras.ru>
6761         PR rtl-optimization/58960
6762         * haifa-sched.c (alloc_global_sched_pressure_data): New,
6763         factored out from ...
6764         (sched_init): ... here.
6765         (free_global_sched_pressure_data): New, factored out from ...
6766         (sched_finish): ... here.
6767         * sched-int.h (free_global_sched_pressure_data): Declare.
6768         * sched-rgn.c (nr_regions_initial): New static global.
6769         (haifa_find_rgns): Initialize it.
6770         (schedule_region): Disable sched-pressure for the newly
6771         generated regions.
6773 2014-02-17  Richard Biener  <rguenther@suse.de>
6775         * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and
6776         release SSA defs of pattern stmts.
6778 2014-02-17  Richard Biener  <rguenther@suse.de>
6780         * tree-inline.c (expand_call_inline): Release the virtual
6781         operand defined by the call we are about to inline.
6783 2014-02-17  Richard Biener  <rguenther@suse.de>
6785         * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
6787 2014-02-17  Kirill Yukhin  <kirill.yukhin@intel.com>
6788             Ilya Tocar  <ilya.tocar@intel.com>
6790         * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
6791         arguments order in builtin.
6792         (_mm512_permutexvar_epi64): Ditto.
6793         (_mm512_mask_permutexvar_epi64): Ditto
6794         (_mm512_maskz_permutexvar_epi32): Ditto
6795         (_mm512_permutexvar_epi32): Ditto
6796         (_mm512_mask_permutexvar_epi32): Ditto
6798 2014-02-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6800         * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets.
6801         (p8_vmrgow): Likewise.
6803 2014-02-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6805         * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
6806         endian targets.
6808 2014-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
6810         PR target/60203
6811         * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
6812         (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
6813         into 64-bit and 32-bit moves.  On 64-bit moves, add support for
6814         using direct move instructions on ISA 2.07.  Also adjust
6815         instruction length for 64-bit.
6816         (mov<mode>_64bit, TFmode/TDmode): Likewise.
6817         (mov<mode>_32bit, TFmode/TDmode): Likewise.
6819 2014-02-15  Alan Modra  <amodra@gmail.com>
6821         PR target/58675
6822         PR target/57935
6823         * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
6824         find_replacement on parts of insn rtl that might be reloaded.
6826 2014-02-15  Richard Biener  <rguenther@suse.de>
6828         PR tree-optimization/60183
6829         * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads.
6830         (tree_ssa_phiprop): Calculate and free post-dominators.
6832 2014-02-14  Jeff Law  <law@redhat.com>
6834         PR rtl-optimization/60131
6835         * ree.c (get_extended_src_reg): New function.
6836         (combine_reaching_defs): Use it rather than assuming location of REG.
6837         (find_and_remove_re): Verify first operand of extension is
6838         a REG before adding the insns to the copy list.
6840 2014-02-14  Roland McGrath  <mcgrathr@google.com>
6842         * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
6843         * configure: Regenerated.
6844         * config.in: Regenerated.
6845         * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
6846         instead of ASM_SHORT.
6848 2014-02-14  Vladimir Makarov  <vmakarov@redhat.com>
6849             Richard Earnshaw  <rearnsha@arm.com>
6851         PR rtl-optimization/59535
6852         * lra-constraints.c (process_alt_operands): Encourage alternative
6853         when unassigned pseudo class is superset of the alternative class.
6854         (inherit_reload_reg): Don't inherit when optimizing for code size.
6855         * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA
6856         returning CORE_REGS for anything but Thumb1 and BASE_REGS for
6857         modes not less than 4 for Thumb1.
6859 2014-02-14  Kyle McMartin  <kyle@redhat.com>
6861         PR pch/60010
6862         * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
6864 2014-02-14  Richard Biener  <rguenther@suse.de>
6866         * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF.
6867         (get_frame_arg): Drop the assert with langhook types_compatible_p.
6868         Do not strip INDIRECT_REFs.
6870 2014-02-14  Richard Biener  <rguenther@suse.de>
6872         PR lto/60179
6873         * lto-streamer-out.c (DFS_write_tree_body): Do not follow
6874         DECL_FUNCTION_SPECIFIC_TARGET.
6875         (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET.
6876         * tree-streamer-out.c (pack_ts_target_option): Remove.
6877         (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION.
6878         (write_ts_function_decl_tree_pointers): Do not stream
6879         DECL_FUNCTION_SPECIFIC_TARGET.
6880         * tree-streamer-in.c (unpack_ts_target_option): Remove.
6881         (unpack_value_fields): Do not stream TS_TARGET_OPTION.
6882         (lto_input_ts_function_decl_tree_pointers): Do not stream
6883         DECL_FUNCTION_SPECIFIC_TARGET.
6885 2014-02-14  Jakub Jelinek  <jakub@redhat.com>
6887         * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice.
6888         (get_initial_def_for_induction, vectorizable_induction): Ignore
6889         debug stmts when looking for exit_phi.
6890         (vectorizable_live_operation): Fix up condition.
6892 2014-02-14  Chung-Ju Wu  <jasonwucj@gmail.com>
6894         * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use
6895         nreverse() because it changes the content of original tree list.
6897 2014-02-14  Chung-Ju Wu  <jasonwucj@gmail.com>
6899         * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment.
6900         * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise.
6902 2014-02-14  Chung-Ju Wu  <jasonwucj@gmail.com>
6904         * config/nds32/nds32.c (nds32_naked_function_p): Follow the
6905         GNU coding standards.
6907 2014-02-13  Jakub Jelinek  <jakub@redhat.com>
6909         PR debug/60152
6910         * dwarf2out.c (gen_subprogram_die): Don't call
6911         add_calling_convention_attribute if subr_die is old_die.
6913 2014-02-13  Sharad Singhai  <singhai@google.com>
6915         * doc/optinfo.texi: Fix order of nodes.
6917 2014-02-13  Uros Bizjak  <ubizjak@gmail.com>
6919         * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
6920         operands[2], not operands[3].
6922 2014-02-13  Richard Biener  <rguenther@suse.de>
6924         PR bootstrap/59878
6925         * doc/install.texi (ISL): Update recommended version to 0.12.2,
6926         mention the possibility of an in-tree build.
6927         (CLooG): Update recommended version to 0.18.1, mention the
6928         possibility of an in-tree build and clarify that the ISL
6929         bundled with CLooG does not work.
6931 2014-02-13  Jakub Jelinek  <jakub@redhat.com>
6933         PR target/43546
6934         * expr.c (compress_float_constant): If x is a hard register,
6935         extend into a pseudo and then move to x.
6937 2014-02-13  Dominik Vogt  <vogt@linux.vnet.ibm.com>
6939         * config/s390/s390.c (s390_asm_output_function_label): Fix crash
6940         caused by bad second argument to warning_at() with -mhotpatch and
6941         nested functions (e.g. with gfortran).
6943 2014-02-13  Richard Sandiford  <rdsandiford@googlemail.com>
6945         * opts.c (option_name): Remove "enabled by default" rider.
6947 2014-02-12  John David Anglin  <danglin@gcc.gnu.org>
6949         * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
6951 2014-02-12  H.J. Lu  <hongjiu.lu@intel.com>
6952             Uros Bizjak  <ubizjak@gmail.com>
6954         PR target/60151
6955         * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
6956         * configure: Regenerated.
6958 2014-02-12  Richard Biener  <rguenther@suse.de>
6960         * vec.c (vec_prefix::calculate_allocation): Move as
6961         inline variant to vec.h.
6962         (vec_prefix::calculate_allocation_1): New out-of-line version.
6963         * vec.h (vec_prefix::calculate_allocation_1): Declare.
6964         (vec_prefix::m_has_auto_buf): Rename to ...
6965         (vec_prefix::m_using_auto_storage): ... this.
6966         (vec_prefix::calculate_allocation): Inline the easy cases
6967         and dispatch to calculate_allocation_1 which doesn't need the
6968         prefix address.
6969         (va_heap::reserve): Use gcc_checking_assert.
6970         (vec<T, A, vl_embed>::embedded_init): Add argument to initialize
6971         m_using_auto_storage.
6972         (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed>
6973         member and adjust.
6974         (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check.
6975         (vec<T, va_heap, vl_ptr>::release): Avoid casting.
6976         (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify.
6978 2014-02-12  Richard Biener  <rguenther@suse.de>
6980         * gcse.c (compute_transp): break from loop over canon_modify_mem_list
6981         when we found a dependence.
6983 2014-02-12  Thomas Schwinge  <thomas@codesourcery.com>
6985         * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move
6986         common code...
6987         (maybe_fold_stmt): ... into this new function.
6988         * omp-low.c (lower_omp): Update comment.
6990         * omp-low.c (lower_omp_target): Add clobber for sizes array, after
6991         last use.
6993         * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
6994         dereference.
6996 2014-02-12  James Greenhalgh  <james.greenhalgh@arm.com>
6998         * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix
6999         identifiers in comments.
7000         (cortexa53_extra_costs): Likewise.
7001         * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments.
7002         (cortexa7_extra_costs): Likewise.
7003         (cortexa12_extra_costs): Likewise.
7004         (cortexa15_extra_costs): Likewise.
7005         (v7m_extra_costs): Likewise.
7007 2014-02-12  Richard Biener  <rguenther@suse.de>
7009         PR middle-end/60092
7010         * gimple-low.c (lower_builtin_posix_memalign): Lower conditional
7011         of posix_memalign being successful.
7012         (lower_stmt): Restrict lowering of posix_memalign to when
7013         -ftree-bit-ccp is enabled.
7015 2014-02-12  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
7017         * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for
7018         arg_loc.
7019         * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
7021 2014-02-12  Eric Botcazou  <ebotcazou@adacore.com>
7023         PR rtl-optimization/60116
7024         * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
7025         other_insn once the combination has been validated.
7027 2014-02-11  Jan Hubicka  <hubicka@ucw.cz>
7029         PR lto/59468
7030         * ipa-utils.h (possible_polymorphic_call_targets): Update prototype
7031         and wrapper.
7032         * ipa-devirt.c: Include demangle.h
7033         (odr_violation_reported): New static variable.
7034         (add_type_duplicate): Update odr_violations.
7035         (maybe_record_node): Add completep parameter; update it.
7036         (record_target_from_binfo): Add COMPLETEP parameter;
7037         update it as needed.
7038         (possible_polymorphic_call_targets_1): Likewise.
7039         (struct polymorphic_call_target_d): Add nonconstruction_targets;
7040         rename FINAL to COMPLETE.
7041         (record_targets_from_bases): Sanity check we found the binfo;
7042         fix COMPLETEP updating.
7043         (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP
7044         parameter, fix computing of COMPLETEP.
7045         (dump_possible_polymorphic_call_targets): Imrove readability of dump;
7046         at LTO time do demangling.
7047         (ipa_devirt): Use nonconstruction_targets; Improve dumps.
7048         * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer
7049         parameter.
7050         (gimple_get_virt_method_for_binfo): Likewise.
7051         * gimple-fold.h (gimple_get_virt_method_for_binfo,
7052         gimple_get_virt_method_for_vtable): Update prototypes.
7054 2014-02-11  Vladimir Makarov  <vmakarov@redhat.com>
7056         PR target/49008
7057         * genautomata.c (add_presence_absence): Fix typo with
7058         {final_}presence_list.
7060 2014-02-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
7062         PR target/60137
7063         * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter
7064         for VSX/Altivec vectors that land in GPR registers.
7066 2014-02-11  Richard Henderson  <rth@redhat.com>
7067             Jakub Jelinek  <jakub@redhat.com>
7069         PR debug/59776
7070         * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
7071         around drhs if type conversion to lacc->type is not useless.
7073 2014-02-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7075         * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57
7076         tuning struct.
7077         (cortex-a57.cortex-a53): Likewise.
7078         * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct.
7080 2014-02-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7082         * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
7083         arm_restrict_it.
7085 2014-02-11  Renlin Li  <Renlin.Li@arm.com>
7087         * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
7088         add_options_for_arm_vfp3.
7090 2014-02-11  Jeff Law  <law@redhat.com>
7092         PR middle-end/54041
7093         * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an
7094         object with an undesirable mode.
7096 2014-02-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7098         PR libgomp/60107
7099         * config/i386/sol2-9.h: New file.
7100         * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
7101         *-*-solaris2.9*): Use it.
7103 2014-02-10  Nagaraju Mekala  <nagaraju.mekala@xilinx.com>
7105         * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
7106         * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
7108 2014-02-10  Nagaraju Mekala  <nagaraju.mekala@xilinx.com>
7110         * config/microblaze/microblaze.c: Extend mcpu version format
7112 2014-02-10  David Holsgrove  <david.holsgrove@xilinx.com>
7114         * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
7116 2014-02-10  Richard Henderson  <rth@redhat.com>
7118         PR target/59927
7119         * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
7120         * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
7121         ms-abi vs -mno-accumulate-outgoing-args.
7122         (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
7123         * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
7124         respect to ms-abi.
7126 2014-02-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>
7128         PR middle-end/60080
7129         * cfgexpand.c (expand_asm_operands): Attach source location to
7130         ASM_INPUT rtx objects.
7131         * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
7133 2014-02-10  Nick Clifton  <nickc@redhat.com>
7135         * config/mn10300/mn10300.c (popcount): New function.
7136         (mn10300_expand_prologue): Include saved registers in stack usage
7137         count.
7139 2014-02-10  Jeff Law  <law@redhat.com>
7141         PR middle-end/52306
7142         * reload1.c (emit_input_reload_insns): Do not create invalid RTL
7143         when changing the SET_DEST of a prior insn to avoid an input reload.
7145 2014-02-10  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7147         * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
7148         big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
7149         -mcall-openbsd, or -mcall-linux.
7150         (CC1_ENDIAN_BIG_SPEC): Remove.
7151         (CC1_ENDIAN_LITTLE_SPEC): Remove.
7152         (CC1_ENDIAN_DEFAULT_SPEC): Remove.
7153         (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
7154         (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
7155         and %cc1_endian_default.
7156         * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
7158 2014-02-10  Richard Biener  <rguenther@suse.de>
7160         PR tree-optimization/60115
7161         * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
7162         MEM_REF handling.  Properly verify that the accesses are not
7163         out of the objects bound.
7165 2014-02-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7167         * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
7168         coretex to cortex.
7170 2014-02-10  Eric Botcazou  <ebotcazou@adacore.com>
7172         * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
7173         proper constants and fix formatting.
7174         (possible_polymorphic_call_targets): Fix formatting.
7176 2014-02-10  Kirill Yukhin  <kirill.yukhin@intel.com>
7177             Ilya Tocar  <ilya.tocar@intel.com>
7179         * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
7180         (_mm512_loadu_epi32): Renamed into...
7181         (_mm512_loadu_si512): This.
7182         (_mm512_storeu_epi32): Renamed into...
7183         (_mm512_storeu_si512): This.
7184         (_mm512_maskz_ceil_ps): Removed.
7185         (_mm512_maskz_ceil_pd): Ditto.
7186         (_mm512_maskz_floor_ps): Ditto.
7187         (_mm512_maskz_floor_pd): Ditto.
7188         (_mm512_floor_round_ps): Ditto.
7189         (_mm512_floor_round_pd): Ditto.
7190         (_mm512_ceil_round_ps): Ditto.
7191         (_mm512_ceil_round_pd): Ditto.
7192         (_mm512_mask_floor_round_ps): Ditto.
7193         (_mm512_mask_floor_round_pd): Ditto.
7194         (_mm512_mask_ceil_round_ps): Ditto.
7195         (_mm512_mask_ceil_round_pd): Ditto.
7196         (_mm512_maskz_floor_round_ps): Ditto.
7197         (_mm512_maskz_floor_round_pd): Ditto.
7198         (_mm512_maskz_ceil_round_ps): Ditto.
7199         (_mm512_maskz_ceil_round_pd): Ditto.
7200         (_mm512_expand_pd): Ditto.
7201         (_mm512_expand_ps): Ditto.
7202         * config/i386/i386.c (ix86_builtins): Remove
7203         IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
7204         (bdesc_args): Ditto.
7205         * config/i386/predicates.md (const1256_operand): New.
7206         (const_1_to_2_operand): Ditto.
7207         * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
7208         (*avx512pf_gatherpf<mode>sf_mask): Ditto.
7209         (*avx512pf_gatherpf<mode>sf): Ditto.
7210         (avx512pf_gatherpf<mode>df): Ditto.
7211         (*avx512pf_gatherpf<mode>df_mask): Ditto.
7212         (*avx512pf_gatherpf<mode>df): Ditto.
7213         (avx512pf_scatterpf<mode>sf): Ditto.
7214         (*avx512pf_scatterpf<mode>sf_mask): Ditto.
7215         (*avx512pf_scatterpf<mode>sf): Ditto.
7216         (avx512pf_scatterpf<mode>df): Ditto.
7217         (*avx512pf_scatterpf<mode>df_mask): Ditto.
7218         (*avx512pf_scatterpf<mode>df): Ditto.
7219         (avx512f_expand<mode>): Removed.
7220         (<shift_insn><mode>3<mask_name>): Change predicate type.
7222 2014-02-08  Jakub Jelinek  <jakub@redhat.com>
7224         * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
7225         not at the end of datarefs vector use ordered_remove to avoid
7226         reordering datarefs vector.
7228         PR c/59984
7229         * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
7230         mark local addressable non-static vars as GOVD_PRIVATE
7231         instead of GOVD_LOCAL.
7232         * omp-low.c (lower_omp_for): Move gimple_bind_vars
7233         and BLOCK_VARS of gimple_bind_block to new_stmt rather
7234         than copying them.
7236         PR middle-end/60092
7237         * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
7238         if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
7239         assume_aligned or alloc_align attributes.
7240         (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
7241         arguments.  Handle also assume_aligned and alloc_align attributes.
7242         (evaluate_stmt): Adjust bit_value_assume_aligned caller.  Handle
7243         calls to functions with assume_aligned or alloc_align attributes.
7244         * doc/extend.texi: Document assume_aligned and alloc_align attributes.
7246 2014-02-08  Terry Guo  <terry.guo@arm.com>
7248         * doc/invoke.texi: Document ARM -march=armv7e-m.
7250 2014-02-08  Jakub Jelinek  <jakub@redhat.com>
7252         * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
7253         flag on __cilkrts_rethrow builtin.
7255         PR ipa/60026
7256         * ipa-cp.c (determine_versionability): Fail at -O0
7257         or __attribute__((optimize (0))) or -fno-ipa-cp functions.
7258         * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
7260         Revert:
7261         2014-02-04  Jakub Jelinek  <jakub@redhat.com>
7263         PR ipa/60026
7264         * tree-inline.c (copy_forbidden): Fail for
7265         __attribute__((optimize (0))) functions.
7267 2014-02-07  Jan Hubicka  <hubicka@ucw.cz>
7269         * varpool.c: Include pointer-set.h.
7270         (varpool_remove_unreferenced_decls): Variables in other partitions
7271         will not be output; be however careful to not lose information
7272         about partitioning.
7274 2014-02-07  Jan Hubicka  <hubicka@ucw.cz>
7276         * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
7277         lookup in the vtable constructor.
7279 2014-02-07  Jeff Law  <law@redhat.com>
7281         PR target/40977
7282         * config/m68k/m68k.md (ashldi_extsi): Turn into a
7283         define_insn_and_split.
7285         * ipa-inline.c (inline_small_functions): Fix typos.
7287 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
7289         * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
7290         (s390_can_use_return_insn): Declare.
7291         * config/s390/s390.h (EPILOGUE_USES): Define.
7292         * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
7293         instructions.
7294         (s390_chunkify_start): Handle return JUMP_LABELs.
7295         (s390_early_mach): Emit a main_pool instruction on the entry edge.
7296         (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
7297         (s390_can_use_return_insn): New functions.
7298         (s390_fix_long_loop_prediction): Handle conditional returns.
7299         (TARGET_SET_UP_BY_PROLOGUE): Define.
7300         * config/s390/s390.md (ANY_RETURN): New code iterator.
7301         (*creturn, *csimple_return, return, simple_return): New patterns.
7303 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
7305         * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
7306         notes to each restore.  Also add REG_CFA_DEF_CFA when restoring %r15.
7307         (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P.  Update the
7308         REG_CFA_RESTORE list when deciding not to restore a register.
7310 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
7312         * config/s390/s390.c: Include tree-pass.h and context.h.
7313         (s390_early_mach): New function, split out from...
7314         (s390_emit_prologue): ...here.
7315         (pass_data_s390_early_mach): New pass structure.
7316         (pass_s390_early_mach): New class.
7317         (s390_option_override): Create and register early_mach pass.
7318         Move to end of file.
7320 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
7322         * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
7323         to match for the exit block.
7325 2014-02-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7327         * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
7328         ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
7329         Reject misaligned operands.
7331 2014-02-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7333         * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail.
7335 2014-02-07  Richard Biener  <rguenther@suse.de>
7337         PR middle-end/60092
7338         * gimple-low.c (lower_builtin_posix_memalign): New function.
7339         (lower_stmt): Call it to lower posix_memalign in a way
7340         to make alignment info accessible.
7342 2014-02-07  Jakub Jelinek  <jakub@redhat.com>
7344         PR c++/60082
7345         * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
7346         __builtin_setjmp_receiver.
7348 2014-02-07  Richard Biener  <rguenther@suse.de>
7350         PR middle-end/60092
7351         * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
7352         * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
7353         * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
7354         Handle BUILT_IN_POSIX_MEMALIGN.
7355         (find_func_clobbers): Likewise.
7356         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
7357         (call_may_clobber_ref_p_1): Likewise.
7359 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
7361         PR ipa/59918
7362         * ipa-devirt.c (record_target_from_binfo): Remove overactive
7363         sanity check.
7365 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
7367         PR ipa/59469
7368         * lto-cgraph.c (lto_output_node): Use
7369         symtab_get_symbol_partitioning_class.
7370         (lto_output_varpool_node): likewise.
7371         (symtab_get_symbol_partitioning_class): Move here from
7372         lto/lto-partition.c
7373         * cgraph.h (symbol_partitioning_class): Likewise.
7374         (symtab_get_symbol_partitioning_class): Declare.
7376 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
7378         * ggc.h (ggc_internal_cleared_alloc): New macro.
7379         * vec.h (vec_safe_copy): Handle memory stats.
7380         * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
7381         * target-globals.c (save_target_globals): Likewise.
7383 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
7385         PR target/60077
7386         * expr.c (emit_move_resolve_push): Export; be bit more selective
7387         on when to clear alias set.
7388         * expr.h (emit_move_resolve_push): Declare.
7389         * function.h (struct function): Add tail_call_marked.
7390         * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
7391         * config/i386/i386-protos.h (ix86_expand_push): Remove.
7392         * config/i386/i386.md (TImode move expander): De not call
7393         ix86_expand_push.
7394         (FP push expanders): Preserve memory attributes.
7395         * config/i386/sse.md (push<mode>1): Remove.
7396         * config/i386/i386.c (ix86_expand_vector_move): Handle push operation.
7397         (ix86_expand_push): Remove.
7398         * config/i386/mmx.md (push<mode>1): Remove.
7400 2014-02-06  Jakub Jelinek  <jakub@redhat.com>
7402         PR rtl-optimization/60030
7403         * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
7404         lopart with paradoxical subreg before shifting it up by hprec.
7406 2014-02-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7408         * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
7409         Remove extra newline at end of file.
7410         * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
7411         (arm_issue_rate): Handle cortexa57.
7412         * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
7413         (cortex-a57.cortex-a53): Likewise.
7415 2014-02-06  Jakub Jelinek  <jakub@redhat.com>
7417         PR target/59575
7418         * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
7419         don't record in REG_FRAME_RELATED_EXPR registers not set in that
7420         bitmask.
7421         (arm_expand_prologue): Adjust all callers.
7422         (arm_unwind_emit_sequence): Allow saved, but not important for unwind
7423         info, registers also at the lowest numbered registers side.  Use
7424         gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
7425         XEXP.
7427         PR debug/59992
7428         * var-tracking.c (adjust_mems): Before adding a SET to
7429         amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx.
7431 2014-02-06  Alan Modra  <amodra@gmail.com>
7433         PR target/60032
7434         * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
7435         change SDmode to DDmode when lra_in_progress.
7437 2014-02-06  Jakub Jelinek  <jakub@redhat.com>
7439         PR middle-end/59150
7440         * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
7441         free_data_ref on the dr first, and before goto again also set dr
7442         to the next dr.  For simd_lane_access, free old datarefs[i] before
7443         overwriting it.  For get_vectype_for_scalar_type failure, don't
7444         free_data_ref if simd_lane_access.
7446         * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
7448         PR target/60062
7449         * tree.h (opts_for_fn): New inline function.
7450         (opt_for_fn): Define.
7451         * config/i386/i386.c (ix86_function_regparm): Use
7452         opt_for_fn (decl, optimize) instead of optimize.
7454 2014-02-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
7456         * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
7457         for SYMBOL_REF in large memory model.
7459 2014-02-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7461         * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
7462         and crypto support.
7463         (cortex-a57): Likewise.
7464         (cortex-a57.cortex-a53): Likewise.
7466 2014-02-06  Yury Gribov  <y.gribov@samsung.com>
7467             Kugan Vivekanandarajah  <kuganv@linaro.org>
7469         * config/arm/arm.c (arm_vector_alignment_reachable): Check
7470         unaligned_access.
7471         * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
7473 2014-02-06  Richard Biener  <rguenther@suse.de>
7475         * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
7476         set_loop_copy and initialize_original_copy_tables.
7478 2014-02-06  Alex Velenko  <Alex.Velenko@arm.com>
7480         * config/aarch64/aarch64-simd.md
7481         (aarch64_ashr_simddi): Change QI to SI.
7483 2014-02-05  Jan Hubicka  <hubicka@ucw.cz>
7484             Jakub Jelinek  <jakub@redhat.com>
7486         PR middle-end/60013
7487         * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
7488         of the dataflow.
7490 2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7492         * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
7493         CODE_FOR_altivec_vpku[hw]um to
7494         CODE_FOR_altivec_vpku[hw]um_direct.
7495         * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
7496         UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
7497         (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
7498         UNSPEC_VUNPACK_LO_SIGN_DIRECT.
7500 2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7502         * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
7503         generation for -maltivec=be.
7504         (altivec_vsumsws): Simplify redundant test.
7506 2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7508         * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
7509         (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
7510         (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
7511         (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
7512         gen_altivec_vpkuwum.
7513         (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
7514         BYTES_BIG_ENDIAN.
7515         (altivec_vpks<VI_char>ss): Likewise.
7516         (altivec_vpks<VI_char>us): Likewise.
7517         (altivec_vpku<VI_char>us): Likewise.
7518         (altivec_vpku<VI_char>um): Likewise.
7519         (altivec_vpku<VI_char>um_direct): New (copy of
7520         altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
7521         internal use).
7522         (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
7523         target is little endian and -maltivec=be is not specified.
7524         (*altivec_vupkhs<VU_char>_direct): New (copy of
7525         altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use).
7526         (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
7527         target is little endian and -maltivec=be is not specified.
7528         (*altivec_vupkls<VU_char>_direct): New (copy of
7529         altivec_vupkls<VU_char> that always emits vupkls*, for internal use).
7530         (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
7531         little endian and -maltivec=be is not specified.
7532         (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
7533         little endian and -maltivec=be is not specified.
7535 2014-02-05  Richard Henderson  <rth@redhat.com>
7537         PR debug/52727
7538         * combine-stack-adj.c: Revert r206943.
7539         * sched-int.h (struct deps_desc): Add last_args_size.
7540         * sched-deps.c (init_deps): Initialize it.
7541         (sched_analyze_insn): Add OUTPUT dependencies between insns that
7542         contain REG_ARGS_SIZE notes.
7544 2014-02-05  Jan Hubicka  <hubicka@ucw.cz>
7546         * lto-cgraph.c (asm_nodes_output): Make global.
7547         * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
7548         * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter
7549         (driver_handle_option): Handle OPT_fwpa.
7551 2014-02-05  Jakub Jelinek  <jakub@redhat.com>
7553         PR ipa/59947
7554         * ipa-devirt.c (possible_polymorphic_call_targets): Fix
7555         a comment typo and formatting issue.  If odr_hash hasn't been
7556         created, return vNULL and set *completep to false.
7558         PR middle-end/57499
7559         * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
7560         bb with no successors.
7562 2014-02-05  James Greenhalgh  <james.greenhalgh@arm.com>
7564         PR target/59718
7565         * doc/invoke.texi (-march): Clarify documentation for ARM.
7566         (-mtune): Likewise.
7567         (-mcpu): Likewise.
7569 2014-02-05  Richard Biener  <rguenther@suse.de>
7571         * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
7572         when not vectorizing because of too many alias checks.
7573         * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
7574         Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
7576 2014-02-05  Nick Clifton  <nickc@redhat.com>
7578         * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
7579         accept extended registers in any mode when compiling for the MN10300.
7581 2014-02-05  Yury Gribov  <y.gribov@samsung.com>
7583         * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
7584         * ipa-inline.c (report_inline_failed_reason): Handle mismatched
7585         sanitization attributes.
7586         (can_inline_edge_p): Likewise.
7587         (sanitize_attrs_match_for_inline_p): New function.
7589 2014-02-04  Jan Hubicka  <hubicka@ucw.cz>
7591         * ipa-prop.c (detect_type_change): Shor circuit testing of
7592         type changes on THIS pointer.
7594 2014-02-04  John David Anglin  <danglin@gcc.gnu.org>
7596         PR target/59777
7597         * config/pa/pa.c (legitimize_tls_address): Return original address
7598         if not passed a SYMBOL_REF rtx.
7599         (hppa_legitimize_address): Call legitimize_tls_address for all TLS
7600         addresses.
7601         (pa_emit_move_sequence): Simplify TLS source operands.
7602         (pa_legitimate_constant_p): Reject all TLS constants.
7603         * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
7604         (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
7606 2014-02-04  Jan Hubicka  <hubicka@ucw.cz>
7608         * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
7609         groups when we know they are controlled by LTO.
7610         * varasm.c (default_binds_local_p_1): If object is in other partition,
7611         it will be resolved locally.
7613 2014-02-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
7615         * config/host-linux.c (linux_gt_pch_use_address): Don't
7616         use SSIZE_MAX because it is not always defined.
7618 2014-02-04  Vladimir Makarov  <vmakarov@redhat.com>
7620         PR bootstrap/59913
7621         * lra-constraints.c (need_for_split_p): Use more 3 reloads as
7622         threshold for pseudo splitting.
7623         (update_ebb_live_info): Process call argument hard registers and
7624         hard registers from insn definition too.
7625         (max_small_class_regs_num): New constant.
7626         (inherit_in_ebb): Update live hard regs through EBBs.  Update
7627         reloads_num only for small register classes.  Don't split for
7628         outputs of jumps.
7630 2014-02-04  Markus Trippelsdorf  <markus@trippelsdorf.de>
7632         PR ipa/60058
7633         * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
7634         is non-null.
7636 2014-02-04  Jan Hubicka  <hubicka@ucw.cz>
7638         * gimple-fold.c (can_refer_decl_in_current_unit_p): Default
7639         visibility is safe.
7641 2014-02-04  Marek Polacek  <polacek@redhat.com>
7643         * gdbinit.in (pel): Define.
7645 2014-02-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
7647         * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
7648         behavior.
7650 2014-02-04  Richard Biener  <rguenther@suse.de>
7652         PR lto/59723
7653         * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
7654         in function context local.
7655         (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
7656         * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
7657         similar to LTO_imported_decl_ref.
7659 2014-02-04  Jakub Jelinek  <jakub@redhat.com>
7661         PR tree-optimization/60002
7662         * cgraphclones.c (build_function_decl_skip_args): Clear
7663         DECL_LANG_SPECIFIC.
7665         PR tree-optimization/60023
7666         * tree-if-conv.c (predicate_mem_writes): Pass true instead of
7667         false to gsi_replace.
7668         * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
7669         has been in some EH region and vec_stmt could throw, add
7670         vec_stmt into the same EH region.
7671         * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
7672         has no lhs, ignore it.
7673         * internal-fn.c (expand_MASK_LOAD): Likewise.
7675         PR ipa/60026
7676         * tree-inline.c (copy_forbidden): Fail for
7677         __attribute__((optimize (0))) functions.
7679         PR other/58712
7680         * omp-low.c (simd_clone_struct_copy): If from->inbranch
7681         is set, copy one less argument.
7682         (expand_simd_clones): Don't subtract clone_info->inbranch
7683         from simd_clone_struct_alloc argument.
7685         PR rtl-optimization/57915
7686         * recog.c (simplify_while_replacing): If all unary/binary/relational
7687         operation arguments are constant, attempt to simplify those.
7689         PR middle-end/59261
7690         * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
7691         if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
7693 2014-02-04  Richard Biener  <rguenther@suse.de>
7695         PR tree-optimization/60012
7696         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
7697         TBAA disambiguation to all DDRs.
7699 2014-02-04  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7701         PR target/59788
7702         * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
7703         (LINK_SPEC): Use it for -shared, -shared-libgcc.
7705 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
7707         PR ipa/59882
7708         * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
7710 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
7712         * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
7713         * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
7715 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
7717         PR ipa/59831
7718         * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
7719         to figure out targets of polymorphic calls with known decl.
7720         * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
7721         * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
7722         * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
7723         (get_polymorphic_call_info): ... here.
7724         (get_polymorphic_call_info_from_invariant): New function.
7726 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
7728         * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
7729         lookup via vtable pointer; check for type consistency
7730         and turn inconsitent facts into UNREACHABLE.
7731         * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
7732         * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on
7733         type inconsistent querries; return UNREACHABLE instead.
7735 2014-02-03  Richard Henderson  <rth@twiddle.net>
7737         PR tree-opt/59924
7738         * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
7739         already processed this node.
7740         (normalize_one_pred_1): Pass along mark_set.
7741         (normalize_one_pred): Create and destroy a pointer_set_t.
7742         (normalize_one_pred_chain): Likewise.
7744 2014-02-03  Laurent Aflonsi  <laurent.alfonsi@st.com>
7746         PR gcov-profile/58602
7747         * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0.
7749 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
7751         PR ipa/59831
7752         * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on
7753         -fno-devirtualize; try to devirtualize by the knowledge of
7754         virtual table pointer given by aggregate propagation.
7755         * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
7756         (ipa_print_node_jump_functions): Dump also offset that
7757         is relevant for polymorphic calls.
7758         (determine_known_aggregate_parts): Add arg_type parameter; use it
7759         instead of determining the type from pointer type.
7760         (ipa_compute_jump_functions_for_edge): Update call of
7761         determine_known_aggregate_parts.
7762         * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
7763         (gimple_get_virt_method_for_binfo): ... here; simplify using
7764         vtable_pointer_value_to_vtable.
7765         * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
7766         * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
7767         to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable.
7768         (vtable_pointer_value_to_vtable): Break out from ...; handle also
7769         POINTER_PLUS_EXPR.
7770         (vtable_pointer_value_to_binfo): ... here.
7771         * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
7773 2014-02-03  Teresa Johnson  <tejohnson@google.com>
7775         * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
7776         redef of outer loop index variable.
7778 2014-02-03  Marc Glisse  <marc.glisse@inria.fr>
7780         PR c++/53017
7781         PR c++/59211
7782         * doc/extend.texi (Function Attributes): Typo.
7784 2014-02-03  Cong Hou  <congh@google.com>
7786         PR tree-optimization/60000
7787         * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
7788         if the vectorized statement is a store.  A store statement can only
7789         appear at the end of pattern statements.
7791 2014-02-03  H.J. Lu  <hongjiu.lu@intel.com>
7793         * config/i386/i386.c (flag_opts): Add -mlong-double-128.
7794         (ix86_option_override_internal): Default long double to 64-bit for
7795         32-bit Bionic and to 128-bit for 64-bit Bionic.
7797         * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
7798         TARGET_LONG_DOUBLE_128 is true.
7799         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
7801         * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
7802         (mlong-double-64): Negate -mlong-double-128.
7803         (mlong-double-128): New option.
7805         * config/i386/i386-c.c (ix86_target_macros): Define
7806         __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
7808         * doc/invoke.texi: Document -mlong-double-128.
7810 2014-02-03  H.J. Lu  <hongjiu.lu@intel.com>
7812         PR rtl-optimization/60024
7813         * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
7815 2014-02-03  Markus Trippelsdorf  <markus@trippelsdorf.de>
7817         * doc/invoke.texi (fprofile-reorder-functions): Fix typo.
7819 2014-02-03  Andrey Belevantsev  <abel@ispras.ru>
7821         PR rtl-optimization/57662
7822         * sel-sched.c (code_motion_path_driver): Do not mark already not
7823         existing blocks in the visiting bitmap.
7825 2014-02-03  Andrey Belevantsev  <abel@ispras.ru>
7827         * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
7828         on the insn being emitted.
7830 2014-02-03  James Greenhalgh  <james.greenhalgh@arm.com>
7831             Will Deacon  <will.deacon@arm.com>
7833         * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
7835 2014-02-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7837         * config/arm/arm-tables.opt: Regenerate.
7839 2014-02-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7841         * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
7842         for vector types other than V16QImode.
7843         * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
7844         define_expand, and call altivec_expand_vec_perm_le when producing
7845         code with little endian element order.
7846         (*altivec_vperm_<mode>_internal): New insn having previous
7847         behavior of altivec_vperm_<mode>.
7848         (altivec_vperm_<mode>_uns): Change to a define_expand, and call
7849         altivec_expand_vec_perm_le when producing code with little endian
7850         element order.
7851         (*altivec_vperm_<mode>_uns_internal): New insn having previous
7852         behavior of altivec_vperm_<mode>_uns.
7854 2014-02-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7856         * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
7857         (altivec_vsumsws): Add handling for -maltivec=be with a little
7858         endian target.
7859         (altivec_vsumsws_direct): New.
7860         (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
7861         gen_altivec_vsumsws.
7863 2014-02-02  Jan Hubicka  <hubicka@ucw.cz>
7865         * ipa-devirt.c (subbinfo_with_vtable_at_offset,
7866         vtable_pointer_value_to_binfo): New functions.
7867         * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
7868         * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
7870 2014-02-02  Sandra Loosemore  <sandra@codesourcery.com>
7872         * config/nios2/nios2.md (load_got_register): Initialize GOT
7873         pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
7874         * config/nios2/nios2.c (nios2_function_profiler): Likewise.
7876 2014-02-02  Jan Hubicka  <hubicka@ucw.cz>
7878         * ipa-prop.c (update_jump_functions_after_inlining): When type is not
7879         preserverd by passthrough, do not propagate the type.
7881 2014-02-02  Richard Sandiford  <rdsandiford@googlemail.com>
7883         * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
7884         (mips_atomic_assign_expand_fenv): New function.
7885         (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
7887 2014-02-02  Richard Sandiford  <rdsandiford@googlemail.com>
7889         * doc/extend.texi (__builtin_mips_get_fcsr): Document.
7890         (__builtin_mips_set_fcsr): Likewise.
7891         * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
7892         MIPS_USI_FTYPE_VOID.
7893         * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
7894         (mips16_expand_set_fcsr): Likewise.
7895         * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
7896         (mips16_set_fcsr_stub): Likewise.
7897         (mips16_get_fcsr_one_only_stub): New class.
7898         (mips16_set_fcsr_one_only_stub): Likewise.
7899         (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
7900         (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
7901         (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
7902         (hard_float): New availability predicate.
7903         (mips_builtins): Add get_fcsr and set_fcsr.
7904         (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
7905         * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
7906         (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
7907         (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
7908         (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
7909         patterns.
7911 2014-02-02  Richard Sandiford  <rdsandiford@googlemail.com>
7913         * config/mips/mips.c (mips_one_only_stub): New class.
7914         (mips_need_mips16_rdhwr_p): Replace with...
7915         (mips16_rdhwr_stub): ...this new variable.
7916         (mips16_stub_call_address): New function.
7917         (mips16_rdhwr_one_only_stub): New class.
7918         (mips_expand_thread_pointer): Use mips16_stub_call_address.
7919         (mips_output_mips16_rdhwr): Delete.
7920         (mips_finish_stub): New function.
7921         (mips_code_end): Use it to handle rdhwr stubs.
7923 2014-02-02  Uros Bizjak  <ubizjak@gmail.com>
7925         PR target/60017
7926         * config/i386/i386.c (classify_argument): Fix handling of bit_offset
7927         when calculating size of integer atomic types.
7929 2014-02-02  H.J. Lu  <hongjiu.lu@intel.com>
7931         * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
7933 2014-02-01  Jakub Jelinek  <jakub@redhat.com>
7935         PR tree-optimization/60003
7936         * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
7937         * profile.c (branch_prob): Use gimple_call_builtin_p
7938         to check for BUILT_IN_SETJMP_RECEIVER.
7939         * tree-inline.c (copy_bb): Call notice_special_calls.
7941 2014-01-31  Vladimir Makarov  <vmakarov@redhat.com>
7943         PR bootstrap/59985
7944         * lra-constraints.c (process_alt_operands): Update reload_sum only
7945         on the first pass.
7947 2014-01-31  Richard Henderson  <rth@redhat.com>
7949         PR middle-end/60004
7950         * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
7951         until after else_eh is processed.
7953 2014-01-31  Ilya Tocar  <ilya.tocar@intel.com>
7955         * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
7956         (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
7957         (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
7958         in smmintrin.h, remove them.
7959         (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
7960         * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
7961         * config/i386/i386.md (ROUND_SAE): Fix value.
7962         * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
7963         (const48_operand): New.
7964         * config/i386/subst.md (round), (round_expand): Use
7965         const_4_or_8_to_11_operand.
7966         (round_saeonly), (round_saeonly_expand): Use const48_operand.
7968 2014-01-31  Ilya Tocar  <ilya.tocar@intel.com>
7970         * config/i386/constraints.md (Yk): Swap meaning with k.
7971         * config/i386/i386.md (movhi_internal): Change Yk to k.
7972         (movqi_internal): Ditto.
7973         (*k<logic><mode>): Ditto.
7974         (*andhi_1): Ditto.
7975         (*andqi_1): Ditto.
7976         (kandn<mode>): Ditto.
7977         (*<code>hi_1): Ditto.
7978         (*<code>qi_1): Ditto.
7979         (kxnor<mode>): Ditto.
7980         (kortestzhi): Ditto.
7981         (kortestchi): Ditto.
7982         (kunpckhi): Ditto.
7983         (*one_cmplhi2_1): Ditto.
7984         (*one_cmplqi2_1): Ditto.
7985         * config/i386/sse.md (): Change k to Yk.
7986         (avx512f_load<mode>_mask): Ditto.
7987         (avx512f_blendm<mode>): Ditto.
7988         (avx512f_store<mode>_mask): Ditto.
7989         (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
7990         (avx512f_storedqu<mode>_mask): Ditto.
7991         (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
7992         Ditto.
7993         (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
7994         (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
7995         (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
7996         (avx512f_maskcmp<mode>3): Ditto.
7997         (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
7998         (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
7999         (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
8000         (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
8001         (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
8002         (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
8003         (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
8004         (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
8005         (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
8006         (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
8007         (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
8008         (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
8009         (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
8010         (vec_extract_lo_<mode>_maskm): Ditto.
8011         (vec_extract_hi_<mode>_maskm): Ditto.
8012         (avx512f_vternlog<mode>_mask): Ditto.
8013         (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
8014         (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
8015         (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
8016         (avx512f_<code>v8div16qi2_mask): Ditto.
8017         (avx512f_<code>v8div16qi2_mask_store): Ditto.
8018         (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
8019         (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
8020         (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
8021         (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
8022         (*avx512pf_gatherpf<mode>sf_mask): Ditto.
8023         (*avx512pf_gatherpf<mode>df_mask): Ditto.
8024         (*avx512pf_scatterpf<mode>sf_mask): Ditto.
8025         (*avx512pf_scatterpf<mode>df_mask): Ditto.
8026         (avx512cd_maskb_vec_dupv8di): Ditto.
8027         (avx512cd_maskw_vec_dupv16si): Ditto.
8028         (avx512f_vpermi2var<mode>3_maskz): Ditto.
8029         (avx512f_vpermi2var<mode>3_mask): Ditto.
8030         (avx512f_vpermi2var<mode>3_mask): Ditto.
8031         (avx512f_vpermt2var<mode>3_maskz): Ditto.
8032         (*avx512f_gathersi<mode>): Ditto.
8033         (*avx512f_gathersi<mode>_2): Ditto.
8034         (*avx512f_gatherdi<mode>): Ditto.
8035         (*avx512f_gatherdi<mode>_2): Ditto.
8036         (*avx512f_scattersi<mode>): Ditto.
8037         (*avx512f_scatterdi<mode>): Ditto.
8038         (avx512f_compress<mode>_mask): Ditto.
8039         (avx512f_compressstore<mode>_mask): Ditto.
8040         (avx512f_expand<mode>_mask): Ditto.
8041         * config/i386/subst.md (mask): Change k to Yk.
8042         (mask_scalar_merge): Ditto.
8043         (sd): Ditto.
8045 2014-01-31  Marc Glisse  <marc.glisse@inria.fr>
8047         * doc/extend.texi (Vector Extensions): Document ?: in C++.
8049 2014-01-31  Richard Biener  <rguenther@suse.de>
8051         PR middle-end/59990
8052         * builtins.c (fold_builtin_memory_op): Make sure to not
8053         use a floating-point mode or a boolean or enumeral type for
8054         the copy operation.
8056 2014-01-30  DJ Delorie  <dj@redhat.com>
8058         * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
8059         * config/msp430/msp430.md (msp430_refsym_need_exit): New.
8060         * config/msp430/msp430.c (msp430_expand_epilogue): Call it
8061         whenever main() has an epilogue.
8063 2014-01-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8065         * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
8066         unused variable "field".
8067         * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
8068         (vsx_mergeh_<mode>): Likewise.
8069         * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
8070         (altivec_vmrghh): Likewise.
8071         (altivec_vmrghw): Likewise.
8072         (altivec_vmrglb): Likewise.
8073         (altivec_vmrglh): Likewise.
8074         (altivec_vmrglw): Likewise.
8075         (altivec_vspltb): Add missing uses.
8076         (altivec_vsplth): Likewise.
8077         (altivec_vspltw): Likewise.
8078         (altivec_vspltsf): Likewise.
8080 2014-01-30  Jakub Jelinek  <jakub@redhat.com>
8082         PR target/59923
8083         * ifcvt.c (cond_exec_process_insns): Don't conditionalize
8084         frame related instructions.
8086 2014-01-30  Vladimir Makarov  <vmakarov@redhat.com>
8088         PR rtl-optimization/59959
8089         * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
8090         any reload of register whose subreg is invalid.
8092 2014-01-30  Jakub Jelinek  <jakub@redhat.com>
8094         * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
8095         * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
8096         Add missing return type - void.
8098 2014-01-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8100         * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
8101         gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
8102         remove element index adjustment for endian (now handled in vsx.md
8103         and altivec.md).
8104         (altivec_expand_vec_perm_const): Use
8105         gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
8106         * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
8107         (vsx_xxspltw_<mode>): Adjust element index for little endian.
8108         * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
8109         define_expand and a new define_insn *altivec_vspltb_internal;
8110         adjust for -maltivec=be on a little endian target.
8111         (altivec_vspltb_direct): New.
8112         (altivec_vsplth): Divide into a define_expand and a new
8113         define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
8114         little endian target.
8115         (altivec_vsplth_direct): New.
8116         (altivec_vspltw): Divide into a define_expand and a new
8117         define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
8118         little endian target.
8119         (altivec_vspltw_direct): New.
8120         (altivec_vspltsf): Divide into a define_expand and a new
8121         define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
8122         a little endian target.
8124 2014-01-30  Richard Biener  <rguenther@suse.de>
8126         PR tree-optimization/59993
8127         * tree-ssa-forwprop.c (associate_pointerplus): Check we
8128         can propagate form the earlier stmt and avoid the transform
8129         when the intermediate result is needed.
8131 2014-01-30  Alangi Derick  <alangiderick@gmail.com>
8133         * README.Portability: Fix typo.
8135 2014-01-30  David Holsgrove  <david.holsgrove@xilinx.com>
8137         * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
8138         comparison_operator with ordered_comparison_operator.
8140 2014-01-30  Nick Clifton  <nickc@redhat.com>
8142         * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
8143         Rename to mn10300_store_multiple_regs.
8144         * config/mn10300/mn10300.c: Likewise.
8145         * config/mn10300/mn10300.md (store_movm): Fix typo: call
8146         store_multiple_regs.
8147         * config/mn10300/predicates.md (mn10300_store_multiple_operation):
8148         Call mn10300_store_multiple_regs.
8150 2014-01-30  Nick Clifton  <nickc@redhat.com>
8151             DJ Delorie  <dj@redhat.com>
8153         * config/rl78/rl78.c (register_sizes): Make the "upper half" of
8154         %fp 2 to keep registers after it properly word-aligned.
8155         (rl78_alloc_physical_registers_umul): Handle the case where both
8156         input operands are the same.
8158 2014-01-30  Richard Biener  <rguenther@suse.de>
8160         PR tree-optimization/59903
8161         * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
8162         check properly.
8164 2014-01-30  Jason Merrill  <jason@redhat.com>
8166         PR c++/59633
8167         * tree.c (walk_type_fields): Handle VECTOR_TYPE.
8169         PR c++/59645
8170         * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
8172 2014-01-30  Richard Biener  <rguenther@suse.de>
8174         PR tree-optimization/59951
8175         * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
8177 2014-01-30  Savin Zlobec  <savin.zlobec@gmail.com>
8179         PR target/59784
8180         * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
8181         SFmode to DFmode case.
8183 2014-01-29  DJ Delorie  <dj@redhat.com>
8185         * config/msp430/msp430.opt (-minrt): New.
8186         * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
8187         if -minrt given.
8188         (ENDFILE_SPEC): Likewise.
8190 2014-01-29  Jan Hubicka  <hubicka@ucw.cz>
8192         * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
8193         (estimate_function_body_sizes): Use it.
8195 2014-01-29  Paolo Carlini  <paolo.carlini@oracle.com>
8197         PR c++/58561
8198         * dwarf2out.c (is_cxx_auto): New.
8199         (is_base_type): Use it.
8200         (gen_type_die_with_usage): Likewise.
8202 2014-01-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8204         * config/rs6000/rs6000.c (altivec_expand_vec_perm_const):  Use
8205         CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
8206         * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
8207         -maltivec=be with LE targets.
8208         (vsx_mergeh_<mode>): Likewise.
8209         * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
8210         (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
8211         (altivec_vmrghb): Replace with define_expand and new
8212         *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
8213         (altivec_vmrghb_direct): New define_insn.
8214         (altivec_vmrghh): Replace with define_expand and new
8215         *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
8216         (altivec_vmrghh_direct): New define_insn.
8217         (altivec_vmrghw): Replace with define_expand and new
8218         *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
8219         (altivec_vmrghw_direct): New define_insn.
8220         (*altivec_vmrghsf): Adjust for endianness.
8221         (altivec_vmrglb): Replace with define_expand and new
8222         *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
8223         (altivec_vmrglb_direct): New define_insn.
8224         (altivec_vmrglh): Replace with define_expand and new
8225         *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
8226         (altivec_vmrglh_direct): New define_insn.
8227         (altivec_vmrglw): Replace with define_expand and new
8228         *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
8229         (altivec_vmrglw_direct): New define_insn.
8230         (*altivec_vmrglsf): Adjust for endianness.
8231         (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
8232         (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
8233         (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
8234         (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
8235         (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
8236         (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
8237         (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
8238         (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
8240 2014-01-29  Marcus Shawcroft  <marcus.shawcroft@arm.com>
8242         * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
8243         (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
8244         whitespace.
8246 2014-01-29  Richard Biener  <rguenther@suse.de>
8248         PR tree-optimization/58742
8249         * tree-ssa-forwprop.c (associate_pointerplus): Rename to
8250         associate_pointerplus_align.
8251         (associate_pointerplus_diff): New function.
8252         (associate_pointerplus): Likewise.  Call associate_pointerplus_align
8253         and associate_pointerplus_diff.
8255 2014-01-29  Richard Biener  <rguenther@suse.de>
8257         * lto-streamer.h (LTO_major_version): Bump to 3.
8258         (LTO_minor_version): Reset to 0.
8260 2014-01-29  Renlin Li  <Renlin.Li@arm.com>
8262         * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
8263         * config/arm/arm.c (FL_FOR_ARCH7VE): New.
8264         (arm_file_start): Generate correct asm header for armv7ve.
8265         * config/arm/bpabi.h: Add multilib support for armv7ve.
8266         * config/arm/driver-arm.c: Change the architectures of cortex-a7
8267         and cortex-a15 to armv7ve.
8268         * config/arm/t-aprofile: Add multilib support for armv7ve.
8269         * doc/invoke.texi: Document -march=armv7ve.
8271 2014-01-29  Richard Biener  <rguenther@suse.de>
8273         PR tree-optimization/58742
8274         * tree-ssa-forwprop.c (associate_plusminus): Return true
8275         if we changed sth, defer EH cleanup to ...
8276         (ssa_forward_propagate_and_combine): ... here.  Call simplify_mult.
8277         (simplify_mult): New function.
8279 2014-01-29  Jakub Jelinek  <jakub@redhat.com>
8281         PR middle-end/59917
8282         PR tree-optimization/59920
8283         * tree.c (build_common_builtin_nodes): Remove
8284         __builtin_setjmp_dispatcher initialization.
8285         * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
8286         * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
8287         instead of gsi_after_labels + manually skipping debug stmts.
8288         Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
8289         ignore bbs with IFN_ABNORMAL_DISPATCHER.
8290         * tree-inline.c (copy_edges_for_bb): Remove
8291         can_make_abnormal_goto argument, instead add abnormal_goto_dest
8292         argument.  Ignore computed_goto_p stmts.  Don't call
8293         make_abnormal_goto_edges.  If a call might need abnormal edges
8294         for non-local gotos, see if it already has an edge to
8295         IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
8296         with true argument, don't do anything then, otherwise add
8297         EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
8298         (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
8299         caller.
8300         * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
8301         (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
8302         (lower_stmt): Don't set data->calls_builtin_setjmp.
8303         (lower_builtin_setjmp): Adjust comment.
8304         * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
8305         * tree-cfg.c (found_computed_goto): Remove.
8306         (factor_computed_gotos): Remove.
8307         (make_goto_expr_edges): Return bool, true for computed gotos.
8308         Don't call make_abnormal_goto_edges.
8309         (build_gimple_cfg): Don't set found_computed_goto, don't call
8310         factor_computed_gotos.
8311         (computed_goto_p): No longer static.
8312         (make_blocks): Don't set found_computed_goto.
8313         (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
8314         (make_edges): If make_goto_expr_edges returns true, push bb
8315         into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
8316         instead of calling make_abnormal_goto_edges push bb into ab_edge_call
8317         vector.  Record mapping between bbs and OpenMP regions if there
8318         are any, adjust make_gimple_omp_edges caller.  Call
8319         handle_abnormal_edges.
8320         (make_abnormal_goto_edges): Remove.
8321         * tree-cfg.h (make_abnormal_goto_edges): Remove.
8322         (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
8323         * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
8324         * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
8325         * internal-fn.def (ABNORMAL_DISPATCHER): New.
8326         * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
8327         filling *region also set *region_idx to (*region)->entry->index.
8329         PR other/58712
8330         * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
8331         For REGs set ORIGINAL_REGNO.
8333 2014-01-29  Bingfeng Mei  <bmei@broadcom.com>
8335         * doc/md.texi: Mention that a target shouldn't implement
8336         vec_widen_(s|u)mul_even/odd pair if it is less efficient
8337         than hi/lo pair.
8339 2014-01-29  Jakub Jelinek  <jakub@redhat.com>
8341         PR tree-optimization/59594
8342         * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
8343         a copy of the datarefs vector rather than the vector itself.
8345 2014-01-28  Jason Merrill  <jason@redhat.com>
8347         PR c++/53756
8348         * dwarf2out.c (auto_die): New static.
8349         (gen_type_die_with_usage): Handle C++1y 'auto'.
8350         (gen_subprogram_die): If in-class DIE had 'auto', emit type again
8351         on definition.
8353 2014-01-28  H.J. Lu  <hongjiu.lu@intel.com>
8355         PR target/59672
8356         * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
8357         (SPEC_X32): Likewise.
8358         (SPEC_64): Likewise.
8359         * config/i386/i386.c (ix86_option_override_internal): Turn off
8360         OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
8361         for TARGET_16BIT.
8362         (x86_file_start): Output .code16gcc for TARGET_16BIT.
8363         * config/i386/i386.h (TARGET_16BIT): New macro.
8364         (TARGET_16BIT_P): Likewise.
8365         * config/i386/i386.opt: Add m16.
8366         * doc/invoke.texi: Document -m16.
8368 2014-01-28  Jakub Jelinek  <jakub@redhat.com>
8370         PR preprocessor/59935
8371         * input.c (location_get_source_line): Bail out on when line number
8372         is zero, and test the return value of lookup_or_add_file_to_cache_tab.
8374 2014-01-28  Richard Biener  <rguenther@suse.de>
8376         PR tree-optimization/58742
8377         * tree-ssa-forwprop.c (associate_plusminus): Handle
8378         pointer subtraction of the form (T)(P + A) - (T)P.
8380 2014-01-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
8382         * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
8383         at const_int_cost.
8385 2014-01-28  Richard Biener  <rguenther@suse.de>
8387         Revert
8388         2014-01-28  Richard Biener  <rguenther@suse.de>
8390         PR rtl-optimization/45364
8391         PR rtl-optimization/59890
8392         * var-tracking.c (local_get_addr_clear_given_value): Handle
8393         already cleared slot.
8394         (val_reset): Handle not allocated local_get_addr_cache.
8395         (vt_find_locations): Use post-order on the inverted CFG.
8397 2014-01-28  Richard Biener  <rguenther@suse.de>
8399         * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
8401 2014-01-28  Richard Biener  <rguenther@suse.de>
8403         PR rtl-optimization/45364
8404         PR rtl-optimization/59890
8405         * var-tracking.c (local_get_addr_clear_given_value): Handle
8406         already cleared slot.
8407         (val_reset): Handle not allocated local_get_addr_cache.
8408         (vt_find_locations): Use post-order on the inverted CFG.
8410 2014-01-28  Alan Modra  <amodra@gmail.com>
8412         * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
8413         * configure.ac <recursive call for build != host>: Define
8414         GENERATOR_FILE.  Comment.  Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
8415         and LD_FOR_BUILD too.
8416         * configure: Regenerate.
8418 2014-01-27  Allan Sandfeld Jensen  <sandfeld@kde.org>
8420         * config/i386/i386.c (get_builtin_code_for_version): Separate
8421         Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
8422         Broadwell from Haswell.
8424 2014-01-27  Steve Ellcey  <sellcey@mips.com>
8426         * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
8427         Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
8428         * config/mips/mips.c (mips_option_override): Change setting
8429         of TARGET_DSP.
8430         * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
8431         * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
8432         Change from Mask to Var.
8434 2014-01-27  Jeff Law  <law@redhat.com>
8436         * ipa-inline.c (inline_small_functions): Fix typo.
8438 2014-01-27  Ilya Tocar  <ilya.tocar@intel.com>
8440         * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
8441         (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
8442         (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
8443         (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
8444         (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
8445         (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
8446         (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
8447         (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
8448         (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
8449         (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
8450         (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
8451         (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
8452         (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
8453         (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
8454         (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
8455         (_mm512_storeu_epi64): Ditto.
8456         (_mm512_cmpge_epi32_mask): Ditto.
8457         (_mm512_cmpge_epu32_mask): Ditto.
8458         (_mm512_cmpge_epi64_mask): Ditto.
8459         (_mm512_cmpge_epu64_mask): Ditto.
8460         (_mm512_cmple_epi32_mask): Ditto.
8461         (_mm512_cmple_epu32_mask): Ditto.
8462         (_mm512_cmple_epi64_mask): Ditto.
8463         (_mm512_cmple_epu64_mask): Ditto.
8464         (_mm512_cmplt_epi32_mask): Ditto.
8465         (_mm512_cmplt_epu32_mask): Ditto.
8466         (_mm512_cmplt_epi64_mask): Ditto.
8467         (_mm512_cmplt_epu64_mask): Ditto.
8468         (_mm512_cmpneq_epi32_mask): Ditto.
8469         (_mm512_cmpneq_epu32_mask): Ditto.
8470         (_mm512_cmpneq_epi64_mask): Ditto.
8471         (_mm512_cmpneq_epu64_mask): Ditto.
8472         (_mm512_expand_pd): Ditto.
8473         (_mm512_expand_ps): Ditto.
8474         * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
8475         VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
8476         VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
8477         * config/i386/i386.c (ix86_builtins): Add
8478         IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
8479         IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
8480         IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
8481         IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
8482         IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
8483         IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
8484         IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
8485         IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
8486         IX86_BUILTIN_PMOVUSQW512_MEM.
8487         (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
8488         __builtin_ia32_pmovsqd512mem_mask,
8489         __builtin_ia32_pmovqd512mem_mask,
8490         __builtin_ia32_pmovusqw512mem_mask,
8491         __builtin_ia32_pmovsqw512mem_mask,
8492         __builtin_ia32_pmovqw512mem_mask,
8493         __builtin_ia32_pmovusdw512mem_mask,
8494         __builtin_ia32_pmovsdw512mem_mask,
8495         __builtin_ia32_pmovdw512mem_mask,
8496         __builtin_ia32_pmovqb512mem_mask,
8497         __builtin_ia32_pmovusqb512mem_mask,
8498         __builtin_ia32_pmovsqb512mem_mask,
8499         __builtin_ia32_pmovusdb512mem_mask,
8500         __builtin_ia32_pmovsdb512mem_mask,
8501         __builtin_ia32_pmovdb512mem_mask.
8502         (bdesc_args): Add __builtin_ia32_expanddf512,
8503         __builtin_ia32_expandsf512.
8504         (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
8505         VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
8506         VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
8507         * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
8508         (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
8509         (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
8510         (avx512f_<code>v8div16qi2_mask_store): This.
8511         (avx512f_expand<mode>): New.
8513 2014-01-27  Kirill Yukhin  <kirill.yukhin@intel.com>
8515         * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
8516         New.
8517         (_mm512_mask_prefetch_i64gather_pd): Ditto.
8518         (_mm512_prefetch_i32scatter_pd): Ditto.
8519         (_mm512_mask_prefetch_i32scatter_pd): Ditto.
8520         (_mm512_prefetch_i64scatter_pd): Ditto.
8521         (_mm512_mask_prefetch_i64scatter_pd): Ditto.
8522         (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
8523         (_mm512_mask_prefetch_i64gather_ps): Ditto.
8524         (_mm512_prefetch_i32scatter_ps): Ditto.
8525         (_mm512_mask_prefetch_i32scatter_ps): Ditto.
8526         (_mm512_prefetch_i64scatter_ps): Ditto.
8527         (_mm512_mask_prefetch_i64scatter_ps): Ditto.
8528         * config/i386/i386-builtin-types.def: Define
8529         VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
8530         and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
8531         * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
8532         IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
8533         IX86_BUILTIN_SCATTERPFQPD.
8534         (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
8535         __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
8536         __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
8537         __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
8538         __builtin_ia32_scatterpfqps.
8539         (ix86_expand_builtin): Expand new built-ins.
8540         * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
8541         fix memory access data type.
8542         (*avx512pf_gatherpf<mode>_mask): Ditto.
8543         (*avx512pf_gatherpf<mode>): Ditto.
8544         (avx512pf_scatterpf<mode>): Ditto.
8545         (*avx512pf_scatterpf<mode>_mask): Ditto.
8546         (*avx512pf_scatterpf<mode>): Ditto.
8547         (GATHER_SCATTER_SF_MEM_MODE): New.
8548         (avx512pf_gatherpf<mode>df): Ditto.
8549         (*avx512pf_gatherpf<mode>df_mask): Ditto.
8550         (*avx512pf_scatterpf<mode>df): Ditto.
8552 2014-01-27  Jakub Jelinek  <jakub@redhat.com>
8554         PR bootstrap/59934
8555         * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
8556         know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
8557         reached.
8559 2014-01-27  James Greenhalgh  <james.greenhalgh@arm.com>
8561         * common/config/arm/arm-common.c
8562         (arm_rewrite_mcpu): Handle multiple names.
8563         * config/arm/arm.h
8564         (BIG_LITTLE_SPEC): Do not discard mcpu switches.
8566 2014-01-27  James Greenhalgh  <james.greenhalgh@arm.com>
8568         * gimple-builder.h (create_gimple_tmp): Delete.
8570 2014-01-27  Christian Bruel  <christian.bruel@st.com>
8572         * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
8573         words comparisons.
8575 2014-01-26  John David Anglin  <danglin@gcc.gnu.org>
8577         * config/pa/pa.md (call): Generate indirect long calls to non-local
8578         functions when outputing 32-bit code.
8579         (call_value): Likewise except for special call to buggy powf function.
8581         * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
8582         portable runtime and PIC indirect calls.
8583         (pa_output_indirect_call): Remove unnecessary nop from portable runtime
8584         and PIC call sequences.  Use ldo instead of blr to set return register
8585         in PIC call sequence.
8587 2014-01-25  Walter Lee  <walt@tilera.com>
8589         * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
8590         avoid clobbering a live register.
8592 2014-01-25  Walter Lee  <walt@tilera.com>
8594         * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
8595         Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
8596         * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
8597         Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
8599 2014-01-25  Walter Lee  <walt@tilera.com>
8601         * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
8602         arguments on even registers.
8603         (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
8604         STACK_BOUNDARY.
8605         * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
8606         (BIGGEST_ALIGNMENT): Ditto.
8607         (BIGGEST_FIELD_ALIGNMENT): Ditto.
8609 2014-01-25  Walter Lee  <walt@tilera.com>
8611         * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
8612         insns before bundling.
8613         * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
8615 2014-01-25  Walter Lee  <walt@tilera.com>
8617         * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
8618         PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
8619         * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
8621 2014-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
8623         * config/mips/constraints.md (kl): Delete.
8624         * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
8625         define expands, using...
8626         (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
8627         instructions for MIPS16.
8628         (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
8629         non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
8631 2014-01-25  Walter Lee  <walt@tilera.com>
8633         * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
8634         (clzdi2): Ditto.
8635         (ffsdi2): Ditto.
8637 2014-01-25  Walter Lee  <walt@tilera.com>
8639         * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
8640         (TARGET_EXPAND_TO_RTL_HOOK): Define.
8642 2014-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
8644         * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
8645         Handle XOR.
8647 2014-01-25  Jakub Jelinek  <jakub@redhat.com>
8649         * print-rtl.c (in_call_function_usage): New var.
8650         (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
8651         EXPR_LIST mode as mode and not as reg note name.
8653         PR middle-end/59561
8654         * cfgloopmanip.c (copy_loop_info): If
8655         loop->warned_aggressive_loop_optimizations, make sure
8656         the flag is set in target loop too.
8658 2014-01-24  Balaji V. Iyer  <balaji.v.iyer@intel.com>
8660         * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
8661         flag_cilkplus.
8662         * builtins.def: Likewise.
8663         * cilk.h (fn_contains_cilk_spawn_p): Likewise.
8664         * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
8665         * ira.c (ira_setup_eliminable_regset): Likewise.
8666         * omp-low.c (gate_expand_omp): Likewise.
8667         (execute_lower_omp): Likewise.
8668         (diagnose_sb_0): Likewise.
8669         (gate_diagnose_omp_blocks): Likewise.
8670         (simd_clone_clauses_extract): Likewise.
8671         (gate): Likewise.
8673 2014-01-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8675         * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
8676         correction for little endian...
8677         * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
8678         here.
8680 2014-01-24  Jeff Law  <law@redhat.com>
8682         PR tree-optimization/59919
8683         * tree-vrp.c (find_assert_locations_1): Do not register asserts
8684         for non-returning calls.
8686 2014-01-24  James Greenhalgh  <james.greenhalgh@arm.com>
8688         * common/config/aarch64/aarch64-common.c
8689         (aarch64_rewrite_mcpu): Handle multiple names.
8690         * config/aarch64/aarch64.h
8691         (BIG_LITTLE_SPEC): Do not discard mcpu switches.
8693 2014-01-24  Dodji Seketeli  <dodji@redhat.com>
8695         * input.c (add_file_to_cache_tab): Handle the case where fopen
8696         returns NULL.
8698 2014-01-23  H.J. Lu  <hongjiu.lu@intel.com>
8700         PR target/59929
8701         * config/i386/i386.md (pushsf splitter): Get stack adjustment
8702         from push operand if code of push isn't PRE_DEC.
8704 2014-01-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
8706         PR target/59909
8707         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
8708         -mquad-memory-atomic.  Update -mquad-memory documentation to say
8709         it is only used for non-atomic loads/stores.
8711         * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
8712         -mquad-memory or -mquad-memory-atomic switches.
8714         * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
8715         -mquad-memory-atomic to ISA 2.07 support.
8717         * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
8718         to separate support of normal quad word memory operations (ldq, stq)
8719         from the atomic quad word memory operations.
8721         * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
8722         support to separate non-atomic quad word operations from atomic
8723         quad word operations.  Disable non-atomic quad word operations in
8724         little endian mode so that we don't have to swap words after the
8725         load and before the store.
8726         (quad_load_store_p): Add comment about atomic quad word support.
8727         (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
8728         options printed with -mdebug=reg.
8730         * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
8731         -mquad-memory-atomic as the test for whether we have quad word
8732         atomic instructions.
8733         (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
8734         or -mp8-vector are used, allow byte/half-word atomic operations.
8736         * config/rs6000/sync.md (load_lockedti): Insure that the address
8737         is a proper indexed or indirect address for the lqarx instruction.
8738         On little endian systems, swap the hi/lo registers after the lqarx
8739         instruction.
8740         (load_lockedpti): Use indexed_or_indirect_operand predicate to
8741         insure the address is valid for the lqarx instruction.
8742         (store_conditionalti): Insure that the address is a proper indexed
8743         or indirect address for the stqcrx. instruction.  On little endian
8744         systems, swap the hi/lo registers before doing the stqcrx.
8745         instruction.
8746         (store_conditionalpti): Use indexed_or_indirect_operand predicate to
8747         insure the address is valid for the stqcrx. instruction.
8749         * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
8750         Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
8751         type of quad memory support is available.
8753 2014-01-23  Vladimir Makarov  <vmakarov@redhat.com>
8755         PR regression/59915
8756         * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
8757         there is a danger of looping.
8759 2014-01-23  Pat Haugen  <pthaugen@us.ibm.com>
8761         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
8762         force flag_ira_loop_pressure if set via command line.
8764 2014-01-23  Alex Velenko  <Alex.Velenko@arm.com>
8766         * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
8767         (ashr_simd): New builtin handling DI mode.
8768         * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
8769         (aarch64_sshr_simddi): New match pattern.
8770         * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
8771         (vshrd_n_s64): Likewise.
8772         * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
8774 2014-01-23  Nick Clifton  <nickc@redhat.com>
8776         * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
8777         (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
8778         favour of mcu specific scripts.
8779         * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
8780         430x multilibs.
8782 2014-01-23  James Greenhalgh  <james.greenhalgh@arm.com>
8783             Alex Velenko  <Alex.Velenko@arm.com>
8785         * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
8786         (vaddv_s16): Likewise.
8787         (vaddv_s32): Likewise.
8788         (vaddv_u8): Likewise.
8789         (vaddv_u16): Likewise.
8790         (vaddv_u32): Likewise.
8791         (vaddvq_s8): Likewise.
8792         (vaddvq_s16): Likewise.
8793         (vaddvq_s32): Likewise.
8794         (vaddvq_s64): Likewise.
8795         (vaddvq_u8): Likewise.
8796         (vaddvq_u16): Likewise.
8797         (vaddvq_u32): Likewise.
8798         (vaddvq_u64): Likewise.
8799         (vaddv_f32): Likewise.
8800         (vaddvq_f32): Likewise.
8801         (vaddvq_f64): Likewise.
8802         (vmaxv_f32): Likewise.
8803         (vmaxv_s8): Likewise.
8804         (vmaxv_s16): Likewise.
8805         (vmaxv_s32): Likewise.
8806         (vmaxv_u8): Likewise.
8807         (vmaxv_u16): Likewise.
8808         (vmaxv_u32): Likewise.
8809         (vmaxvq_f32): Likewise.
8810         (vmaxvq_f64): Likewise.
8811         (vmaxvq_s8): Likewise.
8812         (vmaxvq_s16): Likewise.
8813         (vmaxvq_s32): Likewise.
8814         (vmaxvq_u8): Likewise.
8815         (vmaxvq_u16): Likewise.
8816         (vmaxvq_u32): Likewise.
8817         (vmaxnmv_f32): Likewise.
8818         (vmaxnmvq_f32): Likewise.
8819         (vmaxnmvq_f64): Likewise.
8820         (vminv_f32): Likewise.
8821         (vminv_s8): Likewise.
8822         (vminv_s16): Likewise.
8823         (vminv_s32): Likewise.
8824         (vminv_u8): Likewise.
8825         (vminv_u16): Likewise.
8826         (vminv_u32): Likewise.
8827         (vminvq_f32): Likewise.
8828         (vminvq_f64): Likewise.
8829         (vminvq_s8): Likewise.
8830         (vminvq_s16): Likewise.
8831         (vminvq_s32): Likewise.
8832         (vminvq_u8): Likewise.
8833         (vminvq_u16): Likewise.
8834         (vminvq_u32): Likewise.
8835         (vminnmv_f32): Likewise.
8836         (vminnmvq_f32): Likewise.
8837         (vminnmvq_f64): Likewise.
8839 2014-01-23  James Greenhalgh  <james.greenhalgh@arm.com>
8841         * config/aarch64/aarch64-simd.md
8842         (aarch64_dup_lane<mode>): Correct lane number on big-endian.
8843         (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
8844         (*aarch64_mul3_elt<mode>): Likewise.
8845         (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
8846         (*aarch64_mul3_elt_to_64v2df): Likewise.
8847         (*aarch64_mla_elt<mode>): Likewise.
8848         (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
8849         (*aarch64_mls_elt<mode>): Likewise.
8850         (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
8851         (*aarch64_fma4_elt<mode>): Likewise.
8852         (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
8853         (*aarch64_fma4_elt_to_64v2df): Likewise.
8854         (*aarch64_fnma4_elt<mode>): Likewise.
8855         (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
8856         (*aarch64_fnma4_elt_to_64v2df): Likewise.
8857         (aarch64_sq<r>dmulh_lane<mode>): Likewise.
8858         (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
8859         (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
8860         (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
8861         (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
8862         (aarch64_sqdmull_lane<mode>_internal): Likewise.
8863         (aarch64_sqdmull2_lane<mode>_internal): Likewise.
8865 2013-01-23  Alex Velenko  <Alex.Velenko@arm.com>
8867         * config/aarch64/aarch64-simd.md
8868         (aarch64_be_checked_get_lane<mode>): New define_expand.
8869         * config/aarch64/aarch64-simd-builtins.def
8870         (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
8871         New builtin definition.
8872         * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
8873         Use new safe be builtin.
8875 2014-01-23  Alex Velenko  <Alex.Velenko@arm.com>
8877         * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
8878         New define_insn.
8879         (aarch64_be_st1<mode>): Likewise.
8880         (aarch_ld1<VALL:mode>): Define_expand modified.
8881         (aarch_st1<VALL:mode>): Likewise.
8882         * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
8883         (UNSPEC_ST1): Likewise.
8885 2014-01-23  David Holsgrove  <david.holsgrove@xilinx.com>
8887         * config/microblaze/microblaze.md: Add trap insn and attribute
8889 2014-01-23  Dodji Seketeli  <dodji@redhat.com>
8891         PR preprocessor/58580
8892         * input.h (location_get_source_line): Take an additional line_size
8893         parameter.
8894         (void diagnostics_file_cache_fini): Declare new function.
8895         * input.c (struct fcache): New type.
8896         (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
8897         New static constants.
8898         (diagnostic_file_cache_init, total_lines_num)
8899         (lookup_file_in_cache_tab, evicted_cache_tab_entry)
8900         (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
8901         (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
8902         (get_next_line, read_next_line, goto_next_line, read_line_num):
8903         New static function definitions.
8904         (diagnostic_file_cache_fini): New function.
8905         (location_get_source_line): Take an additional output line_len
8906         parameter.  Re-write using lookup_or_add_file_to_cache_tab and
8907         read_line_num.
8908         * diagnostic.c (diagnostic_finish): Call
8909         diagnostic_file_cache_fini.
8910         (adjust_line): Take an additional input parameter for the length
8911         of the line, rather than calculating it with strlen.
8912         (diagnostic_show_locus): Adjust the use of
8913         location_get_source_line and adjust_line with respect to their new
8914         signature.  While displaying a line now, do not stop at the first
8915         null byte.  Rather, display the zero byte as a space and keep
8916         going until we reach the size of the line.
8917         * Makefile.in: Add vec.o to OBJS-libcommon
8919 2014-01-23  Kirill Yukhin  <kirill.yukhin@intel.com>
8920             Ilya Tocar     <ilya.tocar@intel.com>
8922         * config/i386/avx512fintrin.h (_mm512_kmov): New.
8923         * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
8924         (__builtin_ia32_kmov16): Ditto.
8925         * config/i386/i386.md (UNSPEC_KMOV): New.
8926         (kmovw): Ditto.
8928 2014-01-23  Kirill Yukhin  <kirill.yukhin@intel.com>
8930         * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
8931         (_mm512_storeu_si512): Ditto.
8933 2014-01-23  Richard Sandiford  <rdsandiford@googlemail.com>
8935         PR target/52125
8936         * rtl.h (get_referenced_operands): Declare.
8937         * recog.c (get_referenced_operands): New function.
8938         * config/mips/mips.c (mips_reorg_process_insns): Check which asm
8939         operands have been referenced when recording LO_SUM references.
8941 2014-01-22  David Holsgrove  <david.holsgrove@xilinx.com>
8943         * config/microblaze/microblaze.md: Correct bswaphi2 insn.
8945 2014-01-22  Jan Hubicka  <hubicka@ucw.cz>
8947         * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
8948         Enable for generic and recent AMD targets.
8950 2014-01-22  Jan Hubicka  <hubicka@ucw.cz>
8952         * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
8953         ARG_SIZE note when adjustment was eliminated.
8955 2014-01-22  Jeff Law  <law@redhat.com>
8957         PR tree-optimization/59597
8958         * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
8959         in file.  Accept new argument REGISTERING and use it to modify
8960         dump output appropriately.
8961         (register_jump_thread): Corresponding changes.
8962         (mark_threaded_blocks): Reinstate code to cancel unprofitable
8963         thread paths involving joiner blocks.  Add code to dump cancelled
8964         jump threading paths.
8966 2014-01-22  Vladimir Makarov  <vmakarov@redhat.com>
8968         PR rtl-optimization/59477
8969         * lra-constraints.c (inherit_in_ebb): Process call for living hard
8970         regs.  Update reloads_num and potential_reload_hard_regs for all insns.
8972 2014-01-22  Tom Tromey  <tromey@redhat.com>
8974         * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
8975         PARAMS.
8976         * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
8978 2014-01-21  Vladimir Makarov  <vmakarov@redhat.com>
8980         PR rtl-optimization/59896
8981         * lra-constraints.c (process_alt_operands): Check unused note for
8982         matched operands of insn with no output reloads.
8984 2014-01-21  Richard Sandiford  <rdsandiford@googlemail.com>
8986         * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
8987         (mips_move_from_gpr_cost): Likewise.
8989 2014-01-21  Vladimir Makarov  <vmakarov@redhat.com>
8991         PR rtl-optimization/59858
8992         * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
8993         ira_class_hard_regs_num.
8994         (process_alt_operands): Increase reject for dying matched operand.
8996 2014-01-21  Jakub Jelinek  <jakub@redhat.com>
8998         PR target/59003
8999         * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
9000         smaller than size, perform several stores or loads and stores
9001         at dst + count - size to store or copy all of size bytes, rather
9002         than just last modesize bytes.
9004 2014-01-20  DJ Delorie  <dj@redhat.com>
9006         * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
9007         that CLOBBERs are REGs before propogating their values.
9009 2014-01-20  H.J. Lu  <hongjiu.lu@intel.com>
9011         PR middle-end/59789
9012         * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
9013         (cgraph_inline_failed_type): New function.
9014         * cgraph.h (DEFCIFCODE): Add type.
9015         (cgraph_inline_failed_type_t): New enum.
9016         (cgraph_inline_failed_type): New prototype.
9017         * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
9018         FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
9019         FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
9020         LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
9021         MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
9022         RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
9023         OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
9024         INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
9025         Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
9026         FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
9027         EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
9028         OPTIMIZATION_MISMATCH.
9029         * tree-inline.c (expand_call_inline): Emit errors during
9030         early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
9032 2014-01-20  Uros Bizjak  <ubizjak@gmail.com>
9034         PR target/59685
9035         * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
9036         mode attribute in insn output.
9038 2014-01-20  Eric Botcazou  <ebotcazou@adacore.com>
9040         * output.h (output_constant): Delete.
9041         * varasm.c (output_constant): Make private.
9043 2014-01-20  Alex Velenko  <Alex.Velenko@arm.com>
9045         * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
9047 2014-01-20  Jakub Jelinek  <jakub@redhat.com>
9049         PR middle-end/59860
9050         * tree.h (fold_builtin_strcat): New prototype.
9051         * builtins.c (fold_builtin_strcat): No longer static.  Add len
9052         argument, if non-NULL, don't call c_strlen.  Optimize
9053         directly into __builtin_memcpy instead of __builtin_strcpy.
9054         (fold_builtin_2): Adjust fold_builtin_strcat caller.
9055         * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
9057 2014-01-20  Uros Bizjak  <ubizjak@gmail.com>
9059         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
9060         for SImode_address_operand operands, having only a REG argument.
9062 2014-01-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
9064         * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
9065         loader name using mbig-endian.
9066         (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
9068 2014-01-20  James Greenhalgh  <james.greenhalgh@arm.com>
9070         * doc/invoke.texi (-march): Clarify documentation for AArch64.
9071         (-mtune): Likewise.
9072         (-mcpu): Likewise.
9074 2014-01-20  Tejas Belagod  <tejas.belagod@arm.com>
9076         * config/aarch64/aarch64-protos.h
9077         (aarch64_cannot_change_mode_class_ptr): Declare.
9078         * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
9079         aarch64_cannot_change_mode_class_ptr): New.
9080         * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
9081         backend hook aarch64_cannot_change_mode_class.
9083 2014-01-20  James Greenhalgh  <james.greenhalgh@arm.com>
9085         * common/config/aarch64/aarch64-common.c
9086         (aarch64_handle_option): Don't handle any option order logic here.
9087         * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
9088         selected_cpu, warn on architecture version mismatch.
9089         (aarch64_override_options): Fix parsing order for option strings.
9091 2014-01-20  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
9092             Iain Sandoe  <iain@codesourcery.com>
9094         PR bootstrap/59496
9095         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
9096         warning.  Amend comment to reflect current functionality.
9098 2014-01-20  Richard Biener  <rguenther@suse.de>
9100         PR middle-end/59860
9101         * builtins.c (fold_builtin_strcat): Remove case better handled
9102         by tree-ssa-strlen.c.
9104 2014-01-20  Alan Lawrence  <alan.lawrence@arm.com>
9106         * config/aarch64/aarch64.opt
9107         (mcpu, march, mtune): Make case-insensitive.
9109 2014-01-20  Jakub Jelinek  <jakub@redhat.com>
9111         PR target/59880
9112         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
9113         if operands[1] is a REG or ZERO_EXTEND of a REG.
9115 2014-01-19  Jan Hubicka  <hubicka@ucw.cz>
9117         * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
9119 2014-01-19  John David Anglin  <danglin@gcc.gnu.org>
9121         * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
9122         long non-pic millicode calls.
9124 2014-01-19  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
9126         * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
9128 2014-01-19  Kito Cheng  <kito@0xlab.org>
9130         * builtins.c (expand_movstr): Check movstr expand done or fail.
9132 2014-01-18  Uros Bizjak  <ubizjak@gmail.com>
9133             H.J. Lu  <hongjiu.lu@intel.com>
9135         PR target/59379
9136         * config/i386/i386.md (*lea<mode>): Zero-extend return register
9137         to DImode for zero-extended addresses.
9139 2014-01-19  Jakub Jelinek  <jakub@redhat.com>
9141         PR rtl-optimization/57763
9142         * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
9143         on the new indirect jump_insn and increment LABEL_NUSES (label).
9145 2014-01-18  H.J. Lu  <hongjiu.lu@intel.com>
9147         PR bootstrap/59580
9148         PR bootstrap/59583
9149         * config.gcc (x86_archs): New variable.
9150         (x86_64_archs): Likewise.
9151         (x86_cpus): Likewise.
9152         Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
9153         --with-arch/--with-cpu= options.
9154         Support --with-arch=/--with-cpu={nehalem,westmere,
9155         sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
9157 2014-01-18  Uros Bizjak  <ubizjak@gmail.com>
9159         * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
9160         and PROCESSOR_ATHLON to simplify code.  Move "memory" calculation.
9162 2014-01-18  Uros Bizjak  <ubizjak@gmail.com>
9164         * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
9166 2014-01-18  Jakub Jelinek  <jakub@redhat.com>
9168         PR target/58944
9169         * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
9170         clear cpp_get_options (parse_in)->warn_unused_macros for
9171         ix86_target_macros_internal with cpp_define.
9173 2014-01-18  Richard Sandiford  <rdsandiford@googlemail.com>
9175         * jump.c (delete_related_insns): Keep (use (insn))s.
9176         * reorg.c (redundant_insn): Check for barriers too.
9178 2014-01-17  H.J. Lu  <hongjiu.lu@intel.com>
9180         * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
9182 2014-01-17  John David Anglin  <danglin@gcc.gnu.org>
9184         * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
9185         call to $$dyncall when TARGET_LONG_CALLS is true.
9187 2014-01-17  Jeff Law  <law@redhat.com>
9189         * ree.c (combine_set_extension): Temporarily disable test for
9190         changing number of hard registers.
9192 2014-01-17  Jan Hubicka  <hubicka@ucw.cz>
9194         PR middle-end/58125
9195         * ipa-inline-analysis.c (inline_free_summary):
9196         Do not free summary of aliases.
9198 2014-01-17  Jakub Jelinek  <jakub@redhat.com>
9200         PR middle-end/59706
9201         * gimplify.c (gimplify_expr): Use create_tmp_var
9202         instead of create_tmp_var_raw.  If cond doesn't have
9203         integral type, don't add the IFN_ANNOTATE builtin at all.
9205 2014-01-17  Martin Jambor  <mjambor@suse.cz>
9207         PR ipa/59736
9208         * ipa-cp.c (prev_edge_clone): New variable.
9209         (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
9210         Also resize prev_edge_clone vector.
9211         (ipcp_edge_duplication_hook): Also update prev_edge_clone.
9212         (ipcp_edge_removal_hook): New function.
9213         (ipcp_driver): Register ipcp_edge_removal_hook.
9215 2014-01-17  Andrew Pinski  <apinski@cavium.com>
9216             Steve Ellcey  <sellcey@mips.com>
9218         PR target/59462
9219         * config/mips/mips.c (mips_print_operand): Check operand mode instead
9220         of operator mode.
9222 2014-01-17  Jeff Law  <law@redhat.com>
9224         PR middle-end/57904
9225         * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
9226         so that pass_ccp runs first.
9228 2014-01-17  H.J. Lu  <hongjiu.lu@intel.com>
9230         * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
9231         (ix86_adjust_cost): Use !TARGET_XXX.
9232         (do_reorder_for_imul): Likewise.
9233         (swap_top_of_ready_list): Likewise.
9234         (ix86_sched_reorder): Likewise.
9236 2014-01-17  H.J. Lu  <hongjiu.lu@intel.com>
9238         * config/i386/i386-c.c (ix86_target_macros_internal): Handle
9239         PROCESSOR_INTEL.  Treat like PROCESSOR_GENERIC.
9240         * config/i386/i386.c (intel_memcpy): New.  Duplicate slm_memcpy.
9241         (intel_memset): New.  Duplicate slm_memset.
9242         (intel_cost): New.  Duplicate slm_cost.
9243         (m_INTEL): New macro.
9244         (processor_target_table): Add "intel".
9245         (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
9246         with PROCESSOR_INTEL for "intel".
9247         (ix86_lea_outperforms): Support PROCESSOR_INTEL.  Duplicate
9248         PROCESSOR_SILVERMONT.
9249         (ix86_issue_rate): Likewise.
9250         (ix86_adjust_cost): Likewise.
9251         (ia32_multipass_dfa_lookahead): Likewise.
9252         (swap_top_of_ready_list): Likewise.
9253         (ix86_sched_reorder): Likewise.
9254         (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
9255         instead of TARGET_OPT_AGU.
9256         * config/i386/i386.h (TARGET_INTEL): New.
9257         (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
9258         (processor_type): Add PROCESSOR_INTEL.
9259         * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
9260         Add X86_TUNE_AVOID_LEA_FOR_ADDR.
9262 2014-01-17  Marek Polacek  <polacek@redhat.com>
9264         PR c/58346
9265         * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
9266         size is zero.
9268 2014-01-17  Richard Biener  <rguenther@suse.de>
9270         PR tree-optimization/46590
9271         * opts.c (default_options_table): Add entries for
9272         OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
9273         all enabled at -O1 but not for -Og.
9274         * common.opt (fbranch-count-reg): Remove Init(1).
9275         (fmove-loop-invariants): Likewise.
9276         (ftree-pta): Likewise.
9278 2014-01-17  Jakub Jelinek  <jakub@redhat.com>
9280         * config/i386/i386.c (ix86_data_alignment): For compatibility with
9281         (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
9282         decls to at least the GCC 4.8 used alignments.
9284         PR fortran/59440
9285         * tree-nested.c (convert_nonlocal_reference_stmt,
9286         convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
9287         of GIMPLE_BIND stmts, adjust associated decls.
9289 2014-01-17  Richard Biener  <rguenther@suse.de>
9291         PR tree-optimization/46590
9292         * vec.h (vec<>::bseach): New member function implementing
9293         binary search according to C89 bsearch.
9294         (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
9295         * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
9296         bitmap pointer again.  Make accesses_in_loop a flat array.
9297         (mem_ref_obstack): New global.
9298         (outermost_indep_loop): Adjust for mem_ref->stored changes.
9299         (mark_ref_stored): Likewise.
9300         (ref_indep_loop_p_2): Likewise.
9301         (set_ref_stored_in_loop): New helper function.
9302         (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
9303         (memref_free): Adjust.
9304         (record_mem_ref_loc): Simplify.
9305         (gather_mem_refs_stmt): Adjust.
9306         (sort_locs_in_loop_postorder_cmp): New function.
9307         (analyze_memory_references): Sort accesses_in_loop after
9308         loop postorder number.
9309         (find_ref_loc_in_loop_cmp): New function.
9310         (for_all_locs_in_loop): Find relevant cluster of locs in
9311         accesses_in_loop and iterate without recursion.
9312         (execute_sm): Avoid uninit warning.
9313         (struct ref_always_accessed): Simplify.
9314         (ref_always_accessed::operator ()): Likewise.
9315         (ref_always_accessed_p): Likewise.
9316         (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
9317         loop postorder numbers here.
9318         (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
9319         numbers.
9321 2014-01-17  Jan Hubicka  <hubicka@ucw.cz>
9323         PR c++/57945
9324         * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
9325         on decls for which assemble_alias has been called.
9327 2014-01-17  Nick Clifton  <nickc@redhat.com>
9329         * config/msp430/msp430.opt: (mcpu): New option.
9330         * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
9331         (msp430_option_override): Parse target_cpu.  If the MCU name
9332         matches a generic string, clear target_mcu.
9333         (msp430_attr): Allow numeric interrupt values up to 63.
9334         (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
9335         * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
9336         option.
9337         * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
9338         Add mcpu matches.
9339         * config/msp430/msp430.md (popm): Use %J rather than %I.
9340         (addsi3): Use msp430_nonimmediate_operand for operand 2.
9341         (addhi_cy_i): Use immediate_operand for operand 2.
9342         * doc/invoke.texi: Document -mcpu option.
9344 2014-01-17  Richard Biener  <rguenther@suse.de>
9346         PR rtl-optimization/38518
9347         * df.h (df_analyze_loop): Declare.
9348         * df-core.c: Include cfgloop.h.
9349         (df_analyze_1): Split out main part of df_analyze.
9350         (df_analyze): Adjust.
9351         (loop_inverted_post_order_compute): New function.
9352         (loop_post_order_compute): Likewise.
9353         (df_analyze_loop): New function avoiding whole-function
9354         postorder computes.
9355         * loop-invariant.c (find_defs): Use df_analyze_loop.
9356         (find_invariants): Adjust.
9357         * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
9359 2014-01-17  Zhenqiang Chen  <zhenqiang.chen@arm.com>
9361         * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
9362         (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
9364 2014-01-16  Ilya Enkovich  <ilya.enkovich@intel.com>
9366         * ipa-ref.c (ipa_remove_stmt_references): Fix references
9367         traversal when removing references.
9369 2014-01-16  Jan Hubicka  <hubicka@ucw.cz>
9371         PR ipa/59775
9372         * tree.c (get_binfo_at_offset): Look harder for virtual bases.
9374 2014-01-16  Bernd Schmidt  <bernds@codesourcery.com>
9376         PR middle-end/56791
9377         * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
9378         pushing a reload for an autoinc when we had previously reloaded an
9379         inner part of the address.
9381 2014-01-16  Jakub Jelinek  <jakub@redhat.com>
9383         * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
9384         field.
9385         (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
9386         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
9387         when not giving up or versioning for alias only because of
9388         loop->safelen.
9389         (vect_analyze_data_ref_dependences): Set to true.
9390         * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
9391         is a GIMPLE_PHI.
9392         (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
9393         LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
9394         to the condition.
9396         PR middle-end/58344
9397         * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
9399         PR target/59839
9400         * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
9401         operand 0 predicate for gathers, use a new pseudo as subtarget.
9403 2014-01-16  Vladimir Makarov  <vmakarov@redhat.com>
9405         PR middle-end/59609
9406         * lra-constraints.c (process_alt_operands): Add printing debug info.
9407         Check absence of input/output reloads for matched operands too.
9409 2014-01-16  Vladimir Makarov  <vmakarov@redhat.com>
9411         PR rtl-optimization/59835
9412         * ira.c (ira_init_register_move_cost): Increase cost for
9413         impossible modes.
9415 2014-01-16  Alan Lawrence  <alan.lawrence@arm.com>
9417         * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
9419 2014-01-16  Richard Earnshaw  <rearnsha@arm.com>
9421         PR target/59780
9422         * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
9423         non-register objects.  Use gen_(high/low)part more consistently.
9424         Fix assertions.
9426 2014-01-16  Michael Meissner  <meissner@linux.vnet.ibm.com>
9428         PR target/59844
9429         * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
9430         endian support, remove tests for WORDS_BIG_ENDIAN.
9431         (p8_mfvsrd_3_<mode>): Likewise.
9432         (reload_gpr_from_vsx<mode>): Likewise.
9433         (reload_gpr_from_vsxsf): Likewise.
9434         (p8_mfvsrd_4_disf): Likewise.
9436 2014-01-16  Richard Biener  <rguenther@suse.de>
9438         PR rtl-optimization/46590
9439         * lcm.c (compute_antinout_edge): Use postorder iteration.
9440         (compute_laterin): Use inverted postorder iteration.
9442 2014-01-16  Nick Clifton  <nickc@redhat.com>
9444         PR middle-end/28865
9445         * varasm.c (output_constant): Return the number of bytes actually
9446         emitted.
9447         (output_constructor_array_range): Update the field size with the
9448         number of bytes emitted by output_constant.
9449         (output_constructor_regular_field): Likewise.  Also do not
9450         complain if the total number of bytes emitted is now greater
9451         than the expected fieldpos.
9452         * output.h (output_constant): Update prototype and descriptive comment.
9454 2014-01-16  Marek Polacek  <polacek@redhat.com>
9456         PR middle-end/59827
9457         * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
9458         it is error_mark_node.
9460 2014-01-15  Uros Bizjak  <ubizjak@gmail.com>
9462         * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
9463         VALID_AVX256_REG_OR_OI_MODE.
9465 2014-01-15  Pat Haugen  <pthaugen@us.ibm.com>
9467         * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
9468         current procedure should be profiled.
9470 2014-01-15  Andrew Pinski  <apinski@cavium.com>
9472         * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
9473         of moving from/to the STACK_REG register class.
9475 2014-01-15  Richard Henderson  <rth@redhat.com>
9477         PR debug/54694
9478         * reginfo.c (global_regs_decl): Globalize.
9479         * rtl.h (global_regs_decl): Declare.
9480         * ira.c (do_reload): Diagnose frame_pointer_needed and it
9481         reserved via global_regs.
9483 2014-01-15  Teresa Johnson  <tejohnson@google.com>
9485         * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
9487 2014-01-15  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>
9489         * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
9490         and vmulosh rather than call gen_vec_widen_smult_*.
9491         (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
9492         than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
9493         (vec_widen_smult_even_v16qi): Likewise.
9494         (vec_widen_umult_even_v8hi): Likewise.
9495         (vec_widen_smult_even_v8hi): Likewise.
9496         (vec_widen_umult_odd_v16qi): Likewise.
9497         (vec_widen_smult_odd_v16qi): Likewise.
9498         (vec_widen_umult_odd_v8hi): Likewise.
9499         (vec_widen_smult_odd_v8hi): Likewise.
9500         (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
9501         vmuloub rather than call gen_vec_widen_umult_*.
9502         (vec_widen_umult_lo_v16qi): Likewise.
9503         (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
9504         vmulosb rather than call gen_vec_widen_smult_*.
9505         (vec_widen_smult_lo_v16qi): Likewise.
9506         (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
9507         rather than call gen_vec_widen_umult_*.
9508         (vec_widen_umult_lo_v8hi): Likewise.
9509         (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
9510         rather than call gen_vec_widen_smult_*.
9511         (vec_widen_smult_lo_v8hi): Likewise.
9513 2014-01-15  Jeff Law  <law@redhat.com>
9515         PR tree-optimization/59747
9516         * ree.c (find_and_remove_re): Properly handle case where a second
9517         eliminated extension requires widening a copy created for elimination
9518         of a prior extension.
9519         (combine_set_extension): Ensure that the number of hard regs needed
9520         for a destination register does not change when we widen it.
9522 2014-01-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
9524         * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
9525         (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
9526         (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
9527         (arm*-*-rtems*): Use t-rtems from existing tmake_file.
9528         (avr-*-rtems*): Likewise.
9529         (bfin*-rtems*): Likewise.
9530         (moxie-*-rtems*): Likewise.
9531         (h8300-*-rtems*): Likewise.
9532         (i[34567]86-*-rtems*): Likewise.
9533         (lm32-*-rtems*): Likewise.
9534         (m32r-*-rtems*): Likewise.
9535         (m68k-*-rtems*): Likewise.
9536         (microblaze*-*-rtems*): Likewise.
9537         (mips*-*-rtems*): Likewise.
9538         (powerpc-*-rtems*): Likewise.
9539         (sh-*-rtems*): Likewise.
9540         (sparc-*-rtems*): Likewise.
9541         (sparc64-*-rtems*): Likewise.
9542         (v850-*-rtems*): Likewise.
9543         (m32c-*-rtems*): Likewise.
9545 2014-01-15  Vladimir Makarov  <vmakarov@redhat.com>
9547         PR rtl-optimization/59511
9548         * ira.c (ira_init_register_move_cost): Use memory costs for some
9549         cases of register move cost calculations.
9550         * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
9551         instead of BB frequency.
9552         * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
9553         * lra-assigns.c (find_hard_regno_for): Ditto.
9555 2014-01-15  Richard Biener  <rguenther@suse.de>
9557         PR tree-optimization/59822
9558         * tree-vect-stmts.c (hoist_defs_of_uses): New function.
9559         (vectorizable_load): Use it to hoist defs of uses of invariant
9560         loads out of the loop.
9562 2014-01-15  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
9563             Kugan Vivekanandarajah  <kuganv@linaro.org>
9565         PR target/59695
9566         * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
9567         truncation.
9569 2014-01-15  Richard Biener  <rguenther@suse.de>
9571         PR rtl-optimization/59802
9572         * lcm.c (compute_available): Use inverted postorder to seed
9573         the initial worklist.
9575 2014-01-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
9577         PR target/59803
9578         * config/s390/s390.c (s390_preferred_reload_class): Don't return
9579         ADDR_REGS for invalid symrefs in non-PIC code.
9581 2014-01-15  Jakub Jelinek  <jakub@redhat.com>
9583         PR other/58712
9584         * builtins.c (determine_block_size): Initialize *probable_max_size
9585         even if len_rtx is CONST_INT.
9587 2014-01-14  Andrew Pinski  <apinski@cavium.com>
9589         * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
9590         * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
9591         (cortexa53_tunings): Likewise.
9592         (aarch64_sched_issue_rate): New function.
9593         (TARGET_SCHED_ISSUE_RATE): Define.
9595 2014-01-14  Vladimir Makarov  <vmakarov@redhat.com>
9597         * ira-costs.c (find_costs_and_classes): Add missed
9598         ira_init_register_move_cost_if_necessary.
9600 2014-01-14  Vladimir Makarov  <vmakarov@redhat.com>
9602         PR target/59787
9603         * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
9605 2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
9607         PR target/59794
9608         * config/i386/i386.c (type_natural_mode): Add a bool parameter
9609         to indicate if type is used for function return value.  Warn ABI
9610         change if the vector mode isn't available for function return value.
9611         (ix86_function_arg_advance): Pass false to type_natural_mode.
9612         (ix86_function_arg): Likewise.
9613         (ix86_gimplify_va_arg): Likewise.
9614         (function_arg_32): Don't warn ABI change.
9615         (ix86_function_value): Pass true to type_natural_mode.
9616         (ix86_return_in_memory): Likewise.
9617         (ix86_struct_value_rtx): Removed.
9618         (TARGET_STRUCT_VALUE_RTX): Likewise.
9620 2014-01-14  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
9622         * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
9623         converting a conditional jump into a conditional return.
9625 2014-01-14  Richard Biener  <rguenther@suse.de>
9627         PR tree-optimization/58921
9628         PR tree-optimization/59006
9629         * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
9630         hoisting invariant stmts.
9631         * tree-vect-stmts.c (vectorizable_load): Insert the splat of
9632         invariant loads on the preheader edge if possible.
9634 2014-01-14  Joey Ye  <joey.ye@arm.com>
9636         * doc/plugin.texi (Building GCC plugins): Update to C++.
9638 2014-01-14  Kirill Yukhin  <kirill.yukhin@intel.com>
9640         * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
9641         (_mm_rcp28_round_ss): Ditto.
9642         (_mm_rsqrt28_round_sd): Ditto.
9643         (_mm_rsqrt28_round_ss): Ditto.
9644         (_mm_rcp28_sd): Ditto.
9645         (_mm_rcp28_ss): Ditto.
9646         (_mm_rsqrt28_sd): Ditto.
9647         (_mm_rsqrt28_ss): Ditto.
9648         * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
9649         * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
9650         * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
9651         (IX86_BUILTIN_RCP28SD): Ditto.
9652         (IX86_BUILTIN_RCP28SS): Ditto.
9653         (IX86_BUILTIN_RSQRT28SD): Ditto.
9654         (IX86_BUILTIN_RSQRT28SS): Ditto.
9655         (bdesc_special_args): Define __builtin_ia32_movntdqa512,
9656         __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
9657         __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
9658         (ix86_expand_special_args_builtin): Expand new FTYPE.
9659         * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
9660         (srcp14<mode>): Make insn unary.
9661         (avx512f_vmscalef<mode><round_name>): Use substed predicate.
9662         (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
9663         (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
9664         (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
9665         (avx512er_exp2<mode><mask_name><round_saeonly_name>):
9666         Fix rounding: make it SAE only.
9667         (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
9668         Ditto.
9669         (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
9670         Ditto.
9671         (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
9672         (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
9673         (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
9674         * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
9675         (round_saeonly_mask_scalar_operand4): Ditto.
9676         (round_saeonly_mask_scalar_op3): Ditto.
9677         (round_saeonly_mask_scalar_op4): Ditto.
9679 2014-01-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
9681         * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
9682         Implement -maltivec=be for vec_insert and vec_extract.
9684 2014-01-10  DJ Delorie  <dj@redhat.com>
9686         * config/msp430/msp430.md (call_internal): Don't allow memory
9687         references with SP as the base register.
9688         (call_value_internal): Likewise.
9689         * config/msp430/constraints.md (Yc): New.  For memory references
9690         that don't use SP as a base register.
9692         * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
9693         "an integer without a # prefix"
9694         * config/msp430/msp430.md (epilogue_helper): Use it.
9696 2014-01-13  Jakub Jelinek  <jakub@redhat.com>
9698         PR target/59617
9699         * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
9700         AVX512F gather builtins.
9701         * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
9702         on gather decls with INTEGER_TYPE masktype.
9703         (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
9704         directly into the builtin rather than hoisting it before loop.
9706         PR tree-optimization/59387
9707         * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
9708         (scev_const_prop): If folded_casts and type has undefined overflow,
9709         use force_gimple_operand instead of force_gimple_operand_gsi and
9710         for each added stmt if it is assign with
9711         arith_code_with_undefined_signed_overflow, call
9712         rewrite_to_defined_overflow.
9713         * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
9714         gimple-fold.h instead.
9715         (arith_code_with_undefined_signed_overflow,
9716         rewrite_to_defined_overflow): Moved to ...
9717         * gimple-fold.c (arith_code_with_undefined_signed_overflow,
9718         rewrite_to_defined_overflow): ... here.  No longer static.
9719         Include gimplify-me.h.
9720         * gimple-fold.h (arith_code_with_undefined_signed_overflow,
9721         rewrite_to_defined_overflow): New prototypes.
9723 2014-01-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
9725         * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
9727 2014-01-13  Eric Botcazou  <ebotcazou@adacore.com>
9729         * builtins.c (get_object_alignment_2): Minor tweak.
9730         * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
9732 2014-01-13  Christian Bruel  <christian.bruel@st.com>
9734         * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
9735         optimized non constant lengths.
9737 2014-01-13  Jakub Jelinek  <jakub@redhat.com>
9739         PR libgomp/59194
9740         * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
9741         load as __atomic_load_N if possible.
9743 2014-01-11  David Edelsohn  <dje.gcc@gmail.com>
9745         * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
9746         target parameter.
9747         (rs6000_expand_builtin): Adjust call.
9749 2014-01-11  David Edelsohn  <dje.gcc@gmail.com>
9751         PR target/58115
9752         * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
9753         * config/rs6000/rs6000.c: Include target-globals.h.
9754         (rs6000_set_current_function): Instead of doing target_reinit
9755         unconditionally, use save_target_globals_default_opts and
9756         restore_target_globals.
9758         * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
9759         FPSCR.
9760         * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
9761         (rs6000_expand_builtin): Handle mffs and mtfsf.
9762         (rs6000_init_builtins): Define mffs and mtfsf.
9763         * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
9764         (rs6000_mffs): New pattern.
9765         (rs6000_mtfsf): New pattern.
9767 2014-01-11  Bin Cheng  <bin.cheng@arm.com>
9769         * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
9770         Start narrowing with START.  Apply candidate-use pair
9771         and check overall cost in narrowing.
9772         (iv_ca_prune): Pass new argument.
9774 2014-01-10  Jeff Law  <law@redhat.com>
9776         PR middle-end/59743
9777         * ree.c (combine_reaching_defs): Ensure the defining statement
9778         occurs before the extension when optimizing extensions with
9779         different source and destination hard registers.
9781 2014-01-10  Jan Hubicka  <hubicka@ucw.cz>
9783         PR ipa/58585
9784         * ipa-devirt.c (build_type_inheritance_graph): Also add types of
9785         vtables into the type inheritance graph.
9787 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
9789         PR rtl-optimization/59754
9790         * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
9791         modes in the REGNO != REGNO case.
9793 2014-01-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
9795         * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
9797 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
9799         PR tree-optimization/59745
9800         * tree-predcom.c (tree_predictive_commoning_loop): Call
9801         free_affine_expand_cache if giving up because components is NULL.
9803         * target-globals.c (save_target_globals): Allocate < 4KB structs using
9804         GC in payload of target_globals struct instead of allocating them on
9805         the heap and the larger structs separately using GC.
9806         * target-globals.h (struct target_globals): Make regs, hard_regs,
9807         reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
9808         of GTY((skip)) and change type to void *.
9809         (reset_target_globals): Cast loads from those fields to corresponding
9810         types.
9812 2014-01-10  Steve Ellcey  <sellcey@mips.com>
9814         PR plugins/59335
9815         * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
9816         gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
9817         tree-ssanames.h, print-tree.h, varasm.h, and context.h.
9819 2014-01-10  Richard Earnshaw  <rearnsha@arm.com>
9821         PR target/59744
9822         * aarch64-modes.def (CC_Zmode): New flags mode.
9823         * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
9824         represents an equality.
9825         (aarch64_get_condition_code): Handle CC_Zmode.
9826         * aarch64.md (compare_neg<mode>): Restrict to equality operations.
9828 2014-01-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
9830         * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
9831         extraction in good case.
9833 2014-01-10  Richard Biener  <rguenther@suse.de>
9835         PR tree-optimization/59374
9836         * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
9837         checking after SLP discovery.  Mark stmts not participating
9838         in any SLP instance properly.
9840 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
9842         * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
9843         when handling a SET rtx.
9845 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
9847         * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
9848         (cortex-a57): Likewise.
9849         (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
9851 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
9853         * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
9854         non-iwmmxt builtins.
9856 2014-01-10  Jan Hubicka  <hubicka@ucw.cz>
9858         PR ipa/58252
9859         PR ipa/59226
9860         * ipa-devirt.c record_target_from_binfo): Take as argument
9861         stack of binfos and lookup matching one for virtual inheritance.
9862         (possible_polymorphic_call_targets_1): Update.
9864 2014-01-10  Huacai Chen  <chenhc@lemote.com>
9866         * config/mips/driver-native.c (host_detect_local_cpu): Handle new
9867         kernel strings for Loongson-2E/2F/3A.
9869 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
9871         PR middle-end/59670
9872         * tree-vect-data-refs.c (vect_analyze_data_refs): Check
9873         is_gimple_call before calling gimple_call_internal_p.
9875 2014-01-09  Steve Ellcey  <sellcey@mips.com>
9877         * Makefile.in (TREE_FLOW_H): Remove.
9878         (TREE_SSA_H): Add file names from tree-flow.h.
9879         * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
9880         * tree.h: Remove tree-flow.h reference.
9881         * hash-table.h: Remove tree-flow.h reference.
9882         * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
9883         reference with tree-ssa-loop.h.
9885 2014-01-09  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
9887         * doc/invoke.texi: Add -maltivec={be,le} options, and document
9888         default element-order behavior for -maltivec.
9889         * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
9890         * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
9891         that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
9892         when targeting big endian, at least for now.
9893         * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
9895 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
9897         PR middle-end/47735
9898         * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
9899         var satisfies use_register_for_decl, just take into account type
9900         alignment, rather than decl alignment.
9902         PR tree-optimization/59622
9903         * gimple-fold.c (gimple_fold_call): Fix a typo in message.  For
9904         __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
9905         __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
9906         Don't devirtualize for inplace at all.  For targets.length () == 1,
9907         if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
9909 2014-01-09  H.J. Lu  <hongjiu.lu@intel.com>
9911         * config/i386/i386.md (cpu): Remove the unused btver1.
9913 2014-01-09  H.J. Lu  <hongjiu.lu@intel.com>
9915         * gdbasan.in: Put a breakpoint on __sanitizer::Report.
9917 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
9919         PR target/58115
9920         * tree-core.h (struct target_globals): New forward declaration.
9921         (struct tree_target_option): Add globals field.
9922         * tree.h (TREE_TARGET_GLOBALS): Define.
9923         (prepare_target_option_nodes_for_pch): New prototype.
9924         * target-globals.h (struct target_globals): Define even if
9925         !SWITCHABLE_TARGET.
9926         * tree.c (prepare_target_option_node_for_pch,
9927         prepare_target_option_nodes_for_pch): New functions.
9928         * config/i386/i386.h (SWITCHABLE_TARGET): Define.
9929         * config/i386/i386.c: Include target-globals.h.
9930         (ix86_set_current_function): Instead of doing target_reinit
9931         unconditionally, use save_target_globals_default_opts and
9932         restore_target_globals.
9934 2014-01-09  Richard Biener  <rguenther@suse.de>
9936         PR tree-optimization/59715
9937         * tree-cfg.h (split_critical_edges): Declare.
9938         * tree-cfg.c (split_critical_edges): Export.
9939         * tree-ssa-sink.c (execute_sink_code): Split critical edges.
9941 2014-01-09  Max Ostapenko  <m.ostapenko@partner.samsung.com>
9943         * cfgexpand.c (expand_stack_vars): Optionally disable
9944         asan stack protection.
9945         (expand_used_vars): Likewise.
9946         (partition_stack_vars): Likewise.
9947         * asan.c (asan_emit_stack_protection): Optionally disable
9948         after return stack usage.
9949         (instrument_derefs): Optionally disable memory access instrumentation.
9950         (instrument_builtin_call): Likewise.
9951         (instrument_strlen_call): Likewise.
9952         (asan_protect_global): Optionally disable global variables protection.
9953         * doc/invoke.texi: Added doc for new options.
9954         * params.def: Added new options.
9955         * params.h: Likewise.
9957 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
9959         PR rtl-optimization/59724
9960         * ifcvt.c (cond_exec_process_if_block): Don't call
9961         flow_find_head_matching_sequence with 0 longest_match.
9962         * cfgcleanup.c (flow_find_head_matching_sequence): Count even
9963         non-active insns if !stop_after.
9964         (try_head_merge_bb): Revert 2014-01-07 changes.
9966 2014-01-08  Jeff Law  <law@redhat.com>
9968         * ree.c (get_sub_rtx): New function, extracted from...
9969         (merge_def_and_ext): Here.
9970         (combine_reaching_defs): Use get_sub_rtx.
9972 2014-01-08  Eric Botcazou  <ebotcazou@adacore.com>
9974         * cgraph.h (varpool_variable_node): Do not choke on null node.
9976 2014-01-08  Catherine Moore  <clm@codesourcery.com>
9978         * config/mips/mips.md (simple_return): Attempt to use JRC
9979         for microMIPS.
9980         * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
9982 2014-01-08  Richard Sandiford  <rdsandiford@googlemail.com>
9984         PR rtl-optimization/59137
9985         * reorg.c (steal_delay_list_from_target): Call update_block for
9986         elided insns.
9987         (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
9989 2014-01-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
9991         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
9992         two duplicate entries.
9994 2014-01-08  Richard Sandiford  <rdsandiford@googlemail.com>
9996         Revert:
9997         2012-10-07  Richard Sandiford  <rdsandiford@googlemail.com>
9999         * config/mips/mips.c (mips_truncated_op_cost): New function.
10000         (mips_rtx_costs): Adjust test for BADDU.
10001         * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
10003         2012-10-02  Richard Sandiford  <rdsandiford@googlemail.com>
10005         * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
10006         (*baddu_si): ...this new pattern.
10008 2014-01-08  Jakub Jelinek  <jakub@redhat.com>
10010         PR ipa/59722
10011         * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
10013 2014-01-08  Bernd Edlinger  <bernd.edlinger@hotmail.de>
10015         PR middle-end/57748
10016         * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
10017         inner_reference_p.
10018         (expand_expr, expand_normal): Adjust.
10019         * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
10020         inner_reference_p. Use inner_reference_p to expand inner references.
10021         (store_expr): Adjust.
10022         * cfgexpand.c (expand_call_stmt): Adjust.
10024 2014-01-08  Rong Xu  <xur@google.com>
10026         * gcov-io.c (gcov_var): Move from gcov-io.h.
10027         (gcov_position): Ditto.
10028         (gcov_is_error): Ditto.
10029         (gcov_rewrite): Ditto.
10030         * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
10031         only part to libgcc/libgcov.h.
10033 2014-01-08  Marek Polacek  <polacek@redhat.com>
10035         PR middle-end/59669
10036         * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
10038 2014-01-08  Marek Polacek  <polacek@redhat.com>
10040         PR sanitizer/59667
10041         * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
10043 2014-01-08  Jakub Jelinek  <jakub@redhat.com>
10045         PR rtl-optimization/59649
10046         * stor-layout.c (get_mode_bounds): For BImode return
10047         0 and STORE_FLAG_VALUE.
10049 2014-01-08  Richard Biener  <rguenther@suse.de>
10051         PR middle-end/59630
10052         * gimple.h (is_gimple_builtin_call): Remove.
10053         (gimple_builtin_call_types_compatible_p): New.
10054         (gimple_call_builtin_p): New overload.
10055         * gimple.c (is_gimple_builtin_call): Remove.
10056         (validate_call): Rename to ...
10057         (gimple_builtin_call_types_compatible_p): ... this and export.  Also
10058         check return types.
10059         (validate_type): New static function.
10060         (gimple_call_builtin_p): New overload and adjust.
10061         * gimple-fold.c (gimple_fold_builtin): Fold the return value.
10062         (gimple_fold_call): Likewise.  Use gimple_call_builtin_p.
10063         (gimple_fold_stmt_to_constant_1): Likewise.
10064         * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
10066 2014-01-08  Richard Biener  <rguenther@suse.de>
10068         PR middle-end/59471
10069         * gimplify.c (gimplify_expr): Gimplify register-register type
10070         VIEW_CONVERT_EXPRs to separate stmts.
10072 2014-01-07  Jeff Law  <law@redhat.com>
10074         PR middle-end/53623
10075         * ree.c (combine_set_extension): Handle case where source
10076         and destination registers in an extension insn are different.
10077         (combine_reaching_defs): Allow source and destination registers
10078         in extension to be different under limited circumstances.
10079         (add_removable_extension): Remove restriction that the
10080         source and destination registers in the extension are the same.
10081         (find_and_remove_re): Emit a copy from the extension's
10082         destination to its source after the defining insn if
10083         the source and destination registers are different.
10085         PR middle-end/59285
10086         * ifcvt.c (merge_if_block): If we are merging a block with more than
10087         one successor with a block with no successors, remove any BARRIER
10088         after the second block.
10090 2014-01-07  Dan Xio Qiang  <ziyan01@163.com>
10092         * hw-doloop.c (reorg_loops): Release the bitmap obstack.
10094 2014-01-07  John David Anglin  <danglin@gcc.gnu.org>
10096         PR target/59652
10097         * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
10098         for 14-bit register offsets when INT14_OK_STRICT is false.
10100 2014-01-07  Roland Stigge  <stigge@antcom.de>
10101             Michael Meissner  <meissner@linux.vnet.ibm.com>
10103         PR 57386/target
10104         * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
10105         Only check TFmode for SPE constants.  Don't check TImode or TDmode.
10107 2014-01-07  James Greenhalgh  <james.greenhalgh@arm.com>
10109         * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
10110         -mcpu.
10112 2014-01-07  Yufeng Zhang  <yufeng.zhang@arm.com>
10114         * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
10115         with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
10116         rtx is const0_rtx or not.
10118 2014-01-07  Richard Sandiford  <rdsandiford@googlemail.com>
10120         PR target/58115
10121         * target-globals.c (save_target_globals): Remove this_fn_optab
10122         handling.
10123         * toplev.c: Include optabs.h.
10124         (target_reinit): Temporarily restore the global options if another
10125         set of options are in force.
10127 2014-01-07  Jakub Jelinek  <jakub@redhat.com>
10129         PR rtl-optimization/58668
10130         * cfgcleanup.c (flow_find_cross_jump): Don't count
10131         any jumps if dir_p is NULL.  Remove p1 variable, use active_insn_p
10132         to determine what is counted.
10133         (flow_find_head_matching_sequence): Use active_insn_p to determine
10134         what is counted.
10135         (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
10136         counting change.
10137         * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
10138         determine what is counted.
10140         PR tree-optimization/59643
10141         * tree-predcom.c (split_data_refs_to_components): If one dr is
10142         read and one write, determine_offset fails and the write isn't
10143         in the bad component, just put the read into the bad component.
10145 2014-01-07  Mike Stump  <mikestump@comcast.net>
10146             Jakub Jelinek  <jakub@redhat.com>
10148         PR pch/59436
10149         * tree-core.h (struct tree_optimization_option): Change optabs
10150         type from unsigned char * to void *.
10151         * optabs.c (init_tree_optimization_optabs): Adjust
10152         TREE_OPTIMIZATION_OPTABS initialization.
10154 2014-01-06  Jakub Jelinek  <jakub@redhat.com>
10156         PR target/59644
10157         * config/i386/i386.h (struct machine_function): Add
10158         no_drap_save_restore field.
10159         * config/i386/i386.c (ix86_save_reg): Use
10160         !cfun->machine->no_drap_save_restore instead of
10161         crtl->stack_realign_needed.
10162         (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
10163         this function clears frame_pointer_needed.  Set
10164         cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
10165         and DRAP reg is needed.
10167 2014-01-06  Marek Polacek  <polacek@redhat.com>
10169         PR c/57773
10170         * doc/implement-c.texi: Mention that other integer types are
10171         permitted as bit-field types in strictly conforming mode.
10173 2014-01-06  Felix Yang  <fei.yang0953@gmail.com>
10175         * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
10176         is newly allocated.
10178 2014-01-06  Richard Earnshaw  <rearnsha@arm.com>
10180         * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
10182 2014-01-06  Martin Jambor  <mjambor@suse.cz>
10184         PR ipa/59008
10185         * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
10186         to int.
10187         * ipa-prop.c (ipa_print_node_params): Fix indentation.
10189 2014-01-06  Eric Botcazou  <ebotcazou@adacore.com>
10191         PR debug/59350
10192         PR debug/59510
10193         * var-tracking.c (add_stores): Preserve the value of the source even if
10194         we don't record the store.
10196 2014-01-06  Terry Guo  <terry.guo@arm.com>
10198         * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
10200 2014-01-05  Iain Sandoe  <iain@codesourcery.com>
10202         PR bootstrap/59541
10203         * config/darwin.c (darwin_function_section): Adjust return values to
10204         correspond to optimisation changes made in r206070.
10206 2014-01-05  Uros Bizjak  <ubizjak@gmail.com>
10208         * config/i386/i386.c (ix86_data_alignment): Calculate max_align
10209         from prefetch_block tune setting.
10210         (nocona_cost): Correct size of prefetch block to 64.
10212 2014-01-04  Eric Botcazou  <ebotcazou@adacore.com>
10214         * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
10215         (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
10216         used to save the static chain register in the computation of the offset
10217         from which the FP registers need to be restored.
10219 2014-01-04  Jakub Jelinek  <jakub@redhat.com>
10221         PR tree-optimization/59519
10222         * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
10223         ICE if get_current_def (current_new_name) is already non-NULL, as long
10224         as it is a phi result of some other phi in *new_exit_bb that has
10225         the same argument.
10227         * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
10228         or vmovdqu* for misaligned_operand.
10229         (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
10230         <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
10231         * config/i386/i386.c (ix86_expand_special_args_builtin): Set
10232         aligned_mem for AVX512F masked aligned load and store builtins and for
10233         non-temporal moves.
10235 2014-01-03  Bingfeng Mei  <bmei@broadcom.com>
10237         PR tree-optimization/59651
10238         * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
10239         Address range for negative step should be added by TYPE_SIZE_UNIT.
10241 2014-01-03  Andreas Schwab  <schwab@linux-m68k.org>
10243         * config/m68k/m68k.c (handle_move_double): Handle pushes with
10244         overlapping registers also for registers other than the stack pointer.
10246 2014-01-03  Marek Polacek  <polacek@redhat.com>
10248         PR other/59661
10249         * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
10250         __builtin_FILE.
10252 2014-01-03  Jakub Jelinek  <jakub@redhat.com>
10254         PR target/59625
10255         * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
10256         asm goto as jump.
10258         * config/i386/i386.md (MODE_SIZE): New mode attribute.
10259         (push splitter): Use <P:MODE_SIZE> instead of
10260         GET_MODE_SIZE (<P:MODE>mode).
10261         (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
10262         (mov -1, reg peephole2): Likewise.
10263         * config/i386/sse.md (*mov<mode>_internal,
10264         <sse>_storeu<ssemodesuffix><avxsizesuffix>,
10265         <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
10266         *<code><mode>3, *andnot<mode>3<mask_name>,
10267         <mask_codefor><code><mode>3<mask_name>): Likewise.
10268         * config/i386/subst.md (mask_mode512bit_condition,
10269         sd_mask_mode512bit_condition): Likewise.
10271 2014-01-02  Xinliang David Li  <davidxl@google.com>
10273         PR tree-optimization/59303
10274         * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
10275         (dump_predicates): Better output format.
10276         (pred_equal_p): New function.
10277         (is_neq_relop_p): Ditto.
10278         (is_neq_zero_form_p): Ditto.
10279         (pred_expr_equal_p): Ditto.
10280         (pred_neg_p): Ditto.
10281         (simplify_pred): Ditto.
10282         (simplify_preds_2): Ditto.
10283         (simplify_preds_3): Ditto.
10284         (simplify_preds_4): Ditto.
10285         (simplify_preds): Ditto.
10286         (push_pred): Ditto.
10287         (push_to_worklist): Ditto.
10288         (get_pred_info_from_cmp): Ditto.
10289         (is_degenerated_phi): Ditto.
10290         (normalize_one_pred_1): Ditto.
10291         (normalize_one_pred): Ditto.
10292         (normalize_one_pred_chain): Ditto.
10293         (normalize_preds): Ditto.
10294         (normalize_cond_1): Remove function.
10295         (normalize_cond): Ditto.
10296         (is_gcond_subset_of): Ditto.
10297         (is_subset_of_any): Ditto.
10298         (is_or_set_subset_of): Ditto.
10299         (is_and_set_subset_of): Ditto.
10300         (is_norm_cond_subset_of): Ditto.
10301         (pred_chain_length_cmp): Ditto.
10302         (convert_control_dep_chain_into_preds): Type change.
10303         (find_predicates): Ditto.
10304         (find_def_preds): Ditto.
10305         (destroy_predicates_vecs): Ditto.
10306         (find_matching_predicates_in_rest_chains): Ditto.
10307         (use_pred_not_overlap_with_undef_path_pred): Ditto.
10308         (is_pred_expr_subset): Ditto.
10309         (is_pred_chain_subset_of): Ditto.
10310         (is_included_in): Ditto.
10311         (is_superset_of): Ditto.
10313 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
10315         Update copyright years.
10317 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
10319         * common/config/arc/arc-common.c, config/arc/arc-modes.def,
10320         config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
10321         config/arc/arc.md, config/arc/arc.opt,
10322         config/arm/arm_neon_builtins.def, config/arm/crypto.def,
10323         config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
10324         config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
10325         config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
10326         config/linux-protos.h, config/linux.c, config/winnt-c.c,
10327         diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
10328         vtable-verify.c, vtable-verify.h: Use the standard form for the
10329         copyright notice.
10331 2014-01-02  Tobias Burnus  <burnus@net-b.de>
10333         * gcc.c (process_command): Update copyright notice dates.
10334         * gcov-dump.c: Ditto.
10335         * gcov.c: Ditto.
10336         * doc/cpp.texi: Bump @copying's copyright year.
10337         * doc/cppinternals.texi: Ditto.
10338         * doc/gcc.texi: Ditto.
10339         * doc/gccint.texi: Ditto.
10340         * doc/gcov.texi: Ditto.
10341         * doc/install.texi: Ditto.
10342         * doc/invoke.texi: Ditto.
10344 2014-01-01  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
10346         * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
10348 2014-01-01  Jakub Jelinek  <jakub@redhat.com>
10350         * config/i386/sse.md (*mov<mode>_internal): Guard
10351         EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
10353         PR rtl-optimization/59647
10354         * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
10355         new_rtx into UNSIGNED_FLOAT rtxes.
10357 Copyright (C) 2014 Free Software Foundation, Inc.
10359 Copying and distribution of this file, with or without modification,
10360 are permitted in any medium without royalty provided the copyright
10361 notice and this notice are preserved.