* varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
[official-gcc.git] / gcc / ChangeLog
blob5f89ce166117e2af2eb3bbcccf56122720e7b3ff
1 2014-01-19  Jan Hubicka  <jh@suse.cz>
3         * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
5 2014-01-19  John David Anglin  <danglin@gcc.gnu.org>
7         * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
8         long non-pic millicode calls.
10 2014-01-19  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
12         * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
14 2014-01-18  Uros Bizjak  <ubizjak@gmail.com>
15             H.J. Lu  <hongjiu.lu@intel.com>
17         PR target/59379
18         * config/i386/i386.md (*lea<mode>): Zero-extend return register
19         to DImode for zero-extended addresses.
21 2014-01-19  Jakub Jelinek  <jakub@redhat.com>
23         PR rtl-optimization/57763
24         * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
25         on the new indirect jump_insn and increment LABEL_NUSES (label).
27 2014-01-18  H.J. Lu  <hongjiu.lu@intel.com>
29         PR bootstrap/59580
30         PR bootstrap/59583
31         * config.gcc (x86_archs): New variable.
32         (x86_64_archs): Likewise.
33         (x86_cpus): Likewise.
34         Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
35         --with-arch/--with-cpu= options.
36         Support --with-arch=/--with-cpu={nehalem,westmere,
37         sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
39 2014-01-18  Uros Bizjak  <ubizjak@gmail.com>
41         * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
42         and PROCESSOR_ATHLON to simplify code.  Move "memory" calculation.
44 2014-01-18  Uros Bizjak  <ubizjak@gmail.com>
46         * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
48 2014-01-18  Jakub Jelinek  <jakub@redhat.com>
50         PR target/58944
51         * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
52         clear cpp_get_options (parse_in)->warn_unused_macros for
53         ix86_target_macros_internal with cpp_define.
55 2014-01-18  Richard Sandiford  <rdsandiford@googlemail.com>
57         * jump.c (delete_related_insns): Keep (use (insn))s.
58         * reorg.c (redundant_insn): Check for barriers too.
60 2014-01-17  H.J. Lu  <hongjiu.lu@intel.com>
62         * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
64 2014-01-17  John David Anglin  <danglin@gcc.gnu.org>
66         * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
67         call to $$dyncall when TARGET_LONG_CALLS is true.
69 2014-01-17  Jeff Law  <law@redhat.com>
71         * ree.c (combine_set_extension): Temporarily disable test for
72         changing number of hard registers.
74 2014-01-17  Jan Hubicka  <jh@suse.cz>
76         PR middle-end/58125
77         * ipa-inline-analysis.c (inline_free_summary):
78         Do not free summary of aliases.
80 2014-01-17  Jakub Jelinek  <jakub@redhat.com>
82         PR middle-end/59706
83         * gimplify.c (gimplify_expr): Use create_tmp_var
84         instead of create_tmp_var_raw.  If cond doesn't have
85         integral type, don't add the IFN_ANNOTATE builtin at all.
87 2014-01-17  Martin Jambor  <mjambor@suse.cz>
89         PR ipa/59736
90         * ipa-cp.c (prev_edge_clone): New variable.
91         (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
92         Also resize prev_edge_clone vector.
93         (ipcp_edge_duplication_hook): Also update prev_edge_clone.
94         (ipcp_edge_removal_hook): New function.
95         (ipcp_driver): Register ipcp_edge_removal_hook.
97 2014-01-17  Andrew Pinski <apinski@cavium.com>
98             Steve Ellcey  <sellcey@mips.com>
100         PR target/59462
101         * config/mips/mips.c (mips_print_operand): Check operand mode instead
102         of operator mode.
104 2014-01-17  Jeff Law  <law@redhat.com>
106         PR middle-end/57904
107         * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
108         so that pass_ccp runs first.
110 2014-01-17  H.J. Lu  <hongjiu.lu@intel.com>
112         * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
113         (ix86_adjust_cost): Use !TARGET_XXX.
114         (do_reorder_for_imul): Likewise.
115         (swap_top_of_ready_list): Likewise.
116         (ix86_sched_reorder): Likewise.
118 2014-01-17  H.J. Lu  <hongjiu.lu@intel.com>
120         * config/i386/i386-c.c (ix86_target_macros_internal): Handle
121         PROCESSOR_INTEL.  Treat like PROCESSOR_GENERIC.
122         * config/i386/i386.c (intel_memcpy): New.  Duplicate slm_memcpy.
123         (intel_memset): New.  Duplicate slm_memset.
124         (intel_cost): New.  Duplicate slm_cost.
125         (m_INTEL): New macro.
126         (processor_target_table): Add "intel".
127         (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
128         with PROCESSOR_INTEL for "intel".
129         (ix86_lea_outperforms): Support PROCESSOR_INTEL.  Duplicate
130         PROCESSOR_SILVERMONT.
131         (ix86_issue_rate): Likewise.
132         (ix86_adjust_cost): Likewise.
133         (ia32_multipass_dfa_lookahead): Likewise.
134         (swap_top_of_ready_list): Likewise.
135         (ix86_sched_reorder): Likewise.
136         (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
137         instead of TARGET_OPT_AGU.
138         * config/i386/i386.h (TARGET_INTEL): New.
139         (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
140         (processor_type): Add PROCESSOR_INTEL.
141         * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
142         Add X86_TUNE_AVOID_LEA_FOR_ADDR.
144 2014-01-17  Marek Polacek  <polacek@redhat.com>
146         PR c/58346
147         * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
148         size is zero.
150 2014-01-17  Richard Biener  <rguenther@suse.de>
152         PR tree-optimization/46590
153         * opts.c (default_options_table): Add entries for
154         OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
155         all enabled at -O1 but not for -Og.
156         * common.opt (fbranch-count-reg): Remove Init(1).
157         (fmove-loop-invariants): Likewise.
158         (ftree-pta): Likewise.
160 2014-01-17  Jakub Jelinek  <jakub@redhat.com>
162         * config/i386/i386.c (ix86_data_alignment): For compatibility with
163         (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
164         decls to at least the GCC 4.8 used alignments.
166         PR fortran/59440
167         * tree-nested.c (convert_nonlocal_reference_stmt,
168         convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
169         of GIMPLE_BIND stmts, adjust associated decls.
171 2014-01-17  Richard Biener  <rguenther@suse.de>
173         PR tree-optimization/46590
174         * vec.h (vec<>::bseach): New member function implementing
175         binary search according to C89 bsearch.
176         (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
177         * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
178         bitmap pointer again.  Make accesses_in_loop a flat array.
179         (mem_ref_obstack): New global.
180         (outermost_indep_loop): Adjust for mem_ref->stored changes.
181         (mark_ref_stored): Likewise.
182         (ref_indep_loop_p_2): Likewise.
183         (set_ref_stored_in_loop): New helper function.
184         (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
185         (memref_free): Adjust.
186         (record_mem_ref_loc): Simplify.
187         (gather_mem_refs_stmt): Adjust.
188         (sort_locs_in_loop_postorder_cmp): New function.
189         (analyze_memory_references): Sort accesses_in_loop after
190         loop postorder number.
191         (find_ref_loc_in_loop_cmp): New function.
192         (for_all_locs_in_loop): Find relevant cluster of locs in
193         accesses_in_loop and iterate without recursion.
194         (execute_sm): Avoid uninit warning.
195         (struct ref_always_accessed): Simplify.
196         (ref_always_accessed::operator ()): Likewise.
197         (ref_always_accessed_p): Likewise.
198         (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
199         loop postorder numbers here.
200         (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
201         numbers.
203 2014-01-17  Jan Hubicka  <hubicka@ucw.cz>
205         PR c++/57945
206         * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
207         on decls for which assemble_alias has been called.
209 2014-01-17  Nick Clifton  <nickc@redhat.com>
211         * config/msp430/msp430.opt: (mcpu): New option.
212         * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
213         (msp430_option_override): Parse target_cpu.  If the MCU name
214         matches a generic string, clear target_mcu.
215         (msp430_attr): Allow numeric interrupt values up to 63.
216         (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
217         * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
218         option.
219         * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
220         Add mcpu matches.
221         * config/msp430/msp430.md (popm): Use %J rather than %I.
222         (addsi3): Use msp430_nonimmediate_operand for operand 2.
223         (addhi_cy_i): Use immediate_operand for operand 2.
224         * doc/invoke.texi: Document -mcpu option.
226 2014-01-17  Richard Biener  <rguenther@suse.de>
228         PR rtl-optimization/38518
229         * df.h (df_analyze_loop): Declare.
230         * df-core.c: Include cfgloop.h.
231         (df_analyze_1): Split out main part of df_analyze.
232         (df_analyze): Adjust.
233         (loop_inverted_post_order_compute): New function.
234         (loop_post_order_compute): Likewise.
235         (df_analyze_loop): New function avoiding whole-function
236         postorder computes.
237         * loop-invariant.c (find_defs): Use df_analyze_loop.
238         (find_invariants): Adjust.
239         * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
241 2014-01-17  Zhenqiang Chen  <zhenqiang.chen@arm.com>
243         * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
244         (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
246 2014-01-16  Ilya Enkovich  <ilya.enkovich@intel.com>
248         * ipa-ref.c (ipa_remove_stmt_references): Fix references
249         traversal when removing references.
251 2014-01-16  Jan Hubicka  <jh@suse.cz>
253         PR ipa/59775
254         * tree.c (get_binfo_at_offset): Look harder for virtual bases.
256 2014-01-16  Bernd Schmidt  <bernds@codesourcery.com>
258         PR middle-end/56791
259         * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
260         pushing a reload for an autoinc when we had previously reloaded an
261         inner part of the address.
263 2014-01-16  Jakub Jelinek  <jakub@redhat.com>
265         * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
266         field.
267         (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
268         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
269         when not giving up or versioning for alias only because of
270         loop->safelen.
271         (vect_analyze_data_ref_dependences): Set to true.
272         * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
273         is a GIMPLE_PHI.
274         (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
275         LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
276         to the condition.
278         PR middle-end/58344
279         * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
281         PR target/59839
282         * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
283         operand 0 predicate for gathers, use a new pseudo as subtarget.
285 2014-01-16  Vladimir Makarov  <vmakarov@redhat.com>
287         PR middle-end/59609
288         * lra-constraints.c (process_alt_operands): Add printing debug info.
289         Check absence of input/output reloads for matched operands too.
291 2014-01-16  Vladimir Makarov  <vmakarov@redhat.com>
293         PR rtl-optimization/59835
294         * ira.c (ira_init_register_move_cost): Increase cost for
295         impossible modes.
297 2014-01-16  Alan Lawrence  <alan.lawrence@arm.com>
299         * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
301 2014-01-16  Richard Earnshaw  <rearnsha@arm.com>
303         PR target/59780
304         * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
305         non-register objects.  Use gen_(high/low)part more consistently.
306         Fix assertions.
308 2014-01-16  Michael Meissner  <meissner@linux.vnet.ibm.com>
310         PR target/59844
311         * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
312         endian support, remove tests for WORDS_BIG_ENDIAN.
313         (p8_mfvsrd_3_<mode>): Likewise.
314         (reload_gpr_from_vsx<mode>): Likewise.
315         (reload_gpr_from_vsxsf): Likewise.
316         (p8_mfvsrd_4_disf): Likewise.
318 2014-01-16  Richard Biener  <rguenther@suse.de>
320         PR rtl-optimization/46590
321         * lcm.c (compute_antinout_edge): Use postorder iteration.
322         (compute_laterin): Use inverted postorder iteration.
324 2014-01-16  Nick Clifton  <nickc@redhat.com>
326         PR middle-end/28865
327         * varasm.c (output_constant): Return the number of bytes actually
328         emitted.
329         (output_constructor_array_range): Update the field size with the
330         number of bytes emitted by output_constant.
331         (output_constructor_regular_field): Likewise.  Also do not
332         complain if the total number of bytes emitted is now greater
333         than the expected fieldpos.
334         * output.h (output_constant): Update prototype and descriptive comment.
336 2014-01-16  Marek Polacek  <polacek@redhat.com>
338         PR middle-end/59827
339         * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
340         it is error_mark_node.
342 2014-01-15  Uros Bizjak  <ubizjak@gmail.com>
344         * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
345         VALID_AVX256_REG_OR_OI_MODE.
347 2014-01-15  Pat Haugen  <pthaugen@us.ibm.com>
349         * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
350         current procedure should be profiled.
352 2014-01-15  Andrew Pinski  <apinski@cavium.com>
354         * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
355         of moving from/to the STACK_REG register class.
357 2014-01-15  Richard Henderson <rth@redhat.com>
359         PR debug/54694
360         * reginfo.c (global_regs_decl): Globalize.
361         * rtl.h (global_regs_decl): Declare.
362         * ira.c (do_reload): Diagnose frame_pointer_needed and it
363         reserved via global_regs.
365 2014-01-15  Teresa Johnson  <tejohnson@google.com>
367         * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
369 2014-01-15  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>
371         * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
372         and vmulosh rather than call gen_vec_widen_smult_*.
373         (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
374         than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
375         (vec_widen_smult_even_v16qi): Likewise.
376         (vec_widen_umult_even_v8hi): Likewise.
377         (vec_widen_smult_even_v8hi): Likewise.
378         (vec_widen_umult_odd_v16qi): Likewise.
379         (vec_widen_smult_odd_v16qi): Likewise.
380         (vec_widen_umult_odd_v8hi): Likewise.
381         (vec_widen_smult_odd_v8hi): Likewise.
382         (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
383         vmuloub rather than call gen_vec_widen_umult_*.
384         (vec_widen_umult_lo_v16qi): Likewise.
385         (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
386         vmulosb rather than call gen_vec_widen_smult_*.
387         (vec_widen_smult_lo_v16qi): Likewise.
388         (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
389         rather than call gen_vec_widen_umult_*.
390         (vec_widen_umult_lo_v8hi): Likewise.
391         (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
392         rather than call gen_vec_widen_smult_*.
393         (vec_widen_smult_lo_v8hi): Likewise.
395 2014-01-15  Jeff Law  <law@redhat.com>
397         PR tree-optimization/59747
398         * ree.c (find_and_remove_re): Properly handle case where a second
399         eliminated extension requires widening a copy created for elimination
400         of a prior extension.
401         (combine_set_extension): Ensure that the number of hard regs needed
402         for a destination register does not change when we widen it.
404 2014-01-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
406         * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
407         (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
408         (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
409         (arm*-*-rtems*): Use t-rtems from existing tmake_file.
410         (avr-*-rtems*): Likewise.
411         (bfin*-rtems*): Likewise.
412         (moxie-*-rtems*): Likewise.
413         (h8300-*-rtems*): Likewise.
414         (i[34567]86-*-rtems*): Likewise.
415         (lm32-*-rtems*): Likewise.
416         (m32r-*-rtems*): Likewise.
417         (m68k-*-rtems*): Likewise.
418         (microblaze*-*-rtems*): Likewise.
419         (mips*-*-rtems*): Likewise.
420         (powerpc-*-rtems*): Likewise.
421         (sh-*-rtems*): Likewise.
422         (sparc-*-rtems*): Likewise.
423         (sparc64-*-rtems*): Likewise.
424         (v850-*-rtems*): Likewise.
425         (m32c-*-rtems*): Likewise.
427 2014-01-15  Vladimir Makarov  <vmakarov@redhat.com>
429         PR rtl-optimization/59511
430         * ira.c (ira_init_register_move_cost): Use memory costs for some
431         cases of register move cost calculations.
432         * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
433         instead of BB frequency.
434         * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
435         * lra-assigns.c (find_hard_regno_for): Ditto.
437 2014-01-15  Richard Biener  <rguenther@suse.de>
439         PR tree-optimization/59822
440         * tree-vect-stmts.c (hoist_defs_of_uses): New function.
441         (vectorizable_load): Use it to hoist defs of uses of invariant
442         loads out of the loop.
444 2014-01-15  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
445             Kugan Vivekanandarajah  <kuganv@linaro.org>
447         PR target/59695
448         * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
449         truncation.
451 2014-01-15  Richard Biener  <rguenther@suse.de>
453         PR rtl-optimization/59802
454         * lcm.c (compute_available): Use inverted postorder to seed
455         the initial worklist.
457 2014-01-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
459         PR target/59803
460         * config/s390/s390.c (s390_preferred_reload_class): Don't return
461         ADDR_REGS for invalid symrefs in non-PIC code.
463 2014-01-15  Jakub Jelinek  <jakub@redhat.com>
465         PR other/58712
466         * builtins.c (determine_block_size): Initialize *probable_max_size
467         even if len_rtx is CONST_INT.
469 2014-01-14  Andrew Pinski  <apinski@cavium.com>
471         * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
472         * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
473         (cortexa53_tunings): Likewise.
474         (aarch64_sched_issue_rate): New function.
475         (TARGET_SCHED_ISSUE_RATE): Define.
477 2014-01-14  Vladimir Makarov  <vmakarov@redhat.com>
479         * ira-costs.c (find_costs_and_classes): Add missed
480         ira_init_register_move_cost_if_necessary.
482 2014-01-14  Vladimir Makarov  <vmakarov@redhat.com>
484         PR target/59787
485         * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
487 2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
489         PR target/59794
490         * config/i386/i386.c (type_natural_mode): Add a bool parameter
491         to indicate if type is used for function return value.  Warn ABI
492         change if the vector mode isn't available for function return value.
493         (ix86_function_arg_advance): Pass false to type_natural_mode.
494         (ix86_function_arg): Likewise.
495         (ix86_gimplify_va_arg): Likewise.
496         (function_arg_32): Don't warn ABI change.
497         (ix86_function_value): Pass true to type_natural_mode.
498         (ix86_return_in_memory): Likewise.
499         (ix86_struct_value_rtx): Removed.
500         (TARGET_STRUCT_VALUE_RTX): Likewise.
502 2014-01-14  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
504         * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
505         converting a conditional jump into a conditional return.
507 2014-01-14  Richard Biener  <rguenther@suse.de>
509         PR tree-optimization/58921
510         PR tree-optimization/59006
511         * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
512         hoisting invariant stmts.
513         * tree-vect-stmts.c (vectorizable_load): Insert the splat of
514         invariant loads on the preheader edge if possible.
516 2014-01-14  Joey Ye  <joey.ye@arm.com>
518         * doc/plugin.texi (Building GCC plugins): Update to C++.
520 2014-01-14  Kirill Yukhin  <kirill.yukhin@intel.com>
522         * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
523         (_mm_rcp28_round_ss): Ditto.
524         (_mm_rsqrt28_round_sd): Ditto.
525         (_mm_rsqrt28_round_ss): Ditto.
526         (_mm_rcp28_sd): Ditto.
527         (_mm_rcp28_ss): Ditto.
528         (_mm_rsqrt28_sd): Ditto.
529         (_mm_rsqrt28_ss): Ditto.
530         * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
531         * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
532         * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
533         (IX86_BUILTIN_RCP28SD): Ditto.
534         (IX86_BUILTIN_RCP28SS): Ditto.
535         (IX86_BUILTIN_RSQRT28SD): Ditto.
536         (IX86_BUILTIN_RSQRT28SS): Ditto.
537         (bdesc_special_args): Define __builtin_ia32_movntdqa512,
538         __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
539         __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
540         (ix86_expand_special_args_builtin): Expand new FTYPE.
541         * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
542         (srcp14<mode>): Make insn unary.
543         (avx512f_vmscalef<mode><round_name>): Use substed predicate.
544         (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
545         (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
546         (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
547         (avx512er_exp2<mode><mask_name><round_saeonly_name>):
548         Fix rounding: make it SAE only.
549         (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
550         Ditto.
551         (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
552         Ditto.
553         (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
554         (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
555         (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
556         * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
557         (round_saeonly_mask_scalar_operand4): Ditto.
558         (round_saeonly_mask_scalar_op3): Ditto.
559         (round_saeonly_mask_scalar_op4): Ditto.
561 2014-01-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
563         * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
564         Implement -maltivec=be for vec_insert and vec_extract.
566 2014-01-10  DJ Delorie  <dj@redhat.com>
568         * config/msp430/msp430.md (call_internal): Don't allow memory
569         references with SP as the base register.
570         (call_value_internal): Likewise.
571         * config/msp430/constraints.md (Yc): New.  For memory references
572         that don't use SP as a base register.
574         * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
575         "an integer without a # prefix"
576         * config/msp430/msp430.md (epilogue_helper): Use it.
578 2014-01-13  Jakub Jelinek  <jakub@redhat.com>
580         PR target/59617
581         * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
582         AVX512F gather builtins.
583         * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
584         on gather decls with INTEGER_TYPE masktype.
585         (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
586         directly into the builtin rather than hoisting it before loop.
588         PR tree-optimization/59387
589         * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
590         (scev_const_prop): If folded_casts and type has undefined overflow,
591         use force_gimple_operand instead of force_gimple_operand_gsi and
592         for each added stmt if it is assign with
593         arith_code_with_undefined_signed_overflow, call
594         rewrite_to_defined_overflow.
595         * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
596         gimple-fold.h instead.
597         (arith_code_with_undefined_signed_overflow,
598         rewrite_to_defined_overflow): Moved to ...
599         * gimple-fold.c (arith_code_with_undefined_signed_overflow,
600         rewrite_to_defined_overflow): ... here.  No longer static.
601         Include gimplify-me.h.
602         * gimple-fold.h (arith_code_with_undefined_signed_overflow,
603         rewrite_to_defined_overflow): New prototypes.
605 2014-01-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
607         * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
609 2014-01-13  Eric Botcazou  <ebotcazou@adacore.com>
611         * builtins.c (get_object_alignment_2): Minor tweak.
612         * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
614 2014-01-13  Christian Bruel  <christian.bruel@st.com>
616         * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
617         optimized non constant lengths.
619 2014-01-13  Jakub Jelinek  <jakub@redhat.com>
621         PR libgomp/59194
622         * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
623         load as __atomic_load_N if possible.
625 2014-01-11  David Edelsohn  <dje.gcc@gmail.com>
627         * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
628         target parameter.
629         (rs6000_expand_builtin): Adjust call.
631 2014-01-11  David Edelsohn  <dje.gcc@gmail.com>
633         PR target/58115
634         * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
635         * config/rs6000/rs6000.c: Include target-globals.h.
636         (rs6000_set_current_function): Instead of doing target_reinit
637         unconditionally, use save_target_globals_default_opts and
638         restore_target_globals.
640         * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
641         FPSCR.
642         * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
643         (rs6000_expand_builtin): Handle mffs and mtfsf.
644         (rs6000_init_builtins): Define mffs and mtfsf.
645         * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
646         (rs6000_mffs): New pattern.
647         (rs6000_mtfsf): New pattern.
649 2014-01-11  Bin Cheng  <bin.cheng@arm.com>
651         * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
652         Start narrowing with START.  Apply candidate-use pair
653         and check overall cost in narrowing.
654         (iv_ca_prune): Pass new argument.
656 2014-01-10  Jeff Law  <law@redhat.com>
658         PR middle-end/59743
659         * ree.c (combine_reaching_defs): Ensure the defining statement
660         occurs before the extension when optimizing extensions with
661         different source and destination hard registers.
663 2014-01-10  Jan Hubicka  <jh@suse.cz>
665         PR ipa/58585
666         * ipa-devirt.c (build_type_inheritance_graph): Also add types of
667         vtables into the type inheritance graph.
669 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
671         PR rtl-optimization/59754
672         * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
673         modes in the REGNO != REGNO case.
675 2014-01-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
677         * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
679 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
681         PR tree-optimization/59745
682         * tree-predcom.c (tree_predictive_commoning_loop): Call
683         free_affine_expand_cache if giving up because components is NULL.
685         * target-globals.c (save_target_globals): Allocate < 4KB structs using
686         GC in payload of target_globals struct instead of allocating them on
687         the heap and the larger structs separately using GC.
688         * target-globals.h (struct target_globals): Make regs, hard_regs,
689         reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
690         of GTY((skip)) and change type to void *.
691         (reset_target_globals): Cast loads from those fields to corresponding
692         types.
694 2014-01-10  Steve Ellcey  <sellcey@mips.com>
696         PR plugins/59335
697         * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
698         gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
699         tree-ssanames.h, print-tree.h, varasm.h, and context.h.
701 2014-01-10  Richard Earnshaw  <rearnsha@arm.com>
703         PR target/59744
704         * aarch64-modes.def (CC_Zmode): New flags mode.
705         * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
706         represents an equality.
707         (aarch64_get_condition_code): Handle CC_Zmode.
708         * aarch64.md (compare_neg<mode>): Restrict to equality operations.
710 2014-01-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
712         * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
713         extraction in good case.
715 2014-01-10  Richard Biener  <rguenther@suse.de>
717         PR tree-optimization/59374
718         * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
719         checking after SLP discovery.  Mark stmts not participating
720         in any SLP instance properly.
722 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
724         * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
725         when handling a SET rtx.
727 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
729         * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
730         (cortex-a57): Likewise.
731         (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
733 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
735         * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
736         non-iwmmxt builtins.
738 2014-01-10  Jan Hubicka  <hubicka@ucw.cz>
740         PR ipa/58252
741         PR ipa/59226
742         * ipa-devirt.c record_target_from_binfo): Take as argument
743         stack of binfos and lookup matching one for virtual inheritance.
744         (possible_polymorphic_call_targets_1): Update.
746 2014-01-10  Huacai Chen  <chenhc@lemote.com>
748         * config/mips/driver-native.c (host_detect_local_cpu): Handle new
749         kernel strings for Loongson-2E/2F/3A.
751 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
753         PR middle-end/59670
754         * tree-vect-data-refs.c (vect_analyze_data_refs): Check
755         is_gimple_call before calling gimple_call_internal_p.
757 2014-01-09  Steve Ellcey  <sellcey@mips.com>
759         * Makefile.in (TREE_FLOW_H): Remove.
760         (TREE_SSA_H): Add file names from tree-flow.h.
761         * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
762         * tree.h: Remove tree-flow.h reference.
763         * hash-table.h: Remove tree-flow.h reference.
764         * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
765         reference with tree-ssa-loop.h.
767 2014-01-09  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
769         * doc/invoke.texi: Add -maltivec={be,le} options, and document
770         default element-order behavior for -maltivec.
771         * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
772         * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
773         that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
774         when targeting big endian, at least for now.
775         * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
777 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
779         PR middle-end/47735
780         * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
781         var satisfies use_register_for_decl, just take into account type
782         alignment, rather than decl alignment.
784         PR tree-optimization/59622
785         * gimple-fold.c (gimple_fold_call): Fix a typo in message.  For
786         __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
787         __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
788         Don't devirtualize for inplace at all.  For targets.length () == 1,
789         if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
791 2014-01-09  H.J. Lu  <hongjiu.lu@intel.com>
793         * config/i386/i386.md (cpu): Remove the unused btver1.
795 2014-01-09  H.J. Lu  <hongjiu.lu@intel.com>
797         * gdbasan.in: Put a breakpoint on __sanitizer::Report.
799 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
801         PR target/58115
802         * tree-core.h (struct target_globals): New forward declaration.
803         (struct tree_target_option): Add globals field.
804         * tree.h (TREE_TARGET_GLOBALS): Define.
805         (prepare_target_option_nodes_for_pch): New prototype.
806         * target-globals.h (struct target_globals): Define even if
807         !SWITCHABLE_TARGET.
808         * tree.c (prepare_target_option_node_for_pch,
809         prepare_target_option_nodes_for_pch): New functions.
810         * config/i386/i386.h (SWITCHABLE_TARGET): Define.
811         * config/i386/i386.c: Include target-globals.h.
812         (ix86_set_current_function): Instead of doing target_reinit
813         unconditionally, use save_target_globals_default_opts and
814         restore_target_globals.
816 2014-01-09  Richard Biener  <rguenther@suse.de>
818         PR tree-optimization/59715
819         * tree-cfg.h (split_critical_edges): Declare.
820         * tree-cfg.c (split_critical_edges): Export.
821         * tree-ssa-sink.c (execute_sink_code): Split critical edges.
823 2014-01-09  Max Ostapenko  <m.ostapenko@partner.samsung.com>
825         * cfgexpand.c (expand_stack_vars): Optionally disable
826         asan stack protection.
827         (expand_used_vars): Likewise.
828         (partition_stack_vars): Likewise.
829         * asan.c (asan_emit_stack_protection): Optionally disable
830         after return stack usage.
831         (instrument_derefs): Optionally disable memory access instrumentation.
832         (instrument_builtin_call): Likewise.
833         (instrument_strlen_call): Likewise.
834         (asan_protect_global): Optionally disable global variables protection.
835         * doc/invoke.texi: Added doc for new options.
836         * params.def: Added new options.
837         * params.h: Likewise.
839 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
841         PR rtl-optimization/59724
842         * ifcvt.c (cond_exec_process_if_block): Don't call
843         flow_find_head_matching_sequence with 0 longest_match.
844         * cfgcleanup.c (flow_find_head_matching_sequence): Count even
845         non-active insns if !stop_after.
846         (try_head_merge_bb): Revert 2014-01-07 changes.
848 2014-01-08  Jeff Law  <law@redhat.com>
850         * ree.c (get_sub_rtx): New function, extracted from...
851         (merge_def_and_ext): Here.
852         (combine_reaching_defs): Use get_sub_rtx.
854 2014-01-08  Eric Botcazou  <ebotcazou@adacore.com>
856         * cgraph.h (varpool_variable_node): Do not choke on null node.
858 2014-01-08  Catherine Moore  <clm@codesourcery.com>
860         * config/mips/mips.md (simple_return): Attempt to use JRC
861         for microMIPS.
862         * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
864 2014-01-08  Richard Sandiford  <rdsandiford@googlemail.com>
866         PR rtl-optimization/59137
867         * reorg.c (steal_delay_list_from_target): Call update_block for
868         elided insns.
869         (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
871 2014-01-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
873         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
874         two duplicate entries.
876 2014-01-08  Richard Sandiford  <rdsandiford@googlemail.com>
878         Revert:
879         2012-10-07  Richard Sandiford  <rdsandiford@googlemail.com>
881         * config/mips/mips.c (mips_truncated_op_cost): New function.
882         (mips_rtx_costs): Adjust test for BADDU.
883         * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
885         2012-10-02  Richard Sandiford  <rdsandiford@googlemail.com>
887         * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
888         (*baddu_si): ...this new pattern.
890 2014-01-08  Jakub Jelinek  <jakub@redhat.com>
892         PR ipa/59722
893         * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
895 2014-01-08  Bernd Edlinger  <bernd.edlinger@hotmail.de>
897         PR middle-end/57748
898         * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
899         inner_reference_p.
900         (expand_expr, expand_normal): Adjust.
901         * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
902         inner_reference_p. Use inner_reference_p to expand inner references.
903         (store_expr): Adjust.
904         * cfgexpand.c (expand_call_stmt): Adjust.
906 2014-01-08  Rong Xu  <xur@google.com>
908         * gcov-io.c (gcov_var): Move from gcov-io.h.
909         (gcov_position): Ditto.
910         (gcov_is_error): Ditto.
911         (gcov_rewrite): Ditto.
912         * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
913         only part to libgcc/libgcov.h.
915 2014-01-08  Marek Polacek  <polacek@redhat.com>
917         PR middle-end/59669
918         * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
920 2014-01-08  Marek Polacek  <polacek@redhat.com>
922         PR sanitizer/59667
923         * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
925 2014-01-08  Jakub Jelinek  <jakub@redhat.com>
927         PR rtl-optimization/59649
928         * stor-layout.c (get_mode_bounds): For BImode return
929         0 and STORE_FLAG_VALUE.
931 2014-01-08  Richard Biener  <rguenther@suse.de>
933         PR middle-end/59630
934         * gimple.h (is_gimple_builtin_call): Remove.
935         (gimple_builtin_call_types_compatible_p): New.
936         (gimple_call_builtin_p): New overload.
937         * gimple.c (is_gimple_builtin_call): Remove.
938         (validate_call): Rename to ...
939         (gimple_builtin_call_types_compatible_p): ... this and export.  Also
940         check return types.
941         (validate_type): New static function.
942         (gimple_call_builtin_p): New overload and adjust.
943         * gimple-fold.c (gimple_fold_builtin): Fold the return value.
944         (gimple_fold_call): Likewise.  Use gimple_call_builtin_p.
945         (gimple_fold_stmt_to_constant_1): Likewise.
946         * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
948 2014-01-08  Richard Biener  <rguenther@suse.de>
950         PR middle-end/59471
951         * gimplify.c (gimplify_expr): Gimplify register-register type
952         VIEW_CONVERT_EXPRs to separate stmts.
954 2014-01-07  Jeff Law  <law@redhat.com>
956         PR middle-end/53623
957         * ree.c (combine_set_extension): Handle case where source
958         and destination registers in an extension insn are different.
959         (combine_reaching_defs): Allow source and destination registers
960         in extension to be different under limited circumstances.
961         (add_removable_extension): Remove restriction that the
962         source and destination registers in the extension are the same.
963         (find_and_remove_re): Emit a copy from the extension's
964         destination to its source after the defining insn if
965         the source and destination registers are different.
967         PR middle-end/59285
968         * ifcvt.c (merge_if_block): If we are merging a block with more than
969         one successor with a block with no successors, remove any BARRIER
970         after the second block.
972 2014-01-07  Dan Xio Qiang <ziyan01@163.com>
974         * hw-doloop.c (reorg_loops): Release the bitmap obstack.
976 2014-01-07  John David Anglin  <danglin@gcc.gnu.org>
978         PR target/59652
979         * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
980         for 14-bit register offsets when INT14_OK_STRICT is false.
982 2014-01-07  Roland Stigge  <stigge@antcom.de>
983             Michael Meissner  <meissner@linux.vnet.ibm.com>
985         PR 57386/target
986         * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
987         Only check TFmode for SPE constants.  Don't check TImode or TDmode.
989 2014-01-07  James Greenhalgh  <james.greenhalgh@arm.com>
991         * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
992         -mcpu.
994 2014-01-07  Yufeng Zhang  <yufeng.zhang@arm.com>
996         * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
997         with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
998         rtx is const0_rtx or not.
1000 2014-01-07  Richard Sandiford  <rdsandiford@googlemail.com>
1002         PR target/58115
1003         * target-globals.c (save_target_globals): Remove this_fn_optab
1004         handling.
1005         * toplev.c: Include optabs.h.
1006         (target_reinit): Temporarily restore the global options if another
1007         set of options are in force.
1009 2014-01-07  Jakub Jelinek  <jakub@redhat.com>
1011         PR rtl-optimization/58668
1012         * cfgcleanup.c (flow_find_cross_jump): Don't count
1013         any jumps if dir_p is NULL.  Remove p1 variable, use active_insn_p
1014         to determine what is counted.
1015         (flow_find_head_matching_sequence): Use active_insn_p to determine
1016         what is counted.
1017         (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
1018         counting change.
1019         * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
1020         determine what is counted.
1022         PR tree-optimization/59643
1023         * tree-predcom.c (split_data_refs_to_components): If one dr is
1024         read and one write, determine_offset fails and the write isn't
1025         in the bad component, just put the read into the bad component.
1027 2014-01-07  Mike Stump  <mikestump@comcast.net>
1028             Jakub Jelinek  <jakub@redhat.com>
1030         PR pch/59436
1031         * tree-core.h (struct tree_optimization_option): Change optabs
1032         type from unsigned char * to void *.
1033         * optabs.c (init_tree_optimization_optabs): Adjust
1034         TREE_OPTIMIZATION_OPTABS initialization.
1036 2014-01-06  Jakub Jelinek  <jakub@redhat.com>
1038         PR target/59644
1039         * config/i386/i386.h (struct machine_function): Add
1040         no_drap_save_restore field.
1041         * config/i386/i386.c (ix86_save_reg): Use
1042         !cfun->machine->no_drap_save_restore instead of
1043         crtl->stack_realign_needed.
1044         (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
1045         this function clears frame_pointer_needed.  Set
1046         cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
1047         and DRAP reg is needed.
1049 2014-01-06  Marek Polacek  <polacek@redhat.com>
1051         PR c/57773
1052         * doc/implement-c.texi: Mention that other integer types are
1053         permitted as bit-field types in strictly conforming mode.
1055 2014-01-06  Felix Yang  <fei.yang0953@gmail.com>
1057         * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
1058         is newly allocated.
1060 2014-01-06  Richard Earnshaw  <rearnsha@arm.com>
1062         * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
1064 2014-01-06  Martin Jambor  <mjambor@suse.cz>
1066         PR ipa/59008
1067         * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
1068         to int.
1069         * ipa-prop.c (ipa_print_node_params): Fix indentation.
1071 2014-01-06  Eric Botcazou  <ebotcazou@adacore.com>
1073         PR debug/59350
1074         PR debug/59510
1075         * var-tracking.c (add_stores): Preserve the value of the source even if
1076         we don't record the store.
1078 2014-01-06  Terry Guo  <terry.guo@arm.com>
1080         * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
1082 2014-01-05  Iain Sandoe  <iain@codesourcery.com>
1084         PR bootstrap/59541
1085         * config/darwin.c (darwin_function_section): Adjust return values to
1086         correspond to optimisation changes made in r206070.
1088 2014-01-05  Uros Bizjak  <ubizjak@gmail.com>
1090         * config/i386/i386.c (ix86_data_alignment): Calculate max_align
1091         from prefetch_block tune setting.
1092         (nocona_cost): Correct size of prefetch block to 64.
1094 2014-01-04  Eric Botcazou  <ebotcazou@adacore.com>
1096         * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
1097         (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
1098         used to save the static chain register in the computation of the offset
1099         from which the FP registers need to be restored.
1101 2014-01-04  Jakub Jelinek  <jakub@redhat.com>
1103         PR tree-optimization/59519
1104         * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
1105         ICE if get_current_def (current_new_name) is already non-NULL, as long
1106         as it is a phi result of some other phi in *new_exit_bb that has
1107         the same argument.
1109         * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
1110         or vmovdqu* for misaligned_operand.
1111         (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
1112         <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
1113         * config/i386/i386.c (ix86_expand_special_args_builtin): Set
1114         aligned_mem for AVX512F masked aligned load and store builtins and for
1115         non-temporal moves.
1117 2014-01-03  Bingfeng Mei  <bmei@broadcom.com>
1119         PR tree-optimization/59651
1120         * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
1121         Address range for negative step should be added by TYPE_SIZE_UNIT.
1123 2014-01-03  Andreas Schwab  <schwab@linux-m68k.org>
1125         * config/m68k/m68k.c (handle_move_double): Handle pushes with
1126         overlapping registers also for registers other than the stack pointer.
1128 2014-01-03  Marek Polacek  <polacek@redhat.com>
1130         PR other/59661
1131         * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
1132         __builtin_FILE.
1134 2014-01-03  Jakub Jelinek  <jakub@redhat.com>
1136         PR target/59625
1137         * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
1138         asm goto as jump.
1140         * config/i386/i386.md (MODE_SIZE): New mode attribute.
1141         (push splitter): Use <P:MODE_SIZE> instead of
1142         GET_MODE_SIZE (<P:MODE>mode).
1143         (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
1144         (mov -1, reg peephole2): Likewise.
1145         * config/i386/sse.md (*mov<mode>_internal,
1146         <sse>_storeu<ssemodesuffix><avxsizesuffix>,
1147         <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
1148         *<code><mode>3, *andnot<mode>3<mask_name>,
1149         <mask_codefor><code><mode>3<mask_name>): Likewise.
1150         * config/i386/subst.md (mask_mode512bit_condition,
1151         sd_mask_mode512bit_condition): Likewise.
1153 2014-01-02  Xinliang David Li  <davidxl@google.com>
1155         PR tree-optimization/59303
1156         * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
1157         (dump_predicates): Better output format.
1158         (pred_equal_p): New function.
1159         (is_neq_relop_p): Ditto.
1160         (is_neq_zero_form_p): Ditto.
1161         (pred_expr_equal_p): Ditto.
1162         (pred_neg_p): Ditto.
1163         (simplify_pred): Ditto.
1164         (simplify_preds_2): Ditto.
1165         (simplify_preds_3): Ditto.
1166         (simplify_preds_4): Ditto.
1167         (simplify_preds): Ditto.
1168         (push_pred): Ditto.
1169         (push_to_worklist): Ditto.
1170         (get_pred_info_from_cmp): Ditto.
1171         (is_degenerated_phi): Ditto.
1172         (normalize_one_pred_1): Ditto.
1173         (normalize_one_pred): Ditto.
1174         (normalize_one_pred_chain): Ditto.
1175         (normalize_preds): Ditto.
1176         (normalize_cond_1): Remove function.
1177         (normalize_cond): Ditto.
1178         (is_gcond_subset_of): Ditto.
1179         (is_subset_of_any): Ditto.
1180         (is_or_set_subset_of): Ditto.
1181         (is_and_set_subset_of): Ditto.
1182         (is_norm_cond_subset_of): Ditto.
1183         (pred_chain_length_cmp): Ditto.
1184         (convert_control_dep_chain_into_preds): Type change.
1185         (find_predicates): Ditto.
1186         (find_def_preds): Ditto.
1187         (destroy_predicates_vecs): Ditto.
1188         (find_matching_predicates_in_rest_chains): Ditto.
1189         (use_pred_not_overlap_with_undef_path_pred): Ditto.
1190         (is_pred_expr_subset): Ditto.
1191         (is_pred_chain_subset_of): Ditto.
1192         (is_included_in): Ditto.
1193         (is_superset_of): Ditto.
1195 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
1197         Update copyright years.
1199 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
1201         * common/config/arc/arc-common.c, config/arc/arc-modes.def,
1202         config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
1203         config/arc/arc.md, config/arc/arc.opt,
1204         config/arm/arm_neon_builtins.def, config/arm/crypto.def,
1205         config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
1206         config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
1207         config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
1208         config/linux-protos.h, config/linux.c, config/winnt-c.c,
1209         diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
1210         vtable-verify.c, vtable-verify.h: Use the standard form for the
1211         copyright notice.
1213 2014-01-02  Tobias Burnus  <burnus@net-b.de>
1215         * gcc.c (process_command): Update copyright notice dates.
1216         * gcov-dump.c: Ditto.
1217         * gcov.c: Ditto.
1218         * doc/cpp.texi: Bump @copying's copyright year.
1219         * doc/cppinternals.texi: Ditto.
1220         * doc/gcc.texi: Ditto.
1221         * doc/gccint.texi: Ditto.
1222         * doc/gcov.texi: Ditto.
1223         * doc/install.texi: Ditto.
1224         * doc/invoke.texi: Ditto.
1226 2014-01-01  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
1228         * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
1230 2014-01-01  Jakub Jelinek  <jakub@redhat.com>
1232         * config/i386/sse.md (*mov<mode>_internal): Guard
1233         EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
1235         PR rtl-optimization/59647
1236         * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
1237         new_rtx into UNSIGNED_FLOAT rtxes.
1239 Copyright (C) 2014 Free Software Foundation, Inc.
1241 Copying and distribution of this file, with or without modification,
1242 are permitted in any medium without royalty provided the copyright
1243 notice and this notice are preserved.