3741b54df970f48e6f3391f5d423b675ed52c68b
[platform/upstream/gcc.git] / gcc / ChangeLog
1 2014-03-24  Tobias Burnus  <burnus@net-b.de>
2
3         * doc/invoke.texi (-flto): Expand section about
4         using static libraries with LTO.
5
6 2014-03-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7
8         PR rtl-optimization/60501
9         * optabs.def (addptr3_optab): New optab.
10         * optabs.c (gen_addptr3_insn, have_addptr3_insn): New function.
11         * doc/md.texi ("addptrm3"): Document new RTL standard expander.
12         * expr.h (gen_addptr3_insn, have_addptr3_insn): Add prototypes.
13
14         * lra.c (emit_add3_insn): Use the addptr pattern if available.
15
16         * config/s390/s390.md ("addptrdi3", "addptrsi3"): New expanders.
17
18 2014-03-24  Ulrich Drepper  <drepper@gmail.com>
19
20         * config/i386/avx512fintrin.h: Define _mm512_set1_ps and
21         _mm512_set1_pd.
22
23         * config/i386/avxintrin.h (_mm256_undefined_si256): Define.
24         (_mm256_undefined_ps): Define.
25         (_mm256_undefined_pd): Define.
26         * config/i386/emmintrin.h (_mm_undefined_si128): Define.
27         (_mm_undefined_pd): Define.
28         * config/i386/xmmintrin.h (_mm_undefined_ps): Define.
29         * config/i386/avx512fintrin.h (_mm512_undefined_si512): Define.
30         (_mm512_undefined_ps): Define.
31         (_mm512_undefined_pd): Define.
32         Use _mm*_undefined_*.
33         * config/i386/avx2intrin.h: Use _mm*_undefined_*.
34
35 2014-03-24  Alex Velenko  <Alex.Velenko@arm.com>
36
37         * config/aarch64/aarch64-simd-builtins.def (lshr): DI mode excluded.
38         (lshr_simd): DI mode added.
39         * config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): New pattern.
40         (aarch64_ushr_simddi): Likewise.
41         * config/aarch64/aarch64.md (UNSPEC_USHR64): New unspec.
42         * config/aarch64/arm_neon.h (vshr_n_u64): Intrinsic fixed.
43         (vshrd_n_u64): Likewise.
44
45 2014-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
46
47         * Makefile.in (s-macro_list): Depend on cc1.
48
49 2014-03-23  Teresa Johnson  <tejohnson@google.com>
50
51         * ipa-utils.c (ipa_print_order): Use specified dump file.
52
53 2014-03-23  Eric Botcazou  <ebotcazou@adacore.com>
54
55         PR rtl-optimization/60601
56         * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
57
58         * gcc.c (eval_spec_function): Initialize save_growing_value.
59
60 2014-03-22  Jakub Jelinek  <jakub@redhat.com>
61
62         PR sanitizer/60613
63         * internal-fn.c (ubsan_expand_si_overflow_addsub_check): For
64         code == MINUS_EXPR, never swap op0 with op1.
65
66         * toplev.c (init_local_tick): Avoid signed integer multiplication
67         overflow.
68         * genautomata.c (reserv_sets_hash_value): Fix rotate idiom, avoid
69         shift by first operand's bitsize.
70
71 2014-03-21  Jakub Jelinek  <jakub@redhat.com>
72
73         PR target/60610
74         * config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH,
75         redefine to 1 or 0.
76         * config/i386/darwin.h (TARGET_64BIT_P): Redefine to
77         TARGET_ISA_64BIT_P(x).
78
79 2014-03-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
80
81         * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a
82         pattern for vector nor instead of subtract from splat(-1).
83         (altivec_expand_vec_perm_const_le): Likewise.
84
85 2014-03-21  Richard Henderson  <rth@twiddle.net>
86
87         PR target/60598
88         * ifcvt.c (dead_or_predicable): Return FALSE if there are any frame
89         related insns after epilogue_completed.
90
91 2014-03-21  Martin Jambor  <mjambor@suse.cz>
92
93         PR ipa/59176
94         * cgraph.h (symtab_node): New flag body_removed.
95         * ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag
96         when removing bodies.
97         * symtab.c (dump_symtab_base): Dump body_removed flag.
98         * cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which
99         had their bodies removed.
100
101 2014-03-21  Martin Jambor  <mjambor@suse.cz>
102
103         PR ipa/60419
104         * ipa.c (symtab_remove_unreachable_nodes): Clear thunk flag of nodes
105         in the border.
106
107 2014-03-21  Richard Biener  <rguenther@suse.de>
108
109         PR tree-optimization/60577
110         * tree-core.h (struct tree_base): Document nothrow_flag use
111         in VAR_DECL_NONALIASED.
112         * tree.h (VAR_DECL_NONALIASED): New.
113         (may_be_aliased): Adjust.
114         * coverage.c (build_var): Set VAR_DECL_NONALIASED.
115
116 2014-03-20  Eric Botcazou  <ebotcazou@adacore.com>
117
118         * expr.c (expand_expr_real_1): Remove outdated comment.
119
120 2014-03-20  Jakub Jelinek  <jakub@redhat.com>
121
122         PR middle-end/60597
123         * ira.c (adjust_cleared_regs): Call copy_rtx on
124         *reg_equiv[REGNO (loc)].src_p before passing it to
125         simplify_replace_fn_rtx.
126
127         PR target/60568
128         * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
129         into CONST, put pic register as first operand of PLUS.  Use
130         gen_const_mem for both 32-bit and 64-bit PIC got loads.
131
132 2014-03-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
133
134         * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete.
135
136 2014-03-20  Eric Botcazou  <ebotcazou@adacore.com>
137
138         * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
139         around for store forwarding issue in the FPU on the UT699.
140         * config/sparc/sparc.md (in_branch_delay): Return false for single FP
141         loads and operations if -mfix-ut699 is specified.
142         (divtf3_hq): Tweak attribute.
143         (sqrttf2_hq): Likewise.
144
145 2014-03-20  Eric Botcazou  <ebotcazou@adacore.com>
146
147         * calls.c (store_one_arg): Remove incorrect const qualification on the
148         type of the temporary.
149         * cfgexpand.c (expand_return): Likewise.
150         * expr.c (expand_constructor): Likewise.
151         (expand_expr_real_1): Likewise.
152
153 2014-03-20  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
154
155         * config/arm/arm.c (arm_dwarf_register_span): Update the element number
156         of parts.
157
158 2014-03-19  Kaz Kojima  <kkojima@gcc.gnu.org>
159
160         PR target/60039
161         * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
162
163 2014-03-19  James Greenhalgh  <james.greenhalgh@arm.com>
164
165         * config/arm/aarch-common-protos.h
166         (alu_cost_table): Fix spelling of "extend".
167         * config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend".
168
169 2014-03-19  Richard Biener  <rguenther@suse.de>
170
171         PR middle-end/60553
172         * tree-core.h (tree_type_common): Re-order pointer members
173         to reduce recursion depth during GC walks.
174
175 2014-03-19  Marek Polacek  <polacek@redhat.com>
176
177         PR sanitizer/60569
178         * ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull
179         before accessing it.
180
181 2014-03-19  Richard Biener  <rguenther@suse.de>
182
183         PR lto/59543
184         * lto-streamer-in.c (input_function): In WPA stage do not drop
185         debug stmts.
186
187 2014-03-19  Jakub Jelinek  <jakub@redhat.com>
188
189         PR tree-optimization/60559
190         * vectorizable_mask_load_store): Replace scalar MASK_LOAD
191         with build_zero_cst assignment.
192
193 2014-03-18  Kai Tietz  <ktietz@redhat.com>
194
195         PR rtl-optimization/56356
196         * sdbout.c (sdbout_parms): Verify that parms'
197         incoming argument is valid.
198         (sdbout_reg_parms): Likewise.
199
200 2014-03-18  Richard Henderson  <rth@redhat.com>
201
202         PR target/60562
203         * config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to
204         be shadowed by *float<SWI48><MODEF>2_sse.  Test X87_ENABLE_FLOAT.
205         (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0.
206
207 2014-03-18  Basile Starynkevitch  <basile@starynkevitch.net>
208
209         * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
210         * doc/plugins.texi (Plugin callbacks): Mention
211         PLUGIN_INCLUDE_FILE.
212         Italicize plugin event names in description.  Explain that
213         PLUGIN_PRAGMAS has no sense for lto1. Explain
214         PLUGIN_INCLUDE_FILE.
215         Remind that no GCC functions should be called after
216         PLUGIN_FINISH.
217         Explain what pragmas with expansion are.
218
219 2014-03-18  Martin Liska  <mliska@suse.cz>
220
221         * cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when
222         gimple call statement is update.
223         * gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and
224         GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL.
225
226 2014-03-18  Jakub Jelinek  <jakub@redhat.com>
227
228         PR sanitizer/60557
229         * ubsan.c (ubsan_instrument_unreachable): Call
230         initialize_sanitizer_builtins.
231         (ubsan_pass): Likewise.
232
233         PR sanitizer/60535
234         * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
235         varpool_finalize_decl instead of rest_of_decl_compilation.
236
237 2014-03-18  Richard Biener  <rguenther@suse.de>
238
239         * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
240         by using bitmap_and_compl instead of bitmap_and_compl_into.
241         (df_rd_transfer_function): Likewise.
242
243 2014-03-18  Richard Biener  <rguenther@suse.de>
244
245         * doc/lto.texi (fresolution): Fix typo.
246
247 2014-03-18  Richard Biener  <rguenther@suse.de>
248
249         * doc/invoke.texi (flto): Update for changes in 4.9.
250
251 2014-03-18  Richard Biener  <rguenther@suse.de>
252
253         * doc/loop.texi: Remove section on the removed lambda framework.
254         Update loop docs with recent changes in preserving loop structure.
255
256 2014-03-18  Richard Biener  <rguenther@suse.de>
257
258         * doc/lto.texi (-fresolution): Document.
259
260 2014-03-18  Richard Biener  <rguenther@suse.de>
261
262         * doc/contrib.texi: Adjust my name.
263
264 2014-03-18  Jakub Jelinek  <jakub@redhat.com>
265
266         PR ipa/58721
267         * internal-fn.c: Include diagnostic-core.h.
268         (expand_BUILTIN_EXPECT): New function.
269         * gimplify.c (gimplify_call_expr): Use false instead of FALSE.
270         (gimplify_modify_expr): Gimplify 3 argument __builtin_expect into
271         IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call.
272         * ipa-inline-analysis.c (find_foldable_builtin_expect): Handle
273         IFN_BUILTIN_EXPECT.
274         * predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT.
275         Revert 3 argument __builtin_expect code.
276         (strip_predict_hints): Handle IFN_BUILTIN_EXPECT.
277         * gimple-fold.c (gimple_fold_call): Likewise.
278         * tree.h (fold_builtin_expect): New prototype.
279         * builtins.c (build_builtin_expect_predicate): Add predictor
280         argument, if non-NULL, create 3 argument __builtin_expect.
281         (fold_builtin_expect): No longer static.  Add ARG2 argument,
282         pass it through to build_builtin_expect_predicate.
283         (fold_builtin_2): Adjust caller.
284         (fold_builtin_3): Handle BUILT_IN_EXPECT.
285         * internal-fn.def (BUILTIN_EXPECT): New.
286
287 2014-03-18  Tobias Burnus  <burnus@net-b.de>
288
289         PR ipa/58721
290         * predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC,
291         PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO,
292         PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add.
293
294 2014-03-18  Jan Hubicka  <hubicka@ucw.cz>
295
296         PR ipa/58721
297         * predict.c (combine_predictions_for_bb): Fix up formatting.
298         (expr_expected_value_1, expr_expected_value): Add predictor argument,
299         fill what it points to if non-NULL.
300         (tree_predict_by_opcode): Adjust caller, use the predictor.
301         * predict.def (PRED_COMPARE_AND_SWAP): Add.
302
303 2014-03-18  Eric Botcazou  <ebotcazou@adacore.com>
304
305         * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
306         proper constant for the store mode.
307
308 2014-03-18  Ilya Enkovich  <ilya.enkovich@intel.com>
309
310         * symtab.c (change_decl_assembler_name): Fix transparent alias
311         chain construction.
312
313 2014-03-16  Renlin Li  <Renlin.Li@arm.com>
314
315         * config/aarch64/aarch64.c: Correct the comments about the
316         aarch64 stack layout.
317
318 2014-03-18  Thomas Schwinge  <thomas@codesourcery.com>
319
320         * omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore
321         check for GF_OMP_FOR_KIND_FOR.
322
323 2013-03-18  Kirill Yukhin  <kirill.yukhin@intel.com>
324
325         * config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
326         ymm and zmm register names.
327
328 2014-03-17  Jakub Jelinek  <jakub@redhat.com>
329
330         PR target/60516
331         * config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
332         note creation for the 2010-08-31 changes.
333
334 2014-03-17  Marek Polacek  <polacek@redhat.com>
335
336         PR middle-end/60534
337         * omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same
338         as -fno-tree-loop-vectorize.
339         (expand_omp_simd): Likewise.
340
341 2014-03-15  Eric Botcazou  <ebotcazou@adacore.com>
342
343         * config/sparc/sparc-protos.h (tls_call_delay): Delete.
344         (eligible_for_call_delay): New prototype.
345         * config/sparc/sparc.c (tls_call_delay): Rename into...
346         (eligible_for_call_delay): ...this.  Return false if the instruction
347         cannot be put in the delay slot of a branch.
348         (eligible_for_restore_insn): Simplify.
349         (eligible_for_return_delay): Return false if the instruction cannot be
350         put in the delay slot of a branch and simplify.
351         (eligible_for_sibcall_delay): Return false if the instruction cannot be
352         put in the delay slot of a branch.
353         * config/sparc/sparc.md (fix_ut699): New attribute.
354         (tls_call_delay): Delete.
355         (in_call_delay): Reimplement.
356         (eligible_for_sibcall_delay): Rename into...
357         (in_sibcall_delay): ...this.
358         (eligible_for_return_delay): Rename into...
359         (in_return_delay): ...this.
360         (in_branch_delay): Reimplement.
361         (in_uncond_branch_delay): Delete.
362         (in_annul_branch_delay): Delete.
363
364 2014-03-14  Richard Henderson  <rth@redhat.com>
365
366         PR target/60525
367         * config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename
368         define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand.
369         (*floathi<X87MODEF>2_i387_with_temp): Remove.
370         (floathi splitters): Remove.
371         (float<SWI48x>xf2): New pattern.
372         (float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2.  Drop
373         code that tried to handle DImode for 32-bit, but which was excluded
374         by the pattern's condition.  Drop allocation of stack temporary.
375         (*floatsi<MODEF>2_vector_mixed_with_temp): Remove.
376         (*float<SWI48><MODEF>2_mixed_with_temp): Remove.
377         (*float<SWI48><MODEF>2_mixed_interunit): Remove.
378         (*float<SWI48><MODEF>2_mixed_nointerunit): Remove.
379         (*floatsi<MODEF>2_vector_sse_with_temp): Remove.
380         (*float<SWI48><MODEF>2_sse_with_temp): Remove.
381         (*float<SWI48><MODEF>2_sse_interunit): Remove.
382         (*float<SWI48><MODEF>2_sse_nointerunit): Remove.
383         (*float<SWI48x><X87MODEF>2_i387_with_temp): Remove.
384         (*float<SWI48x><X87MODEF>2_i387): Remove.
385         (all float _with_temp splitters): Remove.
386         (*float<SWI48x><MODEF>2_i387): New pattern.
387         (*float<SWI48><MODEF>2_sse): New pattern.
388         (float TARGET_USE_VECTOR_CONVERTS splitters): Merge them.
389         (float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them.
390
391 2014-03-14  Jakub Jelinek  <jakub@redhat.com>
392             Marek Polacek  <polacek@redhat.com>
393
394         PR middle-end/60484
395         * common.opt (dump_base_name_prefixed): New Variable.
396         * opts.c (finish_options): Don't prepend directory to x_dump_base_name
397         if x_dump_base_name_prefixed is already set, set it at the end.
398
399 2014-03-14  Vladimir Makarov  <vmakarov@redhat.com>
400
401         PR rtl-optimization/60508
402         * lra-constraints.c (get_reload_reg): Add new parameter
403         in_subreg_p.
404         (process_addr_reg, simplify_operand_subreg, curr_insn_transform):
405         Pass the new parameter values.
406
407 2014-03-14  Richard Biener  <rguenther@suse.de>
408
409         * common.opt: Revert unintented changes from r205065.
410         * opts.c: Likewise.
411
412 2014-03-14  Richard Biener  <rguenther@suse.de>
413
414         PR middle-end/60518
415         * cfghooks.c (split_block): Properly adjust all loops the
416         block was a latch of.
417
418 2014-03-14  Martin Jambor  <mjambor@suse.cz>
419
420         PR lto/60461
421         * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
422         and simplify it.
423
424 2014-03-14  Georg-Johann Lay  <avr@gjlay.de>
425
426         PR target/59396
427         * config/avr/avr.c (avr_set_current_function): Pass function name
428         through default_strip_name_encoding before sanity checking instead
429         of skipping the first char of the assembler name.
430
431 2014-03-13  Richard Henderson  <rth@redhat.com>
432
433         PR debug/60438
434         * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
435         (ix86_force_to_memory, ix86_free_from_memory): Remove.
436         * config/i386/i386-protos.h: Likewise.
437         * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
438         in the expander instead of a splitter.
439         (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
440         any possibility of requiring a memory.
441         (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
442         (*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
443         (fp branch splitters): Update for ix86_split_fp_branch.
444         (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
445         (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
446         (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
447         (*fop_<MODEF>_2_i387): Remove f/r alternative.
448         (*fop_<MODEF>_3_i387): Likewise.
449         (*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
450         (splitters for the fop_* register patterns): Remove.
451         (fscalexf4_i387): Rename from *fscalexf4_i387.
452         (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.
453         
454 2014-03-13  Jakub Jelinek  <jakub@redhat.com>
455
456         PR tree-optimization/59779
457         * tree-dfa.c (get_ref_base_and_extent): Use double_int
458         type for bitsize and maxsize instead of HOST_WIDE_INT.
459
460 2014-03-13  Steven Bosscher  <steven@gcc.gnu.org>
461
462         PR rtl-optimization/57320
463         * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
464         the CFG after thread_prologue_and_epilogue_insns.
465
466 2014-03-13  Vladimir Makarov  <vmakarov@redhat.com>
467
468         PR rtl-optimization/57189
469         * lra-constraints.c (process_alt_operands): Disfavor spilling
470         vector pseudos.
471
472 2014-03-13  Cesar Philippidis  <cesar@codesourcery.com>
473
474         * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic
475         messages.
476
477 2014-03-13  Jakub Jelinek  <jakub@redhat.com>
478
479         PR tree-optimization/59025
480         PR middle-end/60418
481         * tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
482         same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.
483
484 2014-03-13  Georg-Johann Lay  <avr@gjlay.de>
485
486         PR target/60486
487         * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
488         calls of avr_out_plus_1.
489
490 2014-03-13  Bin Cheng  <bin.cheng@arm.com>
491
492         * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
493         BB's single pred and update the father loop's latch info later.
494
495 2014-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
496
497         * config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
498         (VEC_M): Likewise.
499         (VEC_N): Likewise.
500         (VEC_R): Likewise.
501         (VEC_base): Likewise.
502         (mov<MODE>, VEC_M modes): If we are loading TImode into VSX
503         registers, we need to swap double words in little endian mode.
504
505         * config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
506         to be a container mode for 128-bit integer operations added in ISA
507         2.07.  Unlike TImode and PTImode, the preferred register set is
508         the Altivec/VMX registers for the 128-bit operations.
509
510         * config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
511         declarations.
512         (rs6000_split_128bit_ok_p): Likewise.
513
514         * config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
515         macros for creating ISA 2.07 normal and overloaded builtin
516         functions with 3 arguments.
517         (BU_P8V_OVERLOAD_3): Likewise.
518         (VPERM_1T): Add support for V1TImode in 128-bit vector operations
519         for use as overloaded functions.
520         (VPERM_1TI_UNS): Likewise.
521         (VSEL_1TI): Likewise.
522         (VSEL_1TI_UNS): Likewise.
523         (ST_INTERNAL_1ti): Likewise.
524         (LD_INTERNAL_1ti): Likewise.
525         (XXSEL_1TI): Likewise.
526         (XXSEL_1TI_UNS): Likewise.
527         (VPERM_1TI): Likewise.
528         (VPERM_1TI_UNS): Likewise.
529         (XXPERMDI_1TI): Likewise.
530         (SET_1TI): Likewise.
531         (LXVD2X_V1TI): Likewise.
532         (STXVD2X_V1TI): Likewise.
533         (VEC_INIT_V1TI): Likewise.
534         (VEC_SET_V1TI): Likewise.
535         (VEC_EXT_V1TI): Likewise.
536         (EQV_V1TI): Likewise.
537         (NAND_V1TI): Likewise.
538         (ORC_V1TI): Likewise.
539         (VADDCUQ): Add support for 128-bit integer arithmetic instructions
540         added in ISA 2.07.  Add both normal 'altivec' builtins, and the
541         overloaded builtin.
542         (VADDUQM): Likewise.
543         (VSUBCUQ): Likewise.
544         (VADDEUQM): Likewise.
545         (VADDECUQ): Likewise.
546         (VSUBEUQM): Likewise.
547         (VSUBECUQ): Likewise.
548
549         * config/rs6000/rs6000-c.c (__int128_type): New static to hold
550         __int128_t and __uint128_t types.
551         (__uint128_type): Likewise.
552         (altivec_categorize_keyword): Add support for vector __int128_t,
553         vector __uint128_t, vector __int128, and vector unsigned __int128
554         as a container type for TImode operations that need to be done in
555         VSX/Altivec registers.
556         (rs6000_macro_to_expand): Likewise.
557         (altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
558         to support 128-bit integer instructions vaddcuq, vadduqm,
559         vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
560         (altivec_resolve_overloaded_builtin): Add support for V1TImode.
561
562         * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
563         for V1TImode, and set up preferences to use VSX/Altivec registers.
564         Setup VSX reload handlers.
565         (rs6000_debug_reg_global): Likewise.
566         (rs6000_init_hard_regno_mode_ok): Likewise.
567         (rs6000_preferred_simd_mode): Likewise.
568         (vspltis_constant): Do not allow V1TImode as easy altivec constants.
569         (easy_altivec_constant): Likewise.
570         (output_vec_const_move): Likewise.
571         (rs6000_expand_vector_set): Convert V1TImode set and extract to
572         simple move.
573         (rs6000_expand_vector_extract): Likewise.
574         (reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
575         addressing.
576         (rs6000_const_vec): Add support for V1TImode.
577         (rs6000_emit_le_vsx_load): Swap double words when loading or
578         storing TImode/V1TImode.
579         (rs6000_emit_le_vsx_store): Likewise.
580         (rs6000_emit_le_vsx_move): Likewise.
581         (rs6000_emit_move): Add support for V1TImode.
582         (altivec_expand_ld_builtin): Likewise.
583         (altivec_expand_st_builtin): Likewise.
584         (altivec_expand_vec_init_builtin): Likewise.
585         (altivec_expand_builtin): Likewise.
586         (rs6000_init_builtins): Add support for V1TImode type.  Add
587         support for ISA 2.07 128-bit integer builtins.  Define type names
588         for the VSX/Altivec vector types.
589         (altivec_init_builtins): Add support for overloaded vector
590         functions with V1TImode type.
591         (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode.
592         (rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
593         external function.
594         (rs6000_split_128bit_ok_p): Likewise.
595         (rs6000_handle_altivec_attribute): Create V1TImode from vector
596         __int128_t and vector __uint128_t.
597
598         * config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
599         and mode attributes.
600         (VSX_M): Likewise.
601         (VSX_M2): Likewise.
602         (VSm): Likewise.
603         (VSs): Likewise.
604         (VSr): Likewise.
605         (VSv): Likewise.
606         (VS_scalar): Likewise.
607         (VS_double): Likewise.
608         (vsx_set_v1ti): New builtin function to create V1TImode from TImode.
609
610         * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether
611         we support the ISA 2.07 128-bit integer arithmetic instructions.
612         (ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
613         (enum rs6000_builtin_type_index): Add fields to hold V1TImode
614         and TImode types for use with the builtin functions.
615         (V1TI_type_node): Likewise.
616         (unsigned_V1TI_type_node): Likewise.
617         (intTI_type_internal_node): Likewise.
618         (uintTI_type_internal_node): Likewise.
619
620         * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07
621         128-bit builtin functions.
622         (UNSPEC_VADDEUQM): Likewise.
623         (UNSPEC_VADDECUQ): Likewise.
624         (UNSPEC_VSUBCUQ): Likewise.
625         (UNSPEC_VSUBEUQM): Likewise.
626         (UNSPEC_VSUBECUQ): Likewise.
627         (VM): Add V1TImode to vector mode iterators.
628         (VM2): Likewise.
629         (VI_unit): Likewise.
630         (altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
631         (altivec_vaddcuq): Likewise.
632         (altivec_vsubuqm): Likewise.
633         (altivec_vsubcuq): Likewise.
634         (altivec_vaddeuqm): Likewise.
635         (altivec_vaddecuq): Likewise.
636         (altivec_vsubeuqm): Likewise.
637         (altivec_vsubecuq): Likewise.
638
639         * config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
640         mode iterators.
641         (BOOL_128): Likewise.
642         (BOOL_REGS_OUTPUT): Likewise.
643         (BOOL_REGS_OP1): Likewise.
644         (BOOL_REGS_OP2): Likewise.
645         (BOOL_REGS_UNARY): Likewise.
646         (BOOL_REGS_AND_CR0): Likewise.
647
648         * config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
649         128-bit integer builtin support.
650         (vec_vadduqm): Likewise.
651         (vec_vaddecuq): Likewise.
652         (vec_vaddeuqm): Likewise.
653         (vec_vsubecuq): Likewise.
654         (vec_vsubeuqm): Likewise.
655         (vec_vsubcuq): Likewise.
656         (vec_vsubuqm): Likewise.
657
658         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
659         Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
660         vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
661         128-bit integer add/subtract to ISA 2.07.
662
663 2014-03-12  Joern Rennecke  <joern.rennecke@embecosm.com>
664
665         * config/arc/arc.c (arc_predicate_delay_insns):
666         Fix third argument passed to conditionalize_nonjump.
667
668 2014-03-12  Yufeng Zhang  <yufeng.zhang@arm.com>
669
670         * config/aarch64/aarch64-builtins.c
671         (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
672         BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
673         * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
674         instead of __builtin_lfloor.
675         (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.
676
677 2014-03-12  Jakub Jelinek  <jakub@redhat.com>
678
679         * tree-ssa-ifcombine.c (forwarder_block_to): New function.
680         (tree_ssa_ifcombine_bb_1): New function.
681         (tree_ssa_ifcombine_bb): Use it.  Handle also cases where else_bb
682         is an empty forwarder block to then_bb or vice versa and then_bb
683         and else_bb are effectively swapped.
684
685 2014-03-12  Christian Bruel  <christian.bruel@st.com>
686
687         PR target/60264
688         * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a
689         REG_CFA_DEF_CFA note.
690         (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
691         (arm_unwind_emit): Allow REG_CFA_DEF_CFA.
692
693 2014-03-12  Thomas Preud'homme  <thomas.preudhomme@arm.com>
694
695         PR tree-optimization/60454
696         * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
697
698 2014-03-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
699
700         * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
701         Do not define target_cpu_default2 to generic.
702         * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
703         * config/aarch64/aarch64.c (aarch64_override_options): Update comment.
704         * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
705
706 2014-03-12  Jakub Jelinek  <jakub@redhat.com>
707             Marc Glisse  <marc.glisse@inria.fr>
708
709         PR tree-optimization/60502
710         * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
711         instead of build_low_bits_mask.
712
713 2014-03-12  Jakub Jelinek  <jakub@redhat.com>
714
715         PR middle-end/60482
716         * tree-vrp.c (register_edge_assert_for_1): Don't add assert
717         if there are multiple uses, but op doesn't live on E edge.
718         * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
719         clobber stmts before __builtin_unreachable.
720
721 2014-03-11  Richard Sandiford  <rdsandiford@googlemail.com>
722
723         * builtins.c (expand_builtin_setjmp_receiver): Use and clobber
724         hard_frame_pointer_rtx.
725         * cse.c (cse_insn): Remove volatile check.
726         * cselib.c (cselib_process_insn): Likewise.
727         * dse.c (scan_insn): Likewise.
728
729 2014-03-11  Joern Rennecke  <joern.rennecke@embecosm.com>
730
731         * config/arc/arc.c (conditionalize_nonjump): New function,
732         broken out of ...
733         (arc_ifcvt): ... this.
734         (arc_predicate_delay_insns): Use it.
735
736 2014-03-11  Joern Rennecke  <joern.rennecke@embecosm.com>
737
738         * config/arc/predicates.md (extend_operand): During/after reload,
739         allow const_int_operand.
740         * config/arc/arc.md (mulsidi3_700): Use extend_operand predicate.
741         (umulsidi3_700): Likewise.  Change operand 2 constraint back to "cL".
742         (mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3
743         to "i".
744         (umulsi3_highpart_i): Likewise.
745
746 2014-03-11  Richard Biener  <rguenther@suse.de>
747
748         * tree-ssa-structalias.c (get_constraint_for_ptr_offset):
749         Add asserts to guard possible wrong-code bugs.
750
751 2014-03-11  Richard Biener  <rguenther@suse.de>
752
753         PR tree-optimization/60429
754         PR tree-optimization/60485
755         * tree-ssa-structalias.c (set_union_with_increment): Properly
756         take into account all fields that overlap the shifted vars.
757         (do_sd_constraint): Likewise.
758         (do_ds_constraint): Likewise.
759         (get_constraint_for_ptr_offset): Likewise.
760
761 2014-03-11  Chung-Lin Tang  <cltang@codesourcery.com>
762
763         * config/nios2/nios2.c (machine_function): Add fp_save_offset field.
764         (nios2_compute_frame_layout):
765         Add calculation of cfun->machine->fp_save_offset.
766         (nios2_expand_prologue): Correct setting of frame pointer register
767         in prologue.
768         (nios2_expand_epilogue): Update recovery of stack pointer from
769         frame pointer accordingly.
770         (nios2_initial_elimination_offset): Update calculation of offset
771         for eliminating to HARD_FRAME_POINTER_REGNUM.
772
773 2014-03-10  Jakub Jelinek  <jakub@redhat.com>
774
775         PR ipa/60457
776         * ipa.c (symtab_remove_unreachable_nodes): Don't call
777         cgraph_get_create_node on VAR_DECLs.
778
779 2014-03-10  Richard Biener  <rguenther@suse.de>
780
781         PR middle-end/60474
782         * tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs.
783
784 2014-03-08  Douglas B Rupp  <rupp@gnat.com>
785
786         * config/vms/vms.opt (vms_float_format): New variable.
787
788 2014-03-08  Tobias Burnus  <burnus@net-b.de>
789
790         * doc/invoke.texi (-fcilkplus): Update implementation status.
791
792 2014-03-08  Paulo Matos  <paulo@matos-sorge.com>
793             Richard Biener  <rguenther@suse.de>
794
795         * lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
796         consistently accross all TUs.
797         (run_gcc): Enable -fshort-double automatically at link at link-time
798         and disallow override.
799
800 2014-03-08  Richard Sandiford  <rdsandiford@googlemail.com>
801
802         PR target/58271
803         * config/mips/mips.c (mips_option_override): Promote -mpaired-single
804         warning to an error.  Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
805         if they can't be used.
806
807 2014-03-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
808
809         * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test
810         for Solaris 11/x86 ld.
811         * configure: Regenerate.
812
813 2014-03-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
814
815         * configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
816         (LIB_TLS_SPEC): Save as ld_tls_libs.
817         (HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
818         (HAVE_AS_IX86_TLSLDM): New test.
819         * configure, config.in: Regenerate.
820         * config/i386/i386.c (legitimize_tls_address): Fall back to
821         TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
822         cannot support TLS_MODEL_LOCAL_DYNAMIC.
823         * config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
824         instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
825
826 2014-03-07  Paulo Matos  <paulo@matos-sorge.com>
827
828         * common.opt (fira-loop-pressure): Mark as optimization.
829
830 2014-03-07  Thomas Schwinge  <thomas@codesourcery.com>
831
832         * langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
833         an OpenMP mappable type.
834
835 2014-03-06  Matthias Klose  <doko@ubuntu.com>
836
837         * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
838         MULTILIB_OSDIRNAMES is not defined.
839
840 2014-03-06  Jakub Jelinek  <jakub@redhat.com>
841             Meador Inge  <meadori@codesourcery.com>
842
843         PR target/58595
844         * config/arm/arm.c (arm_tls_symbol_p): Remove.
845         (arm_legitimize_address): Call legitimize_tls_address for any
846         arm_tls_referenced_p expression, handle constant addend.  Call it
847         before testing for !TARGET_ARM.
848         (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
849
850 2014-03-06  Richard Biener  <rguenther@suse.de>
851
852         PR middle-end/60445
853         PR lto/60424
854         PR lto/60427
855         Revert
856         2014-03-04  Paulo Matos  <paulo@matos-sorge.com>
857
858         * tree-streamer.c (record_common_node): Assert we don't record
859         nodes with type double.
860         (preload_common_node): Skip type double, complex double and double
861         pointer since it is now frontend dependent due to fshort-double option.
862
863 2014-03-06  Richard Biener  <rguenther@suse.de>
864
865         * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
866         or -fno-lto is specified and the linker has full plugin support.
867         * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is enabled.
868         (main): Remove -flto processing, adjust lto_mode using use_plugin late.
869         * lto-wrapper.c (merge_and_complain): Merge compile-time
870         optimization levels.
871         (run_gcc): And pass it through to the link options.
872
873 2014-03-06  Alexandre Oliva <aoliva@redhat.com>
874
875         PR debug/60381
876         Revert:
877         2014-02-28  Alexandre Oliva <aoliva@redhat.com>
878         PR debug/59992
879         * cselib.c (remove_useless_values): Skip to avoid quadratic
880         behavior if the condition moved from...
881         (cselib_process_insn): ... here holds.
882
883 2014-03-05  Jakub Jelinek  <jakub@redhat.com>
884
885         PR plugins/59335
886         * Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
887         ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
888
889         PR plugins/59335
890         * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
891         (TM_H): Add x86-tune.def.
892
893 2014-03-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
894
895         * config/aarch64/aarch64.c (generic_tunings):
896         Use cortexa57_extra_costs.
897
898 2014-03-05  Jakub Jelinek  <jakub@redhat.com>
899
900         PR lto/60404
901         * cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
902         of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
903         * tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
904         cost for in_lto_p.
905
906 2014-03-04  Heiher  <r@hev.cc>
907
908         * config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
909         * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly.
910
911 2014-03-04  Uros Bizjak  <ubizjak@gmail.com>
912
913         * config/i386/predicates.md (const2356_operand): Change to ...
914         (const2367_operand): ... this.
915         * config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use
916         const2367_operand.
917         (*avx512pf_scatterpf<mode>sf_mask): Ditto.
918         (*avx512pf_scatterpf<mode>sf): Ditto.
919         (avx512pf_scatterpf<mode>df): Ditto.
920         (*avx512pf_scatterpf<mode>df_mask): Ditto.
921         (*avx512pf_scatterpf<mode>df): Ditto.
922         * config/i386/i386.c (ix86_expand_builtin): Update
923         incorrect hint operand error message.
924
925 2014-03-04  Richard Biener  <rguenther@suse.de>
926
927         * lto-section-in.c (lto_get_section_data): Fix const cast.
928
929 2014-03-04  Paulo Matos  <paulo@matos-sorge.com>
930
931         * tree-streamer.c (record_common_node): Assert we don't record
932         nodes with type double.
933         (preload_common_node): Skip type double, complex double and double
934         pointer since it is now frontend dependent due to fshort-double option.
935
936 2014-03-04  Richard Biener  <rguenther@suse.de>
937
938         PR lto/60405
939         * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check.
940         (lto_input_toplevel_asms): Likewise.
941         * lto-section-in.c (lto_get_section_data): Instead do it here
942         for every section.
943
944 2014-03-04  Richard Biener  <rguenther@suse.de>
945
946         PR tree-optimization/60382
947         * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
948         dead PHIs a reduction.
949
950 2014-03-03  Uros Bizjak  <ubizjak@gmail.com>
951
952         * config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct
953         hint value.
954         (_mm_prefetch): Move out of GCC target("sse") pragma.
955         * config/i386/prfchwintrin.h (_m_prefetchw): Move out of
956         GCC target("prfchw") pragma.
957         * config/i386/i386.md (prefetch): Emit prefetchwt1 only
958         for locality <= 2.
959         * config/i386/i386.c (ix86_option_override_internal): Enable
960         -mprfchw with -mprefetchwt1.
961
962 2014-03-03  Joern Rennecke  <joern.rennecke@embecosm.com>
963
964         * config/arc/arc.md (casesi_load) <length attribute alternative 0>:
965         Mark as varying.
966
967 2014-03-03  Joern Rennecke  <joern.rennecke@embecosm.com>
968
969         * opts.h (CL_PCH_IGNORE): Define.
970         * targhooks.c (option_affects_pch_p):
971         Return false for options that have CL_PCH_IGNORE set.
972         * opt-functions.awk: Process PchIgnore.
973         * doc/options.texi: Document PchIgnore.
974
975         * config/arc/arc.opt (misize): Add PchIgnore property.
976
977 2014-03-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
978
979         * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
980         reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax
981         constraint on constants to permit them being loaded into
982         GENERAL_REGS or BASE_REGS.
983
984 2014-03-03  Nick Clifton  <nickc@redhat.com>
985
986         * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add
987         anti-cacnonical alternatives.
988         (negandhi3_real): New pattern.
989         * config/rl78/rl78-virt.md (negandhi3_virt): New pattern.
990
991 2014-03-03  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
992
993         * config/avr/avr-mcus.def: Remove atxmega16x1.
994         * config/avr/avr-tables.opt: Regenerate.
995         * config/avr/t-multilib: Regenerate.
996         * doc/avr-mmcu.texi: Regenerate.
997
998 2014-03-03  Tobias Grosser  <tobias@grosser.es>
999             Mircea Namolaru  <mircea.namolaru@inria.fr>
1000
1001         PR tree-optimization/58028
1002         * graphite-clast-to-gimple.c (set_cloog_options): Don't remove
1003         scalar dimensions.
1004
1005 2014-03-03  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1006
1007         * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
1008         not handled by recognizers.
1009
1010 2014-03-03  Jakub Jelinek  <jakub@redhat.com>
1011
1012         PR middle-end/60175
1013         * function.c (expand_function_end): Don't emit
1014         clobber_return_register sequence if clobber_after is a BARRIER.
1015         * cfgexpand.c (construct_exit_block): Append instructions before
1016         return_label to prev_bb.
1017
1018 2014-03-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1019
1020         * config/rs6000/constraints.md: Document reserved use of "wc".
1021
1022 2014-03-02  Jan Hubicka  <hubicka@ucw.cz>
1023
1024         PR ipa/60150
1025         * ipa.c (function_and_variable_visibility): When dissolving comdat
1026         group, also set all symbols to local.
1027
1028 2014-03-02  Jan Hubicka  <hubicka@ucw.cz>
1029
1030         PR ipa/60306
1031
1032         Revert:
1033         2013-12-14   Jan Hubicka  <jh@suse.cz>
1034         PR middle-end/58477
1035         * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
1036
1037 2014-03-02  Jon Beniston  <jon@beniston.com>
1038
1039         PR bootstrap/48230
1040         PR bootstrap/50927
1041         PR bootstrap/52466
1042         PR target/46898
1043         * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect.
1044           (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
1045         * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
1046         (simple_return, *simple_return): New patterns
1047         * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
1048         * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
1049
1050 2014-03-01  Paolo Carlini  <paolo.carlini@oracle.com>
1051
1052         * dwarf2out.c (gen_subprogram_die): Tidy.
1053
1054 2014-03-01  Oleg Endo  <olegendo@gcc.gnu.org>
1055
1056         PR target/60071
1057         * config/sh/sh.md (*mov_t_msb_neg): Split into ...
1058         (*mov_t_msb_neg_negc): ... this new insn.
1059
1060 2014-02-28  Jason Merrill  <jason@redhat.com>
1061
1062         PR c++/58678
1063         * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared
1064         function.
1065
1066 2014-02-28  Paolo Carlini  <paolo.carlini@oracle.com>
1067
1068         PR c++/60314
1069         * dwarf2out.c (decltype_auto_die): New static.
1070         (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'.
1071         (gen_type_die_with_usage): Handle 'decltype(auto)'.
1072         (is_cxx_auto): Likewise.
1073
1074 2014-02-28  Ian Bolton  <ian.bolton@arm.com>
1075
1076         * config/aarch64/aarch64.h: Define __ARM_NEON by default if
1077         we are not using general regs only.
1078
1079 2014-02-28  Richard Biener  <rguenther@suse.de>
1080
1081         PR target/60280
1082         * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
1083         previous fix and only allow to remove trivial pre-headers
1084         and latches.  Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
1085         (remove_forwarder_block): Properly update the latch of a loop.
1086
1087 2014-02-28  Alexandre Oliva <aoliva@redhat.com>
1088
1089         PR debug/59992
1090         * cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
1091         (cselib_preserved_hash_table): New.
1092         (preserve_constants_and_equivs): Move preserved vals to it.
1093         (cselib_find_slot): Look it up first.
1094         (cselib_init): Initialize it.
1095         (cselib_finish): Release it.
1096         (dump_cselib_table): Dump it.
1097
1098 2014-02-28  Alexandre Oliva <aoliva@redhat.com>
1099
1100         PR debug/59992
1101         * cselib.c (remove_useless_values): Skip to avoid quadratic
1102         behavior if the condition moved from...
1103         (cselib_process_insn): ... here holds.
1104
1105 2014-02-28  Alexandre Oliva <aoliva@redhat.com>
1106
1107         PR debug/57232
1108         * var-tracking.c (vt_initialize): Apply the same condition to
1109         preserve the CFA base value.
1110
1111 2014-02-28  Joey Ye  <joey.ye@arm.com>
1112
1113         PR target/PR60169
1114         * config/arm/arm.c (thumb_far_jump_used_p): Don't change
1115         if reload in progress or completed.
1116
1117 2014-02-28  Tobias Burnus  <burnus@net-b.de>
1118
1119         PR middle-end/60147
1120         * tree-pretty-print.c (dump_generic_node, print_declaration): Handle
1121         NAMELIST_DECL.
1122
1123 2014-02-27  H.J. Lu  <hongjiu.lu@intel.com>
1124
1125         * doc/tm.texi.in (Condition Code Status): Update documention for
1126         relative locations of cc0-setter and cc0-user.
1127
1128 2014-02-27  Jeff Law  <law@redhat.com>
1129
1130         PR rtl-optimization/52714
1131         * combine.c (try_combine): When splitting an unrecognized PARALLEL
1132         into two independent simple sets, if I3 is a jump, ensure the
1133         pattern we place into I3 is a (set (pc) ...).
1134
1135 2014-02-27  Mikael Pettersson  <mikpe@it.uu.se>
1136             Jeff Law  <law@redhat.com>
1137
1138         PR rtl-optimization/49847
1139         * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user
1140         are in different blocks.
1141         * doc/tm.texi (Condition Code Status): Update documention for
1142         relative locations of cc0-setter and cc0-user.
1143
1144 2014-02-27  Vladimir Makarov  <vmakarov@redhat.com>
1145
1146         PR target/59222
1147         * lra.c (lra_emit_add): Check SUBREG too.
1148
1149 2014-02-27  Andreas Schwab  <schwab@suse.de>
1150
1151         * config/m68k/m68k.c (m68k_option_override): Disable
1152         -flive-range-shrinkage for classic m68k.
1153         (m68k_override_options_after_change): Likewise.
1154
1155 2014-02-27  Marek Polacek  <polacek@redhat.com>
1156
1157         PR middle-end/59223
1158         * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
1159         -Wmaybe-uninitialized.
1160
1161 2014-02-27  Alan Modra  <amodra@gmail.com>
1162
1163         PR target/57936
1164         * reload1.c (emit_input_reload_insns): When reload_override_in,
1165         set old to rl->in_reg when rl->in_reg is a subreg.
1166
1167 2014-02-26  Richard Biener  <rguenther@suse.de>
1168
1169         PR bootstrap/60343
1170         * lra-assigns.c (spill_for): Avoid mixed-sign comparison.
1171
1172 2014-02-25  Ilya Tocar  <ilya.tocar@intel.com>
1173
1174         * common/config/i386/predicates.md (const1256_operand): Remove.
1175         (const2356_operand): New.
1176         (const_1_to_2_operand): Remove.
1177         * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
1178         (*avx512pf_gatherpf<mode>sf_mask): Ditto.
1179         (*avx512pf_gatherpf<mode>sf): Ditto.
1180         (avx512pf_gatherpf<mode>df): Ditto.
1181         (*avx512pf_gatherpf<mode>df_mask): Ditto.
1182         (*avx512pf_gatherpf<mode>df): Ditto.
1183         (avx512pf_scatterpf<mode>sf): Ditto.
1184         (*avx512pf_scatterpf<mode>sf_mask): Ditto.
1185         (*avx512pf_scatterpf<mode>sf): Ditto.
1186         (avx512pf_scatterpf<mode>df): Ditto.
1187         (*avx512pf_scatterpf<mode>df_mask): Ditto.
1188         (*avx512pf_scatterpf<mode>df): Ditto.
1189         * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
1190
1191 2014-02-26  Ilya Tocar  <ilya.tocar@intel.com>
1192
1193         * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
1194         (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask),
1195         (_mm512_mask_testn_epi64_mask): Move to ...
1196         * config/i386/avx512cdintrin.h: Here.
1197         * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm.
1198         * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %.
1199         (avx512f_scalef<mode><mask_name><round_name>): Ditto.
1200         (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to
1201         TARGET_AVX512F from TARGET_AVX512CD.
1202
1203 2014-02-26  Richard Biener  <rguenther@suse.de>
1204
1205         PR ipa/60327
1206         * ipa.c (walk_polymorphic_call_targets): Properly guard
1207         call to inline_update_overall_summary.
1208
1209 2014-02-26  Bin Cheng  <bin.cheng@arm.com>
1210
1211         PR target/60280
1212         * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders
1213         and latches only if requested.  Fix latch if it is removed.
1214         * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
1215         LOOPS_HAVE_PREHEADERS.
1216
1217 2014-02-25  Andrew Pinski  <apinski@cavium.com>
1218
1219         * builtins.c (expand_builtin_thread_pointer): Create a new target
1220         when the target is NULL.
1221
1222 2014-02-25  Vladimir Makarov  <vmakarov@redhat.com>
1223
1224         PR rtl-optimization/60317
1225         * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
1226         * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
1227         * lra-assigns.c: Include params.h.
1228         (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for
1229         other reload pseudos considerations.
1230
1231 2014-02-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1232
1233         * config/rs6000/vector.md (*vector_unordered<mode>): Change split
1234         to use canonical form for nor<mode>3.
1235
1236 2014-02-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1237
1238         PR target/55426
1239         * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
1240         conversions.
1241
1242 2014-02-25  Ilya Tocar  <ilya.tocar@intel.com>
1243
1244         * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET),
1245         (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New.
1246         (ix86_handle_option): Handle OPT_mprefetchwt1.
1247         * config/i386/cpuid.h (bit_PREFETCHWT1): New.
1248         * config/i386/driver-i386.c (host_detect_local_cpu): Detect
1249         PREFETCHWT1 CPUID.
1250         * config/i386/i386-c.c (ix86_target_macros_internal): Handle
1251         OPTION_MASK_ISA_PREFETCHWT1.
1252         * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1.
1253         (PTA_PREFETCHWT1): New.
1254         (ix86_option_override_internal): Handle PTA_PREFETCHWT1.
1255         (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1.
1256         * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New.
1257         * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
1258         (*prefetch_avx512pf_<mode>_: Change into ...
1259         (*prefetch_prefetchwt1_<mode>: This.
1260         * config/i386/i386.opt (mprefetchwt1): New.
1261         * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1.
1262         (_mm_prefetch): Handle intent to write.
1263         * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument.
1264
1265 2014-02-25  Richard Biener  <rguenther@suse.de>
1266
1267         PR middle-end/60291
1268         * emit-rtl.c (mem_attrs_htab): Remove.
1269         (mem_attrs_htab_hash): Likewise.
1270         (mem_attrs_htab_eq): Likewise.
1271         (set_mem_attrs): Always allocate new mem-attrs when something changed.
1272         (init_emit_once): Do not allocate mem_attrs_htab.
1273
1274 2014-02-25  Richard Biener  <rguenther@suse.de>
1275
1276         PR lto/60319
1277         * lto-opts.c (lto_write_options): Output non-explicit conservative
1278         -fwrapv, -fno-trapv and -fno-strict-overflow.
1279         * lto-wrapper.c (merge_and_complain): Handle merging those options.
1280         (run_gcc): And pass them through.
1281
1282 2014-02-25  Andrey Belevantsev  <abel@ispras.ru>
1283
1284         * sel-sched.c (calculate_new_fences): New parameter ptime.
1285         Calculate it as a maximum over all fence cycles.
1286         (sel_sched_region_2): Adjust the call to calculate_new_fences.
1287         Print the final schedule timing when sched_verbose.
1288
1289 2014-02-25  Andrey Belevantsev  <abel@ispras.ru>
1290
1291         PR rtl-optimization/60292
1292         * sel-sched.c (fill_vec_av_set): Do not reset target availability
1293         bit fot the fence instruction.
1294
1295 2014-02-24  Alangi Derick  <alangiderick@gmail.com>
1296
1297         * calls.h: Fix typo in comment.
1298
1299 2014-02-24  John David Anglin  <danglin@gcc.gnu.org>
1300
1301         * config/pa/pa.c (pa_output_move_double): Don't valididate when
1302         adjusting offsetable addresses.
1303
1304 2014-02-24  Guozhi Wei  <carrot@google.com>
1305
1306         * sparseset.h (sparseset_pop): Fix the wrong index.
1307
1308 2014-02-24  Walter Lee  <walt@tilera.com>
1309
1310         * config.gcc (tilepro-*-*): Change to tilepro*-*-*.
1311         (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
1312         triplet.
1313         * common/config/tilegx/tilegx-common.c
1314         (TARGET_DEFAULT_TARGET_FLAGS): Define.
1315         * config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
1316         (LINK_SPEC): Ditto.
1317         * config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
1318         * config/tilegx/tilegx.c (tilegx_return_in_msb): New.
1319         (tilegx_gimplify_va_arg_expr): Handle big endian.
1320         (tilegx_expand_unaligned_load): Ditto.
1321         (tilegx_expand_unaligned_store): Ditto.
1322         (TARGET_RETURN_IN_MSB): New.
1323         * config/tilegx/tilegx.h (TARGET_DEFAULT): New.
1324         (TARGET_ENDIAN_DEFAULT): New.
1325         (TARGET_BIG_ENDIAN): Handle big endian.
1326         (BYTES_BIG_ENDIAN): Ditto.
1327         (WORDS_BIG_ENDIAN): Ditto.
1328         (FLOAT_WORDS_BIG_ENDIAN): Ditto.
1329         (ENDIAN_SPEC): New.
1330         (EXTRA_SPECS): New.
1331         * config/tilegx/tilegx.md (extv): Handle big endian.
1332         (extzv): Ditto.
1333         (insn_st<n>): Ditto.
1334         (insn_st<n>_add<bitsuffix>): Ditto.
1335         (insn_stnt<n>): Ditto.
1336         (insn_stnt<n>_add<bitsuffix>):Ditto.
1337         (vec_interleave_highv8qi): Handle big endian.
1338         (vec_interleave_highv8qi_be): New.
1339         (vec_interleave_highv8qi_le): New.
1340         (insn_v1int_h): Handle big endian.
1341         (vec_interleave_lowv8qi): Handle big endian.
1342         (vec_interleave_lowv8qi_be): New.
1343         (vec_interleave_lowv8qi_le): New.
1344         (insn_v1int_l): Handle big endian.
1345         (vec_interleave_highv4hi): Handle big endian.
1346         (vec_interleave_highv4hi_be): New.
1347         (vec_interleave_highv4hi_le): New.
1348         (insn_v2int_h): Handle big endian.
1349         (vec_interleave_lowv4hi): Handle big endian.
1350         (vec_interleave_lowv4hi_be): New.
1351         (vec_interleave_lowv4hi_le): New.
1352         (insn_v2int_l): Handle big endian.
1353         (vec_interleave_highv2si): Handle big endian.
1354         (vec_interleave_highv2si_be): New.
1355         (vec_interleave_highv2si_le): New.
1356         (insn_v4int_h): Handle big endian.
1357         (vec_interleave_lowv2si): Handle big endian.
1358         (vec_interleave_lowv2si_be): New.
1359         (vec_interleave_lowv2si_le): New.
1360         (insn_v4int_l): Handle big endian.
1361         * config/tilegx/tilegx.opt (mbig-endian): New option.
1362         (mlittle-endian): New option.
1363         * doc/install.texi: Document tilegxbe-linux.
1364         * doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
1365
1366 2014-02-24  Martin Jambor  <mjambor@suse.cz>
1367
1368         PR ipa/60266
1369         * ipa-cp.c (propagate_constants_accross_call): Bail out early if
1370         there are no parameter descriptors.
1371
1372 2014-02-24  Andrey Belevantsev  <abel@ispras.ru>
1373
1374         PR rtl-optimization/60268
1375         * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
1376         initialization to ...
1377         (sched_rgn_init): ... here.
1378         (schedule_region): Check for SCHED_PRESSURE_NONE earlier.
1379
1380 2014-02-23  David Holsgrove <david.holsgrove@xilinx.com>
1381
1382         * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
1383         names.
1384
1385 2014-02-23  Edgar E. Iglesias <edgar.iglesias@xilinx.com>
1386
1387         * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
1388         definition.
1389
1390 2014-02-23  David Holsgrove <david.holsgrove@xilinx.com>
1391
1392         * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk,
1393         define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK.
1394
1395 2014-02-23  David Holsgrove <david.holsgrove@xilinx.com>
1396
1397         * config/microblaze/predicates.md: Add cmp_op predicate.
1398         * config/microblaze/microblaze.md: Add branch_compare instruction
1399         which uses cmp_op predicate and emits cmp insn before branch.
1400         * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
1401         to microblaze_expand_conditional_branch and consolidate logic.
1402         (microblaze_expand_conditional_branch): emit branch_compare
1403         insn instead of handling cmp op separate from branch insn.
1404
1405 2014-02-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1406
1407         * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
1408         to permit subregs.
1409
1410 2014-02-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1411
1412         * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
1413         define_insn with define_expand and new define_insn
1414         *altivec_lve<VI_char>x_internal.
1415         (altivec_stve<VI_char>x): Replace define_insn with define_expand
1416         and new define_insn *altivec_stve<VI_char>x_internal.
1417         * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
1418         prototype.
1419         * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
1420         lve*x built-ins.
1421         (altivec_expand_stvex_be): New function.
1422
1423 2014-02-22  Joern Rennecke  <joern.rennecke@embecosm.com>
1424
1425         * config/avr/avr.c (avr_can_eliminate): Allow elimination from
1426         ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed.
1427         * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
1428         ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
1429
1430 2014-02-21  Vladimir Makarov  <vmakarov@redhat.com>
1431
1432         PR target/60298
1433         * lra-constraints.c (inherit_reload_reg): Use lra_emit_move
1434         instead of emit_move_insn.
1435
1436 2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1437
1438         * config/rs6000/altivec.md (altivec_vsumsws): Replace second
1439         vspltw with vsldoi.
1440         (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
1441         gen_altivec_vsumsws.
1442
1443 2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1444
1445         * config/rs6000/altivec.md (altivec_lvxl): Rename as
1446         *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
1447         (altivec_lvxl_<mode>): New define_expand incorporating
1448         -maltivec=be semantics where needed.
1449         (altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
1450         (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
1451         semantics where needed.
1452         (altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
1453         (altivec_stvx_<mode>): New define_expand incorporating
1454         -maltivec=be semantics where needed.
1455         (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
1456         VM2 iterator instead of V4SI.
1457         (altivec_stvxl_<mode>): New define_expand incorporating
1458         -maltivec=be semantics where needed.
1459         * config/rs6000/rs6000-builtin.def: Add new built-in definitions
1460         LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
1461         LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF,
1462         STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF,
1463         STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI.
1464         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
1465         ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
1466         similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
1467         ALTIVEC_BUILTIN_STVXL.
1468         * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype.
1469         (altivec_expand_stvx_be): Likewise.
1470         * config/rs6000/rs6000.c (swap_selector_for_mode): New function.
1471         (altivec_expand_lvx_be): Likewise.
1472         (altivec_expand_stvx_be): Likewise.
1473         (altivec_expand_builtin): Add cases for
1474         ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
1475         ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
1476         (altivec_init_builtins): Add definitions for
1477         __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
1478         __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>.
1479
1480 2014-02-21  Catherine Moore  <clm@codesourcery.com>
1481
1482         * doc/invoke.texi (mvirt, mno-virt): Document.
1483         * config/mips/mips.opt (mvirt): New option.
1484         * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
1485
1486 2014-02-21  Richard Biener  <rguenther@suse.de>
1487
1488         PR tree-optimization/60276
1489         * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
1490         (STMT_VINFO_MIN_NEG_DIST): New macro.
1491         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
1492         STMT_VINFO_MIN_NEG_DIST.
1493         * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
1494         made for negative dependence distances still hold.
1495
1496 2014-02-21  Richard Biener  <rguenther@suse.de>
1497
1498         PR middle-end/60291
1499         * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
1500         DECL_INITIAL for globals not in the current function context.
1501
1502 2014-02-21  Jakub Jelinek  <jakub@redhat.com>
1503
1504         PR tree-optimization/56490
1505         * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
1506         * tree-ssa-uninit.c: Include params.h.
1507         (compute_control_dep_chain): Add num_calls argument, return false
1508         if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
1509         num_calls to recursive call.
1510         (find_predicates): Change dep_chain into normal array,
1511         cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
1512         variable and adjust compute_control_dep_chain caller.
1513         (find_def_preds): Likewise.
1514
1515 2014-02-21  Thomas Schwinge  <thomas@codesourcery.com>
1516
1517         * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
1518         <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
1519
1520 2014-02-21  Nick Clifton  <nickc@redhat.com>
1521
1522         * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
1523         (pushhi1): Likewise.
1524         (popqi1): Add mode to pre_dec.
1525         (pophi1): Likewise.
1526
1527 2014-02-21  Jakub Jelinek  <jakub@redhat.com>
1528
1529         * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
1530         mode for mask of V8SFmode permutation.
1531
1532 2014-02-20  Richard Henderson  <rth@redhat.com>
1533
1534         PR c++/60272
1535         * builtins.c (expand_builtin_atomic_compare_exchange): Always make
1536         a new pseudo for OLDVAL.
1537
1538 2014-02-20  Jakub Jelinek  <jakub@redhat.com>
1539
1540         PR target/57896
1541         * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
1542         gen_reg_rtx if d->testing_p.
1543         (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
1544         if d->testing_p and we will certainly return true.
1545         (expand_vec_perm_even_odd_1): Likewise.  Don't call gen_reg_rtx
1546         if d->testing_p.
1547
1548 2014-02-20  Uros Bizjak  <ubizjak@gmail.com>
1549
1550         * emit-rtl.c (gen_reg_rtx): Assert that
1551         crtl->emit.regno_pointer_align_length is non-zero.
1552
1553 2014-02-20  Richard Henderson  <rth@redhat.com>
1554
1555         PR c++/60272
1556         * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
1557         on failure the store back into EXPECT.
1558
1559 2014-02-20  Chung-Lin Tang  <cltang@codesourcery.com>
1560             Sandra Loosemore  <sandra@codesourcery.com>
1561
1562         * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
1563         * config/nios2/nios2.c (nios2_function_profiler): Add
1564         -fPIC (flag_pic == 2) support.
1565         (nios2_handle_custom_fpu_cfg): Fix warning parameter.
1566         (nios2_large_offset_p): New function.
1567         (nios2_unspec_reloc_p): Move up position, update to use
1568         nios2_large_offset_p.
1569         (nios2_unspec_address): Remove function.
1570         (nios2_unspec_offset): New function.
1571         (nios2_large_got_address): New function.
1572         (nios2_got_address): Add large offset support.
1573         (nios2_legitimize_tls_address): Update usage of removed and new
1574         functions.
1575         (nios2_symbol_binds_local_p): New function.
1576         (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
1577         (nios2_legitimize_address): Update to use nios2_large_offset_p.
1578         (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
1579         (nios2_print_operand): Merge H/L processing, add hiadj/lo
1580         processing for (const (unspec ...)).
1581         (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
1582
1583 2014-02-20  Richard Biener  <rguenther@suse.de>
1584
1585         * tree-cfg.c (replace_uses_by): Mark altered BBs before
1586         doing the substitution.
1587         (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
1588
1589 2014-02-20  Martin Jambor  <mjambor@suse.cz>
1590
1591         PR ipa/55260
1592         * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
1593         info when checking whether lattices are bottom.
1594
1595 2014-02-20  Richard Biener  <rguenther@suse.de>
1596
1597         PR middle-end/60221
1598         * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
1599         regions at -O0.
1600
1601 2014-02-20  Jan Hubicka  <hubicka@ucw.cz>
1602
1603         PR ipa/58555
1604         * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
1605         parameter specifying the scaling.
1606         (inline_call): Update.
1607         (want_inline_recursively): Guard division by zero.
1608         (recursive_inlining): Update.
1609         * ipa-inline.h (clone_inlined_nodes): Update.
1610
1611 2014-02-20  Ilya Tocar  <ilya.tocar@intel.com>
1612
1613         PR target/60204
1614         * config/i386/i386.c (classify_argument): Pass structures of size
1615         64 bytes or less in register.
1616
1617 2014-02-20  Ilya Tocar  <ilya.tocar@intel.com>
1618             Kirill Yukhin  <kirill.yukhin@intel.com>
1619
1620         * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
1621         (_mm_rcp28_round_ss): Ditto.
1622         (_mm_rsqrt28_round_sd): Ditto.
1623         (_mm_rsqrt28_round_ss): Ditto.
1624         * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
1625         (_mm_rcp14_round_ss): Ditto.
1626         (_mm_rsqrt14_round_sd): Ditto.
1627         (_mm_rsqrt14_round_ss): Ditto.
1628         * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
1629         the first input operand, get rid of match_dup.
1630         (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
1631         attribute to sse.
1632         (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
1633         Ditto.
1634         (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
1635         operand as the first input operand, set type attribute.
1636         (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
1637         Set type attribute.
1638         (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
1639         operand as the first input operand, set type attribute.
1640
1641 2014-02-19  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1642
1643         * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
1644         bit of zero.
1645
1646 2014-02-19  H.J. Lu  <hongjiu.lu@intel.com>
1647
1648         PR target/60207
1649         * config/i386/i386.c (construct_container): Remove TFmode check
1650         for X86_64_INTEGER_CLASS.
1651
1652 2014-02-19  Uros Bizjak  <ubizjak@gmail.com>
1653
1654         PR target/59794
1655         * config/i386/i386.c (type_natural_mode): Warn for ABI changes
1656         only when -Wpsabi is enabled.
1657
1658 2014-02-19  Michael Hudson-Doyle  <michael.hudson@linaro.org>
1659
1660          PR target/59799
1661         * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
1662         passing arrays in registers are the same as for structs, so remove the
1663         special case for them.
1664
1665 2014-02-19  Eric Botcazou  <ebotcazou@adacore.com>
1666
1667         * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
1668         destination type, extract only the valid bits if the source type is not
1669         integral and has a different mode.
1670
1671 2014-02-19  Richard Biener  <rguenther@suse.de>
1672
1673         PR ipa/60243
1674         * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
1675         for all calls.
1676
1677 2014-02-19  Richard Biener  <rguenther@suse.de>
1678
1679         PR ipa/60243
1680         * ipa-prop.c: Include stringpool.h and tree-ssanames.h.
1681         (ipa_modify_call_arguments): Emit an argument load explicitely and
1682         preserve virtual SSA form there and for the replacement call.
1683         Do not update SSA form nor free dominance info.
1684
1685 2014-02-18  Jan Hubicka  <hubicka@ucw.cz>
1686
1687         * ipa.c (function_and_variable_visibility): Also clear WEAK
1688         flag when disolving COMDAT_GROUP.
1689
1690 2014-02-18  Jan Hubicka  <hubicka@ucw.cz>
1691
1692         * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
1693         * ipa-prop.c (ipa_set_jf_known_type): Return early when
1694         not devirtualizing.
1695         (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved;
1696         do more sanity checks.
1697         (detect_type_change): Return true when giving up early.
1698         (compute_complex_assign_jump_func): Fix type parameter of
1699         ipa_set_ancestor_jf.
1700         (compute_complex_ancestor_jump_func): Likewise.
1701         (update_jump_functions_after_inlining): Fix updating of
1702         ancestor function.
1703         * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
1704
1705 2014-02-18  Jan Hubicka  <hubicka@ucw.cz>
1706
1707         * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove
1708         inline clones when edge disappears.
1709
1710 2014-02-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
1711
1712         PR target/60203
1713         * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
1714         Split 64-bit moves into 2 patterns.  Do not allow the use of
1715         direct move for TDmode in little endian, since the decimal value
1716         has little endian bytes within a word, but the 64-bit pieces are
1717         ordered in a big endian fashion, and normal subreg's of TDmode are
1718         not allowed.
1719         (mov<mode>_64bit_dm): Likewise.
1720         (movtd_64bit_nodm): Likewise.
1721
1722 2014-02-18  Eric Botcazou  <ebotcazou@adacore.com>
1723
1724         PR tree-optimization/60174
1725         * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining
1726         statement of an SSA_NAME that occurs in an abnormal PHI node.
1727
1728 2014-02-18  Jakub Jelinek  <jakub@redhat.com>
1729
1730         PR sanitizer/60142
1731         * final.c (SEEN_BB): Remove.
1732         (SEEN_NOTE, SEEN_EMITTED): Renumber.
1733         (final_scan_insn): Don't force_source_line on second
1734         NOTE_INSN_BASIC_BLOCK.
1735
1736 2014-02-18  Uros Bizjak  <ubizjak@gmail.com>
1737
1738         PR target/60205
1739         * config/i386/i386.h (struct ix86_args): Add warn_avx512f.
1740         * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f.
1741         (type_natural_mode): Warn ABI change when %zmm register is not
1742         available for AVX512F vector value passing.
1743
1744 2014-02-18  Kai Tietz  <ktietz@redhat.com>
1745
1746         PR target/60193
1747         * config/i386/i386.c (ix86_expand_prologue): Use value in
1748         rax register as displacement when restoring %r10 or %rax.
1749         Fix wrong offset when restoring both registers.
1750
1751 2014-02-18  Eric Botcazou  <ebotcazou@adacore.com>
1752
1753         * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
1754         assertion with conditional return.
1755
1756 2014-02-18  Jakub Jelinek  <jakub@redhat.com>
1757             Uros Bizjak  <ubizjak@gmail.com>
1758
1759         PR driver/60233
1760         * config/i386/driver-i386.c (host_detect_local_cpu): If
1761         YMM state is not saved by the OS, also clear has_f16c.  Move
1762         CPUID 0x80000001 handling before YMM state saving checking.
1763
1764 2014-02-18  Andrey Belevantsev  <abel@ispras.ru>
1765
1766         PR rtl-optimization/58960
1767         * haifa-sched.c (alloc_global_sched_pressure_data): New,
1768         factored out from ...
1769         (sched_init): ... here.
1770         (free_global_sched_pressure_data): New, factored out from ...
1771         (sched_finish): ... here.
1772         * sched-int.h (free_global_sched_pressure_data): Declare.
1773         * sched-rgn.c (nr_regions_initial): New static global.
1774         (haifa_find_rgns): Initialize it.
1775         (schedule_region): Disable sched-pressure for the newly
1776         generated regions.
1777
1778 2014-02-17  Richard Biener  <rguenther@suse.de>
1779
1780         * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and
1781         release SSA defs of pattern stmts.
1782
1783 2014-02-17  Richard Biener  <rguenther@suse.de>
1784
1785         * tree-inline.c (expand_call_inline): Release the virtual
1786         operand defined by the call we are about to inline.
1787
1788 2014-02-17  Richard Biener  <rguenther@suse.de>
1789
1790         * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
1791
1792 2014-02-17  Kirill Yukhin  <kirill.yukhin@intel.com>
1793             Ilya Tocar  <ilya.tocar@intel.com>
1794
1795         * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
1796         arguments order in builtin.
1797         (_mm512_permutexvar_epi64): Ditto.
1798         (_mm512_mask_permutexvar_epi64): Ditto
1799         (_mm512_maskz_permutexvar_epi32): Ditto
1800         (_mm512_permutexvar_epi32): Ditto
1801         (_mm512_mask_permutexvar_epi32): Ditto
1802
1803 2014-02-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1804
1805         * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets.
1806         (p8_vmrgow): Likewise.
1807
1808 2014-02-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1809
1810         * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
1811         endian targets.
1812
1813 2014-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
1814
1815         PR target/60203
1816         * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
1817         (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
1818         into 64-bit and 32-bit moves.  On 64-bit moves, add support for
1819         using direct move instructions on ISA 2.07.  Also adjust
1820         instruction length for 64-bit.
1821         (mov<mode>_64bit, TFmode/TDmode): Likewise.
1822         (mov<mode>_32bit, TFmode/TDmode): Likewise.
1823
1824 2014-02-15  Alan Modra  <amodra@gmail.com>
1825
1826         PR target/58675
1827         PR target/57935
1828         * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
1829         find_replacement on parts of insn rtl that might be reloaded.
1830
1831 2014-02-15  Richard Biener  <rguenther@suse.de>
1832
1833         PR tree-optimization/60183
1834         * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads.
1835         (tree_ssa_phiprop): Calculate and free post-dominators.
1836
1837 2014-02-14  Jeff Law  <law@redhat.com>
1838
1839         PR rtl-optimization/60131
1840         * ree.c (get_extended_src_reg): New function.
1841         (combine_reaching_defs): Use it rather than assuming location of REG.
1842         (find_and_remove_re): Verify first operand of extension is
1843         a REG before adding the insns to the copy list.
1844
1845 2014-02-14  Roland McGrath  <mcgrathr@google.com>
1846
1847         * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
1848         * configure: Regenerated.
1849         * config.in: Regenerated.
1850         * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
1851         instead of ASM_SHORT.
1852
1853 2014-02-14  Vladimir Makarov  <vmakarov@redhat.com>
1854             Richard Earnshaw  <rearnsha@arm.com>
1855
1856         PR rtl-optimization/59535
1857         * lra-constraints.c (process_alt_operands): Encourage alternative
1858         when unassigned pseudo class is superset of the alternative class.
1859         (inherit_reload_reg): Don't inherit when optimizing for code size.
1860         * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA
1861         returning CORE_REGS for anything but Thumb1 and BASE_REGS for
1862         modes not less than 4 for Thumb1.
1863
1864 2014-02-14  Kyle McMartin  <kyle@redhat.com>
1865
1866         PR pch/60010
1867         * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
1868
1869 2014-02-14  Richard Biener  <rguenther@suse.de>
1870
1871         * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF.
1872         (get_frame_arg): Drop the assert with langhook types_compatible_p.
1873         Do not strip INDIRECT_REFs.
1874
1875 2014-02-14  Richard Biener  <rguenther@suse.de>
1876
1877         PR lto/60179
1878         * lto-streamer-out.c (DFS_write_tree_body): Do not follow
1879         DECL_FUNCTION_SPECIFIC_TARGET.
1880         (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET.
1881         * tree-streamer-out.c (pack_ts_target_option): Remove.
1882         (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION.
1883         (write_ts_function_decl_tree_pointers): Do not stream
1884         DECL_FUNCTION_SPECIFIC_TARGET.
1885         * tree-streamer-in.c (unpack_ts_target_option): Remove.
1886         (unpack_value_fields): Do not stream TS_TARGET_OPTION.
1887         (lto_input_ts_function_decl_tree_pointers): Do not stream
1888         DECL_FUNCTION_SPECIFIC_TARGET.
1889
1890 2014-02-14  Jakub Jelinek  <jakub@redhat.com>
1891
1892         * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice.
1893         (get_initial_def_for_induction, vectorizable_induction): Ignore
1894         debug stmts when looking for exit_phi.
1895         (vectorizable_live_operation): Fix up condition.
1896
1897 2014-02-14  Chung-Ju Wu  <jasonwucj@gmail.com>
1898
1899         * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use
1900         nreverse() because it changes the content of original tree list.
1901
1902 2014-02-14  Chung-Ju Wu  <jasonwucj@gmail.com>
1903
1904         * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment.
1905         * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise.
1906
1907 2014-02-14  Chung-Ju Wu  <jasonwucj@gmail.com>
1908
1909         * config/nds32/nds32.c (nds32_naked_function_p): Follow the
1910         GNU coding standards.
1911
1912 2014-02-13  Jakub Jelinek  <jakub@redhat.com>
1913
1914         PR debug/60152
1915         * dwarf2out.c (gen_subprogram_die): Don't call
1916         add_calling_convention_attribute if subr_die is old_die.
1917
1918 2014-02-13  Sharad Singhai  <singhai@google.com>
1919
1920         * doc/optinfo.texi: Fix order of nodes.
1921
1922 2014-02-13  Uros Bizjak  <ubizjak@gmail.com>
1923
1924         * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
1925         operands[2], not operands[3].
1926
1927 2014-02-13  Richard Biener  <rguenther@suse.de>
1928
1929         PR bootstrap/59878
1930         * doc/install.texi (ISL): Update recommended version to 0.12.2,
1931         mention the possibility of an in-tree build.
1932         (CLooG): Update recommended version to 0.18.1, mention the
1933         possibility of an in-tree build and clarify that the ISL
1934         bundled with CLooG does not work.
1935
1936 2014-02-13  Jakub Jelinek  <jakub@redhat.com>
1937
1938         PR target/43546
1939         * expr.c (compress_float_constant): If x is a hard register,
1940         extend into a pseudo and then move to x.
1941
1942 2014-02-13  Dominik Vogt  <vogt@linux.vnet.ibm.com>
1943
1944         * config/s390/s390.c (s390_asm_output_function_label): Fix crash
1945         caused by bad second argument to warning_at() with -mhotpatch and
1946         nested functions (e.g. with gfortran).
1947
1948 2014-02-13  Richard Sandiford  <rdsandiford@googlemail.com>
1949
1950         * opts.c (option_name): Remove "enabled by default" rider.
1951
1952 2014-02-12  John David Anglin  <danglin@gcc.gnu.org>
1953
1954         * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
1955
1956 2014-02-12  H.J. Lu  <hongjiu.lu@intel.com>
1957             Uros Bizjak  <ubizjak@gmail.com>
1958
1959         PR target/60151
1960         * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
1961         * configure: Regenerated.
1962
1963 2014-02-12  Richard Biener  <rguenther@suse.de>
1964
1965         * vec.c (vec_prefix::calculate_allocation): Move as
1966         inline variant to vec.h.
1967         (vec_prefix::calculate_allocation_1): New out-of-line version.
1968         * vec.h (vec_prefix::calculate_allocation_1): Declare.
1969         (vec_prefix::m_has_auto_buf): Rename to ...
1970         (vec_prefix::m_using_auto_storage): ... this.
1971         (vec_prefix::calculate_allocation): Inline the easy cases
1972         and dispatch to calculate_allocation_1 which doesn't need the
1973         prefix address.
1974         (va_heap::reserve): Use gcc_checking_assert.
1975         (vec<T, A, vl_embed>::embedded_init): Add argument to initialize
1976         m_using_auto_storage.
1977         (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed>
1978         member and adjust.
1979         (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check.
1980         (vec<T, va_heap, vl_ptr>::release): Avoid casting.
1981         (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify.
1982
1983 2014-02-12  Richard Biener  <rguenther@suse.de>
1984
1985         * gcse.c (compute_transp): break from loop over canon_modify_mem_list
1986         when we found a dependence.
1987
1988 2014-02-12  Thomas Schwinge  <thomas@codesourcery.com>
1989
1990         * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move
1991         common code...
1992         (maybe_fold_stmt): ... into this new function.
1993         * omp-low.c (lower_omp): Update comment.
1994
1995         * omp-low.c (lower_omp_target): Add clobber for sizes array, after
1996         last use.
1997
1998         * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
1999         dereference.
2000
2001 2014-02-12  James Greenhalgh  <james.greenhalgh@arm.com>
2002
2003         * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix
2004         identifiers in comments.
2005         (cortexa53_extra_costs): Likewise.
2006         * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments.
2007         (cortexa7_extra_costs): Likewise.
2008         (cortexa12_extra_costs): Likewise.
2009         (cortexa15_extra_costs): Likewise.
2010         (v7m_extra_costs): Likewise.
2011
2012 2014-02-12  Richard Biener  <rguenther@suse.de>
2013
2014         PR middle-end/60092
2015         * gimple-low.c (lower_builtin_posix_memalign): Lower conditional
2016         of posix_memalign being successful.
2017         (lower_stmt): Restrict lowering of posix_memalign to when
2018         -ftree-bit-ccp is enabled.
2019
2020 2014-02-12  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
2021
2022         * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for
2023         arg_loc.
2024         * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
2025
2026 2014-02-12  Eric Botcazou  <ebotcazou@adacore.com>
2027
2028         PR rtl-optimization/60116
2029         * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
2030         other_insn once the combination has been validated.
2031
2032 2014-02-11  Jan Hubicka  <hubicka@ucw.cz>
2033
2034         PR lto/59468
2035         * ipa-utils.h (possible_polymorphic_call_targets): Update prototype
2036         and wrapper.
2037         * ipa-devirt.c: Include demangle.h
2038         (odr_violation_reported): New static variable.
2039         (add_type_duplicate): Update odr_violations.
2040         (maybe_record_node): Add completep parameter; update it.
2041         (record_target_from_binfo): Add COMPLETEP parameter;
2042         update it as needed.
2043         (possible_polymorphic_call_targets_1): Likewise.
2044         (struct polymorphic_call_target_d): Add nonconstruction_targets;
2045         rename FINAL to COMPLETE.
2046         (record_targets_from_bases): Sanity check we found the binfo;
2047         fix COMPLETEP updating.
2048         (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP
2049         parameter, fix computing of COMPLETEP.
2050         (dump_possible_polymorphic_call_targets): Imrove readability of dump;
2051         at LTO time do demangling.
2052         (ipa_devirt): Use nonconstruction_targets; Improve dumps.
2053         * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer
2054         parameter.
2055         (gimple_get_virt_method_for_binfo): Likewise.
2056         * gimple-fold.h (gimple_get_virt_method_for_binfo,
2057         gimple_get_virt_method_for_vtable): Update prototypes.
2058
2059 2014-02-11  Vladimir Makarov  <vmakarov@redhat.com>
2060
2061         PR target/49008
2062         * genautomata.c (add_presence_absence): Fix typo with
2063         {final_}presence_list.
2064
2065 2014-02-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
2066
2067         PR target/60137
2068         * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter
2069         for VSX/Altivec vectors that land in GPR registers.
2070
2071 2014-02-11  Richard Henderson  <rth@redhat.com>
2072             Jakub Jelinek  <jakub@redhat.com>
2073
2074         PR debug/59776
2075         * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
2076         around drhs if type conversion to lacc->type is not useless.
2077
2078 2014-02-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2079
2080         * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57
2081         tuning struct.
2082         (cortex-a57.cortex-a53): Likewise.
2083         * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct.
2084
2085 2014-02-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2086
2087         * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
2088         arm_restrict_it.
2089
2090 2014-02-11  Renlin Li  <Renlin.Li@arm.com>
2091
2092         * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
2093         add_options_for_arm_vfp3.
2094
2095 2014-02-11  Jeff Law  <law@redhat.com>
2096
2097         PR middle-end/54041
2098         * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an
2099         object with an undesirable mode.
2100
2101 2014-02-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2102
2103         PR libgomp/60107
2104         * config/i386/sol2-9.h: New file.
2105         * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
2106         *-*-solaris2.9*): Use it.
2107
2108 2014-02-10  Nagaraju Mekala <nagaraju.mekala@xilinx.com>
2109
2110         * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
2111         * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
2112
2113 2014-02-10  Nagaraju Mekala <nagaraju.mekala@xilinx.com>
2114
2115         * config/microblaze/microblaze.c: Extend mcpu version format
2116
2117 2014-02-10  David Holsgrove <david.holsgrove@xilinx.com>
2118
2119         * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
2120
2121 2014-02-10  Richard Henderson  <rth@redhat.com>
2122
2123         PR target/59927
2124         * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
2125         * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
2126         ms-abi vs -mno-accumulate-outgoing-args.
2127         (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
2128         * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
2129         respect to ms-abi.
2130
2131 2014-02-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2132
2133         PR middle-end/60080
2134         * cfgexpand.c (expand_asm_operands): Attach source location to
2135         ASM_INPUT rtx objects.
2136         * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
2137
2138 2014-02-10  Nick Clifton  <nickc@redhat.com>
2139
2140         * config/mn10300/mn10300.c (popcount): New function.
2141         (mn10300_expand_prologue): Include saved registers in stack usage
2142         count.
2143
2144 2014-02-10  Jeff Law  <law@redhat.com>
2145
2146         PR middle-end/52306
2147         * reload1.c (emit_input_reload_insns): Do not create invalid RTL
2148         when changing the SET_DEST of a prior insn to avoid an input reload.
2149
2150 2014-02-10  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2151
2152         * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
2153         big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
2154         -mcall-openbsd, or -mcall-linux.
2155         (CC1_ENDIAN_BIG_SPEC): Remove.
2156         (CC1_ENDIAN_LITTLE_SPEC): Remove.
2157         (CC1_ENDIAN_DEFAULT_SPEC): Remove.
2158         (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
2159         (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
2160         and %cc1_endian_default.
2161         * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
2162
2163 2014-02-10  Richard Biener  <rguenther@suse.de>
2164
2165         PR tree-optimization/60115
2166         * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
2167         MEM_REF handling.  Properly verify that the accesses are not
2168         out of the objects bound.
2169
2170 2014-02-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2171
2172         * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
2173         coretex to cortex.
2174
2175 2014-02-10  Eric Botcazou  <ebotcazou@adacore.com>
2176
2177         * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
2178         proper constants and fix formatting.
2179         (possible_polymorphic_call_targets): Fix formatting.
2180
2181 2014-02-10  Kirill Yukhin  <kirill.yukhin@intel.com>
2182             Ilya Tocar  <ilya.tocar@intel.com>
2183
2184         * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
2185         (_mm512_loadu_epi32): Renamed into...
2186         (_mm512_loadu_si512): This.
2187         (_mm512_storeu_epi32): Renamed into...
2188         (_mm512_storeu_si512): This.
2189         (_mm512_maskz_ceil_ps): Removed.
2190         (_mm512_maskz_ceil_pd): Ditto.
2191         (_mm512_maskz_floor_ps): Ditto.
2192         (_mm512_maskz_floor_pd): Ditto.
2193         (_mm512_floor_round_ps): Ditto.
2194         (_mm512_floor_round_pd): Ditto.
2195         (_mm512_ceil_round_ps): Ditto.
2196         (_mm512_ceil_round_pd): Ditto.
2197         (_mm512_mask_floor_round_ps): Ditto.
2198         (_mm512_mask_floor_round_pd): Ditto.
2199         (_mm512_mask_ceil_round_ps): Ditto.
2200         (_mm512_mask_ceil_round_pd): Ditto.
2201         (_mm512_maskz_floor_round_ps): Ditto.
2202         (_mm512_maskz_floor_round_pd): Ditto.
2203         (_mm512_maskz_ceil_round_ps): Ditto.
2204         (_mm512_maskz_ceil_round_pd): Ditto.
2205         (_mm512_expand_pd): Ditto.
2206         (_mm512_expand_ps): Ditto.
2207         * config/i386/i386.c (ix86_builtins): Remove
2208         IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
2209         (bdesc_args): Ditto.
2210         * config/i386/predicates.md (const1256_operand): New.
2211         (const_1_to_2_operand): Ditto.
2212         * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
2213         (*avx512pf_gatherpf<mode>sf_mask): Ditto.
2214         (*avx512pf_gatherpf<mode>sf): Ditto.
2215         (avx512pf_gatherpf<mode>df): Ditto.
2216         (*avx512pf_gatherpf<mode>df_mask): Ditto.
2217         (*avx512pf_gatherpf<mode>df): Ditto.
2218         (avx512pf_scatterpf<mode>sf): Ditto.
2219         (*avx512pf_scatterpf<mode>sf_mask): Ditto.
2220         (*avx512pf_scatterpf<mode>sf): Ditto.
2221         (avx512pf_scatterpf<mode>df): Ditto.
2222         (*avx512pf_scatterpf<mode>df_mask): Ditto.
2223         (*avx512pf_scatterpf<mode>df): Ditto.
2224         (avx512f_expand<mode>): Removed.
2225         (<shift_insn><mode>3<mask_name>): Change predicate type.
2226
2227 2014-02-08  Jakub Jelinek  <jakub@redhat.com>
2228
2229         * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
2230         not at the end of datarefs vector use ordered_remove to avoid
2231         reordering datarefs vector.
2232
2233         PR c/59984
2234         * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
2235         mark local addressable non-static vars as GOVD_PRIVATE
2236         instead of GOVD_LOCAL.
2237         * omp-low.c (lower_omp_for): Move gimple_bind_vars
2238         and BLOCK_VARS of gimple_bind_block to new_stmt rather
2239         than copying them.
2240
2241         PR middle-end/60092
2242         * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
2243         if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
2244         assume_aligned or alloc_align attributes.
2245         (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
2246         arguments.  Handle also assume_aligned and alloc_align attributes.
2247         (evaluate_stmt): Adjust bit_value_assume_aligned caller.  Handle
2248         calls to functions with assume_aligned or alloc_align attributes.
2249         * doc/extend.texi: Document assume_aligned and alloc_align attributes.
2250
2251 2014-02-08  Terry Guo  <terry.guo@arm.com>
2252
2253         * doc/invoke.texi: Document ARM -march=armv7e-m.
2254
2255 2014-02-08  Jakub Jelinek  <jakub@redhat.com>
2256
2257         * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
2258         flag on __cilkrts_rethrow builtin.
2259
2260         PR ipa/60026
2261         * ipa-cp.c (determine_versionability): Fail at -O0
2262         or __attribute__((optimize (0))) or -fno-ipa-cp functions.
2263         * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
2264
2265         Revert:
2266         2014-02-04  Jakub Jelinek  <jakub@redhat.com>
2267
2268         PR ipa/60026
2269         * tree-inline.c (copy_forbidden): Fail for
2270         __attribute__((optimize (0))) functions.
2271
2272 2014-02-07  Jan Hubicka  <hubicka@ucw.cz>
2273
2274         * varpool.c: Include pointer-set.h.
2275         (varpool_remove_unreferenced_decls): Variables in other partitions
2276         will not be output; be however careful to not lose information
2277         about partitioning.
2278
2279 2014-02-07  Jan Hubicka  <hubicka@ucw.cz>
2280
2281         * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
2282         lookup in the vtable constructor.
2283
2284 2014-02-07  Jeff Law  <law@redhat.com>
2285
2286         PR target/40977
2287         * config/m68k/m68k.md (ashldi_extsi): Turn into a
2288         define_insn_and_split.
2289
2290         * ipa-inline.c (inline_small_functions): Fix typos.
2291
2292 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
2293
2294         * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
2295         (s390_can_use_return_insn): Declare.
2296         * config/s390/s390.h (EPILOGUE_USES): Define.
2297         * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
2298         instructions.
2299         (s390_chunkify_start): Handle return JUMP_LABELs.
2300         (s390_early_mach): Emit a main_pool instruction on the entry edge.
2301         (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
2302         (s390_can_use_return_insn): New functions.
2303         (s390_fix_long_loop_prediction): Handle conditional returns.
2304         (TARGET_SET_UP_BY_PROLOGUE): Define.
2305         * config/s390/s390.md (ANY_RETURN): New code iterator.
2306         (*creturn, *csimple_return, return, simple_return): New patterns.
2307
2308 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
2309
2310         * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
2311         notes to each restore.  Also add REG_CFA_DEF_CFA when restoring %r15.
2312         (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P.  Update the
2313         REG_CFA_RESTORE list when deciding not to restore a register.
2314
2315 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
2316
2317         * config/s390/s390.c: Include tree-pass.h and context.h.
2318         (s390_early_mach): New function, split out from...
2319         (s390_emit_prologue): ...here.
2320         (pass_data_s390_early_mach): New pass structure.
2321         (pass_s390_early_mach): New class.
2322         (s390_option_override): Create and register early_mach pass.
2323         Move to end of file.
2324
2325 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
2326
2327         * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
2328         to match for the exit block.
2329
2330 2014-02-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2331
2332         * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
2333         ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
2334         Reject misaligned operands.
2335
2336 2014-02-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2337
2338         * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail.
2339
2340 2014-02-07  Richard Biener  <rguenther@suse.de>
2341
2342         PR middle-end/60092
2343         * gimple-low.c (lower_builtin_posix_memalign): New function.
2344         (lower_stmt): Call it to lower posix_memalign in a way
2345         to make alignment info accessible.
2346
2347 2014-02-07  Jakub Jelinek  <jakub@redhat.com>
2348
2349         PR c++/60082
2350         * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
2351         __builtin_setjmp_receiver.
2352
2353 2014-02-07  Richard Biener  <rguenther@suse.de>
2354
2355         PR middle-end/60092
2356         * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
2357         * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
2358         * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
2359         Handle BUILT_IN_POSIX_MEMALIGN.
2360         (find_func_clobbers): Likewise.
2361         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
2362         (call_may_clobber_ref_p_1): Likewise.
2363
2364 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
2365
2366         PR ipa/59918
2367         * ipa-devirt.c (record_target_from_binfo): Remove overactive
2368         sanity check.
2369
2370 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
2371
2372         PR ipa/59469
2373         * lto-cgraph.c (lto_output_node): Use
2374         symtab_get_symbol_partitioning_class.
2375         (lto_output_varpool_node): likewise.
2376         (symtab_get_symbol_partitioning_class): Move here from
2377         lto/lto-partition.c
2378         * cgraph.h (symbol_partitioning_class): Likewise.
2379         (symtab_get_symbol_partitioning_class): Declare.
2380
2381 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
2382
2383         * ggc.h (ggc_internal_cleared_alloc): New macro.
2384         * vec.h (vec_safe_copy): Handle memory stats.
2385         * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
2386         * target-globals.c (save_target_globals): Likewise.
2387
2388 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
2389
2390         PR target/60077
2391         * expr.c (emit_move_resolve_push): Export; be bit more selective
2392         on when to clear alias set.
2393         * expr.h (emit_move_resolve_push): Declare.
2394         * function.h (struct function): Add tail_call_marked.
2395         * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
2396         * config/i386/i386-protos.h (ix86_expand_push): Remove.
2397         * config/i386/i386.md (TImode move expander): De not call
2398         ix86_expand_push.
2399         (FP push expanders): Preserve memory attributes.
2400         * config/i386/sse.md (push<mode>1): Remove.
2401         * config/i386/i386.c (ix86_expand_vector_move): Handle push operation.
2402         (ix86_expand_push): Remove.
2403         * config/i386/mmx.md (push<mode>1): Remove.
2404
2405 2014-02-06  Jakub Jelinek  <jakub@redhat.com>
2406
2407         PR rtl-optimization/60030
2408         * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
2409         lopart with paradoxical subreg before shifting it up by hprec.
2410
2411 2014-02-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2412
2413         * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
2414         Remove extra newline at end of file.
2415         * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
2416         (arm_issue_rate): Handle cortexa57.
2417         * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
2418         (cortex-a57.cortex-a53): Likewise.
2419
2420 2014-02-06  Jakub Jelinek  <jakub@redhat.com>
2421
2422         PR target/59575
2423         * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
2424         don't record in REG_FRAME_RELATED_EXPR registers not set in that
2425         bitmask.
2426         (arm_expand_prologue): Adjust all callers.
2427         (arm_unwind_emit_sequence): Allow saved, but not important for unwind
2428         info, registers also at the lowest numbered registers side.  Use
2429         gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
2430         XEXP.
2431
2432         PR debug/59992
2433         * var-tracking.c (adjust_mems): Before adding a SET to
2434         amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx.
2435
2436 2014-02-06  Alan Modra  <amodra@gmail.com>
2437
2438         PR target/60032
2439         * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
2440         change SDmode to DDmode when lra_in_progress.
2441
2442 2014-02-06  Jakub Jelinek  <jakub@redhat.com>
2443
2444         PR middle-end/59150
2445         * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
2446         free_data_ref on the dr first, and before goto again also set dr
2447         to the next dr.  For simd_lane_access, free old datarefs[i] before
2448         overwriting it.  For get_vectype_for_scalar_type failure, don't
2449         free_data_ref if simd_lane_access.
2450
2451         * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
2452
2453         PR target/60062
2454         * tree.h (opts_for_fn): New inline function.
2455         (opt_for_fn): Define.
2456         * config/i386/i386.c (ix86_function_regparm): Use
2457         opt_for_fn (decl, optimize) instead of optimize.
2458
2459 2014-02-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
2460
2461         * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
2462         for SYMBOL_REF in large memory model.
2463
2464 2014-02-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2465
2466         * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
2467         and crypto support.
2468         (cortex-a57): Likewise.
2469         (cortex-a57.cortex-a53): Likewise.
2470
2471 2014-02-06  Yury Gribov  <y.gribov@samsung.com>
2472             Kugan Vivekanandarajah  <kuganv@linaro.org>
2473
2474         * config/arm/arm.c (arm_vector_alignment_reachable): Check
2475         unaligned_access.
2476         * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
2477
2478 2014-02-06  Richard Biener  <rguenther@suse.de>
2479
2480         * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
2481         set_loop_copy and initialize_original_copy_tables.
2482
2483 2014-02-06  Alex Velenko  <Alex.Velenko@arm.com>
2484
2485         * config/aarch64/aarch64-simd.md
2486         (aarch64_ashr_simddi): Change QI to SI.
2487
2488 2014-02-05  Jan Hubicka  <hubicka@ucw.cz>
2489             Jakub Jelinek  <jakub@redhat.com>
2490
2491         PR middle-end/60013
2492         * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
2493         of the dataflow.
2494
2495 2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2496
2497         * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
2498         CODE_FOR_altivec_vpku[hw]um to
2499         CODE_FOR_altivec_vpku[hw]um_direct.
2500         * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
2501         UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
2502         (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
2503         UNSPEC_VUNPACK_LO_SIGN_DIRECT.
2504
2505 2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2506
2507         * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
2508         generation for -maltivec=be.
2509         (altivec_vsumsws): Simplify redundant test.
2510
2511 2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2512
2513         * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
2514         (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
2515         (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
2516         (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
2517         gen_altivec_vpkuwum.
2518         (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
2519         BYTES_BIG_ENDIAN.
2520         (altivec_vpks<VI_char>ss): Likewise.
2521         (altivec_vpks<VI_char>us): Likewise.
2522         (altivec_vpku<VI_char>us): Likewise.
2523         (altivec_vpku<VI_char>um): Likewise.
2524         (altivec_vpku<VI_char>um_direct): New (copy of
2525         altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
2526         internal use).
2527         (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
2528         target is little endian and -maltivec=be is not specified.
2529         (*altivec_vupkhs<VU_char>_direct): New (copy of
2530         altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use).
2531         (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
2532         target is little endian and -maltivec=be is not specified.
2533         (*altivec_vupkls<VU_char>_direct): New (copy of
2534         altivec_vupkls<VU_char> that always emits vupkls*, for internal use).
2535         (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
2536         little endian and -maltivec=be is not specified.
2537         (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
2538         little endian and -maltivec=be is not specified.
2539
2540 2014-02-05  Richard Henderson  <rth@redhat.com>
2541
2542         PR debug/52727
2543         * combine-stack-adj.c: Revert r206943.
2544         * sched-int.h (struct deps_desc): Add last_args_size.
2545         * sched-deps.c (init_deps): Initialize it.
2546         (sched_analyze_insn): Add OUTPUT dependencies between insns that
2547         contain REG_ARGS_SIZE notes.
2548
2549 2014-02-05  Jan Hubicka  <hubicka@ucw.cz>
2550
2551         * lto-cgraph.c (asm_nodes_output): Make global.
2552         * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
2553         * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter
2554         (driver_handle_option): Handle OPT_fwpa.
2555
2556 2014-02-05  Jakub Jelinek  <jakub@redhat.com>
2557
2558         PR ipa/59947
2559         * ipa-devirt.c (possible_polymorphic_call_targets): Fix
2560         a comment typo and formatting issue.  If odr_hash hasn't been
2561         created, return vNULL and set *completep to false.
2562
2563         PR middle-end/57499
2564         * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
2565         bb with no successors.
2566
2567 2014-02-05  James Greenhalgh  <james.greenhalgh@arm.com>
2568
2569         PR target/59718
2570         * doc/invoke.texi (-march): Clarify documentation for ARM.
2571         (-mtune): Likewise.
2572         (-mcpu): Likewise.
2573
2574 2014-02-05  Richard Biener  <rguenther@suse.de>
2575
2576         * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
2577         when not vectorizing because of too many alias checks.
2578         * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
2579         Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
2580
2581 2014-02-05  Nick Clifton  <nickc@redhat.com>
2582
2583         * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
2584         accept extended registers in any mode when compiling for the MN10300.
2585
2586 2014-02-05  Yury Gribov  <y.gribov@samsung.com>
2587
2588         * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
2589         * ipa-inline.c (report_inline_failed_reason): Handle mismatched
2590         sanitization attributes.
2591         (can_inline_edge_p): Likewise.
2592         (sanitize_attrs_match_for_inline_p): New function.
2593
2594 2014-02-04  Jan Hubicka  <hubicka@ucw.cz>
2595
2596         * ipa-prop.c (detect_type_change): Shor circuit testing of
2597         type changes on THIS pointer.
2598
2599 2014-02-04  John David Anglin  <danglin@gcc.gnu.org>
2600
2601         PR target/59777
2602         * config/pa/pa.c (legitimize_tls_address): Return original address
2603         if not passed a SYMBOL_REF rtx.
2604         (hppa_legitimize_address): Call legitimize_tls_address for all TLS
2605         addresses.
2606         (pa_emit_move_sequence): Simplify TLS source operands.
2607         (pa_legitimate_constant_p): Reject all TLS constants.
2608         * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
2609         (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
2610
2611 2014-02-04  Jan Hubicka  <hubicka@ucw.cz>
2612
2613         * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
2614         groups when we know they are controlled by LTO.
2615         * varasm.c (default_binds_local_p_1): If object is in other partition,
2616         it will be resolved locally.
2617
2618 2014-02-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2619
2620         * config/host-linux.c (linux_gt_pch_use_address): Don't
2621         use SSIZE_MAX because it is not always defined.
2622
2623 2014-02-04  Vladimir Makarov  <vmakarov@redhat.com>
2624
2625         PR bootstrap/59913
2626         * lra-constraints.c (need_for_split_p): Use more 3 reloads as
2627         threshold for pseudo splitting.
2628         (update_ebb_live_info): Process call argument hard registers and
2629         hard registers from insn definition too.
2630         (max_small_class_regs_num): New constant.
2631         (inherit_in_ebb): Update live hard regs through EBBs.  Update
2632         reloads_num only for small register classes.  Don't split for
2633         outputs of jumps.
2634
2635 2014-02-04  Markus Trippelsdorf  <markus@trippelsdorf.de>
2636
2637         PR ipa/60058
2638         * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
2639         is non-null.
2640
2641 2014-02-04  Jan Hubicka  <hubicka@ucw.cz>
2642
2643         * gimple-fold.c (can_refer_decl_in_current_unit_p): Default
2644         visibility is safe.
2645
2646 2014-02-04  Marek Polacek  <polacek@redhat.com>
2647
2648         * gdbinit.in (pel): Define.
2649
2650 2014-02-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2651
2652         * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
2653         behavior.
2654
2655 2014-02-04  Richard Biener  <rguenther@suse.de>
2656
2657         PR lto/59723
2658         * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
2659         in function context local.
2660         (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
2661         * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
2662         similar to LTO_imported_decl_ref.
2663
2664 2014-02-04  Jakub Jelinek  <jakub@redhat.com>
2665
2666         PR tree-optimization/60002
2667         * cgraphclones.c (build_function_decl_skip_args): Clear
2668         DECL_LANG_SPECIFIC.
2669
2670         PR tree-optimization/60023
2671         * tree-if-conv.c (predicate_mem_writes): Pass true instead of
2672         false to gsi_replace.
2673         * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
2674         has been in some EH region and vec_stmt could throw, add
2675         vec_stmt into the same EH region.
2676         * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
2677         has no lhs, ignore it.
2678         * internal-fn.c (expand_MASK_LOAD): Likewise.
2679
2680         PR ipa/60026
2681         * tree-inline.c (copy_forbidden): Fail for
2682         __attribute__((optimize (0))) functions.
2683
2684         PR other/58712
2685         * omp-low.c (simd_clone_struct_copy): If from->inbranch
2686         is set, copy one less argument.
2687         (expand_simd_clones): Don't subtract clone_info->inbranch
2688         from simd_clone_struct_alloc argument.
2689
2690         PR rtl-optimization/57915
2691         * recog.c (simplify_while_replacing): If all unary/binary/relational
2692         operation arguments are constant, attempt to simplify those.
2693
2694         PR middle-end/59261
2695         * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
2696         if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
2697
2698 2014-02-04  Richard Biener  <rguenther@suse.de>
2699
2700         PR tree-optimization/60012
2701         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
2702         TBAA disambiguation to all DDRs.
2703
2704 2014-02-04  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2705
2706         PR target/59788
2707         * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
2708         (LINK_SPEC): Use it for -shared, -shared-libgcc.
2709
2710 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
2711
2712         PR ipa/59882
2713         * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
2714
2715 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
2716
2717         * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
2718         * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
2719
2720 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
2721
2722         PR ipa/59831
2723         * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
2724         to figure out targets of polymorphic calls with known decl.
2725         * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
2726         * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
2727         * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
2728         (get_polymorphic_call_info): ... here.
2729         (get_polymorphic_call_info_from_invariant): New function.
2730
2731 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
2732
2733         * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
2734         lookup via vtable pointer; check for type consistency
2735         and turn inconsitent facts into UNREACHABLE.
2736         * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
2737         * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on
2738         type inconsistent querries; return UNREACHABLE instead.
2739
2740 2014-02-03  Richard Henderson  <rth@twiddle.net>
2741
2742         PR tree-opt/59924
2743         * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
2744         already processed this node.
2745         (normalize_one_pred_1): Pass along mark_set.
2746         (normalize_one_pred): Create and destroy a pointer_set_t.
2747         (normalize_one_pred_chain): Likewise.
2748
2749 2014-02-03  Laurent Aflonsi  <laurent.alfonsi@st.com>
2750
2751         PR gcov-profile/58602
2752         * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0.
2753
2754 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
2755
2756         PR ipa/59831
2757         * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on
2758         -fno-devirtualize; try to devirtualize by the knowledge of
2759         virtual table pointer given by aggregate propagation.
2760         * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
2761         (ipa_print_node_jump_functions): Dump also offset that
2762         is relevant for polymorphic calls.
2763         (determine_known_aggregate_parts): Add arg_type parameter; use it
2764         instead of determining the type from pointer type.
2765         (ipa_compute_jump_functions_for_edge): Update call of
2766         determine_known_aggregate_parts.
2767         * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
2768         (gimple_get_virt_method_for_binfo): ... here; simplify using
2769         vtable_pointer_value_to_vtable.
2770         * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
2771         * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
2772         to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable.
2773         (vtable_pointer_value_to_vtable): Break out from ...; handle also
2774         POINTER_PLUS_EXPR.
2775         (vtable_pointer_value_to_binfo): ... here.
2776         * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
2777
2778 2014-02-03  Teresa Johnson  <tejohnson@google.com>
2779
2780         * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
2781         redef of outer loop index variable.
2782
2783 2014-02-03  Marc Glisse  <marc.glisse@inria.fr>
2784
2785         PR c++/53017
2786         PR c++/59211
2787         * doc/extend.texi (Function Attributes): Typo.
2788
2789 2014-02-03  Cong Hou  <congh@google.com>
2790
2791         PR tree-optimization/60000
2792         * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
2793         if the vectorized statement is a store.  A store statement can only
2794         appear at the end of pattern statements.
2795
2796 2014-02-03  H.J. Lu  <hongjiu.lu@intel.com>
2797
2798         * config/i386/i386.c (flag_opts): Add -mlong-double-128.
2799         (ix86_option_override_internal): Default long double to 64-bit for
2800         32-bit Bionic and to 128-bit for 64-bit Bionic.
2801
2802         * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
2803         TARGET_LONG_DOUBLE_128 is true.
2804         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
2805
2806         * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
2807         (mlong-double-64): Negate -mlong-double-128.
2808         (mlong-double-128): New option.
2809
2810         * config/i386/i386-c.c (ix86_target_macros): Define
2811         __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
2812
2813         * doc/invoke.texi: Document -mlong-double-128.
2814
2815 2014-02-03  H.J. Lu  <hongjiu.lu@intel.com>
2816
2817         PR rtl-optimization/60024
2818         * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
2819
2820 2014-02-03  Markus Trippelsdorf  <markus@trippelsdorf.de>
2821
2822         * doc/invoke.texi (fprofile-reorder-functions): Fix typo.
2823
2824 2014-02-03  Andrey Belevantsev  <abel@ispras.ru>
2825
2826         PR rtl-optimization/57662
2827         * sel-sched.c (code_motion_path_driver): Do not mark already not
2828         existing blocks in the visiting bitmap.
2829
2830 2014-02-03  Andrey Belevantsev  <abel@ispras.ru>
2831
2832         * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
2833         on the insn being emitted.
2834
2835 2014-02-03  James Greenhalgh  <james.greenhalgh@arm.com>
2836             Will Deacon  <will.deacon@arm.com>
2837
2838         * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
2839
2840 2014-02-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2841
2842         * config/arm/arm-tables.opt: Regenerate.
2843
2844 2014-02-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2845
2846         * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
2847         for vector types other than V16QImode.
2848         * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
2849         define_expand, and call altivec_expand_vec_perm_le when producing
2850         code with little endian element order.
2851         (*altivec_vperm_<mode>_internal): New insn having previous
2852         behavior of altivec_vperm_<mode>.
2853         (altivec_vperm_<mode>_uns): Change to a define_expand, and call
2854         altivec_expand_vec_perm_le when producing code with little endian
2855         element order.
2856         (*altivec_vperm_<mode>_uns_internal): New insn having previous
2857         behavior of altivec_vperm_<mode>_uns.
2858
2859 2014-02-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2860
2861         * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
2862         (altivec_vsumsws): Add handling for -maltivec=be with a little
2863         endian target.
2864         (altivec_vsumsws_direct): New.
2865         (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
2866         gen_altivec_vsumsws.
2867
2868 2014-02-02  Jan Hubicka  <hubicka@ucw.cz>
2869
2870         * ipa-devirt.c (subbinfo_with_vtable_at_offset,
2871         vtable_pointer_value_to_binfo): New functions.
2872         * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
2873         * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
2874
2875 2014-02-02  Sandra Loosemore  <sandra@codesourcery.com>
2876
2877         * config/nios2/nios2.md (load_got_register): Initialize GOT
2878         pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
2879         * config/nios2/nios2.c (nios2_function_profiler): Likewise.
2880
2881 2014-02-02  Jan Hubicka  <hubicka@ucw.cz>
2882
2883         * ipa-prop.c (update_jump_functions_after_inlining): When type is not
2884         preserverd by passthrough, do not propagate the type.
2885
2886 2014-02-02  Richard Sandiford  <rdsandiford@googlemail.com>
2887
2888         * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
2889         (mips_atomic_assign_expand_fenv): New function.
2890         (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
2891
2892 2014-02-02  Richard Sandiford  <rdsandiford@googlemail.com>
2893
2894         * doc/extend.texi (__builtin_mips_get_fcsr): Document.
2895         (__builtin_mips_set_fcsr): Likewise.
2896         * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
2897         MIPS_USI_FTYPE_VOID.
2898         * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
2899         (mips16_expand_set_fcsr): Likewise.
2900         * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
2901         (mips16_set_fcsr_stub): Likewise.
2902         (mips16_get_fcsr_one_only_stub): New class.
2903         (mips16_set_fcsr_one_only_stub): Likewise.
2904         (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
2905         (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
2906         (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
2907         (hard_float): New availability predicate.
2908         (mips_builtins): Add get_fcsr and set_fcsr.
2909         (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
2910         * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
2911         (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
2912         (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
2913         (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
2914         patterns.
2915
2916 2014-02-02  Richard Sandiford  <rdsandiford@googlemail.com>
2917
2918         * config/mips/mips.c (mips_one_only_stub): New class.
2919         (mips_need_mips16_rdhwr_p): Replace with...
2920         (mips16_rdhwr_stub): ...this new variable.
2921         (mips16_stub_call_address): New function.
2922         (mips16_rdhwr_one_only_stub): New class.
2923         (mips_expand_thread_pointer): Use mips16_stub_call_address.
2924         (mips_output_mips16_rdhwr): Delete.
2925         (mips_finish_stub): New function.
2926         (mips_code_end): Use it to handle rdhwr stubs.
2927
2928 2014-02-02  Uros Bizjak  <ubizjak@gmail.com>
2929
2930         PR target/60017
2931         * config/i386/i386.c (classify_argument): Fix handling of bit_offset
2932         when calculating size of integer atomic types.
2933
2934 2014-02-02  H.J. Lu  <hongjiu.lu@intel.com>
2935
2936         * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
2937
2938 2014-02-01  Jakub Jelinek  <jakub@redhat.com>
2939
2940         PR tree-optimization/60003
2941         * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
2942         * profile.c (branch_prob): Use gimple_call_builtin_p
2943         to check for BUILT_IN_SETJMP_RECEIVER.
2944         * tree-inline.c (copy_bb): Call notice_special_calls.
2945
2946 2014-01-31  Vladimir Makarov  <vmakarov@redhat.com>
2947
2948         PR bootstrap/59985
2949         * lra-constraints.c (process_alt_operands): Update reload_sum only
2950         on the first pass.
2951
2952 2014-01-31  Richard Henderson  <rth@redhat.com>
2953
2954         PR middle-end/60004
2955         * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
2956         until after else_eh is processed.
2957
2958 2014-01-31  Ilya Tocar  <ilya.tocar@intel.com>
2959
2960         * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
2961         (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
2962         (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
2963         in smmintrin.h, remove them.
2964         (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
2965         * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
2966         * config/i386/i386.md (ROUND_SAE): Fix value.
2967         * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
2968         (const48_operand): New.
2969         * config/i386/subst.md (round), (round_expand): Use
2970         const_4_or_8_to_11_operand.
2971         (round_saeonly), (round_saeonly_expand): Use const48_operand.
2972
2973 2014-01-31  Ilya Tocar  <ilya.tocar@intel.com>
2974
2975         * config/i386/constraints.md (Yk): Swap meaning with k.
2976         * config/i386/i386.md (movhi_internal): Change Yk to k.
2977         (movqi_internal): Ditto.
2978         (*k<logic><mode>): Ditto.
2979         (*andhi_1): Ditto.
2980         (*andqi_1): Ditto.
2981         (kandn<mode>): Ditto.
2982         (*<code>hi_1): Ditto.
2983         (*<code>qi_1): Ditto.
2984         (kxnor<mode>): Ditto.
2985         (kortestzhi): Ditto.
2986         (kortestchi): Ditto.
2987         (kunpckhi): Ditto.
2988         (*one_cmplhi2_1): Ditto.
2989         (*one_cmplqi2_1): Ditto.
2990         * config/i386/sse.md (): Change k to Yk.
2991         (avx512f_load<mode>_mask): Ditto.
2992         (avx512f_blendm<mode>): Ditto.
2993         (avx512f_store<mode>_mask): Ditto.
2994         (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
2995         (avx512f_storedqu<mode>_mask): Ditto.
2996         (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
2997         Ditto.
2998         (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
2999         (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
3000         (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
3001         (avx512f_maskcmp<mode>3): Ditto.
3002         (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
3003         (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
3004         (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
3005         (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
3006         (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
3007         (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
3008         (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
3009         (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
3010         (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
3011         (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
3012         (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
3013         (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
3014         (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
3015         (vec_extract_lo_<mode>_maskm): Ditto.
3016         (vec_extract_hi_<mode>_maskm): Ditto.
3017         (avx512f_vternlog<mode>_mask): Ditto.
3018         (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
3019         (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
3020         (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
3021         (avx512f_<code>v8div16qi2_mask): Ditto.
3022         (avx512f_<code>v8div16qi2_mask_store): Ditto.
3023         (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
3024         (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
3025         (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
3026         (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
3027         (*avx512pf_gatherpf<mode>sf_mask): Ditto.
3028         (*avx512pf_gatherpf<mode>df_mask): Ditto.
3029         (*avx512pf_scatterpf<mode>sf_mask): Ditto.
3030         (*avx512pf_scatterpf<mode>df_mask): Ditto.
3031         (avx512cd_maskb_vec_dupv8di): Ditto.
3032         (avx512cd_maskw_vec_dupv16si): Ditto.
3033         (avx512f_vpermi2var<mode>3_maskz): Ditto.
3034         (avx512f_vpermi2var<mode>3_mask): Ditto.
3035         (avx512f_vpermi2var<mode>3_mask): Ditto.
3036         (avx512f_vpermt2var<mode>3_maskz): Ditto.
3037         (*avx512f_gathersi<mode>): Ditto.
3038         (*avx512f_gathersi<mode>_2): Ditto.
3039         (*avx512f_gatherdi<mode>): Ditto.
3040         (*avx512f_gatherdi<mode>_2): Ditto.
3041         (*avx512f_scattersi<mode>): Ditto.
3042         (*avx512f_scatterdi<mode>): Ditto.
3043         (avx512f_compress<mode>_mask): Ditto.
3044         (avx512f_compressstore<mode>_mask): Ditto.
3045         (avx512f_expand<mode>_mask): Ditto.
3046         * config/i386/subst.md (mask): Change k to Yk.
3047         (mask_scalar_merge): Ditto.
3048         (sd): Ditto.
3049
3050 2014-01-31  Marc Glisse  <marc.glisse@inria.fr>
3051
3052         * doc/extend.texi (Vector Extensions): Document ?: in C++.
3053
3054 2014-01-31  Richard Biener  <rguenther@suse.de>
3055
3056         PR middle-end/59990
3057         * builtins.c (fold_builtin_memory_op): Make sure to not
3058         use a floating-point mode or a boolean or enumeral type for
3059         the copy operation.
3060
3061 2014-01-30  DJ Delorie  <dj@redhat.com>
3062
3063         * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
3064         * config/msp430/msp430.md (msp430_refsym_need_exit): New.
3065         * config/msp430/msp430.c (msp430_expand_epilogue): Call it
3066         whenever main() has an epilogue.
3067
3068 2014-01-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3069
3070         * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
3071         unused variable "field".
3072         * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
3073         (vsx_mergeh_<mode>): Likewise.
3074         * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
3075         (altivec_vmrghh): Likewise.
3076         (altivec_vmrghw): Likewise.
3077         (altivec_vmrglb): Likewise.
3078         (altivec_vmrglh): Likewise.
3079         (altivec_vmrglw): Likewise.
3080         (altivec_vspltb): Add missing uses.
3081         (altivec_vsplth): Likewise.
3082         (altivec_vspltw): Likewise.
3083         (altivec_vspltsf): Likewise.
3084
3085 2014-01-30  Jakub Jelinek  <jakub@redhat.com>
3086
3087         PR target/59923
3088         * ifcvt.c (cond_exec_process_insns): Don't conditionalize
3089         frame related instructions.
3090
3091 2014-01-30  Vladimir Makarov  <vmakarov@redhat.com>
3092
3093         PR rtl-optimization/59959
3094         * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
3095         any reload of register whose subreg is invalid.
3096
3097 2014-01-30  Jakub Jelinek  <jakub@redhat.com>
3098
3099         * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
3100         * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
3101         Add missing return type - void.
3102
3103 2014-01-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3104
3105         * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
3106         gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
3107         remove element index adjustment for endian (now handled in vsx.md
3108         and altivec.md).
3109         (altivec_expand_vec_perm_const): Use
3110         gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
3111         * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
3112         (vsx_xxspltw_<mode>): Adjust element index for little endian.
3113         * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
3114         define_expand and a new define_insn *altivec_vspltb_internal;
3115         adjust for -maltivec=be on a little endian target.
3116         (altivec_vspltb_direct): New.
3117         (altivec_vsplth): Divide into a define_expand and a new
3118         define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
3119         little endian target.
3120         (altivec_vsplth_direct): New.
3121         (altivec_vspltw): Divide into a define_expand and a new
3122         define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
3123         little endian target.
3124         (altivec_vspltw_direct): New.
3125         (altivec_vspltsf): Divide into a define_expand and a new
3126         define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
3127         a little endian target.
3128
3129 2014-01-30  Richard Biener  <rguenther@suse.de>
3130
3131         PR tree-optimization/59993
3132         * tree-ssa-forwprop.c (associate_pointerplus): Check we
3133         can propagate form the earlier stmt and avoid the transform
3134         when the intermediate result is needed.
3135
3136 2014-01-30  Alangi Derick  <alangiderick@gmail.com>
3137
3138         * README.Portability: Fix typo.
3139
3140 2014-01-30  David Holsgrove <david.holsgrove@xilinx.com>
3141
3142         * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
3143         comparison_operator with ordered_comparison_operator.
3144
3145 2014-01-30  Nick Clifton  <nickc@redhat.com>
3146
3147         * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
3148         Rename to mn10300_store_multiple_regs.
3149         * config/mn10300/mn10300.c: Likewise.
3150         * config/mn10300/mn10300.md (store_movm): Fix typo: call
3151         store_multiple_regs.
3152         * config/mn10300/predicates.md (mn10300_store_multiple_operation):
3153         Call mn10300_store_multiple_regs.
3154
3155 2014-01-30  Nick Clifton  <nickc@redhat.com>
3156             DJ Delorie  <dj@redhat.com>
3157
3158         * config/rl78/rl78.c (register_sizes): Make the "upper half" of
3159         %fp 2 to keep registers after it properly word-aligned.
3160         (rl78_alloc_physical_registers_umul): Handle the case where both
3161         input operands are the same.
3162
3163 2014-01-30  Richard Biener  <rguenther@suse.de>
3164
3165         PR tree-optimization/59903
3166         * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
3167         check properly.
3168
3169 2014-01-30  Jason Merrill  <jason@redhat.com>
3170
3171         PR c++/59633
3172         * tree.c (walk_type_fields): Handle VECTOR_TYPE.
3173
3174         PR c++/59645
3175         * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
3176
3177 2014-01-30  Richard Biener  <rguenther@suse.de>
3178
3179         PR tree-optimization/59951
3180         * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
3181
3182 2014-01-30  Savin Zlobec  <savin.zlobec@gmail.com>
3183
3184         PR target/59784
3185         * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
3186         SFmode to DFmode case.
3187
3188 2014-01-29  DJ Delorie  <dj@redhat.com>
3189
3190         * config/msp430/msp430.opt (-minrt): New.
3191         * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
3192         if -minrt given.
3193         (ENDFILE_SPEC): Likewise.
3194
3195 2014-01-29  Jan Hubicka  <hubicka@ucw.cz>
3196
3197         * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
3198         (estimate_function_body_sizes): Use it.
3199
3200 2014-01-29  Paolo Carlini  <paolo.carlini@oracle.com>
3201
3202         PR c++/58561
3203         * dwarf2out.c (is_cxx_auto): New.
3204         (is_base_type): Use it.
3205         (gen_type_die_with_usage): Likewise.
3206
3207 2014-01-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3208
3209         * config/rs6000/rs6000.c (altivec_expand_vec_perm_const):  Use
3210         CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
3211         * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
3212         -maltivec=be with LE targets.
3213         (vsx_mergeh_<mode>): Likewise.
3214         * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
3215         (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
3216         (altivec_vmrghb): Replace with define_expand and new
3217         *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
3218         (altivec_vmrghb_direct): New define_insn.
3219         (altivec_vmrghh): Replace with define_expand and new
3220         *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
3221         (altivec_vmrghh_direct): New define_insn.
3222         (altivec_vmrghw): Replace with define_expand and new
3223         *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
3224         (altivec_vmrghw_direct): New define_insn.
3225         (*altivec_vmrghsf): Adjust for endianness.
3226         (altivec_vmrglb): Replace with define_expand and new
3227         *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
3228         (altivec_vmrglb_direct): New define_insn.
3229         (altivec_vmrglh): Replace with define_expand and new
3230         *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
3231         (altivec_vmrglh_direct): New define_insn.
3232         (altivec_vmrglw): Replace with define_expand and new
3233         *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
3234         (altivec_vmrglw_direct): New define_insn.
3235         (*altivec_vmrglsf): Adjust for endianness.
3236         (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
3237         (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
3238         (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
3239         (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
3240         (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
3241         (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
3242         (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
3243         (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
3244
3245 2014-01-29  Marcus Shawcroft  <marcus.shawcroft@arm.com>
3246
3247         * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
3248         (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
3249         whitespace.
3250
3251 2014-01-29  Richard Biener  <rguenther@suse.de>
3252
3253         PR tree-optimization/58742
3254         * tree-ssa-forwprop.c (associate_pointerplus): Rename to
3255         associate_pointerplus_align.
3256         (associate_pointerplus_diff): New function.
3257         (associate_pointerplus): Likewise.  Call associate_pointerplus_align
3258         and associate_pointerplus_diff.
3259
3260 2014-01-29  Richard Biener  <rguenther@suse.de>
3261
3262         * lto-streamer.h (LTO_major_version): Bump to 3.
3263         (LTO_minor_version): Reset to 0.
3264
3265 2014-01-29  Renlin Li  <Renlin.Li@arm.com>
3266
3267         * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
3268         * config/arm/arm.c (FL_FOR_ARCH7VE): New.
3269         (arm_file_start): Generate correct asm header for armv7ve.
3270         * config/arm/bpabi.h: Add multilib support for armv7ve.
3271         * config/arm/driver-arm.c: Change the architectures of cortex-a7
3272         and cortex-a15 to armv7ve.
3273         * config/arm/t-aprofile: Add multilib support for armv7ve.
3274         * doc/invoke.texi: Document -march=armv7ve.
3275
3276 2014-01-29  Richard Biener  <rguenther@suse.de>
3277
3278         PR tree-optimization/58742
3279         * tree-ssa-forwprop.c (associate_plusminus): Return true
3280         if we changed sth, defer EH cleanup to ...
3281         (ssa_forward_propagate_and_combine): ... here.  Call simplify_mult.
3282         (simplify_mult): New function.
3283
3284 2014-01-29  Jakub Jelinek  <jakub@redhat.com>
3285
3286         PR middle-end/59917
3287         PR tree-optimization/59920
3288         * tree.c (build_common_builtin_nodes): Remove
3289         __builtin_setjmp_dispatcher initialization.
3290         * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
3291         * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
3292         instead of gsi_after_labels + manually skipping debug stmts.
3293         Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
3294         ignore bbs with IFN_ABNORMAL_DISPATCHER.
3295         * tree-inline.c (copy_edges_for_bb): Remove
3296         can_make_abnormal_goto argument, instead add abnormal_goto_dest
3297         argument.  Ignore computed_goto_p stmts.  Don't call
3298         make_abnormal_goto_edges.  If a call might need abnormal edges
3299         for non-local gotos, see if it already has an edge to
3300         IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
3301         with true argument, don't do anything then, otherwise add
3302         EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
3303         (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
3304         caller.
3305         * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
3306         (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
3307         (lower_stmt): Don't set data->calls_builtin_setjmp.
3308         (lower_builtin_setjmp): Adjust comment.
3309         * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
3310         * tree-cfg.c (found_computed_goto): Remove.
3311         (factor_computed_gotos): Remove.
3312         (make_goto_expr_edges): Return bool, true for computed gotos.
3313         Don't call make_abnormal_goto_edges.
3314         (build_gimple_cfg): Don't set found_computed_goto, don't call
3315         factor_computed_gotos.
3316         (computed_goto_p): No longer static.
3317         (make_blocks): Don't set found_computed_goto.
3318         (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
3319         (make_edges): If make_goto_expr_edges returns true, push bb
3320         into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
3321         instead of calling make_abnormal_goto_edges push bb into ab_edge_call
3322         vector.  Record mapping between bbs and OpenMP regions if there
3323         are any, adjust make_gimple_omp_edges caller.  Call
3324         handle_abnormal_edges.
3325         (make_abnormal_goto_edges): Remove.
3326         * tree-cfg.h (make_abnormal_goto_edges): Remove.
3327         (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
3328         * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
3329         * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
3330         * internal-fn.def (ABNORMAL_DISPATCHER): New.
3331         * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
3332         filling *region also set *region_idx to (*region)->entry->index.
3333
3334         PR other/58712
3335         * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
3336         For REGs set ORIGINAL_REGNO.
3337
3338 2014-01-29  Bingfeng Mei  <bmei@broadcom.com>
3339
3340         * doc/md.texi: Mention that a target shouldn't implement
3341         vec_widen_(s|u)mul_even/odd pair if it is less efficient
3342         than hi/lo pair.
3343
3344 2014-01-29  Jakub Jelinek  <jakub@redhat.com>
3345
3346         PR tree-optimization/59594
3347         * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
3348         a copy of the datarefs vector rather than the vector itself.
3349
3350 2014-01-28  Jason Merrill  <jason@redhat.com>
3351
3352         PR c++/53756
3353         * dwarf2out.c (auto_die): New static.
3354         (gen_type_die_with_usage): Handle C++1y 'auto'.
3355         (gen_subprogram_die): If in-class DIE had 'auto', emit type again
3356         on definition.
3357
3358 2014-01-28  H.J. Lu  <hongjiu.lu@intel.com>
3359
3360         PR target/59672
3361         * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
3362         (SPEC_X32): Likewise.
3363         (SPEC_64): Likewise.
3364         * config/i386/i386.c (ix86_option_override_internal): Turn off
3365         OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
3366         for TARGET_16BIT.
3367         (x86_file_start): Output .code16gcc for TARGET_16BIT.
3368         * config/i386/i386.h (TARGET_16BIT): New macro.
3369         (TARGET_16BIT_P): Likewise.
3370         * config/i386/i386.opt: Add m16.
3371         * doc/invoke.texi: Document -m16.
3372
3373 2014-01-28  Jakub Jelinek  <jakub@redhat.com>
3374
3375         PR preprocessor/59935
3376         * input.c (location_get_source_line): Bail out on when line number
3377         is zero, and test the return value of lookup_or_add_file_to_cache_tab.
3378
3379 2014-01-28  Richard Biener  <rguenther@suse.de>
3380
3381         PR tree-optimization/58742
3382         * tree-ssa-forwprop.c (associate_plusminus): Handle
3383         pointer subtraction of the form (T)(P + A) - (T)P.
3384
3385 2014-01-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3386
3387         * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
3388         at const_int_cost.
3389
3390 2014-01-28  Richard Biener  <rguenther@suse.de>
3391
3392         Revert
3393         2014-01-28  Richard Biener  <rguenther@suse.de>
3394
3395         PR rtl-optimization/45364
3396         PR rtl-optimization/59890
3397         * var-tracking.c (local_get_addr_clear_given_value): Handle
3398         already cleared slot.
3399         (val_reset): Handle not allocated local_get_addr_cache.
3400         (vt_find_locations): Use post-order on the inverted CFG.
3401
3402 2014-01-28  Richard Biener  <rguenther@suse.de>
3403
3404         * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
3405
3406 2014-01-28  Richard Biener  <rguenther@suse.de>
3407
3408         PR rtl-optimization/45364
3409         PR rtl-optimization/59890
3410         * var-tracking.c (local_get_addr_clear_given_value): Handle
3411         already cleared slot.
3412         (val_reset): Handle not allocated local_get_addr_cache.
3413         (vt_find_locations): Use post-order on the inverted CFG.
3414
3415 2014-01-28  Alan Modra  <amodra@gmail.com>
3416
3417         * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
3418         * configure.ac <recursive call for build != host>: Define
3419         GENERATOR_FILE.  Comment.  Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
3420         and LD_FOR_BUILD too.
3421         * configure: Regenerate.
3422
3423 2014-01-27  Allan Sandfeld Jensen  <sandfeld@kde.org>
3424
3425         * config/i386/i386.c (get_builtin_code_for_version): Separate
3426         Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
3427         Broadwell from Haswell.
3428
3429 2014-01-27  Steve Ellcey  <sellcey@mips.com>
3430
3431         * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
3432         Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
3433         * config/mips/mips.c (mips_option_override): Change setting
3434         of TARGET_DSP.
3435         * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
3436         * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
3437         Change from Mask to Var.
3438
3439 2014-01-27  Jeff Law  <law@redhat.com>
3440
3441         * ipa-inline.c (inline_small_functions): Fix typo.
3442
3443 2014-01-27  Ilya Tocar  <ilya.tocar@intel.com>
3444
3445         * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
3446         (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
3447         (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
3448         (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
3449         (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
3450         (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
3451         (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
3452         (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
3453         (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
3454         (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
3455         (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
3456         (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
3457         (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
3458         (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
3459         (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
3460         (_mm512_storeu_epi64): Ditto.
3461         (_mm512_cmpge_epi32_mask): Ditto.
3462         (_mm512_cmpge_epu32_mask): Ditto.
3463         (_mm512_cmpge_epi64_mask): Ditto.
3464         (_mm512_cmpge_epu64_mask): Ditto.
3465         (_mm512_cmple_epi32_mask): Ditto.
3466         (_mm512_cmple_epu32_mask): Ditto.
3467         (_mm512_cmple_epi64_mask): Ditto.
3468         (_mm512_cmple_epu64_mask): Ditto.
3469         (_mm512_cmplt_epi32_mask): Ditto.
3470         (_mm512_cmplt_epu32_mask): Ditto.
3471         (_mm512_cmplt_epi64_mask): Ditto.
3472         (_mm512_cmplt_epu64_mask): Ditto.
3473         (_mm512_cmpneq_epi32_mask): Ditto.
3474         (_mm512_cmpneq_epu32_mask): Ditto.
3475         (_mm512_cmpneq_epi64_mask): Ditto.
3476         (_mm512_cmpneq_epu64_mask): Ditto.
3477         (_mm512_expand_pd): Ditto.
3478         (_mm512_expand_ps): Ditto.
3479         * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
3480         VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
3481         VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
3482         * config/i386/i386.c (ix86_builtins): Add
3483         IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
3484         IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
3485         IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
3486         IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
3487         IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
3488         IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
3489         IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
3490         IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
3491         IX86_BUILTIN_PMOVUSQW512_MEM.
3492         (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
3493         __builtin_ia32_pmovsqd512mem_mask,
3494         __builtin_ia32_pmovqd512mem_mask,
3495         __builtin_ia32_pmovusqw512mem_mask,
3496         __builtin_ia32_pmovsqw512mem_mask,
3497         __builtin_ia32_pmovqw512mem_mask,
3498         __builtin_ia32_pmovusdw512mem_mask,
3499         __builtin_ia32_pmovsdw512mem_mask,
3500         __builtin_ia32_pmovdw512mem_mask,
3501         __builtin_ia32_pmovqb512mem_mask,
3502         __builtin_ia32_pmovusqb512mem_mask,
3503         __builtin_ia32_pmovsqb512mem_mask,
3504         __builtin_ia32_pmovusdb512mem_mask,
3505         __builtin_ia32_pmovsdb512mem_mask,
3506         __builtin_ia32_pmovdb512mem_mask.
3507         (bdesc_args): Add __builtin_ia32_expanddf512,
3508         __builtin_ia32_expandsf512.
3509         (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
3510         VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
3511         VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
3512         * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
3513         (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
3514         (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
3515         (avx512f_<code>v8div16qi2_mask_store): This.
3516         (avx512f_expand<mode>): New.
3517
3518 2014-01-27  Kirill Yukhin  <kirill.yukhin@intel.com>
3519
3520         * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
3521         New.
3522         (_mm512_mask_prefetch_i64gather_pd): Ditto.
3523         (_mm512_prefetch_i32scatter_pd): Ditto.
3524         (_mm512_mask_prefetch_i32scatter_pd): Ditto.
3525         (_mm512_prefetch_i64scatter_pd): Ditto.
3526         (_mm512_mask_prefetch_i64scatter_pd): Ditto.
3527         (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
3528         (_mm512_mask_prefetch_i64gather_ps): Ditto.
3529         (_mm512_prefetch_i32scatter_ps): Ditto.
3530         (_mm512_mask_prefetch_i32scatter_ps): Ditto.
3531         (_mm512_prefetch_i64scatter_ps): Ditto.
3532         (_mm512_mask_prefetch_i64scatter_ps): Ditto.
3533         * config/i386/i386-builtin-types.def: Define
3534         VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
3535         and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
3536         * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
3537         IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
3538         IX86_BUILTIN_SCATTERPFQPD.
3539         (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
3540         __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
3541         __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
3542         __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
3543         __builtin_ia32_scatterpfqps.
3544         (ix86_expand_builtin): Expand new built-ins.
3545         * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
3546         fix memory access data type.
3547         (*avx512pf_gatherpf<mode>_mask): Ditto.
3548         (*avx512pf_gatherpf<mode>): Ditto.
3549         (avx512pf_scatterpf<mode>): Ditto.
3550         (*avx512pf_scatterpf<mode>_mask): Ditto.
3551         (*avx512pf_scatterpf<mode>): Ditto.
3552         (GATHER_SCATTER_SF_MEM_MODE): New.
3553         (avx512pf_gatherpf<mode>df): Ditto.
3554         (*avx512pf_gatherpf<mode>df_mask): Ditto.
3555         (*avx512pf_scatterpf<mode>df): Ditto.
3556
3557 2014-01-27  Jakub Jelinek  <jakub@redhat.com>
3558
3559         PR bootstrap/59934
3560         * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
3561         know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
3562         reached.
3563
3564 2014-01-27  James Greenhalgh  <james.greenhalgh@arm.com>
3565
3566         * common/config/arm/arm-common.c
3567         (arm_rewrite_mcpu): Handle multiple names.
3568         * config/arm/arm.h
3569         (BIG_LITTLE_SPEC): Do not discard mcpu switches.
3570
3571 2014-01-27  James Greenhalgh  <james.greenhalgh@arm.com>
3572
3573         * gimple-builder.h (create_gimple_tmp): Delete.
3574
3575 2014-01-27  Christian Bruel  <christian.bruel@st.com>
3576
3577         * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
3578         words comparisons.
3579
3580 2014-01-26  John David Anglin  <danglin@gcc.gnu.org>
3581
3582         * config/pa/pa.md (call): Generate indirect long calls to non-local
3583         functions when outputing 32-bit code.
3584         (call_value): Likewise except for special call to buggy powf function.
3585
3586         * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
3587         portable runtime and PIC indirect calls.
3588         (pa_output_indirect_call): Remove unnecessary nop from portable runtime
3589         and PIC call sequences.  Use ldo instead of blr to set return register
3590         in PIC call sequence.
3591
3592 2014-01-25  Walter Lee  <walt@tilera.com>
3593
3594         * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
3595         avoid clobbering a live register.
3596
3597 2014-01-25  Walter Lee  <walt@tilera.com>
3598
3599         * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
3600         Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
3601         * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
3602         Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
3603
3604 2014-01-25  Walter Lee  <walt@tilera.com>
3605
3606         * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
3607         arguments on even registers.
3608         (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
3609         STACK_BOUNDARY.
3610         * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
3611         (BIGGEST_ALIGNMENT): Ditto.
3612         (BIGGEST_FIELD_ALIGNMENT): Ditto.
3613
3614 2014-01-25  Walter Lee  <walt@tilera.com>
3615
3616         * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
3617         insns before bundling.
3618         * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
3619
3620 2014-01-25  Walter Lee  <walt@tilera.com>
3621
3622         * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
3623         PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
3624         * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
3625
3626 2014-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
3627
3628         * config/mips/constraints.md (kl): Delete.
3629         * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
3630         define expands, using...
3631         (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
3632         instructions for MIPS16.
3633         (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
3634         non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
3635
3636 2014-01-25  Walter Lee  <walt@tilera.com>
3637
3638         * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
3639         (clzdi2): Ditto.
3640         (ffsdi2): Ditto.
3641
3642 2014-01-25  Walter Lee  <walt@tilera.com>
3643
3644         * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
3645         (TARGET_EXPAND_TO_RTL_HOOK): Define.
3646
3647 2014-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
3648
3649         * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
3650         Handle XOR.
3651
3652 2014-01-25  Jakub Jelinek  <jakub@redhat.com>
3653
3654         * print-rtl.c (in_call_function_usage): New var.
3655         (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
3656         EXPR_LIST mode as mode and not as reg note name.
3657
3658         PR middle-end/59561
3659         * cfgloopmanip.c (copy_loop_info): If
3660         loop->warned_aggressive_loop_optimizations, make sure
3661         the flag is set in target loop too.
3662
3663 2014-01-24  Balaji V. Iyer  <balaji.v.iyer@intel.com>
3664
3665         * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
3666         flag_cilkplus.
3667         * builtins.def: Likewise.
3668         * cilk.h (fn_contains_cilk_spawn_p): Likewise.
3669         * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
3670         * ira.c (ira_setup_eliminable_regset): Likewise.
3671         * omp-low.c (gate_expand_omp): Likewise.
3672         (execute_lower_omp): Likewise.
3673         (diagnose_sb_0): Likewise.
3674         (gate_diagnose_omp_blocks): Likewise.
3675         (simd_clone_clauses_extract): Likewise.
3676         (gate): Likewise.
3677
3678 2014-01-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3679
3680         * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
3681         correction for little endian...
3682         * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
3683         here.
3684
3685 2014-01-24  Jeff Law  <law@redhat.com>
3686
3687         PR tree-optimization/59919
3688         * tree-vrp.c (find_assert_locations_1): Do not register asserts
3689         for non-returning calls.
3690
3691 2014-01-24  James Greenhalgh  <james.greenhalgh@arm.com>
3692
3693         * common/config/aarch64/aarch64-common.c
3694         (aarch64_rewrite_mcpu): Handle multiple names.
3695         * config/aarch64/aarch64.h
3696         (BIG_LITTLE_SPEC): Do not discard mcpu switches.
3697
3698 2014-01-24  Dodji Seketeli  <dodji@redhat.com>
3699
3700         * input.c (add_file_to_cache_tab): Handle the case where fopen
3701         returns NULL.
3702
3703 2014-01-23  H.J. Lu  <hongjiu.lu@intel.com>
3704
3705         PR target/59929
3706         * config/i386/i386.md (pushsf splitter): Get stack adjustment
3707         from push operand if code of push isn't PRE_DEC.
3708
3709 2014-01-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
3710
3711         PR target/59909
3712         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
3713         -mquad-memory-atomic.  Update -mquad-memory documentation to say
3714         it is only used for non-atomic loads/stores.
3715
3716         * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
3717         -mquad-memory or -mquad-memory-atomic switches.
3718
3719         * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
3720         -mquad-memory-atomic to ISA 2.07 support.
3721
3722         * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
3723         to separate support of normal quad word memory operations (ldq, stq)
3724         from the atomic quad word memory operations.
3725
3726         * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
3727         support to separate non-atomic quad word operations from atomic
3728         quad word operations.  Disable non-atomic quad word operations in
3729         little endian mode so that we don't have to swap words after the
3730         load and before the store.
3731         (quad_load_store_p): Add comment about atomic quad word support.
3732         (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
3733         options printed with -mdebug=reg.
3734
3735         * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
3736         -mquad-memory-atomic as the test for whether we have quad word
3737         atomic instructions.
3738         (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
3739         or -mp8-vector are used, allow byte/half-word atomic operations.
3740
3741         * config/rs6000/sync.md (load_lockedti): Insure that the address
3742         is a proper indexed or indirect address for the lqarx instruction.
3743         On little endian systems, swap the hi/lo registers after the lqarx
3744         instruction.
3745         (load_lockedpti): Use indexed_or_indirect_operand predicate to
3746         insure the address is valid for the lqarx instruction.
3747         (store_conditionalti): Insure that the address is a proper indexed
3748         or indirect address for the stqcrx. instruction.  On little endian
3749         systems, swap the hi/lo registers before doing the stqcrx.
3750         instruction.
3751         (store_conditionalpti): Use indexed_or_indirect_operand predicate to
3752         insure the address is valid for the stqcrx. instruction.
3753
3754         * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
3755         Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
3756         type of quad memory support is available.
3757
3758 2014-01-23  Vladimir Makarov  <vmakarov@redhat.com>
3759
3760         PR regression/59915
3761         * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
3762         there is a danger of looping.
3763
3764 2014-01-23  Pat Haugen  <pthaugen@us.ibm.com>
3765
3766         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
3767         force flag_ira_loop_pressure if set via command line.
3768
3769 2014-01-23  Alex Velenko  <Alex.Velenko@arm.com>
3770
3771         * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
3772         (ashr_simd): New builtin handling DI mode.
3773         * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
3774         (aarch64_sshr_simddi): New match pattern.
3775         * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
3776         (vshrd_n_s64): Likewise.
3777         * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
3778
3779 2014-01-23  Nick Clifton  <nickc@redhat.com>
3780
3781         * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
3782         (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
3783         favour of mcu specific scripts.
3784         * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
3785         430x multilibs.
3786
3787 2014-01-23  James Greenhalgh  <james.greenhalgh@arm.com>
3788             Alex Velenko  <Alex.Velenko@arm.com>
3789
3790         * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
3791         (vaddv_s16): Likewise.
3792         (vaddv_s32): Likewise.
3793         (vaddv_u8): Likewise.
3794         (vaddv_u16): Likewise.
3795         (vaddv_u32): Likewise.
3796         (vaddvq_s8): Likewise.
3797         (vaddvq_s16): Likewise.
3798         (vaddvq_s32): Likewise.
3799         (vaddvq_s64): Likewise.
3800         (vaddvq_u8): Likewise.
3801         (vaddvq_u16): Likewise.
3802         (vaddvq_u32): Likewise.
3803         (vaddvq_u64): Likewise.
3804         (vaddv_f32): Likewise.
3805         (vaddvq_f32): Likewise.
3806         (vaddvq_f64): Likewise.
3807         (vmaxv_f32): Likewise.
3808         (vmaxv_s8): Likewise.
3809         (vmaxv_s16): Likewise.
3810         (vmaxv_s32): Likewise.
3811         (vmaxv_u8): Likewise.
3812         (vmaxv_u16): Likewise.
3813         (vmaxv_u32): Likewise.
3814         (vmaxvq_f32): Likewise.
3815         (vmaxvq_f64): Likewise.
3816         (vmaxvq_s8): Likewise.
3817         (vmaxvq_s16): Likewise.
3818         (vmaxvq_s32): Likewise.
3819         (vmaxvq_u8): Likewise.
3820         (vmaxvq_u16): Likewise.
3821         (vmaxvq_u32): Likewise.
3822         (vmaxnmv_f32): Likewise.
3823         (vmaxnmvq_f32): Likewise.
3824         (vmaxnmvq_f64): Likewise.
3825         (vminv_f32): Likewise.
3826         (vminv_s8): Likewise.
3827         (vminv_s16): Likewise.
3828         (vminv_s32): Likewise.
3829         (vminv_u8): Likewise.
3830         (vminv_u16): Likewise.
3831         (vminv_u32): Likewise.
3832         (vminvq_f32): Likewise.
3833         (vminvq_f64): Likewise.
3834         (vminvq_s8): Likewise.
3835         (vminvq_s16): Likewise.
3836         (vminvq_s32): Likewise.
3837         (vminvq_u8): Likewise.
3838         (vminvq_u16): Likewise.
3839         (vminvq_u32): Likewise.
3840         (vminnmv_f32): Likewise.
3841         (vminnmvq_f32): Likewise.
3842         (vminnmvq_f64): Likewise.
3843
3844 2014-01-23  James Greenhalgh  <james.greenhalgh@arm.com>
3845
3846         * config/aarch64/aarch64-simd.md
3847         (aarch64_dup_lane<mode>): Correct lane number on big-endian.
3848         (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
3849         (*aarch64_mul3_elt<mode>): Likewise.
3850         (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
3851         (*aarch64_mul3_elt_to_64v2df): Likewise.
3852         (*aarch64_mla_elt<mode>): Likewise.
3853         (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
3854         (*aarch64_mls_elt<mode>): Likewise.
3855         (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
3856         (*aarch64_fma4_elt<mode>): Likewise.
3857         (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
3858         (*aarch64_fma4_elt_to_64v2df): Likewise.
3859         (*aarch64_fnma4_elt<mode>): Likewise.
3860         (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
3861         (*aarch64_fnma4_elt_to_64v2df): Likewise.
3862         (aarch64_sq<r>dmulh_lane<mode>): Likewise.
3863         (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
3864         (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
3865         (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
3866         (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
3867         (aarch64_sqdmull_lane<mode>_internal): Likewise.
3868         (aarch64_sqdmull2_lane<mode>_internal): Likewise.
3869
3870 2013-01-23  Alex Velenko  <Alex.Velenko@arm.com>
3871
3872         * config/aarch64/aarch64-simd.md
3873         (aarch64_be_checked_get_lane<mode>): New define_expand.
3874         * config/aarch64/aarch64-simd-builtins.def
3875         (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
3876         New builtin definition.
3877         * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
3878         Use new safe be builtin.
3879
3880 2014-01-23  Alex Velenko  <Alex.Velenko@arm.com>
3881
3882         * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
3883         New define_insn.
3884         (aarch64_be_st1<mode>): Likewise.
3885         (aarch_ld1<VALL:mode>): Define_expand modified.
3886         (aarch_st1<VALL:mode>): Likewise.
3887         * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
3888         (UNSPEC_ST1): Likewise.
3889
3890 2014-01-23  David Holsgrove <david.holsgrove@xilinx.com>
3891
3892         * config/microblaze/microblaze.md: Add trap insn and attribute
3893
3894 2014-01-23  Dodji Seketeli  <dodji@redhat.com>
3895
3896         PR preprocessor/58580
3897         * input.h (location_get_source_line): Take an additional line_size
3898         parameter.
3899         (void diagnostics_file_cache_fini): Declare new function.
3900         * input.c (struct fcache): New type.
3901         (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
3902         New static constants.
3903         (diagnostic_file_cache_init, total_lines_num)
3904         (lookup_file_in_cache_tab, evicted_cache_tab_entry)
3905         (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
3906         (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
3907         (get_next_line, read_next_line, goto_next_line, read_line_num):
3908         New static function definitions.
3909         (diagnostic_file_cache_fini): New function.
3910         (location_get_source_line): Take an additional output line_len
3911         parameter.  Re-write using lookup_or_add_file_to_cache_tab and
3912         read_line_num.
3913         * diagnostic.c (diagnostic_finish): Call
3914         diagnostic_file_cache_fini.
3915         (adjust_line): Take an additional input parameter for the length
3916         of the line, rather than calculating it with strlen.
3917         (diagnostic_show_locus): Adjust the use of
3918         location_get_source_line and adjust_line with respect to their new
3919         signature.  While displaying a line now, do not stop at the first
3920         null byte.  Rather, display the zero byte as a space and keep
3921         going until we reach the size of the line.
3922         * Makefile.in: Add vec.o to OBJS-libcommon
3923
3924 2014-01-23  Kirill Yukhin  <kirill.yukhin@intel.com>
3925             Ilya Tocar     <ilya.tocar@intel.com>
3926
3927         * config/i386/avx512fintrin.h (_mm512_kmov): New.
3928         * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
3929         (__builtin_ia32_kmov16): Ditto.
3930         * config/i386/i386.md (UNSPEC_KMOV): New.
3931         (kmovw): Ditto.
3932
3933 2014-01-23  Kirill Yukhin  <kirill.yukhin@intel.com>
3934
3935         * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
3936         (_mm512_storeu_si512): Ditto.
3937
3938 2014-01-23  Richard Sandiford  <rdsandiford@googlemail.com>
3939
3940         PR target/52125
3941         * rtl.h (get_referenced_operands): Declare.
3942         * recog.c (get_referenced_operands): New function.
3943         * config/mips/mips.c (mips_reorg_process_insns): Check which asm
3944         operands have been referenced when recording LO_SUM references.
3945
3946 2014-01-22  David Holsgrove <david.holsgrove@xilinx.com>
3947
3948         * config/microblaze/microblaze.md: Correct bswaphi2 insn.
3949
3950 2014-01-22  Jan Hubicka  <hubicka@ucw.cz>
3951
3952         * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
3953         Enable for generic and recent AMD targets.
3954
3955 2014-01-22  Jan Hubicka  <hubicka@ucw.cz>
3956
3957         * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
3958         ARG_SIZE note when adjustment was eliminated.
3959
3960 2014-01-22  Jeff Law  <law@redhat.com>
3961
3962         PR tree-optimization/59597
3963         * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
3964         in file.  Accept new argument REGISTERING and use it to modify
3965         dump output appropriately.
3966         (register_jump_thread): Corresponding changes.
3967         (mark_threaded_blocks): Reinstate code to cancel unprofitable
3968         thread paths involving joiner blocks.  Add code to dump cancelled
3969         jump threading paths.
3970
3971 2014-01-22  Vladimir Makarov  <vmakarov@redhat.com>
3972
3973         PR rtl-optimization/59477
3974         * lra-constraints.c (inherit_in_ebb): Process call for living hard
3975         regs.  Update reloads_num and potential_reload_hard_regs for all insns.
3976
3977 2014-01-22  Tom Tromey  <tromey@redhat.com>
3978
3979         * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
3980         PARAMS.
3981         * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
3982
3983 2014-01-21  Vladimir Makarov  <vmakarov@redhat.com>
3984
3985         PR rtl-optimization/59896
3986         * lra-constraints.c (process_alt_operands): Check unused note for
3987         matched operands of insn with no output reloads.
3988
3989 2014-01-21  Richard Sandiford  <rdsandiford@googlemail.com>
3990
3991         * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
3992         (mips_move_from_gpr_cost): Likewise.
3993
3994 2014-01-21  Vladimir Makarov  <vmakarov@redhat.com>
3995
3996         PR rtl-optimization/59858
3997         * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
3998         ira_class_hard_regs_num.
3999         (process_alt_operands): Increase reject for dying matched operand.
4000
4001 2014-01-21  Jakub Jelinek  <jakub@redhat.com>
4002
4003         PR target/59003
4004         * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
4005         smaller than size, perform several stores or loads and stores
4006         at dst + count - size to store or copy all of size bytes, rather
4007         than just last modesize bytes.
4008
4009 2014-01-20  DJ Delorie  <dj@redhat.com>
4010
4011         * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
4012         that CLOBBERs are REGs before propogating their values.
4013
4014 2014-01-20  H.J. Lu  <hongjiu.lu@intel.com>
4015
4016         PR middle-end/59789
4017         * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
4018         (cgraph_inline_failed_type): New function.
4019         * cgraph.h (DEFCIFCODE): Add type.
4020         (cgraph_inline_failed_type_t): New enum.
4021         (cgraph_inline_failed_type): New prototype.
4022         * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
4023         FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
4024         FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
4025         LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
4026         MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
4027         RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
4028         OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
4029         INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
4030         Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
4031         FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
4032         EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
4033         OPTIMIZATION_MISMATCH.
4034         * tree-inline.c (expand_call_inline): Emit errors during
4035         early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
4036
4037 2014-01-20  Uros Bizjak  <ubizjak@gmail.com>
4038
4039         PR target/59685
4040         * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
4041         mode attribute in insn output.
4042
4043 2014-01-20  Eric Botcazou  <ebotcazou@adacore.com>
4044
4045         * output.h (output_constant): Delete.
4046         * varasm.c (output_constant): Make private.
4047
4048 2014-01-20  Alex Velenko  <Alex.Velenko@arm.com>
4049
4050         * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
4051
4052 2014-01-20  Jakub Jelinek  <jakub@redhat.com>
4053
4054         PR middle-end/59860
4055         * tree.h (fold_builtin_strcat): New prototype.
4056         * builtins.c (fold_builtin_strcat): No longer static.  Add len
4057         argument, if non-NULL, don't call c_strlen.  Optimize
4058         directly into __builtin_memcpy instead of __builtin_strcpy.
4059         (fold_builtin_2): Adjust fold_builtin_strcat caller.
4060         * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
4061
4062 2014-01-20  Uros Bizjak  <ubizjak@gmail.com>
4063
4064         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
4065         for SImode_address_operand operands, having only a REG argument.
4066
4067 2014-01-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
4068
4069         * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
4070         loader name using mbig-endian.
4071         (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
4072
4073 2014-01-20  James Greenhalgh  <james.greenhalgh@arm.com>
4074
4075         * doc/invoke.texi (-march): Clarify documentation for AArch64.
4076         (-mtune): Likewise.
4077         (-mcpu): Likewise.
4078
4079 2014-01-20  Tejas Belagod  <tejas.belagod@arm.com>
4080
4081         * config/aarch64/aarch64-protos.h
4082         (aarch64_cannot_change_mode_class_ptr): Declare.
4083         * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
4084         aarch64_cannot_change_mode_class_ptr): New.
4085         * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
4086         backend hook aarch64_cannot_change_mode_class.
4087
4088 2014-01-20  James Greenhalgh  <james.greenhalgh@arm.com>
4089
4090         * common/config/aarch64/aarch64-common.c
4091         (aarch64_handle_option): Don't handle any option order logic here.
4092         * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
4093         selected_cpu, warn on architecture version mismatch.
4094         (aarch64_override_options): Fix parsing order for option strings.
4095
4096 2014-01-20  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
4097             Iain Sandoe  <iain@codesourcery.com>
4098
4099         PR bootstrap/59496
4100         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
4101         warning.  Amend comment to reflect current functionality.
4102
4103 2014-01-20  Richard Biener  <rguenther@suse.de>
4104
4105         PR middle-end/59860
4106         * builtins.c (fold_builtin_strcat): Remove case better handled
4107         by tree-ssa-strlen.c.
4108
4109 2014-01-20  Alan Lawrence  <alan.lawrence@arm.com>
4110
4111         * config/aarch64/aarch64.opt
4112         (mcpu, march, mtune): Make case-insensitive.
4113
4114 2014-01-20  Jakub Jelinek  <jakub@redhat.com>
4115
4116         PR target/59880
4117         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
4118         if operands[1] is a REG or ZERO_EXTEND of a REG.
4119
4120 2014-01-19  Jan Hubicka  <hubicka@ucw.cz>
4121
4122         * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
4123
4124 2014-01-19  John David Anglin  <danglin@gcc.gnu.org>
4125
4126         * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
4127         long non-pic millicode calls.
4128
4129 2014-01-19  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
4130
4131         * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
4132
4133 2014-01-19  Kito Cheng  <kito@0xlab.org>
4134
4135         * builtins.c (expand_movstr): Check movstr expand done or fail.
4136
4137 2014-01-18  Uros Bizjak  <ubizjak@gmail.com>
4138             H.J. Lu  <hongjiu.lu@intel.com>
4139
4140         PR target/59379
4141         * config/i386/i386.md (*lea<mode>): Zero-extend return register
4142         to DImode for zero-extended addresses.
4143
4144 2014-01-19  Jakub Jelinek  <jakub@redhat.com>
4145
4146         PR rtl-optimization/57763
4147         * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
4148         on the new indirect jump_insn and increment LABEL_NUSES (label).
4149
4150 2014-01-18  H.J. Lu  <hongjiu.lu@intel.com>
4151
4152         PR bootstrap/59580
4153         PR bootstrap/59583
4154         * config.gcc (x86_archs): New variable.
4155         (x86_64_archs): Likewise.
4156         (x86_cpus): Likewise.
4157         Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
4158         --with-arch/--with-cpu= options.
4159         Support --with-arch=/--with-cpu={nehalem,westmere,
4160         sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
4161
4162 2014-01-18  Uros Bizjak  <ubizjak@gmail.com>
4163
4164         * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
4165         and PROCESSOR_ATHLON to simplify code.  Move "memory" calculation.
4166
4167 2014-01-18  Uros Bizjak  <ubizjak@gmail.com>
4168
4169         * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
4170
4171 2014-01-18  Jakub Jelinek  <jakub@redhat.com>
4172
4173         PR target/58944
4174         * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
4175         clear cpp_get_options (parse_in)->warn_unused_macros for
4176         ix86_target_macros_internal with cpp_define.
4177
4178 2014-01-18  Richard Sandiford  <rdsandiford@googlemail.com>
4179
4180         * jump.c (delete_related_insns): Keep (use (insn))s.
4181         * reorg.c (redundant_insn): Check for barriers too.
4182
4183 2014-01-17  H.J. Lu  <hongjiu.lu@intel.com>
4184
4185         * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
4186
4187 2014-01-17  John David Anglin  <danglin@gcc.gnu.org>
4188
4189         * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
4190         call to $$dyncall when TARGET_LONG_CALLS is true.
4191
4192 2014-01-17  Jeff Law  <law@redhat.com>
4193
4194         * ree.c (combine_set_extension): Temporarily disable test for
4195         changing number of hard registers.
4196
4197 2014-01-17  Jan Hubicka  <hubicka@ucw.cz>
4198
4199         PR middle-end/58125
4200         * ipa-inline-analysis.c (inline_free_summary):
4201         Do not free summary of aliases.
4202
4203 2014-01-17  Jakub Jelinek  <jakub@redhat.com>
4204
4205         PR middle-end/59706
4206         * gimplify.c (gimplify_expr): Use create_tmp_var
4207         instead of create_tmp_var_raw.  If cond doesn't have
4208         integral type, don't add the IFN_ANNOTATE builtin at all.
4209
4210 2014-01-17  Martin Jambor  <mjambor@suse.cz>
4211
4212         PR ipa/59736
4213         * ipa-cp.c (prev_edge_clone): New variable.
4214         (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
4215         Also resize prev_edge_clone vector.
4216         (ipcp_edge_duplication_hook): Also update prev_edge_clone.
4217         (ipcp_edge_removal_hook): New function.
4218         (ipcp_driver): Register ipcp_edge_removal_hook.
4219
4220 2014-01-17  Andrew Pinski <apinski@cavium.com>
4221             Steve Ellcey  <sellcey@mips.com>
4222
4223         PR target/59462
4224         * config/mips/mips.c (mips_print_operand): Check operand mode instead
4225         of operator mode.
4226
4227 2014-01-17  Jeff Law  <law@redhat.com>
4228
4229         PR middle-end/57904
4230         * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
4231         so that pass_ccp runs first.
4232
4233 2014-01-17  H.J. Lu  <hongjiu.lu@intel.com>
4234
4235         * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
4236         (ix86_adjust_cost): Use !TARGET_XXX.
4237         (do_reorder_for_imul): Likewise.
4238         (swap_top_of_ready_list): Likewise.
4239         (ix86_sched_reorder): Likewise.
4240
4241 2014-01-17  H.J. Lu  <hongjiu.lu@intel.com>
4242
4243         * config/i386/i386-c.c (ix86_target_macros_internal): Handle
4244         PROCESSOR_INTEL.  Treat like PROCESSOR_GENERIC.
4245         * config/i386/i386.c (intel_memcpy): New.  Duplicate slm_memcpy.
4246         (intel_memset): New.  Duplicate slm_memset.
4247         (intel_cost): New.  Duplicate slm_cost.
4248         (m_INTEL): New macro.
4249         (processor_target_table): Add "intel".
4250         (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
4251         with PROCESSOR_INTEL for "intel".
4252         (ix86_lea_outperforms): Support PROCESSOR_INTEL.  Duplicate
4253         PROCESSOR_SILVERMONT.
4254         (ix86_issue_rate): Likewise.
4255         (ix86_adjust_cost): Likewise.
4256         (ia32_multipass_dfa_lookahead): Likewise.
4257         (swap_top_of_ready_list): Likewise.
4258         (ix86_sched_reorder): Likewise.
4259         (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
4260         instead of TARGET_OPT_AGU.
4261         * config/i386/i386.h (TARGET_INTEL): New.
4262         (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
4263         (processor_type): Add PROCESSOR_INTEL.
4264         * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
4265         Add X86_TUNE_AVOID_LEA_FOR_ADDR.
4266
4267 2014-01-17  Marek Polacek  <polacek@redhat.com>
4268
4269         PR c/58346
4270         * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
4271         size is zero.
4272
4273 2014-01-17  Richard Biener  <rguenther@suse.de>
4274
4275         PR tree-optimization/46590
4276         * opts.c (default_options_table): Add entries for
4277         OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
4278         all enabled at -O1 but not for -Og.
4279         * common.opt (fbranch-count-reg): Remove Init(1).
4280         (fmove-loop-invariants): Likewise.
4281         (ftree-pta): Likewise.
4282
4283 2014-01-17  Jakub Jelinek  <jakub@redhat.com>
4284
4285         * config/i386/i386.c (ix86_data_alignment): For compatibility with
4286         (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
4287         decls to at least the GCC 4.8 used alignments.
4288
4289         PR fortran/59440
4290         * tree-nested.c (convert_nonlocal_reference_stmt,
4291         convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
4292         of GIMPLE_BIND stmts, adjust associated decls.
4293
4294 2014-01-17  Richard Biener  <rguenther@suse.de>
4295
4296         PR tree-optimization/46590
4297         * vec.h (vec<>::bseach): New member function implementing
4298         binary search according to C89 bsearch.
4299         (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
4300         * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
4301         bitmap pointer again.  Make accesses_in_loop a flat array.
4302         (mem_ref_obstack): New global.
4303         (outermost_indep_loop): Adjust for mem_ref->stored changes.
4304         (mark_ref_stored): Likewise.
4305         (ref_indep_loop_p_2): Likewise.
4306         (set_ref_stored_in_loop): New helper function.
4307         (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
4308         (memref_free): Adjust.
4309         (record_mem_ref_loc): Simplify.
4310         (gather_mem_refs_stmt): Adjust.
4311         (sort_locs_in_loop_postorder_cmp): New function.
4312         (analyze_memory_references): Sort accesses_in_loop after
4313         loop postorder number.
4314         (find_ref_loc_in_loop_cmp): New function.
4315         (for_all_locs_in_loop): Find relevant cluster of locs in
4316         accesses_in_loop and iterate without recursion.
4317         (execute_sm): Avoid uninit warning.
4318         (struct ref_always_accessed): Simplify.
4319         (ref_always_accessed::operator ()): Likewise.
4320         (ref_always_accessed_p): Likewise.
4321         (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
4322         loop postorder numbers here.
4323         (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
4324         numbers.
4325
4326 2014-01-17  Jan Hubicka  <hubicka@ucw.cz>
4327
4328         PR c++/57945
4329         * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
4330         on decls for which assemble_alias has been called.
4331
4332 2014-01-17  Nick Clifton  <nickc@redhat.com>
4333
4334         * config/msp430/msp430.opt: (mcpu): New option.
4335         * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
4336         (msp430_option_override): Parse target_cpu.  If the MCU name
4337         matches a generic string, clear target_mcu.
4338         (msp430_attr): Allow numeric interrupt values up to 63.
4339         (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
4340         * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
4341         option.
4342         * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
4343         Add mcpu matches.
4344         * config/msp430/msp430.md (popm): Use %J rather than %I.
4345         (addsi3): Use msp430_nonimmediate_operand for operand 2.
4346         (addhi_cy_i): Use immediate_operand for operand 2.
4347         * doc/invoke.texi: Document -mcpu option.
4348
4349 2014-01-17  Richard Biener  <rguenther@suse.de>
4350
4351         PR rtl-optimization/38518
4352         * df.h (df_analyze_loop): Declare.
4353         * df-core.c: Include cfgloop.h.
4354         (df_analyze_1): Split out main part of df_analyze.
4355         (df_analyze): Adjust.
4356         (loop_inverted_post_order_compute): New function.
4357         (loop_post_order_compute): Likewise.
4358         (df_analyze_loop): New function avoiding whole-function
4359         postorder computes.
4360         * loop-invariant.c (find_defs): Use df_analyze_loop.
4361         (find_invariants): Adjust.
4362         * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
4363
4364 2014-01-17  Zhenqiang Chen  <zhenqiang.chen@arm.com>
4365
4366         * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
4367         (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
4368
4369 2014-01-16  Ilya Enkovich  <ilya.enkovich@intel.com>
4370
4371         * ipa-ref.c (ipa_remove_stmt_references): Fix references
4372         traversal when removing references.
4373
4374 2014-01-16  Jan Hubicka  <hubicka@ucw.cz>
4375
4376         PR ipa/59775
4377         * tree.c (get_binfo_at_offset): Look harder for virtual bases.
4378
4379 2014-01-16  Bernd Schmidt  <bernds@codesourcery.com>
4380
4381         PR middle-end/56791
4382         * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
4383         pushing a reload for an autoinc when we had previously reloaded an
4384         inner part of the address.
4385
4386 2014-01-16  Jakub Jelinek  <jakub@redhat.com>
4387
4388         * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
4389         field.
4390         (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
4391         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
4392         when not giving up or versioning for alias only because of
4393         loop->safelen.
4394         (vect_analyze_data_ref_dependences): Set to true.
4395         * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
4396         is a GIMPLE_PHI.
4397         (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
4398         LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
4399         to the condition.
4400
4401         PR middle-end/58344
4402         * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
4403
4404         PR target/59839
4405         * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
4406         operand 0 predicate for gathers, use a new pseudo as subtarget.
4407
4408 2014-01-16  Vladimir Makarov  <vmakarov@redhat.com>
4409
4410         PR middle-end/59609
4411         * lra-constraints.c (process_alt_operands): Add printing debug info.
4412         Check absence of input/output reloads for matched operands too.
4413
4414 2014-01-16  Vladimir Makarov  <vmakarov@redhat.com>
4415
4416         PR rtl-optimization/59835
4417         * ira.c (ira_init_register_move_cost): Increase cost for
4418         impossible modes.
4419
4420 2014-01-16  Alan Lawrence  <alan.lawrence@arm.com>
4421
4422         * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
4423
4424 2014-01-16  Richard Earnshaw  <rearnsha@arm.com>
4425
4426         PR target/59780
4427         * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
4428         non-register objects.  Use gen_(high/low)part more consistently.
4429         Fix assertions.
4430
4431 2014-01-16  Michael Meissner  <meissner@linux.vnet.ibm.com>
4432
4433         PR target/59844
4434         * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
4435         endian support, remove tests for WORDS_BIG_ENDIAN.
4436         (p8_mfvsrd_3_<mode>): Likewise.
4437         (reload_gpr_from_vsx<mode>): Likewise.
4438         (reload_gpr_from_vsxsf): Likewise.
4439         (p8_mfvsrd_4_disf): Likewise.
4440
4441 2014-01-16  Richard Biener  <rguenther@suse.de>
4442
4443         PR rtl-optimization/46590
4444         * lcm.c (compute_antinout_edge): Use postorder iteration.
4445         (compute_laterin): Use inverted postorder iteration.
4446
4447 2014-01-16  Nick Clifton  <nickc@redhat.com>
4448
4449         PR middle-end/28865
4450         * varasm.c (output_constant): Return the number of bytes actually
4451         emitted.
4452         (output_constructor_array_range): Update the field size with the
4453         number of bytes emitted by output_constant.
4454         (output_constructor_regular_field): Likewise.  Also do not
4455         complain if the total number of bytes emitted is now greater
4456         than the expected fieldpos.
4457         * output.h (output_constant): Update prototype and descriptive comment.
4458
4459 2014-01-16  Marek Polacek  <polacek@redhat.com>
4460
4461         PR middle-end/59827
4462         * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
4463         it is error_mark_node.
4464
4465 2014-01-15  Uros Bizjak  <ubizjak@gmail.com>
4466
4467         * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
4468         VALID_AVX256_REG_OR_OI_MODE.
4469
4470 2014-01-15  Pat Haugen  <pthaugen@us.ibm.com>
4471
4472         * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
4473         current procedure should be profiled.
4474
4475 2014-01-15  Andrew Pinski  <apinski@cavium.com>
4476
4477         * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
4478         of moving from/to the STACK_REG register class.
4479
4480 2014-01-15  Richard Henderson  <rth@redhat.com>
4481
4482         PR debug/54694
4483         * reginfo.c (global_regs_decl): Globalize.
4484         * rtl.h (global_regs_decl): Declare.
4485         * ira.c (do_reload): Diagnose frame_pointer_needed and it
4486         reserved via global_regs.
4487
4488 2014-01-15  Teresa Johnson  <tejohnson@google.com>
4489
4490         * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
4491
4492 2014-01-15  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>
4493
4494         * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
4495         and vmulosh rather than call gen_vec_widen_smult_*.
4496         (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
4497         than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
4498         (vec_widen_smult_even_v16qi): Likewise.
4499         (vec_widen_umult_even_v8hi): Likewise.
4500         (vec_widen_smult_even_v8hi): Likewise.
4501         (vec_widen_umult_odd_v16qi): Likewise.
4502         (vec_widen_smult_odd_v16qi): Likewise.
4503         (vec_widen_umult_odd_v8hi): Likewise.
4504         (vec_widen_smult_odd_v8hi): Likewise.
4505         (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
4506         vmuloub rather than call gen_vec_widen_umult_*.
4507         (vec_widen_umult_lo_v16qi): Likewise.
4508         (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
4509         vmulosb rather than call gen_vec_widen_smult_*.
4510         (vec_widen_smult_lo_v16qi): Likewise.
4511         (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
4512         rather than call gen_vec_widen_umult_*.
4513         (vec_widen_umult_lo_v8hi): Likewise.
4514         (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
4515         rather than call gen_vec_widen_smult_*.
4516         (vec_widen_smult_lo_v8hi): Likewise.
4517
4518 2014-01-15  Jeff Law  <law@redhat.com>
4519
4520         PR tree-optimization/59747
4521         * ree.c (find_and_remove_re): Properly handle case where a second
4522         eliminated extension requires widening a copy created for elimination
4523         of a prior extension.
4524         (combine_set_extension): Ensure that the number of hard regs needed
4525         for a destination register does not change when we widen it.
4526
4527 2014-01-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4528
4529         * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
4530         (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
4531         (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
4532         (arm*-*-rtems*): Use t-rtems from existing tmake_file.
4533         (avr-*-rtems*): Likewise.
4534         (bfin*-rtems*): Likewise.
4535         (moxie-*-rtems*): Likewise.
4536         (h8300-*-rtems*): Likewise.
4537         (i[34567]86-*-rtems*): Likewise.
4538         (lm32-*-rtems*): Likewise.
4539         (m32r-*-rtems*): Likewise.
4540         (m68k-*-rtems*): Likewise.
4541         (microblaze*-*-rtems*): Likewise.
4542         (mips*-*-rtems*): Likewise.
4543         (powerpc-*-rtems*): Likewise.
4544         (sh-*-rtems*): Likewise.
4545         (sparc-*-rtems*): Likewise.
4546         (sparc64-*-rtems*): Likewise.
4547         (v850-*-rtems*): Likewise.
4548         (m32c-*-rtems*): Likewise.
4549
4550 2014-01-15  Vladimir Makarov  <vmakarov@redhat.com>
4551
4552         PR rtl-optimization/59511
4553         * ira.c (ira_init_register_move_cost): Use memory costs for some
4554         cases of register move cost calculations.
4555         * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
4556         instead of BB frequency.
4557         * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
4558         * lra-assigns.c (find_hard_regno_for): Ditto.
4559
4560 2014-01-15  Richard Biener  <rguenther@suse.de>
4561
4562         PR tree-optimization/59822
4563         * tree-vect-stmts.c (hoist_defs_of_uses): New function.
4564         (vectorizable_load): Use it to hoist defs of uses of invariant
4565         loads out of the loop.
4566
4567 2014-01-15  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
4568             Kugan Vivekanandarajah  <kuganv@linaro.org>
4569
4570         PR target/59695
4571         * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
4572         truncation.
4573
4574 2014-01-15  Richard Biener  <rguenther@suse.de>
4575
4576         PR rtl-optimization/59802
4577         * lcm.c (compute_available): Use inverted postorder to seed
4578         the initial worklist.
4579
4580 2014-01-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
4581
4582         PR target/59803
4583         * config/s390/s390.c (s390_preferred_reload_class): Don't return
4584         ADDR_REGS for invalid symrefs in non-PIC code.
4585
4586 2014-01-15  Jakub Jelinek  <jakub@redhat.com>
4587
4588         PR other/58712
4589         * builtins.c (determine_block_size): Initialize *probable_max_size
4590         even if len_rtx is CONST_INT.
4591
4592 2014-01-14  Andrew Pinski  <apinski@cavium.com>
4593
4594         * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
4595         * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
4596         (cortexa53_tunings): Likewise.
4597         (aarch64_sched_issue_rate): New function.
4598         (TARGET_SCHED_ISSUE_RATE): Define.
4599
4600 2014-01-14  Vladimir Makarov  <vmakarov@redhat.com>
4601
4602         * ira-costs.c (find_costs_and_classes): Add missed
4603         ira_init_register_move_cost_if_necessary.
4604
4605 2014-01-14  Vladimir Makarov  <vmakarov@redhat.com>
4606
4607         PR target/59787
4608         * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
4609
4610 2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
4611
4612         PR target/59794
4613         * config/i386/i386.c (type_natural_mode): Add a bool parameter
4614         to indicate if type is used for function return value.  Warn ABI
4615         change if the vector mode isn't available for function return value.
4616         (ix86_function_arg_advance): Pass false to type_natural_mode.
4617         (ix86_function_arg): Likewise.
4618         (ix86_gimplify_va_arg): Likewise.
4619         (function_arg_32): Don't warn ABI change.
4620         (ix86_function_value): Pass true to type_natural_mode.
4621         (ix86_return_in_memory): Likewise.
4622         (ix86_struct_value_rtx): Removed.
4623         (TARGET_STRUCT_VALUE_RTX): Likewise.
4624
4625 2014-01-14  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
4626
4627         * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
4628         converting a conditional jump into a conditional return.
4629
4630 2014-01-14  Richard Biener  <rguenther@suse.de>
4631
4632         PR tree-optimization/58921
4633         PR tree-optimization/59006
4634         * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
4635         hoisting invariant stmts.
4636         * tree-vect-stmts.c (vectorizable_load): Insert the splat of
4637         invariant loads on the preheader edge if possible.
4638
4639 2014-01-14  Joey Ye  <joey.ye@arm.com>
4640
4641         * doc/plugin.texi (Building GCC plugins): Update to C++.
4642
4643 2014-01-14  Kirill Yukhin  <kirill.yukhin@intel.com>
4644
4645         * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
4646         (_mm_rcp28_round_ss): Ditto.
4647         (_mm_rsqrt28_round_sd): Ditto.
4648         (_mm_rsqrt28_round_ss): Ditto.
4649         (_mm_rcp28_sd): Ditto.
4650         (_mm_rcp28_ss): Ditto.
4651         (_mm_rsqrt28_sd): Ditto.
4652         (_mm_rsqrt28_ss): Ditto.
4653         * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
4654         * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
4655         * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
4656         (IX86_BUILTIN_RCP28SD): Ditto.
4657         (IX86_BUILTIN_RCP28SS): Ditto.
4658         (IX86_BUILTIN_RSQRT28SD): Ditto.
4659         (IX86_BUILTIN_RSQRT28SS): Ditto.
4660         (bdesc_special_args): Define __builtin_ia32_movntdqa512,
4661         __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
4662         __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
4663         (ix86_expand_special_args_builtin): Expand new FTYPE.
4664         * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
4665         (srcp14<mode>): Make insn unary.
4666         (avx512f_vmscalef<mode><round_name>): Use substed predicate.
4667         (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
4668         (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
4669         (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
4670         (avx512er_exp2<mode><mask_name><round_saeonly_name>):
4671         Fix rounding: make it SAE only.
4672         (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
4673         Ditto.
4674         (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
4675         Ditto.
4676         (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
4677         (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
4678         (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
4679         * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
4680         (round_saeonly_mask_scalar_operand4): Ditto.
4681         (round_saeonly_mask_scalar_op3): Ditto.
4682         (round_saeonly_mask_scalar_op4): Ditto.
4683
4684 2014-01-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4685
4686         * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
4687         Implement -maltivec=be for vec_insert and vec_extract.
4688
4689 2014-01-10  DJ Delorie  <dj@redhat.com>
4690
4691         * config/msp430/msp430.md (call_internal): Don't allow memory
4692         references with SP as the base register.
4693         (call_value_internal): Likewise.
4694         * config/msp430/constraints.md (Yc): New.  For memory references
4695         that don't use SP as a base register.
4696
4697         * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
4698         "an integer without a # prefix"
4699         * config/msp430/msp430.md (epilogue_helper): Use it.
4700
4701 2014-01-13  Jakub Jelinek  <jakub@redhat.com>
4702
4703         PR target/59617
4704         * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
4705         AVX512F gather builtins.
4706         * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
4707         on gather decls with INTEGER_TYPE masktype.
4708         (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
4709         directly into the builtin rather than hoisting it before loop.
4710
4711         PR tree-optimization/59387
4712         * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
4713         (scev_const_prop): If folded_casts and type has undefined overflow,
4714         use force_gimple_operand instead of force_gimple_operand_gsi and
4715         for each added stmt if it is assign with
4716         arith_code_with_undefined_signed_overflow, call
4717         rewrite_to_defined_overflow.
4718         * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
4719         gimple-fold.h instead.
4720         (arith_code_with_undefined_signed_overflow,
4721         rewrite_to_defined_overflow): Moved to ...
4722         * gimple-fold.c (arith_code_with_undefined_signed_overflow,
4723         rewrite_to_defined_overflow): ... here.  No longer static.
4724         Include gimplify-me.h.
4725         * gimple-fold.h (arith_code_with_undefined_signed_overflow,
4726         rewrite_to_defined_overflow): New prototypes.
4727
4728 2014-01-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4729
4730         * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
4731
4732 2014-01-13  Eric Botcazou  <ebotcazou@adacore.com>
4733
4734         * builtins.c (get_object_alignment_2): Minor tweak.
4735         * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
4736
4737 2014-01-13  Christian Bruel  <christian.bruel@st.com>
4738
4739         * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
4740         optimized non constant lengths.
4741
4742 2014-01-13  Jakub Jelinek  <jakub@redhat.com>
4743
4744         PR libgomp/59194
4745         * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
4746         load as __atomic_load_N if possible.
4747
4748 2014-01-11  David Edelsohn  <dje.gcc@gmail.com>
4749
4750         * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
4751         target parameter.
4752         (rs6000_expand_builtin): Adjust call.
4753
4754 2014-01-11  David Edelsohn  <dje.gcc@gmail.com>
4755
4756         PR target/58115
4757         * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
4758         * config/rs6000/rs6000.c: Include target-globals.h.
4759         (rs6000_set_current_function): Instead of doing target_reinit
4760         unconditionally, use save_target_globals_default_opts and
4761         restore_target_globals.
4762
4763         * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
4764         FPSCR.
4765         * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
4766         (rs6000_expand_builtin): Handle mffs and mtfsf.
4767         (rs6000_init_builtins): Define mffs and mtfsf.
4768         * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
4769         (rs6000_mffs): New pattern.
4770         (rs6000_mtfsf): New pattern.
4771
4772 2014-01-11  Bin Cheng  <bin.cheng@arm.com>
4773
4774         * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
4775         Start narrowing with START.  Apply candidate-use pair
4776         and check overall cost in narrowing.
4777         (iv_ca_prune): Pass new argument.
4778
4779 2014-01-10  Jeff Law  <law@redhat.com>
4780
4781         PR middle-end/59743
4782         * ree.c (combine_reaching_defs): Ensure the defining statement
4783         occurs before the extension when optimizing extensions with
4784         different source and destination hard registers.
4785
4786 2014-01-10  Jan Hubicka  <hubicka@ucw.cz>
4787
4788         PR ipa/58585
4789         * ipa-devirt.c (build_type_inheritance_graph): Also add types of
4790         vtables into the type inheritance graph.
4791
4792 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
4793
4794         PR rtl-optimization/59754
4795         * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
4796         modes in the REGNO != REGNO case.
4797
4798 2014-01-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4799
4800         * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
4801
4802 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
4803
4804         PR tree-optimization/59745
4805         * tree-predcom.c (tree_predictive_commoning_loop): Call
4806         free_affine_expand_cache if giving up because components is NULL.
4807
4808         * target-globals.c (save_target_globals): Allocate < 4KB structs using
4809         GC in payload of target_globals struct instead of allocating them on
4810         the heap and the larger structs separately using GC.
4811         * target-globals.h (struct target_globals): Make regs, hard_regs,
4812         reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
4813         of GTY((skip)) and change type to void *.
4814         (reset_target_globals): Cast loads from those fields to corresponding
4815         types.
4816
4817 2014-01-10  Steve Ellcey  <sellcey@mips.com>
4818
4819         PR plugins/59335
4820         * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
4821         gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
4822         tree-ssanames.h, print-tree.h, varasm.h, and context.h.
4823
4824 2014-01-10  Richard Earnshaw  <rearnsha@arm.com>
4825
4826         PR target/59744
4827         * aarch64-modes.def (CC_Zmode): New flags mode.
4828         * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
4829         represents an equality.
4830         (aarch64_get_condition_code): Handle CC_Zmode.
4831         * aarch64.md (compare_neg<mode>): Restrict to equality operations.
4832
4833 2014-01-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
4834
4835         * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
4836         extraction in good case.
4837
4838 2014-01-10  Richard Biener  <rguenther@suse.de>
4839
4840         PR tree-optimization/59374
4841         * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
4842         checking after SLP discovery.  Mark stmts not participating
4843         in any SLP instance properly.
4844
4845 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4846
4847         * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
4848         when handling a SET rtx.
4849
4850 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4851
4852         * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
4853         (cortex-a57): Likewise.
4854         (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
4855
4856 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4857
4858         * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
4859         non-iwmmxt builtins.
4860
4861 2014-01-10  Jan Hubicka  <hubicka@ucw.cz>
4862
4863         PR ipa/58252
4864         PR ipa/59226
4865         * ipa-devirt.c record_target_from_binfo): Take as argument
4866         stack of binfos and lookup matching one for virtual inheritance.
4867         (possible_polymorphic_call_targets_1): Update.
4868
4869 2014-01-10  Huacai Chen  <chenhc@lemote.com>
4870
4871         * config/mips/driver-native.c (host_detect_local_cpu): Handle new
4872         kernel strings for Loongson-2E/2F/3A.
4873
4874 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
4875
4876         PR middle-end/59670
4877         * tree-vect-data-refs.c (vect_analyze_data_refs): Check
4878         is_gimple_call before calling gimple_call_internal_p.
4879
4880 2014-01-09  Steve Ellcey  <sellcey@mips.com>
4881
4882         * Makefile.in (TREE_FLOW_H): Remove.
4883         (TREE_SSA_H): Add file names from tree-flow.h.
4884         * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
4885         * tree.h: Remove tree-flow.h reference.
4886         * hash-table.h: Remove tree-flow.h reference.
4887         * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
4888         reference with tree-ssa-loop.h.
4889
4890 2014-01-09  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4891
4892         * doc/invoke.texi: Add -maltivec={be,le} options, and document
4893         default element-order behavior for -maltivec.
4894         * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
4895         * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
4896         that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
4897         when targeting big endian, at least for now.
4898         * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
4899
4900 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
4901
4902         PR middle-end/47735
4903         * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
4904         var satisfies use_register_for_decl, just take into account type
4905         alignment, rather than decl alignment.
4906
4907         PR tree-optimization/59622
4908         * gimple-fold.c (gimple_fold_call): Fix a typo in message.  For
4909         __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
4910         __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
4911         Don't devirtualize for inplace at all.  For targets.length () == 1,
4912         if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
4913
4914 2014-01-09  H.J. Lu  <hongjiu.lu@intel.com>
4915
4916         * config/i386/i386.md (cpu): Remove the unused btver1.
4917
4918 2014-01-09  H.J. Lu  <hongjiu.lu@intel.com>
4919
4920         * gdbasan.in: Put a breakpoint on __sanitizer::Report.
4921
4922 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
4923
4924         PR target/58115
4925         * tree-core.h (struct target_globals): New forward declaration.
4926         (struct tree_target_option): Add globals field.
4927         * tree.h (TREE_TARGET_GLOBALS): Define.
4928         (prepare_target_option_nodes_for_pch): New prototype.
4929         * target-globals.h (struct target_globals): Define even if
4930         !SWITCHABLE_TARGET.
4931         * tree.c (prepare_target_option_node_for_pch,
4932         prepare_target_option_nodes_for_pch): New functions.
4933         * config/i386/i386.h (SWITCHABLE_TARGET): Define.
4934         * config/i386/i386.c: Include target-globals.h.
4935         (ix86_set_current_function): Instead of doing target_reinit
4936         unconditionally, use save_target_globals_default_opts and
4937         restore_target_globals.
4938
4939 2014-01-09  Richard Biener  <rguenther@suse.de>
4940
4941         PR tree-optimization/59715
4942         * tree-cfg.h (split_critical_edges): Declare.
4943         * tree-cfg.c (split_critical_edges): Export.
4944         * tree-ssa-sink.c (execute_sink_code): Split critical edges.
4945
4946 2014-01-09  Max Ostapenko  <m.ostapenko@partner.samsung.com>
4947
4948         * cfgexpand.c (expand_stack_vars): Optionally disable
4949         asan stack protection.
4950         (expand_used_vars): Likewise.
4951         (partition_stack_vars): Likewise.
4952         * asan.c (asan_emit_stack_protection): Optionally disable
4953         after return stack usage.
4954         (instrument_derefs): Optionally disable memory access instrumentation.
4955         (instrument_builtin_call): Likewise.
4956         (instrument_strlen_call): Likewise.
4957         (asan_protect_global): Optionally disable global variables protection.
4958         * doc/invoke.texi: Added doc for new options.
4959         * params.def: Added new options.
4960         * params.h: Likewise.
4961
4962 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
4963
4964         PR rtl-optimization/59724
4965         * ifcvt.c (cond_exec_process_if_block): Don't call
4966         flow_find_head_matching_sequence with 0 longest_match.
4967         * cfgcleanup.c (flow_find_head_matching_sequence): Count even
4968         non-active insns if !stop_after.
4969         (try_head_merge_bb): Revert 2014-01-07 changes.
4970
4971 2014-01-08  Jeff Law  <law@redhat.com>
4972
4973         * ree.c (get_sub_rtx): New function, extracted from...
4974         (merge_def_and_ext): Here.
4975         (combine_reaching_defs): Use get_sub_rtx.
4976
4977 2014-01-08  Eric Botcazou  <ebotcazou@adacore.com>
4978
4979         * cgraph.h (varpool_variable_node): Do not choke on null node.
4980
4981 2014-01-08  Catherine Moore  <clm@codesourcery.com>
4982
4983         * config/mips/mips.md (simple_return): Attempt to use JRC
4984         for microMIPS.
4985         * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
4986
4987 2014-01-08  Richard Sandiford  <rdsandiford@googlemail.com>
4988
4989         PR rtl-optimization/59137
4990         * reorg.c (steal_delay_list_from_target): Call update_block for
4991         elided insns.
4992         (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
4993
4994 2014-01-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4995
4996         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
4997         two duplicate entries.
4998
4999 2014-01-08  Richard Sandiford  <rdsandiford@googlemail.com>
5000
5001         Revert:
5002         2012-10-07  Richard Sandiford  <rdsandiford@googlemail.com>
5003
5004         * config/mips/mips.c (mips_truncated_op_cost): New function.
5005         (mips_rtx_costs): Adjust test for BADDU.
5006         * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
5007
5008         2012-10-02  Richard Sandiford  <rdsandiford@googlemail.com>
5009
5010         * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
5011         (*baddu_si): ...this new pattern.
5012
5013 2014-01-08  Jakub Jelinek  <jakub@redhat.com>
5014
5015         PR ipa/59722
5016         * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
5017
5018 2014-01-08  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5019
5020         PR middle-end/57748
5021         * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
5022         inner_reference_p.
5023         (expand_expr, expand_normal): Adjust.
5024         * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
5025         inner_reference_p. Use inner_reference_p to expand inner references.
5026         (store_expr): Adjust.
5027         * cfgexpand.c (expand_call_stmt): Adjust.
5028
5029 2014-01-08  Rong Xu  <xur@google.com>
5030
5031         * gcov-io.c (gcov_var): Move from gcov-io.h.
5032         (gcov_position): Ditto.
5033         (gcov_is_error): Ditto.
5034         (gcov_rewrite): Ditto.
5035         * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
5036         only part to libgcc/libgcov.h.
5037
5038 2014-01-08  Marek Polacek  <polacek@redhat.com>
5039
5040         PR middle-end/59669
5041         * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
5042
5043 2014-01-08  Marek Polacek  <polacek@redhat.com>
5044
5045         PR sanitizer/59667
5046         * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
5047
5048 2014-01-08  Jakub Jelinek  <jakub@redhat.com>
5049
5050         PR rtl-optimization/59649
5051         * stor-layout.c (get_mode_bounds): For BImode return
5052         0 and STORE_FLAG_VALUE.
5053
5054 2014-01-08  Richard Biener  <rguenther@suse.de>
5055
5056         PR middle-end/59630
5057         * gimple.h (is_gimple_builtin_call): Remove.
5058         (gimple_builtin_call_types_compatible_p): New.
5059         (gimple_call_builtin_p): New overload.
5060         * gimple.c (is_gimple_builtin_call): Remove.
5061         (validate_call): Rename to ...
5062         (gimple_builtin_call_types_compatible_p): ... this and export.  Also
5063         check return types.
5064         (validate_type): New static function.
5065         (gimple_call_builtin_p): New overload and adjust.
5066         * gimple-fold.c (gimple_fold_builtin): Fold the return value.
5067         (gimple_fold_call): Likewise.  Use gimple_call_builtin_p.
5068         (gimple_fold_stmt_to_constant_1): Likewise.
5069         * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
5070
5071 2014-01-08  Richard Biener  <rguenther@suse.de>
5072
5073         PR middle-end/59471
5074         * gimplify.c (gimplify_expr): Gimplify register-register type
5075         VIEW_CONVERT_EXPRs to separate stmts.
5076
5077 2014-01-07  Jeff Law  <law@redhat.com>
5078
5079         PR middle-end/53623
5080         * ree.c (combine_set_extension): Handle case where source
5081         and destination registers in an extension insn are different.
5082         (combine_reaching_defs): Allow source and destination registers
5083         in extension to be different under limited circumstances.
5084         (add_removable_extension): Remove restriction that the
5085         source and destination registers in the extension are the same.
5086         (find_and_remove_re): Emit a copy from the extension's
5087         destination to its source after the defining insn if
5088         the source and destination registers are different.
5089
5090         PR middle-end/59285
5091         * ifcvt.c (merge_if_block): If we are merging a block with more than
5092         one successor with a block with no successors, remove any BARRIER
5093         after the second block.
5094
5095 2014-01-07  Dan Xio Qiang <ziyan01@163.com>
5096
5097         * hw-doloop.c (reorg_loops): Release the bitmap obstack.
5098
5099 2014-01-07  John David Anglin  <danglin@gcc.gnu.org>
5100
5101         PR target/59652
5102         * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
5103         for 14-bit register offsets when INT14_OK_STRICT is false.
5104
5105 2014-01-07  Roland Stigge  <stigge@antcom.de>
5106             Michael Meissner  <meissner@linux.vnet.ibm.com>
5107
5108         PR 57386/target
5109         * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
5110         Only check TFmode for SPE constants.  Don't check TImode or TDmode.
5111
5112 2014-01-07  James Greenhalgh  <james.greenhalgh@arm.com>
5113
5114         * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
5115         -mcpu.
5116
5117 2014-01-07  Yufeng Zhang  <yufeng.zhang@arm.com>
5118
5119         * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
5120         with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
5121         rtx is const0_rtx or not.
5122
5123 2014-01-07  Richard Sandiford  <rdsandiford@googlemail.com>
5124
5125         PR target/58115
5126         * target-globals.c (save_target_globals): Remove this_fn_optab
5127         handling.
5128         * toplev.c: Include optabs.h.
5129         (target_reinit): Temporarily restore the global options if another
5130         set of options are in force.
5131
5132 2014-01-07  Jakub Jelinek  <jakub@redhat.com>
5133
5134         PR rtl-optimization/58668
5135         * cfgcleanup.c (flow_find_cross_jump): Don't count
5136         any jumps if dir_p is NULL.  Remove p1 variable, use active_insn_p
5137         to determine what is counted.
5138         (flow_find_head_matching_sequence): Use active_insn_p to determine
5139         what is counted.
5140         (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
5141         counting change.
5142         * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
5143         determine what is counted.
5144
5145         PR tree-optimization/59643
5146         * tree-predcom.c (split_data_refs_to_components): If one dr is
5147         read and one write, determine_offset fails and the write isn't
5148         in the bad component, just put the read into the bad component.
5149
5150 2014-01-07  Mike Stump  <mikestump@comcast.net>
5151             Jakub Jelinek  <jakub@redhat.com>
5152
5153         PR pch/59436
5154         * tree-core.h (struct tree_optimization_option): Change optabs
5155         type from unsigned char * to void *.
5156         * optabs.c (init_tree_optimization_optabs): Adjust
5157         TREE_OPTIMIZATION_OPTABS initialization.
5158
5159 2014-01-06  Jakub Jelinek  <jakub@redhat.com>
5160
5161         PR target/59644
5162         * config/i386/i386.h (struct machine_function): Add
5163         no_drap_save_restore field.
5164         * config/i386/i386.c (ix86_save_reg): Use
5165         !cfun->machine->no_drap_save_restore instead of
5166         crtl->stack_realign_needed.
5167         (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
5168         this function clears frame_pointer_needed.  Set
5169         cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
5170         and DRAP reg is needed.
5171
5172 2014-01-06  Marek Polacek  <polacek@redhat.com>
5173
5174         PR c/57773
5175         * doc/implement-c.texi: Mention that other integer types are
5176         permitted as bit-field types in strictly conforming mode.
5177
5178 2014-01-06  Felix Yang  <fei.yang0953@gmail.com>
5179
5180         * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
5181         is newly allocated.
5182
5183 2014-01-06  Richard Earnshaw  <rearnsha@arm.com>
5184
5185         * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
5186
5187 2014-01-06  Martin Jambor  <mjambor@suse.cz>
5188
5189         PR ipa/59008
5190         * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
5191         to int.
5192         * ipa-prop.c (ipa_print_node_params): Fix indentation.
5193
5194 2014-01-06  Eric Botcazou  <ebotcazou@adacore.com>
5195
5196         PR debug/59350
5197         PR debug/59510
5198         * var-tracking.c (add_stores): Preserve the value of the source even if
5199         we don't record the store.
5200
5201 2014-01-06  Terry Guo  <terry.guo@arm.com>
5202
5203         * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
5204
5205 2014-01-05  Iain Sandoe  <iain@codesourcery.com>
5206
5207         PR bootstrap/59541
5208         * config/darwin.c (darwin_function_section): Adjust return values to
5209         correspond to optimisation changes made in r206070.
5210
5211 2014-01-05  Uros Bizjak  <ubizjak@gmail.com>
5212
5213         * config/i386/i386.c (ix86_data_alignment): Calculate max_align
5214         from prefetch_block tune setting.
5215         (nocona_cost): Correct size of prefetch block to 64.
5216
5217 2014-01-04  Eric Botcazou  <ebotcazou@adacore.com>
5218
5219         * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
5220         (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
5221         used to save the static chain register in the computation of the offset
5222         from which the FP registers need to be restored.
5223
5224 2014-01-04  Jakub Jelinek  <jakub@redhat.com>
5225
5226         PR tree-optimization/59519
5227         * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
5228         ICE if get_current_def (current_new_name) is already non-NULL, as long
5229         as it is a phi result of some other phi in *new_exit_bb that has
5230         the same argument.
5231
5232         * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
5233         or vmovdqu* for misaligned_operand.
5234         (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
5235         <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
5236         * config/i386/i386.c (ix86_expand_special_args_builtin): Set
5237         aligned_mem for AVX512F masked aligned load and store builtins and for
5238         non-temporal moves.
5239
5240 2014-01-03  Bingfeng Mei  <bmei@broadcom.com>
5241
5242         PR tree-optimization/59651
5243         * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
5244         Address range for negative step should be added by TYPE_SIZE_UNIT.
5245
5246 2014-01-03  Andreas Schwab  <schwab@linux-m68k.org>
5247
5248         * config/m68k/m68k.c (handle_move_double): Handle pushes with
5249         overlapping registers also for registers other than the stack pointer.
5250
5251 2014-01-03  Marek Polacek  <polacek@redhat.com>
5252
5253         PR other/59661
5254         * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
5255         __builtin_FILE.
5256
5257 2014-01-03  Jakub Jelinek  <jakub@redhat.com>
5258
5259         PR target/59625
5260         * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
5261         asm goto as jump.
5262
5263         * config/i386/i386.md (MODE_SIZE): New mode attribute.
5264         (push splitter): Use <P:MODE_SIZE> instead of
5265         GET_MODE_SIZE (<P:MODE>mode).
5266         (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
5267         (mov -1, reg peephole2): Likewise.
5268         * config/i386/sse.md (*mov<mode>_internal,
5269         <sse>_storeu<ssemodesuffix><avxsizesuffix>,
5270         <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
5271         *<code><mode>3, *andnot<mode>3<mask_name>,
5272         <mask_codefor><code><mode>3<mask_name>): Likewise.
5273         * config/i386/subst.md (mask_mode512bit_condition,
5274         sd_mask_mode512bit_condition): Likewise.
5275
5276 2014-01-02  Xinliang David Li  <davidxl@google.com>
5277
5278         PR tree-optimization/59303
5279         * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
5280         (dump_predicates): Better output format.
5281         (pred_equal_p): New function.
5282         (is_neq_relop_p): Ditto.
5283         (is_neq_zero_form_p): Ditto.
5284         (pred_expr_equal_p): Ditto.
5285         (pred_neg_p): Ditto.
5286         (simplify_pred): Ditto.
5287         (simplify_preds_2): Ditto.
5288         (simplify_preds_3): Ditto.
5289         (simplify_preds_4): Ditto.
5290         (simplify_preds): Ditto.
5291         (push_pred): Ditto.
5292         (push_to_worklist): Ditto.
5293         (get_pred_info_from_cmp): Ditto.
5294         (is_degenerated_phi): Ditto.
5295         (normalize_one_pred_1): Ditto.
5296         (normalize_one_pred): Ditto.
5297         (normalize_one_pred_chain): Ditto.
5298         (normalize_preds): Ditto.
5299         (normalize_cond_1): Remove function.
5300         (normalize_cond): Ditto.
5301         (is_gcond_subset_of): Ditto.
5302         (is_subset_of_any): Ditto.
5303         (is_or_set_subset_of): Ditto.
5304         (is_and_set_subset_of): Ditto.
5305         (is_norm_cond_subset_of): Ditto.
5306         (pred_chain_length_cmp): Ditto.
5307         (convert_control_dep_chain_into_preds): Type change.
5308         (find_predicates): Ditto.
5309         (find_def_preds): Ditto.
5310         (destroy_predicates_vecs): Ditto.
5311         (find_matching_predicates_in_rest_chains): Ditto.
5312         (use_pred_not_overlap_with_undef_path_pred): Ditto.
5313         (is_pred_expr_subset): Ditto.
5314         (is_pred_chain_subset_of): Ditto.
5315         (is_included_in): Ditto.
5316         (is_superset_of): Ditto.
5317
5318 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
5319
5320         Update copyright years.
5321
5322 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
5323
5324         * common/config/arc/arc-common.c, config/arc/arc-modes.def,
5325         config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
5326         config/arc/arc.md, config/arc/arc.opt,
5327         config/arm/arm_neon_builtins.def, config/arm/crypto.def,
5328         config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
5329         config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
5330         config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
5331         config/linux-protos.h, config/linux.c, config/winnt-c.c,
5332         diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
5333         vtable-verify.c, vtable-verify.h: Use the standard form for the
5334         copyright notice.
5335
5336 2014-01-02  Tobias Burnus  <burnus@net-b.de>
5337
5338         * gcc.c (process_command): Update copyright notice dates.
5339         * gcov-dump.c: Ditto.
5340         * gcov.c: Ditto.
5341         * doc/cpp.texi: Bump @copying's copyright year.
5342         * doc/cppinternals.texi: Ditto.
5343         * doc/gcc.texi: Ditto.
5344         * doc/gccint.texi: Ditto.
5345         * doc/gcov.texi: Ditto.
5346         * doc/install.texi: Ditto.
5347         * doc/invoke.texi: Ditto.
5348
5349 2014-01-01  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
5350
5351         * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
5352
5353 2014-01-01  Jakub Jelinek  <jakub@redhat.com>
5354
5355         * config/i386/sse.md (*mov<mode>_internal): Guard
5356         EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
5357
5358         PR rtl-optimization/59647
5359         * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
5360         new_rtx into UNSIGNED_FLOAT rtxes.
5361 \f
5362 Copyright (C) 2014 Free Software Foundation, Inc.
5363
5364 Copying and distribution of this file, with or without modification,
5365 are permitted in any medium without royalty provided the copyright
5366 notice and this notice are preserved.