2014-01-15 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / ChangeLog
blobaa7109f7c894b1dafb73045d3a7e265a09056ce9
1 2014-01-15  Richard Biener  <rguenther@suse.de>
3         PR rtl-optimization/59802
4         * lcm.c (compute_available): Use inverted postorder to seed
5         the initial worklist.
7 2014-01-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
9         * config/s390/s390.c (s390_preferred_reload_class): Don't return
10         ADDR_REGS for invalid symrefs in non-PIC code.
12 2014-01-15  Jakub Jelinek  <jakub@redhat.com>
14         PR other/58712
15         * builtins.c (determine_block_size): Initialize *probable_max_size
16         even if len_rtx is CONST_INT.
18 2014-01-14  Andrew Pinski  <apinski@cavium.com>
20         * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
21         * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
22         (cortexa53_tunings): Likewise.
23         (aarch64_sched_issue_rate): New function.
24         (TARGET_SCHED_ISSUE_RATE): Define.
26 2014-01-14  Vladimir Makarov  <vmakarov@redhat.com>
28         * ira-costs.c (find_costs_and_classes): Add missed
29         ira_init_register_move_cost_if_necessary.
31 2014-01-14  Vladimir Makarov  <vmakarov@redhat.com>
33         PR target/59787
34         * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
36 2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
38         PR target/59794
39         * config/i386/i386.c (type_natural_mode): Add a bool parameter
40         to indicate if type is used for function return value.  Warn
41         ABI change if the vector mode isn't available for function
42         return value.
43         (ix86_function_arg_advance): Pass false to type_natural_mode.
44         (ix86_function_arg): Likewise.
45         (ix86_gimplify_va_arg): Likewise.
46         (function_arg_32): Don't warn ABI change.
47         (ix86_function_value): Pass true to type_natural_mode.
48         (ix86_return_in_memory): Likewise.
49         (ix86_struct_value_rtx): Removed.
50         (TARGET_STRUCT_VALUE_RTX): Likewise.
52 2014-01-14  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
54         * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
55         converting a conditional jump into a conditional return.
57 2014-01-14  Richard Biener  <rguenther@suse.de>
59         PR tree-optimization/58921
60         PR tree-optimization/59006
61         * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
62         hoisting invariant stmts.
63         * tree-vect-stmts.c (vectorizable_load): Insert the splat of
64         invariant loads on the preheader edge if possible.
66 2014-01-14  Joey Ye  <joey.ye@arm.com>
68         * doc/plugin.texi (Building GCC plugins): Update to C++.
70 2014-01-14  Kirill Yukhin  <kirill.yukhin@intel.com>
72         * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
73         (_mm_rcp28_round_ss): Ditto.
74         (_mm_rsqrt28_round_sd): Ditto.
75         (_mm_rsqrt28_round_ss): Ditto.
76         (_mm_rcp28_sd): Ditto.
77         (_mm_rcp28_ss): Ditto.
78         (_mm_rsqrt28_sd): Ditto.
79         (_mm_rsqrt28_ss): Ditto.
80         * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
81         * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
82         * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
83         (IX86_BUILTIN_RCP28SD): Ditto.
84         (IX86_BUILTIN_RCP28SS): Ditto.
85         (IX86_BUILTIN_RSQRT28SD): Ditto.
86         (IX86_BUILTIN_RSQRT28SS): Ditto.
87         (bdesc_special_args): Define __builtin_ia32_movntdqa512,
88         __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
89         __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
90         (ix86_expand_special_args_builtin): Expand new FTYPE.
91         * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
92         (srcp14<mode>): Make insn unary.
93         (avx512f_vmscalef<mode><round_name>): Use substed predicate.
94         (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
95         (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
96         (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
97         (avx512er_exp2<mode><mask_name><round_saeonly_name>):
98         Fix rounding: make it SAE only.
99         (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>): Ditto.
100         (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>): Ditto.
101         (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
102         (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
103         (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
104         * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
105         (round_saeonly_mask_scalar_operand4): Ditto.
106         (round_saeonly_mask_scalar_op3): Ditto.
107         (round_saeonly_mask_scalar_op4): Ditto.
109 2014-01-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
111         * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
112         Implement -maltivec=be for vec_insert and vec_extract.
114 2014-01-10  DJ Delorie  <dj@redhat.com>
116         * config/msp430/msp430.md (call_internal): Don't allow memory
117         references with SP as the base register.
118         (call_value_internal): Likewise.
119         * config/msp430/constraints.md (Yc): New.  For memory references
120         that don't use SP as a base register.
122         * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
123         "an integer without a # prefix"
124         * config/msp430/msp430.md (epilogue_helper): Use it.
126 2014-01-13  Jakub Jelinek  <jakub@redhat.com>
128         PR target/59617
129         * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
130         AVX512F gather builtins.
131         * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
132         on gather decls with INTEGER_TYPE masktype.
133         (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
134         directly into the builtin rather than hoisting it before loop.
136         PR tree-optimization/59387
137         * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
138         (scev_const_prop): If folded_casts and type has undefined overflow,
139         use force_gimple_operand instead of force_gimple_operand_gsi and
140         for each added stmt if it is assign with
141         arith_code_with_undefined_signed_overflow, call
142         rewrite_to_defined_overflow.
143         * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
144         gimple-fold.h instead.
145         (arith_code_with_undefined_signed_overflow,
146         rewrite_to_defined_overflow): Moved to ...
147         * gimple-fold.c (arith_code_with_undefined_signed_overflow,
148         rewrite_to_defined_overflow): ... here.  No longer static.
149         Include gimplify-me.h.
150         * gimple-fold.h (arith_code_with_undefined_signed_overflow,
151         rewrite_to_defined_overflow): New prototypes.
153 2014-01-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
155         * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
157 2014-01-13  Eric Botcazou  <ebotcazou@adacore.com>
159         * builtins.c (get_object_alignment_2): Minor tweak.
160         * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
162 2014-01-13  Christian Bruel  <christian.bruel@st.com>
164         * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
165         optimized non constant lengths.
167 2014-01-13  Jakub Jelinek  <jakub@redhat.com>
169         PR libgomp/59194
170         * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
171         load as __atomic_load_N if possible.
173 2014-01-11  David Edelsohn  <dje.gcc@gmail.com>
175         * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
176         target parameter.
177         (rs6000_expand_builtin): Adjust call.
179 2014-01-11  David Edelsohn  <dje.gcc@gmail.com>
181         PR target/58115
182         * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
183         * config/rs6000/rs6000.c: Include target-globals.h.
184         (rs6000_set_current_function): Instead of doing target_reinit
185         unconditionally, use save_target_globals_default_opts and
186         restore_target_globals.
188         * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
189         FPSCR.
190         * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
191         (rs6000_expand_builtin): Handle mffs and mtfsf.
192         (rs6000_init_builtins): Define mffs and mtfsf.
193         * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
194         (rs6000_mffs): New pattern.
195         (rs6000_mtfsf): New pattern.
197 2014-01-11  Bin Cheng  <bin.cheng@arm.com>
199         * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
200         Start narrowing with START.  Apply candidate-use pair
201         and check overall cost in narrowing.
202         (iv_ca_prune): Pass new argument.
204 2014-01-10  Jeff Law  <law@redhat.com>
206         PR middle-end/59743
207         * ree.c (combine_reaching_defs): Ensure the defining statement
208         occurs before the extension when optimizing extensions with
209         different source and destination hard registers.
211 2014-01-10  Jan Hubicka  <jh@suse.cz>
213         PR ipa/58585
214         * ipa-devirt.c (build_type_inheritance_graph): Also add types of vtables
215         into the type inheritance graph.
217 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
219         PR rtl-optimization/59754
220         * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
221         modes in the REGNO != REGNO case.
223 2014-01-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
225         * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
227 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
229         PR tree-optimization/59745
230         * tree-predcom.c (tree_predictive_commoning_loop): Call
231         free_affine_expand_cache if giving up because components is NULL.
233         * target-globals.c (save_target_globals): Allocate < 4KB structs using
234         GC in payload of target_globals struct instead of allocating them on
235         the heap and the larger structs separately using GC.
236         * target-globals.h (struct target_globals): Make regs, hard_regs,
237         reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
238         of GTY((skip)) and change type to void *.
239         (reset_target_globals): Cast loads from those fields to corresponding
240         types.
242 2014-01-10  Steve Ellcey  <sellcey@mips.com>
244         PR plugins/59335
245         * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
246         gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
247         tree-ssanames.h, print-tree.h, varasm.h, and context.h.
249 2014-01-10  Richard Earnshaw  <rearnsha@arm.com>
251         PR target/59744
252         * aarch64-modes.def (CC_Zmode): New flags mode.
253         * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
254         represents an equality.
255         (aarch64_get_condition_code): Handle CC_Zmode.
256         * aarch64.md (compare_neg<mode>): Restrict to equality operations.
258 2014-01-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
260         * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
261         extraction in good case.
263 2014-01-10  Richard Biener  <rguenther@suse.de>
265         PR tree-optimization/59374
266         * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
267         checking after SLP discovery.  Mark stmts not participating
268         in any SLP instance properly.
270 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
272         * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
273         when handling a SET rtx.
275 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
277         * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
278         (cortex-a57): Likewise.
279         (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
281 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
283         * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
284         non-iwmmxt builtins.
286 2014-01-10  Jan Hubicka  <hubicka@ucw.cz>
288         PR ipa/58252
289         PR ipa/59226
290         * ipa-devirt.c record_target_from_binfo): Take as argument
291         stack of binfos and lookup matching one for virtual inheritance.
292         (possible_polymorphic_call_targets_1): Update.
294 2014-01-10  Huacai Chen  <chenhc@lemote.com>
296         * config/mips/driver-native.c (host_detect_local_cpu): Handle new
297         kernel strings for Loongson-2E/2F/3A.
299 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
301         PR middle-end/59670
302         * tree-vect-data-refs.c (vect_analyze_data_refs): Check
303         is_gimple_call before calling gimple_call_internal_p.
305 2014-01-09  Steve Ellcey  <sellcey@mips.com>
307         * Makefile.in (TREE_FLOW_H): Remove.
308         (TREE_SSA_H): Add file names from tree-flow.h.
309         * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
310         * tree.h: Remove tree-flow.h reference.
311         * hash-table.h: Remove tree-flow.h reference.
312         * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
313         reference with tree-ssa-loop.h.
315 2014-01-09  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
317         * doc/invoke.texi: Add -maltivec={be,le} options, and document
318         default element-order behavior for -maltivec.
319         * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
320         * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
321         that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
322         when targeting big endian, at least for now.
323         * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
325 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
327         PR middle-end/47735
328         * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
329         var satisfies use_register_for_decl, just take into account type
330         alignment, rather than decl alignment.
332         PR tree-optimization/59622
333         * gimple-fold.c (gimple_fold_call): Fix a typo in message.  For
334         __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
335         __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
336         Don't devirtualize for inplace at all.  For targets.length () == 1,
337         if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
339 2014-01-09  H.J. Lu  <hongjiu.lu@intel.com>
341         * config/i386/i386.md (cpu): Remove the unused btver1.
343 2014-01-09  H.J. Lu  <hongjiu.lu@intel.com>
345         * gdbasan.in: Put a breakpoint on __sanitizer::Report.
347 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
349         PR target/58115
350         * tree-core.h (struct target_globals): New forward declaration.
351         (struct tree_target_option): Add globals field.
352         * tree.h (TREE_TARGET_GLOBALS): Define.
353         (prepare_target_option_nodes_for_pch): New prototype.
354         * target-globals.h (struct target_globals): Define even if
355         !SWITCHABLE_TARGET.
356         * tree.c (prepare_target_option_node_for_pch,
357         prepare_target_option_nodes_for_pch): New functions.
358         * config/i386/i386.h (SWITCHABLE_TARGET): Define.
359         * config/i386/i386.c: Include target-globals.h.
360         (ix86_set_current_function): Instead of doing target_reinit
361         unconditionally, use save_target_globals_default_opts and
362         restore_target_globals.
364 2014-01-09  Richard Biener  <rguenther@suse.de>
366         PR tree-optimization/59715
367         * tree-cfg.h (split_critical_edges): Declare.
368         * tree-cfg.c (split_critical_edges): Export.
369         * tree-ssa-sink.c (execute_sink_code): Split critical edges.
371 2014-01-09  Max Ostapenko  <m.ostapenko@partner.samsung.com>
373         * cfgexpand.c (expand_stack_vars): Optionally disable 
374         asan stack protection.
375         (expand_used_vars): Likewise.
376         (partition_stack_vars): Likewise.
377         * asan.c (asan_emit_stack_protection): Optionally disable 
378         after return stack usage.
379         (instrument_derefs): Optionally disable memory 
380         access instrumentation.
381         (instrument_builtin_call): Likewise.
382         (instrument_strlen_call): Likewise.
383         (asan_protect_global): Optionally disable 
384         global variables protection.
385         * doc/invoke.texi: Added doc for new options.
386         * params.def: Added new options.
387         * params.h: Likewise.
389 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
391         PR rtl-optimization/59724
392         * ifcvt.c (cond_exec_process_if_block): Don't call
393         flow_find_head_matching_sequence with 0 longest_match.
394         * cfgcleanup.c (flow_find_head_matching_sequence): Count even
395         non-active insns if !stop_after.
396         (try_head_merge_bb): Revert 2014-01-07 changes.
398 2014-01-08  Jeff Law  <law@redhat.com>
400         * ree.c (get_sub_rtx): New function, extracted from...
401         (merge_def_and_ext): Here.
402         (combine_reaching_defs): Use get_sub_rtx.
404 2014-01-08  Eric Botcazou  <ebotcazou@adacore.com>
406         * cgraph.h (varpool_variable_node): Do not choke on null node.
408 2014-01-08  Catherine Moore  <clm@codesourcery.com>
410         * config/mips/mips.md (simple_return): Attempt to use JRC for microMIPS.
411         * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
413 2014-01-08  Richard Sandiford  <rdsandiford@googlemail.com>
415         PR rtl-optimization/59137
416         * reorg.c (steal_delay_list_from_target): Call update_block for
417         elided insns.
418         (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
420 2014-01-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
422         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
423         two duplicate entries.
425 2014-01-08  Richard Sandiford  <rdsandiford@googlemail.com>
427         Revert:
428         2012-10-07  Richard Sandiford  <rdsandiford@googlemail.com>
430         * config/mips/mips.c (mips_truncated_op_cost): New function.
431         (mips_rtx_costs): Adjust test for BADDU.
432         * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
434         2012-10-02  Richard Sandiford  <rdsandiford@googlemail.com>
436         * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
437         (*baddu_si): ...this new pattern.
439 2014-01-08  Jakub Jelinek  <jakub@redhat.com>
441         PR ipa/59722
442         * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
444 2014-01-08  Bernd Edlinger  <bernd.edlinger@hotmail.de>
446         PR middle-end/57748
447         * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
448         inner_reference_p.
449         (expand_expr, expand_normal): Adjust.
450         * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
451         inner_reference_p. Use inner_reference_p to expand inner references.
452         (store_expr): Adjust.
453         * cfgexpand.c (expand_call_stmt): Adjust.
455 2014-01-08  Rong Xu  <xur@google.com> 
457         * gcov-io.c (gcov_var): Move from gcov-io.h.
458         (gcov_position): Ditto.
459         (gcov_is_error): Ditto.
460         (gcov_rewrite): Ditto.
461         * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
462         only part to libgcc/libgcov.h.
464 2014-01-08  Marek Polacek  <polacek@redhat.com>
466         PR middle-end/59669
467         * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
469 2014-01-08  Marek Polacek  <polacek@redhat.com>
471         PR sanitizer/59667
472         * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
474 2014-01-08  Jakub Jelinek  <jakub@redhat.com>
476         PR rtl-optimization/59649
477         * stor-layout.c (get_mode_bounds): For BImode return
478         0 and STORE_FLAG_VALUE.
480 2014-01-08  Richard Biener  <rguenther@suse.de>
482         PR middle-end/59630
483         * gimple.h (is_gimple_builtin_call): Remove.
484         (gimple_builtin_call_types_compatible_p): New.
485         (gimple_call_builtin_p): New overload.
486         * gimple.c (is_gimple_builtin_call): Remove.
487         (validate_call): Rename to ...
488         (gimple_builtin_call_types_compatible_p): ... this and export.  Also
489         check return types.
490         (validate_type): New static function.
491         (gimple_call_builtin_p): New overload and adjust.
492         * gimple-fold.c (gimple_fold_builtin): Fold the return value.
493         (gimple_fold_call): Likewise.  Use gimple_call_builtin_p.
494         (gimple_fold_stmt_to_constant_1): Likewise.
495         * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
497 2014-01-08  Richard Biener  <rguenther@suse.de>
499         PR middle-end/59471
500         * gimplify.c (gimplify_expr): Gimplify register-register type
501         VIEW_CONVERT_EXPRs to separate stmts.
503 2014-01-07  Jeff Law  <law@redhat.com>
505         PR middle-end/53623
506         * ree.c (combine_set_extension): Handle case where source
507         and destination registers in an extension insn are different.
508         (combine_reaching_defs): Allow source and destination
509         registers in extension to be different under limited
510         circumstances.
511         (add_removable_extension): Remove restriction that the
512         source and destination registers in the extension are the
513         same.
514         (find_and_remove_re): Emit a copy from the extension's
515         destination to its source after the defining insn if
516         the source and destination registers are different.
518         PR middle-end/59285
519         * ifcvt.c (merge_if_block): If we are merging a block with more than
520         one successor with a block with no successors, remove any BARRIER
521         after the second block.
523 2014-01-07  Dan Xio Qiang <ziyan01@163.com>
525         * hw-doloop.c (reorg_loops): Release the bitmap obstack.
527 2014-01-07  John David Anglin  <danglin@gcc.gnu.org>
529         PR target/59652
530         * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
531         for 14-bit register offsets when INT14_OK_STRICT is false.
533 2014-01-07  Roland Stigge  <stigge@antcom.de>
534             Michael Meissner  <meissner@linux.vnet.ibm.com>
536         PR 57386/target
537         * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
538         Only check TFmode for SPE constants.  Don't check TImode or
539         TDmode.
541 2014-01-07  James Greenhalgh  <james.greenhalgh@arm.com>
543         * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
544         -mcpu.
546 2014-01-07  Yufeng Zhang  <yufeng.zhang@arm.com>
548         * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
549         with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
550         rtx is const0_rtx or not.
552 2014-01-07  Richard Sandiford  <rdsandiford@googlemail.com>
554         PR target/58115
555         * target-globals.c (save_target_globals): Remove this_fn_optab
556         handling.
557         * toplev.c: Include optabs.h.
558         (target_reinit): Temporarily restore the global options if another
559         set of options are in force.
561 2014-01-07  Jakub Jelinek  <jakub@redhat.com>
563         PR rtl-optimization/58668
564         * cfgcleanup.c (flow_find_cross_jump): Don't count
565         any jumps if dir_p is NULL.  Remove p1 variable, use active_insn_p
566         to determine what is counted.
567         (flow_find_head_matching_sequence): Use active_insn_p to determine
568         what is counted.
569         (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
570         counting change.
571         * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
572         determine what is counted.
574         PR tree-optimization/59643
575         * tree-predcom.c (split_data_refs_to_components): If one dr is
576         read and one write, determine_offset fails and the write isn't
577         in the bad component, just put the read into the bad component.
579 2014-01-07  Mike Stump  <mikestump@comcast.net>
580             Jakub Jelinek  <jakub@redhat.com>
582         PR pch/59436
583         * tree-core.h (struct tree_optimization_option): Change optabs
584         type from unsigned char * to void *.
585         * optabs.c (init_tree_optimization_optabs): Adjust
586         TREE_OPTIMIZATION_OPTABS initialization.
588 2014-01-06  Jakub Jelinek  <jakub@redhat.com>
590         PR target/59644
591         * config/i386/i386.h (struct machine_function): Add
592         no_drap_save_restore field.
593         * config/i386/i386.c (ix86_save_reg): Use
594         !cfun->machine->no_drap_save_restore instead of
595         crtl->stack_realign_needed.
596         (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
597         this function clears frame_pointer_needed.  Set
598         cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
599         and DRAP reg is needed.
601 2014-01-06  Marek Polacek  <polacek@redhat.com>
603         PR c/57773
604         * doc/implement-c.texi: Mention that other integer types are
605         permitted as bit-field types in strictly conforming mode.
607 2014-01-06  Felix Yang  <fei.yang0953@gmail.com>
609         * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
610         is newly allocated.
612 2014-01-06  Richard Earnshaw  <rearnsha@arm.com>
614         * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
616 2014-01-06  Martin Jambor  <mjambor@suse.cz>
618         PR ipa/59008
619         * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
620         to int.
621         * ipa-prop.c (ipa_print_node_params): Fix indentation.
623 2014-01-06  Eric Botcazou  <ebotcazou@adacore.com>
625         PR debug/59350
626         PR debug/59510
627         * var-tracking.c (add_stores): Preserve the value of the source even if
628         we don't record the store.
630 2014-01-06  Terry Guo  <terry.guo@arm.com>
632         * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
634 2014-01-05  Iain Sandoe  <iain@codesourcery.com>
636         PR bootstrap/59541
637         * config/darwin.c (darwin_function_section): Adjust return values to
638         correspond to optimisation changes made in r206070.
640 2014-01-05  Uros Bizjak  <ubizjak@gmail.com>
642         * config/i386/i386.c (ix86_data_alignment): Calculate max_align
643         from prefetch_block tune setting.
644         (nocona_cost): Correct size of prefetch block to 64.
646 2014-01-04  Eric Botcazou  <ebotcazou@adacore.com>
648         * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
649         (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
650         used to save the static chain register in the computation of the offset
651         from which the FP registers need to be restored.
653 2014-01-04  Jakub Jelinek  <jakub@redhat.com>
655         PR tree-optimization/59519
656         * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
657         ICE if get_current_def (current_new_name) is already non-NULL, as long
658         as it is a phi result of some other phi in *new_exit_bb that has
659         the same argument.
661         * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
662         or vmovdqu* for misaligned_operand.
663         (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
664         <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
665         * config/i386/i386.c (ix86_expand_special_args_builtin): Set
666         aligned_mem for AVX512F masked aligned load and store builtins and for
667         non-temporal moves.
669 2014-01-03  Bingfeng Mei  <bmei@broadcom.com>
671         PR tree-optimization/59651
672         * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
673         Address range for negative step should be added by TYPE_SIZE_UNIT.
675 2014-01-03  Andreas Schwab  <schwab@linux-m68k.org>
677         * config/m68k/m68k.c (handle_move_double): Handle pushes with
678         overlapping registers also for registers other than the stack
679         pointer.
681 2014-01-03  Marek Polacek  <polacek@redhat.com>
683         PR other/59661
684         * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
685         __builtin_FILE.
687 2014-01-03  Jakub Jelinek  <jakub@redhat.com>
689         PR target/59625
690         * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
691         asm goto as jump.
693         * config/i386/i386.md (MODE_SIZE): New mode attribute.
694         (push splitter): Use <P:MODE_SIZE> instead of
695         GET_MODE_SIZE (<P:MODE>mode).
696         (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
697         (mov -1, reg peephole2): Likewise.
698         * config/i386/sse.md (*mov<mode>_internal,
699         <sse>_storeu<ssemodesuffix><avxsizesuffix>,
700         <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
701         *<code><mode>3, *andnot<mode>3<mask_name>,
702         <mask_codefor><code><mode>3<mask_name>): Likewise.
703         * config/i386/subst.md (mask_mode512bit_condition,
704         sd_mask_mode512bit_condition): Likewise.
706 2014-01-02  Xinliang David Li  <davidxl@google.com>
708         PR tree-optimization/59303
709         * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
710         (dump_predicates): Better output format.
711         (pred_equal_p): New function.
712         (is_neq_relop_p): Ditto.
713         (is_neq_zero_form_p): Ditto.
714         (pred_expr_equal_p): Ditto.
715         (pred_neg_p): Ditto.
716         (simplify_pred): Ditto.
717         (simplify_preds_2): Ditto.
718         (simplify_preds_3): Ditto.
719         (simplify_preds_4): Ditto.
720         (simplify_preds): Ditto.
721         (push_pred): Ditto.
722         (push_to_worklist): Ditto.
723         (get_pred_info_from_cmp): Ditto.
724         (is_degenerated_phi): Ditto.
725         (normalize_one_pred_1): Ditto.
726         (normalize_one_pred): Ditto.
727         (normalize_one_pred_chain): Ditto.
728         (normalize_preds): Ditto.
729         (normalize_cond_1): Remove function.
730         (normalize_cond): Ditto.
731         (is_gcond_subset_of): Ditto.
732         (is_subset_of_any): Ditto.
733         (is_or_set_subset_of): Ditto.
734         (is_and_set_subset_of): Ditto.
735         (is_norm_cond_subset_of): Ditto.
736         (pred_chain_length_cmp): Ditto.
737         (convert_control_dep_chain_into_preds): Type change.
738         (find_predicates): Ditto.
739         (find_def_preds): Ditto.
740         (destroy_predicates_vecs): Ditto.
741         (find_matching_predicates_in_rest_chains): Ditto.
742         (use_pred_not_overlap_with_undef_path_pred): Ditto.
743         (is_pred_expr_subset): Ditto.
744         (is_pred_chain_subset_of): Ditto.
745         (is_included_in): Ditto.
746         (is_superset_of): Ditto.
748 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
750         Update copyright years.
752 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
754         * common/config/arc/arc-common.c, config/arc/arc-modes.def,
755         config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
756         config/arc/arc.md, config/arc/arc.opt,
757         config/arm/arm_neon_builtins.def, config/arm/crypto.def,
758         config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
759         config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
760         config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
761         config/linux-protos.h, config/linux.c, config/winnt-c.c,
762         diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
763         vtable-verify.c, vtable-verify.h: Use the standard form for the
764         copyright notice.
766 2014-01-02  Tobias Burnus  <burnus@net-b.de>
768         * gcc.c (process_command): Update copyright notice dates.
769         * gcov-dump.c: Ditto.
770         * gcov.c: Ditto.
771         * doc/cpp.texi: Bump @copying's copyright year.
772         * doc/cppinternals.texi: Ditto.
773         * doc/gcc.texi: Ditto.
774         * doc/gccint.texi: Ditto.
775         * doc/gcov.texi: Ditto.
776         * doc/install.texi: Ditto.
777         * doc/invoke.texi: Ditto.
779 2014-01-01  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
781         * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
783 2014-01-01  Jakub Jelinek  <jakub@redhat.com>
785         * config/i386/sse.md (*mov<mode>_internal): Guard
786         EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
788         PR rtl-optimization/59647
789         * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
790         new_rtx into UNSIGNED_FLOAT rtxes.
792 Copyright (C) 2014 Free Software Foundation, Inc.
794 Copying and distribution of this file, with or without modification,
795 are permitted in any medium without royalty provided the copyright
796 notice and this notice are preserved.