2015-02-24 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / ChangeLog
blob47e91a135282fb8e932f1fd50a0b39d4a28fd363
1 2015-02-24  Richard Biener  <rguenther@suse.de>
3         Backport from mainline
4         2015-02-11  Richard Biener  <rguenther@suse.de>
6         PR lto/65015
7         * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list
8         and -fresolution.
10         2015-02-13  Richard Biener  <rguenther@suse.de>
12         PR lto/65015
13         * dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name
14         for LTO produced CUs.
16         2015-02-16  Richard Biener  <rguenther@suse.de>
18         PR lto/65015
19         * varasm.c (default_file_start): For LTO produced units
20         emit <artificial> as file directive.
22         2015-01-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
24         * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
26 2015-02-23  Oleg Endo  <olegendo@gcc.gnu.org>
28         Backport from mainline
29         2015-02-23  Oleg Endo  <olegendo@gcc.gnu.org>
31         PR target/65163
32         * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536
33         instead of const_int 4294901760.
35 2015-02-23  Richard Biener  <rguenther@suse.de>
37         Backport from mainline
38         2014-11-19  Richard Biener  <rguenther@suse.de>
40         PR tree-optimization/63844
41         * omp-low.c (fixup_child_record_type): Use a restrict qualified
42         referece type for the receiver parameter.
44         2014-11-27  Richard Biener  <rguenther@suse.de>
46         PR tree-optimization/61634
47         * tree-vect-slp.c: Include gimple-walk.h.
48         (vect_detect_hybrid_slp_stmts): Rewrite to propagate hybrid
49         down the SLP tree for one scalar statement.
50         (vect_detect_hybrid_slp_1): New walker function.
51         (vect_detect_hybrid_slp_2): Likewise.
52         (vect_detect_hybrid_slp): Properly handle pattern statements
53         in a pre-scan over all loop stmts.
55         2015-01-14  Richard Biener  <rguenther@suse.de>
57         PR tree-optimization/59354
58         * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
59         groups larger than the slp group size as having gaps.
61         2015-02-10  Richard Biener  <rguenther@suse.de>
63         PR tree-optimization/64909
64         * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly
65         pass a scalar-stmt count estimate to the cost model.
66         * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
68 2015-02-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
70         Backport from mainline
71         2015-02-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
73         * config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_<mode>3):
74         Mark operand 0 as earlyclobber in 2nd alternative.
75         (1st define_split below *aarch64_lshr_sisd_or_int_<mode>3):
76         Write negated shift amount into QI lowpart operand 0 and use it
77         in the shift step.
78         (2nd define_split below *aarch64_lshr_sisd_or_int_<mode>3): Likewise.
80 2015-02-20  Georg-Johann Lay  <avr@gjlay.de>
82         Backport from 2015-02-20 trunk r220847.
84         PR target/64452
85         * config/avr/avr.md (pushhi_insn): New insn.
86         (push<mode>1): Push virtual regs in one chunk using pushhi1_insn.
88 2015-02-20  Richard Biener  <rguenther@suse.de>
90         Backport from mainline
91         2015-01-12  Richard Biener  <rguenther@suse.de>
93         PR tree-optimization/64530
94         * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
95         back dr1.
97         2015-02-13  Richard Biener  <rguenther@suse.de>
99         PR lto/64373
100         * lto-streamer-out.c (tree_is_indexable): Guard for NULL
101         DECL_CONTEXT.
103         2015-02-16  Richard Biener  <rguenther@suse.de>
105         PR tree-optimization/63593
106         * tree-predcom.c (execute_pred_commoning_chain): Delay removing
107         stmts and releasing SSA names until...
108         (execute_pred_commoning): ... after processing all chains.
110         2015-02-18  Richard Biener  <rguenther@suse.de>
112         PR tree-optimization/65063
113         * tree-predcom.c (determine_unroll_factor): Return 1 if we
114         have replaced looparound PHIs.
116 2015-02-19  John David Anglin  <danlgin@gcc.gnu.org>
118         * config/pa/pa.c (pa_reloc_rw_mask): New function.
119         (TARGET_ASM_RELOC_RW_MASK): Define.
120         (pa_cannot_force_const_mem): Revert previous change.
122 2015-02-19  Richard Biener  <rguenther@suse.de>
124         Backport from mainline
125         2014-12-09  Richard Biener  <rguenther@suse.de>
127         PR middle-end/64199
128         * fold-const.c (fold_binary_loc): Use TREE_OVERFLOW_P.
130         2015-01-14  Richard Biener  <rguenther@suse.de>
132         PR tree-optimization/64493
133         PR tree-optimization/64495
134         * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
135         assign the proper vectorized PHI to the inner loop exit PHIs.
137         2015-01-27  Richard Biener  <rguenther@suse.de>
139         PR tree-optimization/56273
140         PR tree-optimization/59124
141         PR tree-optimization/64277
142         * tree-vrp.c (vrp_finalize): Emit array-bound warnings only
143         from the first VRP pass.
145         2015-02-19  Richard Biener  <rguenther@suse.de>
147         Backport from mainline
148         2015-01-15  Richard Biener  <rguenther@suse.de>
150         PR middle-end/64365
151         * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
152         for MEM_REF access functions with the same base can never partially
153         overlap.
155 2015-02-17  Ilya Tocar  <ilya.tocar@intel.com>
157         Backported from mainline
158         2015-01-14  Ilya Tocar  <ilya.tocar@intel.com>
160         PR target/64387
161         * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
162         (vec_unpacks_hi_v16sf): Ditto.
164 2015-02-15  John David Anglin  <danglin@gcc.gnu.org>
166         * config/pa/pa.c (pa_secondary_reload): Request a secondary reload
167         for all floading point loads and stores except those using a register
168         index address.
169         * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand
170         to a register.
172 2015-02-13  John David Anglin  <danglin@gcc.gnu.org>
174         * config/pa/constraints.md: Change "Q" and "T" constraints to memory
175         constraints.
176         * config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant
177         symbolic references to data to be forced to constant memory on the
178         SOM target.
180 2015-02-11  Jakub Jelinek  <jakub@redhat.com>
182         Backported from mainline
183         2015-02-09  Jakub Jelinek  <jakub@redhat.com>
185         PR target/64979
186         * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for
187         va_list escapes.
189 2015-02-11  Uros Bizjak  <ubizjak@gmail.com>
191         * config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2
192         and 3 earlyclobber operands.
194 2015-02-09  Dominik Vogt  <vogt@linux.vnet.ibm.com>
196         * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
197         * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
198         -mhotpatch= option.
199         * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
200         -mno-hotpatch options.  Change syntax of -mhotpatch= option.
201         * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
202         Renamed.
203         (s390_hotpatch_trampoline_halfwords_max): Renamed.
204         (s390_hotpatch_hw_max): New name.
205         (s390_hotpatch_trampoline_halfwords): Renamed.
206         (s390_hotpatch_hw_before_label): New name.
207         (get_hotpatch_attribute): Removed.
208         (s390_hotpatch_hw_after_label): New name.
209         (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
210         attribute.
211         (s390_attribute_table): Ditto.
212         (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
213         (s390_function_num_hotpatch_hw): New name.
214         Remove special handling of inline functions and hotpatching.
215         Return number of nops before and after the function label.
216         (s390_can_inline_p): Removed.
217         (s390_asm_output_function_label): Emit a configurable number of nops
218         after the function label.
219         (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
220         (TARGET_CAN_INLINE_P) Removed.
221         (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.
223 2015-02-05  Segher Boessenkool  <segher@kernel.crashing.org>
225         PR target/64580
226         Backport from mainline
227         * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order.
228         (rs6000_stack_info): Add assert.
229         (rs6000_output_savres_externs): New function, split off from...
230         (rs6000_output_function_prologue): ... here.  Do not call it for
231         thunks.
233 2015-02-04  Matthias Klose  <doko@ubuntu.com>
235         PR target/64938
236         Backport from mainline
237         2015-01-15  Jan Hubicka  <hubicka@ucw.cz>
239         PR ipa/64068
240         PR ipa/64559
241         * ipa.c (symbol_table::remove_unreachable_nodes):
242         Do not put abstract origins into boundary.
244 2015-02-04  Uros Bizjak  <ubizjak@gmail.com>
246         Backport from mainline
247         2015-01-31  Uros Bizjak  <ubizjak@gmail.com>
249         PR target/64882
250         * config/i386/predicates.md (address_no_seg_operand): Reject
251         non-CONST_INT_P operands in invalid mode.
253         Backport from mainline
254         2015-01-31  Uros Bizjak  <ubizjak@gmail.com>
256         * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of
257         address_operand 0.  Rename from *prefetch_prefetchwt1_<mode>.
258         * config/i386/predicates.md (address_no_seg_operand): Call
259         address_operand with VOIDmode.
260         (vsib_address_operand): Ditto.
262 2015-02-01  H.J. Lu  <hongjiu.lu@intel.com>
264         Backported from mainline
265         2015-01-24  H.J. Lu  <hongjiu.lu@intel.com>
267         * config/i386/driver-i386.c (host_detect_local_cpu): Check new
268         Silvermont, Haswell, Broadwell and Knights Landing model numbers.
269         * config/i386/i386.c (processor_model): Add
270         M_INTEL_COREI7_BROADWELL.
271         (arch_names_table): Add "broadwell".
273 2015-02-01  Jakub Jelinek  <jakub@redhat.com>
275         Backported from mainline
276         2015-01-27  Jakub Jelinek  <jakub@redhat.com>
278         PR rtl-optimization/61058
279         * jump.c (cleanup_barriers): Update basic block boundaries
280         if BLOCK_FOR_INSN is non-NULL on PREV.
282         2015-01-26  Jakub Jelinek  <jakub@redhat.com>
284         PR middle-end/64421
285         * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts
286         with asterisk, skip the first character.
288         * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
289         OPTION_MASK_QUAD_MEMORY_ATOMIC.
291         2015-01-23  Jakub Jelinek  <jakub@redhat.com>
293         PR rtl-optimization/63637
294         PR rtl-optimization/60663
295         * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
296         if elt->cost is MAX_COST for ASM_OPERANDS.
297         (find_sets_in_insn): Fix up comment typo.
298         (cse_insn): Don't set src_volatile for all non-volatile
299         ASM_OPERANDS in PARALLELs, but just those with multiple outputs
300         or with "memory" clobber.  Set elt->cost to MAX_COST
301         for ASM_OPERANDS in PARALLEL.  Set src_elt->cost to MAX_COST
302         if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
304         PR debug/64511
305         * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
306         GTY markup.
308         2015-01-20  Jakub Jelinek  <jakub@redhat.com>
310         PR debug/64663
311         * dwarf2out.c (decl_piece_node): Don't put bitsize into
312         mode if bitsize <= 0.
313         (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
314         dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
315         sizes and positions.
317 2015-01-29  Ilya Tocar  <ilya.tocar@intel.com>
319         * config/i386/avx2intrin.h (_mm256_bslli_epi128,
320         _mm256_bsrli_epi128): New.
321         * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
323 2015-01-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
325         * config/s390/s390.c (s390_memory_move_cost): Increase costs for
326         memory accesses.
328 2015-01-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
330         * config/s390/s390.c (s390_register_move_cost): Increase costs for
331         FPR->GPR moves.
333 2015-01-26  Uros Bizjak  <ubizjak@gmail.com>
335         Backport from mainline
336         2015-01-26  Uros Bizjak  <ubizjak@gmail.com>
338         PR target/64795
339         * config/i386/i386.md (*movdi_internal): Also check operand 0
340         to determine TYPE_LEA operand.
341         (*movsi_internal): Ditto.
343         Backport from mainline
344         2015-01-23  Uros Bizjak  <ubizjak@gmail.com>
346         * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
347         alternative 1.
349 2015-01-23  Jakub Jelinek  <jakub@redhat.com>
351         PR middle-end/64734
352         * omp-low.c (scan_sharing_clauses): Don't ignore
353         OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses
354         on target data/update constructs.
356 2015-01-23  Wei Mi  <wmi@google.com>
358         Backported from trunk.
359         2015-01-22  Wei Mi  <wmi@google.com>
361         PR rtl-optimization/64557
362         * dse.c (record_store): Call get_addr for mem_addr.
363         (check_mem_read_rtx): Likewise.
365 2015-01-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
367         * config/s390/s390.md (atomic code attribute): Fix typo "ior" ->
368         "or".
370 2015-01-21  Wei Mi  <wmi@google.com>
372         Backported from trunk.
373         2014-11-22  Jan Hubicka  <hubicka@ucw.cz>
375         PR ipa/63970
376         * ipa.c (symbol_table::remove_unreachable_nodes): Mark all inline clones
377         as having abstract origin used.
378         * ipa-inline-transform.c (can_remove_node_now_p_1): Drop abstract origin check.
379         (clone_inlined_nodes): Copy abstract originflag.
380         * lto-cgraph.c (compute_ltrans_boundary): Use get_create to get abstract origin node.
382 2015-01-20  Chung-Lin Tang  <cltang@codesourcery.com>
384         Backport from mainline
385         * config/nios2/nios2.c (nios2_asm_file_end): Implement
386         TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
387         needed.
388         (TARGET_ASM_FILE_END): Define.
390 2015-01-15  Martin Liska  <mliska@suse.cz>
392         Backport from mainline
393         2014-11-27  Richard Biener  <rguenther@suse.de>
395         PR middle-end/63704
396         * alias.c (mems_in_disjoint_alias_sets_p): Remove assert
397         and instead return false when !fstrict-aliasing.
399 2015-01-15  Eric Botcazou  <ebotcazou@adacore.com>
401         * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
402         set the memory attributes in all cases but clear MEM_EXPR if need be.
404 2015-01-14  Jakub Jelinek  <jakub@redhat.com>
406         Backported from mainline
407         2015-01-12  Jakub Jelinek  <jakub@redhat.com>
409         PR target/64513
410         * config/i386/i386.c (ix86_expand_prologue): Add
411         REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
413         2015-01-13  Jakub Jelinek  <jakub@redhat.com>
415         PR rtl-optimization/64286
416         * ree.c (combine_reaching_defs): Move part of comment earlier,
417         remove !SCALAR_INT_MODE_P check.
418         (add_removable_extension): Don't add vector mode
419         extensions if all uses of the source register aren't the same
420         vector extensions.
422         2015-01-12  Jakub Jelinek  <jakub@redhat.com>
424         PR tree-optimization/64563
425         * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
426         instead of != VR_VARYING.
428 2015-01-14  Marek Polacek  <polacek@redhat.com>
430         Backport from mainline
431         2015-01-13  Marek Polacek  <polacek@redhat.com>
433         PR middle-end/64391
434         * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
436 2015-01-13  Marc Glisse  <marc.glisse@inria.fr>
438         PR c++/54442
439         * tree.c (build_qualified_type): Use a canonical type for
440         TYPE_CANONICAL.
442 2015-01-13  Pat Haugen  <pthaugen@us.ibm.com>
444         Backport from mainline
445         2014-12-20  Segher Boessenkool  <segher@kernel.crashing.org>
447         PR target/64358
448         * config/rs6000/rs6000.c (rs6000_split_logical_inner): Swap the
449         input operands if only the second is inverted.
450         * config/rs6000/rs6000.md (*boolc<mode>3_internal1 for BOOL_128):
451         Swap BOOL_REGS_OP1 and BOOL_REGS_OP2.  Correct arguments to
452         rs6000_split_logical.
453         (*boolc<mode>3_internal2 for TI2): Swap operands[1] and operands[2].
455 2015-01-13  Renlin Li  <renlin.li@arm.com>
457         Backport from mainline:
458         2014-11-19 Renlin Li <renlin.li@arm.com>
460         PR target/63424
461         * config/aarch64/aarch64-simd.md (<su><maxmin>v2di3): New.
463 2015-01-13  Oleg Endo  <olegendo@gcc.gnu.org>
465         Backport form mainline
466         2015-01-13  Oleg Endo  <olegendo@gcc.gnu.org>
468         PR target/64479
469         * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
471 2015-01-09  Jakub Jelinek  <jakub@redhat.com>
473         PR rtl-optimization/64536
474         * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
475         tablejumps.
477 2015-01-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
479         Backport from mainline:
480         2015-01-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
482         PR target/64505
483         * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
484         correct reload handler if -m32 -mpowerpc64 is used.
486 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
488         Backport from mainline:
489         2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
491         * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
492         for -mcpu=e6500.
493         * config/rs6000/t-rtems: Add e6500 multilibs.
495 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
497         Backport from mainline:
498         2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
500         * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
501         MPC8540.
503 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
505         Backport from mainline:
506         2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
508         * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
509         MULTILIB_EXCEPTIONS.
511 2015-01-09  Renlin Li  <renlin.li@arm.com>
513         Backport from mainline:
514         2014-08-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
516         PR target/61413
517         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix definition
518         of __ARM_SIZEOF_WCHAR_T.
520 2015-01-08  Christian Bruel  <christian.bruel@st.com>
522         PR target/64507
523         * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
525 2015-01-03  John David Anglin  <danglin@gcc.gnu.org>
527         * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
528         instead of `m' constraint.  Likewise for unnamed movb comparison
529         patterns using reg_before_reload_operand predicate.
530         * config/pa/predicates.md (reg_before_reload_operand): Tighten
531         predicate to reject register index and LO_SUM DLT memory forms
532         after reload.
534 2014-12-27  H.J. Lu  <hongjiu.lu@intel.com>
536         Backport from mainline:
537         2014-12-27  H.J. Lu  <hongjiu.lu@intel.com>
539         PR target/64409
540         * config/i386/i386.c (ix86_function_type_abi): Issue an error
541         when ms_abi attribute is used with x32.
543 2014-12-27  Uros Bizjak  <ubizjak@gmail.com>
545         * config/i386/mmx.md (*vec_extractv2sf_1): Do not emit unpckhps.
546         Emit movshdup for SSE3 and shufps otherwise.
547         (*vec_extractv2si_1): Do not emit punpckhdq and unpckhps.
548         Emit pshufd for SSE2 and shufps otherwise.
550 2014-12-24  Nick Clifton  <nickc@redhat.com>
552         Backport from mainline:
553         2014-06-13  Nick Clifton  <nickc@redhat.com>
555         * config/rx/rx.h (JUMP_ALIGN): Return the log value if user
556         requested alignment is active.
557         (LABEL_ALIGN): Likewise.
558         (LOOP_ALIGN): Likewise.
560         2014-03-25  Nick Clifton  <nickc@redhat.com>
562         * config/rx/rx.c (rx_print_operand): Allow R operator to accept
563         SImode values.
565 2014-12-17  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
567         Backport from mainline
568         2014-12-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
570         PR rtl-optimization/64010
571         * reload.c (push_reload): Before reusing a register contained
572         in an operand as input reload register, ensure that it is not
573         used in CALL_INSN_FUNCTION_USAGE.
575 2014-12-15  Jakub Jelinek  <jakub@redhat.com>
577         PR sanitizer/64265
578         * tsan.c (instrument_func_entry): Insert __tsan_func_entry
579         call on edge from entry block to single succ instead
580         of after labels of single succ of entry block.
582 2014-12-14  H.J. Lu  <hongjiu.lu@intel.com>
584         Backported from mainline
585         2014-12-14  H.J. Lu  <hongjiu.lu@intel.com>
587         PR rtl-optimization/64037
588         * combine.c (setup_incoming_promotions): Pass the argument
589         before any promotions happen to promote_function_mode.
591 2014-12-14  H.J. Lu  <hongjiu.lu@intel.com>
593         Backported from mainline
594         2014-12-06  H.J. Lu  <hongjiu.lu@intel.com>
596         PR target/64200
597         * config/i386/i386.c (decide_alg): Don't assert "alg != libcall"
598         for TARGET_INLINE_STRINGOPS_DYNAMICALLY.
600 2014-12-13  Jakub Jelinek  <jakub@redhat.com>
602         Backported from mainline
603         2014-12-12  Jakub Jelinek  <jakub@redhat.com>
605         PR tree-optimization/64269
606         * tree-ssa-forwprop.c (simplify_builtin_call): Bail out if
607         len2 or diff are too large.
609 2014-12-11  Eric Botcazou  <ebotcazou@adacore.com>
611         * doc/md.texi (Insn Lengths): Fix description of (pc).
613 2014-12-11  Renlin Li  <renlin.li@arm.com>
615         Backport from mainline
616         2014-12-11  Renlin Li  <renlin.li@arm.com>
618         * config/aarch64/aarch64.c (aarch64_parse_cpu): Don't define
619         selected_tune.
620         (aarch64_override_options): Use selected_cpu's tuning.
622 2014-12-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
624         Backport from mainline
625         2014-09-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
627         * config/rs6000/rs6000-builtin.def (XVCVSXDDP_SCALE):  New
628         built-in definition.
629         (XVCVUXDDP_SCALE): Likewise.
630         (XVCVDPSXDS_SCALE): Likewise.
631         (XVCVDPUXDS_SCALE): Likewise.
632         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins):  Add
633         entries for VSX_BUILTIN_XVCVSXDDP_SCALE,
634         VSX_BUILTIN_XVCVUXDDP_SCALE, VSX_BUILTIN_XVCVDPSXDS_SCALE, and
635         VSX_BUILTIN_XVCVDPUXDS_SCALE.
636         * config/rs6000/rs6000-protos.h (rs6000_scale_v2df): New
637         prototype.
638         * config/rs6000/rs6000.c (real.h): New include.
639         (rs6000_scale_v2df): New function.
640         * config/rs6000/vsx.md (UNSPEC_VSX_XVCVSXDDP): New unspec.
641         (UNSPEC_VSX_XVCVUXDDP): Likewise.
642         (UNSPEC_VSX_XVCVDPSXDS): Likewise.
643         (UNSPEC_VSX_XVCVDPUXDS): Likewise.
644         (vsx_xvcvsxddp_scale): New define_expand.
645         (vsx_xvcvsxddp): New define_insn.
646         (vsx_xvcvuxddp_scale): New define_expand.
647         (vsx_xvcvuxddp): New define_insn.
648         (vsx_xvcvdpsxds_scale): New define_expand.
649         (vsx_xvcvdpsxds): New define_insn.
650         (vsx_xvcvdpuxds_scale): New define_expand.
651         (vsx_xvcvdpuxds): New define_insn.
652         * doc/extend.texi (vec_ctf): Add new prototypes.
653         (vec_cts): Likewise.
654         (vec_ctu): Likewise.
655         (vec_splat): Likewise.
656         (vec_div): Likewise.
657         (vec_mul): Likewise.
659         Backport from mainline
660         2014-08-28  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
662         * config/rs6000/altivec.h (vec_xl): New #define.
663         (vec_xst): Likewise.
664         * config/rs6000/rs6000-builtin.def (XXSPLTD_V2DF): New built-in.
665         (XXSPLTD_V2DI): Likewise.
666         (DIV_V2DI): Likewise.
667         (UDIV_V2DI): Likewise.
668         (MUL_V2DI): Likewise.
669         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
670         entries for VSX_BUILTIN_XVRDPI, VSX_BUILTIN_DIV_V2DI,
671         VSX_BUILTIN_UDIV_V2DI, VSX_BUILTIN_MUL_V2DI,
672         VSX_BUILTIN_XXSPLTD_V2DF, and VSX_BUILTIN_XXSPLTD_V2DI).
673         * config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTD): New unspec.
674         (UNSPEC_VSX_DIVSD): Likewise.
675         (UNSPEC_VSX_DIVUD): Likewise.
676         (UNSPEC_VSX_MULSD): Likewise.
677         (vsx_mul_v2di): New insn-and-split.
678         (vsx_div_v2di): Likewise.
679         (vsx_udiv_v2di): Likewise.
680         (vsx_xxspltd_<mode>): New insn.
682         Backport from mainline
683         2014-08-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
685         * config/rs6000/altivec.h (vec_cpsgn): New #define.
686         (vec_mergee): Likewise.
687         (vec_mergeo): Likewise.
688         (vec_cntlz): Likewise.
689         * config/rs600/rs6000-c.c (altivec_overloaded_builtins): Add new
690         entries for VEC_AND, VEC_ANDC, VEC_MERGEH, VEC_MERGEL, VEC_NOR,
691         VEC_OR, VEC_PACKSU, VEC_XOR, VEC_PERM, VEC_SEL, VEC_VCMPGT_P,
692         VMRGEW, and VMRGOW.
693         * doc/extend.texi: Document various forms of vec_cpsgn,
694         vec_splats, vec_and, vec_andc, vec_mergeh, vec_mergel, vec_nor,
695         vec_or, vec_perm, vec_sel, vec_sub, vec_xor, vec_all_eq,
696         vec_all_ge, vec_all_gt, vec_all_le, vec_all_lt, vec_all_ne,
697         vec_any_eq, vec_any_ge, vec_any_gt, vec_any_le, vec_any_lt,
698         vec_any_ne, vec_mergee, vec_mergeo, vec_packsu, and vec_cntlz.
700         Backport from mainline
701         2014-07-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
703         * config/rs6000/altivec.md (unspec enum):  Fix typo in UNSPEC_VSLDOI.
704         (altivec_vsldoi_<mode>): Likewise.
707 2014-12-10  Jakub Jelinek  <jakub@redhat.com>
709         PR tree-optimization/62021
710         * omp-low.c (simd_clone_adjust_return_type): Use
711         vector of pointer_sized_int_node types instead vector of pointer
712         types.
713         (simd_clone_adjust_argument_types): Likewise.
715 2014-12-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
717         Backport from mainline:
718         2014-12-09  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
720         PR middle-end/64225
721         * tree-ssa-reassoc.c (acceptable_pow_call): Disable transformation
722         for BUILT_IN_POW when flag_errno_math is present.
724 2014-12-10  Marek Polacek  <polacek@redhat.com>
726         Backport from mainline
727         2014-12-10  Marek Polacek  <polacek@redhat.com>
729         PR tree-optimization/61686
730         * tree-ssa-reassoc.c (range_entry_cmp): Use q->high instead of
731         p->high.
733 2014-12-09  David Edelsohn  <dje.gcc@gmail.com>
735         Backport from mainline
736         2014-12-05  David Edelsohn  <dje.gcc@gmail.com>
738         * config/rs6000/xcoff.h (ASM_OUTPUT_ALIGNED_LOCAL): Append
739         alignment to section name. Increase default alignment to
740         word.
742 2014-12-09  Uros Bizjak  <ubizjak@gmail.com>
744         PR bootstrap/64213
745         Revert:
746         2014-11-28  H.J. Lu  <hongjiu.lu@intel.com>
748         PR rtl-optimization/64037
749         * combine.c (setup_incoming_promotions): Pass the argument
750         before any promotions happen to promote_function_mode.
752 2014-12-09  Richard Biener  <rguenther@suse.de>
754         PR tree-optimization/64191
755         * tree-vect-stmts.c (vect_stmt_relevant_p): Clobbers are
756         not relevant (nor are their uses).
758 2014-12-07  Oleg Endo  <olegendo@gcc.gnu.org>
760         Backport from mainline
761         2014-12-07  Oleg Endo  <olegendo@gcc.gnu.org>
763         PR target/50751
764         * config/sh/sh.md (extendqihi2): Allow only for TARGET_SH1.
766 2014-12-05  H.J. Lu  <hongjiu.lu@intel.com>
768         Backport from mainline
769         2014-12-02  H.J. Lu  <hongjiu.lu@intel.com>
771         PR target/64108
772         * config/i386/i386.c (decide_alg): Stop only if there aren't
773         any usable algorithms.
775 2014-12-05  H.J. Lu  <hongjiu.lu@intel.com>
777         Backport from mainline
778         2014-11-28  H.J. Lu  <hongjiu.lu@intel.com>
780         PR rtl-optimization/64037
781         * combine.c (setup_incoming_promotions): Pass the argument
782         before any promotions happen to promote_function_mode.
784 2014-12-04  Tobias Burnus  <burnus@net-b.de>
786         * configure.ac
787         (ac_has_isl_schedule_constraints_compute_schedule):
788         New check.
789         * graphite-clast-to-gimple.c: For ISL 0.14, include deprecate headers.
790         * graphite-interchange.c: Ditto.
791         * graphite-poly.c: Ditto.
792         * graphite-sese-to-poly.c: Ditto.
793         * graphite-optimize-isl.c (getScheduleForBandList): Ditto.
794         Conditionally use ISL 0.13+ functions.
795         * config.in: Regenerate.
796         * configure: Regenerate.
798 2014-12-04  Jakub Jelinek  <jakub@redhat.com>
800         PR c++/56493
801         * convert.c (convert_to_real, convert_to_expr, convert_to_complex):
802         Handle COMPOUND_EXPR.
804 2014-12-03  Jakub Jelinek  <jakub@redhat.com>
806         PR c/59708
807         * expmed.c (expand_widening_mult): Return const0_rtx if
808         coeff is 0.
810 2014-12-03  Martin Jambor  <mjambor@suse.cz>
812         PR ipa/64153
813         * ipa-inline-analysis.c (evaluate_conditions_for_known_args): Check
814         type sizes before view_converting.
816 2014-12-03  Shanyao Chen  <chenshanyao@huawei.com>
818         Backport from mainline
819         2014-11-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
821         PR target/59593
822         * config/arm/arm.md (*movhi_insn): Use right formatting
823         for immediate.
825         2014-11-19  Felix Yang  <felix.yang@huawei.com>
826                     Shanyao Chen  <chenshanyao@huawei.com>
828         PR target/59593
829         * config/arm/arm.md (define_attr "arch"): Add v6t2.
830         (define_attr "arch_enabled"): Add test for the above.
831         (*movhi_insn_arch4): Add new alternative.
833 2014-12-03  Renlin Li  <Renlin.Li@arm.com>
835         Backported from mainline
836         2014-12-03  Renlin Li  <Renlin.Li@arm.com>
838         PR middle-end/63762
839         PR target/63661
840         * ira.c (ira): Update preferred class.
842 2014-12-02  Uros Bizjak  <ubizjak@gmail.com>
844         PR target/64113
845         * config/alpha/alpha.md (call_value_osf_tlsgd): Do not split insn
846         using post-reload splitter.  Use peephole2 pass instead.
847         (call_value_osf_tlsldm): Ditto.
848         (TLS_CALL): New int iterator.
849         (tls): New int attribute.
850         (call_value_osf_<tls>): Merge insn pattern from call_value_osf_tlsgd
851         and call_value_tlsldm using TLS_CALL int iterator.
853 2014-12-02  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
855         PR target/64115
856         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Remove
857         invalid UNSPEC_TOCREL sanity check under ENABLE_CHECKING.
859 2014-12-01  Richard Biener  <rguenther@suse.de>
861         PR middle-end/64111
862         * tree.c (int_cst_hash_hash): Use TYPE_UID instead of
863         htab_hash_pointer to not break PCH.
865 2014-12-01  Martin Jambor  <mjambor@suse.cz>
867         PR ipa/63551
868         * ipa-inline-analysis.c (evaluate_conditions_for_known_args): Convert
869         value of the argument to the type of the value in the condition.
871 2014-11-28  Jakub Jelinek  <jakub@redhat.com>
873         Backported from mainline
874         2014-11-27  Jakub Jelinek  <jakub@redhat.com>
876         PR middle-end/64067
877         * expr.c (expand_expr_addr_expr_1) <case COMPOUND_LITERAL_EXPR>:
878         Handle it by returning address of COMPOUND_LITERAL_EXPR_DECL
879         not only if modifier is EXPAND_INITIALIZER, but whenever
880         COMPOUND_LITERAL_EXPR_DECL is non-NULL and TREE_STATIC.
882         2014-11-19  Jakub Jelinek  <jakub@redhat.com>
884         PR tree-optimization/63915
885         * tree-vect-stmts.c (vectorizable_simd_clone_call): Pass
886         true instead of false as last argument to gsi_replace.
888         PR sanitizer/63913
889         * ubsan.c: Include tree-eh.h.
890         (instrument_bool_enum_load): Handle loads that can throw.
892         2014-10-31  Jakub Jelinek  <jakub@redhat.com>
894         PR rtl-optimization/63659
895         * ree.c (update_reg_equal_equiv_notes): New function.
896         (combine_set_extension, transform_ifelse): Use it.
898 2014-11-28  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
900         Backport from mainline.
901         2014-11-28  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
902         * config/arm/t-aprofile (MULTILIB_MATCHES): New entry for
903         -march=armv8-a+crc.
905 2014-11-26  Richard Biener  <rguenther@suse.de>
907         PR middle-end/63738
908         * tree-data-ref.c (split_constant_offset_1): Do not follow
909         SSA edges for SSA names with SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
911 2014-11-26  Richard Biener  <rguenther@suse.de>
913         Backport from mainline
914         2014-11-26  Richard Biener  <rguenther@suse.de>
916         PR tree-optimization/62238
917         * tree-predcom.c (ref_at_iteration): Unshare the expression
918         before gimplifying it.
920         2014-11-25  Richard Biener  <rguenther@suse.de>
922         PR tree-optimization/61927
923         * tree-vect-loop.c (vect_analyze_loop_2): Revert ordering
924         of group and pattern analysis to the one in GCC 4.8.
926         2014-11-07  Richard Biener  <rguenther@suse.de>
928         PR tree-optimization/63605
929         * fold-const.c (fold_binary_loc): Properly use element_precision
930         for types that may not be scalar.
932         2014-10-28  Richard Biener  <rguenther@suse.de>
934         PR middle-end/63665
935         * fold-const.c (fold_comparison): Properly guard simplifying
936         against INT_MAX/INT_MIN with !TYPE_OVERFLOW_WRAPS.
938 2014-11-25  Rohit  <rohitarulraj@freescale.com>
940         PR bootstrap/63703
941         * config/rs6000/darwin.h (REGISTER_NAMES): Update based on 32 newly
942         added GCC hard register numbers for SPE high registers.
944 2014-11-23  Oleg Endo  <olegendo@gcc.gnu.org>
946         Backport from mainline
947         2014-11-23  Oleg Endo  <olegendo@gcc.gnu.org>
949         PR target/53976
950         * config/sh/sh_optimize_sett_clrt.cc
951         (sh_optimize_sett_clrt::find_last_ccreg_values): Return bool instead
952         of void.  Abort at complex edges.
953         (sh_optimize_sett_clrt::execute): Do nothing if find_last_ccreg_values
954         returned false.
956 2014-11-22  Oleg Endo  <olegendo@gcc.gnu.org>
958         Backport from mainline
959         2014-11-22  Oleg Endo  <olegendo@gcc.gnu.org>
961         PR target/63783
962         PR target/51244
963         * config/sh/sh_treg_combine.cc (sh_treg_combine::make_not_reg_insn):
964         Do not emit bitwise not insn.  Emit logical not insn sequence instead.
965         Adjust related comments throughout the file.
967 2014-11-22  Oleg Endo  <olegendo@gcc.gnu.org>
969         Backport from mainline
970         2014-11-20  Segher Boessenkool  <segher@kernel.crashing.org>
972         PR target/60111
973         * config/sh/sh.c: Use signed char for signed field.
975 2014-11-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
977         PR target/63673
978         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Allow
979         the base pointer of vec_vsx_ld and vec_vsx_st to take a pointer to
980         double.
982 2014-11-21  Richard Biener  <rguenther@suse.de>
984         PR tree-optimization/61750
985         * tree-ssa-forwprop.c (simplify_vce): Verify type sizes
986         match for the resulting VIEW_CONVERT_EXPR.
988 2014-11-19  Uros Bizjak  <ubizjak@gmail.com>
990         PR target/63947
991         * config/i386/i386.c (put_condition_code) <case LTU, case GEU>:
992         Output "b" and "nb" suffix for FP mode.
994 2014-11-19  Tom de Vries  <tom@codesourcery.com>
996         Backport from mainline
997         PR tree-optimization/62167
998         * tree-ssa-tail-merge.c (stmt_local_def): Handle statements with vuse
999         conservatively.
1000         (gimple_equal_p): Don't use vn_valueize to compare for lhs equality of
1001         assigns.
1003 2014-11-16  Eric Botcazou  <ebotcazou@adacore.com>
1005         * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Move around.
1006         * doc/tm.texi: Regenerate.
1008 2014-11-14  Felix Yang  <felix.yang@huawei.com>
1010         Backport from mainline
1011         2014-11-14  Felix Yang  <felix.yang@huawei.com>
1012                     Jiji Jiang  <jiangjiji@huawei.com>
1014         * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): Use
1015         VALL mode iterator instead of VALLDI.
1017 2014-11-13  Teresa Johnson  <tejohnson@google.com>
1019         PR tree-optimization/63841
1020         * tree-ssa-strlen.c (strlen_optimize_stmt): Ignore clobbers.
1022 2014-11-13  Christophe Lyon  <christophe.lyon@linaro.org>
1024         Backport from mainline
1025         2014-11-02  Michael Collison  <michael.collison@linaro.org>
1027         * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO) : Update
1028         to support vector modes.
1029         (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
1031 2014-11-13  Eric Botcazou  <ebotcazou@adacore.com>
1033         * doc/tm.texi.in (SELECT_CC_MODE): Update example.
1034         (REVERSIBLE_CC_MODE): Fix example.
1035         (REVERSE_CONDITION): Fix typo.
1036         * doc/tm.texi: Regenerate.
1038 2014-11-12  Jakub Jelinek  <jakub@redhat.com>
1040         PR ipa/63838
1041         * ipa-pure-const.c (propagate_nothrow): Walk w->indirect_calls
1042         chain instead of node->indirect_calls.
1044 2014-11-11  Eric Botcazou  <ebotcazou@adacore.com>
1046         PR target/61535
1047         * config/sparc/sparc.c (function_arg_vector_value): Deal with vectors
1048         smaller than 8 bytes.
1049         (sparc_function_arg_1): Tweak.
1050         (sparc_function_value_1): Tweak.
1052 2014-11-08  Eric Botcazou  <ebotcazou@adacore.com>
1054         * config/arm/arm.c (arm_set_return_address): Mark the store as frame
1055         related, if any.
1056         (thumb_set_return_address): Likewise.
1058 2014-11-07  Daniel Hellstrom  <daniel@gaisler.com>
1060         * config.gcc (sparc-*-rtems*): Clean away unused t-elf.
1061         * config/sparc/t-rtems: Add leon3v7 and muser-mode multilibs.
1063 2014-11-07  Marek Polacek  <polacek@redhat.com>
1065         Backported from mainline
1066         2014-10-23  Marek Polacek  <polacek@redhat.com>
1068         * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
1069         in unsigned type.
1071 2014-11-06  John David Anglin  <danglin@gcc.gnu.org>
1073         * config/pa/pa.md (trap): New insn.  Add "trap" to attribute type.
1074         Don't allow trap insn in in_branch_delay, in_nullified_branch_delay
1075         or in_call_delay.
1077 2014-11-06  Daniel Hellstrom  <daniel@gaisler.com>
1079         * config.gcc (sparc*-*-*): Accept mcpu=leon3v7 processor.
1080         * doc/invoke.texi (SPARC options): Add mcpu=leon3v7 comment.
1081         * config/sparc/leon.md (leon3_load, leon_store, leon_fp_*): Handle
1082         leon3v7 as leon3.
1083         * config/sparc/sparc-opts.h (enum processor_type): Add LEON3V7.
1084         * config/sparc/sparc.c (sparc_option_override): Add leon3v7 support.
1085         * config/sparc/sparc.h (TARGET_CPU_leon3v7): New define.
1086         * config/sparc/sparc.md (cpu): Add leon3v7.
1087         * config/sparc/sparc.opt (enum processor_type): Add leon3v7.
1089 2014-11-05  Uros Bizjak  <ubizjak@gmail.com>
1091         PR target/63538
1092         * config/i386/i386.c (in_large_data_p): Reject automatic variables.
1093         (ix86_encode_section_info): Do not check for non-automatic varibles
1094         when setting SYMBOL_FLAG_FAR_ADDR flag.
1095         (x86_64_elf_select_section): Do not check ix86_cmodel here.
1096         (x86_64_elf_unique_section): Ditto.
1097         (x86_elf_aligned_common): Emit tab before .largecomm.
1099 2014-11-05  Uros Bizjak  <ubizjak@gmail.com>
1101         Backport from mainline:
1102         2014-10-20  Uros Bizjak  <ubizjak@gmail.com>
1104         * varasm.c (const_alias_set): Remove.
1105         (init_varasm_once): Remove initialization of const_alias_set.
1106         (build_constant_desc): Do not set alias set to const_alias_set.
1108         Backport from mainline:
1109         2014-10-14  Uros Bizjak  <ubizjak@gmail.com>
1111         PR rtl-optimization/63475
1112         * alias.c (true_dependence_1): Always use get_addr to extract
1113         true address operands from x_addr and mem_addr.  Use extracted
1114         address operands to check for references with alignment ANDs.
1115         Use extracted address operands with find_base_term and
1116         base_alias_check. For noncanonicalized operands call canon_rtx with
1117         extracted address operand.
1118         (write_dependence_1): Ditto.
1119         (may_alias_p): Ditto.  Remove unused calls to canon_rtx.
1121         Backport from mainline:
1122         2014-10-10  Uros Bizjak  <ubizjak@gmail.com>
1124         PR rtl-optimization/63483
1125         * alias.c (true_dependence_1): Do not exit early for MEM_READONLY_P
1126         references when alignment ANDs are involved.
1127         (write_dependence_p): Ditto.
1128         (may_alias_p): Ditto.
1130 2014-10-31  DJ Delorie  <dj@redhat.com>
1132         * expmed.c (strict_volatile_bitfield_p): Fix off-by-one error.
1134 2014-10-31  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1136         * config/aarch64/aarch64-elf-raw.h (CA53_ERR_835769_SPEC): Define.
1137         (LINK_SPEC): Include CA53_ERR_835769_SPEC.
1138         * config/aarch64/aarch64-linux.h (CA53_ERR_835769_SPEC): Define.
1139         (LINK_SPEC): Include CA53_ERR_835769_SPEC.
1141 2014-10-31  Jakub Jelinek  <jakub@redhat.com>
1143         PR sanitizer/63697
1144         * tree-vrp.c (simplify_internal_call_using_ranges): For subcode ==
1145         MINUS_EXPR, check overflow on vr0.min - vr1.max and vr0.max - vr1.min
1146         instead of vr0.min - vr1.min and vr0.max - vr1.max.
1148 2014-10-30  Georg-Johann Lay  <avr@gjlay.de>
1150         PR63633
1151         * config/avr/avr-protos.h (regmask): New inline function.
1152         (avr_fix_inputs, avr_emit3_fix_outputs): New protos.
1153         * config/avr/avr.c (avr_fix_operands, avr_move_fixed_operands)
1154         (avr_fix_inputs, avr_emit3_fix_outputs): New functions.
1155         * config/avr/avr-fixed.md (mulqq3_nomul, muluqq3_nomul)
1156         (mul<ALL2QA>3, mul<ALL4A>3, <usdiv><ALL1Q>3, <usdiv><ALL2QA>3)
1157         (<usdiv><ALL4A>3, round<ALL124QA>3): Fix input operands.
1158         * config/avr/avr-dimode.md (add<ALL8>3, sub<ALL8>3)
1159         (<ss_addsub><ALL8S>3, <us_addsub><ALL8U>3, cbranch<ALL8>4)
1160         (<di_shifts><ALL8>3, <any_extend>mulsidi3): Fix input operands.
1161         * config/avr/avr.md (mulqi3_call, mulhi3_call, mulsi3, mulpsi3)
1162         (mulu<QIHI>si3, muls<QIHI>si3, mulohisi3, <any_extend>mulhisi3)
1163         (usmulhisi3, <any_extend>mulhi3_highpart, mulsqipsi3)
1164         (fmul, fmuls, fmulsu): Fix operands.  Turn insn into expander as
1165         needed.
1167 2014-10-30  Jakub Jelinek  <jakub@redhat.com>
1169         * BASE-VER: Set to 4.9.3.
1170         * DEV-PHASE: Set to prerelease.
1172 2014-10-30  Release Manager
1174         * GCC 4.9.2 released.
1176 2014-10-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1178         * config/aarch64/aarch64.c (aarch64_madd_needs_nop): Restore
1179         recog state after aarch64_prev_real_insn call.
1181 2014-10-27  Guozhi Wei  <carrot@google.com>
1183         PR tree-optimization/63530
1184         tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Set
1185         pointer alignment according to DR_MISALIGNMENT.
1187 2014-10-25  Yury Gribov  <y.gribov@samsung.com>
1189         PR sanitizer/63638
1190         * asan.c (enum asan_check_flags): Fixed ASAN_CHECK_LAST.
1192 2014-10-24  Markus Trippelsdorf  <markus@trippelsdorf.de>
1194         PR bootstrap/63632
1195         * collect2.c (main): Filter out -fno-lto.
1197 2014-10-22  Richard Biener  <rguenther@suse.de>
1198             Tobias Burnus <burnus@net-b.de>
1200         PR lto/63603
1201         * gcc.c (LINK_COMMAND_SPEC): Add %{fno-lto}.
1203 2014-10-21  Jakub Jelinek  <jakub@redhat.com>
1205         PR tree-optimization/63563
1206         * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Bail out
1207         if either dra or drb stmts are not normal loads/stores.
1209 2014-10-17  Jakub Jelinek  <jakub@redhat.com>
1211         * asan.c (instrument_derefs): Allow instrumentation of odd-sized
1212         accesses even for -fsanitize=address.
1213         (execute_sanopt): Only allow use_calls for -fsanitize=kernel-address.
1215         PR tree-optimization/63302
1216         * tree-ssa-reassoc.c (optimize_range_tests_xor,
1217         optimize_range_tests_diff): Use !integer_pow2p () instead of
1218         tree_log2 () < 0.
1220 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1222         * asan.c (instrument_derefs): Enable unaligned path for KASan.
1224 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1226         Backport from mainline
1227         2014-10-03  Yury Gribov  <y.gribov@samsung.com>
1229         * asan.c (asan_finish_file): Disable __asan_init calls for KASan;
1230         don't emit empty ctors.
1232 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1234         Backport from mainline
1235         2014-09-01  Yury Gribov  <y.gribov@samsung.com>
1237         PR sanitizer/61897
1238         PR sanitizer/62140
1240         * asan.c (asan_mem_ref_get_end): Handle non-ptroff_t lengths.
1241         (build_check_stmt): Likewise.
1242         (instrument_strlen_call): Likewise.
1243         (asan_expand_check_ifn): Likewise and fix types.
1244         (maybe_cast_to_ptrmode): New function.
1246 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1248         Backport from mainline
1249         2014-08-18  Yury Gribov  <y.gribov@samsung.com>
1251         PR sanitizer/62089
1253         * asan.c (instrument_derefs): Fix bitfield check.
1255 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1257         Backport from mainline
1258         2014-08-11  Yury Gribov  <y.gribov@samsung.com>
1260         * asan.c (asan_check_flags): New enum.
1261         (build_check_stmt_with_calls): Removed function.
1262         (build_check_stmt): Split inlining logic to
1263         asan_expand_check_ifn.
1264         (instrument_derefs): Rename parameter.
1265         (instrument_mem_region_access): Rename parameter.
1266         (instrument_strlen_call): Likewise.
1267         (asan_expand_check_ifn): New function.
1268         (asan_instrument): Remove old code.
1269         (pass_sanopt::execute): Change handling of
1270         asan-instrumentation-with-call-threshold.
1271         (asan_clear_shadow): Fix formatting.
1272         (asan_function_start): Likewise.
1273         (asan_emit_stack_protection): Likewise.
1274         * doc/invoke.texi (asan-instrumentation-with-call-threshold):
1275         Update description.
1276         * internal-fn.c (expand_ASAN_CHECK): New function.
1277         * internal-fn.def (ASAN_CHECK): New internal function.
1278         * params.def (PARAM_ASAN_INSTRUMENTATION_WITH_CALL_THRESHOLD):
1279         Update description.
1280         (PARAM_ASAN_USE_AFTER_RETURN): Likewise.
1281         * tree.c: Small comment fix.
1283 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1285         Backport from mainline
1286         2014-08-11  Yury Gribov  <y.gribov@samsung.com>
1288         * gimple.c (gimple_call_fnspec): Support internal functions.
1289         (gimple_call_return_flags): Use const.
1290         * Makefile.in (GTFILES): Add internal-fn.h to list of GC files.
1291         * internal-fn.def: Add fnspec information.
1292         * internal-fn.h (internal_fn_fnspec): New function.
1293         (init_internal_fns): Declare new function.
1294         * internal-fn.c (internal_fn_fnspec_array): New global variable.
1295         (init_internal_fns): New function.
1296         * tree-core.h: Update macro call.
1297         * tree.c (build_common_builtin_nodes): Initialize internal fns.
1299         Backport from mainline
1300         2014-08-12  Yury Gribov  <y.gribov@samsung.com>
1302         * internal-fn.c (init_internal_fns): Fix off-by-one.
1304 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1306         Backport from mainline
1307         2014-07-31  Yury Gribov  <y.gribov@samsung.com>
1309         * doc/cpp.texi (__SANITIZE_ADDRESS__): Updated description.
1310         * doc/invoke.texi (-fsanitize=kernel-address): Describe new option.
1311         * flag-types.h (SANITIZE_USER_ADDRESS, SANITIZE_KERNEL_ADDRESS):
1312         New enums.
1313         * gcc.c (sanitize_spec_function): Support new option.
1314         (SANITIZER_SPEC): Remove now redundant check.
1315         * opts.c (common_handle_option): Support new option.
1316         (finish_options): Check for incompatibilities.
1317         * toplev.c (process_options): Split userspace-specific checks.
1319 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1321         Backport from mainline
1322         2014-06-24  Max Ostapenko  <m.ostapenko@partner.samsung.com>
1324         * asan.c (instrument_strlen_call): Do not instrument first byte in
1325         strlen if already instrumented.
1327 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1329         Backport from mainline
1330         2014-06-16  Yury Gribov  <y.gribov@samsung.com>
1332         * asan.c (check_func): New function.
1333         (maybe_create_ssa_name): Likewise.
1334         (build_check_stmt_with_calls): Likewise.
1335         (use_calls_p): Likewise.
1336         (report_error_func): Change interface.
1337         (build_check_stmt): Allow non-integer lengths; add support
1338         for new parameter.
1339         (asan_instrument): Likewise.
1340         (instrument_mem_region_access): Moved code to
1341         build_check_stmt.
1342         (instrument_derefs): Likewise.
1343         (instrument_strlen_call): Likewise.
1344         * cfgcleanup.c (old_insns_match_p): Add support for new
1345         functions.
1346         * doc/invoke.texi: Describe new parameter.
1347         * params.def: Define new parameter.
1348         * params.h: Likewise.
1349         * sanitizer.def: Describe new builtins.
1351         Backport from mainline
1352         2014-06-16  Yury Gribov  <y.gribov@samsung.com>
1354         * asan.c (build_check_stmt): Fix maybe-uninitialized warning.
1356         Backport from mainline
1357         2014-06-18  Yury Gribov  <y.gribov@samsung.com>
1359         PR sanitizer/61530
1361         * asan.c (build_check_stmt): Add condition.
1363         Backport from mainline
1364         2014-06-18  Yury Gribov  <y.gribov@samsung.com>
1366         PR sanitizer/61547
1368         * asan.c (instrument_strlen_call): Fixed instrumentation of
1369         trailing byte.
1371 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1373         Backport from mainline
1374         2014-05-30  Jakub Jelinek  <jakub@redhat.com>
1376         * asan.c (report_error_func): Add SLOW_P argument, use
1377         BUILT_IN_ASAN_*_N if set.
1378         (build_check_stmt): Likewise.
1379         (instrument_derefs): If T has insufficient alignment,
1380         force same handling as for odd sizes.
1382 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1384         Backport from mainline
1385         2014-05-30  Jakub Jelinek  <jakub@redhat.com>
1387         * sanitizer.def (BUILT_IN_ASAN_REPORT_LOAD_N,
1388         BUILT_IN_ASAN_REPORT_STORE_N): New.
1389         * asan.c (struct asan_mem_ref): Change access_size type to
1390         HOST_WIDE_INT.
1391         (asan_mem_ref_init, asan_mem_ref_new, get_mem_refs_of_builtin_call,
1392         update_mem_ref_hash_table): Likewise.
1393         (asan_mem_ref_hasher::hash): Hash in a HWI.
1394         (report_error_func): Change size_in_bytes argument to HWI.
1395         Use *_N builtins if size_in_bytes is larger than 16 or not power of
1396         two.
1397         (build_shadow_mem_access): New function.
1398         (build_check_stmt): Use it.  Change size_in_bytes argument to HWI.
1399         Handle size_in_bytes not power of two or larger than 16.
1400         (instrument_derefs): Don't give up if size_in_bytes is not
1401         power of two or is larger than 16.
1403 2014-10-15  Vladimir Makarov  <vmakarov@redhat.com>
1405         PR rtl-optimization/63448
1406         * lra-int.h (LRA_MAX_CONSTRAINT_ITERATION_NUMBER): Remove.
1407         (LRA_MAX_ASSIGNMENT_ITERATION_NUMBER): New.
1408         (LRA_MAX_INHERITANCE_PASSES): Use it.
1409         (lra_constraint_iter_after_spill): Remove.
1410         (lra_assignment_iter): New.
1411         (lra_assignment_iter_after_spill): New.
1412         * lra-assigns.c (lra_assignment_iter): New.
1413         (lra_assignment_iter_after_spill): New.
1414         (former_reload_pseudo_spill_p): New.
1415         (spill_for): Set up former_reload_pseudo_spill_p.
1416         (setup_live_pseudos_and_spill_after_risky): Ditto.
1417         (assign_by_spills): Ditto.
1418         (lra_assign): Increment lra_assignment_iter.  Print the iteration
1419         number.  Reset former_reload_pseudo_spill_p.  Check
1420         lra_assignment_iter_after_spill.
1421         * lra.c (lra): Remove lra_constraint_iter_after_spill.  Initialize
1422         lra_assignment_iter and lra_assignment_iter_after_spill.
1423         * lra-constraints.c (lra_constraint_iter_after_spill): Remove.
1424         (lra_constraints): Remove code with
1425         lra_assignment_iter_after_spill.
1427 2014-10-15  Eric Botcazou  <ebotcazou@adacore.com>
1429         * stor-layout.c (self_referential_size): Do not promote arguments.
1431 2014-10-15  Richard Biener  <rguenther@suse.de>
1433         Backport from mainline
1434         2014-08-15  Richard Biener  <rguenther@suse.de>
1436         PR tree-optimization/62031
1437         * tree-data-ref.c (dr_analyze_indices): Do not set
1438         DR_UNCONSTRAINED_BASE.
1439         (dr_may_alias_p): All indirect accesses have to go the
1440         formerly DR_UNCONSTRAINED_BASE path.
1441         * tree-data-ref.h (struct indices): Remove
1442         unconstrained_base member.
1443         (DR_UNCONSTRAINED_BASE): Remove.
1445 2014-10-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1447         Backport from mainline r215880
1448         2014-10-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1450         * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
1451         Issue a warning message when vec_lvsl or vec_lvsr is used with a
1452         little endian target.
1454         Backport from mainline r215882
1455         2014-10-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1457         * altivec.md (altivec_lvsl): New define_expand.
1458         (altivec_lvsl_direct): Rename define_insn from altivec_lvsl.
1459         (altivec_lvsr): New define_expand.
1460         (altivec_lvsr_direct): Rename define_insn from altivec_lvsr.
1461         * rs6000.c (rs6000_expand_builtin): Change to use
1462         altivec_lvs[lr]_direct; remove commented-out code.
1464 2014-10-10  Richard Biener  <rguenther@suse.de>
1466         PR tree-optimization/63379
1467         * tree-vect-slp.c (vect_get_constant_vectors): Do not compute
1468         a neutral operand for min/max when it is not a reduction chain.
1470 2014-10-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1472         Backport from mainline
1473         2014-10-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1475         * configure.ac: Add --enable-fix-cortex-a53-835769 option.
1476         * configure: Regenerate.
1477         * config/aarch64/aarch64.c (aarch64_override_options): Handle
1478         TARGET_FIX_ERR_A53_835769_DEFAULT.
1479         * config/aarch64/aarch64.opt (mfix-cortex-a53-835769): Set Init
1480         value to 2.
1481         * doc/install.texi (aarch64*-*-*): Document new
1482         --enable-fix-cortex-a53-835769 option.
1484 2014-10-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1486         Backport from mainline
1487         2014-10-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1488                     Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1490         * config/aarch64/aarch64.h (FINAL_PRESCAN_INSN): Define.
1491         (ADJUST_INSN_LENGTH): Define.
1492         * config/aarch64/aarch64.opt (mfix-cortex-a53-835769): New option.
1493         * config/aarch64/aarch64.c (is_mem_p): New function.
1494         (is_memory_op): Likewise.
1495         (aarch64_prev_real_insn): Likewise.
1496         (is_madd_op): Likewise.
1497         (dep_between_memop_and_curr): Likewise.
1498         (aarch64_madd_needs_nop): Likewise.
1499         (aarch64_final_prescan_insn): Likewise.
1500         * doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-835769
1501         and -mno-fix-cortex-a53-835769 options.
1503 2014-10-10  Richard Biener  <rguenther@suse.de>
1505         PR tree-optimization/63380
1506         * tree-ssa-tail-merge.c (stmt_local_def): Exclude stmts that
1507         may trap.
1509 2014-10-09  Richard Biener  <rguenther@suse.de>
1511         PR tree-optimization/61969
1512         * tree-nrv.c (pass_nrv::execute): Properly test for automatic
1513         variables.
1515 2014-10-09  Uros Bizjak  <ubizjak@gmail.com>
1517         Backport from mainline
1518         2014-10-09  Uros Bizjak  <ubizjak@gmail.com>
1520         PR rtl-optimization/57003
1521         * regcprop.c (copyprop_hardreg_forward_1): If ksvd.ignore_set_reg,
1522         also check CALL_INSN_FUNCTION_USAGE for clobbers again after
1523         killing regs_invalidated_by_call.
1525 2014-10-08  Oleg Endo  <olegendo@gcc.gnu.org>
1527         Backport from mainline
1528         2014-10-08  Oleg Endo  <olegendo@gcc.gnu.org>
1530         PR target/52941
1531         * config/sh/sync.md (atomic_exchangesi_hard, atomic_exchange<mode>_hard,
1532         atomic_fetch_<fetchop_name>si_hard,
1533         atomic_fetch_<fetchop_name><mode>_hard, atomic_fetch_nandsi_hard,
1534         atomic_fetch_nand<mode>_hard, atomic_<fetchop_name>_fetchsi_hard,
1535         atomic_<fetchop_name>_fetch<mode>_hard, atomic_nand_fetchsi_hard,
1536         atomic_nand_fetch<mode>_hard): Add missing set of T_REG.
1538 2014-10-03  Jan Hubicka  <hubicka@ucw.cz>
1540         PR ipa/61144
1541         * varpool.c (ctor_for_folding): Do not fold WEAK symbols.
1543 2014-10-03  Jan Hubicka  <hubicka@ucw.cz>
1545         PR ipa/62121
1546         * ipa-devirt.c (restrict_to_inner_class): Do not ICE when type is
1547         unknown.
1549 2014-10-03  Jan Hubicka  <hubicka@ucw.cz>
1551         PR lto/62026
1552         * lto-streamer-out.c (lto_output): Handle thunks correctly.
1553         * cgraphclones.c (duplicate_thunk_for_node): Get thunk's arguments.
1555 2014-10-03  Jakub Jelinek  <jakub@redhat.com>
1557         PR libgomp/61200
1558         * omp-low.c (taskreg_contexts): New variable.
1559         (scan_omp_parallel): Push newly created context into taskreg_contexts
1560         vector and move record layout code to finish_taskreg_scan.
1561         (scan_omp_task): Likewise.
1562         (finish_taskreg_scan): New function.
1563         (execute_lower_omp): Call finish_taskreg_scan on all taskreg_contexts
1564         vector elements and release it.
1566 2014-10-02  Martin Jambor  <mjambor@suse.cz>
1568         PR tree-optimization/63375
1569         * tree-sra.c (build_access_from_expr_1): Disqualify volatile
1570         references.
1572 2014-10-01  Jakub Jelinek  <jakub@redhat.com>
1574         PR debug/63342
1575         * dwarf2out.c (loc_list_from_tree): Handle TARGET_MEM_REF and
1576         SSA_NAME.
1578         PR target/63428
1579         * config/i386/i386.c (expand_vec_perm_pshufb): Fix up rperm[0]
1580         argument to avx2_permv2ti.
1582         PR c++/63306
1583         Backported from mainline
1584         2014-08-01  James Greenhalgh  <james.greenhalgh@arm.com>
1586         PR regression/61510
1587         * cgraphunit.c (analyze_functions): Use get_create rather than get
1588         for decls which are clones of abstract functions.
1590 2014-10-01  Jakub Jelinek  <jakub@redhat.com>
1592         Backported from mainline
1593         2014-09-18  Vladimir Makarov  <vmakarov@redhat.com>
1595         PR debug/63285
1596         * haifa-sched.c (schedule_block): Advance cycle at the end of BB
1597         if advance != 0.
1599         2014-09-10  Jan Hubicka  <hubicka@ucw.cz>
1601         PR tree-optimization/63186
1602         * ipa-split.c (test_nonssa_use): Skip nonforced labels.
1603         (mark_nonssa_use): Likewise.
1604         (verify_non_ssa_vars): Verify all header blocks for label
1605         definitions.
1607 2014-10-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1609         Backport from mainline
1610         2014-10-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1612         * config/arm/arm.md (*store_minmaxsi): Disable for arm_restrict_it.
1614 2014-10-01  Uros Bizjak  <ubizjak@gmail.com>
1616         Backport from mainline
1617         2014-09-30  Uros Bizjak  <ubizjak@gmail.com>
1619         * config/i386/i386.md (fmodxf3): Enable for flag_finite_math_only only.
1620         (fmod<mode>3): Ditto.
1621         (fpremxf4_i387): Ditto.
1622         (reminderxf3): Ditto.
1623         (reminder<mode>3): Ditto.
1624         (fprem1xf4_i387): Ditto.
1626 2014-09-30  David Malcolm  <dmalcolm@redhat.com>
1628         PR plugins/63410
1629         * Makefile.in (PLUGIN_HEADERS): Add pass-instances.def.
1631 2014-09-30  Jakub Jelinek  <jakub@redhat.com>
1633         PR inline-asm/63282
1634         * ifcvt.c (dead_or_predicable): Don't call redirect_jump_1
1635         or invert_jump_1 if jump isn't any_condjump_p.
1637 2014-09-29  James Clarke  <jrtc27@jrtc27.com>
1638             Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1640         PR target/61407
1641         * config/darwin-c.c (version_as_macro): Added extra 0 for OS X 10.10
1642         and above.
1643         * config/darwin-driver.c (darwin_find_version_from_kernel): Removed
1644         kernel version check to avoid incrementing it after every major OS X
1645         release.
1646         (darwin_default_min_version): Avoid static memory buffer.
1648 2014-09-29  Charles Baylis  <charles.baylis@linaro.org>
1650         Backport from mainline r212303
1651         PR target/49423
1652         * config/arm/arm-protos.h (arm_legitimate_address_p,
1653         arm_is_constant_pool_ref): Add prototypes.
1654         * config/arm/arm.c (arm_legitimate_address_p): Remove static.
1655         (arm_is_constant_pool_ref) New function.
1656         * config/arm/arm.md (unaligned_loadhis, arm_zero_extendhisi2_v6,
1657         arm_zero_extendqisi2_v6): Use Uh constraint for memory operand.
1658         (arm_extendhisi2, arm_extendhisi2_v6): Use Uh constraint for memory
1659         operand and remove pool_range and neg_pool_range attributes.
1660         (arm_extendqihi_insn, arm_extendqisi, arm_extendqisi_v6): Remove
1661         pool_range and neg_pool_range attributes.
1662         * config/arm/constraints.md (Uh): New constraint. (Uq): Don't allow
1663         constant pool references.
1665 2014-09-29  Jakub Jelinek  <jakub@redhat.com>
1667         PR middle-end/63247
1668         * omp-low.c (lower_omp_target): For OMP_CLAUSE_MAP_POINTER
1669         of ARRAY_TYPE, if not OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION
1670         use the alignment of avar rather than ovar.
1672 2014-09-28  John David Anglin  <danglin@gcc.gnu.org>
1674         * config/pa/pa.c (pa_output_function_epilogue): Only update
1675         last_address when a nonnote insn is found.
1677 2014-09-25  Oleg Endo  <olegendo@gcc.gnu.org>
1679         Backport from mainline
1680         2014-09-25  Nick Clifton  <nickc@redhat.com>
1681         2014-09-25  Oleg Endo  <olegendo@gcc.gnu.org>
1683         PR target/62218
1684         * config/sh/sync.md (atomic_fetch_nand<mode>_soft_imask,
1685         atomic_test_and_set_soft_imask): Fix typo in instruction sequence.
1687 2014-09-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1689         Backport from mainline r215559
1690         2014-09-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1692         PR target/63335
1693         * config/rs6000/rs6000-c.c (altivec_build_resolved_builtin):
1694         Exclude VSX_BUILTIN_XVCMPGEDP_P from special handling.
1696 2014-09-25  Jakub Jelinek  <jakub@redhat.com>
1698         PR tree-optimization/63341
1699         * tree-vectorizer.h (vect_create_data_ref_ptr,
1700         vect_create_addr_base_for_vector_ref): Add another tree argument
1701         defaulting to NULL_TREE.
1702         * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add byte_offset
1703         argument, pass it down to vect_create_addr_base_for_vector_ref.
1704         (vect_create_addr_base_for_vector_ref): Add byte_offset argument,
1705         add that to base_offset too if non-NULL.
1706         * tree-vect-stmts.c (vectorizable_load): Add byte_offset variable,
1707         for dr_explicit_realign_optimized set it to vector byte size
1708         - 1 instead of setting offset, pass byte_offset down to
1709         vect_create_data_ref_ptr.
1711 2014-09-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
1713         Backport from mainline
1714         2014-09-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
1716         * config/rs6000/rs6000.md (f32_vsx): New mode attributes to
1717         refine the constraints used on 32/64-bit floating point moves.
1718         (f32_av): Likewise.
1719         (f64_vsx): Likewise.
1720         (f64_dm): Likewise.
1721         (f64_av): Likewise.
1722         (BOOL_REGS_OUTPUT): Use wt constraint for TImode instead of wa.
1723         (BOOL_REGS_OP1): Likewise.
1724         (BOOL_REGS_OP2): Likewise.
1725         (BOOL_REGS_UNARY): Likewise.
1726         (mov<mode>_hardfloat, SFmode/SDmode): Tighten down constraints for
1727         32/64-bit floating point moves.  Do not use wa, instead use ww/ws
1728         for moves involving VSX registers.  Do not use constraints that
1729         target VSX registers for decimal types.
1730         (mov<mode>_hardfloat32, DFmode/DDmode): Likewise.
1731         (mov<mode>_hardfloat64, DFmode/DDmode): Likewise.
1733 2014-09-22  Marek Polacek  <polacek@redhat.com>
1735         Backport from mainline
1736         2014-05-21  Marek Polacek  <polacek@redhat.com>
1738         PR sanitizer/61272
1739         * ubsan.c (is_ubsan_builtin_p): Turn assert into a condition.
1741 2014-09-22  Jakub Jelinek  <jakub@redhat.com>
1743         PR debug/63328
1744         * omp-low.c (ipa_simd_modify_stmt_ops): For debug stmts
1745         insert a debug source bind stmt setting DEBUG_EXPR_DECL
1746         instead of a normal gimple assignment stmt.
1748 2014-09-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
1750         Back port from trunk:
1751         2014-09-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
1753         * config/rs6000/predicates.md (fusion_gpr_mem_load): Move testing
1754         for base_reg_operand to be common between LO_SUM and PLUS.
1755         (fusion_gpr_mem_combo): New predicate to match a fused address
1756         that combines the addis and memory offset address.
1758         * config/rs6000/rs6000-protos.h (fusion_gpr_load_p): Change
1759         calling signature.
1760         (emit_fusion_gpr_load): Likewise.
1762         * config/rs6000/rs6000.c (fusion_gpr_load_p): Change calling
1763         signature to pass each argument separately, rather than
1764         using an operands array.  Rewrite the insns found by peephole2 to
1765         be a single insn, rather than hoping the insns will still be
1766         together when the peephole pass is done.  Drop being called via a
1767         normal peephole.
1768         (emit_fusion_gpr_load): Change calling signature to be called from
1769         the fusion_gpr_load_<mode> insns with a combined memory address
1770         instead of the peephole pass passing the addis and offset
1771         separately.
1773         * config/rs6000/rs6000.md (UNSPEC_FUSION_GPR): New unspec for GPR
1774         fusion.
1775         (power8 fusion peephole): Drop support for doing power8 via a
1776         normal peephole that was created by the peephole2 pass.
1777         (power8 fusion peephole2): Create a new insn with the fused
1778         address, so that the fused operation is kept together after
1779         register allocation is done.
1780         (fusion_gpr_load_<mode>): Likewise.
1782 2014-09-18  Jakub Jelinek  <jakub@redhat.com>
1784         PR c++/62017
1785         * asan.c (transform_statements): Don't instrument clobber statements.
1787 2014-09-17  Jakub Jelinek  <jakub@redhat.com>
1789         PR debug/63284
1790         * tree-cfgcleanup.c (fixup_noreturn_call): Don't split block
1791         if there are only debug stmts after the noreturn call, instead
1792         remove the debug stmts.
1794 2014-09-17  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1796         * config.gcc (*-*-rtems*): Default to 'rtems' thread model.
1797         Enable selection of 'posix' or no thread model.
1799 2014-09-16  John David Anglin  <danglin@gcc.gnu.org>
1801         PR target/61853
1802         * config/pa/pa.c (pa_function_value): Directly handle aggregates
1803         that fit exactly in a word or double word.
1805 2014-09-15  Markus Trippelsdorf  <markus@trippelsdorf.de>
1807         * doc/install.texi (Options specification): add
1808         --disable-libsanitizer item.
1810 2014-09-12  DJ Delorie  <dj@redhat.com>
1812         * config/msp430/msp430.md (extendhipsi2): Use 20-bit form of RLAM/RRAM.
1813         (extend_and_shift1_hipsi2): Likewise.
1814         (extend_and_shift2_hipsi2): Likewise.
1816 2014-09-12  Martin Jambor  <mjambor@suse.cz>
1818         PR ipa/61654
1819         * cgraph.h (cgraph_analyze_function): Declare.
1820         * cgraphunit.c: (analyze_function): Remove forward declaration,
1821         rename to cgraph_analyze_function, made external.
1822         * cgraphclones.c (duplicate_thunk_for_node): Copy arguments of the
1823         new decl properly.  Analyze the new thunk if it is expanded.
1825 2014-09-11  H.J. Lu  <hongjiu.lu@intel.com>
1827         Backport from mainline
1828         2014-09-11  H.J. Lu  <hongjiu.lu@intel.com>
1830         PR target/63228
1831         * config/i386/i386.c (ix86_option_override_internal): Also turn
1832         off OPTION_MASK_ABI_X32 for -m16.
1834 2014-09-11  James Greenhalgh  <james.greenhalgh@arm.com>
1836         Backport from mainline.
1837         2014-09-11  James Greenhalgh  <james.greenhalgh@arm.com>
1839         * config/aarch64/arm_neon.h (vmull_high_lane_s16): Fix argument
1840         types.
1841         (vmull_high_lane_s32): Likewise.
1842         (vmull_high_lane_u16): Likewise.
1843         (vmull_high_lane_u32): Likewise.
1845 2014-09-11  Alan Lawrence  <alan.lawrence@arm.com>
1847         Backport r214946 from mainline
1848         2014-09-05  Alan Lawrence  <alan.lawrence@arm.com>
1850         * config/aarch64/aarch64.md (adddi3_aarch64): Set type to neon_add.
1852 2014-09-11  Alan Lawrence  <alan.lawrence@arm.com>
1854         Backport r214953 from mainline
1855         2014-09-05  Alan Lawrence  <alan.lawrence@arm.com>
1857         * config/aarch64/arm_neon.h (int32x1_t, int16x1_t, int8x1_t,
1858         uint32x1_t, uint16x1_t, uint8x1_t): Remove typedefs.
1860         (vqabsb_s8, vqabsh_s16, vqabss_s32, vqaddb_s8, vqaddh_s16, vqadds_s32,
1861         vqaddb_u8, vqaddh_u16, vqadds_u32, vqdmlalh_s16, vqdmlalh_lane_s16,
1862         vqdmlals_s32, vqdmlslh_s16, vqdmlslh_lane_s16, vqdmlsls_s32,
1863         vqdmulhh_s16, vqdmulhh_lane_s16, vqdmulhs_s32, vqdmulhs_lane_s32,
1864         vqdmullh_s16, vqdmullh_lane_s16, vqdmulls_s32, vqdmulls_lane_s32,
1865         vqmovnh_s16, vqmovns_s32, vqmovnd_s64, vqmovnh_u16, vqmovns_u32,
1866         vqmovnd_u64, vqmovunh_s16, vqmovuns_s32, vqmovund_s64, vqnegb_s8,
1867         vqnegh_s16, vqnegs_s32, vqrdmulhh_s16, vqrdmulhh_lane_s16,
1868         vqrdmulhs_s32, vqrdmulhs_lane_s32, vqrshlb_s8, vqrshlh_s16,
1869         vqrshls_s32, vqrshlb_u8, vqrshlh_u16, vqrshls_u32, vqrshrnh_n_s16,
1870         vqrshrns_n_s32, vqrshrnd_n_s64, vqrshrnh_n_u16, vqrshrns_n_u32,
1871         vqrshrnd_n_u64, vqrshrunh_n_s16, vqrshruns_n_s32, vqrshrund_n_s64,
1872         vqshlb_s8, vqshlh_s16, vqshls_s32, vqshlb_u8, vqshlh_u16, vqshls_u32,
1873         vqshlb_n_s8, vqshlh_n_s16, vqshls_n_s32, vqshlb_n_u8, vqshlh_n_u16,
1874         vqshls_n_u32, vqshlub_n_s8, vqshluh_n_s16, vqshlus_n_s32,
1875         vqshrnh_n_s16, vqshrns_n_s32, vqshrnd_n_s64, vqshrnh_n_u16,
1876         vqshrns_n_u32, vqshrnd_n_u64, vqshrunh_n_s16, vqshruns_n_s32,
1877         vqshrund_n_s64, vqsubb_s8, vqsubh_s16, vqsubs_s32, vqsubb_u8,
1878         vqsubh_u16, vqsubs_u32, vsqaddb_u8, vsqaddh_u16, vsqadds_u32,
1879         vuqaddb_s8, vuqaddh_s16, vuqadds_s32): Replace all int{32,16,8}x1_t
1880         with int{32,16,8}_t.
1882 2014-09-11  Jason Merrill  <jason@redhat.com>
1884         PR c++/58678
1885         * ipa-devirt.c (ipa_devirt): Don't check DECL_COMDAT.
1887 2014-09-11  Georg-Johann Lay  <avr@gjlay.de>
1889         Backport from 2014-09-11 trunk r215152.
1891         PR target/63223
1892         * config/avr/avr.md (*tablejump.3byte-pc): New insn.
1893         (*tablejump): Restrict to !AVR_HAVE_EIJMP_EICALL.  Add void clobber.
1894         (casesi): Expand to *tablejump.3byte-pc if AVR_HAVE_EIJMP_EICALL.
1896 2014-09-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
1898         Backport from mainline
1899         2014-09-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
1901         * config/rs6000/vsx.md (vsx_fmav4sf4): Use correct constraints for
1902         V2DF, V4SF, DF, and DI modes.
1903         (vsx_fmav2df2): Likewise.
1904         (vsx_float_fix_<mode>2): Likewise.
1905         (vsx_reduc_<VEC_reduc_name>_v2df_scalar): Likewise.
1907 2014-09-10  Xinliang David Li  <davidxl@google.com>
1909         Backport from mainline
1910         PR target/63209
1911         * config/arm/arm.md (movcond_addsi): Handle case where source
1912         and target operands are the same.
1914 2014-09-10  Alan Modra  <amodra@gmail.com>
1916         PR debug/60655
1917         * dwarf2out.c (mem_loc_descriptor <PLUS>): Return NULL if addend
1918         can't be output.
1920 2014-09-09  Bill Schmidt  <wschmidt@us.ibm.com>
1922         Backported from mainline
1923         2014-09-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1925         * config/rs6000/vsx.md (*vsx_extract_<mode>_load): Always match
1926         selection of 0th memory doubleword, regardless of endianness.
1928 2014-09-09  James Greenhalgh  <james.greenhalgh@arm.com>
1930         Backport from mainline
1931         2014-09-09  James Greenhalgh  <james.greenhalgh@arm.com>
1933         * doc/invoke.texi (-march): Use GNU/Linux rather than Linux.
1934         (-mtune): Likewise.
1935         (-mcpu): Likewise.
1937 2014-09-09  Jason Merrill  <jason@redhat.com>
1939         PR c++/61214
1940         PR c++/62224
1941         * gimple-fold.c (can_refer_decl_in_current_unit_p): Don't allow
1942         reference to a DECL_EXTERNAL COMDAT.
1944 2014-09-09  Richard Biener  <rguenther@suse.de>
1946         Backport from mainline
1947         2014-08-05  Richard Biener  <rguenther@suse.de>
1949         PR rtl-optimization/61672
1950         * emit-rtl.h (mem_attrs_eq_p): Declare.
1951         * emit-rtl.c (mem_attrs_eq_p): Export.  Handle NULL mem-attrs.
1952         * cse.c (exp_equiv_p): Use mem_attrs_eq_p.
1953         * cfgcleanup.c (merge_memattrs): Likewise.
1954         Include emit-rtl.h.
1956         2014-08-11  Richard Biener  <rguenther@suse.de>
1958         PR tree-optimization/62075
1959         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Properly
1960         handle uses in patterns.
1962         2014-08-14  Richard Biener  <rguenther@suse.de>
1964         PR rtl-optimization/62079
1965         * recog.c (peephole2_optimize): If peep2_do_cleanup_cfg
1966         run cleanup_cfg.
1968         2014-08-26  Richard Biener  <rguenther@suse.de>
1970         PR tree-optimization/62175
1971         * tree-ssa-loop-niter.c (expand_simple_operations): Do not
1972         expand possibly trapping operations.
1974 2014-09-08  DJ Delorie  <dj@redhat.com>
1976         * doc/invoke.texi (MSP430 Options): Add -minrt.
1978 2014-09-05  Easwaran Raman  <eraman@google.com>
1980         Backport from mainline
1981         PR rtl-optimization/62146
1982         * ifcvt.c (dead_or_predicable): Make removal of REG_EQUAL note of
1983         hoisted instruction unconditional.
1985 2014-09-04  Guozhi Wei  <carrot@google.com>
1987         PR target/62040
1988         * config/aarch64/iterators.md (VQ_NO2E, VQ_2E): New iterators.
1989         * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): Split
1990         it into two patterns.
1991         (move_lo_quad_internal_be_<mode>): Likewise.
1993 2014-09-03  Martin Jambor  <mjambor@suse.cz>
1995         PR ipa/62015
1996         * ipa-cp.c (intersect_aggregates_with_edge): Handle impermissible
1997         pass-trough jump functions correctly.
1999 2014-09-03  Martin Jambor  <mjambor@suse.cz>
2001         PR ipa/61986
2002         * ipa-cp.c (find_aggregate_values_for_callers_subset): Chain
2003         created replacements in ascending order of offsets.
2004         (known_aggs_to_agg_replacement_list): Likewise.
2006 2014-09-02  Kaz Kojima  <kkojima@gcc.gnu.org>
2008         Backport from mainline
2009         2014-08-27  Kaz Kojima  <kkojima@gcc.gnu.org>
2011         PR target/62261
2012         * config/sh/sh.md (ashlsi3): Handle negative shift count for
2013         TARGET_SHMEDIA.
2014         (ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
2016 2014-09-02  Kaz Kojima  <kkojima@gcc.gnu.org>
2018         Backport from mainline
2019         2014-08-25  Kaz Kojima  <kkojima@gcc.gnu.org>
2021         PR target/62111
2022         * config/sh/predicates.md (general_extend_operand): Disable
2023         TRUNCATE before reload completes.
2025 2014-09-01  Oleg Endo  <olegendo@gcc.gnu.org>
2027         Backport from mainline
2028         2014-09-01  Oleg Endo  <olegendo@gcc.gnu.org>
2030         PR target/62312
2031         * config/sh/sh.md (*cmp_div0s_0): Add missing constraints.
2033 2014-09-01  Jakub Jelinek  <jakub@redhat.com>
2035         PR target/62025
2036         * sched-deps.c (add_or_update_dep_1): If ask_dependency_caches
2037         returned DEP_PRESENT, make sure to set DEP_MULTIPLE on present_dep.
2038         (find_inc): Revert 2014-08-12 change.
2040         * config/gnu-user.h (LIBLSAN_EARLY_SPEC): Define.
2041         * gcc.c (LIBLSAN_SPEC, LIBLSAN_EARLY_SPEC): Follow LIBTSAN*_SPEC.
2042         (SANITIZER_EARLY_SPEC): Include LIBLSAN_EARLY_SPEC for -fsanitize=leak.
2044 2014-09-01  Marek Polacek  <polacek@redhat.com>
2046         Backport from mainline
2047         2014-08-21  Marek Polacek  <polacek@redhat.com>
2049         PR c/61271
2050         * expr.c (is_aligning_offset): Remove logical not.
2052 2014-09-01  Marek Polacek  <polacek@redhat.com>
2054         Backport from mainline
2055         2014-08-19  Marek Polacek  <polacek@redhat.com>
2057         PR c/61271
2058         * cgraphunit.c (handle_alias_pairs): Fix condition.
2060 2014-08-30  John David Anglin  <danglin@gcc.gnu.org>
2062         * config/pa/pa.c (pa_assemble_integer): Don't add PLABEL relocation
2063         prefix to function labels when generating fast indirect calls.
2065 2014-08-29  Yvan Roux  <yvan.roux@linaro.org>
2067         Backport from mainline
2068         2014-08-27  Yvan Roux  <yvan.roux@linaro.org>
2070         PR other/62248
2071         * config.gcc (arm*-*-*): Check --with-fpu against arm-fpus.def.
2073 2014-08-27  Guozhi Wei  <carrot@google.com>
2075         PR target/62262
2076         * config/aarch64/aarch64.md (*andim_ashift<mode>_bfiz): Check the shift
2077         amount before using it.
2079 2014-08-26  Joel Sherrill <joel.sherrill@oarcorp.com>
2081         * doc/invoke.texi: -fno-cxa-atexit should be -fno-use-cxa-atexit.
2083 2014-08-26  Marek Polacek  <polacek@redhat.com>
2085         Backport from mainline
2086         2014-08-26  Marek Polacek  <polacek@redhat.com>
2088         PR c/61271
2089         * tree-vectorizer.h (LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT,
2090         LOOP_REQUIRES_VERSIONING_FOR_ALIAS): Wrap in parens.
2092 2014-08-24  Oleg Endo  <olegendo@gcc.gnu.org>
2094         Backport from mainline
2095         2014-08-24  Oleg Endo  <olegendo@gcc.gnu.org>
2097         PR target/61996
2098         * config/sh/sh.opt (musermode): Allow negative form.
2099         * config/sh/sh.c (sh_option_override): Disable TARGET_USERMODE for
2100         targets that don't support it.
2101         * doc/invoke.texi (SH Options): Rename sh-*-linux* to sh*-*-linux*.
2102         Document -mno-usermode option.
2104 2014-08-23  John David Anglin  <danglin@gcc.gnu.org>
2106         PR target/62038
2107         * config/pa/pa.c (pa_output_function_epilogue): Don't set
2108         last_address when the current function is a thunk.
2109         (pa_asm_output_mi_thunk): When we don't have named sections or they
2110         are not being used, check that thunk can reach the stub table with a
2111         short branch.
2113 2014-08-22  Michael Meissner  <meissner@linux.vnet.ibm.com>
2115         Backport from mainline
2116         2014-08-22  Michael Meissner  <meissner@linux.vnet.ibm.com>
2118         PR target/62195
2119         * doc/md.texi (Machine Constraints): Update PowerPC wi constraint
2120         documentation to state it is only for VSX operations.
2122         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Make wi
2123         constraint only active if VSX.
2125         * config/rs6000/rs6000.md (lfiwax): Use wj constraint instead of
2126         wi cosntraint for ISA 2.07 lxsiwax/lxsiwzx instructions.
2127         (lfiwzx): Likewise.
2129 2014-08-21  Uros Bizjak  <ubizjak@gmail.com>
2131         Backport from mainline
2132         2014-08-19  H.J. Lu  <hongjiu.lu@intel.com>
2134         * config/i386/i386.md (*ctz<mode>2_falsedep_1): Don't clear
2135         destination if it is used in source.
2136         (*clz<mode>2_lzcnt_falsedep_1): Likewise.
2137         (*popcount<mode>2_falsedep_1): Likewise.
2139         Backport from mainline
2140         2014-08-18  Uros Bizjak  <ubizjak@gmail.com>
2142         PR target/62011
2143         * config/i386/x86-tune.def (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI):
2144         New tune flag.
2145         * config/i386/i386.h (TARGET_AVOID_FALSE_DEP_FOR_BMI): New define.
2146         * config/i386/i386.md (unspec) <UNSPEC_INSN_FALSE_DEP>: New unspec.
2147         (ffs<mode>2): Do not expand with tzcnt for
2148         TARGET_AVOID_FALSE_DEP_FOR_BMI.
2149         (ffssi2_no_cmove): Ditto.
2150         (*tzcnt<mode>_1): Disable for TARGET_AVOID_FALSE_DEP_FOR_BMI.
2151         (ctz<mode>2): New expander.
2152         (*ctz<mode>2_falsedep_1): New insn_and_split pattern.
2153         (*ctz<mode>2_falsedep): New insn.
2154         (*ctz<mode>2): Rename from ctz<mode>2.
2155         (clz<mode>2_lzcnt): New expander.
2156         (*clz<mode>2_lzcnt_falsedep_1): New insn_and_split pattern.
2157         (*clz<mode>2_lzcnt_falsedep): New insn.
2158         (*clz<mode>2): Rename from ctz<mode>2.
2159         (popcount<mode>2): New expander.
2160         (*popcount<mode>2_falsedep_1): New insn_and_split pattern.
2161         (*popcount<mode>2_falsedep): New insn.
2162         (*popcount<mode>2): Rename from ctz<mode>2.
2163         (*popcount<mode>2_cmp): Remove.
2164         (*popcountsi2_cmp_zext): Ditto.
2166 2014-08-20  Martin Jambor  <mjambor@suse.cz>
2167             Wei Mi  <wmi@google.com>
2169         PR ipa/60449
2170         PR middle-end/61776
2171         * tree-ssa-operands.c (update_stmt_operands): Remove
2172         MODIFIED_NORETURN_CALLS.
2173         * tree-cfgcleanup.c (cleanup_call_ctrl_altering_flag): New func.
2174         (cleanup_control_flow_bb): Use cleanup_call_ctrl_altering_flag.
2175         (split_bb_on_noreturn_calls): Renamed from split_bbs_on_noreturn_calls.
2176         (cleanup_tree_cfg_1): Use split_bb_on_noreturn_calls.
2177         * tree-ssanames.h: Remove MODIFIED_NORETURN_CALLS.
2178         * gimple.h (enum gf_mask): Add GF_CALL_CTRL_ALTERING.
2179         (gimple_call_set_ctrl_altering): New func.
2180         (gimple_call_ctrl_altering_p): Ditto.
2181         * tree-cfg.c (gimple_call_initialize_ctrl_altering): Ditto.
2182         (make_blocks): Use gimple_call_initialize_ctrl_altering.
2183         (is_ctrl_altering_stmt): Use gimple_call_ctrl_altering_p.
2184         (execute_fixup_cfg): Use gimple_call_ctrl_altering_p and
2185         remove MODIFIED_NORETURN_CALLS.
2187 2014-08-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2189         Backport from mainline.
2190         2014-08-12  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2191         PR target/62098
2192         * config/arm/vfp.md (*combine_vcvtf2i): Fix constraint.
2193         Remove unnecessary attributes.
2195 2014-08-16  John David Anglin  <danglin@gcc.gnu.org>
2197         PR target/61641
2198         * config/pa/pa-protos.h (pa_output_addr_vec, pa_output_addr_diff_vec):
2199         Declare.
2200         * config/pa/pa.c (pa_reorg): Remove code to insert brtab marker insns.
2201         (pa_output_addr_vec, pa_output_addr_diff_vec): New.
2202         * config/pa/pa.h (ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC):
2203         Define.
2204         * config/pa/pa.md (begin_brtab): Delete insn.
2205         (end_brtab): Likewise.
2207 2014-08-15  Oleg Endo  <olegendo@gcc.gnu.org>
2209         Backport from mainline:
2210         2014-08-15  Oleg Endo  <olegendo@gcc.gnu.org>
2212         * doc/invoke.texi (SH options): Document missing processor variant
2213         options.  Remove references to Hitachi.  Undocument deprecated mspace
2214         option.
2216 2014-08-15  Tom de Vries  <tom@codesourcery.com>
2218         Backport from mainline:
2219         2014-08-14  Tom de Vries  <tom@codesourcery.com>
2221         PR rtl-optimization/62004
2222         PR rtl-optimization/62030
2223         * ifcvt.c (rtx_interchangeable_p): New function.
2224         (noce_try_move, noce_process_if_block): Use rtx_interchangeable_p.
2226         2014-08-05  Richard Biener  <rguenther@suse.de>
2228         * emit-rtl.h (mem_attrs_eq_p): Declare.
2229         * emit-rtl.c (mem_attrs_eq_p): Export.
2231 2014-08-15  Jakub Jelinek  <jakub@redhat.com>
2233         PR middle-end/62092
2234         * gimplify.c (gimplify_adjust_omp_clauses_1): Don't remove
2235         OMP_CLAUSE_SHARED for global vars if the global var is mentioned
2236         in OMP_CLAUSE_MAP in some outer target region.
2238 2014-08-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2240         Backport from mainline
2241         2014-08-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2243         PR target/61713
2244         * gcc/optabs.c (expand_atomic_test_and_set): Do not try to emit
2245         move to subtarget in serial version if result is ignored.
2247 2014-08-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2249         Backport from mainline
2250         2014-08-12  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2252         PR middle-end/62103
2253         * gimple-fold.c (fold_ctor_reference): Don't fold in presence of
2254         bitfields, that is when size doesn't match the size of type or the
2255         size of the constructor.
2257 2014-08-12  Felix Yang  <fei.yang0953@gmail.com>
2259         PR tree-optimization/62073
2260         * tree-vect-loop.c (vect_is_simple_reduction_1): Check that DEF1 has
2261         a basic block.
2263 2014-08-12  Jakub Jelinek  <jakub@redhat.com>
2265         PR target/62025
2266         * sched-deps.c (find_inc): Check if inc_insn doesn't clobber
2267         any registers that are used in mem_insn.
2269 2014-08-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
2271         Backport patch from mainline
2272         2014-08-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
2274         * config/rs6000/constraints.md (wh constraint): New constraint,
2275         for FP registers if direct move is available.
2276         (wi constraint): New constraint, for VSX/FP registers that can
2277         handle 64-bit integers.
2278         (wj constraint): New constraint for VSX/FP registers that can
2279         handle 64-bit integers for direct moves.
2280         (wk constraint): New constraint for VSX/FP registers that can
2281         handle 64-bit doubles for direct moves.
2282         (wy constraint): Make documentation match implementation.
2284         * config/rs6000/rs6000.c (struct rs6000_reg_addr): Add
2285         scalar_in_vmx_p field to simplify tests of whether SFmode or
2286         DFmode can go in the Altivec registers.
2287         (rs6000_hard_regno_mode_ok): Use scalar_in_vmx_p field.
2288         (rs6000_setup_reg_addr_masks): Likewise.
2289         (rs6000_debug_print_mode): Add debug support for scalar_in_vmx_p
2290         field, and wh/wi/wj/wk constraints.
2291         (rs6000_init_hard_regno_mode_ok): Setup scalar_in_vmx_p field, and
2292         the wh/wi/wj/wk constraints.
2293         (rs6000_preferred_reload_class): If SFmode/DFmode can go in the
2294         upper registers, prefer VSX registers unless the operation is a
2295         memory operation with REG+OFFSET addressing.
2297         * config/rs6000/vsx.md (VSr mode attribute): Add support for
2298         DImode.  Change SFmode to use ww constraint instead of d to allow
2299         SF registers in the upper registers.
2300         (VSr2): Likewise.
2301         (VSr3): Likewise.
2302         (VSr5): Fix thinko in comment.
2303         (VSa): New mode attribute that is an alternative to wa, that
2304         returns the VSX register class that a mode can go in, but may not
2305         be the preferred register class.
2306         (VS_64dm): New mode attribute for appropriate register classes for
2307         referencing 64-bit elements of vectors for direct moves and normal
2308         moves.
2309         (VS_64reg): Likewise.
2310         (vsx_mov<mode>): Change wa constraint to <VSa> to limit the
2311         register allocator to only registers the data type can handle.
2312         (vsx_le_perm_load_<mode>): Likewise.
2313         (vsx_le_perm_store_<mode>): Likewise.
2314         (vsx_xxpermdi2_le_<mode>): Likewise.
2315         (vsx_xxpermdi4_le_<mode>): Likewise.
2316         (vsx_lxvd2x2_le_<mode>): Likewise.
2317         (vsx_lxvd2x4_le_<mode>): Likewise.
2318         (vsx_stxvd2x2_le_<mode>): Likewise.
2319         (vsx_add<mode>3): Likewise.
2320         (vsx_sub<mode>3): Likewise.
2321         (vsx_mul<mode>3): Likewise.
2322         (vsx_div<mode>3): Likewise.
2323         (vsx_tdiv<mode>3_internal): Likewise.
2324         (vsx_fre<mode>2): Likewise.
2325         (vsx_neg<mode>2): Likewise.
2326         (vsx_abs<mode>2): Likewise.
2327         (vsx_nabs<mode>2): Likewise.
2328         (vsx_smax<mode>3): Likewise.
2329         (vsx_smin<mode>3): Likewise.
2330         (vsx_sqrt<mode>2): Likewise.
2331         (vsx_rsqrte<mode>2): Likewise.
2332         (vsx_tsqrt<mode>2_internal): Likewise.
2333         (vsx_fms<mode>4): Likewise.
2334         (vsx_nfma<mode>4): Likewise.
2335         (vsx_eq<mode>): Likewise.
2336         (vsx_gt<mode>): Likewise.
2337         (vsx_ge<mode>): Likewise.
2338         (vsx_eq<mode>_p): Likewise.
2339         (vsx_gt<mode>_p): Likewise.
2340         (vsx_ge<mode>_p): Likewise.
2341         (vsx_xxsel<mode>): Likewise.
2342         (vsx_xxsel<mode>_uns): Likewise.
2343         (vsx_copysign<mode>3): Likewise.
2344         (vsx_float<VSi><mode>2): Likewise.
2345         (vsx_floatuns<VSi><mode>2): Likewise.
2346         (vsx_fix_trunc<mode><VSi>2): Likewise.
2347         (vsx_fixuns_trunc<mode><VSi>2): Likewise.
2348         (vsx_x<VSv>r<VSs>i): Likewise.
2349         (vsx_x<VSv>r<VSs>ic): Likewise.
2350         (vsx_btrunc<mode>2): Likewise.
2351         (vsx_b2trunc<mode>2): Likewise.
2352         (vsx_floor<mode>2): Likewise.
2353         (vsx_ceil<mode>2): Likewise.
2354         (vsx_<VS_spdp_insn>): Likewise.
2355         (vsx_xscvspdp): Likewise.
2356         (vsx_xvcvspuxds): Likewise.
2357         (vsx_float_fix_<mode>2): Likewise.
2358         (vsx_set_<mode>): Likewise.
2359         (vsx_extract_<mode>_internal1): Likewise.
2360         (vsx_extract_<mode>_internal2): Likewise.
2361         (vsx_extract_<mode>_load): Likewise.
2362         (vsx_extract_<mode>_store): Likewise.
2363         (vsx_splat_<mode>): Likewise.
2364         (vsx_xxspltw_<mode>): Likewise.
2365         (vsx_xxspltw_<mode>_direct): Likewise.
2366         (vsx_xxmrghw_<mode>): Likewise.
2367         (vsx_xxmrglw_<mode>): Likewise.
2368         (vsx_xxsldwi_<mode>): Likewise.
2369         (vsx_xscvdpspn): Tighten constraints to only use register classes
2370         the types use.
2371         (vsx_xscvspdpn): Likewise.
2372         (vsx_xscvdpspn_scalar): Likewise.
2374         * config/rs6000/rs6000.h (enum rs6000_reg_class_enum): Add wh, wi,
2375         wj, and wk constraints.
2376         (GPR_REG_CLASS_P): New helper macro for register classes targeting
2377         general purpose registers.
2379         * config/rs6000/rs6000.md (f32_dm): Use wh constraint for SDmode
2380         direct moves.
2381         (zero_extendsidi2_lfiwz): Use wj constraint for direct move of
2382         DImode instead of wm.  Use wk constraint for direct move of DFmode
2383         instead of wm.
2384         (extendsidi2_lfiwax): Likewise.
2385         (lfiwax): Likewise.
2386         (lfiwzx): Likewise.
2387         (movdi_internal64): Likewise.
2389         * doc/md.texi (PowerPC and IBM RS6000): Document wh, wi, wj, and
2390         wk constraints. Make the wy constraint documentation match them
2391         implementation.
2393 2014-08-12  Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
2395         Backport from mainline
2396         2014-08-04 Ganesh Gopalasubramanian
2397                    <Ganesh.Gopalasubramanian@amd.com>
2399         * config/i386/i386.c (ix86_option_override_internal): Add
2400         PTA_RDRND and PTA_MOVBE for bdver4.
2402 2014-08-12  Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
2404         Backport from mainline
2405         2014-08-04  Ganesh Gopalasubramanian 
2406                     <Ganesh.Gopalasubramanian@amd.com>
2408         * config/i386/driver-i386.c (host_detect_local_cpu): Handle AMD's extended
2409         family information. Handle BTVER2 cpu with cpuid family value.
2411 2014-08-12  Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
2413         Backport from mainline
2414         2014-06-16  Ganesh Gopalasubramanian 
2415                     <Ganesh.Gopalasubramanian@amd.com>
2417         * config/i386/i386.c (ix86_expand_sse2_mulvxdi3): Issue
2418         instructions "vpmuludq" and "vpaddq" instead of "vpmacsdql" for
2419         handling 32-bit multiplication.
2421 2014-08-08  Guozhi Wei  <carrot@google.com>
2423         * config/rs6000/rs6000.md (*movdi_internal64): Add a new constraint.
2425 2014-08-07  Ilya Tocar  <ilya.tocar@intel.com>
2427         * config/i386/sse.md (vec_extract_lo_<mode><mask_name>): Fix
2428         constraint.
2430 2014-08-06  Vladimir Makarov  <vmakarov@redhat.com>
2432         PR debug/61923
2433         * haifa-sched.c (advance_one_cycle): Fix dump.
2434         (schedule_block): Don't advance cycle if we are already at the
2435         beginning of the cycle.
2437 2014-08-06  Richard Biener  <rguenther@suse.de>
2439         PR tree-optimization/61320
2440         * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Properly
2441         handle misaligned loads.
2443 2014-08-04  Rohit  <rohitarulraj@freescale.com>
2445         PR target/60102
2446         * config/rs6000/rs6000.c
2447         (rs6000_reg_names): Add SPE high register names.
2448         (alt_reg_names): Likewise.
2449         (rs6000_dwarf_register_span): For SPE high registers, replace
2450         dwarf register numbers with GCC hard register numbers.
2451         (rs6000_init_dwarf_reg_sizes_extra): Likewise.
2452         (rs6000_dbx_register_number): For SPE high registers, return dwarf
2453         register number for the corresponding GCC hard register number.
2454         * config/rs6000/rs6000.h
2455         (FIRST_PSEUDO_REGISTER): Update based on 32 newly added GCC hard
2456         register numbers for SPE high registers.
2457         (DWARF_FRAME_REGISTERS):  Likewise.
2458         (DWARF_REG_TO_UNWIND_COLUMN): Likewise.
2459         (DWARF_FRAME_REGNUM): Likewise.
2460         (FIXED_REGISTERS): Likewise.
2461         (CALL_USED_REGISTERS): Likewise.
2462         (CALL_REALLY_USED_REGISTERS): Likewise.
2463         (REG_ALLOC_ORDER): Likewise.
2464         (enum reg_class): Likewise.
2465         (REG_CLASS_NAMES): Likewise.
2466         (REG_CLASS_CONTENTS): Likewise.
2467         (SPE_HIGH_REGNO_P): New macro to identify SPE high registers.
2469 2014-08-01  Vladimir Makarov  <vmakarov@redhat.com>
2471         * lra-constraints.c (remove_inheritance_pseudos): Process
2472         destination pseudo too.
2474 2014-08-01  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2476         Backport from mainline
2477         2014-06-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2479         PR tree-optimization/61375
2480         * tree-ssa-math-opts.c (find_bswap_or_nop_1): Cancel optimization if
2481         symbolic number cannot be represented in an unsigned HOST_WIDE_INT.
2482         (execute_optimize_bswap): Cancel optimization if CHAR_BIT != 8.
2484 2014-08-01  Richard Biener  <rguenther@suse.de>
2486         PR tree-optimization/61964
2487         * tree-ssa-tail-merge.c (gimple_equal_p): Handle non-SSA LHS solely
2488         by structural equality.
2490 2014-07-31  Oleg Endo  <olegendo@gcc.gnu.org>
2492         Backport from mainline
2493         2014-07-31  Oleg Endo  <olegendo@gcc.gnu.org>
2495         PR target/61844
2496         * config/sh/sh.c (sh_legitimate_address_p,
2497         sh_legitimize_reload_address): Handle reg+reg address modes when
2498         ALLOW_INDEXED_ADDRESS is false.
2499         * config/sh/predicates.md (general_movsrc_operand,
2500         general_movdst_operand): Likewise.
2502 2014-07-25  Uros Bizjak  <ubizjak@gmail.com>
2504         Backport from mainline
2505         2014-07-14  Jakub Jelinek  <jakub@redhat.com>
2507         PR target/61656
2508         * config/i386/i386.c (classify_argument): Don't merge classes above
2509         number of words.
2511 2014-07-25  Uros Bizjak  <ubizjak@gmail.com>
2513         * config/alpha/elf.h: Define TARGET_UNWIND_TABLES_DEFAULT.
2515 2014-07-24  Kyle McMartin  <kyle@redhat.com>
2517         * config/aarch64/aarch64-linux.h (TARGET_ASM_FILE_END): Define.
2519 2014-07-24  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2521         * config/rs6000/rs6000-protos.h (rs6000_special_adjust_field_align_p):
2522         Add prototype.
2523         * config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p): New
2524         function.  Issue -Wpsabi warning if future GCC releases will use
2525         different field alignment rules for this type.
2526         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Call it.
2527         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise.
2528         * config/rs6000/freebsd64.h (ADJUST_FIELD_ALIGN): Likewise.
2530 2014-07-24  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2532         * config/rs6000/rs6000.c (rs6000_function_arg_boundary): Issue
2533         -Wpsabi note when encountering a type where future GCC releases
2534         will apply different alignment requirements.
2536 2014-07-24  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2538         * config/rs6000/rs6000.c (rs6000_function_arg): If a float argument
2539         does not fit fully into floating-point registers, and there is still
2540         space in the register parameter area, issue -Wpsabi note that the ABI
2541         will change in a future GCC release.
2543 2014-07-23  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2545         * config/arm/t-rtems-eabi: Add
2546         mthumb/march=armv7-r/mfpu=vfpv3-d16/mfloat-abi=hard,
2547         mthumb/march=armv7-m/mfpu=fpv4-sp-d16/mfloat-abi=hard,
2548         mbig-endian/mthumb/march=armv7-r, and
2549         mbig-endian/mthumb/march=armv7-r/mfpu=vfpv3-d16/mfloat-abi=hard
2550         multilibs.
2552 2014-07-23  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2553             Chris Johns <chrisj@rtems.org>
2554             Joel Sherrill <joel.sherrill@oarcorp.com>
2556         * config.gcc: Add nios2-*-rtems*.
2557         * config/nios2/rtems.h: New file.
2558         * gcc/config/nios2/t-rtems: New file.
2560 2014-07-21  Peter Bergner  <bergner@vnet.ibm.com>
2562         * config/rs6000/sysv4.h (LIBASAN_EARLY_SPEC): Define.
2563         (LIBTSAN_EARLY_SPEC): Likewise.
2565 2014-07-21  Uros Bizjak  <ubizjak@gmail.com>
2567         Backport from mainline
2568         2014-07-21  Uros Bizjak  <ubizjak@gmail.com>
2570         PR target/61855
2571         * config/i386/avx512fintrin.h: Move constants for mantissa extraction
2572         out of #ifdef __OPTIMIZE__.
2574 2014-07-20  Eric Botcazou  <ebotcazou@adacore.com>
2576         * expr.c (store_field): Handle VOIDmode for calls that return values
2577         in multiple locations.
2579 2014-07-19  Eric Botcazou  <ebotcazou@adacore.com>
2581         * toplev.c (output_stack_usage): Adjust the location of the warning.
2583 2014-07-19  Daniel Cederman  <cederman@gaisler.com>
2585         * config/sparc/sync.md (*membar_storeload_leon3): New insn.
2586         (*membar_storeload): Disable for LEON3.
2588 2014-07-18  Uros Bizjak  <ubizjak@gmail.com>
2590         Backport from mainline
2591         2014-07-16  David Wohlferd  <dw@LimeGreenSocks.com>
2593         PR target/61662
2594         * config/i386/ia32intrin.h: Use __LP64__ to determine size of long.
2596 2014-07-18  Uros Bizjak  <ubizjak@gmail.com>
2598         Backport from mainline
2599         2014-07-18  Uros Bizjak  <ubizjak@gmail.com>
2601         PR target/61794
2602         * config/i386/sse.md (avx512f_vextract<shuffletype>32x4_1_maskm):
2603         Fix instruction constraint.
2604         (<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name>): Ditto.
2606 2014-07-17  Richard Biener  <rguenther@suse.de>
2608         Backport from mainline
2609         2014-07-14  Richard Biener  <rguenther@suse.de>
2611         PR tree-optimization/61779
2612         * tree-ssa-copy.c (copy_prop_visit_cond_stmt): Always try
2613         simplifying a condition.
2615 2014-07-17  Richard Biener  <rguenther@suse.de>
2617         PR rtl-optimization/61801
2618         * sched-deps.c (sched_analyze_2): For ASM_OPERANDS and ASM_INPUT
2619         don't set reg_pending_barrier if it appears in a debug-insn.
2621 2014-07-17  Hans-Peter Nilsson  <hp@axis.com>
2623         Backport from trunk.
2624         PR target/61737.
2625         * config/cris/cris.c (TARGET_LEGITIMATE_CONSTANT_P)
2626         (TARGET_CANNOT_FORCE_CONST_MEM): Define.
2627         (cris_cannot_force_const_mem, cris_legitimate_constant_p): New
2628         functions.
2629         (cris_print_index, cris_print_operand, cris_constant_index_p)
2630         (cris_side_effect_mode_ok): Replace CONSTANT_P with CRIS_CONSTANT_P.
2631         (cris_address_cost): Ditto last CONSTANT_P.
2632         (cris_symbol_type_of): Rename from cris_pic_symbol_type_of.  All
2633         callers changed.  Yield cris_offsettable_symbol for non-PIC
2634         constant symbolic expressions including labels.  Yield cris_unspec
2635         for all unspecs.
2636         (cris_expand_pic_call_address): New parameter MARKERP.  Set its
2637         target to pic_offset_table_rtx for calls that will likely go
2638         through PLT, const0_rtx when they can't.  All callers changed.
2639         Assert flag_pic.  Use CONSTANT_P, not CONSTANT_ADDRESS_P, for
2640         symbolic expressions to be PICified.  Remove second, redundant,
2641         assert on can_create_pseudo_p returning non-zero.  Use
2642         replace_equiv_address_nv, not replace_equiv_address, for final
2643         operand update.
2644         * config/cris/cris.md ("movsi"): Move variable t to pattern
2645         toplevel. Adjust assert for new cris_symbol_type member.  Use
2646         CONSTANT_P instead of CONSTANT_ADDRESS_P.
2647         ("*movsi_internal") <case 9>: Make check for valid unspec operands
2648         for lapc stricter.
2649         <case CRIS_UNSPEC_PCREL, CRIS_UNSPEC_PLT_PCREL>: Clear condition codes.
2650         ("call", "call_value"): Use second incoming operand as a marker
2651         for pic-offset-table-register being used.
2652         ("*expanded_call_non_v32", "*expanded_call_v32")
2653         ("*expanded_call_value_non_v32", "*expanded_call_value_v32"): For
2654         second incoming operand to CALL, match cris_call_type_marker.
2655         ("*expanded_call_value_side"): Ditto.  Disable before reload_completed.
2656         ("*expanded_call_side"): Ditto.  Fix typo in comment.
2657         (moverside, movemside peepholes): Check for CRIS_CONSTANT_P, not
2658         CONSTANT_P.
2659         * config/cris/predicates.md ("cris_call_type_marker"): New predicate.
2660         * config/cris/cris.h (CRIS_CONSTANT_P): New macro.
2661         (enum cris_symbol_type): Rename from cris_pic_symbol_type.  All
2662         users changed.  Add members cris_offsettable_symbol and cris_unspec.
2663         (cris_symbol_type): Rename from cris_pic_symbol_type.
2664         * config/cris/constraints.md ("T"): Use CRIS_CONSTANT_P, not
2665         just CONSTANT_P.
2666         * config/cris/cris-protos.h (cris_symbol_type_of,
2667         cris_expand_pic_call_address): Adjust prototypes.
2668         (cris_legitimate_constant_p): New prototype.
2670         * config.gcc (crisv32-*-linux* | cris-*-linux*): Do not override
2671         an existing tmake_file.  Don't add t-slibgcc and t-linux.
2673 2014-07-16  Jakub Jelinek  <jakub@redhat.com>
2675         * omp-low.c (create_omp_child_function): Don't set DECL_NAMELESS
2676         on the FUNCTION_DECL.
2678         * BASE-VER: Set to 4.9.2.
2679         * DEV-PHASE: Set to prerelease.
2681 2014-07-16  Release Manager
2683         * GCC 4.9.1 released.
2685 2014-07-10  Cary Coutant  <ccoutant@google.com>
2687         Backport from trunk at r212211.
2689         * dwarf2out.c (remove_addr_table_entry): Remove unnecessary hash table
2690         lookup.
2691         (resolve_addr_in_expr): When replacing the rtx in a location list
2692         entry, get a new address table entry.
2693         (dwarf2out_finish): Call index_location_lists even if there are no
2694         addr_index_table entries yet.
2696 2014-07-10  Tom G. Christensen  <tgc@jupiterrise.com>
2698         * doc/install.texi: Remove links to defunct package providers for
2699         Solaris.
2701 2014-07-10  Eric Botcazou  <ebotcazou@adacore.com>
2703         PR middle-end/53590
2704         * function.c (allocate_struct_function): Revert r188667 change.
2706         * gimple-low.c (lower_builtin_setjmp): Use properly-typed constant.
2708 2014-07-09  Alan Lawrence  <alan.lawrence@arm.com>
2710         Backport r211369 from trunk.
2711         2014-06-09  Alan Lawrence  <alan.lawrence@arm.com>
2713         PR target/61062
2714         * config/arm/arm_neon.h (vtrn_s8, vtrn_s16, vtrn_u8, vtrn_u16, vtrn_p8,
2715         vtrn_p16, vtrn_s32, vtrn_f32, vtrn_u32, vtrnq_s8, vtrnq_s16, vtrnq_s32,
2716         vtrnq_f32, vtrnq_u8, vtrnq_u16, vtrnq_u32, vtrnq_p8, vtrnq_p16,
2717         vzip_s8, vzip_s16, vzip_u8, vzip_u16, vzip_p8, vzip_p16, vzip_s32,
2718         vzip_f32, vzip_u32, vzipq_s8, vzipq_s16, vzipq_s32, vzipq_f32,
2719         vzipq_u8, vzipq_u16, vzipq_u32, vzipq_p8, vzipq_p16, vuzp_s8, vuzp_s16,
2720         vuzp_s32, vuzp_f32, vuzp_u8, vuzp_u16, vuzp_u32, vuzp_p8, vuzp_p16,
2721         vuzpq_s8, vuzpq_s16, vuzpq_s32, vuzpq_f32, vuzpq_u8, vuzpq_u16,
2722         vuzpq_u32, vuzpq_p8, vuzpq_p16): Correct mask for bigendian.
2725 2014-07-09  Alan Lawrence  <alan.lawrence@arm.com>
2727         Backport r210219 from trunk.
2728         2014-05-08  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2730         * config/arm/arm_neon.h: Update comment.
2731         * config/arm/neon-docgen.ml: Delete.
2732         * config/arm/neon-gen.ml: Delete.
2733         * doc/arm-neon-intrinsics.texi: Update comment.
2735 2014-07-09  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
2737         Backport r211775 from trunk.
2738         2014-06-18  Terry Guo  <terry.guo@arm.com>
2740         PR target/61544
2741         * config/arm/arm.c (thumb1_reorg): Move to next basic block if we
2742         reach the head.
2744 2014-07-08  Jakub Jelinek  <jakub@redhat.com>
2746         PR rtl-optimization/61673
2747         * combine.c (simplify_comparison): Test just mode's sign bit
2748         in tmode rather than the sign bit and any bits above it.
2750 2014-07-08  James Greenhalgh  <james.greenhalgh@arm.com>
2752         Backport r212298 from trunk.
2753         2014-07-04  James Greenhalgh  <james.greenhalgh@arm.com>
2755         * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): New.
2756         (move_lo_quad_internal_be_<mode>): Likewise.
2757         (move_lo_quad_<mode>): Convert to define_expand.
2758         (aarch64_simd_move_hi_quad_<mode>): Gate on BYTES_BIG_ENDIAN.
2759         (aarch64_simd_move_hi_quad_be_<mode>): New.
2760         (move_hi_quad_<mode>): Use appropriate insn for BYTES_BIG_ENDIAN.
2761         (aarch64_combinez<mode>): Gate on BYTES_BIG_ENDIAN.
2762         (aarch64_combinez_be<mode>): New.
2763         (aarch64_combine<mode>): Convert to define_expand.
2764         (aarch64_combine_internal<mode>): New.
2765         (aarch64_simd_combine<mode>): Remove bogus RTL description.
2767 2014-07-08  Richard Biener  <rguenther@suse.de>
2769         PR tree-optimization/61680
2770         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
2771         Handle properly all read-write dependences with group accesses.
2773         PR tree-optimization/61681
2774         * tree-ssa-structalias.c (find_what_var_points_to): Expand
2775         NONLOCAL inside ESCAPED.
2777 2014-07-08  Alan Lawrence  <alan.lawrence@arm.com>
2779         Backport r211502 from mainline.
2780         2014-06-10  Alan Lawrence  <alan.lawrence@arm.com>
2782         PR target/59843
2783         * config/aarch64/aarch64-modes.def: Add V1DFmode.
2784         * config/aarch64/aarch64.c (aarch64_vector_mode_supported_p):
2785         Support V1DFmode.
2787 2014-07-08  Jakub Jelinek  <jakub@redhat.com>
2789         PR tree-optimization/61725
2790         * tree-vrp.c (extract_range_basic): Don't assume vr0 is unsigned
2791         range, use range_includes_zerop_p instead of integer_zerop on
2792         vr0->min, only use log2 of max if min is not negative.
2794 2014-07-06  Gerald Pfeifer  <gerald@pfeifer.com>
2796         * doc/install.texi (Specific, aarch64*-*-*): Fix markup.  Reword a bit.
2798 2014-07-04  Jakub Jelinek  <jakub@redhat.com>
2800         PR middle-end/61654
2801         * cgraphunit.c (expand_thunk): Call free_dominance_info.
2803         PR tree-optimization/61684
2804         * tree-ssa-ifcombine.c (recognize_single_bit_test): Make sure
2805         rhs1 of conversion is a SSA_NAME before using SSA_NAME_DEF_STMT on it.
2807 2014-06-30  Jakub Jelinek  <jakub@redhat.com>
2809         Backported from mainline
2810         2014-06-27  Jakub Jelinek  <jakub@redhat.com>
2812         PR tree-optimization/57233
2813         PR tree-optimization/61299
2814         * tree-vect-generic.c (get_compute_type, count_type_subparts): New
2815         functions.
2816         (expand_vector_operations_1): Use them.  If {L,R}ROTATE_EXPR
2817         would be lowered to scalar shifts, check if corresponding
2818         shifts and vector BIT_IOR_EXPR are supported and don't lower
2819         or lower just to narrower vector type in that case.
2820         * expmed.c (expand_shift_1): Fix up handling of vector
2821         shifts and rotates.
2823         2014-06-25  Jakub Jelinek  <jakub@redhat.com>
2825         * langhooks-def.h (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Define.
2826         (LANG_HOOKS_DECLS): Add it.
2827         * gimplify.c (gimplify_omp_for): Make sure OMP_CLAUSE_LINEAR_STEP
2828         has correct type.
2829         * tree.h (OMP_CLAUSE_LINEAR_ARRAY): Define.
2830         * langhooks.h (struct lang_hooks_for_decls): Add
2831         omp_clause_linear_ctor hook.
2832         * omp-low.c (lower_rec_input_clauses): Set max_vf even if
2833         OMP_CLAUSE_LINEAR_ARRAY is set.  Don't fold_convert
2834         OMP_CLAUSE_LINEAR_STEP.  For OMP_CLAUSE_LINEAR_ARRAY in
2835         combined simd loop use omp_clause_linear_ctor hook.
2837         2014-06-24  Jakub Jelinek  <jakub@redhat.com>
2839         * gimplify.c (gimplify_scan_omp_clauses) <case OMP_CLAUSE_MAP,
2840         OMP_CLAUSE_TO, OMP_CLAUSE_FROM): Make sure OMP_CLAUSE_SIZE is non-NULL.
2841         <case OMP_CLAUSE_ALIGNED>: Gimplify OMP_CLAUSE_ALIGNED_ALIGNMENT.
2842         (gimplify_adjust_omp_clauses_1): Make sure OMP_CLAUSE_SIZE is non-NULL.
2843         (gimplify_adjust_omp_clauses): Likewise.
2844         * omp-low.c (lower_rec_simd_input_clauses,
2845         lower_rec_input_clauses, expand_omp_simd): Handle non-constant
2846         safelen the same as safelen(1).
2847         * tree-nested.c (convert_nonlocal_omp_clauses,
2848         convert_local_omp_clauses): Handle OMP_CLAUSE_ALIGNED.  For
2849         OMP_CLAUSE_{MAP,TO,FROM} if not decl use walk_tree.
2850         (convert_nonlocal_reference_stmt, convert_local_reference_stmt):
2851         Fixup handling of GIMPLE_OMP_TARGET.
2852         (convert_tramp_reference_stmt, convert_gimple_call): Handle
2853         GIMPLE_OMP_TARGET.
2855         2014-06-18  Jakub Jelinek  <jakub@redhat.com>
2857         * gimplify.c (omp_notice_variable): If n is non-NULL and no flags
2858         change in ORT_TARGET region, don't jump to do_outer.
2859         (struct gimplify_adjust_omp_clauses_data): New type.
2860         (gimplify_adjust_omp_clauses_1): Adjust for data being
2861         a struct gimplify_adjust_omp_clauses_data pointer instead
2862         of tree *.  Pass pre_p as a new argument to
2863         lang_hooks.decls.omp_finish_clause hook.
2864         (gimplify_adjust_omp_clauses): Add pre_p argument, adjust
2865         splay_tree_foreach to pass both list_p and pre_p.
2866         (gimplify_omp_parallel, gimplify_omp_task, gimplify_omp_for,
2867         gimplify_omp_workshare, gimplify_omp_target_update): Adjust
2868         gimplify_adjust_omp_clauses callers.
2869         * langhooks.c (lhd_omp_finish_clause): New function.
2870         * langhooks-def.h (lhd_omp_finish_clause): New prototype.
2871         (LANG_HOOKS_OMP_FINISH_CLAUSE): Define to lhd_omp_finish_clause.
2872         * langhooks.h (struct lang_hooks_for_decls): Add a new
2873         gimple_seq * argument to omp_finish_clause hook.
2874         * omp-low.c (scan_sharing_clauses): Call scan_omp_op on
2875         non-DECL_P OMP_CLAUSE_DECL if ctx->outer.
2876         (scan_omp_parallel, lower_omp_for): When adding _LOOPTEMP_ clause var,
2877         add it to outer ctx's decl_map as identity.
2878         * tree-core.h (OMP_CLAUSE_MAP_TO_PSET): New map kind.
2879         * tree-nested.c (convert_nonlocal_omp_clauses,
2880         convert_local_omp_clauses): Handle various OpenMP 4.0 clauses.
2881         * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_MAP_TO_PSET.
2883         2014-06-10  Jakub Jelinek  <jakub@redhat.com>
2885         PR fortran/60928
2886         * omp-low.c (lower_rec_input_clauses) <case OMP_CLAUSE_LASTPRIVATE>:
2887         Set lastprivate_firstprivate even if omp_private_outer_ref
2888         langhook returns true.
2889         <case OMP_CLAUSE_REDUCTION>: When calling omp_clause_default_ctor
2890         langhook, call unshare_expr on new_var and call
2891         build_outer_var_ref to get the last argument.
2893         2014-05-11  Jakub Jelinek  <jakub@redhat.com>
2895         * tree.h (OMP_CLAUSE_LINEAR_STMT): Define.
2896         * tree.c (omp_clause_num_ops): Increase OMP_CLAUSE_LINEAR
2897         number of operands to 3.
2898         (walk_tree_1): Walk all operands of OMP_CLAUSE_LINEAR.
2899         * tree-nested.c (convert_nonlocal_omp_clauses,
2900         convert_local_omp_clauses): Handle OMP_CLAUSE_DEPEND.
2901         * gimplify.c (gimplify_scan_omp_clauses): Handle
2902         OMP_CLAUSE_LINEAR_STMT.
2903         * omp-low.c (lower_rec_input_clauses): Fix typo.
2904         (maybe_add_implicit_barrier_cancel, lower_omp_1): Add
2905         cast between Fortran boolean_type_node and C _Bool if needed.
2907 2014-06-30  Jason Merrill  <jason@redhat.com>
2909         PR c++/51253
2910         PR c++/61382
2911         * gimplify.c (gimplify_arg): Non-static.
2912         * gimplify.h: Declare it.
2914 2014-06-30  Marcus Shawcroft  <marcus.shawcroft@arm.com>
2916         Backport from Mainline
2917         2014-06-30  Marcus Shawcroft  <marcus.shawcroft@arm.com>
2919         PR target/61633
2920         * config/aarch64/aarch64.md (*aarch64_ashr_sisd_or_int_<mode>3):
2921         Add alternative; make early clobber.  Adjust both split patterns
2922         to use operand 0 as the working register.
2924 2014-06-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2926         * config/aarch64/iterators.md (VCOND): Handle SI and HI modes.
2927         Update comments.
2928         (VCONQ): Make comment more helpful.
2929         (VCON): Delete.
2930         * config/aarch64/aarch64-simd.md
2931         (aarch64_sqdmulh_lane<mode>):
2932         Use VCOND for operands 2.  Update lane checking and flipping logic.
2933         (aarch64_sqrdmulh_lane<mode>): Likewise.
2934         (aarch64_sq<r>dmulh_lane<mode>_internal): Likewise.
2935         (aarch64_sqdmull2<mode>): Remove VCON, use VQ_HSI mode iterator.
2936         (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal, VD_HSI): Change mode
2937         attribute of operand 3 to VCOND.
2938         (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal, SD_HSI): Likewise.
2939         (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
2940         (aarch64_sqdmull_lane<mode>_internal, VD_HSI): Likewise.
2941         (aarch64_sqdmull_lane<mode>_internal, SD_HSI): Likewise.
2942         (aarch64_sqdmull2_lane<mode>_internal): Likewise.
2943         (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal, VD_HSI: New
2944         define_insn.
2945         (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal, SD_HSI): Likewise.
2946         (aarch64_sqdml<SBINQOPS:as>l2_laneq<mode>_internal): Likewise.
2947         (aarch64_sqdmull_laneq<mode>_internal, VD_HSI): Likewise.
2948         (aarch64_sqdmull_laneq<mode>_internal, SD_HSI): Likewise.
2949         (aarch64_sqdmull2_laneq<mode>_internal): Likewise.
2950         (aarch64_sqdmlal_lane<mode>): Change mode attribute of penultimate
2951         operand to VCOND.  Update lane flipping and bounds checking logic.
2952         (aarch64_sqdmlal2_lane<mode>): Likewise.
2953         (aarch64_sqdmlsl_lane<mode>): Likewise.
2954         (aarch64_sqdmull_lane<mode>): Likewise.
2955         (aarch64_sqdmull2_lane<mode>): Likewise.
2956         (aarch64_sqdmlal_laneq<mode>): Replace VCON usage with VCONQ.
2957         Emit aarch64_sqdmlal_laneq<mode>_internal insn.
2958         (aarch64_sqdmlal2_laneq<mode>): Emit
2959         aarch64_sqdmlal2_laneq<mode>_internal insn.
2960         Replace VCON with VCONQ.
2961         (aarch64_sqdmlsl2_lane<mode>): Replace VCON with VCONQ.
2962         (aarch64_sqdmlsl2_laneq<mode>): Likewise.
2963         (aarch64_sqdmull_laneq<mode>): Emit
2964         aarch64_sqdmull_laneq<mode>_internal insn.
2965         Replace VCON with VCONQ.
2966         (aarch64_sqdmull2_laneq<mode>): Emit
2967         aarch64_sqdmull2_laneq<mode>_internal insn.
2968         (aarch64_sqdmlsl_laneq<mode>): Replace VCON usage with VCONQ.
2969         * config/aarch64/arm_neon.h (vqdmlal_high_lane_s16): Change type
2970         of 3rd argument to int16x4_t.
2971         (vqdmlalh_lane_s16): Likewise.
2972         (vqdmlslh_lane_s16): Likewise.
2973         (vqdmull_high_lane_s16): Likewise.
2974         (vqdmullh_lane_s16): Change type of 2nd argument to int16x4_t.
2975         (vqdmlal_lane_s16): Don't create temporary int16x8_t value.
2976         (vqdmlsl_lane_s16): Likewise.
2977         (vqdmull_lane_s16): Don't create temporary int16x8_t value.
2978         (vqdmlal_high_lane_s32): Change type 3rd argument to int32x2_t.
2979         (vqdmlals_lane_s32): Likewise.
2980         (vqdmlsls_lane_s32): Likewise.
2981         (vqdmull_high_lane_s32): Change type 2nd argument to int32x2_t.
2982         (vqdmulls_lane_s32): Likewise.
2983         (vqdmlal_lane_s32): Don't create temporary int32x4_t value.
2984         (vqdmlsl_lane_s32): Likewise.
2985         (vqdmull_lane_s32): Don't create temporary int32x4_t value.
2986         (vqdmulhh_lane_s16): Change type of second argument to int16x4_t.
2987         (vqrdmulhh_lane_s16): Likewise.
2988         (vqdmlsl_high_lane_s16): Likewise.
2989         (vqdmulhs_lane_s32): Change type of second argument to int32x2_t.
2990         (vqdmlsl_high_lane_s32): Likewise.
2991         (vqrdmulhs_lane_s32): Likewise.
2993 2014-06-30  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2995         Backport from Mainline
2996         2014-06-20  Jakub Jelinek  <jakub@redhat.com>
2997         2014-06-11  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2999         PR tree-optimization/61306
3000         * tree-ssa-math-opts.c (struct symbolic_number): Store type of
3001         expression instead of its size.
3002         (do_shift_rotate): Adapt to change in struct symbolic_number. Return
3003         false to prevent optimization when the result is unpredictable due to
3004         arithmetic right shift of signed type with highest byte is set.
3005         (verify_symbolic_number_p): Adapt to change in struct symbolic_number.
3006         (find_bswap_1): Likewise. Return NULL to prevent optimization when the
3007         result is unpredictable due to sign extension.
3008         (find_bswap): Adapt to change in struct symbolic_number.
3010 2014-06-27  Martin Jambor  <mjambor@suse.cz>
3012         PR ipa/61160
3013         * cgraphclones.c (duplicate_thunk_for_node): Removed parameter
3014         args_to_skip, use those from node instead.  Copy args_to_skip and
3015         combined_args_to_skip from node to the new thunk.
3016         (redirect_edge_duplicating_thunks): Removed parameter args_to_skip.
3017         (cgraph_create_virtual_clone): Moved computation of
3018         combined_args_to_skip...
3019         (cgraph_clone_node): ...here, simplify it to bitmap_ior..
3021 2014-06-27  Uros Bizjak  <ubizjak@gmail.com>
3023         Backport from mainline
3024         2014-06-26  Uros Bizjak  <ubizjak@gmail.com>
3026         PR target/61586
3027         * config/alpha/alpha.c (alpha_handle_trap_shadows): Handle BARRIER RTX.
3029 2014-06-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3031         PR target/61542
3032         * config/rs6000/vsx.md (vsx_extract_v4sf): Fix bug with element
3033         extraction other than index 3.
3035 2014-06-26  Marc Glisse  <marc.glisse@inria.fr>
3037         PR target/61503
3038         * config/i386/i386.md (x86_64_shrd, x86_shrd,
3039         ix86_rotr<dwi>3_doubleword): Replace ashiftrt with lshiftrt.
3041 2014-06-26  Martin Jambor  <mjambor@suse.cz>
3043         Backport from mainline
3044         * ipa-prop.c (ipa_impossible_devirt_target): No longer static,
3045         renamed to ipa_impossible_devirt_target.  Fix typo.
3046         * ipa-prop.h (ipa_impossible_devirt_target): Declare.
3047         * ipa-cp.c (ipa_get_indirect_edge_target_1): Use
3048         ipa_impossible_devirt_target.
3050 2014-06-24  Jakub Jelinek  <jakub@redhat.com>
3052         PR target/61570
3053         * config/i386/driver-i386.c (host_detect_local_cpu): For unknown
3054         model family 6 CPU with has_longmode never use a CPU without
3055         64-bit support.
3057         * gimplify.c (gimplify_omp_for): For #pragma omp for simd iterator
3058         not mentioned in clauses use private clause if the iterator is
3059         declared in #pragma omp for simd, and when adding lastprivate
3060         instead, add it to the outer #pragma omp for too.  Diagnose
3061         if the variable is private in outer context.  For simd collapse > 1
3062         loops, replace all iterators with temporaries.
3063         * omp-low.c (lower_rec_input_clauses): Handle LINEAR clause the
3064         same even in collapse > 1 loops.
3066 2014-06-23  Alan Modra  <amodra@gmail.com>
3068         PR bootstrap/61583
3069         * tree-vrp.c (remove_range_assertions): Do not set is_unreachable
3070         to zero on debug statements.
3072 2014-06-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3074         * config/aarch64/aarch64-simd.md (aarch64_sqdmulh_lane<mode>):
3075         New expander.
3076         (aarch64_sqrdmulh_lane<mode>): Likewise.
3077         (aarch64_sq<r>dmulh_lane<mode>): Rename to...
3078         (aarch64_sq<r>dmulh_lane<mode>_interna): ...this.
3079         (aarch64_sqdmulh_laneq<mode>): New expander.
3080         (aarch64_sqrdmulh_laneq<mode>): Likewise.
3081         (aarch64_sq<r>dmulh_laneq<mode>): Rename to...
3082         (aarch64_sq<r>dmulh_laneq<mode>_internal): ...this.
3083         (aarch64_sqdmulh_lane<mode>): New expander.
3084         (aarch64_sqrdmulh_lane<mode>): Likewise.
3085         (aarch64_sq<r>dmulh_lane<mode>): Rename to...
3086         (aarch64_sq<r>dmulh_lane<mode>_internal): ...this.
3087         (aarch64_sqdmlal_lane<mode>): Add lane flip for big-endian.
3088         (aarch64_sqdmlal_laneq<mode>): Likewise.
3089         (aarch64_sqdmlsl_lane<mode>): Likewise.
3090         (aarch64_sqdmlsl_laneq<mode>): Likewise.
3091         (aarch64_sqdmlal2_lane<mode>): Likewise.
3092         (aarch64_sqdmlal2_laneq<mode>): Likewise.
3093         (aarch64_sqdmlsl2_lane<mode>): Likewise.
3094         (aarch64_sqdmlsl2_laneq<mode>): Likewise.
3095         (aarch64_sqdmull_lane<mode>): Likewise.
3096         (aarch64_sqdmull_laneq<mode>): Likewise.
3097         (aarch64_sqdmull2_lane<mode>): Likewise.
3098         (aarch64_sqdmull2_laneq<mode>): Likewise.
3100 2014-06-20  Martin Jambor  <mjambor@suse.cz>
3102         PR ipa/61540
3103         * ipa-prop.c (impossible_devirt_target): New function.
3104         (try_make_edge_direct_virtual_call): Use it, also instead of
3105         asserting.
3107 2014-06-20  Martin Jambor  <mjambor@suse.cz>
3109         PR ipa/61211
3110         * cgraph.c (clone_of_p): Allow skipped_branch to deal with
3111         expanded clones.
3113 2014-06-20  Chung-Lin Tang  <cltang@codesourcery.com>
3115         Backport from mainline
3117         2014-06-20  Julian Brown  <julian@codesourcery.com>
3118                     Chung-Lin Tang  <cltang@codesourcery.com>
3120         * config/arm/arm.c (arm_output_mi_thunk): Fix offset for
3121         TARGET_THUMB1_ONLY. Add comments.
3123 2014-06-18  Uros Bizjak  <ubizjak@gmail.com>
3125         Backport from mainline
3126         2014-06-16  Uros Bizjak  <ubizjak@gmail.com>
3128         * config/i386/i386.c (decide_alg): Correctly handle
3129         maximum size of stringop algorithm.
3131 2014-06-18  Richard Henderson  <rth@redhat.com>
3133         PR target/61545
3134         * config/aarch64/aarch64.md (tlsdesc_small): Clobber CC_REGNUM.
3136 2014-06-17  Yufeng Zhang  <yufeng.zhang@arm.com>
3138         PR target/61483
3139         * config/aarch64/aarch64.c (aarch64_layout_arg): Add new local
3140         variable 'size'; calculate 'size' right in the front; use
3141         'size' to compute 'nregs' (when 'allocate_ncrn != 0') and
3142         pcum->aapcs_stack_words.
3144 2014-06-17  Nick Clifton  <nickc@redhat.com>
3146         * config/msp430/msp430.md (mulhisi3): Add a NOP after the DINT.
3147         (umulhi3, mulsidi3, umulsidi3): Likewise.
3149 2014-06-17  Uros Bizjak  <ubizjak@gmail.com>
3151         Backport from mainline
3152         2014-06-06  Uros Bizjak  <ubizjak@gmail.com>
3154         PR target/61423
3155         * config/i386/i386.md (*floatunssi<mode>2_i387_with_xmm): New
3156         define_insn_and_split pattern, merged from *floatunssi<mode>2_1
3157         and corresponding splitters.  Zero extend general register
3158         or memory input operand to XMM temporary.  Enable for
3159         TARGET_SSE2 and TARGET_INTER_UNIT_MOVES_TO_VEC only.
3160         (floatunssi<mode>2): Update expander predicate.
3162 2014-06-16  Vladimir Makarov  <vmakarov@redhat.com>
3164         PR rtl-optimization/61325
3165         * lra-constraints.c (valid_address_p): Add forward declaration.
3166         (simplify_operand_subreg): Check address validity before and after
3167         alter_reg of memory subreg.
3169 2014-06-18  Jakub Jelinek  <jakub@redhat.com>
3171         PR plugins/45078
3172         * config.gcc (arm*-*-linux-*): Include vxworks-dummy.h in tm_file.
3174 2014-06-13  Peter Bergner  <bergner@vnet.ibm.com>
3176         Backport from mainline
3178         2014-06-13  Peter Bergner  <bergner@vnet.ibm.com>
3179         PR target/61415
3180         * config/rs6000/rs6000-builtin.def (BU_MISC_1): Delete.
3181         (BU_MISC_2): Rename to ...
3182         (BU_LDBL128_2): ... this.
3183         * config/rs6000/rs6000.h (RS6000_BTM_LDBL128): New define.
3184         (RS6000_BTM_COMMON): Add RS6000_BTM_LDBL128.
3185         * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
3186         RS6000_BTM_LDBL128.
3187         (rs6000_invalid_builtin): Add long double 128-bit builtin support.
3188         (rs6000_builtin_mask_names): Add RS6000_BTM_LDBL128.
3189         * config/rs6000/rs6000.md (unpacktf_0): Remove define)expand.
3190         (unpacktf_1): Likewise.
3191         * doc/extend.texi (__builtin_longdouble_dw0): Remove documentation.
3192         (__builtin_longdouble_dw1): Likewise.
3193         * doc/sourcebuild.texi (longdouble128): Document.
3195 2014-06-13  Jeff Law  <law@redhat.com>
3197         Backports from mainline:
3198         2014-06-13  Jeff Law  <law@redhat.com>
3200         PR rtl-optimization/61094
3201         PR rtl-optimization/61446
3202         * ree.c (combine_reaching_defs): Get the mode for the copy from
3203         the extension insn rather than the defining insn.
3205         2014-06-02  Jeff Law  <law@redhat.com>
3207         PR rtl-optimization/61094
3208         * ree.c (combine_reaching_defs): Do not reextend an insn if it
3209         was marked as do_no_reextend.  If a copy is needed to eliminate
3210         an extension, then mark it as do_not_reextend.
3212 2014-06-13  Martin Jambor  <mjambor@suse.cz>
3214         PR ipa/61186
3215         * ipa-devirt.c (possible_polymorphic_call_targets): Store NULL to
3216         cache_token if returning early.
3218 2014-06-12  Jakub Jelinek  <jakub@redhat.com>
3220         PR middle-end/61486
3221         * gimplify.c (struct gimplify_omp_ctx): Add distribute field.
3222         (gimplify_adjust_omp_clauses): Don't or in GOVD_LASTPRIVATE
3223         if outer combined construct is distribute.
3224         (gimplify_omp_for): For OMP_DISTRIBUTE set
3225         gimplify_omp_ctxp->distribute.
3226         * omp-low.c (scan_sharing_clauses) <case OMP_CLAUSE_SHARED>: For
3227         GIMPLE_OMP_TEAMS, if decl isn't global in outer context, record
3228         mapping into decl map.
3230 2014-06-12  Jeff Law  <law@redhat.com>
3232         Backports from mainline:
3234         2014-06-12  Jeff Law  <law@redhat.com>
3236         PR tree-optimization/61009
3237         * tree-ssa-threadedge.c (thread_through_normal_block): Correct return
3238         value when we stop processing a block due to problematic PHIs.
3240         2014-06-05  Jeff Law  <law@redhat.com>
3242         PR tree-optimization/61289
3243         * tree-ssa-threadedge.c (invalidate_equivalences): Remove SRC_MAP and
3244         DST_MAP parameters.   Invalidate by walking all the SSA_NAME_VALUES
3245         looking for those which match LHS.  All callers changed.
3246         (record_temporary_equivalences_from_phis): Remove SRC_MAP and DST_MAP
3247         parameters and code which manipulated them.  All callers changed.
3248         (record_temporary_equivalences_from_stmts_at_dest): Remove SRC_MAP
3249         and DST_MAP parameters.  Simplify invalidation code by just calling
3250         invalidate_equivalences.  All callers changed.
3251         (thread_across_edge): Simplify now that we don't need to maintain
3252         the map of equivalences to invalidate.
3254 2014-06-12  Eric Botcazou  <ebotcazou@adacore.com>
3256         * tree-core.h (DECL_NONALIASED): Use proper spelling in comment.
3258 2014-06-12  Georg-Johann Lay  <avr@gjlay.de>
3260         Backport from 2014-05-14 trunk r210418
3261         * config/avr/avr.h (REG_CLASS_CONTENTS): Use unsigned suffix for
3262         shifted values to avoid build warning.
3264 2014-06-12  Georg-Johann Lay  <avr@gjlay.de>
3266         Backport from 2014-05-09 trunk r210272
3268         * config/avr/avr-fixed.md (round<mode>3): Use -1U instead of -1 in
3269         unsigned int initializers for regno_in, regno_out.
3271         Backport from 2014-06-12 trunk r211491
3273         PR target/61443
3274         * config/avr/avr.md (push<mode>1): Avoid (subreg(mem)) when
3275         loading from address spaces.
3277 2014-06-12  Alan Modra  <amodra@gmail.com>
3279         PR target/61300
3280         * doc/tm.texi.in (INCOMING_REG_PARM_STACK_SPACE): Document.
3281         * doc/tm.texi: Regenerate.
3282         * function.c (INCOMING_REG_PARM_STACK_SPACE): Provide default.
3283         Use throughout in place of REG_PARM_STACK_SPACE.
3284         * config/rs6000/rs6000.c (rs6000_reg_parm_stack_space): Add
3285         "incoming" param.  Pass to rs6000_function_parms_need_stack.
3286         (rs6000_function_parms_need_stack): Add "incoming" param, ignore
3287         prototype_p when incoming.  Use function decl when incoming
3288         to handle K&R style functions.
3289         * config/rs6000/rs6000.h (REG_PARM_STACK_SPACE): Adjust.
3290         (INCOMING_REG_PARM_STACK_SPACE): Define.
3292 2014-06-11  Richard Biener  <rguenther@suse.de>
3294         PR tree-optimization/61452
3295         * tree-ssa-sccvn.c (visit_phi): Remove pointless setting of
3296         expr and has_constants in case we found a leader.
3297         (simplify_binary_expression): Always valueize operands first.
3298         (simplify_unary_expression): Likewise.
3300 2014-06-11  Richard Biener  <rguenther@suse.de>
3302         PR middle-end/61456
3303         * tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p):
3304         Do not use the main variant for the type comparison.
3306 2014-06-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3308         * doc/arm-acle-intrinsics.texi: Specify when CRC32 intrinsics are
3309         available.
3310         Simplify description of __crc32d and __crc32cd intrinsics.
3311         * doc/extend.texi (ARM ACLE Intrinsics): Remove comment about CRC32
3312         availability.
3314 2014-06-07  Eric Botcazou  <ebotcazou@adacore.com>
3316         * tree-ssa-tail-merge.c (same_succ_hash): Hash the static chain of a
3317         call statement, if any.
3318         (gimple_equal_p) <GIMPLE_CALL>: Compare the static chain of the call
3319         statements, if any.  Tidy up.
3321 2014-06-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
3323         Back port from trunk
3324         2014-06-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
3326         PR target/61431
3327         * config/rs6000/vsx.md (VSX_LE): Split VSX_D into 2 separate
3328         iterators, VSX_D that handles 64-bit types, and VSX_LE that
3329         handles swapping the two 64-bit double words on little endian
3330         systems.  Include V1TImode and optionally TImode in VSX_LE so that
3331         these types are properly swapped.  Change all of the insns and
3332         splits that do the 64-bit swaps to use VSX_LE.
3333         (vsx_le_perm_load_<mode>): Likewise.
3334         (vsx_le_perm_store_<mode>): Likewise.
3335         (splitters for little endian memory operations): Likewise.
3336         (vsx_xxpermdi2_le_<mode>): Likewise.
3337         (vsx_lxvd2x2_le_<mode>): Likewise.
3338         (vsx_stxvd2x2_le_<mode>): Likewise.
3340 2014-06-06  Vladimir Makarov  <vmakarov@redhat.com>
3342         PR rtl-optimization/61325
3343         * lra-constraints.c (process_address_1): Check scale equal to one
3344         to prevent transformation: base + scale * index => base + new_reg.
3346 2014-06-05  Martin Jambor  <mjambor@suse.cz>
3348         PR ipa/61393
3349         * ipa-cp.c (determine_versionability): Pretend that tm_clones are
3350         not versionable.
3352 2014-06-04  Richard Biener  <rguenther@suse.de>
3354         PR tree-optimization/61383
3355         * tree-ssa-ifcombine.c (bb_no_side_effects_p): Make sure
3356         stmts can't trap.
3358 2014-06-02  Jason Merrill  <jason@redhat.com>
3360         PR c++/61020
3361         * varpool.c (ctor_for_folding): Handle uninitialized vtables.
3363 2014-06-03  Martin Jambor  <mjambor@suse.cz>
3365         PR ipa/61160
3366         * ipa-cp.c (cgraph_edge_brings_value_p): Handle edges leading to
3367         thunks.
3369 2014-06-03  Andrey Belevantsev  <abel@ispras.ru>
3371         Backport from mainline
3372         2014-05-14  Andrey Belevantsev  <abel@ispras.ru>
3374         PR rtl-optimization/60866
3375         * sel-sched-ir (sel_init_new_insn): New parameter old_seqno.
3376         Default it to -1.  Pass it down to init_simplejump_data.
3377         (init_simplejump_data): New parameter old_seqno.  Pass it down
3378         to get_seqno_for_a_jump.
3379         (get_seqno_for_a_jump): New parameter old_seqno.  Use it for
3380         initializing new jump seqno as a last resort.  Add comment.
3381         (sel_redirect_edge_and_branch): Save old seqno of the conditional
3382         jump and pass it down to sel_init_new_insn.
3383         (sel_redirect_edge_and_branch_force): Likewise.
3385 2014-06-03  Andrey Belevantsev  <abel@ispras.ru>
3387         Backport from mainline
3388         2014-05-14  Andrey Belevantsev  <abel@ispras.ru>
3390         PR rtl-optimization/60901
3391         * config/i386/i386.c (ix86_dependencies_evaluation_hook): Check that
3392         bb predecessor belongs to the same scheduling region.  Adjust comment.
3394 2014-06-03  Uros Bizjak  <ubizjak@gmail.com>
3396         Backport from mainline
3397         2014-06-02  Uros Bizjak  <ubizjak@gmail.com>
3399         PR target/61239
3400         * config/i386/i386.c (ix86_expand_vec_perm) [case V32QImode]: Use
3401         GEN_INT (-128) instead of GEN_INT (128) to set MSB of QImode constant.
3403 2014-05-29  Vladimir Makarov  <vmakarov@redhat.com>
3405         PR rtl-optimization/61325
3406         * lra-constraints.c (process_address): Rename to
3407         process_address_1.
3408         (process_address): New function.
3410 2014-05-29  Uros Bizjak  <ubizjak@gmail.com>
3412         Backport from mainline
3413         2014-05-26  Uros Bizjak  <ubizjak@gmail.com>
3415         PR target/61271
3416         * config/i386/i386.c (ix86_rtx_costs)
3417         <case CONST_INT, case CONST, case LABEL_REF, case SYMBOL_REF>:
3418         Fix condition.
3420 2014-05-28  Eric Botcazou  <ebotcazou@adacore.com>
3422         Backport from mainline
3423         2014-05-27  Eric Botcazou  <ebotcazou@adacore.com>
3425         * double-int.c (div_and_round_double) <ROUND_DIV_EXPR>: Use the proper
3426         predicate to detect a negative quotient.
3428 2014-05-28  Richard Biener  <rguenther@suse.de>
3430         Backport from mainline
3431         2014-05-28  Richard Biener  <rguenther@suse.de>
3433         PR middle-end/61045
3434         * fold-const.c (fold_comparison): When folding
3435         X +- C1 CMP Y +- C2 to X CMP Y +- C2 +- C1 also ensure
3436         the sign of the remaining constant operand stays the same.
3438         2014-05-05  Richard Biener  <rguenther@suse.de>
3440         PR middle-end/61010
3441         * fold-const.c (fold_binary_loc): Consistently avoid
3442         canonicalizing X & CST away from a CST that is the mask
3443         of a mode.
3445         2014-04-28  Richard Biener  <rguenther@suse.de>
3447         PR tree-optimization/60979
3448         * graphite-scop-detection.c (scopdet_basic_block_info): Reject
3449         SCOPs that end in a block with a successor with abnormal
3450         predecessors.
3452 2014-05-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3454         * configure.ac ($gcc_cv_ld_clearcap): New test.
3455         * configure: Regenerate.
3456         * config.in: Regenerate.
3457         * config/sol2.opt (mclear-hwcap): New option.
3458         * config/sol2.h (LINK_CLEARCAP_SPEC): Define.
3459         * config/sol2-clearcap.map: Moved here from
3460         testsuite/gcc.target/i386/clearcap.map.
3461         * config/sol2-clearcapv2.map: Move here from
3462         gcc.target/i386/clearcapv2.map.
3463         * config/t-sol2 (install): Depend on install-clearcap-map.
3464         (install-clearcap-map): New target.
3465         * doc/invoke.texi (Option Summary, Solaris 2 Options): Document
3466         -mclear-hwcap.
3468 2014-05-28  Georg-Johann Lay  <avr@gjlay.de>
3470         PR libgcc/61152
3471         * config/dbx.h (License): Add Runtime Library Exception.
3472         * config/newlib-stdint.h (License): Same.
3473         * config/rtems.h (License): Same
3474         * config/initfini-array.h (License): Same
3475         * config/v850/v850.h (License): Same.
3476         * config/v850/v850-opts.h (License): Same
3477         * config/v850/rtems.h (License): Same.
3479 2014-05-28  Georg-Johann Lay  <avr@gjlay.de>
3481         PR target/61044
3482         * doc/extend.texi (Local Labels): Note that label differences are
3483         not supported for AVR.
3485 2014-05-27  Georg-Johann Lay  <avr@gjlay.de>
3487         Backport from 2014-05-12 mainline r210322.
3488         Backport from 2014-05-27 mainline r210959, r210969.
3490         PR libgcc/61152
3491         * config/arm/arm.h (License): Add GCC Runtime Library Exception.
3492         * config/arm/arm-cores.def (License): Same.
3493         * config/arm/arm-opts.h (License): Same.
3494         * config/arm/aout.h (License): Same.
3495         * config/arm/bpabi.h (License): Same.
3496         * config/arm/elf.h (License): Same.
3497         * config/arm/linux-elf.h (License): Same.
3498         * config/arm/linux-gas.h (License): Same.
3499         * config/arm/netbsd-elf.h (License): Same.
3500         * config/arm/uclinux-eabi.h (License): Same.
3501         * config/arm/uclinux-elf.h (License): Same.
3502         * config/arm/vxworks.h (License): Same.
3504 2014-05-26  Michael Tautschnig  <mt@debian.org>
3506         PR target/61249
3507         * doc/extend.texi (X86 Built-in Functions): Fix parameter lists of
3508         __builtin_ia32_vfrczs[sd] and __builtin_ia32_mpsadbw256.
3510 2014-05-22  Vladimir Makarov  <vmakarov@redhat.com>
3512         PR rtl-optimization/61215
3513         * lra-elelimination.c (lra_eliminate_regs_1): Don't use
3514         simplify_gen_subreg until final substitution.
3516 2014-05-23  Alan Modra  <amodra@gmail.com>
3518         PR target/61231
3519         * config/rs6000/rs6000.c (mem_operand_gpr): Handle SImode.
3520         * config/rs6000/rs6000.md (extendsidi2_lfiwax, extendsidi2_nocell):
3521         Use "Y" constraint rather than "m".
3523 2014-05-22  Vladimir Makarov  <vmakarov@redhat.com>
3525         PR rtl-optimization/60969
3526         * ira-costs.c (record_reg_classes): Process NO_REGS for matching
3527         constraints.  Set up mem cost for NO_REGS case.
3529 2014-05-22  Peter Bergner  <bergner@vnet.ibm.com>
3531         * config/rs6000/htm.md (ttest): Use correct shift value to get CR0.
3533 2014-05-22  Richard Earnshaw  <rearnsha@arm.com>
3535         PR target/61208
3536         * arm.md (arm_cmpdi_unsigned): Fix length calculation for Thumb2.
3538 2014-05-22  Nick Clifton  <nickc@redhat.com>
3540         * config/msp430/msp430.h (ASM_SPEC): Add spaces after inserted options.
3542 2014-05-22  Jakub Jelinek  <jakub@redhat.com>
3544         * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Make sure
3545         all padding bits in REAL_VALUE_TYPE are cleared.
3547 2014-05-21  Guozhi Wei  <carrot@google.com>
3549         PR target/61202
3550         * config/aarch64/arm_neon.h (vqdmulh_n_s16): Change the last operand's
3551         constraint.
3552         (vqdmulhq_n_s16): Likewise.
3554 2014-05-21  Martin Jambor  <mjambor@suse.cz>
3556         * doc/invoke.texi (Optimize Options): Document parameters
3557         ipa-cp-eval-threshold, ipa-max-agg-items, ipa-cp-loop-hint-bonus and
3558         ipa-cp-array-index-hint-bonus.
3560 2014-05-21  Jakub Jelinek  <jakub@redhat.com>
3562         PR middle-end/61252
3563         * omp-low.c (handle_simd_reference): New function.
3564         (lower_rec_input_clauses): Use it.  Defer adding reference
3565         initialization even for reduction without placeholder if in simd,
3566         handle it properly later on.
3568 2014-05-20  Jan Hubicka  <hubicka@ucw.cz>
3570         PR bootstrap/60984
3571         * ipa-inline-transform.c (inline_call): Use add CALLEE_REMOVED
3572         parameter.
3573         * ipa-inline.c (inline_to_all_callers): If callee was removed; return.
3574         (ipa_inline): Loop inline_to_all_callers until no more aliases
3575         are removed.
3577 2014-05-20  Jan Hubicka  <hubicka@ucw.cz>
3579         PR lto/60820
3580         * varpool.c (varpool_remove_node): Do not alter decls when streaming.
3582 2014-05-20  DJ Delorie  <dj@redhat.com>
3584         * config/msp430/msp430.md (split): Don't allow subregs when
3585         splitting SImode adds.
3586         (andneghi): Fix subtraction logic.
3587         * config/msp430/predicates.md (msp430_nonsubreg_or_imm_operand): New.
3589 2014-05-20  Nick Clifton  <nickc@redhat.com>
3591         * config/msp430/msp430.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
3592         (msp430_gimplify_va_arg_expr): New function.
3593         (msp430_print_operand): Handle (CONST (ZERO_EXTRACT)).
3595         * config/msp430/msp430.md (zero_extendpsisi2): Use + constraint on
3596         operand 0 in order to prevent confusion about the number of
3597         registers involved.
3599 2014-05-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3601         * config/arm/arm.md (arith_shiftsi): Do not predicate for
3602         arm_restrict_it.
3604 2014-05-19  Richard Earnshaw  <rearnsha@arm.com>
3606         * arm.c (thumb1_reorg): When scanning backwards skip anything
3607         that's not a proper insn.
3609 2014-05-17  Jan Hubicka  <hubicka@ucw.cz>
3611         * ipa.c (symtab_remove_unreachable_nodes): Remove
3612         symbol from comdat group if its body was eliminated.
3613         (comdat_can_be_unshared_p_1): Static symbols can always be privatized.
3614         * symtab.c (symtab_remove_from_same_comdat_group): Break out from ...
3615         (symtab_unregister_node): ... this one.
3616         (verify_symtab_base): More strict checking of comdats.
3617         * cgraph.h (symtab_remove_from_same_comdat_group): Declare.
3619 2014-05-17  Jan Hubicka  <hubicka@ucw.cz>
3621         * opts.c (common_handle_option): Disable -fipa-reference coorectly
3622         with -fuse-profile.
3624 2014-05-17  Jan Hubicka  <hubicka@ucw.cz>
3626         PR ipa/60854
3627         * ipa.c (symtab_remove_unreachable_nodes): Mark targets of
3628         external aliases alive, too.
3630 2014-05-17  Uros Bizjak  <ubizjak@gmail.com>
3632         * doc/invoke.texi (free): Mention Alpha.  Also enabled at -Os.
3634 2014-05-17  Uros Bizjak  <ubizjak@gmail.com>
3636         Backport from mainline
3637         2014-04-25  H.J. Lu  <hongjiu.lu@intel.com>
3639         PR target/60969
3640         * config/i386/i386.md (*movsf_internal): Set MODE to SI for
3641         alternative 12.
3643 2014-05-16  Vladimir Makarov  <vmakarov@redhat.com>
3645         PR rtl-optimization/60969
3646         * ira-costs.c (record_reg_classes): Allow only memory for pseudo.
3647         Calculate costs for this case.
3649 2014-05-15  Peter Bergner  <bergner@vnet.ibm.com>
3651         PR target/61193
3652         * config/rs6000/htmxlintrin.h (_HTM_TBEGIN_STARTED): New define.
3653         (__TM_simple_begin): Use it.
3654         (__TM_begin): Likewise.
3656 2014-05-15  Martin Jambor  <mjambor@suse.cz>
3658         PR ipa/61085
3659         * ipa-prop.c (update_indirect_edges_after_inlining): Check
3660         type_preserved flag when the indirect edge is polymorphic.
3662 2014-05-15  Martin Jambor  <mjambor@suse.cz>
3664         PR ipa/60897
3665         * ipa-prop.c (ipa_modify_formal_parameters): Reset DECL_LANG_SPECIFIC.
3667 2014-05-15  Jakub Jelinek  <jakub@redhat.com>
3669         PR tree-optimization/61158
3670         * fold-const.c (fold_binary_loc): If X is zero-extended and
3671         shiftc >= prec, make sure zerobits is all ones instead of
3672         invoking undefined behavior.
3674 2014-05-14  Cary Coutant  <ccoutant@google.com>
3676         PR debug/61013
3677         * opts.c (common_handle_option): Don't special-case "-g".
3678         (set_debug_level): Default to at least level 2 with "-g".
3680 2014-05-14  Eric Botcazou  <ebotcazou@adacore.com>
3682         * config/sparc/sparc-protos.h (sparc_absnegfloat_split_legitimate):
3683         Delete.
3684         * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): Likewise.
3685         * config/sparc/sparc.md (fptype_ut699): New attribute.
3686         (in_branch_delay): Return false if -mfix-ut699 is specified and
3687         fptype_ut699 is set to single.
3688         (truncdfsf2): Add fptype_ut699 attribute.
3689         (fix_truncdfsi2): Likewise.
3690         (floatsisf2): Change fptype attribute.
3691         (fix_truncsfsi2): Likewise.
3692         (negtf2_notv9): Delete.
3693         (negtf2_v9): Likewise.
3694         (negtf2_hq): New instruction.
3695         (negtf2): New instruction and splitter.
3696         (negdf2_notv9): Rewrite.
3697         (abstf2_notv9): Delete.
3698         (abstf2_hq_v9): Likewise.
3699         (abstf2_v9): Likewise.
3700         (abstf2_hq): New instruction.
3701         (abstf2): New instruction and splitter.
3702         (absdf2_notv9): Rewrite.
3704 2014-05-14  Matthias Klose  <doko@ubuntu.com>
3706         Revert:
3707         2014-05-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3708                     Matthias Klose  <doko@ubuntu.com>
3710         PR driver/61106
3711         * optc-gen.awk: Fix option handling for -Wunused-parameter.
3713 2014-05-13  Peter Bergner  <bergner@vnet.ibm.com>
3715         * doc/sourcebuild.texi: (dfp_hw): Document.
3716         (p8vector_hw): Likewise.
3717         (powerpc_eabi_ok): Likewise.
3718         (powerpc_elfv2): Likewise.
3719         (powerpc_htm_ok): Likewise.
3720         (ppc_recip_hw): Likewise.
3721         (vsx_hw): Likewise.
3723 2014-05-13  Jeff Law  <law@redhat.com>
3725         Backports fromm mainline:
3727         2014-05-08  Jeff Law  <law@redhat.com>
3729         PR tree-optimization/61009
3730         * tree-ssa-threadedge.c (thread_through_normal_block): Return a
3731         tri-state rather than a boolean.  When a block is too big to
3732         thread through, inform caller via negative return value.
3733         (thread_across_edge): If a block was too big for normal threading,
3734         then it's too big for a joiner too, so remove temporary equivalences
3735         and return immediately.
3737         2014-04-28  Jeff Law  <law@redhat.com>
3739         PR tree-optimization/60902
3740         * tree-ssa-threadedge.c
3741         (record_temporary_equivalences_from_stmts_at_dest): Only iterate
3742         over real defs when invalidating outputs from statements that do not
3743         produce useful outputs for threading.
3745         2014-04-23  Jeff Law  <law@redhat.com>
3747         PR tree-optimization/60902
3748         * tree-ssa-threadedge.c
3749         (record_temporary_equivalences_from_stmts_at_dest): Make sure to
3750         invalidate outputs from statements that do not produce useful
3751         outputs for threading.
3753 2014-05-13  Richard Biener  <rguenther@suse.de>
3755         PR ipa/60973
3756         * tree-inline.c (remap_gimple_stmt): Clear tail call flag,
3757         it needs revisiting whether the call still may be tail-called.
3759 2014-05-13  Jakub Jelinek  <jakub@redhat.com>
3761         PR target/61060
3762         * config/i386/i386.c (ix86_expand_set_or_movmem): If count_exp
3763         is const0_rtx, return immediately.  Don't test count == 0 when
3764         it is always true.
3766 2014-05-12  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
3768         Backport from mainline
3769         2014-05-12  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
3771         PR target/60991
3772         * config/avr/avr.c (avr_out_store_psi): Use correct constant
3773         to restore Y.
3775 2014-05-09  Uros Bizjak  <ubizjak@gmail.com>
3777         Backport from mainline
3778         2014-05-08  Uros Bizjak  <ubizjak@gmail.com>
3780         PR target/61092
3781         * config/alpha/alpha.c: Include gimple-iterator.h.
3782         (alpha_gimple_fold_builtin): New function.  Move
3783         ALPHA_BUILTIN_UMULH folding from ...
3784         (alpha_fold_builtin): ... here.
3785         (TARGET_GIMPLE_FOLD_BUILTIN): New define.
3787 2014-05-09  Pitchumani Sivanupandi  <Pitchumani.S@atmel.com>
3789         Backport from 2014-04-16 trunk r209446
3790         2014-04-16  Pitchumani Sivanupandi  <Pitchumani.S@atmel.com>
3792         * config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro.
3794 2014-05-09  Georg-Johann Lay  <avr@gjlay.de>
3796         Backport from 2014-05-09 trunk r210267
3798         PR target/61055
3799         * config/avr/avr.md (cc): Add new attribute set_vzn.
3800         (addqi3, addqq3, adduqq3, subqi3, subqq3, subuqq3, negqi2) [cc]:
3801         Set cc insn attribute to set_vzn instead of set_zn for alternatives
3802         with INC, DEC or NEG.
3803         * config/avr/avr.c (avr_notice_update_cc): Handle SET_VZN.
3804         (avr_out_plus_1): ADIW sets cc0 to CC_SET_CZN.
3805         INC, DEC and ADD+ADC set cc0 to CC_CLOBBER.
3807 2014-05-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3808             Matthias Klose  <doko@ubuntu.com>
3810         PR driver/61106
3811         * optc-gen.awk: Fix option handling for -Wunused-parameter.
3813 2014-05-08  Uros Bizjak  <ubizjak@gmail.com>
3815         PR target/59952
3816         * config/i386/i386.c (PTA_HASWELL): Remove PTA_RTM.
3818 2014-05-05  Marek Polacek  <polacek@redhat.com>
3820         Back port from mainline
3821         2014-05-05  Marek Polacek  <polacek@redhat.com>
3823         PR driver/61065
3824         * opts.c (common_handle_option): Call error_at instead of warning_at.
3826 2014-05-04  Jan Hubicka  <hubicka@ucw.cz>
3828         PR ipa/60965
3829         * ipa-devirt.c (get_class_context): Allow POD to change to non-POD.
3831 2014-05-04  Peter Bergner  <bergner@vnet.ibm.com>
3833         * config/rs6000/rs6000.h (RS6000_BTM_HARD_FLOAT): New define.
3834         (RS6000_BTM_COMMON): Add RS6000_BTM_HARD_FLOAT.
3835         (TARGET_EXTRA_BUILTINS): Add TARGET_HARD_FLOAT.
3836         * config/rs6000/rs6000-builtin.def (BU_MISC_1):
3837         Use RS6000_BTM_HARD_FLOAT.
3838         (BU_MISC_2): Likewise.
3839         * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
3840         RS6000_BTM_HARD_FLOAT.
3841         (rs6000_option_override_internal): Enforce -mhard-float if -mhard-dfp
3842         is explicitly used.
3843         (rs6000_invalid_builtin): Add hard floating builtin support.
3844         (rs6000_expand_builtin): Relax the gcc_assert to allow the new
3845         hard float builtins.
3846         (rs6000_builtin_mask_names): Add RS6000_BTM_HARD_FLOAT.
3848 2014-05-03  Joey Ye  <joey.ye@arm.com>
3850         Backport from mainline r209463
3851         2014-04-17  Joey Ye  <joey.ye@arm.com>
3853         * opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og.
3855 2014-05-03  Oleg Endo  <olegendo@gcc.gnu.org>
3857         Back port from mainline
3858         PR target/61026
3859         * config/sh/sh.c: Include stdlib headers before everything else.
3861 2014-05-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3863         PR tree-optimization/60930
3864         * gimple-ssa-strength-reduction.c (create_mul_imm_cand):  Reject
3865         creating a multiply candidate by folding two constant
3866         multiplicands when the result overflows.
3868 2014-05-02  Jakub Jelinek  <jakub@redhat.com>
3870         * gimplify.c (gimplify_adjust_omp_clauses_1): Handle
3871         GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE.
3872         (gimplify_adjust_omp_clauses): Simd region is never
3873         directly nested in combined parallel.  Instead, for linear
3874         with copyin/copyout, if in combined for simd loop, make decl
3875         firstprivate/lastprivate on OMP_FOR.
3876         * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
3877         expand_omp_for_static_chunk): When setting endvar, also set
3878         fd->loop.v to the same value.
3880 2014-05-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3882         Back port from mainline
3883         2014-04-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3885         * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Check
3886         TARGET_SIMD rather than TARGET_GENERAL_REGS_ONLY.
3887         (TARGET_SIMD): Take AARCH64_ISA_SIMD into account.
3888         (TARGET_FLOAT): Take AARCH64_ISA_FP into account.
3889         (TARGET_CRYPTO): Take TARGET_SIMD into account.
3891 2014-04-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
3893         Back port from mainline
3894         2014-04-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
3896         * doc/extend.texi (PowerPC Built-in Functions): Document new
3897         powerpc extended divide, bcd, pack/unpack 128-bit, builtin
3898         functions.
3899         (PowerPC AltiVec/VSX Built-in Functions): Likewise.
3901         * config/rs6000/predicates.md (const_0_to_3_operand): New
3902         predicate to match 0..3 integer constants.
3904         * config/rs6000/rs6000-builtin.def (BU_DFP_MISC_1): Add new macros
3905         to support adding miscellaneous builtin functions.
3906         (BU_DFP_MISC_2): Likewise.
3907         (BU_P7_MISC_1): Likewise.
3908         (BU_P7_MISC_2): Likewise.
3909         (BU_P8V_MISC_3): Likewise.
3910         (BU_MISC_1): Likewise.
3911         (BU_MISC_2): Likewise.
3912         (DIVWE): Add extended divide builtin functions.
3913         (DIVWEO): Likewise.
3914         (DIVWEU): Likewise.
3915         (DIVWEUO): Likewise.
3916         (DIVDE): Likewise.
3917         (DIVDEO): Likewise.
3918         (DIVDEU): Likewise.
3919         (DIVDEUO): Likewise.
3920         (DXEX): Add decimal floating-point builtin functions.
3921         (DXEXQ): Likewise.
3922         (DDEDPD): Likewise.
3923         (DDEDPDQ): Likewise.
3924         (DENBCD): Likewise.
3925         (DENBCDQ): Likewise.
3926         (DIEX): Likewise.
3927         (DIEXQ): Likewise.
3928         (DSCLI): Likewise.
3929         (DSCLIQ): Likewise.
3930         (DSCRI): Likewise.
3931         (DSCRIQ): Likewise.
3932         (CDTBCD): Add new BCD builtin functions.
3933         (CBCDTD): Likewise.
3934         (ADDG6S): Likewise.
3935         (BCDADD): Likewise.
3936         (BCDADD_LT): Likewise.
3937         (BCDADD_EQ): Likewise.
3938         (BCDADD_GT): Likewise.
3939         (BCDADD_OV): Likewise.
3940         (BCDSUB): Likewise.
3941         (BCDSUB_LT): Likewise.
3942         (BCDSUB_EQ): Likewise.
3943         (BCDSUB_GT): Likewise.
3944         (BCDSUB_OV): Likewise.
3945         (PACK_TD): Add new pack/unpack 128-bit type builtin functions.
3946         (UNPACK_TD): Likewise.
3947         (PACK_TF): Likewise.
3948         (UNPACK_TF): Likewise.
3949         (UNPACK_TF_0): Likewise.
3950         (UNPACK_TF_1): Likewise.
3951         (PACK_V1TI): Likewise.
3952         (UNPACK_V1TI): Likewise.
3954         * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
3955         support for decimal floating point builtin functions.
3956         (rs6000_expand_ternop_builtin): Add checks for the new builtin
3957         functions that take constant arguments.
3958         (rs6000_invalid_builtin): Add decimal floating point builtin
3959         support.
3960         (rs6000_init_builtins): Setup long double, _Decimal64, and
3961         _Decimal128 types for new builtin functions.
3962         (builtin_function_type): Set the unsigned flags appropriately for
3963         the new builtin functions.
3964         (rs6000_opt_masks): Add support for decimal floating point builtin
3965         functions.
3967         * config/rs6000/rs6000.h (RS6000_BTM_DFP): Add support for decimal
3968         floating point builtin functions.
3969         (RS6000_BTM_COMMON): Likewise.
3970         (RS6000_BTI_long_double): Likewise.
3971         (RS6000_BTI_dfloat64): Likewise.
3972         (RS6000_BTI_dfloat128): Likewise.
3973         (long_double_type_internal_node): Likewise.
3974         (dfloat64_type_internal_node): Likewise.
3975         (dfloat128_type_internal_node): Likewise.
3977         * config/rs6000/altivec.h (UNSPEC_BCDADD): Add support for ISA
3978         2.07 bcd arithmetic instructions.
3979         (UNSPEC_BCDSUB): Likewise.
3980         (UNSPEC_BCD_OVERFLOW): Likewise.
3981         (UNSPEC_BCD_ADD_SUB): Likewise.
3982         (bcd_add_sub): Likewise.
3983         (BCD_TEST): Likewise.
3984         (bcd<bcd_add_sub>): Likewise.
3985         (bcd<bcd_add_sub>_test): Likewise.
3986         (bcd<bcd_add_sub>_test2): Likewise.
3987         (bcd<bcd_add_sub>_<code>): Likewise.
3988         (peephole2 for combined bcd ops): Likewise.
3990         * config/rs6000/dfp.md (UNSPEC_DDEDPD): Add support for new
3991         decimal floating point builtin functions.
3992         (UNSPEC_DENBCD): Likewise.
3993         (UNSPEC_DXEX): Likewise.
3994         (UNSPEC_DIEX): Likewise.
3995         (UNSPEC_DSCLI): Likewise.
3996         (UNSPEC_DSCRI): Likewise.
3997         (D64_D128): Likewise.
3998         (dfp_suffix): Likewise.
3999         (dfp_ddedpd_<mode>): Likewise.
4000         (dfp_denbcd_<mode>): Likewise.
4001         (dfp_dxex_<mode>): Likewise.
4002         (dfp_diex_<mode>): Likewise.
4003         (dfp_dscli_<mode>): Likewise.
4004         (dfp_dscri_<mode>): Likewise.
4006         * config/rs6000/rs6000.md (UNSPEC_ADDG6S): Add support for new BCD
4007         builtin functions.
4008         (UNSPEC_CDTBCD): Likewise.
4009         (UNSPEC_CBCDTD): Likewise.
4010         (UNSPEC_DIVE): Add support for new extended divide builtin
4011         functions.
4012         (UNSPEC_DIVEO): Likewise.
4013         (UNSPEC_DIVEU): Likewise.
4014         (UNSPEC_DIVEUO): Likewise.
4015         (UNSPEC_UNPACK_128BIT): Add support for new builtin functions to
4016         pack/unpack 128-bit types.
4017         (UNSPEC_PACK_128BIT): Likewise.
4018         (idiv_ldiv): New mode attribute to set the 32/64-bit divide type.
4019         (udiv<mode>3): Use idiv_ldiv mode attribute.
4020         (div<mode>3): Likewise.
4021         (addg6s): Add new BCD builtin functions.
4022         (cdtbcd): Likewise.
4023         (cbcdtd): Likewise.
4024         (UNSPEC_DIV_EXTEND): Add support for new extended divide
4025         instructions.
4026         (div_extend): Likewise.
4027         (div<div_extend>_<mode>"): Likewise.
4028         (FP128_64): Add support for new builtin functions to pack/unpack
4029         128-bit types.
4030         (unpack<mode>): Likewise.
4031         (unpacktf_0): Likewise.
4032         (unpacktf_1): Likewise.
4033         (unpack<mode>_dm): Likewise.
4034         (unpack<mode>_nodm): Likewise.
4035         (pack<mode>): Likewise.
4036         (unpackv1ti): Likewise.
4037         (packv1ti): Likewise.
4039 2014-04-29  Pat Haugen  <pthaugen@us.ibm.com>
4041         Backport from mainline
4042         2014-04-17  Pat Haugen  <pthaugen@us.ibm.com>
4044         * config/rs6000/rs6000.md (addti3, subti3): New.
4046 2014-04-29  Jakub Jelinek  <jakub@redhat.com>
4048         PR tree-optimization/60971
4049         * tree-tailcall.c (process_assignment): Reject conversions which
4050         reduce precision.
4052 2014-04-29  Nick Clifton  <nickc@redhat.com>
4054         * config/msp430/msp430.md (umulsidi): Fix typo.
4055         (mulhisi3): Enable even inside interrupt handlers.
4056         * config/msp430/msp430.c (msp430_print_operand): %O: Allow for the
4057         bigger return address pushed in large mode.
4059 2014-04-28  Pat Haugen  <pthaugen@us.ibm.com>
4061         * config/rs6000/sync.md (AINT mode_iterator): Move definition.
4062         (loadsync_<mode>): Change mode.
4063         (load_quadpti, store_quadpti): New.
4064         (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
4065         * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
4067 2014-04-28  Eric Botcazou  <ebotcazou@adacore.com>
4069         * configure.ac: Tweak GAS check for LEON instructions on SPARC.
4070         * configure: Regenerate.
4071         * config/sparc/sparc.opt (muser-mode): New option.
4072         * config/sparc/sync.md (atomic_compare_and_swap<mode>_1): Do not enable
4073         for LEON3.
4074         (atomic_compare_and_swap_leon3_1): New instruction for LEON3.
4075         * doc/invoke.texi (SPARC options): Document -muser-mode.
4077 2014-04-26  Markus Trippelsdorf  <markus@trippelsdorf.de>
4079         * doc/install.texi (Building with profile feedback): Remove
4080         outdated sentence.
4082 2014-04-26  Tom de Vries  <tom@codesourcery.com>
4084         * config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds
4085         array accesses.
4087 2014-04-25  Jakub Jelinek  <jakub@redhat.com>
4089         PR tree-optimization/60960
4090         * tree-vect-generic.c (expand_vector_operation): Only call
4091         expand_vector_divmod if type's mode satisfies VECTOR_MODE_P.
4093 2014-04-25  Eric Botcazou  <ebotcazou@adacore.com>
4095         PR target/60941
4096         * config/sparc/sparc.md (ashlsi3_extend): Delete.
4098 2014-04-25  Richard Biener  <rguenther@suse.de>
4100         PR ipa/60912
4101         * tree-ssa-structalias.c (ipa_pta_execute): Compute direct
4102         call stmt use/clobber sets during stmt walk instead of
4103         walking the possibly incomplete set of caller edges.
4105 2014-04-25  Richard Biener  <rguenther@suse.de>
4107         PR ipa/60911
4108         * passes.c (apply_ipa_transforms): Inline into only caller ...
4109         (execute_one_pass): ... here.  Properly bring in function
4110         bodies for nodes we want to apply IPA transforms to.
4112 2014-04-24  Jakub Jelinek  <jakub@redhat.com>
4114         * tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
4115         * gimplify.c (omp_is_private): Change last argument's type to int.
4116         Only diagnose lastprivate if the simd argument is 1, only diagnose
4117         linear if the simd argument is 2.
4118         (gimplify_omp_for): Adjust omp_is_private callers.  When adding
4119         lastprivate or private, add the clause to OMP_FOR_CLAUSES.  Pass
4120         GOVD_EXPLICIT to omp_add_variable.  For simd with collapse == 1
4121         create OMP_CLAUSE_LINEAR rather than OMP_CLAUSE_PRIVATE for var.
4122         If var != decl and decl is in OMP_CLAUSE_LINEAR, gimplify decl
4123         increment to OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
4124         * omp-low.c (scan_sharing_clauses, lower_lastprivate_clauses): Handle
4125         OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
4126         * tree-nested.c (convert_nonlocal_omp_clauses,
4127         convert_local_omp_clauses): Handle OMP_CLAUSE_LINEAR.
4129 2014-04-23  Uros Bizjak  <ubizjak@gmail.com>
4131         Backport from mainline
4132         2014-04-21  Uros Bizjak  <ubizjak@gmail.com>
4134         PR target/60909
4135         * config/i386/i386.c (ix86_expand_builtin)
4136         <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
4137         register for target RTX.
4138         <case IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Ditto.
4140 2014-04-23  Richard Biener  <rguenther@suse.de>
4142         PR tree-optimization/60903
4143         * tree-ssa-loop-im.c (analyze_memory_references): Remove
4144         commented code block.
4145         (execute_sm_if_changed): Properly apply IRREDUCIBLE_LOOP
4146         loop flags to newly created BBs and edges.
4148 2014-04-23  Nick Clifton  <nickc@redhat.com>
4150         * config/msp430/msp430.c (msp430_handle_option): Move function
4151         to msp430-common.c
4152         (msp430_option_override): Simplify mcu and mcpu option handling.
4153         (msp430_is_f5_mcu): Rename to msp430_use_f5_series_hwmult.  Add
4154         support for -mhwmult command line option.
4155         (has_32bit_hwmult): Rename to use_32bit_hwmult.  Add support for
4156         -mhwmult command line option.
4157         (msp430_hwmult_enabled): Delete.
4158         (msp43o_output_labelref): Add support for -mhwmult command line
4159         option.
4160         * config/msp430/msp430.md (mulhisi3, umulhisi3, mulsidi3)
4161         (umulsidi3): Likewise.
4162         * config/msp430/msp430.opt (mmcu): Add Report attribute.
4163         (mcpu, mlarge, msmall): Likewise.
4164         (mhwmult): New option.
4165         * config/msp430/msp430-protos.h (msp430_hwmult_enabled): Remove
4166         prototype.
4167         (msp430_is_f5_mcu): Remove prototype.
4168         (msp430_use_f5_series_hwmult): Add prototype.
4169         * config/msp430/msp430-opts.h: New file.
4170         * common/config/msp430: New directory.
4171         * common/config/msp430/msp430-common.c: New file.
4172         * config.gcc (msp430): Remove target_has_targetm_common.
4173         * doc/invoke.texi: Document -mhwmult command line option.
4175 2014-04-23  Nick Clifton  <nickc@redhat.com>
4177         * config/i386/cygwin.h (ENDFILE_SPEC): Include
4178         default-manifest.o if it can be found in the search path.
4179         * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
4181 2014-04-23  Richard Biener  <rguenther@suse.de>
4183         Backport from mainline
4184         2014-04-14  Richard Biener  <rguenther@suse.de>
4186         PR lto/60720
4187         * lto-streamer-out.c (wrap_refs): New function.
4188         (lto_output): Wrap symbol references in global initializes in
4189         type-preserving MEM_REFs.
4191 2014-04-23  Richard Biener  <rguenther@suse.de>
4193         PR middle-end/60895
4194         * tree-inline.c (declare_return_variable): Use mark_addressable.
4196 2014-04-23  Richard Biener  <rguenther@suse.de>
4198         PR middle-end/60891
4199         * loop-init.c (loop_optimizer_init): Make sure to apply
4200         LOOPS_MAY_HAVE_MULTIPLE_LATCHES before fixing up loops.
4202 2014-04-22  Michael Meissner  <meissner@linux.vnet.ibm.com>
4204         Backport from mainline
4205         2014-04-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
4207         PR target/60735
4208         * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64 case):
4209         If mode is DDmode and TARGET_E500_DOUBLE allow move.
4211         * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print some
4212         more debug information for E500 if -mdebug=reg.
4214 2014-04-22  H.J. Lu  <hongjiu.lu@intel.com>
4216         Backport from mainline
4217         2014-04-22  H.J. Lu  <hongjiu.lu@intel.com>
4219         PR target/60868
4220         * config/i386/i386.c (ix86_expand_set_or_movmem): Call counter_mode
4221         on count_exp to get mode.
4223 2014-04-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4225         * config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for
4226         little-endian.
4227         (vsx_xxmrglw_<mode>): Likewise.
4229 2014-04-22  Richard Biener  <rguenther@suse.de>
4231         Backport from mainline
4232         2014-04-14  Richard Biener  <rguenther@suse.de>
4234         PR middle-end/55022
4235         * fold-const.c (negate_expr_p): Don't negate directional rounding
4236         division.
4237         (fold_negate_expr): Likewise.
4239 2014-04-22  Richard Biener  <rguenther@suse.de>
4241         Backport from mainline
4242         2014-04-17  Richard Biener  <rguenther@suse.de>
4244         PR middle-end/60849
4245         * tree-ssa-propagate.c (valid_gimple_rhs_p): Only allow effective
4246         boolean results for comparisons.
4248 2014-04-22   Richard Biener  <rguenther@suse.de>
4250         Backport from mainline
4251         2014-04-17   Richard Biener  <rguenther@suse.de>
4253         PR tree-optimization/60841
4254         * tree-vect-data-refs.c (vect_analyze_data_refs): Count stmts.
4255         * tree-vect-loop.c (vect_analyze_loop_2): Pass down number
4256         of stmts to SLP build.
4257         * tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
4258         (vect_analyze_slp): Likewise.
4259         (vect_analyze_slp_instance): Likewise.
4260         (vect_build_slp_tree): Limit overall SLP tree growth.
4261         * tree-vectorizer.h (vect_analyze_data_refs,
4262         vect_analyze_slp): Adjust prototypes.
4264 2014-04-22  Richard Biener  <rguenther@suse.de>
4266         Backport from mainline
4267         2014-04-17  Richard Biener  <rguenther@suse.de>
4269         PR tree-optimization/60836
4270         * tree-vect-loop.c (vect_create_epilog_for_reduction): Force
4271         initial PHI args to be gimple values.
4273 2014-04-22  Richard Biener  <rguenther@suse.de>
4275         Backport from mainline
4276         2014-04-14  Richard Biener  <rguenther@suse.de>
4278         PR tree-optimization/59817
4279         PR tree-optimization/60453
4280         * graphite-scop-detection.c (graphite_can_represent_scev): Complete
4281         recursion to catch all CHRECs in the scalar evolution and restrict
4282         the predicate for the remains appropriately.
4284 2014-04-22  Jakub Jelinek  <jakub@redhat.com>
4286         PR tree-optimization/60823
4287         * omp-low.c (ipa_simd_modify_function_body): Go through
4288         all SSA_NAMEs and for those refering to vector arguments
4289         which are going to be replaced adjust SSA_NAME_VAR and,
4290         if it is a default definition, change it into a non-default
4291         definition assigned at the beginning of function from new_decl.
4292         (ipa_simd_modify_stmt_ops): Rewritten.
4293         * tree-dfa.c (set_ssa_default_def): When removing default def,
4294         check for NULL loc instead of NULL *loc.
4296 2014-04-22  Lin Zuojian  <manjian2006@gmail.com>
4298         PR middle-end/60281
4299         * asan.c (asan_emit_stack_protection): Force the base to align to
4300         appropriate bits if STRICT_ALIGNMENT.  Set shadow_mem align to
4301         appropriate bits if STRICT_ALIGNMENT.
4302         * cfgexpand.c (expand_stack_vars): Set base_align appropriately
4303         when asan is on.
4304         (expand_used_vars): Leave a space in the stack frame for alignment
4305         if STRICT_ALIGNMENT.
4307 2014-04-22  Jakub Jelinek  <jakub@redhat.com>
4309         Backported from mainline
4310         2014-04-16  Jakub Jelinek  <jakub@redhat.com>
4312         PR tree-optimization/60844
4313         * tree-ssa-reassoc.c (reassoc_remove_stmt): New function.
4314         (propagate_op_to_single_use, remove_visited_stmt_chain,
4315         linearize_expr, repropagate_negates, reassociate_bb): Use it
4316         instead of gsi_remove.
4318 2014-04-22  Jakub Jelinek  <jakub@redhat.com>
4320         * BASE-VER: Set to 4.9.1.
4321         * DEV-PHASE: Set to prerelease.
4323 2014-04-22  Release Manager
4325         * GCC 4.9.0 released.
4327 2014-04-18  Richard Henderson  <rth@redhat.com>
4329         * config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
4330         to GET_MODE_SIZE, not a reg_class_t.
4332 2014-04-17  Jakub Jelinek  <jakub@redhat.com>
4334         PR target/60847
4335         Forward port from 4.8 branch
4336         2013-07-19  Kirill Yukhin  <kirill.yukhin@intel.com>
4338         * config/i386/bmiintrin.h (_blsi_u32): New.
4339         (_blsi_u64): Ditto.
4340         (_blsr_u32): Ditto.
4341         (_blsr_u64): Ditto.
4342         (_blsmsk_u32): Ditto.
4343         (_blsmsk_u64): Ditto.
4344         (_tzcnt_u32): Ditto.
4345         (_tzcnt_u64): Ditto.
4347 2014-04-15  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4349         PR target/60839
4350         Revert the following patch
4352         2014-04-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
4354         PR target/60735
4355         * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
4356         software floating point or no floating point registers, do not
4357         allow any type in the FPRs.  Eliminate a test for SPE SIMD types
4358         in GPRs that occurs after we tested for GPRs that would never be
4359         true.
4361         * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
4362         Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
4363         since the FMOVE64 type is DFmode/DDmode.  If TARGET_E500_DOUBLE,
4364         specifically allow DDmode, since that does not use the SPE SIMD
4365         instructions.
4367 2014-04-15  Jakub Jelinek  <jakub@redhat.com>
4369         PR plugins/59335
4370         * Makefile.in (PLUGIN_HEADERS): Add various headers that have been
4371         added in 4.9.
4373 2014-04-14  Yufeng Zhang  <yufeng.zhang@arm.com>
4375         * doc/invoke.texi (free): Document AArch64.
4377 2013-04-11  Jakub Jelinek  <jakub@redhat.com>
4379         * DEV-PHASE: Set to prerelease.
4381 2014-04-11  Tobias Burnus  <burnus@net-b.de>
4383         PR other/59055
4384         * doc/bugreport.texi (Bugs): Remove nodes pointing to the nirvana.
4385         * doc/gcc.texi (Service): Update description in the @menu
4386         * doc/invoke.texi (Option Summary): Remove misplaced and
4387         duplicated @menu.
4389 2014-04-11  Steve Ellcey  <sellcey@mips.com>
4390             Jakub Jelinek  <jakub@redhat.com>
4392         PR middle-end/60556
4393         * expr.c (convert_move): Use emit_store_flag_force instead of
4394         emit_store_flag.  Pass lowpart_mode instead of VOIDmode as 5th
4395         argument to it.
4397 2014-04-11  Richard Biener  <rguenther@suse.de>
4399         PR middle-end/60797
4400         * varasm.c (assemble_alias): Avoid endless error reporting
4401         recursion by setting TREE_ASM_WRITTEN.
4403 2014-04-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
4405         * config/s390/s390.md: Add a splitter for NOT rtx.
4407 2014-04-11  Jakub Jelinek  <jakub@redhat.com>
4409         PR rtl-optimization/60663
4410         * cse.c (cse_insn): Set src_volatile on ASM_OPERANDS in PARALLEL.
4412 2014-04-10  Jan Hubicka  <hubicka@ucw.cz>
4413             Jakub Jelinek  <jakub@redhat.com>
4415         PR lto/60567
4416         * ipa.c (function_and_variable_visibility): Copy forced_by_abi
4417         flag from decl_node to node.
4419 2014-04-10  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
4421         PR debug/60655
4422         * config/arm/arm.c (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Define
4423         (arm_const_not_ok_for_debug_p): Reject MINUS with SYM_REF's
4424         ameliorating the cases where it can be.
4426 2014-04-09  David Edelsohn  <dje.gcc@gmail.com>
4428         Revert
4429         2014-04-08  Pat Haugen  <pthaugen@us.ibm.com>
4431         * config/rs6000/sync.md (AINT mode_iterator): Move definition.
4432         (loadsync_<mode>): Change mode.
4433         (load_quadpti, store_quadpti): New.
4434         (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
4435         * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
4436         * config/rs6000/predicates.md (quad_memory_operand): !TARGET_SYNC_TI.
4438 2014-04-09  Cong Hou  <congh@google.com>
4440         PR testsuite/60773
4441         * doc/sourcebuild.texi (vect_widen_mult_si_to_di_pattern): Add
4442         documentation.
4444 2014-04-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4446         * config/rs6000/rs6000.c (rs6000_expand_vector_set): Use vnand
4447         instead of vnor to exploit possible fusion opportunity in the
4448         future.
4449         (altivec_expand_vec_perm_const_le): Likewise.
4451 2014-04-08  Pat Haugen  <pthaugen@us.ibm.com>
4453         * config/rs6000/sync.md (AINT mode_iterator): Move definition.
4454         (loadsync_<mode>): Change mode.
4455         (load_quadpti, store_quadpti): New.
4456         (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
4457         * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
4459 2014-04-08  Richard Sandiford  <rdsandiford@googlemail.com>
4461         PR target/60763
4462         * config/rs6000/vsx.md (vsx_xscvdpspn_scalar): Change input to DImode.
4463         * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Update accordingly.
4464         Use gen_rtx_REG rather than simplify_gen_subreg for op0_di.
4466 2014-04-08  Richard Biener  <rguenther@suse.de>
4468         PR middle-end/60706
4469         * tree-pretty-print.c (pp_double_int): For HWI32 hosts with
4470         a 64bit widest int print double-int similar to on HWI64 hosts.
4472 2014-04-08  Richard Biener  <rguenther@suse.de>
4474         PR tree-optimization/60785
4475         * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat
4476         default defs properly.
4478 2014-04-08  Nathan Sidwell  <nathan@codesourcery.com>
4480         * doc/invoke (Wnon-virtual-dtor): Update to match implementation.
4481         (Weffc++): Likewise.
4483 2014-04-07  Jan Hubicka  <hubcika@ucw.cz>
4485         * ipa-devirt.c (maybe_record_node): When node is not recorded,
4486         set completep to false rather than true.
4488 2014-04-07  Douglas B Rupp  <rupp@adacore.com>
4490         PR target/60504
4491         * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Expose from
4492         ARM_TARGET2_DWARF_FORMAT.
4494 2014-04-07  Charles Baylis  <charles.baylis@linaro.org>
4496         PR target/60609
4497         * config/arm/arm.h (ASM_OUTPUT_CASE_END): Remove.
4498         (LABEL_ALIGN_AFTER_BARRIER): Align barriers which occur after
4499         ADDR_DIFF_VEC.
4501 2014-04-07  Richard Biener  <rguenther@suse.de>
4503         PR tree-optimization/60766
4504         * tree-ssa-loop-ivopts.c (cand_value_at): Compute in an unsigned type.
4505         (may_eliminate_iv): Convert cand_value_at result to desired type.
4507 2014-04-07  Jason Merrill  <jason@redhat.com>
4509         PR c++/60731
4510         * common.opt (-fno-gnu-unique): Add.
4511         * config/elfos.h (USE_GNU_UNIQUE_OBJECT): Check it.
4513 2014-04-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4515         * haifa-sched.c: Fix outdated function reference and minor
4516         grammar errors in introductory comment.
4518 2014-04-07  Richard Biener  <rguenther@suse.de>
4520         PR middle-end/60750
4521         * tree-ssa-operands.c (maybe_add_call_vops): Also add VDEFs
4522         for noreturn calls.
4523         * tree-cfgcleanup.c (fixup_noreturn_call): Do not remove VDEFs.
4525 2014-04-06  John David Anglin  <danglin@gcc.gnu.org>
4527         PR debug/55794
4528         * config/pa/pa.c (pa_output_function_epilogue): Skip address and code
4529         size accounting for thunks.
4530         (pa_asm_output_mi_thunk): Use final_start_function() and
4531         final_end_function() to output function start and end directives.
4533 2014-04-05  Pitchumani Sivanupandi  <Pitchumani.S@atmel.com>
4535         * config/avr/avr-arch.h (avr_mcu_t): Add dev_attribute field to have
4536         device specific ISA/ feature information. Remove short_sp and
4537         errata_skip ds.  Add avr_device_specific_features enum to have device
4538         specific info.
4539         * config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check
4540         errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available.
4541         * config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for
4542         updated device specific info.
4543         * config/avr/avr-mcus.def: Merge device specific details to
4544         dev_attribute field.
4545         * config/avr/avr.c (avr_2word_insn_p): use dev_attribute field to check
4546         errata_skip.
4547         * config/avr/avr.h (AVR_HAVE_8BIT_SP): same for short sp info.
4548         * config/avr/driver-avr.c (avr_device_to_as): Pass -mrmw option to
4549         assembler if RMW isa supported by current device.
4550         * config/avr/genmultilib.awk: Update as device info structure changed.
4551         * doc/invoke.texi: Add info for __AVR_ISA_RMW__ builtin macro
4553 2014-04-04  Cong Hou  <congh@google.com>
4555         PR tree-optimization/60656
4556         * tree-vect-stmts.c (supportable_widening_operation):
4557         Fix a bug that elements in a vector with vect_used_by_reduction
4558         property are incorrectly reordered when the operation on it is not
4559         consistant with the one in reduction operation.
4561 2014-04-04  John David Anglin  <danglin@gcc.gnu.org>
4563         PR rtl-optimization/60155
4564         * gcse.c (record_set_data): New function.
4565         (single_set_gcse): New function.
4566         (gcse_emit_move_after): Use single_set_gcse instead of single_set.
4567         (hoist_code): Likewise.
4568         (get_pressure_class_and_nregs): Likewise.
4570 2014-04-04  Eric Botcazou  <ebotcazou@adacore.com>
4572         * explow.c (probe_stack_range): Emit a final optimization blockage.
4574 2014-04-04  Anthony Green  <green@moxielogic.com>
4576         * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2): Fix
4577         typos.
4579 2014-04-04  Jan Hubicka  <hubicka@ucw.cz>
4581         PR ipa/59626
4582         * lto-cgraph.c (input_overwrite_node): Check that partitioning
4583         flags are set only during streaming.
4584         * ipa.c (process_references, walk_polymorphic_call_targets,
4585         symtab_remove_unreachable_nodes): Drop bodies of always inline
4586         after early inlining.
4587         (symtab_remove_unreachable_nodes): Remove always_inline attribute.
4589 2014-04-04  Jakub Jelinek  <jakub@redhat.com>
4590         Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
4592         PR debug/60655
4593         * dwarf2out.c (const_ok_for_output_1): Reject expressions
4594         containing a NOT.
4596 2014-04-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4598         PR bootstrap/60743
4599         * config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation
4600         duration.
4601         (cortex_a53_fdivd): Likewise.
4603 2014-04-04  Martin Jambor  <mjambor@suse.cz>
4605         PR ipa/60640
4606         * cgraph.h (cgraph_clone_node): New parameter added to declaration.
4607         Adjust all callers.
4608         * cgraph.c (clone_of_p): Also return true if thunks match.
4609         (verify_edge_corresponds_to_fndecl): Removed extraneous call to
4610         cgraph_function_or_thunk_node and an obsolete comment.
4611         * cgraphclones.c (build_function_type_skip_args): Moved upwards in the
4612         file.
4613         (build_function_decl_skip_args): Likewise.
4614         (set_new_clone_decl_and_node_flags): New function.
4615         (duplicate_thunk_for_node): Likewise.
4616         (redirect_edge_duplicating_thunks): Likewise.
4617         (cgraph_clone_node): New parameter args_to_skip, pass it to
4618         redirect_edge_duplicating_thunks which is called instead of
4619         cgraph_redirect_edge_callee.
4620         (cgraph_create_virtual_clone): Pass args_to_skip to cgraph_clone_node,
4621         moved setting of a lot of flags to set_new_clone_decl_and_node_flags.
4623 2014-04-04  Jeff Law  <law@redhat.com>
4625         PR target/60657
4626         * config/arm/predicates.md (const_int_I_operand): New predicate.
4627         (const_int_M_operand): Similarly.
4628         * config/arm/arm.md (insv_zero): Use const_int_M_operand instead of
4629         const_int_operand.
4630         (insv_t2, extv_reg, extzv_t2): Likewise.
4631         (load_multiple_with_writeback): Similarly for const_int_I_operand.
4632         (pop_multiple_with_writeback_and_return): Likewise.
4633         (vfp_pop_multiple_with_writeback): Likewise
4635 2014-04-04  Richard Biener  <rguenther@suse.de>
4637         PR ipa/60746
4638         * tree-ssanames.c (make_ssa_name_fn): Fix assert.
4639         * gimple.c (gimple_set_bb): Avoid ICEing for NULL cfun for
4640         non-GIMPLE_LABELs.
4641         * gimplify.h (gimple_add_tmp_var_fn): Declare.
4642         * gimplify.c (gimple_add_tmp_var_fn): New function.
4643         * gimple-expr.h (create_tmp_reg_fn): Declare.
4644         * gimple-expr.c (create_tmp_reg_fn): New function.
4645         * gimple-low.c (record_vars_into): Don't change cfun.
4646         * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix
4647         code generation without cfun.
4649 2014-04-04  Thomas Schwinge  <thomas@codesourcery.com>
4651         PR bootstrap/60719
4652         * Makefile.in (install-driver): Fix shell scripting.
4654 2014-04-03  Cong Hou  <congh@google.com>
4656         PR tree-optimization/60505
4657         * tree-vectorizer.h (struct _stmt_vec_info): Add th field as the
4658         threshold of number of iterations below which no vectorization
4659         will be done.
4660         * tree-vect-loop.c (new_loop_vec_info):
4661         Initialize LOOP_VINFO_COST_MODEL_THRESHOLD.
4662         * tree-vect-loop.c (vect_analyze_loop_operations):
4663         Set LOOP_VINFO_COST_MODEL_THRESHOLD.
4664         * tree-vect-loop.c (vect_transform_loop):
4665         Use LOOP_VINFO_COST_MODEL_THRESHOLD.
4666         * tree-vect-loop.c (vect_analyze_loop_2): Check the maximum number
4667         of iterations of the loop and see if we should build the epilogue.
4669 2014-04-03  Richard Biener  <rguenther@suse.de>
4671         * tree-streamer.h (struct streamer_tree_cache_d): Add next_idx member.
4672         (streamer_tree_cache_create): Adjust.
4673         * tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust
4674         to allow optional nodes array.
4675         (streamer_tree_cache_insert_1): Use next_idx to assign idx.
4676         (streamer_tree_cache_append): Likewise.
4677         (streamer_tree_cache_create): Create nodes array optionally
4678         as specified by parameter.
4679         * lto-streamer-out.c (create_output_block): Avoid maintaining
4680         the node array in the writer cache.
4681         (DFS_write_tree): Remove assertion.
4682         (produce_asm_for_decls): Free the out decl state hash table early.
4683         * lto-streamer-in.c (lto_data_in_create): Adjust for
4684         streamer_tree_cache_create prototype change.
4686 2014-04-03  Richard Biener  <rguenther@suse.de>
4688         * tree-streamer-out.c (streamer_write_chain): Do not temporarily
4689         set TREE_CHAIN to NULL_TREE.
4691 2014-04-03  Richard Biener  <rguenther@suse.de>
4693         PR tree-optimization/60740
4694         * graphite-scop-detection.c (stmt_simple_for_scop_p): Iterate
4695         over all GIMPLE_COND operands.
4697 2014-04-03  Nathan Sidwell  <nathan@codesourcery.com>
4699         * doc/invoke.texi (Wnon-virtual-dtor): Adjust documentation.
4700         (Weffc++): Remove Scott's numbering, merge lists and reference
4701         Wnon-virtual-dtor.
4703 2014-04-03  Nick Clifton  <nickc@redhat.com>
4705         * config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF))
4706         properly.
4708 2014-04-03  Martin Jambor  <mjambor@suse.cz>
4710         * ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and
4711         mention gcc_unreachable before failing.
4712         * ipa.c (symtab_remove_unreachable_nodes): Also print order of
4713         removed symbols.
4715 2014-04-02  Jan Hubicka  <hubicka@ucw.cz>
4717         PR ipa/60659
4718         * ipa-devirt.c (get_polymorphic_call_info): Do not ICE on type
4719         inconsistent code and instead mark the context inconsistent.
4720         (possible_polymorphic_call_targets): For inconsistent contexts
4721         return empty complete list.
4723 2014-04-02  Anthony Green  <green@moxielogic.com>
4725         * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2)
4726         (extendqisi2, extendhisi2): Define.
4727         * config/moxie/moxie.h (DEFAULT_SIGNED_CHAR): Change to 0.
4728         (WCHAR_TYPE): Change to unsigned int.
4730 2014-04-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4732         PR tree-optimization/60733
4733         * gimple-ssa-strength-reduction.c (ncd_with_phi): Change required
4734         insertion point for PHI candidates to be the end of the feeding
4735         block for the PHI argument.
4737 2014-04-02  Vladimir Makarov  <vmakarov@redhat.com>
4739         PR rtl-optimization/60650
4740         * lra-constraints.c (process_alt_operands): Decrease reject for
4741         earlyclobber matching.
4743 2014-04-02  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
4745         * config/s390/s390.c (s390_expand_insv): Use GET_MODE_BITSIZE.
4747 2014-04-02  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4749         * config/spu/spu.c (pad_bb): Do not crash when the last
4750         insn is CODE_FOR_blockage.
4752 2014-04-02  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4754         * config/spu/spu.md ("insv"): Fail if bitoffset+bitsize
4755         lies outside the target mode.
4757 2014-04-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
4759         PR target/60735
4760         * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
4761         software floating point or no floating point registers, do not
4762         allow any type in the FPRs.  Eliminate a test for SPE SIMD types
4763         in GPRs that occurs after we tested for GPRs that would never be
4764         true.
4766         * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
4767         Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
4768         since the FMOVE64 type is DFmode/DDmode.  If TARGET_E500_DOUBLE,
4769         specifically allow DDmode, since that does not use the SPE SIMD
4770         instructions.
4772 2014-04-02  Richard Biener  <rguenther@suse.de>
4774         PR middle-end/60729
4775         * optabs.c (expand_abs_nojump): Honor flag_trapv only for
4776         MODE_INTs.  Properly use negv_optab.
4777         (expand_abs): Likewise.
4779 2014-04-02  Richard Biener  <rguenther@suse.de>
4781         PR bootstrap/60719
4782         * Makefile.in (install-driver): Guard extra installs with special
4783         names properly.
4785 2014-04-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
4787         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
4788         Document vec_vgbbd.
4790 2014-04-01  Richard Henderson  <rth@redhat.com>
4792         PR target/60704
4793         * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Leave the second
4794         alternative enabled before register allocation.
4796 2014-04-01  Chung-Lin Tang  <cltang@codesourcery.com>
4798         * config/nios2/nios2.md (unspec): Remove UNSPEC_TLS, UNSPEC_TLS_LDM.
4799         * config/nios2/nios2.c (nios2_function_profiler): Fix addi operand
4800         typo.
4801         (nios2_large_got_address): Remove unneeded 'sym' parameter.
4802         (nios2_got_address): Update nios2_large_got_address call site.
4803         (nios2_delegitimize_address): New function.
4804         (TARGET_DELEGITIMIZE_ADDRESS): Define to nios2_delegitimize_address.
4805         * config/nios2/linux.h (GLIBC_DYNAMIC_LINKER): Define.
4806         (LINK_SPEC): Specify dynamic linker using GNU_USER_DYNAMIC_LINKER.
4808 2014-04-01  Martin Husemann  <martin@duskware.de>
4810         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define __mips_o32
4811         for -mabi=32.
4813 2014-04-01  Richard Sandiford  <rdsandiford@googlemail.com>
4815         PR rtl-optimization/60604
4816         * recog.c (general_operand): Incorporate REG_CANNOT_CHANGE_MODE_P
4817         check from register_operand.
4818         (register_operand): Redefine in terms of general_operand.
4819         (nonmemory_operand): Use register_operand for the non-constant cases.
4821 2014-04-01  Richard Biener  <rguenther@suse.de>
4823         * gimple.h (struct gimple_statement_base): Align subcode to 16 bits.
4825 2014-04-01  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4827         * doc/invoke.texi (mapp-regs): Clarify.
4829 2014-03-31  Ulrich Drepper  <drepper@gmail.com>
4831         * config/i386/avx512fintrin.h (__v32hi): Define type.
4832         (__v64qi): Likewise.
4833         (_mm512_set1_epi8): Define.
4834         (_mm512_set1_epi16): Define.
4835         (_mm512_set4_epi32): Define.
4836         (_mm512_set4_epi64): Define.
4837         (_mm512_set4_pd): Define.
4838         (_mm512_set4_ps): Define.
4839         (_mm512_setr4_epi64): Define.
4840         (_mm512_setr4_epi32): Define.
4841         (_mm512_setr4_pd): Define.
4842         (_mm512_setr4_ps): Define.
4843         (_mm512_setzero_epi32): Define.
4845 2014-03-31  Martin Jambor  <mjambor@suse.cz>
4847         PR middle-end/60647
4848         * tree-sra.c (callsite_has_enough_arguments_p): Renamed to
4849         callsite_arguments_match_p.  Updated all callers.  Also check types of
4850         corresponding formal parameters and actual arguments.
4851         (not_all_callers_have_enough_arguments_p) Renamed to
4852         some_callers_have_mismatched_arguments_p.
4854 2014-03-31  Yuri Rumyantsev  <ysrumyan@gmail.com>
4856         * tree-inline.c (copy_loops): Add missed copy of 'safelen'.
4858 2014-03-31  Kugan Vivekanandarajah  <kuganv@linaro.org>
4860         PR target/60034
4861         * aarch64/aarch64.c (aarch64_classify_address): Fix alignment for
4862         section anchor.
4864 2014-03-30  Uros Bizjak  <ubizjak@gmail.com>
4866         * config/i386/sse.md (FMAMODE_NOVF512): New mode iterator.
4867         (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>):
4868         Split out
4869         <sd_mask_codefor>fma_fmadd_<VF_512:mode><sd_maskz_name><round_name>.
4870         Use FMAMODE_NOVF512 mode iterator.
4871         (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>): Ditto.
4872         (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>): Ditto.
4873         (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>): Ditto.
4874         (<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>):
4875         Split out
4876         <sd_mask_codefor>fma_fmaddsub_<VF_512:mode><sd_maskz_name><round_name>.
4877         Use VF_128_256 mode iterator.
4878         (<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>):
4879         Ditto.
4881 2014-03-28  Jan Hubicka  <hubicka@ucw.cz>
4883         * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Clear
4884         static chain if needed.
4886 2014-03-28  Vladimir Makarov  <vmakarov@redhat.com>
4888         PR target/60697
4889         * lra-constraints.c (index_part_to_reg): New.
4890         (process_address): Use it.
4892 2014-03-27  Jeff Law  <law@redhat.com>
4893             Jakub Jelinek  <jakub@redhat.com>
4895         PR target/60648
4896         * expr.c (do_tablejump): Use simplify_gen_binary rather than
4897         gen_rtx_{PLUS,MULT} to build up the address expression.
4899         * i386/i386.c (ix86_legitimize_address): Use copy_addr_to_reg to avoid
4900         creating non-canonical RTL.
4902 2014-03-28  Jan Hubicka  <hubicka@ucw.cz>
4904         PR ipa/60243
4905         * ipa-inline.c (want_inline_small_function_p): Short circuit large
4906         functions; reorganize to make cheap checks first.
4907         (inline_small_functions): Do not estimate growth when dumping;
4908         it is expensive.
4909         * ipa-inline.h (inline_summary): Add min_size.
4910         (growth_likely_positive): New function.
4911         * ipa-inline-analysis.c (dump_inline_summary): Add min_size.
4912         (set_cond_stmt_execution_predicate): Cleanup.
4913         (estimate_edge_size_and_time): Compute min_size.
4914         (estimate_calls_size_and_time): Likewise.
4915         (estimate_node_size_and_time): Likewise.
4916         (inline_update_overall_summary): Update min_size.
4917         (do_estimate_edge_time): Likewise.
4918         (do_estimate_edge_size): Update.
4919         (do_estimate_edge_hints): Update.
4920         (growth_likely_positive): New function.
4922 2014-03-28  Jakub Jelinek  <jakub@redhat.com>
4924         PR target/60693
4925         * config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg
4926         also if addr has VOIDmode.
4928 2014-03-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4930         * config/arm/aarch-common.c (aarch_crypto_can_dual_issue): New.
4931         * config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue):
4932         Declare extern.
4933         * config/arm/cortex-a53.md: Add reservations and bypass for crypto
4934         instructions as well as AdvancedSIMD loads.
4936 2014-03-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4938         * config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi):
4939         Use crypto_aese type.
4940         (aarch64_crypto_aes<aesmc_op>v16qi): Use crypto_aesmc type.
4941         * config/arm/arm.md (is_neon_type): Replace crypto_aes with
4942         crypto_aese, crypto_aesmc.  Move to types.md.
4943         * config/arm/types.md (crypto_aes): Split into crypto_aese,
4944         crypto_aesmc.
4945         * config/arm/iterators.md (crypto_type): Likewise.
4947 2014-03-28  Jan Hubicka  <hubicka@ucw.cz>
4949         * cgraph.c: Include expr.h and tree-dfa.h.
4950         (cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn;
4951         remove LHS.
4953 2014-03-28  Vladimir Makarov  <vmakarov@redhat.com>
4955         PR target/60675
4956         * lra-assigns.c (find_hard_regno_for): Remove unavailable hard
4957         regs from checking multi-reg pseudos.
4959 2014-03-28  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
4961         * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.
4963 2014-03-28  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4965         * config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization
4966         if it would clobber the stack pointer, even temporarily.
4968 2014-03-28  Eric Botcazou  <ebotcazou@adacore.com>
4970         * mode-switching.c: Make small adjustments to the top comment.
4972 2014-03-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
4974         * config/rs6000/constraints.md (wD constraint): New constraint to
4975         match the constant integer to get the top DImode/DFmode out of a
4976         vector in a VSX register.
4978         * config/rs6000/predicates.md (vsx_scalar_64bit): New predicate to
4979         match the constant integer to get the top DImode/DFmode out of a
4980         vector in a VSX register.
4982         * config/rs6000/rs6000-builtins.def (VBPERMQ): Add vbpermq builtin
4983         for ISA 2.07.
4985         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
4986         vbpermq builtins.
4988         * config/rs6000/rs6000.c (rs6000_debug_reg_global): If
4989         -mdebug=reg, print value of VECTOR_ELEMENT_SCALAR_64BIT.
4991         * config/rs6000/vsx.md (vsx_extract_<mode>, V2DI/V2DF modes):
4992         Optimize vec_extract of 64-bit values, where the value being
4993         extracted is in the top word, where we can use scalar
4994         instructions.  Add direct move and store support.  Combine the big
4995         endian/little endian vector select load support into a single insn.
4996         (vsx_extract_<mode>_internal1): Likewise.
4997         (vsx_extract_<mode>_internal2): Likewise.
4998         (vsx_extract_<mode>_load): Likewise.
4999         (vsx_extract_<mode>_store): Likewise.
5000         (vsx_extract_<mode>_zero): Delete, big and little endian insns are
5001         combined into vsx_extract_<mode>_load.
5002         (vsx_extract_<mode>_one_le): Likewise.
5004         * config/rs6000/rs6000.h (VECTOR_ELEMENT_SCALAR_64BIT): Macro to
5005         define the top 64-bit vector element.
5007         * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wD
5008         constraint.
5010         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
5011         Document vec_vbpermq builtin.
5013         PR target/60672
5014         * config/rs6000/altivec.h (vec_xxsldwi): Add missing define to
5015         enable use of xxsldwi and xxpermdi builtin functions.
5016         (vec_xxpermdi): Likewise.
5018         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
5019         Document use of vec_xxsldwi and vec_xxpermdi builtins.
5021 2014-03-27  Vladimir Makarov  <vmakarov@redhat.com>
5023         PR rtl-optimization/60650
5024         * lra-assign.c (find_hard_regno_for, spill_for): Add parameter
5025         first_p.  Use it.
5026         (find_spills_for): New.
5027         (assign_by_spills): Pass the new parameter to find_hard_regno_for.
5028         Spill all pseudos on the second iteration.
5030 2014-03-27  Marek Polacek  <polacek@redhat.com>
5032         PR c/50347
5033         * doc/extend.texi (ffs Builtins): Change unsigned types to signed
5034         types.
5036 2014-03-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5038         * config/s390/s390.c (s390_can_use_return_insn): Check for
5039         call-saved FPRs on 31 bit.
5041 2014-03-27  Jakub Jelinek  <jakub@redhat.com>
5043         PR middle-end/60682
5044         * omp-low.c (lower_omp_1): For gimple_clobber_p stmts,
5045         if they need regimplification, just drop them instead of
5046         calling gimple_regimplify_operands on them.
5048 2014-03-27  Marcus Shawcroft  <marcus.shawcroft@arm.com>
5050         PR target/60580
5051         * config/aarch64/aarch64.c (faked_omit_frame_pointer): Remove.
5052         (aarch64_frame_pointer_required): Adjust logic.
5053         (aarch64_can_eliminate): Adjust logic.
5054         (aarch64_override_options_after_change): Adjust logic.
5056 2014-03-27  Dehao Chen  <dehao@google.com>
5058         * ipa-inline.c (early_inliner): Update node's inline info.
5060 2014-03-26  Dehao Chen  <dehao@google.com>
5062         * dojump.c (do_compare_rtx_and_jump): Sets correct probability for
5063         compiler inserted conditional jumps for NAN float check.
5065 2014-03-26  Jakub Jelinek  <jakub@redhat.com>
5067         * ubsan.h (ubsan_create_data): Change second argument's type
5068         to const location_t *.
5069         * ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to
5070         _("<unknown>").
5071         (ubsan_create_data): Change second argument to const location_t *PLOC.
5072         Create Loc field whenever PLOC is non-NULL.
5073         (ubsan_instrument_unreachable, ubsan_expand_null_ifn,
5074         ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust
5075         callers.
5077         PR other/59545
5078         * real.c (real_to_integer2): Change type of low to UHWI.
5080 2014-03-26  Tobias Burnus  <burnus@net-b.de>
5082         * gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
5083         (CILK_SELF_SPECS): New define.
5084         (driver_self_specs): Use it.
5086 2014-03-26  Richard Biener  <rguenther@suse.de>
5088         * tree-pretty-print.c (percent_K_format): Implement special
5089         case for LTO and its stripped down BLOCK tree.
5091 2014-03-26  Jakub Jelinek  <jakub@redhat.com>
5093         PR sanitizer/60636
5094         * ubsan.c (instrument_si_overflow): Instrument ABS_EXPR.
5096         * tree-vrp.c (simplify_internal_call_using_ranges): If only
5097         one range is range_int_cst_p, but not both, at least optimize
5098         addition/subtraction of 0 and multiplication by 0 or 1.
5099         * gimple-fold.c (gimple_fold_call): Fold
5100         IFN_UBSAN_CHECK_{ADD,SUB,MUL}.
5101         (gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't
5102         INTEGER_CSTs, try to fold at least x * 0 and y - y.
5104 2014-03-26  Eric Botcazou  <ebotcazou@adacore.com>
5106         PR rtl-optimization/60452
5107         * rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment.
5108         <case REG>: Return 1 for invalid offsets from the frame pointer.
5110 2014-03-26  Marek Polacek  <polacek@redhat.com>
5112         PR c/37428
5113         * doc/extend.texi (C Extensions): Mention variable-length arrays in
5114         a structure/union.
5116 2014-03-26  Marek Polacek  <polacek@redhat.com>
5118         PR c/39525
5119         * doc/extend.texi (Designated Inits): Describe what happens to omitted
5120         field members.
5122 2014-03-26  Marek Polacek  <polacek@redhat.com>
5124         PR other/59545
5125         * ira-color.c (update_conflict_hard_regno_costs): Perform the
5126         multiplication in unsigned type.
5128 2014-03-26  Chung-Ju Wu  <jasonwucj@gmail.com>
5130         * doc/install.texi: Document nds32le-*-elf and nds32be-*-elf.
5132 2014-03-26  Chung-Ju Wu  <jasonwucj@gmail.com>
5134         * doc/contrib.texi: Add myself as Andes nds32 port contributor.
5136 2014-03-25  Jan Hubicka  <hubicka@ucw.cz>
5138         PR ipa/60315
5139         * cif-code.def (UNREACHABLE) New code.
5140         * ipa-inline.c (inline_small_functions): Skip edges to
5141         __builtlin_unreachable.
5142         (estimate_edge_growth): Allow edges to __builtlin_unreachable.
5143         * ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false
5144         predicate to __bulitin_unreachable.
5145         (set_cond_stmt_execution_predicate): Fix issue when
5146         invert_tree_comparison returns ERROR_MARK.
5147         * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not
5148         propagate to inline clones.
5149         * cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection
5150         to unreachable.
5151         * ipa-cp.c (create_specialized_node): Be ready for new node to appear.
5152         * cgraphclones.c (cgraph_clone_node): If call destination is already
5153         ureachable, do not redirect it back.
5154         * tree-inline.c (fold_marked_statements): Hanlde calls becoming
5155         unreachable.
5157 2014-03-25  Jan Hubicka  <hubicka@ucw.cz>
5159         * ipa-pure-const.c (propagate_pure_const, propagate_nothrow):
5160         Do not modify inline clones.
5162 2014-03-25  Jakub Jelinek  <jakub@redhat.com>
5164         * config/i386/i386.md (general_sext_operand): New mode attr.
5165         (addv<mode>4, subv<mode>4, mulv<mode>4): If operands[2] is CONST_INT,
5166         don't generate (sign_extend (const_int)).
5167         (*addv<mode>4, *subv<mode>4, *mulv<mode>4): Disallow CONST_INT_P
5168         operands[2].  Use We constraint instead of <i> and
5169         <general_sext_operand> predicate instead of <general_operand>.
5170         (*addv<mode>4_1, *subv<mode>4_1, *mulv<mode>4_1): New insns.
5171         * config/i386/constraints.md (We): New constraint.
5172         * config/i386/predicates.md (x86_64_sext_operand,
5173         sext_operand): New predicates.
5175 2014-03-25  Martin Jambor  <mjambor@suse.cz>
5177         PR ipa/60600
5178         * ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type
5179         inconsistent devirtualizations to __builtin_unreachable.
5181 2014-03-25  Marek Polacek  <polacek@redhat.com>
5183         PR c/35449
5184         * doc/extend.texi (Example of asm with clobbered asm reg): Fix typo.
5186 2014-03-25  Alan Lawrence  <alan.lawrence@arm.com>
5188         * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse
5189         order of elements for big-endian.
5191 2014-03-25  Richard Biener  <rguenther@suse.de>
5193         PR middle-end/60635
5194         * gimplify-me.c (gimple_regimplify_operands): Update the
5195         re-gimplifed stmt.
5197 2014-03-25  Martin Jambor  <mjambor@suse.cz>
5199         PR ipa/59176
5200         * lto-cgraph.c (lto_output_node): Stream body_removed flag.
5201         (lto_output_varpool_node): Likewise.
5202         (input_overwrite_node): Likewise.
5203         (input_varpool_node): Likewise.
5205 2014-03-25  Richard Biener  <rguenther@suse.de>
5207         * lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like OPT_fpie.
5208         (run_gcc): Likewise.
5210 2014-03-25  Jakub Jelinek  <jakub@redhat.com>
5212         * combine.c (simplify_compare_const): Add MODE argument.
5213         Handle mode_width 0 as very large mode_width.
5214         (try_combine, simplify_comparison): Adjust callers.
5216         * cselib.c (cselib_hash_rtx): Perform addition in unsigned
5217         type to avoid signed integer overflow.
5218         * explow.c (plus_constant): Likewise.
5220 2014-03-25  Dominik Vogt  <vogt@linux.vnet.ibm.com>
5222         * doc/generic.texi: Correct typos.
5224 2014-03-24  Tobias Burnus  <burnus@net-b.de>
5226         * doc/invoke.texi (-flto): Expand section about
5227         using static libraries with LTO.
5229 2014-03-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5231         PR rtl-optimization/60501
5232         * optabs.def (addptr3_optab): New optab.
5233         * optabs.c (gen_addptr3_insn, have_addptr3_insn): New function.
5234         * doc/md.texi ("addptrm3"): Document new RTL standard expander.
5235         * expr.h (gen_addptr3_insn, have_addptr3_insn): Add prototypes.
5237         * lra.c (emit_add3_insn): Use the addptr pattern if available.
5239         * config/s390/s390.md ("addptrdi3", "addptrsi3"): New expanders.
5241 2014-03-24  Ulrich Drepper  <drepper@gmail.com>
5243         * config/i386/avx512fintrin.h: Define _mm512_set1_ps and
5244         _mm512_set1_pd.
5246         * config/i386/avxintrin.h (_mm256_undefined_si256): Define.
5247         (_mm256_undefined_ps): Define.
5248         (_mm256_undefined_pd): Define.
5249         * config/i386/emmintrin.h (_mm_undefined_si128): Define.
5250         (_mm_undefined_pd): Define.
5251         * config/i386/xmmintrin.h (_mm_undefined_ps): Define.
5252         * config/i386/avx512fintrin.h (_mm512_undefined_si512): Define.
5253         (_mm512_undefined_ps): Define.
5254         (_mm512_undefined_pd): Define.
5255         Use _mm*_undefined_*.
5256         * config/i386/avx2intrin.h: Use _mm*_undefined_*.
5258 2014-03-24  Alex Velenko  <Alex.Velenko@arm.com>
5260         * config/aarch64/aarch64-simd-builtins.def (lshr): DI mode excluded.
5261         (lshr_simd): DI mode added.
5262         * config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): New pattern.
5263         (aarch64_ushr_simddi): Likewise.
5264         * config/aarch64/aarch64.md (UNSPEC_USHR64): New unspec.
5265         * config/aarch64/arm_neon.h (vshr_n_u64): Intrinsic fixed.
5266         (vshrd_n_u64): Likewise.
5268 2014-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5270         * Makefile.in (s-macro_list): Depend on cc1.
5272 2014-03-23  Teresa Johnson  <tejohnson@google.com>
5274         * ipa-utils.c (ipa_print_order): Use specified dump file.
5276 2014-03-23  Eric Botcazou  <ebotcazou@adacore.com>
5278         PR rtl-optimization/60601
5279         * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
5281         * gcc.c (eval_spec_function): Initialize save_growing_value.
5283 2014-03-22  Jakub Jelinek  <jakub@redhat.com>
5285         PR sanitizer/60613
5286         * internal-fn.c (ubsan_expand_si_overflow_addsub_check): For
5287         code == MINUS_EXPR, never swap op0 with op1.
5289         * toplev.c (init_local_tick): Avoid signed integer multiplication
5290         overflow.
5291         * genautomata.c (reserv_sets_hash_value): Fix rotate idiom, avoid
5292         shift by first operand's bitsize.
5294 2014-03-21  Jakub Jelinek  <jakub@redhat.com>
5296         PR target/60610
5297         * config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH,
5298         redefine to 1 or 0.
5299         * config/i386/darwin.h (TARGET_64BIT_P): Redefine to
5300         TARGET_ISA_64BIT_P(x).
5302 2014-03-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5304         * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a
5305         pattern for vector nor instead of subtract from splat(-1).
5306         (altivec_expand_vec_perm_const_le): Likewise.
5308 2014-03-21  Richard Henderson  <rth@twiddle.net>
5310         PR target/60598
5311         * ifcvt.c (dead_or_predicable): Return FALSE if there are any frame
5312         related insns after epilogue_completed.
5314 2014-03-21  Martin Jambor  <mjambor@suse.cz>
5316         PR ipa/59176
5317         * cgraph.h (symtab_node): New flag body_removed.
5318         * ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag
5319         when removing bodies.
5320         * symtab.c (dump_symtab_base): Dump body_removed flag.
5321         * cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which
5322         had their bodies removed.
5324 2014-03-21  Martin Jambor  <mjambor@suse.cz>
5326         PR ipa/60419
5327         * ipa.c (symtab_remove_unreachable_nodes): Clear thunk flag of nodes
5328         in the border.
5330 2014-03-21  Richard Biener  <rguenther@suse.de>
5332         PR tree-optimization/60577
5333         * tree-core.h (struct tree_base): Document nothrow_flag use
5334         in DECL_NONALIASED.
5335         * tree.h (DECL_NONALIASED): New.
5336         (may_be_aliased): Adjust.
5337         * coverage.c (build_var): Set DECL_NONALIASED.
5339 2014-03-20  Eric Botcazou  <ebotcazou@adacore.com>
5341         * expr.c (expand_expr_real_1): Remove outdated comment.
5343 2014-03-20  Jakub Jelinek  <jakub@redhat.com>
5345         PR middle-end/60597
5346         * ira.c (adjust_cleared_regs): Call copy_rtx on
5347         *reg_equiv[REGNO (loc)].src_p before passing it to
5348         simplify_replace_fn_rtx.
5350         PR target/60568
5351         * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
5352         into CONST, put pic register as first operand of PLUS.  Use
5353         gen_const_mem for both 32-bit and 64-bit PIC got loads.
5355 2014-03-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
5357         * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete.
5359 2014-03-20  Eric Botcazou  <ebotcazou@adacore.com>
5361         * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
5362         around for store forwarding issue in the FPU on the UT699.
5363         * config/sparc/sparc.md (in_branch_delay): Return false for single FP
5364         loads and operations if -mfix-ut699 is specified.
5365         (divtf3_hq): Tweak attribute.
5366         (sqrttf2_hq): Likewise.
5368 2014-03-20  Eric Botcazou  <ebotcazou@adacore.com>
5370         * calls.c (store_one_arg): Remove incorrect const qualification on the
5371         type of the temporary.
5372         * cfgexpand.c (expand_return): Likewise.
5373         * expr.c (expand_constructor): Likewise.
5374         (expand_expr_real_1): Likewise.
5376 2014-03-20  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
5378         * config/arm/arm.c (arm_dwarf_register_span): Update the element number
5379         of parts.
5381 2014-03-19  Kaz Kojima  <kkojima@gcc.gnu.org>
5383         PR target/60039
5384         * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
5386 2014-03-19  James Greenhalgh  <james.greenhalgh@arm.com>
5388         * config/arm/aarch-common-protos.h
5389         (alu_cost_table): Fix spelling of "extend".
5390         * config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend".
5392 2014-03-19  Richard Biener  <rguenther@suse.de>
5394         PR middle-end/60553
5395         * tree-core.h (tree_type_common): Re-order pointer members
5396         to reduce recursion depth during GC walks.
5398 2014-03-19  Marek Polacek  <polacek@redhat.com>
5400         PR sanitizer/60569
5401         * ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull
5402         before accessing it.
5404 2014-03-19  Richard Biener  <rguenther@suse.de>
5406         PR lto/59543
5407         * lto-streamer-in.c (input_function): In WPA stage do not drop
5408         debug stmts.
5410 2014-03-19  Jakub Jelinek  <jakub@redhat.com>
5412         PR tree-optimization/60559
5413         * vectorizable_mask_load_store): Replace scalar MASK_LOAD
5414         with build_zero_cst assignment.
5416 2014-03-18  Kai Tietz  <ktietz@redhat.com>
5418         PR rtl-optimization/56356
5419         * sdbout.c (sdbout_parms): Verify that parms'
5420         incoming argument is valid.
5421         (sdbout_reg_parms): Likewise.
5423 2014-03-18  Richard Henderson  <rth@redhat.com>
5425         PR target/60562
5426         * config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to
5427         be shadowed by *float<SWI48><MODEF>2_sse.  Test X87_ENABLE_FLOAT.
5428         (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0.
5430 2014-03-18  Basile Starynkevitch  <basile@starynkevitch.net>
5432         * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
5433         * doc/plugins.texi (Plugin callbacks): Mention PLUGIN_INCLUDE_FILE.
5434         Italicize plugin event names in description.  Explain that
5435         PLUGIN_PRAGMAS has no sense for lto1.  Explain PLUGIN_INCLUDE_FILE.
5436         Remind that no GCC functions should be called after PLUGIN_FINISH.
5437         Explain what pragmas with expansion are.
5439 2014-03-18  Martin Liska  <mliska@suse.cz>
5441         * cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when
5442         gimple call statement is update.
5443         * gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and
5444         GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL.
5446 2014-03-18  Jakub Jelinek  <jakub@redhat.com>
5448         PR sanitizer/60557
5449         * ubsan.c (ubsan_instrument_unreachable): Call
5450         initialize_sanitizer_builtins.
5451         (ubsan_pass): Likewise.
5453         PR sanitizer/60535
5454         * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
5455         varpool_finalize_decl instead of rest_of_decl_compilation.
5457 2014-03-18  Richard Biener  <rguenther@suse.de>
5459         * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
5460         by using bitmap_and_compl instead of bitmap_and_compl_into.
5461         (df_rd_transfer_function): Likewise.
5463 2014-03-18  Richard Biener  <rguenther@suse.de>
5465         * doc/lto.texi (fresolution): Fix typo.
5467 2014-03-18  Richard Biener  <rguenther@suse.de>
5469         * doc/invoke.texi (flto): Update for changes in 4.9.
5471 2014-03-18  Richard Biener  <rguenther@suse.de>
5473         * doc/loop.texi: Remove section on the removed lambda framework.
5474         Update loop docs with recent changes in preserving loop structure.
5476 2014-03-18  Richard Biener  <rguenther@suse.de>
5478         * doc/lto.texi (-fresolution): Document.
5480 2014-03-18  Richard Biener  <rguenther@suse.de>
5482         * doc/contrib.texi: Adjust my name.
5484 2014-03-18  Jakub Jelinek  <jakub@redhat.com>
5486         PR ipa/58721
5487         * internal-fn.c: Include diagnostic-core.h.
5488         (expand_BUILTIN_EXPECT): New function.
5489         * gimplify.c (gimplify_call_expr): Use false instead of FALSE.
5490         (gimplify_modify_expr): Gimplify 3 argument __builtin_expect into
5491         IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call.
5492         * ipa-inline-analysis.c (find_foldable_builtin_expect): Handle
5493         IFN_BUILTIN_EXPECT.
5494         * predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT.
5495         Revert 3 argument __builtin_expect code.
5496         (strip_predict_hints): Handle IFN_BUILTIN_EXPECT.
5497         * gimple-fold.c (gimple_fold_call): Likewise.
5498         * tree.h (fold_builtin_expect): New prototype.
5499         * builtins.c (build_builtin_expect_predicate): Add predictor
5500         argument, if non-NULL, create 3 argument __builtin_expect.
5501         (fold_builtin_expect): No longer static.  Add ARG2 argument,
5502         pass it through to build_builtin_expect_predicate.
5503         (fold_builtin_2): Adjust caller.
5504         (fold_builtin_3): Handle BUILT_IN_EXPECT.
5505         * internal-fn.def (BUILTIN_EXPECT): New.
5507 2014-03-18  Tobias Burnus  <burnus@net-b.de>
5509         PR ipa/58721
5510         * predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC,
5511         PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO,
5512         PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add.
5514 2014-03-18  Jan Hubicka  <hubicka@ucw.cz>
5516         PR ipa/58721
5517         * predict.c (combine_predictions_for_bb): Fix up formatting.
5518         (expr_expected_value_1, expr_expected_value): Add predictor argument,
5519         fill what it points to if non-NULL.
5520         (tree_predict_by_opcode): Adjust caller, use the predictor.
5521         * predict.def (PRED_COMPARE_AND_SWAP): Add.
5523 2014-03-18  Eric Botcazou  <ebotcazou@adacore.com>
5525         * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
5526         proper constant for the store mode.
5528 2014-03-18  Ilya Enkovich  <ilya.enkovich@intel.com>
5530         * symtab.c (change_decl_assembler_name): Fix transparent alias
5531         chain construction.
5533 2014-03-16  Renlin Li  <Renlin.Li@arm.com>
5535         * config/aarch64/aarch64.c: Correct the comments about the
5536         aarch64 stack layout.
5538 2014-03-18  Thomas Schwinge  <thomas@codesourcery.com>
5540         * omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore
5541         check for GF_OMP_FOR_KIND_FOR.
5543 2013-03-18  Kirill Yukhin  <kirill.yukhin@intel.com>
5545         * config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
5546         ymm and zmm register names.
5548 2014-03-17  Jakub Jelinek  <jakub@redhat.com>
5550         PR target/60516
5551         * config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
5552         note creation for the 2010-08-31 changes.
5554 2014-03-17  Marek Polacek  <polacek@redhat.com>
5556         PR middle-end/60534
5557         * omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same
5558         as -fno-tree-loop-vectorize.
5559         (expand_omp_simd): Likewise.
5561 2014-03-15  Eric Botcazou  <ebotcazou@adacore.com>
5563         * config/sparc/sparc-protos.h (tls_call_delay): Delete.
5564         (eligible_for_call_delay): New prototype.
5565         * config/sparc/sparc.c (tls_call_delay): Rename into...
5566         (eligible_for_call_delay): ...this.  Return false if the instruction
5567         cannot be put in the delay slot of a branch.
5568         (eligible_for_restore_insn): Simplify.
5569         (eligible_for_return_delay): Return false if the instruction cannot be
5570         put in the delay slot of a branch and simplify.
5571         (eligible_for_sibcall_delay): Return false if the instruction cannot be
5572         put in the delay slot of a branch.
5573         * config/sparc/sparc.md (fix_ut699): New attribute.
5574         (tls_call_delay): Delete.
5575         (in_call_delay): Reimplement.
5576         (eligible_for_sibcall_delay): Rename into...
5577         (in_sibcall_delay): ...this.
5578         (eligible_for_return_delay): Rename into...
5579         (in_return_delay): ...this.
5580         (in_branch_delay): Reimplement.
5581         (in_uncond_branch_delay): Delete.
5582         (in_annul_branch_delay): Delete.
5584 2014-03-14  Richard Henderson  <rth@redhat.com>
5586         PR target/60525
5587         * config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename
5588         define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand.
5589         (*floathi<X87MODEF>2_i387_with_temp): Remove.
5590         (floathi splitters): Remove.
5591         (float<SWI48x>xf2): New pattern.
5592         (float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2.  Drop
5593         code that tried to handle DImode for 32-bit, but which was excluded
5594         by the pattern's condition.  Drop allocation of stack temporary.
5595         (*floatsi<MODEF>2_vector_mixed_with_temp): Remove.
5596         (*float<SWI48><MODEF>2_mixed_with_temp): Remove.
5597         (*float<SWI48><MODEF>2_mixed_interunit): Remove.
5598         (*float<SWI48><MODEF>2_mixed_nointerunit): Remove.
5599         (*floatsi<MODEF>2_vector_sse_with_temp): Remove.
5600         (*float<SWI48><MODEF>2_sse_with_temp): Remove.
5601         (*float<SWI48><MODEF>2_sse_interunit): Remove.
5602         (*float<SWI48><MODEF>2_sse_nointerunit): Remove.
5603         (*float<SWI48x><X87MODEF>2_i387_with_temp): Remove.
5604         (*float<SWI48x><X87MODEF>2_i387): Remove.
5605         (all float _with_temp splitters): Remove.
5606         (*float<SWI48x><MODEF>2_i387): New pattern.
5607         (*float<SWI48><MODEF>2_sse): New pattern.
5608         (float TARGET_USE_VECTOR_CONVERTS splitters): Merge them.
5609         (float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them.
5611 2014-03-14  Jakub Jelinek  <jakub@redhat.com>
5612             Marek Polacek  <polacek@redhat.com>
5614         PR middle-end/60484
5615         * common.opt (dump_base_name_prefixed): New Variable.
5616         * opts.c (finish_options): Don't prepend directory to x_dump_base_name
5617         if x_dump_base_name_prefixed is already set, set it at the end.
5619 2014-03-14  Vladimir Makarov  <vmakarov@redhat.com>
5621         PR rtl-optimization/60508
5622         * lra-constraints.c (get_reload_reg): Add new parameter
5623         in_subreg_p.
5624         (process_addr_reg, simplify_operand_subreg, curr_insn_transform):
5625         Pass the new parameter values.
5627 2014-03-14  Richard Biener  <rguenther@suse.de>
5629         * common.opt: Revert unintented changes from r205065.
5630         * opts.c: Likewise.
5632 2014-03-14  Richard Biener  <rguenther@suse.de>
5634         PR middle-end/60518
5635         * cfghooks.c (split_block): Properly adjust all loops the
5636         block was a latch of.
5638 2014-03-14  Martin Jambor  <mjambor@suse.cz>
5640         PR lto/60461
5641         * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
5642         and simplify it.
5644 2014-03-14  Georg-Johann Lay  <avr@gjlay.de>
5646         PR target/59396
5647         * config/avr/avr.c (avr_set_current_function): Pass function name
5648         through default_strip_name_encoding before sanity checking instead
5649         of skipping the first char of the assembler name.
5651 2014-03-13  Richard Henderson  <rth@redhat.com>
5653         PR debug/60438
5654         * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
5655         (ix86_force_to_memory, ix86_free_from_memory): Remove.
5656         * config/i386/i386-protos.h: Likewise.
5657         * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
5658         in the expander instead of a splitter.
5659         (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
5660         any possibility of requiring a memory.
5661         (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
5662         (*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
5663         (fp branch splitters): Update for ix86_split_fp_branch.
5664         (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
5665         (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
5666         (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
5667         (*fop_<MODEF>_2_i387): Remove f/r alternative.
5668         (*fop_<MODEF>_3_i387): Likewise.
5669         (*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
5670         (splitters for the fop_* register patterns): Remove.
5671         (fscalexf4_i387): Rename from *fscalexf4_i387.
5672         (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.
5674 2014-03-13  Jakub Jelinek  <jakub@redhat.com>
5676         PR tree-optimization/59779
5677         * tree-dfa.c (get_ref_base_and_extent): Use double_int
5678         type for bitsize and maxsize instead of HOST_WIDE_INT.
5680 2014-03-13  Steven Bosscher  <steven@gcc.gnu.org>
5682         PR rtl-optimization/57320
5683         * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
5684         the CFG after thread_prologue_and_epilogue_insns.
5686 2014-03-13  Vladimir Makarov  <vmakarov@redhat.com>
5688         PR rtl-optimization/57189
5689         * lra-constraints.c (process_alt_operands): Disfavor spilling
5690         vector pseudos.
5692 2014-03-13  Cesar Philippidis  <cesar@codesourcery.com>
5694         * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages.
5696 2014-03-13  Jakub Jelinek  <jakub@redhat.com>
5698         PR tree-optimization/59025
5699         PR middle-end/60418
5700         * tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
5701         same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.
5703 2014-03-13  Georg-Johann Lay  <avr@gjlay.de>
5705         PR target/60486
5706         * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
5707         calls of avr_out_plus_1.
5709 2014-03-13  Bin Cheng  <bin.cheng@arm.com>
5711         * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
5712         BB's single pred and update the father loop's latch info later.
5714 2014-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
5716         * config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
5717         (VEC_M): Likewise.
5718         (VEC_N): Likewise.
5719         (VEC_R): Likewise.
5720         (VEC_base): Likewise.
5721         (mov<MODE>, VEC_M modes): If we are loading TImode into VSX
5722         registers, we need to swap double words in little endian mode.
5724         * config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
5725         to be a container mode for 128-bit integer operations added in ISA
5726         2.07.  Unlike TImode and PTImode, the preferred register set is
5727         the Altivec/VMX registers for the 128-bit operations.
5729         * config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
5730         declarations.
5731         (rs6000_split_128bit_ok_p): Likewise.
5733         * config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
5734         macros for creating ISA 2.07 normal and overloaded builtin
5735         functions with 3 arguments.
5736         (BU_P8V_OVERLOAD_3): Likewise.
5737         (VPERM_1T): Add support for V1TImode in 128-bit vector operations
5738         for use as overloaded functions.
5739         (VPERM_1TI_UNS): Likewise.
5740         (VSEL_1TI): Likewise.
5741         (VSEL_1TI_UNS): Likewise.
5742         (ST_INTERNAL_1ti): Likewise.
5743         (LD_INTERNAL_1ti): Likewise.
5744         (XXSEL_1TI): Likewise.
5745         (XXSEL_1TI_UNS): Likewise.
5746         (VPERM_1TI): Likewise.
5747         (VPERM_1TI_UNS): Likewise.
5748         (XXPERMDI_1TI): Likewise.
5749         (SET_1TI): Likewise.
5750         (LXVD2X_V1TI): Likewise.
5751         (STXVD2X_V1TI): Likewise.
5752         (VEC_INIT_V1TI): Likewise.
5753         (VEC_SET_V1TI): Likewise.
5754         (VEC_EXT_V1TI): Likewise.
5755         (EQV_V1TI): Likewise.
5756         (NAND_V1TI): Likewise.
5757         (ORC_V1TI): Likewise.
5758         (VADDCUQ): Add support for 128-bit integer arithmetic instructions
5759         added in ISA 2.07.  Add both normal 'altivec' builtins, and the
5760         overloaded builtin.
5761         (VADDUQM): Likewise.
5762         (VSUBCUQ): Likewise.
5763         (VADDEUQM): Likewise.
5764         (VADDECUQ): Likewise.
5765         (VSUBEUQM): Likewise.
5766         (VSUBECUQ): Likewise.
5768         * config/rs6000/rs6000-c.c (__int128_type): New static to hold
5769         __int128_t and __uint128_t types.
5770         (__uint128_type): Likewise.
5771         (altivec_categorize_keyword): Add support for vector __int128_t,
5772         vector __uint128_t, vector __int128, and vector unsigned __int128
5773         as a container type for TImode operations that need to be done in
5774         VSX/Altivec registers.
5775         (rs6000_macro_to_expand): Likewise.
5776         (altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
5777         to support 128-bit integer instructions vaddcuq, vadduqm,
5778         vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
5779         (altivec_resolve_overloaded_builtin): Add support for V1TImode.
5781         * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
5782         for V1TImode, and set up preferences to use VSX/Altivec registers.
5783         Setup VSX reload handlers.
5784         (rs6000_debug_reg_global): Likewise.
5785         (rs6000_init_hard_regno_mode_ok): Likewise.
5786         (rs6000_preferred_simd_mode): Likewise.
5787         (vspltis_constant): Do not allow V1TImode as easy altivec constants.
5788         (easy_altivec_constant): Likewise.
5789         (output_vec_const_move): Likewise.
5790         (rs6000_expand_vector_set): Convert V1TImode set and extract to
5791         simple move.
5792         (rs6000_expand_vector_extract): Likewise.
5793         (reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
5794         addressing.
5795         (rs6000_const_vec): Add support for V1TImode.
5796         (rs6000_emit_le_vsx_load): Swap double words when loading or
5797         storing TImode/V1TImode.
5798         (rs6000_emit_le_vsx_store): Likewise.
5799         (rs6000_emit_le_vsx_move): Likewise.
5800         (rs6000_emit_move): Add support for V1TImode.
5801         (altivec_expand_ld_builtin): Likewise.
5802         (altivec_expand_st_builtin): Likewise.
5803         (altivec_expand_vec_init_builtin): Likewise.
5804         (altivec_expand_builtin): Likewise.
5805         (rs6000_init_builtins): Add support for V1TImode type.  Add
5806         support for ISA 2.07 128-bit integer builtins.  Define type names
5807         for the VSX/Altivec vector types.
5808         (altivec_init_builtins): Add support for overloaded vector
5809         functions with V1TImode type.
5810         (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode.
5811         (rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
5812         external function.
5813         (rs6000_split_128bit_ok_p): Likewise.
5814         (rs6000_handle_altivec_attribute): Create V1TImode from vector
5815         __int128_t and vector __uint128_t.
5817         * config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
5818         and mode attributes.
5819         (VSX_M): Likewise.
5820         (VSX_M2): Likewise.
5821         (VSm): Likewise.
5822         (VSs): Likewise.
5823         (VSr): Likewise.
5824         (VSv): Likewise.
5825         (VS_scalar): Likewise.
5826         (VS_double): Likewise.
5827         (vsx_set_v1ti): New builtin function to create V1TImode from TImode.
5829         * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether
5830         we support the ISA 2.07 128-bit integer arithmetic instructions.
5831         (ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
5832         (enum rs6000_builtin_type_index): Add fields to hold V1TImode
5833         and TImode types for use with the builtin functions.
5834         (V1TI_type_node): Likewise.
5835         (unsigned_V1TI_type_node): Likewise.
5836         (intTI_type_internal_node): Likewise.
5837         (uintTI_type_internal_node): Likewise.
5839         * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07
5840         128-bit builtin functions.
5841         (UNSPEC_VADDEUQM): Likewise.
5842         (UNSPEC_VADDECUQ): Likewise.
5843         (UNSPEC_VSUBCUQ): Likewise.
5844         (UNSPEC_VSUBEUQM): Likewise.
5845         (UNSPEC_VSUBECUQ): Likewise.
5846         (VM): Add V1TImode to vector mode iterators.
5847         (VM2): Likewise.
5848         (VI_unit): Likewise.
5849         (altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
5850         (altivec_vaddcuq): Likewise.
5851         (altivec_vsubuqm): Likewise.
5852         (altivec_vsubcuq): Likewise.
5853         (altivec_vaddeuqm): Likewise.
5854         (altivec_vaddecuq): Likewise.
5855         (altivec_vsubeuqm): Likewise.
5856         (altivec_vsubecuq): Likewise.
5858         * config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
5859         mode iterators.
5860         (BOOL_128): Likewise.
5861         (BOOL_REGS_OUTPUT): Likewise.
5862         (BOOL_REGS_OP1): Likewise.
5863         (BOOL_REGS_OP2): Likewise.
5864         (BOOL_REGS_UNARY): Likewise.
5865         (BOOL_REGS_AND_CR0): Likewise.
5867         * config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
5868         128-bit integer builtin support.
5869         (vec_vadduqm): Likewise.
5870         (vec_vaddecuq): Likewise.
5871         (vec_vaddeuqm): Likewise.
5872         (vec_vsubecuq): Likewise.
5873         (vec_vsubeuqm): Likewise.
5874         (vec_vsubcuq): Likewise.
5875         (vec_vsubuqm): Likewise.
5877         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
5878         Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
5879         vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
5880         128-bit integer add/subtract to ISA 2.07.
5882 2014-03-12  Joern Rennecke  <joern.rennecke@embecosm.com>
5884         * config/arc/arc.c (arc_predicate_delay_insns):
5885         Fix third argument passed to conditionalize_nonjump.
5887 2014-03-12  Yufeng Zhang  <yufeng.zhang@arm.com>
5889         * config/aarch64/aarch64-builtins.c
5890         (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
5891         BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
5892         * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
5893         instead of __builtin_lfloor.
5894         (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.
5896 2014-03-12  Jakub Jelinek  <jakub@redhat.com>
5898         * tree-ssa-ifcombine.c (forwarder_block_to): New function.
5899         (tree_ssa_ifcombine_bb_1): New function.
5900         (tree_ssa_ifcombine_bb): Use it.  Handle also cases where else_bb
5901         is an empty forwarder block to then_bb or vice versa and then_bb
5902         and else_bb are effectively swapped.
5904 2014-03-12  Christian Bruel  <christian.bruel@st.com>
5906         PR target/60264
5907         * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a
5908         REG_CFA_DEF_CFA note.
5909         (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
5910         (arm_unwind_emit): Allow REG_CFA_DEF_CFA.
5912 2014-03-12  Thomas Preud'homme  <thomas.preudhomme@arm.com>
5914         PR tree-optimization/60454
5915         * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
5917 2014-03-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5919         * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
5920         Do not define target_cpu_default2 to generic.
5921         * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
5922         * config/aarch64/aarch64.c (aarch64_override_options): Update comment.
5923         * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
5925 2014-03-12  Jakub Jelinek  <jakub@redhat.com>
5926             Marc Glisse  <marc.glisse@inria.fr>
5928         PR tree-optimization/60502
5929         * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
5930         instead of build_low_bits_mask.
5932 2014-03-12  Jakub Jelinek  <jakub@redhat.com>
5934         PR middle-end/60482
5935         * tree-vrp.c (register_edge_assert_for_1): Don't add assert
5936         if there are multiple uses, but op doesn't live on E edge.
5937         * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
5938         clobber stmts before __builtin_unreachable.
5940 2014-03-11  Richard Sandiford  <rdsandiford@googlemail.com>
5942         * builtins.c (expand_builtin_setjmp_receiver): Use and clobber
5943         hard_frame_pointer_rtx.
5944         * cse.c (cse_insn): Remove volatile check.
5945         * cselib.c (cselib_process_insn): Likewise.
5946         * dse.c (scan_insn): Likewise.
5948 2014-03-11  Joern Rennecke  <joern.rennecke@embecosm.com>
5950         * config/arc/arc.c (conditionalize_nonjump): New function,
5951         broken out of ...
5952         (arc_ifcvt): ... this.
5953         (arc_predicate_delay_insns): Use it.
5955 2014-03-11  Joern Rennecke  <joern.rennecke@embecosm.com>
5957         * config/arc/predicates.md (extend_operand): During/after reload,
5958         allow const_int_operand.
5959         * config/arc/arc.md (mulsidi3_700): Use extend_operand predicate.
5960         (umulsidi3_700): Likewise.  Change operand 2 constraint back to "cL".
5961         (mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3
5962         to "i".
5963         (umulsi3_highpart_i): Likewise.
5965 2014-03-11  Richard Biener  <rguenther@suse.de>
5967         * tree-ssa-structalias.c (get_constraint_for_ptr_offset):
5968         Add asserts to guard possible wrong-code bugs.
5970 2014-03-11  Richard Biener  <rguenther@suse.de>
5972         PR tree-optimization/60429
5973         PR tree-optimization/60485
5974         * tree-ssa-structalias.c (set_union_with_increment): Properly
5975         take into account all fields that overlap the shifted vars.
5976         (do_sd_constraint): Likewise.
5977         (do_ds_constraint): Likewise.
5978         (get_constraint_for_ptr_offset): Likewise.
5980 2014-03-11  Chung-Lin Tang  <cltang@codesourcery.com>
5982         * config/nios2/nios2.c (machine_function): Add fp_save_offset field.
5983         (nios2_compute_frame_layout):
5984         Add calculation of cfun->machine->fp_save_offset.
5985         (nios2_expand_prologue): Correct setting of frame pointer register
5986         in prologue.
5987         (nios2_expand_epilogue): Update recovery of stack pointer from
5988         frame pointer accordingly.
5989         (nios2_initial_elimination_offset): Update calculation of offset
5990         for eliminating to HARD_FRAME_POINTER_REGNUM.
5992 2014-03-10  Jakub Jelinek  <jakub@redhat.com>
5994         PR ipa/60457
5995         * ipa.c (symtab_remove_unreachable_nodes): Don't call
5996         cgraph_get_create_node on VAR_DECLs.
5998 2014-03-10  Richard Biener  <rguenther@suse.de>
6000         PR middle-end/60474
6001         * tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs.
6003 2014-03-08  Douglas B Rupp  <rupp@gnat.com>
6005         * config/vms/vms.opt (vms_float_format): New variable.
6007 2014-03-08  Tobias Burnus  <burnus@net-b.de>
6009         * doc/invoke.texi (-fcilkplus): Update implementation status.
6011 2014-03-08  Paulo Matos  <paulo@matos-sorge.com>
6012             Richard Biener  <rguenther@suse.de>
6014         * lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
6015         consistently accross all TUs.
6016         (run_gcc): Enable -fshort-double automatically at link at link-time
6017         and disallow override.
6019 2014-03-08  Richard Sandiford  <rdsandiford@googlemail.com>
6021         PR target/58271
6022         * config/mips/mips.c (mips_option_override): Promote -mpaired-single
6023         warning to an error.  Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
6024         if they can't be used.
6026 2014-03-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6028         * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test
6029         for Solaris 11/x86 ld.
6030         * configure: Regenerate.
6032 2014-03-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6034         * configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
6035         (LIB_TLS_SPEC): Save as ld_tls_libs.
6036         (HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
6037         (HAVE_AS_IX86_TLSLDM): New test.
6038         * configure, config.in: Regenerate.
6039         * config/i386/i386.c (legitimize_tls_address): Fall back to
6040         TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
6041         cannot support TLS_MODEL_LOCAL_DYNAMIC.
6042         * config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
6043         instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
6045 2014-03-07  Paulo Matos  <paulo@matos-sorge.com>
6047         * common.opt (fira-loop-pressure): Mark as optimization.
6049 2014-03-07  Thomas Schwinge  <thomas@codesourcery.com>
6051         * langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
6052         an OpenMP mappable type.
6054 2014-03-06  Matthias Klose  <doko@ubuntu.com>
6056         * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
6057         MULTILIB_OSDIRNAMES is not defined.
6059 2014-03-06  Jakub Jelinek  <jakub@redhat.com>
6060             Meador Inge  <meadori@codesourcery.com>
6062         PR target/58595
6063         * config/arm/arm.c (arm_tls_symbol_p): Remove.
6064         (arm_legitimize_address): Call legitimize_tls_address for any
6065         arm_tls_referenced_p expression, handle constant addend.  Call it
6066         before testing for !TARGET_ARM.
6067         (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
6069 2014-03-06  Richard Biener  <rguenther@suse.de>
6071         PR middle-end/60445
6072         PR lto/60424
6073         PR lto/60427
6074         Revert
6075         2014-03-04  Paulo Matos  <paulo@matos-sorge.com>
6077         * tree-streamer.c (record_common_node): Assert we don't record
6078         nodes with type double.
6079         (preload_common_node): Skip type double, complex double and double
6080         pointer since it is now frontend dependent due to fshort-double option.
6082 2014-03-06  Richard Biener  <rguenther@suse.de>
6084         * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
6085         or -fno-lto is specified and the linker has full plugin support.
6086         * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is enabled.
6087         (main): Remove -flto processing, adjust lto_mode using use_plugin late.
6088         * lto-wrapper.c (merge_and_complain): Merge compile-time
6089         optimization levels.
6090         (run_gcc): And pass it through to the link options.
6092 2014-03-06  Alexandre Oliva  <aoliva@redhat.com>
6094         PR debug/60381
6095         Revert:
6096         2014-02-28  Alexandre Oliva  <aoliva@redhat.com>
6097         PR debug/59992
6098         * cselib.c (remove_useless_values): Skip to avoid quadratic
6099         behavior if the condition moved from...
6100         (cselib_process_insn): ... here holds.
6102 2014-03-05  Jakub Jelinek  <jakub@redhat.com>
6104         PR plugins/59335
6105         * Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
6106         ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
6108         PR plugins/59335
6109         * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
6110         (TM_H): Add x86-tune.def.
6112 2014-03-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
6114         * config/aarch64/aarch64.c (generic_tunings):
6115         Use cortexa57_extra_costs.
6117 2014-03-05  Jakub Jelinek  <jakub@redhat.com>
6119         PR lto/60404
6120         * cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
6121         of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
6122         * tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
6123         cost for in_lto_p.
6125 2014-03-04  Heiher  <r@hev.cc>
6127         * config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
6128         * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly.
6130 2014-03-04  Uros Bizjak  <ubizjak@gmail.com>
6132         * config/i386/predicates.md (const2356_operand): Change to ...
6133         (const2367_operand): ... this.
6134         * config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use
6135         const2367_operand.
6136         (*avx512pf_scatterpf<mode>sf_mask): Ditto.
6137         (*avx512pf_scatterpf<mode>sf): Ditto.
6138         (avx512pf_scatterpf<mode>df): Ditto.
6139         (*avx512pf_scatterpf<mode>df_mask): Ditto.
6140         (*avx512pf_scatterpf<mode>df): Ditto.
6141         * config/i386/i386.c (ix86_expand_builtin): Update
6142         incorrect hint operand error message.
6144 2014-03-04  Richard Biener  <rguenther@suse.de>
6146         * lto-section-in.c (lto_get_section_data): Fix const cast.
6148 2014-03-04  Paulo Matos  <paulo@matos-sorge.com>
6150         * tree-streamer.c (record_common_node): Assert we don't record
6151         nodes with type double.
6152         (preload_common_node): Skip type double, complex double and double
6153         pointer since it is now frontend dependent due to fshort-double option.
6155 2014-03-04  Richard Biener  <rguenther@suse.de>
6157         PR lto/60405
6158         * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check.
6159         (lto_input_toplevel_asms): Likewise.
6160         * lto-section-in.c (lto_get_section_data): Instead do it here
6161         for every section.
6163 2014-03-04  Richard Biener  <rguenther@suse.de>
6165         PR tree-optimization/60382
6166         * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
6167         dead PHIs a reduction.
6169 2014-03-03  Uros Bizjak  <ubizjak@gmail.com>
6171         * config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct
6172         hint value.
6173         (_mm_prefetch): Move out of GCC target("sse") pragma.
6174         * config/i386/prfchwintrin.h (_m_prefetchw): Move out of
6175         GCC target("prfchw") pragma.
6176         * config/i386/i386.md (prefetch): Emit prefetchwt1 only
6177         for locality <= 2.
6178         * config/i386/i386.c (ix86_option_override_internal): Enable
6179         -mprfchw with -mprefetchwt1.
6181 2014-03-03  Joern Rennecke  <joern.rennecke@embecosm.com>
6183         * config/arc/arc.md (casesi_load) <length attribute alternative 0>:
6184         Mark as varying.
6186 2014-03-03  Joern Rennecke  <joern.rennecke@embecosm.com>
6188         * opts.h (CL_PCH_IGNORE): Define.
6189         * targhooks.c (option_affects_pch_p):
6190         Return false for options that have CL_PCH_IGNORE set.
6191         * opt-functions.awk: Process PchIgnore.
6192         * doc/options.texi: Document PchIgnore.
6194         * config/arc/arc.opt (misize): Add PchIgnore property.
6196 2014-03-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6198         * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
6199         reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax
6200         constraint on constants to permit them being loaded into
6201         GENERAL_REGS or BASE_REGS.
6203 2014-03-03  Nick Clifton  <nickc@redhat.com>
6205         * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add
6206         anti-cacnonical alternatives.
6207         (negandhi3_real): New pattern.
6208         * config/rl78/rl78-virt.md (negandhi3_virt): New pattern.
6210 2014-03-03  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
6212         * config/avr/avr-mcus.def: Remove atxmega16x1.
6213         * config/avr/avr-tables.opt: Regenerate.
6214         * config/avr/t-multilib: Regenerate.
6215         * doc/avr-mmcu.texi: Regenerate.
6217 2014-03-03  Tobias Grosser  <tobias@grosser.es>
6218             Mircea Namolaru  <mircea.namolaru@inria.fr>
6220         PR tree-optimization/58028
6221         * graphite-clast-to-gimple.c (set_cloog_options): Don't remove
6222         scalar dimensions.
6224 2014-03-03  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
6226         * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
6227         not handled by recognizers.
6229 2014-03-03  Jakub Jelinek  <jakub@redhat.com>
6231         PR middle-end/60175
6232         * function.c (expand_function_end): Don't emit
6233         clobber_return_register sequence if clobber_after is a BARRIER.
6234         * cfgexpand.c (construct_exit_block): Append instructions before
6235         return_label to prev_bb.
6237 2014-03-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6239         * config/rs6000/constraints.md: Document reserved use of "wc".
6241 2014-03-02  Jan Hubicka  <hubicka@ucw.cz>
6243         PR ipa/60150
6244         * ipa.c (function_and_variable_visibility): When dissolving comdat
6245         group, also set all symbols to local.
6247 2014-03-02  Jan Hubicka  <hubicka@ucw.cz>
6249         PR ipa/60306
6251         Revert:
6252         2013-12-14   Jan Hubicka  <jh@suse.cz>
6253         PR middle-end/58477
6254         * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
6256 2014-03-02  Jon Beniston  <jon@beniston.com>
6258         PR bootstrap/48230
6259         PR bootstrap/50927
6260         PR bootstrap/52466
6261         PR target/46898
6262         * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect.
6263           (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
6264         * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
6265         (simple_return, *simple_return): New patterns
6266         * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
6267         * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
6269 2014-03-01  Paolo Carlini  <paolo.carlini@oracle.com>
6271         * dwarf2out.c (gen_subprogram_die): Tidy.
6273 2014-03-01  Oleg Endo  <olegendo@gcc.gnu.org>
6275         PR target/60071
6276         * config/sh/sh.md (*mov_t_msb_neg): Split into ...
6277         (*mov_t_msb_neg_negc): ... this new insn.
6279 2014-02-28  Jason Merrill  <jason@redhat.com>
6281         PR c++/58678
6282         * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared
6283         function.
6285 2014-02-28  Paolo Carlini  <paolo.carlini@oracle.com>
6287         PR c++/60314
6288         * dwarf2out.c (decltype_auto_die): New static.
6289         (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'.
6290         (gen_type_die_with_usage): Handle 'decltype(auto)'.
6291         (is_cxx_auto): Likewise.
6293 2014-02-28  Ian Bolton  <ian.bolton@arm.com>
6295         * config/aarch64/aarch64.h: Define __ARM_NEON by default if
6296         we are not using general regs only.
6298 2014-02-28  Richard Biener  <rguenther@suse.de>
6300         PR target/60280
6301         * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
6302         previous fix and only allow to remove trivial pre-headers
6303         and latches.  Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
6304         (remove_forwarder_block): Properly update the latch of a loop.
6306 2014-02-28  Alexandre Oliva  <aoliva@redhat.com>
6308         PR debug/59992
6309         * cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
6310         (cselib_preserved_hash_table): New.
6311         (preserve_constants_and_equivs): Move preserved vals to it.
6312         (cselib_find_slot): Look it up first.
6313         (cselib_init): Initialize it.
6314         (cselib_finish): Release it.
6315         (dump_cselib_table): Dump it.
6317 2014-02-28  Alexandre Oliva  <aoliva@redhat.com>
6319         PR debug/59992
6320         * cselib.c (remove_useless_values): Skip to avoid quadratic
6321         behavior if the condition moved from...
6322         (cselib_process_insn): ... here holds.
6324 2014-02-28  Alexandre Oliva  <aoliva@redhat.com>
6326         PR debug/57232
6327         * var-tracking.c (vt_initialize): Apply the same condition to
6328         preserve the CFA base value.
6330 2014-02-28  Joey Ye  <joey.ye@arm.com>
6332         PR target/PR60169
6333         * config/arm/arm.c (thumb_far_jump_used_p): Don't change
6334         if reload in progress or completed.
6336 2014-02-28  Tobias Burnus  <burnus@net-b.de>
6338         PR middle-end/60147
6339         * tree-pretty-print.c (dump_generic_node, print_declaration): Handle
6340         NAMELIST_DECL.
6342 2014-02-27  H.J. Lu  <hongjiu.lu@intel.com>
6344         * doc/tm.texi.in (Condition Code Status): Update documention for
6345         relative locations of cc0-setter and cc0-user.
6347 2014-02-27  Jeff Law  <law@redhat.com>
6349         PR rtl-optimization/52714
6350         * combine.c (try_combine): When splitting an unrecognized PARALLEL
6351         into two independent simple sets, if I3 is a jump, ensure the
6352         pattern we place into I3 is a (set (pc) ...).
6354 2014-02-27  Mikael Pettersson  <mikpe@it.uu.se>
6355             Jeff Law  <law@redhat.com>
6357         PR rtl-optimization/49847
6358         * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user
6359         are in different blocks.
6360         * doc/tm.texi (Condition Code Status): Update documention for
6361         relative locations of cc0-setter and cc0-user.
6363 2014-02-27  Vladimir Makarov  <vmakarov@redhat.com>
6365         PR target/59222
6366         * lra.c (lra_emit_add): Check SUBREG too.
6368 2014-02-27  Andreas Schwab  <schwab@suse.de>
6370         * config/m68k/m68k.c (m68k_option_override): Disable
6371         -flive-range-shrinkage for classic m68k.
6372         (m68k_override_options_after_change): Likewise.
6374 2014-02-27  Marek Polacek  <polacek@redhat.com>
6376         PR middle-end/59223
6377         * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
6378         -Wmaybe-uninitialized.
6380 2014-02-27  Alan Modra  <amodra@gmail.com>
6382         PR target/57936
6383         * reload1.c (emit_input_reload_insns): When reload_override_in,
6384         set old to rl->in_reg when rl->in_reg is a subreg.
6386 2014-02-26  Richard Biener  <rguenther@suse.de>
6388         PR bootstrap/60343
6389         * lra-assigns.c (spill_for): Avoid mixed-sign comparison.
6391 2014-02-25  Ilya Tocar  <ilya.tocar@intel.com>
6393         * common/config/i386/predicates.md (const1256_operand): Remove.
6394         (const2356_operand): New.
6395         (const_1_to_2_operand): Remove.
6396         * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
6397         (*avx512pf_gatherpf<mode>sf_mask): Ditto.
6398         (*avx512pf_gatherpf<mode>sf): Ditto.
6399         (avx512pf_gatherpf<mode>df): Ditto.
6400         (*avx512pf_gatherpf<mode>df_mask): Ditto.
6401         (*avx512pf_gatherpf<mode>df): Ditto.
6402         (avx512pf_scatterpf<mode>sf): Ditto.
6403         (*avx512pf_scatterpf<mode>sf_mask): Ditto.
6404         (*avx512pf_scatterpf<mode>sf): Ditto.
6405         (avx512pf_scatterpf<mode>df): Ditto.
6406         (*avx512pf_scatterpf<mode>df_mask): Ditto.
6407         (*avx512pf_scatterpf<mode>df): Ditto.
6408         * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
6410 2014-02-26  Ilya Tocar  <ilya.tocar@intel.com>
6412         * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
6413         (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask),
6414         (_mm512_mask_testn_epi64_mask): Move to ...
6415         * config/i386/avx512cdintrin.h: Here.
6416         * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm.
6417         * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %.
6418         (avx512f_scalef<mode><mask_name><round_name>): Ditto.
6419         (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to
6420         TARGET_AVX512F from TARGET_AVX512CD.
6422 2014-02-26  Richard Biener  <rguenther@suse.de>
6424         PR ipa/60327
6425         * ipa.c (walk_polymorphic_call_targets): Properly guard
6426         call to inline_update_overall_summary.
6428 2014-02-26  Bin Cheng  <bin.cheng@arm.com>
6430         PR target/60280
6431         * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders
6432         and latches only if requested.  Fix latch if it is removed.
6433         * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
6434         LOOPS_HAVE_PREHEADERS.
6436 2014-02-25  Andrew Pinski  <apinski@cavium.com>
6438         * builtins.c (expand_builtin_thread_pointer): Create a new target
6439         when the target is NULL.
6441 2014-02-25  Vladimir Makarov  <vmakarov@redhat.com>
6443         PR rtl-optimization/60317
6444         * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
6445         * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
6446         * lra-assigns.c: Include params.h.
6447         (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for
6448         other reload pseudos considerations.
6450 2014-02-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6452         * config/rs6000/vector.md (*vector_unordered<mode>): Change split
6453         to use canonical form for nor<mode>3.
6455 2014-02-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
6457         PR target/55426
6458         * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
6459         conversions.
6461 2014-02-25  Ilya Tocar  <ilya.tocar@intel.com>
6463         * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET),
6464         (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New.
6465         (ix86_handle_option): Handle OPT_mprefetchwt1.
6466         * config/i386/cpuid.h (bit_PREFETCHWT1): New.
6467         * config/i386/driver-i386.c (host_detect_local_cpu): Detect
6468         PREFETCHWT1 CPUID.
6469         * config/i386/i386-c.c (ix86_target_macros_internal): Handle
6470         OPTION_MASK_ISA_PREFETCHWT1.
6471         * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1.
6472         (PTA_PREFETCHWT1): New.
6473         (ix86_option_override_internal): Handle PTA_PREFETCHWT1.
6474         (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1.
6475         * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New.
6476         * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
6477         (*prefetch_avx512pf_<mode>_: Change into ...
6478         (*prefetch_prefetchwt1_<mode>: This.
6479         * config/i386/i386.opt (mprefetchwt1): New.
6480         * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1.
6481         (_mm_prefetch): Handle intent to write.
6482         * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument.
6484 2014-02-25  Richard Biener  <rguenther@suse.de>
6486         PR middle-end/60291
6487         * emit-rtl.c (mem_attrs_htab): Remove.
6488         (mem_attrs_htab_hash): Likewise.
6489         (mem_attrs_htab_eq): Likewise.
6490         (set_mem_attrs): Always allocate new mem-attrs when something changed.
6491         (init_emit_once): Do not allocate mem_attrs_htab.
6493 2014-02-25  Richard Biener  <rguenther@suse.de>
6495         PR lto/60319
6496         * lto-opts.c (lto_write_options): Output non-explicit conservative
6497         -fwrapv, -fno-trapv and -fno-strict-overflow.
6498         * lto-wrapper.c (merge_and_complain): Handle merging those options.
6499         (run_gcc): And pass them through.
6501 2014-02-25  Andrey Belevantsev  <abel@ispras.ru>
6503         * sel-sched.c (calculate_new_fences): New parameter ptime.
6504         Calculate it as a maximum over all fence cycles.
6505         (sel_sched_region_2): Adjust the call to calculate_new_fences.
6506         Print the final schedule timing when sched_verbose.
6508 2014-02-25  Andrey Belevantsev  <abel@ispras.ru>
6510         PR rtl-optimization/60292
6511         * sel-sched.c (fill_vec_av_set): Do not reset target availability
6512         bit fot the fence instruction.
6514 2014-02-24  Alangi Derick  <alangiderick@gmail.com>
6516         * calls.h: Fix typo in comment.
6518 2014-02-24  John David Anglin  <danglin@gcc.gnu.org>
6520         * config/pa/pa.c (pa_output_move_double): Don't valididate when
6521         adjusting offsetable addresses.
6523 2014-02-24  Guozhi Wei  <carrot@google.com>
6525         * sparseset.h (sparseset_pop): Fix the wrong index.
6527 2014-02-24  Walter Lee  <walt@tilera.com>
6529         * config.gcc (tilepro-*-*): Change to tilepro*-*-*.
6530         (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
6531         triplet.
6532         * common/config/tilegx/tilegx-common.c
6533         (TARGET_DEFAULT_TARGET_FLAGS): Define.
6534         * config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
6535         (LINK_SPEC): Ditto.
6536         * config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
6537         * config/tilegx/tilegx.c (tilegx_return_in_msb): New.
6538         (tilegx_gimplify_va_arg_expr): Handle big endian.
6539         (tilegx_expand_unaligned_load): Ditto.
6540         (tilegx_expand_unaligned_store): Ditto.
6541         (TARGET_RETURN_IN_MSB): New.
6542         * config/tilegx/tilegx.h (TARGET_DEFAULT): New.
6543         (TARGET_ENDIAN_DEFAULT): New.
6544         (TARGET_BIG_ENDIAN): Handle big endian.
6545         (BYTES_BIG_ENDIAN): Ditto.
6546         (WORDS_BIG_ENDIAN): Ditto.
6547         (FLOAT_WORDS_BIG_ENDIAN): Ditto.
6548         (ENDIAN_SPEC): New.
6549         (EXTRA_SPECS): New.
6550         * config/tilegx/tilegx.md (extv): Handle big endian.
6551         (extzv): Ditto.
6552         (insn_st<n>): Ditto.
6553         (insn_st<n>_add<bitsuffix>): Ditto.
6554         (insn_stnt<n>): Ditto.
6555         (insn_stnt<n>_add<bitsuffix>):Ditto.
6556         (vec_interleave_highv8qi): Handle big endian.
6557         (vec_interleave_highv8qi_be): New.
6558         (vec_interleave_highv8qi_le): New.
6559         (insn_v1int_h): Handle big endian.
6560         (vec_interleave_lowv8qi): Handle big endian.
6561         (vec_interleave_lowv8qi_be): New.
6562         (vec_interleave_lowv8qi_le): New.
6563         (insn_v1int_l): Handle big endian.
6564         (vec_interleave_highv4hi): Handle big endian.
6565         (vec_interleave_highv4hi_be): New.
6566         (vec_interleave_highv4hi_le): New.
6567         (insn_v2int_h): Handle big endian.
6568         (vec_interleave_lowv4hi): Handle big endian.
6569         (vec_interleave_lowv4hi_be): New.
6570         (vec_interleave_lowv4hi_le): New.
6571         (insn_v2int_l): Handle big endian.
6572         (vec_interleave_highv2si): Handle big endian.
6573         (vec_interleave_highv2si_be): New.
6574         (vec_interleave_highv2si_le): New.
6575         (insn_v4int_h): Handle big endian.
6576         (vec_interleave_lowv2si): Handle big endian.
6577         (vec_interleave_lowv2si_be): New.
6578         (vec_interleave_lowv2si_le): New.
6579         (insn_v4int_l): Handle big endian.
6580         * config/tilegx/tilegx.opt (mbig-endian): New option.
6581         (mlittle-endian): New option.
6582         * doc/install.texi: Document tilegxbe-linux.
6583         * doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
6585 2014-02-24  Martin Jambor  <mjambor@suse.cz>
6587         PR ipa/60266
6588         * ipa-cp.c (propagate_constants_accross_call): Bail out early if
6589         there are no parameter descriptors.
6591 2014-02-24  Andrey Belevantsev  <abel@ispras.ru>
6593         PR rtl-optimization/60268
6594         * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
6595         initialization to ...
6596         (sched_rgn_init): ... here.
6597         (schedule_region): Check for SCHED_PRESSURE_NONE earlier.
6599 2014-02-23  David Holsgrove  <david.holsgrove@xilinx.com>
6601         * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
6602         names.
6604 2014-02-23  Edgar E. Iglesias  <edgar.iglesias@xilinx.com>
6606         * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
6607         definition.
6609 2014-02-23  David Holsgrove  <david.holsgrove@xilinx.com>
6611         * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk,
6612         define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK.
6614 2014-02-23  David Holsgrove  <david.holsgrove@xilinx.com>
6616         * config/microblaze/predicates.md: Add cmp_op predicate.
6617         * config/microblaze/microblaze.md: Add branch_compare instruction
6618         which uses cmp_op predicate and emits cmp insn before branch.
6619         * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
6620         to microblaze_expand_conditional_branch and consolidate logic.
6621         (microblaze_expand_conditional_branch): emit branch_compare
6622         insn instead of handling cmp op separate from branch insn.
6624 2014-02-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6626         * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
6627         to permit subregs.
6629 2014-02-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6631         * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
6632         define_insn with define_expand and new define_insn
6633         *altivec_lve<VI_char>x_internal.
6634         (altivec_stve<VI_char>x): Replace define_insn with define_expand
6635         and new define_insn *altivec_stve<VI_char>x_internal.
6636         * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
6637         prototype.
6638         * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
6639         lve*x built-ins.
6640         (altivec_expand_stvex_be): New function.
6642 2014-02-22  Joern Rennecke  <joern.rennecke@embecosm.com>
6644         * config/avr/avr.c (avr_can_eliminate): Allow elimination from
6645         ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed.
6646         * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
6647         ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
6649 2014-02-21  Vladimir Makarov  <vmakarov@redhat.com>
6651         PR target/60298
6652         * lra-constraints.c (inherit_reload_reg): Use lra_emit_move
6653         instead of emit_move_insn.
6655 2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6657         * config/rs6000/altivec.md (altivec_vsumsws): Replace second
6658         vspltw with vsldoi.
6659         (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
6660         gen_altivec_vsumsws.
6662 2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6664         * config/rs6000/altivec.md (altivec_lvxl): Rename as
6665         *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
6666         (altivec_lvxl_<mode>): New define_expand incorporating
6667         -maltivec=be semantics where needed.
6668         (altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
6669         (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
6670         semantics where needed.
6671         (altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
6672         (altivec_stvx_<mode>): New define_expand incorporating
6673         -maltivec=be semantics where needed.
6674         (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
6675         VM2 iterator instead of V4SI.
6676         (altivec_stvxl_<mode>): New define_expand incorporating
6677         -maltivec=be semantics where needed.
6678         * config/rs6000/rs6000-builtin.def: Add new built-in definitions
6679         LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
6680         LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF,
6681         STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF,
6682         STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI.
6683         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
6684         ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
6685         similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
6686         ALTIVEC_BUILTIN_STVXL.
6687         * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype.
6688         (altivec_expand_stvx_be): Likewise.
6689         * config/rs6000/rs6000.c (swap_selector_for_mode): New function.
6690         (altivec_expand_lvx_be): Likewise.
6691         (altivec_expand_stvx_be): Likewise.
6692         (altivec_expand_builtin): Add cases for
6693         ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
6694         ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
6695         (altivec_init_builtins): Add definitions for
6696         __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
6697         __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>.
6699 2014-02-21  Catherine Moore  <clm@codesourcery.com>
6701         * doc/invoke.texi (mvirt, mno-virt): Document.
6702         * config/mips/mips.opt (mvirt): New option.
6703         * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
6705 2014-02-21  Richard Biener  <rguenther@suse.de>
6707         PR tree-optimization/60276
6708         * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
6709         (STMT_VINFO_MIN_NEG_DIST): New macro.
6710         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
6711         STMT_VINFO_MIN_NEG_DIST.
6712         * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
6713         made for negative dependence distances still hold.
6715 2014-02-21  Richard Biener  <rguenther@suse.de>
6717         PR middle-end/60291
6718         * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
6719         DECL_INITIAL for globals not in the current function context.
6721 2014-02-21  Jakub Jelinek  <jakub@redhat.com>
6723         PR tree-optimization/56490
6724         * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
6725         * tree-ssa-uninit.c: Include params.h.
6726         (compute_control_dep_chain): Add num_calls argument, return false
6727         if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
6728         num_calls to recursive call.
6729         (find_predicates): Change dep_chain into normal array,
6730         cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
6731         variable and adjust compute_control_dep_chain caller.
6732         (find_def_preds): Likewise.
6734 2014-02-21  Thomas Schwinge  <thomas@codesourcery.com>
6736         * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
6737         <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
6739 2014-02-21  Nick Clifton  <nickc@redhat.com>
6741         * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
6742         (pushhi1): Likewise.
6743         (popqi1): Add mode to pre_dec.
6744         (pophi1): Likewise.
6746 2014-02-21  Jakub Jelinek  <jakub@redhat.com>
6748         * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
6749         mode for mask of V8SFmode permutation.
6751 2014-02-20  Richard Henderson  <rth@redhat.com>
6753         PR c++/60272
6754         * builtins.c (expand_builtin_atomic_compare_exchange): Always make
6755         a new pseudo for OLDVAL.
6757 2014-02-20  Jakub Jelinek  <jakub@redhat.com>
6759         PR target/57896
6760         * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
6761         gen_reg_rtx if d->testing_p.
6762         (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
6763         if d->testing_p and we will certainly return true.
6764         (expand_vec_perm_even_odd_1): Likewise.  Don't call gen_reg_rtx
6765         if d->testing_p.
6767 2014-02-20  Uros Bizjak  <ubizjak@gmail.com>
6769         * emit-rtl.c (gen_reg_rtx): Assert that
6770         crtl->emit.regno_pointer_align_length is non-zero.
6772 2014-02-20  Richard Henderson  <rth@redhat.com>
6774         PR c++/60272
6775         * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
6776         on failure the store back into EXPECT.
6778 2014-02-20  Chung-Lin Tang  <cltang@codesourcery.com>
6779             Sandra Loosemore  <sandra@codesourcery.com>
6781         * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
6782         * config/nios2/nios2.c (nios2_function_profiler): Add
6783         -fPIC (flag_pic == 2) support.
6784         (nios2_handle_custom_fpu_cfg): Fix warning parameter.
6785         (nios2_large_offset_p): New function.
6786         (nios2_unspec_reloc_p): Move up position, update to use
6787         nios2_large_offset_p.
6788         (nios2_unspec_address): Remove function.
6789         (nios2_unspec_offset): New function.
6790         (nios2_large_got_address): New function.
6791         (nios2_got_address): Add large offset support.
6792         (nios2_legitimize_tls_address): Update usage of removed and new
6793         functions.
6794         (nios2_symbol_binds_local_p): New function.
6795         (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
6796         (nios2_legitimize_address): Update to use nios2_large_offset_p.
6797         (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
6798         (nios2_print_operand): Merge H/L processing, add hiadj/lo
6799         processing for (const (unspec ...)).
6800         (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
6802 2014-02-20  Richard Biener  <rguenther@suse.de>
6804         * tree-cfg.c (replace_uses_by): Mark altered BBs before
6805         doing the substitution.
6806         (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
6808 2014-02-20  Martin Jambor  <mjambor@suse.cz>
6810         PR ipa/55260
6811         * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
6812         info when checking whether lattices are bottom.
6814 2014-02-20  Richard Biener  <rguenther@suse.de>
6816         PR middle-end/60221
6817         * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
6818         regions at -O0.
6820 2014-02-20  Jan Hubicka  <hubicka@ucw.cz>
6822         PR ipa/58555
6823         * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
6824         parameter specifying the scaling.
6825         (inline_call): Update.
6826         (want_inline_recursively): Guard division by zero.
6827         (recursive_inlining): Update.
6828         * ipa-inline.h (clone_inlined_nodes): Update.
6830 2014-02-20  Ilya Tocar  <ilya.tocar@intel.com>
6832         PR target/60204
6833         * config/i386/i386.c (classify_argument): Pass structures of size
6834         64 bytes or less in register.
6836 2014-02-20  Ilya Tocar  <ilya.tocar@intel.com>
6837             Kirill Yukhin  <kirill.yukhin@intel.com>
6839         * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
6840         (_mm_rcp28_round_ss): Ditto.
6841         (_mm_rsqrt28_round_sd): Ditto.
6842         (_mm_rsqrt28_round_ss): Ditto.
6843         * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
6844         (_mm_rcp14_round_ss): Ditto.
6845         (_mm_rsqrt14_round_sd): Ditto.
6846         (_mm_rsqrt14_round_ss): Ditto.
6847         * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
6848         the first input operand, get rid of match_dup.
6849         (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
6850         attribute to sse.
6851         (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
6852         Ditto.
6853         (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
6854         operand as the first input operand, set type attribute.
6855         (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
6856         Set type attribute.
6857         (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
6858         operand as the first input operand, set type attribute.
6860 2014-02-19  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6862         * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
6863         bit of zero.
6865 2014-02-19  H.J. Lu  <hongjiu.lu@intel.com>
6867         PR target/60207
6868         * config/i386/i386.c (construct_container): Remove TFmode check
6869         for X86_64_INTEGER_CLASS.
6871 2014-02-19  Uros Bizjak  <ubizjak@gmail.com>
6873         PR target/59794
6874         * config/i386/i386.c (type_natural_mode): Warn for ABI changes
6875         only when -Wpsabi is enabled.
6877 2014-02-19  Michael Hudson-Doyle  <michael.hudson@linaro.org>
6879          PR target/59799
6880         * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
6881         passing arrays in registers are the same as for structs, so remove the
6882         special case for them.
6884 2014-02-19  Eric Botcazou  <ebotcazou@adacore.com>
6886         * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
6887         destination type, extract only the valid bits if the source type is not
6888         integral and has a different mode.
6890 2014-02-19  Richard Biener  <rguenther@suse.de>
6892         PR ipa/60243
6893         * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
6894         for all calls.
6896 2014-02-19  Richard Biener  <rguenther@suse.de>
6898         PR ipa/60243
6899         * ipa-prop.c: Include stringpool.h and tree-ssanames.h.
6900         (ipa_modify_call_arguments): Emit an argument load explicitely and
6901         preserve virtual SSA form there and for the replacement call.
6902         Do not update SSA form nor free dominance info.
6904 2014-02-18  Jan Hubicka  <hubicka@ucw.cz>
6906         * ipa.c (function_and_variable_visibility): Also clear WEAK
6907         flag when disolving COMDAT_GROUP.
6909 2014-02-18  Jan Hubicka  <hubicka@ucw.cz>
6911         * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
6912         * ipa-prop.c (ipa_set_jf_known_type): Return early when
6913         not devirtualizing.
6914         (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved;
6915         do more sanity checks.
6916         (detect_type_change): Return true when giving up early.
6917         (compute_complex_assign_jump_func): Fix type parameter of
6918         ipa_set_ancestor_jf.
6919         (compute_complex_ancestor_jump_func): Likewise.
6920         (update_jump_functions_after_inlining): Fix updating of
6921         ancestor function.
6922         * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
6924 2014-02-18  Jan Hubicka  <hubicka@ucw.cz>
6926         * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove
6927         inline clones when edge disappears.
6929 2014-02-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
6931         PR target/60203
6932         * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
6933         Split 64-bit moves into 2 patterns.  Do not allow the use of
6934         direct move for TDmode in little endian, since the decimal value
6935         has little endian bytes within a word, but the 64-bit pieces are
6936         ordered in a big endian fashion, and normal subreg's of TDmode are
6937         not allowed.
6938         (mov<mode>_64bit_dm): Likewise.
6939         (movtd_64bit_nodm): Likewise.
6941 2014-02-18  Eric Botcazou  <ebotcazou@adacore.com>
6943         PR tree-optimization/60174
6944         * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining
6945         statement of an SSA_NAME that occurs in an abnormal PHI node.
6947 2014-02-18  Jakub Jelinek  <jakub@redhat.com>
6949         PR sanitizer/60142
6950         * final.c (SEEN_BB): Remove.
6951         (SEEN_NOTE, SEEN_EMITTED): Renumber.
6952         (final_scan_insn): Don't force_source_line on second
6953         NOTE_INSN_BASIC_BLOCK.
6955 2014-02-18  Uros Bizjak  <ubizjak@gmail.com>
6957         PR target/60205
6958         * config/i386/i386.h (struct ix86_args): Add warn_avx512f.
6959         * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f.
6960         (type_natural_mode): Warn ABI change when %zmm register is not
6961         available for AVX512F vector value passing.
6963 2014-02-18  Kai Tietz  <ktietz@redhat.com>
6965         PR target/60193
6966         * config/i386/i386.c (ix86_expand_prologue): Use value in
6967         rax register as displacement when restoring %r10 or %rax.
6968         Fix wrong offset when restoring both registers.
6970 2014-02-18  Eric Botcazou  <ebotcazou@adacore.com>
6972         * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
6973         assertion with conditional return.
6975 2014-02-18  Jakub Jelinek  <jakub@redhat.com>
6976             Uros Bizjak  <ubizjak@gmail.com>
6978         PR driver/60233
6979         * config/i386/driver-i386.c (host_detect_local_cpu): If
6980         YMM state is not saved by the OS, also clear has_f16c.  Move
6981         CPUID 0x80000001 handling before YMM state saving checking.
6983 2014-02-18  Andrey Belevantsev  <abel@ispras.ru>
6985         PR rtl-optimization/58960
6986         * haifa-sched.c (alloc_global_sched_pressure_data): New,
6987         factored out from ...
6988         (sched_init): ... here.
6989         (free_global_sched_pressure_data): New, factored out from ...
6990         (sched_finish): ... here.
6991         * sched-int.h (free_global_sched_pressure_data): Declare.
6992         * sched-rgn.c (nr_regions_initial): New static global.
6993         (haifa_find_rgns): Initialize it.
6994         (schedule_region): Disable sched-pressure for the newly
6995         generated regions.
6997 2014-02-17  Richard Biener  <rguenther@suse.de>
6999         * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and
7000         release SSA defs of pattern stmts.
7002 2014-02-17  Richard Biener  <rguenther@suse.de>
7004         * tree-inline.c (expand_call_inline): Release the virtual
7005         operand defined by the call we are about to inline.
7007 2014-02-17  Richard Biener  <rguenther@suse.de>
7009         * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
7011 2014-02-17  Kirill Yukhin  <kirill.yukhin@intel.com>
7012             Ilya Tocar  <ilya.tocar@intel.com>
7014         * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
7015         arguments order in builtin.
7016         (_mm512_permutexvar_epi64): Ditto.
7017         (_mm512_mask_permutexvar_epi64): Ditto
7018         (_mm512_maskz_permutexvar_epi32): Ditto
7019         (_mm512_permutexvar_epi32): Ditto
7020         (_mm512_mask_permutexvar_epi32): Ditto
7022 2014-02-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7024         * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets.
7025         (p8_vmrgow): Likewise.
7027 2014-02-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7029         * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
7030         endian targets.
7032 2014-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
7034         PR target/60203
7035         * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
7036         (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
7037         into 64-bit and 32-bit moves.  On 64-bit moves, add support for
7038         using direct move instructions on ISA 2.07.  Also adjust
7039         instruction length for 64-bit.
7040         (mov<mode>_64bit, TFmode/TDmode): Likewise.
7041         (mov<mode>_32bit, TFmode/TDmode): Likewise.
7043 2014-02-15  Alan Modra  <amodra@gmail.com>
7045         PR target/58675
7046         PR target/57935
7047         * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
7048         find_replacement on parts of insn rtl that might be reloaded.
7050 2014-02-15  Richard Biener  <rguenther@suse.de>
7052         PR tree-optimization/60183
7053         * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads.
7054         (tree_ssa_phiprop): Calculate and free post-dominators.
7056 2014-02-14  Jeff Law  <law@redhat.com>
7058         PR rtl-optimization/60131
7059         * ree.c (get_extended_src_reg): New function.
7060         (combine_reaching_defs): Use it rather than assuming location of REG.
7061         (find_and_remove_re): Verify first operand of extension is
7062         a REG before adding the insns to the copy list.
7064 2014-02-14  Roland McGrath  <mcgrathr@google.com>
7066         * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
7067         * configure: Regenerated.
7068         * config.in: Regenerated.
7069         * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
7070         instead of ASM_SHORT.
7072 2014-02-14  Vladimir Makarov  <vmakarov@redhat.com>
7073             Richard Earnshaw  <rearnsha@arm.com>
7075         PR rtl-optimization/59535
7076         * lra-constraints.c (process_alt_operands): Encourage alternative
7077         when unassigned pseudo class is superset of the alternative class.
7078         (inherit_reload_reg): Don't inherit when optimizing for code size.
7079         * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA
7080         returning CORE_REGS for anything but Thumb1 and BASE_REGS for
7081         modes not less than 4 for Thumb1.
7083 2014-02-14  Kyle McMartin  <kyle@redhat.com>
7085         PR pch/60010
7086         * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
7088 2014-02-14  Richard Biener  <rguenther@suse.de>
7090         * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF.
7091         (get_frame_arg): Drop the assert with langhook types_compatible_p.
7092         Do not strip INDIRECT_REFs.
7094 2014-02-14  Richard Biener  <rguenther@suse.de>
7096         PR lto/60179
7097         * lto-streamer-out.c (DFS_write_tree_body): Do not follow
7098         DECL_FUNCTION_SPECIFIC_TARGET.
7099         (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET.
7100         * tree-streamer-out.c (pack_ts_target_option): Remove.
7101         (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION.
7102         (write_ts_function_decl_tree_pointers): Do not stream
7103         DECL_FUNCTION_SPECIFIC_TARGET.
7104         * tree-streamer-in.c (unpack_ts_target_option): Remove.
7105         (unpack_value_fields): Do not stream TS_TARGET_OPTION.
7106         (lto_input_ts_function_decl_tree_pointers): Do not stream
7107         DECL_FUNCTION_SPECIFIC_TARGET.
7109 2014-02-14  Jakub Jelinek  <jakub@redhat.com>
7111         * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice.
7112         (get_initial_def_for_induction, vectorizable_induction): Ignore
7113         debug stmts when looking for exit_phi.
7114         (vectorizable_live_operation): Fix up condition.
7116 2014-02-14  Chung-Ju Wu  <jasonwucj@gmail.com>
7118         * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use
7119         nreverse() because it changes the content of original tree list.
7121 2014-02-14  Chung-Ju Wu  <jasonwucj@gmail.com>
7123         * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment.
7124         * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise.
7126 2014-02-14  Chung-Ju Wu  <jasonwucj@gmail.com>
7128         * config/nds32/nds32.c (nds32_naked_function_p): Follow the
7129         GNU coding standards.
7131 2014-02-13  Jakub Jelinek  <jakub@redhat.com>
7133         PR debug/60152
7134         * dwarf2out.c (gen_subprogram_die): Don't call
7135         add_calling_convention_attribute if subr_die is old_die.
7137 2014-02-13  Sharad Singhai  <singhai@google.com>
7139         * doc/optinfo.texi: Fix order of nodes.
7141 2014-02-13  Uros Bizjak  <ubizjak@gmail.com>
7143         * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
7144         operands[2], not operands[3].
7146 2014-02-13  Richard Biener  <rguenther@suse.de>
7148         PR bootstrap/59878
7149         * doc/install.texi (ISL): Update recommended version to 0.12.2,
7150         mention the possibility of an in-tree build.
7151         (CLooG): Update recommended version to 0.18.1, mention the
7152         possibility of an in-tree build and clarify that the ISL
7153         bundled with CLooG does not work.
7155 2014-02-13  Jakub Jelinek  <jakub@redhat.com>
7157         PR target/43546
7158         * expr.c (compress_float_constant): If x is a hard register,
7159         extend into a pseudo and then move to x.
7161 2014-02-13  Dominik Vogt  <vogt@linux.vnet.ibm.com>
7163         * config/s390/s390.c (s390_asm_output_function_label): Fix crash
7164         caused by bad second argument to warning_at() with -mhotpatch and
7165         nested functions (e.g. with gfortran).
7167 2014-02-13  Richard Sandiford  <rdsandiford@googlemail.com>
7169         * opts.c (option_name): Remove "enabled by default" rider.
7171 2014-02-12  John David Anglin  <danglin@gcc.gnu.org>
7173         * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
7175 2014-02-12  H.J. Lu  <hongjiu.lu@intel.com>
7176             Uros Bizjak  <ubizjak@gmail.com>
7178         PR target/60151
7179         * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
7180         * configure: Regenerated.
7182 2014-02-12  Richard Biener  <rguenther@suse.de>
7184         * vec.c (vec_prefix::calculate_allocation): Move as
7185         inline variant to vec.h.
7186         (vec_prefix::calculate_allocation_1): New out-of-line version.
7187         * vec.h (vec_prefix::calculate_allocation_1): Declare.
7188         (vec_prefix::m_has_auto_buf): Rename to ...
7189         (vec_prefix::m_using_auto_storage): ... this.
7190         (vec_prefix::calculate_allocation): Inline the easy cases
7191         and dispatch to calculate_allocation_1 which doesn't need the
7192         prefix address.
7193         (va_heap::reserve): Use gcc_checking_assert.
7194         (vec<T, A, vl_embed>::embedded_init): Add argument to initialize
7195         m_using_auto_storage.
7196         (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed>
7197         member and adjust.
7198         (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check.
7199         (vec<T, va_heap, vl_ptr>::release): Avoid casting.
7200         (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify.
7202 2014-02-12  Richard Biener  <rguenther@suse.de>
7204         * gcse.c (compute_transp): break from loop over canon_modify_mem_list
7205         when we found a dependence.
7207 2014-02-12  Thomas Schwinge  <thomas@codesourcery.com>
7209         * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move
7210         common code...
7211         (maybe_fold_stmt): ... into this new function.
7212         * omp-low.c (lower_omp): Update comment.
7214         * omp-low.c (lower_omp_target): Add clobber for sizes array, after
7215         last use.
7217         * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
7218         dereference.
7220 2014-02-12  James Greenhalgh  <james.greenhalgh@arm.com>
7222         * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix
7223         identifiers in comments.
7224         (cortexa53_extra_costs): Likewise.
7225         * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments.
7226         (cortexa7_extra_costs): Likewise.
7227         (cortexa12_extra_costs): Likewise.
7228         (cortexa15_extra_costs): Likewise.
7229         (v7m_extra_costs): Likewise.
7231 2014-02-12  Richard Biener  <rguenther@suse.de>
7233         PR middle-end/60092
7234         * gimple-low.c (lower_builtin_posix_memalign): Lower conditional
7235         of posix_memalign being successful.
7236         (lower_stmt): Restrict lowering of posix_memalign to when
7237         -ftree-bit-ccp is enabled.
7239 2014-02-12  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
7241         * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for
7242         arg_loc.
7243         * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
7245 2014-02-12  Eric Botcazou  <ebotcazou@adacore.com>
7247         PR rtl-optimization/60116
7248         * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
7249         other_insn once the combination has been validated.
7251 2014-02-11  Jan Hubicka  <hubicka@ucw.cz>
7253         PR lto/59468
7254         * ipa-utils.h (possible_polymorphic_call_targets): Update prototype
7255         and wrapper.
7256         * ipa-devirt.c: Include demangle.h
7257         (odr_violation_reported): New static variable.
7258         (add_type_duplicate): Update odr_violations.
7259         (maybe_record_node): Add completep parameter; update it.
7260         (record_target_from_binfo): Add COMPLETEP parameter;
7261         update it as needed.
7262         (possible_polymorphic_call_targets_1): Likewise.
7263         (struct polymorphic_call_target_d): Add nonconstruction_targets;
7264         rename FINAL to COMPLETE.
7265         (record_targets_from_bases): Sanity check we found the binfo;
7266         fix COMPLETEP updating.
7267         (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP
7268         parameter, fix computing of COMPLETEP.
7269         (dump_possible_polymorphic_call_targets): Imrove readability of dump;
7270         at LTO time do demangling.
7271         (ipa_devirt): Use nonconstruction_targets; Improve dumps.
7272         * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer
7273         parameter.
7274         (gimple_get_virt_method_for_binfo): Likewise.
7275         * gimple-fold.h (gimple_get_virt_method_for_binfo,
7276         gimple_get_virt_method_for_vtable): Update prototypes.
7278 2014-02-11  Vladimir Makarov  <vmakarov@redhat.com>
7280         PR target/49008
7281         * genautomata.c (add_presence_absence): Fix typo with
7282         {final_}presence_list.
7284 2014-02-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
7286         PR target/60137
7287         * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter
7288         for VSX/Altivec vectors that land in GPR registers.
7290 2014-02-11  Richard Henderson  <rth@redhat.com>
7291             Jakub Jelinek  <jakub@redhat.com>
7293         PR debug/59776
7294         * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
7295         around drhs if type conversion to lacc->type is not useless.
7297 2014-02-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7299         * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57
7300         tuning struct.
7301         (cortex-a57.cortex-a53): Likewise.
7302         * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct.
7304 2014-02-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7306         * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
7307         arm_restrict_it.
7309 2014-02-11  Renlin Li  <Renlin.Li@arm.com>
7311         * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
7312         add_options_for_arm_vfp3.
7314 2014-02-11  Jeff Law  <law@redhat.com>
7316         PR middle-end/54041
7317         * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an
7318         object with an undesirable mode.
7320 2014-02-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7322         PR libgomp/60107
7323         * config/i386/sol2-9.h: New file.
7324         * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
7325         *-*-solaris2.9*): Use it.
7327 2014-02-10  Nagaraju Mekala  <nagaraju.mekala@xilinx.com>
7329         * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
7330         * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
7332 2014-02-10  Nagaraju Mekala  <nagaraju.mekala@xilinx.com>
7334         * config/microblaze/microblaze.c: Extend mcpu version format
7336 2014-02-10  David Holsgrove  <david.holsgrove@xilinx.com>
7338         * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
7340 2014-02-10  Richard Henderson  <rth@redhat.com>
7342         PR target/59927
7343         * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
7344         * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
7345         ms-abi vs -mno-accumulate-outgoing-args.
7346         (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
7347         * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
7348         respect to ms-abi.
7350 2014-02-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>
7352         PR middle-end/60080
7353         * cfgexpand.c (expand_asm_operands): Attach source location to
7354         ASM_INPUT rtx objects.
7355         * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
7357 2014-02-10  Nick Clifton  <nickc@redhat.com>
7359         * config/mn10300/mn10300.c (popcount): New function.
7360         (mn10300_expand_prologue): Include saved registers in stack usage
7361         count.
7363 2014-02-10  Jeff Law  <law@redhat.com>
7365         PR middle-end/52306
7366         * reload1.c (emit_input_reload_insns): Do not create invalid RTL
7367         when changing the SET_DEST of a prior insn to avoid an input reload.
7369 2014-02-10  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7371         * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
7372         big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
7373         -mcall-openbsd, or -mcall-linux.
7374         (CC1_ENDIAN_BIG_SPEC): Remove.
7375         (CC1_ENDIAN_LITTLE_SPEC): Remove.
7376         (CC1_ENDIAN_DEFAULT_SPEC): Remove.
7377         (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
7378         (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
7379         and %cc1_endian_default.
7380         * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
7382 2014-02-10  Richard Biener  <rguenther@suse.de>
7384         PR tree-optimization/60115
7385         * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
7386         MEM_REF handling.  Properly verify that the accesses are not
7387         out of the objects bound.
7389 2014-02-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7391         * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
7392         coretex to cortex.
7394 2014-02-10  Eric Botcazou  <ebotcazou@adacore.com>
7396         * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
7397         proper constants and fix formatting.
7398         (possible_polymorphic_call_targets): Fix formatting.
7400 2014-02-10  Kirill Yukhin  <kirill.yukhin@intel.com>
7401             Ilya Tocar  <ilya.tocar@intel.com>
7403         * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
7404         (_mm512_loadu_epi32): Renamed into...
7405         (_mm512_loadu_si512): This.
7406         (_mm512_storeu_epi32): Renamed into...
7407         (_mm512_storeu_si512): This.
7408         (_mm512_maskz_ceil_ps): Removed.
7409         (_mm512_maskz_ceil_pd): Ditto.
7410         (_mm512_maskz_floor_ps): Ditto.
7411         (_mm512_maskz_floor_pd): Ditto.
7412         (_mm512_floor_round_ps): Ditto.
7413         (_mm512_floor_round_pd): Ditto.
7414         (_mm512_ceil_round_ps): Ditto.
7415         (_mm512_ceil_round_pd): Ditto.
7416         (_mm512_mask_floor_round_ps): Ditto.
7417         (_mm512_mask_floor_round_pd): Ditto.
7418         (_mm512_mask_ceil_round_ps): Ditto.
7419         (_mm512_mask_ceil_round_pd): Ditto.
7420         (_mm512_maskz_floor_round_ps): Ditto.
7421         (_mm512_maskz_floor_round_pd): Ditto.
7422         (_mm512_maskz_ceil_round_ps): Ditto.
7423         (_mm512_maskz_ceil_round_pd): Ditto.
7424         (_mm512_expand_pd): Ditto.
7425         (_mm512_expand_ps): Ditto.
7426         * config/i386/i386.c (ix86_builtins): Remove
7427         IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
7428         (bdesc_args): Ditto.
7429         * config/i386/predicates.md (const1256_operand): New.
7430         (const_1_to_2_operand): Ditto.
7431         * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
7432         (*avx512pf_gatherpf<mode>sf_mask): Ditto.
7433         (*avx512pf_gatherpf<mode>sf): Ditto.
7434         (avx512pf_gatherpf<mode>df): Ditto.
7435         (*avx512pf_gatherpf<mode>df_mask): Ditto.
7436         (*avx512pf_gatherpf<mode>df): Ditto.
7437         (avx512pf_scatterpf<mode>sf): Ditto.
7438         (*avx512pf_scatterpf<mode>sf_mask): Ditto.
7439         (*avx512pf_scatterpf<mode>sf): Ditto.
7440         (avx512pf_scatterpf<mode>df): Ditto.
7441         (*avx512pf_scatterpf<mode>df_mask): Ditto.
7442         (*avx512pf_scatterpf<mode>df): Ditto.
7443         (avx512f_expand<mode>): Removed.
7444         (<shift_insn><mode>3<mask_name>): Change predicate type.
7446 2014-02-08  Jakub Jelinek  <jakub@redhat.com>
7448         * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
7449         not at the end of datarefs vector use ordered_remove to avoid
7450         reordering datarefs vector.
7452         PR c/59984
7453         * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
7454         mark local addressable non-static vars as GOVD_PRIVATE
7455         instead of GOVD_LOCAL.
7456         * omp-low.c (lower_omp_for): Move gimple_bind_vars
7457         and BLOCK_VARS of gimple_bind_block to new_stmt rather
7458         than copying them.
7460         PR middle-end/60092
7461         * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
7462         if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
7463         assume_aligned or alloc_align attributes.
7464         (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
7465         arguments.  Handle also assume_aligned and alloc_align attributes.
7466         (evaluate_stmt): Adjust bit_value_assume_aligned caller.  Handle
7467         calls to functions with assume_aligned or alloc_align attributes.
7468         * doc/extend.texi: Document assume_aligned and alloc_align attributes.
7470 2014-02-08  Terry Guo  <terry.guo@arm.com>
7472         * doc/invoke.texi: Document ARM -march=armv7e-m.
7474 2014-02-08  Jakub Jelinek  <jakub@redhat.com>
7476         * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
7477         flag on __cilkrts_rethrow builtin.
7479         PR ipa/60026
7480         * ipa-cp.c (determine_versionability): Fail at -O0
7481         or __attribute__((optimize (0))) or -fno-ipa-cp functions.
7482         * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
7484         Revert:
7485         2014-02-04  Jakub Jelinek  <jakub@redhat.com>
7487         PR ipa/60026
7488         * tree-inline.c (copy_forbidden): Fail for
7489         __attribute__((optimize (0))) functions.
7491 2014-02-07  Jan Hubicka  <hubicka@ucw.cz>
7493         * varpool.c: Include pointer-set.h.
7494         (varpool_remove_unreferenced_decls): Variables in other partitions
7495         will not be output; be however careful to not lose information
7496         about partitioning.
7498 2014-02-07  Jan Hubicka  <hubicka@ucw.cz>
7500         * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
7501         lookup in the vtable constructor.
7503 2014-02-07  Jeff Law  <law@redhat.com>
7505         PR target/40977
7506         * config/m68k/m68k.md (ashldi_extsi): Turn into a
7507         define_insn_and_split.
7509         * ipa-inline.c (inline_small_functions): Fix typos.
7511 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
7513         * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
7514         (s390_can_use_return_insn): Declare.
7515         * config/s390/s390.h (EPILOGUE_USES): Define.
7516         * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
7517         instructions.
7518         (s390_chunkify_start): Handle return JUMP_LABELs.
7519         (s390_early_mach): Emit a main_pool instruction on the entry edge.
7520         (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
7521         (s390_can_use_return_insn): New functions.
7522         (s390_fix_long_loop_prediction): Handle conditional returns.
7523         (TARGET_SET_UP_BY_PROLOGUE): Define.
7524         * config/s390/s390.md (ANY_RETURN): New code iterator.
7525         (*creturn, *csimple_return, return, simple_return): New patterns.
7527 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
7529         * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
7530         notes to each restore.  Also add REG_CFA_DEF_CFA when restoring %r15.
7531         (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P.  Update the
7532         REG_CFA_RESTORE list when deciding not to restore a register.
7534 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
7536         * config/s390/s390.c: Include tree-pass.h and context.h.
7537         (s390_early_mach): New function, split out from...
7538         (s390_emit_prologue): ...here.
7539         (pass_data_s390_early_mach): New pass structure.
7540         (pass_s390_early_mach): New class.
7541         (s390_option_override): Create and register early_mach pass.
7542         Move to end of file.
7544 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
7546         * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
7547         to match for the exit block.
7549 2014-02-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7551         * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
7552         ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
7553         Reject misaligned operands.
7555 2014-02-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7557         * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail.
7559 2014-02-07  Richard Biener  <rguenther@suse.de>
7561         PR middle-end/60092
7562         * gimple-low.c (lower_builtin_posix_memalign): New function.
7563         (lower_stmt): Call it to lower posix_memalign in a way
7564         to make alignment info accessible.
7566 2014-02-07  Jakub Jelinek  <jakub@redhat.com>
7568         PR c++/60082
7569         * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
7570         __builtin_setjmp_receiver.
7572 2014-02-07  Richard Biener  <rguenther@suse.de>
7574         PR middle-end/60092
7575         * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
7576         * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
7577         * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
7578         Handle BUILT_IN_POSIX_MEMALIGN.
7579         (find_func_clobbers): Likewise.
7580         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
7581         (call_may_clobber_ref_p_1): Likewise.
7583 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
7585         PR ipa/59918
7586         * ipa-devirt.c (record_target_from_binfo): Remove overactive
7587         sanity check.
7589 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
7591         PR ipa/59469
7592         * lto-cgraph.c (lto_output_node): Use
7593         symtab_get_symbol_partitioning_class.
7594         (lto_output_varpool_node): likewise.
7595         (symtab_get_symbol_partitioning_class): Move here from
7596         lto/lto-partition.c
7597         * cgraph.h (symbol_partitioning_class): Likewise.
7598         (symtab_get_symbol_partitioning_class): Declare.
7600 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
7602         * ggc.h (ggc_internal_cleared_alloc): New macro.
7603         * vec.h (vec_safe_copy): Handle memory stats.
7604         * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
7605         * target-globals.c (save_target_globals): Likewise.
7607 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
7609         PR target/60077
7610         * expr.c (emit_move_resolve_push): Export; be bit more selective
7611         on when to clear alias set.
7612         * expr.h (emit_move_resolve_push): Declare.
7613         * function.h (struct function): Add tail_call_marked.
7614         * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
7615         * config/i386/i386-protos.h (ix86_expand_push): Remove.
7616         * config/i386/i386.md (TImode move expander): De not call
7617         ix86_expand_push.
7618         (FP push expanders): Preserve memory attributes.
7619         * config/i386/sse.md (push<mode>1): Remove.
7620         * config/i386/i386.c (ix86_expand_vector_move): Handle push operation.
7621         (ix86_expand_push): Remove.
7622         * config/i386/mmx.md (push<mode>1): Remove.
7624 2014-02-06  Jakub Jelinek  <jakub@redhat.com>
7626         PR rtl-optimization/60030
7627         * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
7628         lopart with paradoxical subreg before shifting it up by hprec.
7630 2014-02-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7632         * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
7633         Remove extra newline at end of file.
7634         * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
7635         (arm_issue_rate): Handle cortexa57.
7636         * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
7637         (cortex-a57.cortex-a53): Likewise.
7639 2014-02-06  Jakub Jelinek  <jakub@redhat.com>
7641         PR target/59575
7642         * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
7643         don't record in REG_FRAME_RELATED_EXPR registers not set in that
7644         bitmask.
7645         (arm_expand_prologue): Adjust all callers.
7646         (arm_unwind_emit_sequence): Allow saved, but not important for unwind
7647         info, registers also at the lowest numbered registers side.  Use
7648         gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
7649         XEXP.
7651         PR debug/59992
7652         * var-tracking.c (adjust_mems): Before adding a SET to
7653         amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx.
7655 2014-02-06  Alan Modra  <amodra@gmail.com>
7657         PR target/60032
7658         * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
7659         change SDmode to DDmode when lra_in_progress.
7661 2014-02-06  Jakub Jelinek  <jakub@redhat.com>
7663         PR middle-end/59150
7664         * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
7665         free_data_ref on the dr first, and before goto again also set dr
7666         to the next dr.  For simd_lane_access, free old datarefs[i] before
7667         overwriting it.  For get_vectype_for_scalar_type failure, don't
7668         free_data_ref if simd_lane_access.
7670         * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
7672         PR target/60062
7673         * tree.h (opts_for_fn): New inline function.
7674         (opt_for_fn): Define.
7675         * config/i386/i386.c (ix86_function_regparm): Use
7676         opt_for_fn (decl, optimize) instead of optimize.
7678 2014-02-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
7680         * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
7681         for SYMBOL_REF in large memory model.
7683 2014-02-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7685         * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
7686         and crypto support.
7687         (cortex-a57): Likewise.
7688         (cortex-a57.cortex-a53): Likewise.
7690 2014-02-06  Yury Gribov  <y.gribov@samsung.com>
7691             Kugan Vivekanandarajah  <kuganv@linaro.org>
7693         * config/arm/arm.c (arm_vector_alignment_reachable): Check
7694         unaligned_access.
7695         * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
7697 2014-02-06  Richard Biener  <rguenther@suse.de>
7699         * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
7700         set_loop_copy and initialize_original_copy_tables.
7702 2014-02-06  Alex Velenko  <Alex.Velenko@arm.com>
7704         * config/aarch64/aarch64-simd.md
7705         (aarch64_ashr_simddi): Change QI to SI.
7707 2014-02-05  Jan Hubicka  <hubicka@ucw.cz>
7708             Jakub Jelinek  <jakub@redhat.com>
7710         PR middle-end/60013
7711         * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
7712         of the dataflow.
7714 2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7716         * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
7717         CODE_FOR_altivec_vpku[hw]um to
7718         CODE_FOR_altivec_vpku[hw]um_direct.
7719         * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
7720         UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
7721         (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
7722         UNSPEC_VUNPACK_LO_SIGN_DIRECT.
7724 2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7726         * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
7727         generation for -maltivec=be.
7728         (altivec_vsumsws): Simplify redundant test.
7730 2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7732         * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
7733         (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
7734         (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
7735         (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
7736         gen_altivec_vpkuwum.
7737         (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
7738         BYTES_BIG_ENDIAN.
7739         (altivec_vpks<VI_char>ss): Likewise.
7740         (altivec_vpks<VI_char>us): Likewise.
7741         (altivec_vpku<VI_char>us): Likewise.
7742         (altivec_vpku<VI_char>um): Likewise.
7743         (altivec_vpku<VI_char>um_direct): New (copy of
7744         altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
7745         internal use).
7746         (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
7747         target is little endian and -maltivec=be is not specified.
7748         (*altivec_vupkhs<VU_char>_direct): New (copy of
7749         altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use).
7750         (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
7751         target is little endian and -maltivec=be is not specified.
7752         (*altivec_vupkls<VU_char>_direct): New (copy of
7753         altivec_vupkls<VU_char> that always emits vupkls*, for internal use).
7754         (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
7755         little endian and -maltivec=be is not specified.
7756         (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
7757         little endian and -maltivec=be is not specified.
7759 2014-02-05  Richard Henderson  <rth@redhat.com>
7761         PR debug/52727
7762         * combine-stack-adj.c: Revert r206943.
7763         * sched-int.h (struct deps_desc): Add last_args_size.
7764         * sched-deps.c (init_deps): Initialize it.
7765         (sched_analyze_insn): Add OUTPUT dependencies between insns that
7766         contain REG_ARGS_SIZE notes.
7768 2014-02-05  Jan Hubicka  <hubicka@ucw.cz>
7770         * lto-cgraph.c (asm_nodes_output): Make global.
7771         * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
7772         * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter
7773         (driver_handle_option): Handle OPT_fwpa.
7775 2014-02-05  Jakub Jelinek  <jakub@redhat.com>
7777         PR ipa/59947
7778         * ipa-devirt.c (possible_polymorphic_call_targets): Fix
7779         a comment typo and formatting issue.  If odr_hash hasn't been
7780         created, return vNULL and set *completep to false.
7782         PR middle-end/57499
7783         * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
7784         bb with no successors.
7786 2014-02-05  James Greenhalgh  <james.greenhalgh@arm.com>
7788         PR target/59718
7789         * doc/invoke.texi (-march): Clarify documentation for ARM.
7790         (-mtune): Likewise.
7791         (-mcpu): Likewise.
7793 2014-02-05  Richard Biener  <rguenther@suse.de>
7795         * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
7796         when not vectorizing because of too many alias checks.
7797         * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
7798         Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
7800 2014-02-05  Nick Clifton  <nickc@redhat.com>
7802         * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
7803         accept extended registers in any mode when compiling for the MN10300.
7805 2014-02-05  Yury Gribov  <y.gribov@samsung.com>
7807         * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
7808         * ipa-inline.c (report_inline_failed_reason): Handle mismatched
7809         sanitization attributes.
7810         (can_inline_edge_p): Likewise.
7811         (sanitize_attrs_match_for_inline_p): New function.
7813 2014-02-04  Jan Hubicka  <hubicka@ucw.cz>
7815         * ipa-prop.c (detect_type_change): Shor circuit testing of
7816         type changes on THIS pointer.
7818 2014-02-04  John David Anglin  <danglin@gcc.gnu.org>
7820         PR target/59777
7821         * config/pa/pa.c (legitimize_tls_address): Return original address
7822         if not passed a SYMBOL_REF rtx.
7823         (hppa_legitimize_address): Call legitimize_tls_address for all TLS
7824         addresses.
7825         (pa_emit_move_sequence): Simplify TLS source operands.
7826         (pa_legitimate_constant_p): Reject all TLS constants.
7827         * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
7828         (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
7830 2014-02-04  Jan Hubicka  <hubicka@ucw.cz>
7832         * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
7833         groups when we know they are controlled by LTO.
7834         * varasm.c (default_binds_local_p_1): If object is in other partition,
7835         it will be resolved locally.
7837 2014-02-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
7839         * config/host-linux.c (linux_gt_pch_use_address): Don't
7840         use SSIZE_MAX because it is not always defined.
7842 2014-02-04  Vladimir Makarov  <vmakarov@redhat.com>
7844         PR bootstrap/59913
7845         * lra-constraints.c (need_for_split_p): Use more 3 reloads as
7846         threshold for pseudo splitting.
7847         (update_ebb_live_info): Process call argument hard registers and
7848         hard registers from insn definition too.
7849         (max_small_class_regs_num): New constant.
7850         (inherit_in_ebb): Update live hard regs through EBBs.  Update
7851         reloads_num only for small register classes.  Don't split for
7852         outputs of jumps.
7854 2014-02-04  Markus Trippelsdorf  <markus@trippelsdorf.de>
7856         PR ipa/60058
7857         * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
7858         is non-null.
7860 2014-02-04  Jan Hubicka  <hubicka@ucw.cz>
7862         * gimple-fold.c (can_refer_decl_in_current_unit_p): Default
7863         visibility is safe.
7865 2014-02-04  Marek Polacek  <polacek@redhat.com>
7867         * gdbinit.in (pel): Define.
7869 2014-02-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
7871         * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
7872         behavior.
7874 2014-02-04  Richard Biener  <rguenther@suse.de>
7876         PR lto/59723
7877         * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
7878         in function context local.
7879         (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
7880         * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
7881         similar to LTO_imported_decl_ref.
7883 2014-02-04  Jakub Jelinek  <jakub@redhat.com>
7885         PR tree-optimization/60002
7886         * cgraphclones.c (build_function_decl_skip_args): Clear
7887         DECL_LANG_SPECIFIC.
7889         PR tree-optimization/60023
7890         * tree-if-conv.c (predicate_mem_writes): Pass true instead of
7891         false to gsi_replace.
7892         * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
7893         has been in some EH region and vec_stmt could throw, add
7894         vec_stmt into the same EH region.
7895         * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
7896         has no lhs, ignore it.
7897         * internal-fn.c (expand_MASK_LOAD): Likewise.
7899         PR ipa/60026
7900         * tree-inline.c (copy_forbidden): Fail for
7901         __attribute__((optimize (0))) functions.
7903         PR other/58712
7904         * omp-low.c (simd_clone_struct_copy): If from->inbranch
7905         is set, copy one less argument.
7906         (expand_simd_clones): Don't subtract clone_info->inbranch
7907         from simd_clone_struct_alloc argument.
7909         PR rtl-optimization/57915
7910         * recog.c (simplify_while_replacing): If all unary/binary/relational
7911         operation arguments are constant, attempt to simplify those.
7913         PR middle-end/59261
7914         * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
7915         if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
7917 2014-02-04  Richard Biener  <rguenther@suse.de>
7919         PR tree-optimization/60012
7920         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
7921         TBAA disambiguation to all DDRs.
7923 2014-02-04  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7925         PR target/59788
7926         * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
7927         (LINK_SPEC): Use it for -shared, -shared-libgcc.
7929 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
7931         PR ipa/59882
7932         * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
7934 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
7936         * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
7937         * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
7939 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
7941         PR ipa/59831
7942         * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
7943         to figure out targets of polymorphic calls with known decl.
7944         * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
7945         * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
7946         * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
7947         (get_polymorphic_call_info): ... here.
7948         (get_polymorphic_call_info_from_invariant): New function.
7950 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
7952         * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
7953         lookup via vtable pointer; check for type consistency
7954         and turn inconsitent facts into UNREACHABLE.
7955         * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
7956         * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on
7957         type inconsistent querries; return UNREACHABLE instead.
7959 2014-02-03  Richard Henderson  <rth@twiddle.net>
7961         PR tree-opt/59924
7962         * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
7963         already processed this node.
7964         (normalize_one_pred_1): Pass along mark_set.
7965         (normalize_one_pred): Create and destroy a pointer_set_t.
7966         (normalize_one_pred_chain): Likewise.
7968 2014-02-03  Laurent Aflonsi  <laurent.alfonsi@st.com>
7970         PR gcov-profile/58602
7971         * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0.
7973 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
7975         PR ipa/59831
7976         * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on
7977         -fno-devirtualize; try to devirtualize by the knowledge of
7978         virtual table pointer given by aggregate propagation.
7979         * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
7980         (ipa_print_node_jump_functions): Dump also offset that
7981         is relevant for polymorphic calls.
7982         (determine_known_aggregate_parts): Add arg_type parameter; use it
7983         instead of determining the type from pointer type.
7984         (ipa_compute_jump_functions_for_edge): Update call of
7985         determine_known_aggregate_parts.
7986         * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
7987         (gimple_get_virt_method_for_binfo): ... here; simplify using
7988         vtable_pointer_value_to_vtable.
7989         * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
7990         * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
7991         to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable.
7992         (vtable_pointer_value_to_vtable): Break out from ...; handle also
7993         POINTER_PLUS_EXPR.
7994         (vtable_pointer_value_to_binfo): ... here.
7995         * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
7997 2014-02-03  Teresa Johnson  <tejohnson@google.com>
7999         * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
8000         redef of outer loop index variable.
8002 2014-02-03  Marc Glisse  <marc.glisse@inria.fr>
8004         PR c++/53017
8005         PR c++/59211
8006         * doc/extend.texi (Function Attributes): Typo.
8008 2014-02-03  Cong Hou  <congh@google.com>
8010         PR tree-optimization/60000
8011         * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
8012         if the vectorized statement is a store.  A store statement can only
8013         appear at the end of pattern statements.
8015 2014-02-03  H.J. Lu  <hongjiu.lu@intel.com>
8017         * config/i386/i386.c (flag_opts): Add -mlong-double-128.
8018         (ix86_option_override_internal): Default long double to 64-bit for
8019         32-bit Bionic and to 128-bit for 64-bit Bionic.
8021         * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
8022         TARGET_LONG_DOUBLE_128 is true.
8023         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
8025         * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
8026         (mlong-double-64): Negate -mlong-double-128.
8027         (mlong-double-128): New option.
8029         * config/i386/i386-c.c (ix86_target_macros): Define
8030         __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
8032         * doc/invoke.texi: Document -mlong-double-128.
8034 2014-02-03  H.J. Lu  <hongjiu.lu@intel.com>
8036         PR rtl-optimization/60024
8037         * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
8039 2014-02-03  Markus Trippelsdorf  <markus@trippelsdorf.de>
8041         * doc/invoke.texi (fprofile-reorder-functions): Fix typo.
8043 2014-02-03  Andrey Belevantsev  <abel@ispras.ru>
8045         PR rtl-optimization/57662
8046         * sel-sched.c (code_motion_path_driver): Do not mark already not
8047         existing blocks in the visiting bitmap.
8049 2014-02-03  Andrey Belevantsev  <abel@ispras.ru>
8051         * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
8052         on the insn being emitted.
8054 2014-02-03  James Greenhalgh  <james.greenhalgh@arm.com>
8055             Will Deacon  <will.deacon@arm.com>
8057         * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
8059 2014-02-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
8061         * config/arm/arm-tables.opt: Regenerate.
8063 2014-02-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8065         * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
8066         for vector types other than V16QImode.
8067         * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
8068         define_expand, and call altivec_expand_vec_perm_le when producing
8069         code with little endian element order.
8070         (*altivec_vperm_<mode>_internal): New insn having previous
8071         behavior of altivec_vperm_<mode>.
8072         (altivec_vperm_<mode>_uns): Change to a define_expand, and call
8073         altivec_expand_vec_perm_le when producing code with little endian
8074         element order.
8075         (*altivec_vperm_<mode>_uns_internal): New insn having previous
8076         behavior of altivec_vperm_<mode>_uns.
8078 2014-02-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8080         * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
8081         (altivec_vsumsws): Add handling for -maltivec=be with a little
8082         endian target.
8083         (altivec_vsumsws_direct): New.
8084         (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
8085         gen_altivec_vsumsws.
8087 2014-02-02  Jan Hubicka  <hubicka@ucw.cz>
8089         * ipa-devirt.c (subbinfo_with_vtable_at_offset,
8090         vtable_pointer_value_to_binfo): New functions.
8091         * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
8092         * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
8094 2014-02-02  Sandra Loosemore  <sandra@codesourcery.com>
8096         * config/nios2/nios2.md (load_got_register): Initialize GOT
8097         pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
8098         * config/nios2/nios2.c (nios2_function_profiler): Likewise.
8100 2014-02-02  Jan Hubicka  <hubicka@ucw.cz>
8102         * ipa-prop.c (update_jump_functions_after_inlining): When type is not
8103         preserverd by passthrough, do not propagate the type.
8105 2014-02-02  Richard Sandiford  <rdsandiford@googlemail.com>
8107         * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
8108         (mips_atomic_assign_expand_fenv): New function.
8109         (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
8111 2014-02-02  Richard Sandiford  <rdsandiford@googlemail.com>
8113         * doc/extend.texi (__builtin_mips_get_fcsr): Document.
8114         (__builtin_mips_set_fcsr): Likewise.
8115         * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
8116         MIPS_USI_FTYPE_VOID.
8117         * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
8118         (mips16_expand_set_fcsr): Likewise.
8119         * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
8120         (mips16_set_fcsr_stub): Likewise.
8121         (mips16_get_fcsr_one_only_stub): New class.
8122         (mips16_set_fcsr_one_only_stub): Likewise.
8123         (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
8124         (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
8125         (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
8126         (hard_float): New availability predicate.
8127         (mips_builtins): Add get_fcsr and set_fcsr.
8128         (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
8129         * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
8130         (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
8131         (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
8132         (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
8133         patterns.
8135 2014-02-02  Richard Sandiford  <rdsandiford@googlemail.com>
8137         * config/mips/mips.c (mips_one_only_stub): New class.
8138         (mips_need_mips16_rdhwr_p): Replace with...
8139         (mips16_rdhwr_stub): ...this new variable.
8140         (mips16_stub_call_address): New function.
8141         (mips16_rdhwr_one_only_stub): New class.
8142         (mips_expand_thread_pointer): Use mips16_stub_call_address.
8143         (mips_output_mips16_rdhwr): Delete.
8144         (mips_finish_stub): New function.
8145         (mips_code_end): Use it to handle rdhwr stubs.
8147 2014-02-02  Uros Bizjak  <ubizjak@gmail.com>
8149         PR target/60017
8150         * config/i386/i386.c (classify_argument): Fix handling of bit_offset
8151         when calculating size of integer atomic types.
8153 2014-02-02  H.J. Lu  <hongjiu.lu@intel.com>
8155         * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
8157 2014-02-01  Jakub Jelinek  <jakub@redhat.com>
8159         PR tree-optimization/60003
8160         * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
8161         * profile.c (branch_prob): Use gimple_call_builtin_p
8162         to check for BUILT_IN_SETJMP_RECEIVER.
8163         * tree-inline.c (copy_bb): Call notice_special_calls.
8165 2014-01-31  Vladimir Makarov  <vmakarov@redhat.com>
8167         PR bootstrap/59985
8168         * lra-constraints.c (process_alt_operands): Update reload_sum only
8169         on the first pass.
8171 2014-01-31  Richard Henderson  <rth@redhat.com>
8173         PR middle-end/60004
8174         * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
8175         until after else_eh is processed.
8177 2014-01-31  Ilya Tocar  <ilya.tocar@intel.com>
8179         * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
8180         (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
8181         (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
8182         in smmintrin.h, remove them.
8183         (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
8184         * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
8185         * config/i386/i386.md (ROUND_SAE): Fix value.
8186         * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
8187         (const48_operand): New.
8188         * config/i386/subst.md (round), (round_expand): Use
8189         const_4_or_8_to_11_operand.
8190         (round_saeonly), (round_saeonly_expand): Use const48_operand.
8192 2014-01-31  Ilya Tocar  <ilya.tocar@intel.com>
8194         * config/i386/constraints.md (Yk): Swap meaning with k.
8195         * config/i386/i386.md (movhi_internal): Change Yk to k.
8196         (movqi_internal): Ditto.
8197         (*k<logic><mode>): Ditto.
8198         (*andhi_1): Ditto.
8199         (*andqi_1): Ditto.
8200         (kandn<mode>): Ditto.
8201         (*<code>hi_1): Ditto.
8202         (*<code>qi_1): Ditto.
8203         (kxnor<mode>): Ditto.
8204         (kortestzhi): Ditto.
8205         (kortestchi): Ditto.
8206         (kunpckhi): Ditto.
8207         (*one_cmplhi2_1): Ditto.
8208         (*one_cmplqi2_1): Ditto.
8209         * config/i386/sse.md (): Change k to Yk.
8210         (avx512f_load<mode>_mask): Ditto.
8211         (avx512f_blendm<mode>): Ditto.
8212         (avx512f_store<mode>_mask): Ditto.
8213         (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
8214         (avx512f_storedqu<mode>_mask): Ditto.
8215         (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
8216         Ditto.
8217         (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
8218         (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
8219         (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
8220         (avx512f_maskcmp<mode>3): Ditto.
8221         (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
8222         (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
8223         (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
8224         (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
8225         (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
8226         (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
8227         (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
8228         (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
8229         (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
8230         (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
8231         (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
8232         (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
8233         (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
8234         (vec_extract_lo_<mode>_maskm): Ditto.
8235         (vec_extract_hi_<mode>_maskm): Ditto.
8236         (avx512f_vternlog<mode>_mask): Ditto.
8237         (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
8238         (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
8239         (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
8240         (avx512f_<code>v8div16qi2_mask): Ditto.
8241         (avx512f_<code>v8div16qi2_mask_store): Ditto.
8242         (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
8243         (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
8244         (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
8245         (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
8246         (*avx512pf_gatherpf<mode>sf_mask): Ditto.
8247         (*avx512pf_gatherpf<mode>df_mask): Ditto.
8248         (*avx512pf_scatterpf<mode>sf_mask): Ditto.
8249         (*avx512pf_scatterpf<mode>df_mask): Ditto.
8250         (avx512cd_maskb_vec_dupv8di): Ditto.
8251         (avx512cd_maskw_vec_dupv16si): Ditto.
8252         (avx512f_vpermi2var<mode>3_maskz): Ditto.
8253         (avx512f_vpermi2var<mode>3_mask): Ditto.
8254         (avx512f_vpermi2var<mode>3_mask): Ditto.
8255         (avx512f_vpermt2var<mode>3_maskz): Ditto.
8256         (*avx512f_gathersi<mode>): Ditto.
8257         (*avx512f_gathersi<mode>_2): Ditto.
8258         (*avx512f_gatherdi<mode>): Ditto.
8259         (*avx512f_gatherdi<mode>_2): Ditto.
8260         (*avx512f_scattersi<mode>): Ditto.
8261         (*avx512f_scatterdi<mode>): Ditto.
8262         (avx512f_compress<mode>_mask): Ditto.
8263         (avx512f_compressstore<mode>_mask): Ditto.
8264         (avx512f_expand<mode>_mask): Ditto.
8265         * config/i386/subst.md (mask): Change k to Yk.
8266         (mask_scalar_merge): Ditto.
8267         (sd): Ditto.
8269 2014-01-31  Marc Glisse  <marc.glisse@inria.fr>
8271         * doc/extend.texi (Vector Extensions): Document ?: in C++.
8273 2014-01-31  Richard Biener  <rguenther@suse.de>
8275         PR middle-end/59990
8276         * builtins.c (fold_builtin_memory_op): Make sure to not
8277         use a floating-point mode or a boolean or enumeral type for
8278         the copy operation.
8280 2014-01-30  DJ Delorie  <dj@redhat.com>
8282         * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
8283         * config/msp430/msp430.md (msp430_refsym_need_exit): New.
8284         * config/msp430/msp430.c (msp430_expand_epilogue): Call it
8285         whenever main() has an epilogue.
8287 2014-01-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8289         * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
8290         unused variable "field".
8291         * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
8292         (vsx_mergeh_<mode>): Likewise.
8293         * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
8294         (altivec_vmrghh): Likewise.
8295         (altivec_vmrghw): Likewise.
8296         (altivec_vmrglb): Likewise.
8297         (altivec_vmrglh): Likewise.
8298         (altivec_vmrglw): Likewise.
8299         (altivec_vspltb): Add missing uses.
8300         (altivec_vsplth): Likewise.
8301         (altivec_vspltw): Likewise.
8302         (altivec_vspltsf): Likewise.
8304 2014-01-30  Jakub Jelinek  <jakub@redhat.com>
8306         PR target/59923
8307         * ifcvt.c (cond_exec_process_insns): Don't conditionalize
8308         frame related instructions.
8310 2014-01-30  Vladimir Makarov  <vmakarov@redhat.com>
8312         PR rtl-optimization/59959
8313         * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
8314         any reload of register whose subreg is invalid.
8316 2014-01-30  Jakub Jelinek  <jakub@redhat.com>
8318         * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
8319         * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
8320         Add missing return type - void.
8322 2014-01-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8324         * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
8325         gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
8326         remove element index adjustment for endian (now handled in vsx.md
8327         and altivec.md).
8328         (altivec_expand_vec_perm_const): Use
8329         gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
8330         * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
8331         (vsx_xxspltw_<mode>): Adjust element index for little endian.
8332         * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
8333         define_expand and a new define_insn *altivec_vspltb_internal;
8334         adjust for -maltivec=be on a little endian target.
8335         (altivec_vspltb_direct): New.
8336         (altivec_vsplth): Divide into a define_expand and a new
8337         define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
8338         little endian target.
8339         (altivec_vsplth_direct): New.
8340         (altivec_vspltw): Divide into a define_expand and a new
8341         define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
8342         little endian target.
8343         (altivec_vspltw_direct): New.
8344         (altivec_vspltsf): Divide into a define_expand and a new
8345         define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
8346         a little endian target.
8348 2014-01-30  Richard Biener  <rguenther@suse.de>
8350         PR tree-optimization/59993
8351         * tree-ssa-forwprop.c (associate_pointerplus): Check we
8352         can propagate form the earlier stmt and avoid the transform
8353         when the intermediate result is needed.
8355 2014-01-30  Alangi Derick  <alangiderick@gmail.com>
8357         * README.Portability: Fix typo.
8359 2014-01-30  David Holsgrove  <david.holsgrove@xilinx.com>
8361         * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
8362         comparison_operator with ordered_comparison_operator.
8364 2014-01-30  Nick Clifton  <nickc@redhat.com>
8366         * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
8367         Rename to mn10300_store_multiple_regs.
8368         * config/mn10300/mn10300.c: Likewise.
8369         * config/mn10300/mn10300.md (store_movm): Fix typo: call
8370         store_multiple_regs.
8371         * config/mn10300/predicates.md (mn10300_store_multiple_operation):
8372         Call mn10300_store_multiple_regs.
8374 2014-01-30  Nick Clifton  <nickc@redhat.com>
8375             DJ Delorie  <dj@redhat.com>
8377         * config/rl78/rl78.c (register_sizes): Make the "upper half" of
8378         %fp 2 to keep registers after it properly word-aligned.
8379         (rl78_alloc_physical_registers_umul): Handle the case where both
8380         input operands are the same.
8382 2014-01-30  Richard Biener  <rguenther@suse.de>
8384         PR tree-optimization/59903
8385         * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
8386         check properly.
8388 2014-01-30  Jason Merrill  <jason@redhat.com>
8390         PR c++/59633
8391         * tree.c (walk_type_fields): Handle VECTOR_TYPE.
8393         PR c++/59645
8394         * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
8396 2014-01-30  Richard Biener  <rguenther@suse.de>
8398         PR tree-optimization/59951
8399         * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
8401 2014-01-30  Savin Zlobec  <savin.zlobec@gmail.com>
8403         PR target/59784
8404         * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
8405         SFmode to DFmode case.
8407 2014-01-29  DJ Delorie  <dj@redhat.com>
8409         * config/msp430/msp430.opt (-minrt): New.
8410         * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
8411         if -minrt given.
8412         (ENDFILE_SPEC): Likewise.
8414 2014-01-29  Jan Hubicka  <hubicka@ucw.cz>
8416         * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
8417         (estimate_function_body_sizes): Use it.
8419 2014-01-29  Paolo Carlini  <paolo.carlini@oracle.com>
8421         PR c++/58561
8422         * dwarf2out.c (is_cxx_auto): New.
8423         (is_base_type): Use it.
8424         (gen_type_die_with_usage): Likewise.
8426 2014-01-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8428         * config/rs6000/rs6000.c (altivec_expand_vec_perm_const):  Use
8429         CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
8430         * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
8431         -maltivec=be with LE targets.
8432         (vsx_mergeh_<mode>): Likewise.
8433         * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
8434         (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
8435         (altivec_vmrghb): Replace with define_expand and new
8436         *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
8437         (altivec_vmrghb_direct): New define_insn.
8438         (altivec_vmrghh): Replace with define_expand and new
8439         *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
8440         (altivec_vmrghh_direct): New define_insn.
8441         (altivec_vmrghw): Replace with define_expand and new
8442         *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
8443         (altivec_vmrghw_direct): New define_insn.
8444         (*altivec_vmrghsf): Adjust for endianness.
8445         (altivec_vmrglb): Replace with define_expand and new
8446         *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
8447         (altivec_vmrglb_direct): New define_insn.
8448         (altivec_vmrglh): Replace with define_expand and new
8449         *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
8450         (altivec_vmrglh_direct): New define_insn.
8451         (altivec_vmrglw): Replace with define_expand and new
8452         *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
8453         (altivec_vmrglw_direct): New define_insn.
8454         (*altivec_vmrglsf): Adjust for endianness.
8455         (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
8456         (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
8457         (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
8458         (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
8459         (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
8460         (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
8461         (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
8462         (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
8464 2014-01-29  Marcus Shawcroft  <marcus.shawcroft@arm.com>
8466         * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
8467         (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
8468         whitespace.
8470 2014-01-29  Richard Biener  <rguenther@suse.de>
8472         PR tree-optimization/58742
8473         * tree-ssa-forwprop.c (associate_pointerplus): Rename to
8474         associate_pointerplus_align.
8475         (associate_pointerplus_diff): New function.
8476         (associate_pointerplus): Likewise.  Call associate_pointerplus_align
8477         and associate_pointerplus_diff.
8479 2014-01-29  Richard Biener  <rguenther@suse.de>
8481         * lto-streamer.h (LTO_major_version): Bump to 3.
8482         (LTO_minor_version): Reset to 0.
8484 2014-01-29  Renlin Li  <Renlin.Li@arm.com>
8486         * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
8487         * config/arm/arm.c (FL_FOR_ARCH7VE): New.
8488         (arm_file_start): Generate correct asm header for armv7ve.
8489         * config/arm/bpabi.h: Add multilib support for armv7ve.
8490         * config/arm/driver-arm.c: Change the architectures of cortex-a7
8491         and cortex-a15 to armv7ve.
8492         * config/arm/t-aprofile: Add multilib support for armv7ve.
8493         * doc/invoke.texi: Document -march=armv7ve.
8495 2014-01-29  Richard Biener  <rguenther@suse.de>
8497         PR tree-optimization/58742
8498         * tree-ssa-forwprop.c (associate_plusminus): Return true
8499         if we changed sth, defer EH cleanup to ...
8500         (ssa_forward_propagate_and_combine): ... here.  Call simplify_mult.
8501         (simplify_mult): New function.
8503 2014-01-29  Jakub Jelinek  <jakub@redhat.com>
8505         PR middle-end/59917
8506         PR tree-optimization/59920
8507         * tree.c (build_common_builtin_nodes): Remove
8508         __builtin_setjmp_dispatcher initialization.
8509         * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
8510         * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
8511         instead of gsi_after_labels + manually skipping debug stmts.
8512         Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
8513         ignore bbs with IFN_ABNORMAL_DISPATCHER.
8514         * tree-inline.c (copy_edges_for_bb): Remove
8515         can_make_abnormal_goto argument, instead add abnormal_goto_dest
8516         argument.  Ignore computed_goto_p stmts.  Don't call
8517         make_abnormal_goto_edges.  If a call might need abnormal edges
8518         for non-local gotos, see if it already has an edge to
8519         IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
8520         with true argument, don't do anything then, otherwise add
8521         EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
8522         (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
8523         caller.
8524         * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
8525         (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
8526         (lower_stmt): Don't set data->calls_builtin_setjmp.
8527         (lower_builtin_setjmp): Adjust comment.
8528         * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
8529         * tree-cfg.c (found_computed_goto): Remove.
8530         (factor_computed_gotos): Remove.
8531         (make_goto_expr_edges): Return bool, true for computed gotos.
8532         Don't call make_abnormal_goto_edges.
8533         (build_gimple_cfg): Don't set found_computed_goto, don't call
8534         factor_computed_gotos.
8535         (computed_goto_p): No longer static.
8536         (make_blocks): Don't set found_computed_goto.
8537         (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
8538         (make_edges): If make_goto_expr_edges returns true, push bb
8539         into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
8540         instead of calling make_abnormal_goto_edges push bb into ab_edge_call
8541         vector.  Record mapping between bbs and OpenMP regions if there
8542         are any, adjust make_gimple_omp_edges caller.  Call
8543         handle_abnormal_edges.
8544         (make_abnormal_goto_edges): Remove.
8545         * tree-cfg.h (make_abnormal_goto_edges): Remove.
8546         (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
8547         * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
8548         * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
8549         * internal-fn.def (ABNORMAL_DISPATCHER): New.
8550         * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
8551         filling *region also set *region_idx to (*region)->entry->index.
8553         PR other/58712
8554         * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
8555         For REGs set ORIGINAL_REGNO.
8557 2014-01-29  Bingfeng Mei  <bmei@broadcom.com>
8559         * doc/md.texi: Mention that a target shouldn't implement
8560         vec_widen_(s|u)mul_even/odd pair if it is less efficient
8561         than hi/lo pair.
8563 2014-01-29  Jakub Jelinek  <jakub@redhat.com>
8565         PR tree-optimization/59594
8566         * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
8567         a copy of the datarefs vector rather than the vector itself.
8569 2014-01-28  Jason Merrill  <jason@redhat.com>
8571         PR c++/53756
8572         * dwarf2out.c (auto_die): New static.
8573         (gen_type_die_with_usage): Handle C++1y 'auto'.
8574         (gen_subprogram_die): If in-class DIE had 'auto', emit type again
8575         on definition.
8577 2014-01-28  H.J. Lu  <hongjiu.lu@intel.com>
8579         PR target/59672
8580         * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
8581         (SPEC_X32): Likewise.
8582         (SPEC_64): Likewise.
8583         * config/i386/i386.c (ix86_option_override_internal): Turn off
8584         OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
8585         for TARGET_16BIT.
8586         (x86_file_start): Output .code16gcc for TARGET_16BIT.
8587         * config/i386/i386.h (TARGET_16BIT): New macro.
8588         (TARGET_16BIT_P): Likewise.
8589         * config/i386/i386.opt: Add m16.
8590         * doc/invoke.texi: Document -m16.
8592 2014-01-28  Jakub Jelinek  <jakub@redhat.com>
8594         PR preprocessor/59935
8595         * input.c (location_get_source_line): Bail out on when line number
8596         is zero, and test the return value of lookup_or_add_file_to_cache_tab.
8598 2014-01-28  Richard Biener  <rguenther@suse.de>
8600         PR tree-optimization/58742
8601         * tree-ssa-forwprop.c (associate_plusminus): Handle
8602         pointer subtraction of the form (T)(P + A) - (T)P.
8604 2014-01-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
8606         * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
8607         at const_int_cost.
8609 2014-01-28  Richard Biener  <rguenther@suse.de>
8611         Revert
8612         2014-01-28  Richard Biener  <rguenther@suse.de>
8614         PR rtl-optimization/45364
8615         PR rtl-optimization/59890
8616         * var-tracking.c (local_get_addr_clear_given_value): Handle
8617         already cleared slot.
8618         (val_reset): Handle not allocated local_get_addr_cache.
8619         (vt_find_locations): Use post-order on the inverted CFG.
8621 2014-01-28  Richard Biener  <rguenther@suse.de>
8623         * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
8625 2014-01-28  Richard Biener  <rguenther@suse.de>
8627         PR rtl-optimization/45364
8628         PR rtl-optimization/59890
8629         * var-tracking.c (local_get_addr_clear_given_value): Handle
8630         already cleared slot.
8631         (val_reset): Handle not allocated local_get_addr_cache.
8632         (vt_find_locations): Use post-order on the inverted CFG.
8634 2014-01-28  Alan Modra  <amodra@gmail.com>
8636         * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
8637         * configure.ac <recursive call for build != host>: Define
8638         GENERATOR_FILE.  Comment.  Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
8639         and LD_FOR_BUILD too.
8640         * configure: Regenerate.
8642 2014-01-27  Allan Sandfeld Jensen  <sandfeld@kde.org>
8644         * config/i386/i386.c (get_builtin_code_for_version): Separate
8645         Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
8646         Broadwell from Haswell.
8648 2014-01-27  Steve Ellcey  <sellcey@mips.com>
8650         * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
8651         Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
8652         * config/mips/mips.c (mips_option_override): Change setting
8653         of TARGET_DSP.
8654         * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
8655         * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
8656         Change from Mask to Var.
8658 2014-01-27  Jeff Law  <law@redhat.com>
8660         * ipa-inline.c (inline_small_functions): Fix typo.
8662 2014-01-27  Ilya Tocar  <ilya.tocar@intel.com>
8664         * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
8665         (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
8666         (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
8667         (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
8668         (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
8669         (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
8670         (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
8671         (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
8672         (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
8673         (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
8674         (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
8675         (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
8676         (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
8677         (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
8678         (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
8679         (_mm512_storeu_epi64): Ditto.
8680         (_mm512_cmpge_epi32_mask): Ditto.
8681         (_mm512_cmpge_epu32_mask): Ditto.
8682         (_mm512_cmpge_epi64_mask): Ditto.
8683         (_mm512_cmpge_epu64_mask): Ditto.
8684         (_mm512_cmple_epi32_mask): Ditto.
8685         (_mm512_cmple_epu32_mask): Ditto.
8686         (_mm512_cmple_epi64_mask): Ditto.
8687         (_mm512_cmple_epu64_mask): Ditto.
8688         (_mm512_cmplt_epi32_mask): Ditto.
8689         (_mm512_cmplt_epu32_mask): Ditto.
8690         (_mm512_cmplt_epi64_mask): Ditto.
8691         (_mm512_cmplt_epu64_mask): Ditto.
8692         (_mm512_cmpneq_epi32_mask): Ditto.
8693         (_mm512_cmpneq_epu32_mask): Ditto.
8694         (_mm512_cmpneq_epi64_mask): Ditto.
8695         (_mm512_cmpneq_epu64_mask): Ditto.
8696         (_mm512_expand_pd): Ditto.
8697         (_mm512_expand_ps): Ditto.
8698         * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
8699         VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
8700         VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
8701         * config/i386/i386.c (ix86_builtins): Add
8702         IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
8703         IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
8704         IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
8705         IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
8706         IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
8707         IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
8708         IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
8709         IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
8710         IX86_BUILTIN_PMOVUSQW512_MEM.
8711         (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
8712         __builtin_ia32_pmovsqd512mem_mask,
8713         __builtin_ia32_pmovqd512mem_mask,
8714         __builtin_ia32_pmovusqw512mem_mask,
8715         __builtin_ia32_pmovsqw512mem_mask,
8716         __builtin_ia32_pmovqw512mem_mask,
8717         __builtin_ia32_pmovusdw512mem_mask,
8718         __builtin_ia32_pmovsdw512mem_mask,
8719         __builtin_ia32_pmovdw512mem_mask,
8720         __builtin_ia32_pmovqb512mem_mask,
8721         __builtin_ia32_pmovusqb512mem_mask,
8722         __builtin_ia32_pmovsqb512mem_mask,
8723         __builtin_ia32_pmovusdb512mem_mask,
8724         __builtin_ia32_pmovsdb512mem_mask,
8725         __builtin_ia32_pmovdb512mem_mask.
8726         (bdesc_args): Add __builtin_ia32_expanddf512,
8727         __builtin_ia32_expandsf512.
8728         (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
8729         VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
8730         VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
8731         * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
8732         (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
8733         (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
8734         (avx512f_<code>v8div16qi2_mask_store): This.
8735         (avx512f_expand<mode>): New.
8737 2014-01-27  Kirill Yukhin  <kirill.yukhin@intel.com>
8739         * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
8740         New.
8741         (_mm512_mask_prefetch_i64gather_pd): Ditto.
8742         (_mm512_prefetch_i32scatter_pd): Ditto.
8743         (_mm512_mask_prefetch_i32scatter_pd): Ditto.
8744         (_mm512_prefetch_i64scatter_pd): Ditto.
8745         (_mm512_mask_prefetch_i64scatter_pd): Ditto.
8746         (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
8747         (_mm512_mask_prefetch_i64gather_ps): Ditto.
8748         (_mm512_prefetch_i32scatter_ps): Ditto.
8749         (_mm512_mask_prefetch_i32scatter_ps): Ditto.
8750         (_mm512_prefetch_i64scatter_ps): Ditto.
8751         (_mm512_mask_prefetch_i64scatter_ps): Ditto.
8752         * config/i386/i386-builtin-types.def: Define
8753         VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
8754         and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
8755         * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
8756         IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
8757         IX86_BUILTIN_SCATTERPFQPD.
8758         (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
8759         __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
8760         __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
8761         __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
8762         __builtin_ia32_scatterpfqps.
8763         (ix86_expand_builtin): Expand new built-ins.
8764         * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
8765         fix memory access data type.
8766         (*avx512pf_gatherpf<mode>_mask): Ditto.
8767         (*avx512pf_gatherpf<mode>): Ditto.
8768         (avx512pf_scatterpf<mode>): Ditto.
8769         (*avx512pf_scatterpf<mode>_mask): Ditto.
8770         (*avx512pf_scatterpf<mode>): Ditto.
8771         (GATHER_SCATTER_SF_MEM_MODE): New.
8772         (avx512pf_gatherpf<mode>df): Ditto.
8773         (*avx512pf_gatherpf<mode>df_mask): Ditto.
8774         (*avx512pf_scatterpf<mode>df): Ditto.
8776 2014-01-27  Jakub Jelinek  <jakub@redhat.com>
8778         PR bootstrap/59934
8779         * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
8780         know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
8781         reached.
8783 2014-01-27  James Greenhalgh  <james.greenhalgh@arm.com>
8785         * common/config/arm/arm-common.c
8786         (arm_rewrite_mcpu): Handle multiple names.
8787         * config/arm/arm.h
8788         (BIG_LITTLE_SPEC): Do not discard mcpu switches.
8790 2014-01-27  James Greenhalgh  <james.greenhalgh@arm.com>
8792         * gimple-builder.h (create_gimple_tmp): Delete.
8794 2014-01-27  Christian Bruel  <christian.bruel@st.com>
8796         * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
8797         words comparisons.
8799 2014-01-26  John David Anglin  <danglin@gcc.gnu.org>
8801         * config/pa/pa.md (call): Generate indirect long calls to non-local
8802         functions when outputing 32-bit code.
8803         (call_value): Likewise except for special call to buggy powf function.
8805         * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
8806         portable runtime and PIC indirect calls.
8807         (pa_output_indirect_call): Remove unnecessary nop from portable runtime
8808         and PIC call sequences.  Use ldo instead of blr to set return register
8809         in PIC call sequence.
8811 2014-01-25  Walter Lee  <walt@tilera.com>
8813         * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
8814         avoid clobbering a live register.
8816 2014-01-25  Walter Lee  <walt@tilera.com>
8818         * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
8819         Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
8820         * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
8821         Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
8823 2014-01-25  Walter Lee  <walt@tilera.com>
8825         * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
8826         arguments on even registers.
8827         (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
8828         STACK_BOUNDARY.
8829         * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
8830         (BIGGEST_ALIGNMENT): Ditto.
8831         (BIGGEST_FIELD_ALIGNMENT): Ditto.
8833 2014-01-25  Walter Lee  <walt@tilera.com>
8835         * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
8836         insns before bundling.
8837         * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
8839 2014-01-25  Walter Lee  <walt@tilera.com>
8841         * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
8842         PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
8843         * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
8845 2014-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
8847         * config/mips/constraints.md (kl): Delete.
8848         * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
8849         define expands, using...
8850         (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
8851         instructions for MIPS16.
8852         (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
8853         non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
8855 2014-01-25  Walter Lee  <walt@tilera.com>
8857         * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
8858         (clzdi2): Ditto.
8859         (ffsdi2): Ditto.
8861 2014-01-25  Walter Lee  <walt@tilera.com>
8863         * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
8864         (TARGET_EXPAND_TO_RTL_HOOK): Define.
8866 2014-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
8868         * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
8869         Handle XOR.
8871 2014-01-25  Jakub Jelinek  <jakub@redhat.com>
8873         * print-rtl.c (in_call_function_usage): New var.
8874         (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
8875         EXPR_LIST mode as mode and not as reg note name.
8877         PR middle-end/59561
8878         * cfgloopmanip.c (copy_loop_info): If
8879         loop->warned_aggressive_loop_optimizations, make sure
8880         the flag is set in target loop too.
8882 2014-01-24  Balaji V. Iyer  <balaji.v.iyer@intel.com>
8884         * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
8885         flag_cilkplus.
8886         * builtins.def: Likewise.
8887         * cilk.h (fn_contains_cilk_spawn_p): Likewise.
8888         * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
8889         * ira.c (ira_setup_eliminable_regset): Likewise.
8890         * omp-low.c (gate_expand_omp): Likewise.
8891         (execute_lower_omp): Likewise.
8892         (diagnose_sb_0): Likewise.
8893         (gate_diagnose_omp_blocks): Likewise.
8894         (simd_clone_clauses_extract): Likewise.
8895         (gate): Likewise.
8897 2014-01-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8899         * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
8900         correction for little endian...
8901         * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
8902         here.
8904 2014-01-24  Jeff Law  <law@redhat.com>
8906         PR tree-optimization/59919
8907         * tree-vrp.c (find_assert_locations_1): Do not register asserts
8908         for non-returning calls.
8910 2014-01-24  James Greenhalgh  <james.greenhalgh@arm.com>
8912         * common/config/aarch64/aarch64-common.c
8913         (aarch64_rewrite_mcpu): Handle multiple names.
8914         * config/aarch64/aarch64.h
8915         (BIG_LITTLE_SPEC): Do not discard mcpu switches.
8917 2014-01-24  Dodji Seketeli  <dodji@redhat.com>
8919         * input.c (add_file_to_cache_tab): Handle the case where fopen
8920         returns NULL.
8922 2014-01-23  H.J. Lu  <hongjiu.lu@intel.com>
8924         PR target/59929
8925         * config/i386/i386.md (pushsf splitter): Get stack adjustment
8926         from push operand if code of push isn't PRE_DEC.
8928 2014-01-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
8930         PR target/59909
8931         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
8932         -mquad-memory-atomic.  Update -mquad-memory documentation to say
8933         it is only used for non-atomic loads/stores.
8935         * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
8936         -mquad-memory or -mquad-memory-atomic switches.
8938         * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
8939         -mquad-memory-atomic to ISA 2.07 support.
8941         * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
8942         to separate support of normal quad word memory operations (ldq, stq)
8943         from the atomic quad word memory operations.
8945         * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
8946         support to separate non-atomic quad word operations from atomic
8947         quad word operations.  Disable non-atomic quad word operations in
8948         little endian mode so that we don't have to swap words after the
8949         load and before the store.
8950         (quad_load_store_p): Add comment about atomic quad word support.
8951         (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
8952         options printed with -mdebug=reg.
8954         * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
8955         -mquad-memory-atomic as the test for whether we have quad word
8956         atomic instructions.
8957         (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
8958         or -mp8-vector are used, allow byte/half-word atomic operations.
8960         * config/rs6000/sync.md (load_lockedti): Insure that the address
8961         is a proper indexed or indirect address for the lqarx instruction.
8962         On little endian systems, swap the hi/lo registers after the lqarx
8963         instruction.
8964         (load_lockedpti): Use indexed_or_indirect_operand predicate to
8965         insure the address is valid for the lqarx instruction.
8966         (store_conditionalti): Insure that the address is a proper indexed
8967         or indirect address for the stqcrx. instruction.  On little endian
8968         systems, swap the hi/lo registers before doing the stqcrx.
8969         instruction.
8970         (store_conditionalpti): Use indexed_or_indirect_operand predicate to
8971         insure the address is valid for the stqcrx. instruction.
8973         * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
8974         Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
8975         type of quad memory support is available.
8977 2014-01-23  Vladimir Makarov  <vmakarov@redhat.com>
8979         PR regression/59915
8980         * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
8981         there is a danger of looping.
8983 2014-01-23  Pat Haugen  <pthaugen@us.ibm.com>
8985         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
8986         force flag_ira_loop_pressure if set via command line.
8988 2014-01-23  Alex Velenko  <Alex.Velenko@arm.com>
8990         * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
8991         (ashr_simd): New builtin handling DI mode.
8992         * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
8993         (aarch64_sshr_simddi): New match pattern.
8994         * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
8995         (vshrd_n_s64): Likewise.
8996         * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
8998 2014-01-23  Nick Clifton  <nickc@redhat.com>
9000         * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
9001         (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
9002         favour of mcu specific scripts.
9003         * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
9004         430x multilibs.
9006 2014-01-23  James Greenhalgh  <james.greenhalgh@arm.com>
9007             Alex Velenko  <Alex.Velenko@arm.com>
9009         * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
9010         (vaddv_s16): Likewise.
9011         (vaddv_s32): Likewise.
9012         (vaddv_u8): Likewise.
9013         (vaddv_u16): Likewise.
9014         (vaddv_u32): Likewise.
9015         (vaddvq_s8): Likewise.
9016         (vaddvq_s16): Likewise.
9017         (vaddvq_s32): Likewise.
9018         (vaddvq_s64): Likewise.
9019         (vaddvq_u8): Likewise.
9020         (vaddvq_u16): Likewise.
9021         (vaddvq_u32): Likewise.
9022         (vaddvq_u64): Likewise.
9023         (vaddv_f32): Likewise.
9024         (vaddvq_f32): Likewise.
9025         (vaddvq_f64): Likewise.
9026         (vmaxv_f32): Likewise.
9027         (vmaxv_s8): Likewise.
9028         (vmaxv_s16): Likewise.
9029         (vmaxv_s32): Likewise.
9030         (vmaxv_u8): Likewise.
9031         (vmaxv_u16): Likewise.
9032         (vmaxv_u32): Likewise.
9033         (vmaxvq_f32): Likewise.
9034         (vmaxvq_f64): Likewise.
9035         (vmaxvq_s8): Likewise.
9036         (vmaxvq_s16): Likewise.
9037         (vmaxvq_s32): Likewise.
9038         (vmaxvq_u8): Likewise.
9039         (vmaxvq_u16): Likewise.
9040         (vmaxvq_u32): Likewise.
9041         (vmaxnmv_f32): Likewise.
9042         (vmaxnmvq_f32): Likewise.
9043         (vmaxnmvq_f64): Likewise.
9044         (vminv_f32): Likewise.
9045         (vminv_s8): Likewise.
9046         (vminv_s16): Likewise.
9047         (vminv_s32): Likewise.
9048         (vminv_u8): Likewise.
9049         (vminv_u16): Likewise.
9050         (vminv_u32): Likewise.
9051         (vminvq_f32): Likewise.
9052         (vminvq_f64): Likewise.
9053         (vminvq_s8): Likewise.
9054         (vminvq_s16): Likewise.
9055         (vminvq_s32): Likewise.
9056         (vminvq_u8): Likewise.
9057         (vminvq_u16): Likewise.
9058         (vminvq_u32): Likewise.
9059         (vminnmv_f32): Likewise.
9060         (vminnmvq_f32): Likewise.
9061         (vminnmvq_f64): Likewise.
9063 2014-01-23  James Greenhalgh  <james.greenhalgh@arm.com>
9065         * config/aarch64/aarch64-simd.md
9066         (aarch64_dup_lane<mode>): Correct lane number on big-endian.
9067         (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
9068         (*aarch64_mul3_elt<mode>): Likewise.
9069         (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
9070         (*aarch64_mul3_elt_to_64v2df): Likewise.
9071         (*aarch64_mla_elt<mode>): Likewise.
9072         (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
9073         (*aarch64_mls_elt<mode>): Likewise.
9074         (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
9075         (*aarch64_fma4_elt<mode>): Likewise.
9076         (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
9077         (*aarch64_fma4_elt_to_64v2df): Likewise.
9078         (*aarch64_fnma4_elt<mode>): Likewise.
9079         (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
9080         (*aarch64_fnma4_elt_to_64v2df): Likewise.
9081         (aarch64_sq<r>dmulh_lane<mode>): Likewise.
9082         (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
9083         (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
9084         (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
9085         (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
9086         (aarch64_sqdmull_lane<mode>_internal): Likewise.
9087         (aarch64_sqdmull2_lane<mode>_internal): Likewise.
9089 2013-01-23  Alex Velenko  <Alex.Velenko@arm.com>
9091         * config/aarch64/aarch64-simd.md
9092         (aarch64_be_checked_get_lane<mode>): New define_expand.
9093         * config/aarch64/aarch64-simd-builtins.def
9094         (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
9095         New builtin definition.
9096         * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
9097         Use new safe be builtin.
9099 2014-01-23  Alex Velenko  <Alex.Velenko@arm.com>
9101         * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
9102         New define_insn.
9103         (aarch64_be_st1<mode>): Likewise.
9104         (aarch_ld1<VALL:mode>): Define_expand modified.
9105         (aarch_st1<VALL:mode>): Likewise.
9106         * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
9107         (UNSPEC_ST1): Likewise.
9109 2014-01-23  David Holsgrove  <david.holsgrove@xilinx.com>
9111         * config/microblaze/microblaze.md: Add trap insn and attribute
9113 2014-01-23  Dodji Seketeli  <dodji@redhat.com>
9115         PR preprocessor/58580
9116         * input.h (location_get_source_line): Take an additional line_size
9117         parameter.
9118         (void diagnostics_file_cache_fini): Declare new function.
9119         * input.c (struct fcache): New type.
9120         (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
9121         New static constants.
9122         (diagnostic_file_cache_init, total_lines_num)
9123         (lookup_file_in_cache_tab, evicted_cache_tab_entry)
9124         (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
9125         (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
9126         (get_next_line, read_next_line, goto_next_line, read_line_num):
9127         New static function definitions.
9128         (diagnostic_file_cache_fini): New function.
9129         (location_get_source_line): Take an additional output line_len
9130         parameter.  Re-write using lookup_or_add_file_to_cache_tab and
9131         read_line_num.
9132         * diagnostic.c (diagnostic_finish): Call
9133         diagnostic_file_cache_fini.
9134         (adjust_line): Take an additional input parameter for the length
9135         of the line, rather than calculating it with strlen.
9136         (diagnostic_show_locus): Adjust the use of
9137         location_get_source_line and adjust_line with respect to their new
9138         signature.  While displaying a line now, do not stop at the first
9139         null byte.  Rather, display the zero byte as a space and keep
9140         going until we reach the size of the line.
9141         * Makefile.in: Add vec.o to OBJS-libcommon
9143 2014-01-23  Kirill Yukhin  <kirill.yukhin@intel.com>
9144             Ilya Tocar     <ilya.tocar@intel.com>
9146         * config/i386/avx512fintrin.h (_mm512_kmov): New.
9147         * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
9148         (__builtin_ia32_kmov16): Ditto.
9149         * config/i386/i386.md (UNSPEC_KMOV): New.
9150         (kmovw): Ditto.
9152 2014-01-23  Kirill Yukhin  <kirill.yukhin@intel.com>
9154         * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
9155         (_mm512_storeu_si512): Ditto.
9157 2014-01-23  Richard Sandiford  <rdsandiford@googlemail.com>
9159         PR target/52125
9160         * rtl.h (get_referenced_operands): Declare.
9161         * recog.c (get_referenced_operands): New function.
9162         * config/mips/mips.c (mips_reorg_process_insns): Check which asm
9163         operands have been referenced when recording LO_SUM references.
9165 2014-01-22  David Holsgrove  <david.holsgrove@xilinx.com>
9167         * config/microblaze/microblaze.md: Correct bswaphi2 insn.
9169 2014-01-22  Jan Hubicka  <hubicka@ucw.cz>
9171         * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
9172         Enable for generic and recent AMD targets.
9174 2014-01-22  Jan Hubicka  <hubicka@ucw.cz>
9176         * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
9177         ARG_SIZE note when adjustment was eliminated.
9179 2014-01-22  Jeff Law  <law@redhat.com>
9181         PR tree-optimization/59597
9182         * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
9183         in file.  Accept new argument REGISTERING and use it to modify
9184         dump output appropriately.
9185         (register_jump_thread): Corresponding changes.
9186         (mark_threaded_blocks): Reinstate code to cancel unprofitable
9187         thread paths involving joiner blocks.  Add code to dump cancelled
9188         jump threading paths.
9190 2014-01-22  Vladimir Makarov  <vmakarov@redhat.com>
9192         PR rtl-optimization/59477
9193         * lra-constraints.c (inherit_in_ebb): Process call for living hard
9194         regs.  Update reloads_num and potential_reload_hard_regs for all insns.
9196 2014-01-22  Tom Tromey  <tromey@redhat.com>
9198         * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
9199         PARAMS.
9200         * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
9202 2014-01-21  Vladimir Makarov  <vmakarov@redhat.com>
9204         PR rtl-optimization/59896
9205         * lra-constraints.c (process_alt_operands): Check unused note for
9206         matched operands of insn with no output reloads.
9208 2014-01-21  Richard Sandiford  <rdsandiford@googlemail.com>
9210         * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
9211         (mips_move_from_gpr_cost): Likewise.
9213 2014-01-21  Vladimir Makarov  <vmakarov@redhat.com>
9215         PR rtl-optimization/59858
9216         * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
9217         ira_class_hard_regs_num.
9218         (process_alt_operands): Increase reject for dying matched operand.
9220 2014-01-21  Jakub Jelinek  <jakub@redhat.com>
9222         PR target/59003
9223         * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
9224         smaller than size, perform several stores or loads and stores
9225         at dst + count - size to store or copy all of size bytes, rather
9226         than just last modesize bytes.
9228 2014-01-20  DJ Delorie  <dj@redhat.com>
9230         * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
9231         that CLOBBERs are REGs before propogating their values.
9233 2014-01-20  H.J. Lu  <hongjiu.lu@intel.com>
9235         PR middle-end/59789
9236         * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
9237         (cgraph_inline_failed_type): New function.
9238         * cgraph.h (DEFCIFCODE): Add type.
9239         (cgraph_inline_failed_type_t): New enum.
9240         (cgraph_inline_failed_type): New prototype.
9241         * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
9242         FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
9243         FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
9244         LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
9245         MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
9246         RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
9247         OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
9248         INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
9249         Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
9250         FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
9251         EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
9252         OPTIMIZATION_MISMATCH.
9253         * tree-inline.c (expand_call_inline): Emit errors during
9254         early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
9256 2014-01-20  Uros Bizjak  <ubizjak@gmail.com>
9258         PR target/59685
9259         * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
9260         mode attribute in insn output.
9262 2014-01-20  Eric Botcazou  <ebotcazou@adacore.com>
9264         * output.h (output_constant): Delete.
9265         * varasm.c (output_constant): Make private.
9267 2014-01-20  Alex Velenko  <Alex.Velenko@arm.com>
9269         * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
9271 2014-01-20  Jakub Jelinek  <jakub@redhat.com>
9273         PR middle-end/59860
9274         * tree.h (fold_builtin_strcat): New prototype.
9275         * builtins.c (fold_builtin_strcat): No longer static.  Add len
9276         argument, if non-NULL, don't call c_strlen.  Optimize
9277         directly into __builtin_memcpy instead of __builtin_strcpy.
9278         (fold_builtin_2): Adjust fold_builtin_strcat caller.
9279         * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
9281 2014-01-20  Uros Bizjak  <ubizjak@gmail.com>
9283         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
9284         for SImode_address_operand operands, having only a REG argument.
9286 2014-01-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
9288         * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
9289         loader name using mbig-endian.
9290         (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
9292 2014-01-20  James Greenhalgh  <james.greenhalgh@arm.com>
9294         * doc/invoke.texi (-march): Clarify documentation for AArch64.
9295         (-mtune): Likewise.
9296         (-mcpu): Likewise.
9298 2014-01-20  Tejas Belagod  <tejas.belagod@arm.com>
9300         * config/aarch64/aarch64-protos.h
9301         (aarch64_cannot_change_mode_class_ptr): Declare.
9302         * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
9303         aarch64_cannot_change_mode_class_ptr): New.
9304         * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
9305         backend hook aarch64_cannot_change_mode_class.
9307 2014-01-20  James Greenhalgh  <james.greenhalgh@arm.com>
9309         * common/config/aarch64/aarch64-common.c
9310         (aarch64_handle_option): Don't handle any option order logic here.
9311         * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
9312         selected_cpu, warn on architecture version mismatch.
9313         (aarch64_override_options): Fix parsing order for option strings.
9315 2014-01-20  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
9316             Iain Sandoe  <iain@codesourcery.com>
9318         PR bootstrap/59496
9319         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
9320         warning.  Amend comment to reflect current functionality.
9322 2014-01-20  Richard Biener  <rguenther@suse.de>
9324         PR middle-end/59860
9325         * builtins.c (fold_builtin_strcat): Remove case better handled
9326         by tree-ssa-strlen.c.
9328 2014-01-20  Alan Lawrence  <alan.lawrence@arm.com>
9330         * config/aarch64/aarch64.opt
9331         (mcpu, march, mtune): Make case-insensitive.
9333 2014-01-20  Jakub Jelinek  <jakub@redhat.com>
9335         PR target/59880
9336         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
9337         if operands[1] is a REG or ZERO_EXTEND of a REG.
9339 2014-01-19  Jan Hubicka  <hubicka@ucw.cz>
9341         * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
9343 2014-01-19  John David Anglin  <danglin@gcc.gnu.org>
9345         * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
9346         long non-pic millicode calls.
9348 2014-01-19  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
9350         * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
9352 2014-01-19  Kito Cheng  <kito@0xlab.org>
9354         * builtins.c (expand_movstr): Check movstr expand done or fail.
9356 2014-01-18  Uros Bizjak  <ubizjak@gmail.com>
9357             H.J. Lu  <hongjiu.lu@intel.com>
9359         PR target/59379
9360         * config/i386/i386.md (*lea<mode>): Zero-extend return register
9361         to DImode for zero-extended addresses.
9363 2014-01-19  Jakub Jelinek  <jakub@redhat.com>
9365         PR rtl-optimization/57763
9366         * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
9367         on the new indirect jump_insn and increment LABEL_NUSES (label).
9369 2014-01-18  H.J. Lu  <hongjiu.lu@intel.com>
9371         PR bootstrap/59580
9372         PR bootstrap/59583
9373         * config.gcc (x86_archs): New variable.
9374         (x86_64_archs): Likewise.
9375         (x86_cpus): Likewise.
9376         Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
9377         --with-arch/--with-cpu= options.
9378         Support --with-arch=/--with-cpu={nehalem,westmere,
9379         sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
9381 2014-01-18  Uros Bizjak  <ubizjak@gmail.com>
9383         * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
9384         and PROCESSOR_ATHLON to simplify code.  Move "memory" calculation.
9386 2014-01-18  Uros Bizjak  <ubizjak@gmail.com>
9388         * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
9390 2014-01-18  Jakub Jelinek  <jakub@redhat.com>
9392         PR target/58944
9393         * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
9394         clear cpp_get_options (parse_in)->warn_unused_macros for
9395         ix86_target_macros_internal with cpp_define.
9397 2014-01-18  Richard Sandiford  <rdsandiford@googlemail.com>
9399         * jump.c (delete_related_insns): Keep (use (insn))s.
9400         * reorg.c (redundant_insn): Check for barriers too.
9402 2014-01-17  H.J. Lu  <hongjiu.lu@intel.com>
9404         * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
9406 2014-01-17  John David Anglin  <danglin@gcc.gnu.org>
9408         * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
9409         call to $$dyncall when TARGET_LONG_CALLS is true.
9411 2014-01-17  Jeff Law  <law@redhat.com>
9413         * ree.c (combine_set_extension): Temporarily disable test for
9414         changing number of hard registers.
9416 2014-01-17  Jan Hubicka  <hubicka@ucw.cz>
9418         PR middle-end/58125
9419         * ipa-inline-analysis.c (inline_free_summary):
9420         Do not free summary of aliases.
9422 2014-01-17  Jakub Jelinek  <jakub@redhat.com>
9424         PR middle-end/59706
9425         * gimplify.c (gimplify_expr): Use create_tmp_var
9426         instead of create_tmp_var_raw.  If cond doesn't have
9427         integral type, don't add the IFN_ANNOTATE builtin at all.
9429 2014-01-17  Martin Jambor  <mjambor@suse.cz>
9431         PR ipa/59736
9432         * ipa-cp.c (prev_edge_clone): New variable.
9433         (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
9434         Also resize prev_edge_clone vector.
9435         (ipcp_edge_duplication_hook): Also update prev_edge_clone.
9436         (ipcp_edge_removal_hook): New function.
9437         (ipcp_driver): Register ipcp_edge_removal_hook.
9439 2014-01-17  Andrew Pinski  <apinski@cavium.com>
9440             Steve Ellcey  <sellcey@mips.com>
9442         PR target/59462
9443         * config/mips/mips.c (mips_print_operand): Check operand mode instead
9444         of operator mode.
9446 2014-01-17  Jeff Law  <law@redhat.com>
9448         PR middle-end/57904
9449         * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
9450         so that pass_ccp runs first.
9452 2014-01-17  H.J. Lu  <hongjiu.lu@intel.com>
9454         * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
9455         (ix86_adjust_cost): Use !TARGET_XXX.
9456         (do_reorder_for_imul): Likewise.
9457         (swap_top_of_ready_list): Likewise.
9458         (ix86_sched_reorder): Likewise.
9460 2014-01-17  H.J. Lu  <hongjiu.lu@intel.com>
9462         * config/i386/i386-c.c (ix86_target_macros_internal): Handle
9463         PROCESSOR_INTEL.  Treat like PROCESSOR_GENERIC.
9464         * config/i386/i386.c (intel_memcpy): New.  Duplicate slm_memcpy.
9465         (intel_memset): New.  Duplicate slm_memset.
9466         (intel_cost): New.  Duplicate slm_cost.
9467         (m_INTEL): New macro.
9468         (processor_target_table): Add "intel".
9469         (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
9470         with PROCESSOR_INTEL for "intel".
9471         (ix86_lea_outperforms): Support PROCESSOR_INTEL.  Duplicate
9472         PROCESSOR_SILVERMONT.
9473         (ix86_issue_rate): Likewise.
9474         (ix86_adjust_cost): Likewise.
9475         (ia32_multipass_dfa_lookahead): Likewise.
9476         (swap_top_of_ready_list): Likewise.
9477         (ix86_sched_reorder): Likewise.
9478         (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
9479         instead of TARGET_OPT_AGU.
9480         * config/i386/i386.h (TARGET_INTEL): New.
9481         (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
9482         (processor_type): Add PROCESSOR_INTEL.
9483         * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
9484         Add X86_TUNE_AVOID_LEA_FOR_ADDR.
9486 2014-01-17  Marek Polacek  <polacek@redhat.com>
9488         PR c/58346
9489         * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
9490         size is zero.
9492 2014-01-17  Richard Biener  <rguenther@suse.de>
9494         PR tree-optimization/46590
9495         * opts.c (default_options_table): Add entries for
9496         OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
9497         all enabled at -O1 but not for -Og.
9498         * common.opt (fbranch-count-reg): Remove Init(1).
9499         (fmove-loop-invariants): Likewise.
9500         (ftree-pta): Likewise.
9502 2014-01-17  Jakub Jelinek  <jakub@redhat.com>
9504         * config/i386/i386.c (ix86_data_alignment): For compatibility with
9505         (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
9506         decls to at least the GCC 4.8 used alignments.
9508         PR fortran/59440
9509         * tree-nested.c (convert_nonlocal_reference_stmt,
9510         convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
9511         of GIMPLE_BIND stmts, adjust associated decls.
9513 2014-01-17  Richard Biener  <rguenther@suse.de>
9515         PR tree-optimization/46590
9516         * vec.h (vec<>::bseach): New member function implementing
9517         binary search according to C89 bsearch.
9518         (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
9519         * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
9520         bitmap pointer again.  Make accesses_in_loop a flat array.
9521         (mem_ref_obstack): New global.
9522         (outermost_indep_loop): Adjust for mem_ref->stored changes.
9523         (mark_ref_stored): Likewise.
9524         (ref_indep_loop_p_2): Likewise.
9525         (set_ref_stored_in_loop): New helper function.
9526         (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
9527         (memref_free): Adjust.
9528         (record_mem_ref_loc): Simplify.
9529         (gather_mem_refs_stmt): Adjust.
9530         (sort_locs_in_loop_postorder_cmp): New function.
9531         (analyze_memory_references): Sort accesses_in_loop after
9532         loop postorder number.
9533         (find_ref_loc_in_loop_cmp): New function.
9534         (for_all_locs_in_loop): Find relevant cluster of locs in
9535         accesses_in_loop and iterate without recursion.
9536         (execute_sm): Avoid uninit warning.
9537         (struct ref_always_accessed): Simplify.
9538         (ref_always_accessed::operator ()): Likewise.
9539         (ref_always_accessed_p): Likewise.
9540         (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
9541         loop postorder numbers here.
9542         (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
9543         numbers.
9545 2014-01-17  Jan Hubicka  <hubicka@ucw.cz>
9547         PR c++/57945
9548         * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
9549         on decls for which assemble_alias has been called.
9551 2014-01-17  Nick Clifton  <nickc@redhat.com>
9553         * config/msp430/msp430.opt: (mcpu): New option.
9554         * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
9555         (msp430_option_override): Parse target_cpu.  If the MCU name
9556         matches a generic string, clear target_mcu.
9557         (msp430_attr): Allow numeric interrupt values up to 63.
9558         (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
9559         * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
9560         option.
9561         * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
9562         Add mcpu matches.
9563         * config/msp430/msp430.md (popm): Use %J rather than %I.
9564         (addsi3): Use msp430_nonimmediate_operand for operand 2.
9565         (addhi_cy_i): Use immediate_operand for operand 2.
9566         * doc/invoke.texi: Document -mcpu option.
9568 2014-01-17  Richard Biener  <rguenther@suse.de>
9570         PR rtl-optimization/38518
9571         * df.h (df_analyze_loop): Declare.
9572         * df-core.c: Include cfgloop.h.
9573         (df_analyze_1): Split out main part of df_analyze.
9574         (df_analyze): Adjust.
9575         (loop_inverted_post_order_compute): New function.
9576         (loop_post_order_compute): Likewise.
9577         (df_analyze_loop): New function avoiding whole-function
9578         postorder computes.
9579         * loop-invariant.c (find_defs): Use df_analyze_loop.
9580         (find_invariants): Adjust.
9581         * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
9583 2014-01-17  Zhenqiang Chen  <zhenqiang.chen@arm.com>
9585         * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
9586         (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
9588 2014-01-16  Ilya Enkovich  <ilya.enkovich@intel.com>
9590         * ipa-ref.c (ipa_remove_stmt_references): Fix references
9591         traversal when removing references.
9593 2014-01-16  Jan Hubicka  <hubicka@ucw.cz>
9595         PR ipa/59775
9596         * tree.c (get_binfo_at_offset): Look harder for virtual bases.
9598 2014-01-16  Bernd Schmidt  <bernds@codesourcery.com>
9600         PR middle-end/56791
9601         * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
9602         pushing a reload for an autoinc when we had previously reloaded an
9603         inner part of the address.
9605 2014-01-16  Jakub Jelinek  <jakub@redhat.com>
9607         * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
9608         field.
9609         (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
9610         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
9611         when not giving up or versioning for alias only because of
9612         loop->safelen.
9613         (vect_analyze_data_ref_dependences): Set to true.
9614         * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
9615         is a GIMPLE_PHI.
9616         (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
9617         LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
9618         to the condition.
9620         PR middle-end/58344
9621         * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
9623         PR target/59839
9624         * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
9625         operand 0 predicate for gathers, use a new pseudo as subtarget.
9627 2014-01-16  Vladimir Makarov  <vmakarov@redhat.com>
9629         PR middle-end/59609
9630         * lra-constraints.c (process_alt_operands): Add printing debug info.
9631         Check absence of input/output reloads for matched operands too.
9633 2014-01-16  Vladimir Makarov  <vmakarov@redhat.com>
9635         PR rtl-optimization/59835
9636         * ira.c (ira_init_register_move_cost): Increase cost for
9637         impossible modes.
9639 2014-01-16  Alan Lawrence  <alan.lawrence@arm.com>
9641         * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
9643 2014-01-16  Richard Earnshaw  <rearnsha@arm.com>
9645         PR target/59780
9646         * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
9647         non-register objects.  Use gen_(high/low)part more consistently.
9648         Fix assertions.
9650 2014-01-16  Michael Meissner  <meissner@linux.vnet.ibm.com>
9652         PR target/59844
9653         * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
9654         endian support, remove tests for WORDS_BIG_ENDIAN.
9655         (p8_mfvsrd_3_<mode>): Likewise.
9656         (reload_gpr_from_vsx<mode>): Likewise.
9657         (reload_gpr_from_vsxsf): Likewise.
9658         (p8_mfvsrd_4_disf): Likewise.
9660 2014-01-16  Richard Biener  <rguenther@suse.de>
9662         PR rtl-optimization/46590
9663         * lcm.c (compute_antinout_edge): Use postorder iteration.
9664         (compute_laterin): Use inverted postorder iteration.
9666 2014-01-16  Nick Clifton  <nickc@redhat.com>
9668         PR middle-end/28865
9669         * varasm.c (output_constant): Return the number of bytes actually
9670         emitted.
9671         (output_constructor_array_range): Update the field size with the
9672         number of bytes emitted by output_constant.
9673         (output_constructor_regular_field): Likewise.  Also do not
9674         complain if the total number of bytes emitted is now greater
9675         than the expected fieldpos.
9676         * output.h (output_constant): Update prototype and descriptive comment.
9678 2014-01-16  Marek Polacek  <polacek@redhat.com>
9680         PR middle-end/59827
9681         * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
9682         it is error_mark_node.
9684 2014-01-15  Uros Bizjak  <ubizjak@gmail.com>
9686         * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
9687         VALID_AVX256_REG_OR_OI_MODE.
9689 2014-01-15  Pat Haugen  <pthaugen@us.ibm.com>
9691         * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
9692         current procedure should be profiled.
9694 2014-01-15  Andrew Pinski  <apinski@cavium.com>
9696         * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
9697         of moving from/to the STACK_REG register class.
9699 2014-01-15  Richard Henderson  <rth@redhat.com>
9701         PR debug/54694
9702         * reginfo.c (global_regs_decl): Globalize.
9703         * rtl.h (global_regs_decl): Declare.
9704         * ira.c (do_reload): Diagnose frame_pointer_needed and it
9705         reserved via global_regs.
9707 2014-01-15  Teresa Johnson  <tejohnson@google.com>
9709         * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
9711 2014-01-15  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>
9713         * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
9714         and vmulosh rather than call gen_vec_widen_smult_*.
9715         (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
9716         than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
9717         (vec_widen_smult_even_v16qi): Likewise.
9718         (vec_widen_umult_even_v8hi): Likewise.
9719         (vec_widen_smult_even_v8hi): Likewise.
9720         (vec_widen_umult_odd_v16qi): Likewise.
9721         (vec_widen_smult_odd_v16qi): Likewise.
9722         (vec_widen_umult_odd_v8hi): Likewise.
9723         (vec_widen_smult_odd_v8hi): Likewise.
9724         (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
9725         vmuloub rather than call gen_vec_widen_umult_*.
9726         (vec_widen_umult_lo_v16qi): Likewise.
9727         (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
9728         vmulosb rather than call gen_vec_widen_smult_*.
9729         (vec_widen_smult_lo_v16qi): Likewise.
9730         (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
9731         rather than call gen_vec_widen_umult_*.
9732         (vec_widen_umult_lo_v8hi): Likewise.
9733         (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
9734         rather than call gen_vec_widen_smult_*.
9735         (vec_widen_smult_lo_v8hi): Likewise.
9737 2014-01-15  Jeff Law  <law@redhat.com>
9739         PR tree-optimization/59747
9740         * ree.c (find_and_remove_re): Properly handle case where a second
9741         eliminated extension requires widening a copy created for elimination
9742         of a prior extension.
9743         (combine_set_extension): Ensure that the number of hard regs needed
9744         for a destination register does not change when we widen it.
9746 2014-01-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
9748         * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
9749         (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
9750         (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
9751         (arm*-*-rtems*): Use t-rtems from existing tmake_file.
9752         (avr-*-rtems*): Likewise.
9753         (bfin*-rtems*): Likewise.
9754         (moxie-*-rtems*): Likewise.
9755         (h8300-*-rtems*): Likewise.
9756         (i[34567]86-*-rtems*): Likewise.
9757         (lm32-*-rtems*): Likewise.
9758         (m32r-*-rtems*): Likewise.
9759         (m68k-*-rtems*): Likewise.
9760         (microblaze*-*-rtems*): Likewise.
9761         (mips*-*-rtems*): Likewise.
9762         (powerpc-*-rtems*): Likewise.
9763         (sh-*-rtems*): Likewise.
9764         (sparc-*-rtems*): Likewise.
9765         (sparc64-*-rtems*): Likewise.
9766         (v850-*-rtems*): Likewise.
9767         (m32c-*-rtems*): Likewise.
9769 2014-01-15  Vladimir Makarov  <vmakarov@redhat.com>
9771         PR rtl-optimization/59511
9772         * ira.c (ira_init_register_move_cost): Use memory costs for some
9773         cases of register move cost calculations.
9774         * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
9775         instead of BB frequency.
9776         * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
9777         * lra-assigns.c (find_hard_regno_for): Ditto.
9779 2014-01-15  Richard Biener  <rguenther@suse.de>
9781         PR tree-optimization/59822
9782         * tree-vect-stmts.c (hoist_defs_of_uses): New function.
9783         (vectorizable_load): Use it to hoist defs of uses of invariant
9784         loads out of the loop.
9786 2014-01-15  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
9787             Kugan Vivekanandarajah  <kuganv@linaro.org>
9789         PR target/59695
9790         * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
9791         truncation.
9793 2014-01-15  Richard Biener  <rguenther@suse.de>
9795         PR rtl-optimization/59802
9796         * lcm.c (compute_available): Use inverted postorder to seed
9797         the initial worklist.
9799 2014-01-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
9801         PR target/59803
9802         * config/s390/s390.c (s390_preferred_reload_class): Don't return
9803         ADDR_REGS for invalid symrefs in non-PIC code.
9805 2014-01-15  Jakub Jelinek  <jakub@redhat.com>
9807         PR other/58712
9808         * builtins.c (determine_block_size): Initialize *probable_max_size
9809         even if len_rtx is CONST_INT.
9811 2014-01-14  Andrew Pinski  <apinski@cavium.com>
9813         * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
9814         * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
9815         (cortexa53_tunings): Likewise.
9816         (aarch64_sched_issue_rate): New function.
9817         (TARGET_SCHED_ISSUE_RATE): Define.
9819 2014-01-14  Vladimir Makarov  <vmakarov@redhat.com>
9821         * ira-costs.c (find_costs_and_classes): Add missed
9822         ira_init_register_move_cost_if_necessary.
9824 2014-01-14  Vladimir Makarov  <vmakarov@redhat.com>
9826         PR target/59787
9827         * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
9829 2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
9831         PR target/59794
9832         * config/i386/i386.c (type_natural_mode): Add a bool parameter
9833         to indicate if type is used for function return value.  Warn ABI
9834         change if the vector mode isn't available for function return value.
9835         (ix86_function_arg_advance): Pass false to type_natural_mode.
9836         (ix86_function_arg): Likewise.
9837         (ix86_gimplify_va_arg): Likewise.
9838         (function_arg_32): Don't warn ABI change.
9839         (ix86_function_value): Pass true to type_natural_mode.
9840         (ix86_return_in_memory): Likewise.
9841         (ix86_struct_value_rtx): Removed.
9842         (TARGET_STRUCT_VALUE_RTX): Likewise.
9844 2014-01-14  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
9846         * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
9847         converting a conditional jump into a conditional return.
9849 2014-01-14  Richard Biener  <rguenther@suse.de>
9851         PR tree-optimization/58921
9852         PR tree-optimization/59006
9853         * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
9854         hoisting invariant stmts.
9855         * tree-vect-stmts.c (vectorizable_load): Insert the splat of
9856         invariant loads on the preheader edge if possible.
9858 2014-01-14  Joey Ye  <joey.ye@arm.com>
9860         * doc/plugin.texi (Building GCC plugins): Update to C++.
9862 2014-01-14  Kirill Yukhin  <kirill.yukhin@intel.com>
9864         * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
9865         (_mm_rcp28_round_ss): Ditto.
9866         (_mm_rsqrt28_round_sd): Ditto.
9867         (_mm_rsqrt28_round_ss): Ditto.
9868         (_mm_rcp28_sd): Ditto.
9869         (_mm_rcp28_ss): Ditto.
9870         (_mm_rsqrt28_sd): Ditto.
9871         (_mm_rsqrt28_ss): Ditto.
9872         * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
9873         * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
9874         * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
9875         (IX86_BUILTIN_RCP28SD): Ditto.
9876         (IX86_BUILTIN_RCP28SS): Ditto.
9877         (IX86_BUILTIN_RSQRT28SD): Ditto.
9878         (IX86_BUILTIN_RSQRT28SS): Ditto.
9879         (bdesc_special_args): Define __builtin_ia32_movntdqa512,
9880         __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
9881         __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
9882         (ix86_expand_special_args_builtin): Expand new FTYPE.
9883         * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
9884         (srcp14<mode>): Make insn unary.
9885         (avx512f_vmscalef<mode><round_name>): Use substed predicate.
9886         (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
9887         (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
9888         (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
9889         (avx512er_exp2<mode><mask_name><round_saeonly_name>):
9890         Fix rounding: make it SAE only.
9891         (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
9892         Ditto.
9893         (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
9894         Ditto.
9895         (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
9896         (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
9897         (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
9898         * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
9899         (round_saeonly_mask_scalar_operand4): Ditto.
9900         (round_saeonly_mask_scalar_op3): Ditto.
9901         (round_saeonly_mask_scalar_op4): Ditto.
9903 2014-01-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
9905         * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
9906         Implement -maltivec=be for vec_insert and vec_extract.
9908 2014-01-10  DJ Delorie  <dj@redhat.com>
9910         * config/msp430/msp430.md (call_internal): Don't allow memory
9911         references with SP as the base register.
9912         (call_value_internal): Likewise.
9913         * config/msp430/constraints.md (Yc): New.  For memory references
9914         that don't use SP as a base register.
9916         * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
9917         "an integer without a # prefix"
9918         * config/msp430/msp430.md (epilogue_helper): Use it.
9920 2014-01-13  Jakub Jelinek  <jakub@redhat.com>
9922         PR target/59617
9923         * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
9924         AVX512F gather builtins.
9925         * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
9926         on gather decls with INTEGER_TYPE masktype.
9927         (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
9928         directly into the builtin rather than hoisting it before loop.
9930         PR tree-optimization/59387
9931         * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
9932         (scev_const_prop): If folded_casts and type has undefined overflow,
9933         use force_gimple_operand instead of force_gimple_operand_gsi and
9934         for each added stmt if it is assign with
9935         arith_code_with_undefined_signed_overflow, call
9936         rewrite_to_defined_overflow.
9937         * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
9938         gimple-fold.h instead.
9939         (arith_code_with_undefined_signed_overflow,
9940         rewrite_to_defined_overflow): Moved to ...
9941         * gimple-fold.c (arith_code_with_undefined_signed_overflow,
9942         rewrite_to_defined_overflow): ... here.  No longer static.
9943         Include gimplify-me.h.
9944         * gimple-fold.h (arith_code_with_undefined_signed_overflow,
9945         rewrite_to_defined_overflow): New prototypes.
9947 2014-01-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
9949         * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
9951 2014-01-13  Eric Botcazou  <ebotcazou@adacore.com>
9953         * builtins.c (get_object_alignment_2): Minor tweak.
9954         * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
9956 2014-01-13  Christian Bruel  <christian.bruel@st.com>
9958         * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
9959         optimized non constant lengths.
9961 2014-01-13  Jakub Jelinek  <jakub@redhat.com>
9963         PR libgomp/59194
9964         * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
9965         load as __atomic_load_N if possible.
9967 2014-01-11  David Edelsohn  <dje.gcc@gmail.com>
9969         * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
9970         target parameter.
9971         (rs6000_expand_builtin): Adjust call.
9973 2014-01-11  David Edelsohn  <dje.gcc@gmail.com>
9975         PR target/58115
9976         * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
9977         * config/rs6000/rs6000.c: Include target-globals.h.
9978         (rs6000_set_current_function): Instead of doing target_reinit
9979         unconditionally, use save_target_globals_default_opts and
9980         restore_target_globals.
9982         * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
9983         FPSCR.
9984         * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
9985         (rs6000_expand_builtin): Handle mffs and mtfsf.
9986         (rs6000_init_builtins): Define mffs and mtfsf.
9987         * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
9988         (rs6000_mffs): New pattern.
9989         (rs6000_mtfsf): New pattern.
9991 2014-01-11  Bin Cheng  <bin.cheng@arm.com>
9993         * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
9994         Start narrowing with START.  Apply candidate-use pair
9995         and check overall cost in narrowing.
9996         (iv_ca_prune): Pass new argument.
9998 2014-01-10  Jeff Law  <law@redhat.com>
10000         PR middle-end/59743
10001         * ree.c (combine_reaching_defs): Ensure the defining statement
10002         occurs before the extension when optimizing extensions with
10003         different source and destination hard registers.
10005 2014-01-10  Jan Hubicka  <hubicka@ucw.cz>
10007         PR ipa/58585
10008         * ipa-devirt.c (build_type_inheritance_graph): Also add types of
10009         vtables into the type inheritance graph.
10011 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
10013         PR rtl-optimization/59754
10014         * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
10015         modes in the REGNO != REGNO case.
10017 2014-01-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
10019         * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
10021 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
10023         PR tree-optimization/59745
10024         * tree-predcom.c (tree_predictive_commoning_loop): Call
10025         free_affine_expand_cache if giving up because components is NULL.
10027         * target-globals.c (save_target_globals): Allocate < 4KB structs using
10028         GC in payload of target_globals struct instead of allocating them on
10029         the heap and the larger structs separately using GC.
10030         * target-globals.h (struct target_globals): Make regs, hard_regs,
10031         reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
10032         of GTY((skip)) and change type to void *.
10033         (reset_target_globals): Cast loads from those fields to corresponding
10034         types.
10036 2014-01-10  Steve Ellcey  <sellcey@mips.com>
10038         PR plugins/59335
10039         * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
10040         gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
10041         tree-ssanames.h, print-tree.h, varasm.h, and context.h.
10043 2014-01-10  Richard Earnshaw  <rearnsha@arm.com>
10045         PR target/59744
10046         * aarch64-modes.def (CC_Zmode): New flags mode.
10047         * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
10048         represents an equality.
10049         (aarch64_get_condition_code): Handle CC_Zmode.
10050         * aarch64.md (compare_neg<mode>): Restrict to equality operations.
10052 2014-01-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
10054         * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
10055         extraction in good case.
10057 2014-01-10  Richard Biener  <rguenther@suse.de>
10059         PR tree-optimization/59374
10060         * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
10061         checking after SLP discovery.  Mark stmts not participating
10062         in any SLP instance properly.
10064 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10066         * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
10067         when handling a SET rtx.
10069 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10071         * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
10072         (cortex-a57): Likewise.
10073         (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
10075 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10077         * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
10078         non-iwmmxt builtins.
10080 2014-01-10  Jan Hubicka  <hubicka@ucw.cz>
10082         PR ipa/58252
10083         PR ipa/59226
10084         * ipa-devirt.c record_target_from_binfo): Take as argument
10085         stack of binfos and lookup matching one for virtual inheritance.
10086         (possible_polymorphic_call_targets_1): Update.
10088 2014-01-10  Huacai Chen  <chenhc@lemote.com>
10090         * config/mips/driver-native.c (host_detect_local_cpu): Handle new
10091         kernel strings for Loongson-2E/2F/3A.
10093 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
10095         PR middle-end/59670
10096         * tree-vect-data-refs.c (vect_analyze_data_refs): Check
10097         is_gimple_call before calling gimple_call_internal_p.
10099 2014-01-09  Steve Ellcey  <sellcey@mips.com>
10101         * Makefile.in (TREE_FLOW_H): Remove.
10102         (TREE_SSA_H): Add file names from tree-flow.h.
10103         * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
10104         * tree.h: Remove tree-flow.h reference.
10105         * hash-table.h: Remove tree-flow.h reference.
10106         * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
10107         reference with tree-ssa-loop.h.
10109 2014-01-09  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
10111         * doc/invoke.texi: Add -maltivec={be,le} options, and document
10112         default element-order behavior for -maltivec.
10113         * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
10114         * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
10115         that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
10116         when targeting big endian, at least for now.
10117         * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
10119 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
10121         PR middle-end/47735
10122         * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
10123         var satisfies use_register_for_decl, just take into account type
10124         alignment, rather than decl alignment.
10126         PR tree-optimization/59622
10127         * gimple-fold.c (gimple_fold_call): Fix a typo in message.  For
10128         __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
10129         __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
10130         Don't devirtualize for inplace at all.  For targets.length () == 1,
10131         if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
10133 2014-01-09  H.J. Lu  <hongjiu.lu@intel.com>
10135         * config/i386/i386.md (cpu): Remove the unused btver1.
10137 2014-01-09  H.J. Lu  <hongjiu.lu@intel.com>
10139         * gdbasan.in: Put a breakpoint on __sanitizer::Report.
10141 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
10143         PR target/58115
10144         * tree-core.h (struct target_globals): New forward declaration.
10145         (struct tree_target_option): Add globals field.
10146         * tree.h (TREE_TARGET_GLOBALS): Define.
10147         (prepare_target_option_nodes_for_pch): New prototype.
10148         * target-globals.h (struct target_globals): Define even if
10149         !SWITCHABLE_TARGET.
10150         * tree.c (prepare_target_option_node_for_pch,
10151         prepare_target_option_nodes_for_pch): New functions.
10152         * config/i386/i386.h (SWITCHABLE_TARGET): Define.
10153         * config/i386/i386.c: Include target-globals.h.
10154         (ix86_set_current_function): Instead of doing target_reinit
10155         unconditionally, use save_target_globals_default_opts and
10156         restore_target_globals.
10158 2014-01-09  Richard Biener  <rguenther@suse.de>
10160         PR tree-optimization/59715
10161         * tree-cfg.h (split_critical_edges): Declare.
10162         * tree-cfg.c (split_critical_edges): Export.
10163         * tree-ssa-sink.c (execute_sink_code): Split critical edges.
10165 2014-01-09  Max Ostapenko  <m.ostapenko@partner.samsung.com>
10167         * cfgexpand.c (expand_stack_vars): Optionally disable
10168         asan stack protection.
10169         (expand_used_vars): Likewise.
10170         (partition_stack_vars): Likewise.
10171         * asan.c (asan_emit_stack_protection): Optionally disable
10172         after return stack usage.
10173         (instrument_derefs): Optionally disable memory access instrumentation.
10174         (instrument_builtin_call): Likewise.
10175         (instrument_strlen_call): Likewise.
10176         (asan_protect_global): Optionally disable global variables protection.
10177         * doc/invoke.texi: Added doc for new options.
10178         * params.def: Added new options.
10179         * params.h: Likewise.
10181 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
10183         PR rtl-optimization/59724
10184         * ifcvt.c (cond_exec_process_if_block): Don't call
10185         flow_find_head_matching_sequence with 0 longest_match.
10186         * cfgcleanup.c (flow_find_head_matching_sequence): Count even
10187         non-active insns if !stop_after.
10188         (try_head_merge_bb): Revert 2014-01-07 changes.
10190 2014-01-08  Jeff Law  <law@redhat.com>
10192         * ree.c (get_sub_rtx): New function, extracted from...
10193         (merge_def_and_ext): Here.
10194         (combine_reaching_defs): Use get_sub_rtx.
10196 2014-01-08  Eric Botcazou  <ebotcazou@adacore.com>
10198         * cgraph.h (varpool_variable_node): Do not choke on null node.
10200 2014-01-08  Catherine Moore  <clm@codesourcery.com>
10202         * config/mips/mips.md (simple_return): Attempt to use JRC
10203         for microMIPS.
10204         * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
10206 2014-01-08  Richard Sandiford  <rdsandiford@googlemail.com>
10208         PR rtl-optimization/59137
10209         * reorg.c (steal_delay_list_from_target): Call update_block for
10210         elided insns.
10211         (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
10213 2014-01-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
10215         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
10216         two duplicate entries.
10218 2014-01-08  Richard Sandiford  <rdsandiford@googlemail.com>
10220         Revert:
10221         2012-10-07  Richard Sandiford  <rdsandiford@googlemail.com>
10223         * config/mips/mips.c (mips_truncated_op_cost): New function.
10224         (mips_rtx_costs): Adjust test for BADDU.
10225         * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
10227         2012-10-02  Richard Sandiford  <rdsandiford@googlemail.com>
10229         * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
10230         (*baddu_si): ...this new pattern.
10232 2014-01-08  Jakub Jelinek  <jakub@redhat.com>
10234         PR ipa/59722
10235         * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
10237 2014-01-08  Bernd Edlinger  <bernd.edlinger@hotmail.de>
10239         PR middle-end/57748
10240         * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
10241         inner_reference_p.
10242         (expand_expr, expand_normal): Adjust.
10243         * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
10244         inner_reference_p. Use inner_reference_p to expand inner references.
10245         (store_expr): Adjust.
10246         * cfgexpand.c (expand_call_stmt): Adjust.
10248 2014-01-08  Rong Xu  <xur@google.com>
10250         * gcov-io.c (gcov_var): Move from gcov-io.h.
10251         (gcov_position): Ditto.
10252         (gcov_is_error): Ditto.
10253         (gcov_rewrite): Ditto.
10254         * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
10255         only part to libgcc/libgcov.h.
10257 2014-01-08  Marek Polacek  <polacek@redhat.com>
10259         PR middle-end/59669
10260         * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
10262 2014-01-08  Marek Polacek  <polacek@redhat.com>
10264         PR sanitizer/59667
10265         * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
10267 2014-01-08  Jakub Jelinek  <jakub@redhat.com>
10269         PR rtl-optimization/59649
10270         * stor-layout.c (get_mode_bounds): For BImode return
10271         0 and STORE_FLAG_VALUE.
10273 2014-01-08  Richard Biener  <rguenther@suse.de>
10275         PR middle-end/59630
10276         * gimple.h (is_gimple_builtin_call): Remove.
10277         (gimple_builtin_call_types_compatible_p): New.
10278         (gimple_call_builtin_p): New overload.
10279         * gimple.c (is_gimple_builtin_call): Remove.
10280         (validate_call): Rename to ...
10281         (gimple_builtin_call_types_compatible_p): ... this and export.  Also
10282         check return types.
10283         (validate_type): New static function.
10284         (gimple_call_builtin_p): New overload and adjust.
10285         * gimple-fold.c (gimple_fold_builtin): Fold the return value.
10286         (gimple_fold_call): Likewise.  Use gimple_call_builtin_p.
10287         (gimple_fold_stmt_to_constant_1): Likewise.
10288         * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
10290 2014-01-08  Richard Biener  <rguenther@suse.de>
10292         PR middle-end/59471
10293         * gimplify.c (gimplify_expr): Gimplify register-register type
10294         VIEW_CONVERT_EXPRs to separate stmts.
10296 2014-01-07  Jeff Law  <law@redhat.com>
10298         PR middle-end/53623
10299         * ree.c (combine_set_extension): Handle case where source
10300         and destination registers in an extension insn are different.
10301         (combine_reaching_defs): Allow source and destination registers
10302         in extension to be different under limited circumstances.
10303         (add_removable_extension): Remove restriction that the
10304         source and destination registers in the extension are the same.
10305         (find_and_remove_re): Emit a copy from the extension's
10306         destination to its source after the defining insn if
10307         the source and destination registers are different.
10309         PR middle-end/59285
10310         * ifcvt.c (merge_if_block): If we are merging a block with more than
10311         one successor with a block with no successors, remove any BARRIER
10312         after the second block.
10314 2014-01-07  Dan Xio Qiang  <ziyan01@163.com>
10316         * hw-doloop.c (reorg_loops): Release the bitmap obstack.
10318 2014-01-07  John David Anglin  <danglin@gcc.gnu.org>
10320         PR target/59652
10321         * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
10322         for 14-bit register offsets when INT14_OK_STRICT is false.
10324 2014-01-07  Roland Stigge  <stigge@antcom.de>
10325             Michael Meissner  <meissner@linux.vnet.ibm.com>
10327         PR 57386/target
10328         * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
10329         Only check TFmode for SPE constants.  Don't check TImode or TDmode.
10331 2014-01-07  James Greenhalgh  <james.greenhalgh@arm.com>
10333         * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
10334         -mcpu.
10336 2014-01-07  Yufeng Zhang  <yufeng.zhang@arm.com>
10338         * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
10339         with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
10340         rtx is const0_rtx or not.
10342 2014-01-07  Richard Sandiford  <rdsandiford@googlemail.com>
10344         PR target/58115
10345         * target-globals.c (save_target_globals): Remove this_fn_optab
10346         handling.
10347         * toplev.c: Include optabs.h.
10348         (target_reinit): Temporarily restore the global options if another
10349         set of options are in force.
10351 2014-01-07  Jakub Jelinek  <jakub@redhat.com>
10353         PR rtl-optimization/58668
10354         * cfgcleanup.c (flow_find_cross_jump): Don't count
10355         any jumps if dir_p is NULL.  Remove p1 variable, use active_insn_p
10356         to determine what is counted.
10357         (flow_find_head_matching_sequence): Use active_insn_p to determine
10358         what is counted.
10359         (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
10360         counting change.
10361         * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
10362         determine what is counted.
10364         PR tree-optimization/59643
10365         * tree-predcom.c (split_data_refs_to_components): If one dr is
10366         read and one write, determine_offset fails and the write isn't
10367         in the bad component, just put the read into the bad component.
10369 2014-01-07  Mike Stump  <mikestump@comcast.net>
10370             Jakub Jelinek  <jakub@redhat.com>
10372         PR pch/59436
10373         * tree-core.h (struct tree_optimization_option): Change optabs
10374         type from unsigned char * to void *.
10375         * optabs.c (init_tree_optimization_optabs): Adjust
10376         TREE_OPTIMIZATION_OPTABS initialization.
10378 2014-01-06  Jakub Jelinek  <jakub@redhat.com>
10380         PR target/59644
10381         * config/i386/i386.h (struct machine_function): Add
10382         no_drap_save_restore field.
10383         * config/i386/i386.c (ix86_save_reg): Use
10384         !cfun->machine->no_drap_save_restore instead of
10385         crtl->stack_realign_needed.
10386         (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
10387         this function clears frame_pointer_needed.  Set
10388         cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
10389         and DRAP reg is needed.
10391 2014-01-06  Marek Polacek  <polacek@redhat.com>
10393         PR c/57773
10394         * doc/implement-c.texi: Mention that other integer types are
10395         permitted as bit-field types in strictly conforming mode.
10397 2014-01-06  Felix Yang  <fei.yang0953@gmail.com>
10399         * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
10400         is newly allocated.
10402 2014-01-06  Richard Earnshaw  <rearnsha@arm.com>
10404         * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
10406 2014-01-06  Martin Jambor  <mjambor@suse.cz>
10408         PR ipa/59008
10409         * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
10410         to int.
10411         * ipa-prop.c (ipa_print_node_params): Fix indentation.
10413 2014-01-06  Eric Botcazou  <ebotcazou@adacore.com>
10415         PR debug/59350
10416         PR debug/59510
10417         * var-tracking.c (add_stores): Preserve the value of the source even if
10418         we don't record the store.
10420 2014-01-06  Terry Guo  <terry.guo@arm.com>
10422         * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
10424 2014-01-05  Iain Sandoe  <iain@codesourcery.com>
10426         PR bootstrap/59541
10427         * config/darwin.c (darwin_function_section): Adjust return values to
10428         correspond to optimisation changes made in r206070.
10430 2014-01-05  Uros Bizjak  <ubizjak@gmail.com>
10432         * config/i386/i386.c (ix86_data_alignment): Calculate max_align
10433         from prefetch_block tune setting.
10434         (nocona_cost): Correct size of prefetch block to 64.
10436 2014-01-04  Eric Botcazou  <ebotcazou@adacore.com>
10438         * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
10439         (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
10440         used to save the static chain register in the computation of the offset
10441         from which the FP registers need to be restored.
10443 2014-01-04  Jakub Jelinek  <jakub@redhat.com>
10445         PR tree-optimization/59519
10446         * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
10447         ICE if get_current_def (current_new_name) is already non-NULL, as long
10448         as it is a phi result of some other phi in *new_exit_bb that has
10449         the same argument.
10451         * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
10452         or vmovdqu* for misaligned_operand.
10453         (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
10454         <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
10455         * config/i386/i386.c (ix86_expand_special_args_builtin): Set
10456         aligned_mem for AVX512F masked aligned load and store builtins and for
10457         non-temporal moves.
10459 2014-01-03  Bingfeng Mei  <bmei@broadcom.com>
10461         PR tree-optimization/59651
10462         * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
10463         Address range for negative step should be added by TYPE_SIZE_UNIT.
10465 2014-01-03  Andreas Schwab  <schwab@linux-m68k.org>
10467         * config/m68k/m68k.c (handle_move_double): Handle pushes with
10468         overlapping registers also for registers other than the stack pointer.
10470 2014-01-03  Marek Polacek  <polacek@redhat.com>
10472         PR other/59661
10473         * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
10474         __builtin_FILE.
10476 2014-01-03  Jakub Jelinek  <jakub@redhat.com>
10478         PR target/59625
10479         * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
10480         asm goto as jump.
10482         * config/i386/i386.md (MODE_SIZE): New mode attribute.
10483         (push splitter): Use <P:MODE_SIZE> instead of
10484         GET_MODE_SIZE (<P:MODE>mode).
10485         (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
10486         (mov -1, reg peephole2): Likewise.
10487         * config/i386/sse.md (*mov<mode>_internal,
10488         <sse>_storeu<ssemodesuffix><avxsizesuffix>,
10489         <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
10490         *<code><mode>3, *andnot<mode>3<mask_name>,
10491         <mask_codefor><code><mode>3<mask_name>): Likewise.
10492         * config/i386/subst.md (mask_mode512bit_condition,
10493         sd_mask_mode512bit_condition): Likewise.
10495 2014-01-02  Xinliang David Li  <davidxl@google.com>
10497         PR tree-optimization/59303
10498         * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
10499         (dump_predicates): Better output format.
10500         (pred_equal_p): New function.
10501         (is_neq_relop_p): Ditto.
10502         (is_neq_zero_form_p): Ditto.
10503         (pred_expr_equal_p): Ditto.
10504         (pred_neg_p): Ditto.
10505         (simplify_pred): Ditto.
10506         (simplify_preds_2): Ditto.
10507         (simplify_preds_3): Ditto.
10508         (simplify_preds_4): Ditto.
10509         (simplify_preds): Ditto.
10510         (push_pred): Ditto.
10511         (push_to_worklist): Ditto.
10512         (get_pred_info_from_cmp): Ditto.
10513         (is_degenerated_phi): Ditto.
10514         (normalize_one_pred_1): Ditto.
10515         (normalize_one_pred): Ditto.
10516         (normalize_one_pred_chain): Ditto.
10517         (normalize_preds): Ditto.
10518         (normalize_cond_1): Remove function.
10519         (normalize_cond): Ditto.
10520         (is_gcond_subset_of): Ditto.
10521         (is_subset_of_any): Ditto.
10522         (is_or_set_subset_of): Ditto.
10523         (is_and_set_subset_of): Ditto.
10524         (is_norm_cond_subset_of): Ditto.
10525         (pred_chain_length_cmp): Ditto.
10526         (convert_control_dep_chain_into_preds): Type change.
10527         (find_predicates): Ditto.
10528         (find_def_preds): Ditto.
10529         (destroy_predicates_vecs): Ditto.
10530         (find_matching_predicates_in_rest_chains): Ditto.
10531         (use_pred_not_overlap_with_undef_path_pred): Ditto.
10532         (is_pred_expr_subset): Ditto.
10533         (is_pred_chain_subset_of): Ditto.
10534         (is_included_in): Ditto.
10535         (is_superset_of): Ditto.
10537 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
10539         Update copyright years.
10541 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
10543         * common/config/arc/arc-common.c, config/arc/arc-modes.def,
10544         config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
10545         config/arc/arc.md, config/arc/arc.opt,
10546         config/arm/arm_neon_builtins.def, config/arm/crypto.def,
10547         config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
10548         config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
10549         config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
10550         config/linux-protos.h, config/linux.c, config/winnt-c.c,
10551         diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
10552         vtable-verify.c, vtable-verify.h: Use the standard form for the
10553         copyright notice.
10555 2014-01-02  Tobias Burnus  <burnus@net-b.de>
10557         * gcc.c (process_command): Update copyright notice dates.
10558         * gcov-dump.c: Ditto.
10559         * gcov.c: Ditto.
10560         * doc/cpp.texi: Bump @copying's copyright year.
10561         * doc/cppinternals.texi: Ditto.
10562         * doc/gcc.texi: Ditto.
10563         * doc/gccint.texi: Ditto.
10564         * doc/gcov.texi: Ditto.
10565         * doc/install.texi: Ditto.
10566         * doc/invoke.texi: Ditto.
10568 2014-01-01  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
10570         * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
10572 2014-01-01  Jakub Jelinek  <jakub@redhat.com>
10574         * config/i386/sse.md (*mov<mode>_internal): Guard
10575         EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
10577         PR rtl-optimization/59647
10578         * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
10579         new_rtx into UNSIGNED_FLOAT rtxes.
10581 Copyright (C) 2014 Free Software Foundation, Inc.
10583 Copying and distribution of this file, with or without modification,
10584 are permitted in any medium without royalty provided the copyright
10585 notice and this notice are preserved.