* config/aarch64/arm_neon.h (vzip1_f32, vzip1_p8, vzip1_p16, vzip1_s8,
[official-gcc.git] / gcc / ChangeLog
blob7b4bb549d8ab58c81cd2468aec2e765492f01a7a
1 2014-04-29  Alan Lawrence  <alan.lawrence@arm.com>
3         * config/aarch64/arm_neon.h (vzip1_f32, vzip1_p8, vzip1_p16, vzip1_s8,
4         vzip1_s16, vzip1_s32, vzip1_u8, vzip1_u16, vzip1_u32, vzip1q_f32,
5         vzip1q_f64, vzip1q_p8, vzip1q_p16, vzip1q_s8, vzip1q_s16, vzip1q_s32,
6         vzip1q_s64, vzip1q_u8, vzip1q_u16, vzip1q_u32, vzip1q_u64, vzip2_f32,
7         vzip2_p8, vzip2_p16, vzip2_s8, vzip2_s16, vzip2_s32, vzip2_u8,
8         vzip2_u16, vzip2_u32, vzip2q_f32, vzip2q_f64, vzip2q_p8, vzip2q_p16,
9         vzip2q_s8, vzip2q_s16, vzip2q_s32, vzip2q_s64, vzip2q_u8, vzip2q_u16,
10         vzip2q_u32, vzip2q_u64): Replace inline __asm__ with __builtin_shuffle.
12 2014-04-29  David Malcolm  <dmalcolm@redhat.com>
14         * tree-cfg.c (dump_function_to_file): Dump the return type of
15         functions, in a line to itself before the function body, mimicking
16         the layout of a C function.
18 2014-04-29  Jakub Jelinek  <jakub@redhat.com>
20         PR tree-optimization/60971
21         * tree-tailcall.c (process_assignment): Reject conversions which
22         reduce precision.
24 2014-04-29  James Greenhalgh  <james.greenhalgh@arm.com>
26         * calls.c (initialize_argument_information): Always treat
27         PUSH_ARGS_REVERSED as 1, simplify code accordingly.
28         (expand_call): Likewise.
29         (emit_library_call_calue_1): Likewise.
30         * expr.c (PUSH_ARGS_REVERSED): Do not define.
31         (emit_push_insn): Always treat PUSH_ARGS_REVERSED as 1, simplify
32         code accordingly.
34 2014-04-29  Nick Clifton  <nickc@redhat.com>
36         * config/msp430/msp430.md (umulsidi): Fix typo.
37         (mulhisi3): Enable even inside interrupt handlers.
38         * config/msp430/msp430.c (msp430_print_operand): %O: Allow for the
39         bigger return address pushed in large mode.
41 2014-04-29  Nick Clifton  <nickc@redhat.com>
43         * config/arc/arc.c (arc_select_cc_mode): Fix parentheses.
44         (arc_init_reg_tables): Use a machine_mode enum to iterate over
45         available modes.
46         * config/m32r/m32r.c (init_reg_tables): Likewise.
47         * config/m32c/m32c.c (m32c_illegal_subreg_p): Use a machine_mode
48         enum to hold the modes.
50 2014-04-29  Richard Biener  <rguenther@suse.de>
52         * dominance.c (free_dominance_info): Add overload with
53         function parameter.
54         (dom_info_state): Likewise.
55         (dom_info_available_p): Likewise.
56         * basic-block.h (free_dominance_info, dom_info_state,
57         dom_info_available_p): Declare overloads.
58         * passes.c (execute_function_todo): Verify that verifiers
59         don't change dominator info state.  Drop dominator info
60         for IPA pass invocations.
61         * cgraph.c (release_function_body): Restore asserts that
62         dominator information is released.
64 2014-04-29  Patrick Palka  <patrick@parcs.ath.cx>
66         * doc/invoke.texi: Fix typo.
67         * tree-vrp.c: Fix typos.
68         * gimple.c (infer_nonnull_range): Reorder operands of an &&
69         condition.
71 2014-04-29  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
73         * config/aarch64/aarch64.md (mov<mode>cc): New for GPF.
75 2014-04-28  James Greenhalgh  <james.greenhalgh@arm.com>
77         * config/aarch64/aarch64-builtins.c
78         (aarch64_types_storestruct_lane_qualifiers): New.
79         (TYPES_STORESTRUCT_LANE): Likewise.
80         * config/aarch64/aarch64-simd-builtins.def (st2_lane): New.
81         (st3_lane): Likewise.
82         (st4_lane): Likewise.
83         * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): New.
84         (vec_store_lanesci_lane<mode>): Likewise.
85         (vec_store_lanesxi_lane<mode>): Likewise.
86         (aarch64_st2_lane<VQ:mode>): Likewise.
87         (aarch64_st3_lane<VQ:mode>): Likewise.
88         (aarch64_st4_lane<VQ:mode>): Likewise.
89         * config/aarch64/aarch64.md (unspec): Add UNSPEC_ST{2,3,4}_LANE.
90         * config/aarch64/arm_neon.h
91         (__ST2_LANE_FUNC): Rewrite using builtins, update use points to
92         use new macro arguments.
93         (__ST3_LANE_FUNC): Likewise.
94         (__ST4_LANE_FUNC): Likewise.
95         * config/aarch64/iterators.md (V_TWO_ELEM): New.
96         (V_THREE_ELEM): Likewise.
97         (V_FOUR_ELEM): Likewise.
99 2014-04-28  David Malcolm  <dmalcolm@redhat.com>
101         * doc/gimple.texi: Replace the description of the now-defunct
102         union gimple_statement_d with a diagram showing the
103         gimple_statement_base class hierarchy and its relationships to
104         the GSS_ and GIMPLE_ enums.
106 2014-04-28  James Greenhalgh  <james.greenhalgh@arm.com>
108         * config/aarch64/aarch64-protos.h (aarch64_modes_tieable_p): New.
109         * config/aarch64/aarch64.c
110         (aarch64_cannot_change_mode_class): Weaken conditions.
111         (aarch64_modes_tieable_p): New.
112         * config/aarch64/aarch64.h (MODES_TIEABLE_P): Use it.
114 2014-04-28  Pat Haugen  <pthaugen@us.ibm.com>
116         * config/rs6000/sync.md (AINT mode_iterator): Move definition.
117         (loadsync_<mode>): Change mode.
118         (load_quadpti, store_quadpti): New.
119         (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
120         * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
122 2014-04-28  Martin Jambor  <mjambor@suse.cz>
124         * tree-sra.c (sra_modify_expr): Generate new memory accesses with
125         same alias type as the original statement.
126         (subreplacement_assignment_data): New type.
127         (handle_unscalarized_data_in_subtree): New type of parameter,
128         generate new memory accesses with same alias type as the original
129         statement.
130         (load_assign_lhs_subreplacements): Likewise.
131         (sra_modify_constructor_assign): Generate new memory accesses with
132         same alias type as the original statement.
134 2014-04-28  Richard Biener  <rguenther@suse.de>
136         * tree-pass.h (TODO_verify_il): Define.
137         (TODO_verify_all): Complete properly.
138         * passes.c (execute_function_todo): Move existing loop-closed
139         SSA verification under TODO_verify_il.
140         (execute_one_pass): Trigger TODO_verify_il at todo-after time.
141         * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps):
142         Fix tree sharing issue.
144 2014-04-28  Richard Biener  <rguenther@suse.de>
146         PR middle-end/60092
147         * builtins.def (DEF_C11_BUILTIN): Add.
148         (BUILT_IN_ALIGNED_ALLOC): Likewise.
149         * coretypes.h (enum function_class): Add function_c11_misc.
150         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
151         BUILT_IN_ALIGNED_ALLOC like BUILT_IN_MALLOC.
152         (call_may_clobber_ref_p_1): Likewise.
153         * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
154         (mark_all_reaching_defs_necessary_1): Likewise.
155         (propagate_necessity): Likewise.
156         (eliminate_unnecessary_stmts): Likewise.
157         * tree-ssa-ccp.c (evaluate_stmt): Handle BUILT_IN_ALIGNED_ALLOC.
159 2014-04-28  Richard Biener  <rguenther@suse.de>
161         * tree-vrp.c (vrp_var_may_overflow): Remove.
162         (vrp_visit_phi_node): Rather than bumping to +-INF possibly
163         with overflow immediately bump to one before that value and
164         let iteration figure out overflow status.
166 2014-04-28  Richard Biener  <rguenther@suse.de>
168         * configure.ac: Do valgrind header checks unconditionally.
169         Add --enable-valgrind-annotations.
170         * system.h: Guard valgrind header inclusion with
171         ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING.
172         * alloc-pool.c (pool_alloc, pool_free): Use
173         ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING
174         to guard possibly dead code.
175         * config.in: Regenerated.
176         * configure: Likewise.
178 2014-04-28  Jeff Law  <law@redhat.com>
180         PR tree-optimization/60902
181         * tree-ssa-threadedge.c
182         (record_temporary_equivalences_from_stmts_at_dest): Only iterate
183         over real defs when invalidating outputs from statements that do not
184         produce useful outputs for threading.
186 2014-04-28  Richard Biener  <rguenther@suse.de>
188         PR tree-optimization/60979
189         * graphite-scop-detection.c (scopdet_basic_block_info): Reject
190         SCOPs that end in a block with a successor with abnormal
191         predecessors.
193 2014-04-28  Richard Biener  <rguenther@suse.de>
195         * tree-pass.h (execute_pass_list): Adjust prototype.
196         * passes.c (pass_manager::execute_early_local_passes):
197         Adjust.
198         (do_per_function): Change callback signature, push all actual
199         work to the callbals.
200         (do_per_function_toporder): Likewise.
201         (execute_function_dump): Adjust.
202         (execute_function_todo): Likewise.
203         (clear_last_verified): Likewise.
204         (verify_curr_properties): Likewise.
205         (update_properties_after_pass): Likewise.
206         (execute_pass_list_1): Split out from ...
207         (execute_pass_list): ... here.  Adjust.
208         (execute_ipa_pass_list): Likewise.
209         * cgraphunit.c (cgraph_add_new_function): Adjust.
210         (analyze_function): Likewise.
211         (expand_function): Likewise.
212         * cgraph.c (release_function_body): Free dominance info
213         here instead of asserting it was magically freed elsewhere.
215 2014-04-28  Eric Botcazou  <ebotcazou@adacore.com>
217         * configure.ac: Tweak GAS check for LEON instructions on SPARC.
218         * configure: Regenerate.
219         * config/sparc/sparc.opt (muser-mode): New option.
220         * config/sparc/sync.md (atomic_compare_and_swap<mode>_1): Do not enable
221         for LEON3.
222         (atomic_compare_and_swap_leon3_1): New instruction for LEON3.
223         * doc/invoke.texi (SPARC options): Document -muser-mode.
225 2014-04-27  Richard Sandiford  <rdsandiford@googlemail.com>
227         * cselib.c (find_slot_memmode): Delete.
228         (cselib_hasher): Change compare_type to a struct.
229         (cselib_hasher::equal): Update accordingly.  Don't expect wrapped
230         constants.
231         (preserve_constants_and_equivs): Adjust for new compare_type.
232         (cselib_find_slot): Likewise.  Take the mode of the rtx as argument.
233         (wrap_constant): Delete.
234         (cselib_lookup_mem, cselib_lookup_1): Update calls to cselib_find_slot.
236 2014-04-26  Markus Trippelsdorf  <markus@trippelsdorf.de>
238         * doc/install.texi (Building with profile feedback): Remove
239         outdated sentence.
241 2014-04-26  Tom de Vries  <tom@codesourcery.com>
243         * config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds
244         array accesses.
246 2014-04-25  Cary Coutant  <ccoutant@google.com>
248         PR debug/60929
249         * dwarf2out.c (should_move_die_to_comdat): A type definition
250         can contain a subprogram definition, but don't move it to a
251         comdat unit.
252         (clone_as_declaration): Copy DW_AT_abstract_origin attribute.
253         (generate_skeleton_bottom_up): Remove DW_AT_object_pointer attribute
254         from original DIE.
255         (clone_tree_hash): Rename to...
256         (clone_tree_partial): ...this; change callers.  Copy
257         DW_TAG_subprogram DIEs as declarations.
258         (copy_decls_walk): Don't copy children of a declaration into a
259         type unit.
261 2014-04-25  H.J. Lu  <hongjiu.lu@intel.com>
263         PR target/60969
264         * config/i386/i386.md (*movsf_internal): Set MODE to SI for
265         alternative 12.
267 2014-04-25  Jiong Wang  <jiong.wang@arm.com>
269         * config/arm/predicates.md (call_insn_operand): Add long_call check.
270         * config/arm/arm.md (sibcall, sibcall_value): Force the address to
271         reg for long_call.
272         * config/arm/arm.c (arm_function_ok_for_sibcall): Remove long_call
273         restriction.
275 2014-04-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
277         * config/arm/arm.c (arm_cortex_a8_tune): Initialise
278         T16-related fields.
280 2014-04-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
282         PR tree-optimization/60930
283         * gimple-ssa-strength-reduction.c (create_mul_imm_cand):  Reject
284         creating a multiply candidate by folding two constant
285         multiplicands when the result overflows.
287 2014-04-25  Jakub Jelinek  <jakub@redhat.com>
289         PR tree-optimization/60960
290         * tree-vect-generic.c (expand_vector_operation): Only call
291         expand_vector_divmod if type's mode satisfies VECTOR_MODE_P.
293 2014-04-25  Tom de Vries  <tom@codesourcery.com>
295         * expr.c (clobber_reg_mode): New function.
296         * expr.h (clobber_reg): New function.
298 2014-04-25  Tom de Vries  <tom@codesourcery.com>
300         * rtlanal.c (find_all_hard_reg_sets): Note INSN_CALL_FUNCTION_USAGE
301         clobbers.
303 2014-04-25  Radovan Obradovic  <robradovic@mips.com>
304             Tom de Vries  <tom@codesourcery.com>
306         * rtlanal.c (find_all_hard_reg_sets): Add bool implicit parameter and
307         handle.
308         * rtl.h (find_all_hard_reg_sets): Add bool parameter.
309         * haifa-sched.c (recompute_todo_spec, check_clobbered_conditions): Add
310         new argument to find_all_hard_reg_sets call.
312 2014-04-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
314         * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p):
315         Use HOST_WIDE_INT_C for mask literal.
316         (aarch_rev16_shleft_mask_imm_p): Likewise.
318 2014-04-25  Eric Botcazou  <ebotcazou@adacore.com>
320         PR target/60941
321         * config/sparc/sparc.md (ashlsi3_extend): Delete.
323 2014-04-25  Marc Glisse  <marc.glisse@inria.fr>
325         PR preprocessor/56540
326         * config/i386/i386-c.c (ix86_target_macros): Define
327         __SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__.
329 2014-04-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
331         * configure.ac (tga_func): Remove.
332         (LIB_TLS_SPEC): Remove.
333         * configure: Regenerate.
334         * config.in: Regenerate.
335         * config/sol2.h (LIB_SPEC): Don't use LIB_TLS_SPEC.
337 2014-04-25  Richard Biener  <rguenther@suse.de>
339         PR ipa/60912
340         * tree-ssa-structalias.c (ipa_pta_execute): Compute direct
341         call stmt use/clobber sets during stmt walk instead of
342         walking the possibly incomplete set of caller edges.
344 2014-04-25  Richard Biener  <rguenther@suse.de>
346         PR ipa/60911
347         * passes.c (apply_ipa_transforms): Inline into only caller ...
348         (execute_one_pass): ... here.  Properly bring in function
349         bodies for nodes we want to apply IPA transforms to.
351 2014-04-24  Cong Hou  <congh@google.com>
353         PR tree-optimization/60896
354         * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Pick up
355         all statements in PATTERN_DEF_SEQ in recognized widen-mult pattern.
356         (vect_mark_pattern_stmts): Set the def type of all statements in
357         PATTERN_DEF_SEQ as vect_internal_def.
359 2014-04-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
361         * doc/extend.texi (PowerPC Built-in Functions): Document new
362         powerpc extended divide, bcd, pack/unpack 128-bit, builtin
363         functions.
364         (PowerPC AltiVec/VSX Built-in Functions): Likewise.
366         * config/rs6000/predicates.md (const_0_to_3_operand): New
367         predicate to match 0..3 integer constants.
369         * config/rs6000/rs6000-builtin.def (BU_DFP_MISC_1): Add new macros
370         to support adding miscellaneous builtin functions.
371         (BU_DFP_MISC_2): Likewise.
372         (BU_P7_MISC_1): Likewise.
373         (BU_P7_MISC_2): Likewise.
374         (BU_P8V_MISC_3): Likewise.
375         (BU_MISC_1): Likewise.
376         (BU_MISC_2): Likewise.
377         (DIVWE): Add extended divide builtin functions.
378         (DIVWEO): Likewise.
379         (DIVWEU): Likewise.
380         (DIVWEUO): Likewise.
381         (DIVDE): Likewise.
382         (DIVDEO): Likewise.
383         (DIVDEU): Likewise.
384         (DIVDEUO): Likewise.
385         (DXEX): Add decimal floating-point builtin functions.
386         (DXEXQ): Likewise.
387         (DDEDPD): Likewise.
388         (DDEDPDQ): Likewise.
389         (DENBCD): Likewise.
390         (DENBCDQ): Likewise.
391         (DIEX): Likewise.
392         (DIEXQ): Likewise.
393         (DSCLI): Likewise.
394         (DSCLIQ): Likewise.
395         (DSCRI): Likewise.
396         (DSCRIQ): Likewise.
397         (CDTBCD): Add new BCD builtin functions.
398         (CBCDTD): Likewise.
399         (ADDG6S): Likewise.
400         (BCDADD): Likewise.
401         (BCDADD_LT): Likewise.
402         (BCDADD_EQ): Likewise.
403         (BCDADD_GT): Likewise.
404         (BCDADD_OV): Likewise.
405         (BCDSUB): Likewise.
406         (BCDSUB_LT): Likewise.
407         (BCDSUB_EQ): Likewise.
408         (BCDSUB_GT): Likewise.
409         (BCDSUB_OV): Likewise.
410         (PACK_TD): Add new pack/unpack 128-bit type builtin functions.
411         (UNPACK_TD): Likewise.
412         (PACK_TF): Likewise.
413         (UNPACK_TF): Likewise.
414         (UNPACK_TF_0): Likewise.
415         (UNPACK_TF_1): Likewise.
416         (PACK_V1TI): Likewise.
417         (UNPACK_V1TI): Likewise.
419         * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
420         support for decimal floating point builtin functions.
421         (rs6000_expand_ternop_builtin): Add checks for the new builtin
422         functions that take constant arguments.
423         (rs6000_invalid_builtin): Add decimal floating point builtin
424         support.
425         (rs6000_init_builtins): Setup long double, _Decimal64, and
426         _Decimal128 types for new builtin functions.
427         (builtin_function_type): Set the unsigned flags appropriately for
428         the new builtin functions.
429         (rs6000_opt_masks): Add support for decimal floating point builtin
430         functions.
432         * config/rs6000/rs6000.h (RS6000_BTM_DFP): Add support for decimal
433         floating point builtin functions.
434         (RS6000_BTM_COMMON): Likewise.
435         (RS6000_BTI_long_double): Likewise.
436         (RS6000_BTI_dfloat64): Likewise.
437         (RS6000_BTI_dfloat128): Likewise.
438         (long_double_type_internal_node): Likewise.
439         (dfloat64_type_internal_node): Likewise.
440         (dfloat128_type_internal_node): Likewise.
442         * config/rs6000/altivec.h (UNSPEC_BCDADD): Add support for ISA
443         2.07 bcd arithmetic instructions.
444         (UNSPEC_BCDSUB): Likewise.
445         (UNSPEC_BCD_OVERFLOW): Likewise.
446         (UNSPEC_BCD_ADD_SUB): Likewise.
447         (bcd_add_sub): Likewise.
448         (BCD_TEST): Likewise.
449         (bcd<bcd_add_sub>): Likewise.
450         (bcd<bcd_add_sub>_test): Likewise.
451         (bcd<bcd_add_sub>_test2): Likewise.
452         (bcd<bcd_add_sub>_<code>): Likewise.
453         (peephole2 for combined bcd ops): Likewise.
455         * config/rs6000/dfp.md (UNSPEC_DDEDPD): Add support for new
456         decimal floating point builtin functions.
457         (UNSPEC_DENBCD): Likewise.
458         (UNSPEC_DXEX): Likewise.
459         (UNSPEC_DIEX): Likewise.
460         (UNSPEC_DSCLI): Likewise.
461         (UNSPEC_DSCRI): Likewise.
462         (D64_D128): Likewise.
463         (dfp_suffix): Likewise.
464         (dfp_ddedpd_<mode>): Likewise.
465         (dfp_denbcd_<mode>): Likewise.
466         (dfp_dxex_<mode>): Likewise.
467         (dfp_diex_<mode>): Likewise.
468         (dfp_dscli_<mode>): Likewise.
469         (dfp_dscri_<mode>): Likewise.
471         * config/rs6000/rs6000.md (UNSPEC_ADDG6S): Add support for new BCD
472         builtin functions.
473         (UNSPEC_CDTBCD): Likewise.
474         (UNSPEC_CBCDTD): Likewise.
475         (UNSPEC_DIVE): Add support for new extended divide builtin
476         functions.
477         (UNSPEC_DIVEO): Likewise.
478         (UNSPEC_DIVEU): Likewise.
479         (UNSPEC_DIVEUO): Likewise.
480         (UNSPEC_UNPACK_128BIT): Add support for new builtin functions to
481         pack/unpack 128-bit types.
482         (UNSPEC_PACK_128BIT): Likewise.
483         (idiv_ldiv): New mode attribute to set the 32/64-bit divide type.
484         (udiv<mode>3): Use idiv_ldiv mode attribute.
485         (div<mode>3): Likewise.
486         (addg6s): Add new BCD builtin functions.
487         (cdtbcd): Likewise.
488         (cbcdtd): Likewise.
489         (UNSPEC_DIV_EXTEND): Add support for new extended divide
490         instructions.
491         (div_extend): Likewise.
492         (div<div_extend>_<mode>"): Likewise.
493         (FP128_64): Add support for new builtin functions to pack/unpack
494         128-bit types.
495         (unpack<mode>): Likewise.
496         (unpacktf_0): Likewise.
497         (unpacktf_1): Likewise.
498         (unpack<mode>_dm): Likewise.
499         (unpack<mode>_nodm): Likewise.
500         (pack<mode>): Likewise.
501         (unpackv1ti): Likewise.
502         (packv1ti): Likewise.
504 2014-04-24  Vishnu K S  <Vishnu.k_s@atmel.com>
506         * gcc/config/avr/avr.c: Add comment on why -fdelete-null-pointer-checks
507         is disabled.
509 2014-04-24  Jakub Jelinek  <jakub@redhat.com>
511         * tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
512         * gimplify.c (omp_is_private): Change last argument's type to int.
513         Only diagnose lastprivate if the simd argument is 1, only diagnose
514         linear if the simd argument is 2.
515         (gimplify_omp_for): Adjust omp_is_private callers.  When adding
516         lastprivate or private, add the clause to OMP_FOR_CLAUSES.  Pass
517         GOVD_EXPLICIT to omp_add_variable.  For simd with collapse == 1
518         create OMP_CLAUSE_LINEAR rather than OMP_CLAUSE_PRIVATE for var.
519         If var != decl and decl is in OMP_CLAUSE_LINEAR, gimplify decl
520         increment to OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
521         * omp-low.c (scan_sharing_clauses, lower_lastprivate_clauses): Handle
522         OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
523         * tree-nested.c (convert_nonlocal_omp_clauses,
524         convert_local_omp_clauses): Handle OMP_CLAUSE_LINEAR.
526 2014-04-24  Segher Boessenkool  <segher@kernel.crashing.org>
528         PR target/60822
529         * config/m68k/m68k.md (extendplussidi): Don't allow memory for
530         operand 1.
532 2014-04-24  Dimitris Papavasiliou  <dpapavas@gmail.com>
534         * flag-types.h (enum ivar_visibility): Add.
536 2014-04-24  Trevor Saunders  <tsaunders@mozilla.com>
538         * config/sh/sh_treg_combine.c (sh_treg_combine::execute): Take
539         function * argument.
541 2014-04-24  Alan Lawrence  <alan.lawrence@arm.com>
543         * config/aarch64/aarch64.c (aarch64_evpc_tbl): Enable for bigendian.
545 2014-04-24  Radovan Obradovic  <robradovic@mips.com>
546             Tom de Vries  <tom@codesourcery.com>
548         * reg-notes.def (REG_NOTE (CALL_DECL)): New reg-note REG_CALL_DECL.
549         * calls.c (expand_call, emit_library_call_value_1): Add REG_CALL_DECL
550         reg-note.
551         * combine.c (distribute_notes): Handle REG_CALL_DECL reg-note.
552         * emit-rtl.c (try_split): Same.
554 2014-04-24  Radovan Obradovic  <robradovic@mips.com>
555             Tom de Vries  <tom@codesourcery.com>
557         * common.opt (fuse-caller-save): New option.
559 2014-04-24  Tejas Belagod  <tejas.belagod@arm.com>
561         * config/aarch64/aarch64.c (aarch64_evpc_tbl): Reverse order of elements
562         for big-endian.
564 2014-04-24  Richard Biener  <rguenther@suse.de>
566         * expr.c (expand_expr_real_1): Avoid gimple_assign_rhs_to_tree
567         during TER and instead use the sepops interface for expanding
568         non-GIMPLE_SINGLE_RHS.
570 2014-04-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
572         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Only redefine
573         if not HAVE_AS_IX86_DIFF_SECT_DELTA.
575 2014-04-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
577         * configure.ac (gcc_cv_as_cfi_directive): Support Solaris/x86
578         assembler 64-bit option.
579         * configure: Regenerate.
581 2014-04-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
583         * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Check
584         TARGET_SIMD rather than TARGET_GENERAL_REGS_ONLY.
585         (TARGET_SIMD): Take AARCH64_ISA_SIMD into account.
586         (TARGET_FLOAT): Take AARCH64_ISA_FP into account.
587         (TARGET_CRYPTO): Take TARGET_SIMD into account.
589 2014-04-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
591         * config/aarch64/aarch64-builtins.c
592         (aarch64_builtin_vectorized_function): Handle BUILT_IN_BSWAP16,
593         BUILT_IN_BSWAP32, BUILT_IN_BSWAP64.
594         * config/aarch64/aarch64-simd.md (bswap<mode>): New pattern.
595         * config/aarch64/aarch64-simd-builtins.def: Define vector bswap
596         builtins.
597         * config/aarch64/iterator.md (VDQHSD): New mode iterator.
598         (Vrevsuff): New mode attribute.
600 2014-04-24  Terry Guo  <terry.guo@arm.com>
602         * config/arm/arm.h (machine_function): Define variable
603         after_arm_reorg here.
604         * config/arm/arm.c (after_arm_reorg): Remove the definition.
605         (arm_split_constant): Update the way to access variable
606         after_arm_reorg.
607         (arm_reorg): Ditto.
608         (arm_output_function_epilogue): Remove the reset of after_arm_reorg.
610 2014-04-23  Tom de Vries  <tom@codesourcery.com>
612         * target-hooks-macros.h: Fix DEFHOOKPOD argument order in comment.
614 2014-04-23  David Malcolm  <dmalcolm@redhat.com>
616         * is-a.h: Update comments to reflect the following changes to the
617         "pointerness" of the API, making the template parameter match the
618         return type, allowing use of is-a.h with typedefs of pointers.
619         (is_a_helper::cast): Return a T rather then a pointer to a T, so
620         that the return type matches the parameter to the is_a_helper.
621         (as_a): Likewise.
622         (dyn_cast): Likewise.
624         * cgraph.c (cgraph_node_for_asm): Update for removal of implicit
625         pointer from the is-a.h API.
627         * cgraph.h (is_a_helper <cgraph_node>::test): Convert to...
628         (is_a_helper <cgraph_node *>::test): ...this, matching change to
629         is-a.h API.
630         (is_a_helper <varpool_node>::test): Likewise, convert to...
631         (is_a_helper <varpool_node *>::test): ...this.
633         (varpool_first_variable): Update for removal of implicit pointer
634         from the is-a.h API.
635         (varpool_next_variable): Likewise.
636         (varpool_first_static_initializer): Likewise.
637         (varpool_next_static_initializer): Likewise.
638         (varpool_first_defined_variable): Likewise.
639         (varpool_next_defined_variable): Likewise.
640         (cgraph_first_defined_function): Likewise.
641         (cgraph_next_defined_function): Likewise.
642         (cgraph_first_function): Likewise.
643         (cgraph_next_function): Likewise.
644         (cgraph_first_function_with_gimple_body): Likewise.
645         (cgraph_next_function_with_gimple_body): Likewise.
646         (cgraph_alias_target): Likewise.
647         (varpool_alias_target): Likewise.
648         (cgraph_function_or_thunk_node): Likewise.
649         (varpool_variable_node): Likewise.
650         (symtab_real_symbol_p): Likewise.
651         * cgraphunit.c (referred_to_p): Likewise.
652         (analyze_functions): Likewise.
653         (handle_alias_pairs): Likewise.
654         * gimple-fold.c (can_refer_decl_in_current_unit_p): Likewise.
655         * gimple-ssa.h (gimple_vuse_op): Likewise.
656         (gimple_vdef_op): Likewise.
657         * gimple-streamer-in.c (input_gimple_stmt): Likewise.
658         * gimple.c (gimple_build_asm_1): Likewise.
659         (gimple_build_try): Likewise.
660         (gimple_build_resx): Likewise.
661         (gimple_build_eh_dispatch): Likewise.
662         (gimple_build_omp_for): Likewise.
663         (gimple_omp_for_set_clauses): Likewise.
665         * gimple.h (is_a_helper <gimple_statement_asm>::test): Convert to...
666         (is_a_helper <gimple_statement_asm *>::test): ...this.
667         (is_a_helper <gimple_statement_bind>::test): Convert to...
668         (is_a_helper <gimple_statement_bind *>::test): ...this.
669         (is_a_helper <gimple_statement_call>::test): Convert to...
670         (is_a_helper <gimple_statement_call *>::test): ...this.
671         (is_a_helper <gimple_statement_catch>::test): Convert to...
672         (is_a_helper <gimple_statement_catch *>::test): ...this.
673         (is_a_helper <gimple_statement_resx>::test): Convert to...
674         (is_a_helper <gimple_statement_resx *>::test): ...this.
675         (is_a_helper <gimple_statement_eh_dispatch>::test): Convert to...
676         (is_a_helper <gimple_statement_eh_dispatch *>::test): ...this.
677         (is_a_helper <gimple_statement_eh_else>::test): Convert to...
678         (is_a_helper <gimple_statement_eh_else *>::test): ...this.
679         (is_a_helper <gimple_statement_eh_filter>::test): Convert to...
680         (is_a_helper <gimple_statement_eh_filter *>::test): ...this.
681         (is_a_helper <gimple_statement_eh_mnt>::test): Convert to...
682         (is_a_helper <gimple_statement_eh_mnt *>::test): ...this.
683         (is_a_helper <gimple_statement_omp_atomic_load>::test): Convert to...
684         (is_a_helper <gimple_statement_omp_atomic_load *>::test): ...this.
685         (is_a_helper <gimple_statement_omp_atomic_store>::test): Convert to...
686         (is_a_helper <gimple_statement_omp_atomic_store *>::test): ...this.
687         (is_a_helper <gimple_statement_omp_return>::test): Convert to...
688         (is_a_helper <gimple_statement_omp_return *>::test): ...this.
689         (is_a_helper <gimple_statement_omp_continue>::test): Convert to...
690         (is_a_helper <gimple_statement_omp_continue *>::test): ...this.
691         (is_a_helper <gimple_statement_omp_critical>::test): Convert to...
692         (is_a_helper <gimple_statement_omp_critical *>::test): ...this.
693         (is_a_helper <gimple_statement_omp_for>::test): Convert to...
694         (is_a_helper <gimple_statement_omp_for *>::test): ...this.
695         (is_a_helper <gimple_statement_omp_taskreg>::test): Convert to...
696         (is_a_helper <gimple_statement_omp_taskreg *>::test): ...this.
697         (is_a_helper <gimple_statement_omp_parallel>::test): Convert to...
698         (is_a_helper <gimple_statement_omp_parallel *>::test): ...this.
699         (is_a_helper <gimple_statement_omp_target>::test): Convert to...
700         (is_a_helper <gimple_statement_omp_target *>::test): ...this.
701         (is_a_helper <gimple_statement_omp_sections>::test): Convert to...
702         (is_a_helper <gimple_statement_omp_sections *>::test): ...this.
703         (is_a_helper <gimple_statement_omp_single>::test): Convert to...
704         (is_a_helper <gimple_statement_omp_single *>::test): ...this.
705         (is_a_helper <gimple_statement_omp_teams>::test): Convert to...
706         (is_a_helper <gimple_statement_omp_teams *>::test): ...this.
707         (is_a_helper <gimple_statement_omp_task>::test): Convert to...
708         (is_a_helper <gimple_statement_omp_task *>::test): ...this.
709         (is_a_helper <gimple_statement_phi>::test): Convert to...
710         (is_a_helper <gimple_statement_phi *>::test): ...this.
711         (is_a_helper <gimple_statement_transaction>::test): Convert to...
712         (is_a_helper <gimple_statement_transaction *>::test): ...this.
713         (is_a_helper <gimple_statement_try>::test): Convert to...
714         (is_a_helper <gimple_statement_try *>::test): ...this.
715         (is_a_helper <gimple_statement_wce>::test): Convert to...
716         (is_a_helper <gimple_statement_wce *>::test): ...this.
717         (is_a_helper <const gimple_statement_asm>::test): Convert to...
718         (is_a_helper <const gimple_statement_asm *>::test): ...this.
719         (is_a_helper <const gimple_statement_bind>::test): Convert to...
720         (is_a_helper <const gimple_statement_bind *>::test): ...this.
721         (is_a_helper <const gimple_statement_call>::test): Convert to...
722         (is_a_helper <const gimple_statement_call *>::test): ...this.
723         (is_a_helper <const gimple_statement_catch>::test): Convert to...
724         (is_a_helper <const gimple_statement_catch *>::test): ...this.
725         (is_a_helper <const gimple_statement_resx>::test): Convert to...
726         (is_a_helper <const gimple_statement_resx *>::test): ...this.
727         (is_a_helper <const gimple_statement_eh_dispatch>::test):
728         Convert to...
729         (is_a_helper <const gimple_statement_eh_dispatch *>::test):
730         ...this.
731         (is_a_helper <const gimple_statement_eh_filter>::test): Convert
732         to...
733         (is_a_helper <const gimple_statement_eh_filter *>::test): ...this.
734         (is_a_helper <const gimple_statement_omp_atomic_load>::test):
735         Convert to...
736         (is_a_helper <const gimple_statement_omp_atomic_load *>::test):
737         ...this.
738         (is_a_helper <const gimple_statement_omp_atomic_store>::test):
739         Convert to...
740         (is_a_helper <const gimple_statement_omp_atomic_store *>::test):
741         ...this.
742         (is_a_helper <const gimple_statement_omp_return>::test): Convert
743         to...
744         (is_a_helper <const gimple_statement_omp_return *>::test): ...this.
745         (is_a_helper <const gimple_statement_omp_continue>::test): Convert
746         to...
747         (is_a_helper <const gimple_statement_omp_continue *>::test): ...this.
748         (is_a_helper <const gimple_statement_omp_critical>::test): Convert
749         to...
750         (is_a_helper <const gimple_statement_omp_critical *>::test): ...this.
751         (is_a_helper <const gimple_statement_omp_for>::test): Convert to...
752         (is_a_helper <const gimple_statement_omp_for *>::test): ...this.
753         (is_a_helper <const gimple_statement_omp_taskreg>::test): Convert
754         to...
755         (is_a_helper <const gimple_statement_omp_taskreg *>::test): ...this.
756         (is_a_helper <const gimple_statement_omp_parallel>::test): Convert
757         to...
758         (is_a_helper <const gimple_statement_omp_parallel *>::test): ...this.
759         (is_a_helper <const gimple_statement_omp_target>::test): Convert
760         to...
761         (is_a_helper <const gimple_statement_omp_target *>::test): ...this.
762         (is_a_helper <const gimple_statement_omp_sections>::test): Convert
763         to...
764         (is_a_helper <const gimple_statement_omp_sections *>::test): ...this.
765         (is_a_helper <const gimple_statement_omp_single>::test): Convert
766         to...
767         (is_a_helper <const gimple_statement_omp_single *>::test): ...this.
768         (is_a_helper <const gimple_statement_omp_teams>::test): Convert
769         to...
770         (is_a_helper <const gimple_statement_omp_teams *>::test): ...this.
771         (is_a_helper <const gimple_statement_omp_task>::test): Convert
772         to...
773         (is_a_helper <const gimple_statement_omp_task *>::test): ...this.
774         (is_a_helper <const gimple_statement_phi>::test): Convert to...
775         (is_a_helper <const gimple_statement_phi *>::test): ...this.
776         (is_a_helper <const gimple_statement_transaction>::test): Convert
777         to...
778         (is_a_helper <const gimple_statement_transaction *>::test): ...this.
779         (is_a_helper <const gimple_statement_with_ops>::test): Convert
780         to...
781         (is_a_helper <const gimple_statement_with_ops *>::test): ...this.
782         (is_a_helper <gimple_statement_with_ops>::test): Convert to...
783         (is_a_helper <gimple_statement_with_ops *>::test): ...this.
784         (is_a_helper <const gimple_statement_with_memory_ops>::test):
785         Convert to...
786         (is_a_helper <const gimple_statement_with_memory_ops *>::test):
787         ...this.
788         (is_a_helper <gimple_statement_with_memory_ops>::test): Convert
789         to...
790         (is_a_helper <gimple_statement_with_memory_ops *>::test): ...this.
792         (gimple_use_ops): Update for removal of implicit pointer from the
793         is-a.h API.
794         (gimple_set_use_ops): Likewise.
795         (gimple_vuse): Likewise.
796         (gimple_vdef): Likewise.
797         (gimple_vuse_ptr): Likewise.
798         (gimple_vdef_ptr): Likewise.
799         (gimple_set_vuse): Likewise.
800         (gimple_set_vdef): Likewise.
801         (gimple_omp_return_set_lhs): Likewise.
802         (gimple_omp_return_lhs): Likewise.
803         (gimple_omp_return_lhs_ptr): Likewise.
804         (gimple_call_fntype): Likewise.
805         (gimple_call_set_fntype): Likewise.
806         (gimple_call_set_internal_fn): Likewise.
807         (gimple_call_use_set): Likewise.
808         (gimple_call_clobber_set): Likewise.
809         (gimple_bind_vars): Likewise.
810         (gimple_bind_set_vars): Likewise.
811         (gimple_bind_body_ptr): Likewise.
812         (gimple_bind_set_body): Likewise.
813         (gimple_bind_add_stmt): Likewise.
814         (gimple_bind_block): Likewise.
815         (gimple_bind_set_block): Likewise.
816         (gimple_asm_ninputs): Likewise.
817         (gimple_asm_noutputs): Likewise.
818         (gimple_asm_nclobbers): Likewise.
819         (gimple_asm_nlabels): Likewise.
820         (gimple_asm_input_op): Likewise.
821         (gimple_asm_input_op_ptr): Likewise.
822         (gimple_asm_output_op): Likewise.
823         (gimple_asm_output_op_ptr): Likewise.
824         (gimple_asm_set_output_op): Likewise.
825         (gimple_asm_clobber_op): Likewise.
826         (gimple_asm_set_clobber_op): Likewise.
827         (gimple_asm_label_op): Likewise.
828         (gimple_asm_set_label_op): Likewise.
829         (gimple_asm_string): Likewise.
830         (gimple_catch_types): Likewise.
831         (gimple_catch_types_ptr): Likewise.
832         (gimple_catch_handler_ptr): Likewise.
833         (gimple_catch_set_types): Likewise.
834         (gimple_catch_set_handler): Likewise.
835         (gimple_eh_filter_types): Likewise.
836         (gimple_eh_filter_types_ptr): Likewise.
837         (gimple_eh_filter_failure_ptr): Likewise.
838         (gimple_eh_filter_set_types): Likewise.
839         (gimple_eh_filter_set_failure): Likewise.
840         (gimple_eh_must_not_throw_fndecl): Likewise.
841         (gimple_eh_must_not_throw_set_fndecl): Likewise.
842         (gimple_eh_else_n_body_ptr): Likewise.
843         (gimple_eh_else_e_body_ptr): Likewise.
844         (gimple_eh_else_set_n_body): Likewise.
845         (gimple_eh_else_set_e_body): Likewise.
846         (gimple_try_eval_ptr): Likewise.
847         (gimple_try_cleanup_ptr): Likewise.
848         (gimple_try_set_eval): Likewise.
849         (gimple_try_set_cleanup): Likewise.
850         (gimple_wce_cleanup_ptr): Likewise.
851         (gimple_wce_set_cleanup): Likewise.
852         (gimple_phi_capacity): Likewise.
853         (gimple_phi_num_args): Likewise.
854         (gimple_phi_result): Likewise.
855         (gimple_phi_result_ptr): Likewise.
856         (gimple_phi_set_result): Likewise.
857         (gimple_phi_arg): Likewise.
858         (gimple_phi_set_arg): Likewise.
859         (gimple_resx_region): Likewise.
860         (gimple_resx_set_region): Likewise.
861         (gimple_eh_dispatch_region): Likewise.
862         (gimple_eh_dispatch_set_region): Likewise.
863         (gimple_omp_critical_name): Likewise.
864         (gimple_omp_critical_name_ptr): Likewise.
865         (gimple_omp_critical_set_name): Likewise.
866         (gimple_omp_for_clauses): Likewise.
867         (gimple_omp_for_clauses_ptr): Likewise.
868         (gimple_omp_for_set_clauses): Likewise.
869         (gimple_omp_for_collapse): Likewise.
870         (gimple_omp_for_index): Likewise.
871         (gimple_omp_for_index_ptr): Likewise.
872         (gimple_omp_for_set_index): Likewise.
873         (gimple_omp_for_initial): Likewise.
874         (gimple_omp_for_initial_ptr): Likewise.
875         (gimple_omp_for_set_initial): Likewise.
876         (gimple_omp_for_final): Likewise.
877         (gimple_omp_for_final_ptr): Likewise.
878         (gimple_omp_for_set_final): Likewise.
879         (gimple_omp_for_incr): Likewise.
880         (gimple_omp_for_incr_ptr): Likewise.
881         (gimple_omp_for_set_incr): Likewise.
882         (gimple_omp_for_pre_body_ptr): Likewise.
883         (gimple_omp_for_set_pre_body): Likewise.
884         (gimple_omp_parallel_clauses): Likewise.
885         (gimple_omp_parallel_clauses_ptr): Likewise.
886         (gimple_omp_parallel_set_clauses): Likewise.
887         (gimple_omp_parallel_child_fn): Likewise.
888         (gimple_omp_parallel_child_fn_ptr): Likewise.
889         (gimple_omp_parallel_set_child_fn): Likewise.
890         (gimple_omp_parallel_data_arg): Likewise.
891         (gimple_omp_parallel_data_arg_ptr): Likewise.
892         (gimple_omp_parallel_set_data_arg): Likewise.
893         (gimple_omp_task_clauses): Likewise.
894         (gimple_omp_task_clauses_ptr): Likewise.
895         (gimple_omp_task_set_clauses): Likewise.
896         (gimple_omp_task_child_fn): Likewise.
897         (gimple_omp_task_child_fn_ptr): Likewise.
898         (gimple_omp_task_set_child_fn): Likewise.
899         (gimple_omp_task_data_arg): Likewise.
900         (gimple_omp_task_data_arg_ptr): Likewise.
901         (gimple_omp_task_set_data_arg): Likewise.
902         (gimple_omp_taskreg_clauses): Likewise.
903         (gimple_omp_taskreg_clauses_ptr): Likewise.
904         (gimple_omp_taskreg_set_clauses): Likewise.
905         (gimple_omp_taskreg_child_fn): Likewise.
906         (gimple_omp_taskreg_child_fn_ptr): Likewise.
907         (gimple_omp_taskreg_set_child_fn): Likewise.
908         (gimple_omp_taskreg_data_arg): Likewise.
909         (gimple_omp_taskreg_data_arg_ptr): Likewise.
910         (gimple_omp_taskreg_set_data_arg): Likewise.
911         (gimple_omp_task_copy_fn): Likewise.
912         (gimple_omp_task_copy_fn_ptr): Likewise.
913         (gimple_omp_task_set_copy_fn): Likewise.
914         (gimple_omp_task_arg_size): Likewise.
915         (gimple_omp_task_arg_size_ptr): Likewise.
916         (gimple_omp_task_set_arg_size): Likewise.
917         (gimple_omp_task_arg_align): Likewise.
918         (gimple_omp_task_arg_align_ptr): Likewise.
919         (gimple_omp_task_set_arg_align): Likewise.
920         (gimple_omp_single_clauses): Likewise.
921         (gimple_omp_single_clauses_ptr): Likewise.
922         (gimple_omp_single_set_clauses): Likewise.
923         (gimple_omp_target_clauses): Likewise.
924         (gimple_omp_target_clauses_ptr): Likewise.
925         (gimple_omp_target_set_clauses): Likewise.
926         (gimple_omp_target_child_fn): Likewise.
927         (gimple_omp_target_child_fn_ptr): Likewise.
928         (gimple_omp_target_set_child_fn): Likewise.
929         (gimple_omp_target_data_arg): Likewise.
930         (gimple_omp_target_data_arg_ptr): Likewise.
931         (gimple_omp_target_set_data_arg): Likewise.
932         (gimple_omp_teams_clauses): Likewise.
933         (gimple_omp_teams_clauses_ptr): Likewise.
934         (gimple_omp_teams_set_clauses): Likewise.
935         (gimple_omp_sections_clauses): Likewise.
936         (gimple_omp_sections_clauses_ptr): Likewise.
937         (gimple_omp_sections_set_clauses): Likewise.
938         (gimple_omp_sections_control): Likewise.
939         (gimple_omp_sections_control_ptr): Likewise.
940         (gimple_omp_sections_set_control): Likewise.
941         (gimple_omp_for_set_cond): Likewise.
942         (gimple_omp_for_cond): Likewise.
943         (gimple_omp_atomic_store_set_val): Likewise.
944         (gimple_omp_atomic_store_val): Likewise.
945         (gimple_omp_atomic_store_val_ptr): Likewise.
946         (gimple_omp_atomic_load_set_lhs): Likewise.
947         (gimple_omp_atomic_load_lhs): Likewise.
948         (gimple_omp_atomic_load_lhs_ptr): Likewise.
949         (gimple_omp_atomic_load_set_rhs): Likewise.
950         (gimple_omp_atomic_load_rhs): Likewise.
951         (gimple_omp_atomic_load_rhs_ptr): Likewise.
952         (gimple_omp_continue_control_def): Likewise.
953         (gimple_omp_continue_control_def_ptr): Likewise.
954         (gimple_omp_continue_set_control_def): Likewise.
955         (gimple_omp_continue_control_use): Likewise.
956         (gimple_omp_continue_control_use_ptr): Likewise.
957         (gimple_omp_continue_set_control_use): Likewise.
958         (gimple_transaction_body_ptr): Likewise.
959         (gimple_transaction_label): Likewise.
960         (gimple_transaction_label_ptr): Likewise.
961         (gimple_transaction_set_body): Likewise.
962         (gimple_transaction_set_label): Likewise.
964         * ipa-devirt.c (build_type_inheritance_graph): Likewise.
965         * ipa-inline-analysis.c (inline_write_summary): Likewise.
966         * ipa-ref.c (ipa_record_reference): Likewise.
967         * ipa-reference.c (analyze_function): Likewise.
968         (ipa_reference_write_optimization_summary): Likewise.
969         * ipa.c (symtab_remove_unreachable_nodes): Likewise.
970         (address_taken_from_non_vtable_p): Likewise.
971         (comdat_can_be_unshared_p_1): Likewise.
972         * lto-cgraph.c (lto_output_ref): Likewise.
973         (add_references): Likewise.
974         (compute_ltrans_boundary): Likewise.
975         (output_symtab): Likewise.
976         (input_ref): Likewise.
977         (input_cgraph_1): Likewise.
978         (output_cgraph_opt_summary): Likewise.
979         * lto-streamer-out.c (lto_output): Likewise.
980         (output_symbol_p): Likewise.
981         * lto-streamer.h (lsei_next_function_in_partition): Likewise.
982         (lsei_start_function_in_partition): Likewise.
983         (lsei_next_variable_in_partition): Likewise.
984         (lsei_start_variable_in_partition): Likewise.
985         * symtab.c (insert_to_assembler_name_hash): Likewise.
986         (unlink_from_assembler_name_hash): Likewise.
987         (symtab_unregister_node): Likewise.
988         (symtab_remove_node): Likewise.
989         (dump_symtab_node): Likewise.
990         (verify_symtab_base): Likewise.
991         (verify_symtab_node): Likewise.
992         (symtab_make_decl_local): Likewise.
993         (symtab_alias_ultimate_target): Likewise.
994         (symtab_resolve_alias): Likewise.
995         (symtab_get_symbol_partitioning_class): Likewise.
996         * tree-phinodes.c (allocate_phi_node): Likewise.
997         (reserve_phi_args_for_new_edge): Likewise.
998         (remove_phi_args): Likewise.
999         * varpool.c (varpool_node_for_asm): Likewise.
1000         (varpool_remove_unreferenced_decls): Likewise.
1002 2014-04-23  Jeff Law  <law@redhat.com>
1004         PR tree-optimization/60902
1005         * tree-ssa-threadedge.c
1006         (record_temporary_equivalences_from_stmts_at_dest): Make sure to
1007         invalidate outputs from statements that do not produce useful
1008         outputs for threading.
1010 2014-04-23 Venkataramanan Kumar  <venkataramanan.kumar@linaro.org>
1012         * config/aarch64/aarch64.md (stack_protect_set, stack_protect_test)
1013         (stack_protect_set_<mode>, stack_protect_test_<mode>): Add
1014         machine descriptions for Stack Smashing Protector.
1016 2014-04-23  Richard Earnshaw  <rearnsha@arm.com>
1018         * aarch64.md (<optab>_rol<mode>3): New pattern.
1019         (<optab>_rolsi3_uxtw): Likewise.
1020         * aarch64.c (aarch64_strip_shift): Handle ROTATE and ROTATERT.
1022 2014-04-23  James Greenhalgh  <james.greenhalgh@arm.com>
1024         * config/arm/arm.c (arm_cortex_a57_tune): Initialize all fields.
1025         (arm_cortex_a12_tune): Likewise.
1027 2014-04-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1029         * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle BSWAP.
1031 2014-04-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1033         * config/arm/arm.md (arm_rev16si2): New pattern.
1034         (arm_rev16si2_alt): Likewise.
1035         * config/arm/arm.c (arm_new_rtx_costs): Handle rev16 case.
1037 2014-04-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1039        * config/aarch64/aarch64.md (rev16<mode>2): New pattern.
1040        (rev16<mode>2_alt): Likewise.
1041        * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle rev16 case.
1042        * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p): New.
1043        (aarch_rev16_shleft_mask_imm_p): Likewise.
1044        (aarch_rev16_p_1): Likewise.
1045        (aarch_rev16_p): Likewise.
1046        * config/arm/aarch-common-protos.h (aarch_rev16_p): Declare extern.
1047        (aarch_rev16_shright_mask_imm_p): Likewise.
1048        (aarch_rev16_shleft_mask_imm_p): Likewise.
1050 2014-04-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1052        * config/arm/aarch-common-protos.h (alu_cost_table): Add rev field.
1053        * config/arm/aarch-cost-tables.h (generic_extra_costs): Specify
1054        rev cost.
1055        (cortex_a53_extra_costs): Likewise.
1056        (cortex_a57_extra_costs): Likewise.
1057        * config/arm/arm.c (cortexa9_extra_costs): Likewise.
1058        (cortexa7_extra_costs): Likewise.
1059        (cortexa8_extra_costs): Likewise.
1060        (cortexa12_extra_costs): Likewise.
1061        (cortexa15_extra_costs): Likewise.
1062        (v7m_extra_costs): Likewise.
1063        (arm_new_rtx_costs): Handle BSWAP.
1065 2013-04-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1067        * config/arm/arm.c (cortexa8_extra_costs): New table.
1068        (arm_cortex_a8_tune): New tuning struct.
1069        * config/arm/arm-cores.def (cortex-a8): Use cortex_a8 tuning struct.
1071 2014-04-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1073        * config/arm/arm.c (arm_new_rtx_costs): Handle FMA.
1075 2014-04-23  Richard Biener  <rguenther@suse.de>
1077         * Makefile.in (OBJS): Remove loop-unswitch.o.
1078         * loop-unswitch.c: Delete.
1079         * tree-pass.h (make_pass_rtl_unswitch): Remove.
1080         * passes.def (pass_rtl_unswitch): Likewise.
1081         * loop-init.c (gate_rtl_unswitch): Likewise.
1082         (rtl_unswitch): Likewise.
1083         (pass_data_rtl_unswitch): Likewise.
1084         (pass_rtl_unswitch): Likewise.
1085         (make_pass_rtl_unswitch): Likewise.
1086         * rtl.h (reversed_condition): Likewise.
1087         (compare_and_jump_seq): Likewise.
1088         * loop-iv.c (reversed_condition): Move here from loop-unswitch.c
1089         and make static.
1090         * loop-unroll.c (compare_and_jump_seq): Likewise.
1092 2014-04-23  Richard Biener  <rguenther@suse.de>
1094         PR tree-optimization/60903
1095         * tree-ssa-loop-im.c (analyze_memory_references): Remove
1096         commented code block.
1097         (execute_sm_if_changed): Properly apply IRREDUCIBLE_LOOP
1098         loop flags to newly created BBs and edges.
1100 2014-04-23  Nick Clifton  <nickc@redhat.com>
1102         * config/msp430/msp430.c (msp430_handle_option): Move function
1103         to msp430-common.c
1104         (msp430_option_override): Simplify mcu and mcpu option handling.
1105         (msp430_is_f5_mcu): Rename to msp430_use_f5_series_hwmult.  Add
1106         support for -mhwmult command line option.
1107         (has_32bit_hwmult): Rename to use_32bit_hwmult.  Add support for
1108         -mhwmult command line option.
1109         (msp430_hwmult_enabled): Delete.
1110         (msp43o_output_labelref): Add support for -mhwmult command line
1111         option.
1112         * config/msp430/msp430.md (mulhisi3, umulhisi3, mulsidi3)
1113         (umulsidi3): Likewise.
1114         * config/msp430/msp430.opt (mmcu): Add Report attribute.
1115         (mcpu, mlarge, msmall): Likewise.
1116         (mhwmult): New option.
1117         * config/msp430/msp430-protos.h (msp430_hwmult_enabled): Remove
1118         prototype.
1119         (msp430_is_f5_mcu): Remove prototype.
1120         (msp430_use_f5_series_hwmult): Add prototype.
1121         * config/msp430/msp430-opts.h: New file.
1122         * common/config/msp430: New directory.
1123         * common/config/msp430/msp430-common.c: New file.
1124         * config.gcc (msp430): Remove target_has_targetm_common.
1125         * doc/invoke.texi: Document -mhwmult command line option.
1127 2014-04-23  Nick Clifton  <nickc@redhat.com>
1129         * config/i386/cygwin.h (ENDFILE_SPEC): Include
1130         default-manifest.o if it can be found in the search path.
1131         * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
1133 2014-04-23  Terry Guo  <terry.guo@arm.com>
1135         * config/arm/arm.h (ASM_APP_OFF): Re-define it in a cleaner way.
1137 2014-04-23  Richard Biener  <rguenther@suse.de>
1139         PR middle-end/60895
1140         * tree-inline.c (declare_return_variable): Use mark_addressable.
1142 2014-04-23  Richard Biener  <rguenther@suse.de>
1144         PR middle-end/60891
1145         * loop-init.c (loop_optimizer_init): Make sure to apply
1146         LOOPS_MAY_HAVE_MULTIPLE_LATCHES before fixing up loops.
1148 2014-04-22  Jakub Jelinek  <jakub@redhat.com>
1150         PR sanitizer/60275
1151         * common.opt (fsanitize-recover, fsanitize-undefined-trap-on-error):
1152         New options.
1153         * gcc.c (sanitize_spec_function): Don't return "" for "undefined"
1154         if flag_sanitize_undefined_trap_on_error.
1155         * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW_ABORT,
1156         BUILT_IN_UBSAN_HANDLE_SHIFT_OUT_OF_BOUNDS_ABORT,
1157         BUILT_IN_UBSAN_HANDLE_VLA_BOUND_NOT_POSITIVE_ABORT,
1158         BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_ABORT,
1159         BUILT_IN_UBSAN_HANDLE_ADD_OVERFLOW_ABORT,
1160         BUILT_IN_UBSAN_HANDLE_SUB_OVERFLOW_ABORT,
1161         BUILT_IN_UBSAN_HANDLE_MUL_OVERFLOW_ABORT,
1162         BUILT_IN_UBSAN_HANDLE_NEGATE_OVERFLOW_ABORT,
1163         BUILT_IN_UBSAN_HANDLE_LOAD_INVALID_VALUE_ABORT): New builtins.
1164         * ubsan.c (ubsan_instrument_unreachable): Return
1165         __builtin_trap () if flag_sanitize_undefined_trap_on_error.
1166         (ubsan_expand_null_ifn): Emit __builtin_trap ()
1167         if flag_sanitize_undefined_trap_on_error and
1168         __ubsan_handle_type_mismatch_abort if !flag_sanitize_recover.
1169         (ubsan_expand_null_ifn, ubsan_build_overflow_builtin,
1170         instrument_bool_enum_load): Emit __builtin_trap () if
1171         flag_sanitize_undefined_trap_on_error and
1172         __builtin_handle_*_abort () if !flag_sanitize_recover.
1173         * doc/invoke.texi (-fsanitize-recover,
1174         -fsanitize-undefined-trap-on-error): Document.
1176 2014-04-22  Christian Bruel  <christian.bruel@st.com>
1178         * config/sh/sh.md (mov<mode>): Replace movQIHI.
1179          Force immediates to SImode.
1181 2014-04-22  Sandra Loosemore  <sandra@codesourcery.com>
1183         * config/nios2/nios2.md (UNSPEC_ROUND): New.
1184         (lroundsfsi2): New.
1185         * config/nios2/nios2.opt (mno-custom-round, mcustom-round=): New.
1186         * config/nios2/nios2-opts.h (N2FPU_ALL_CODES): Add round.
1187         * config/nios2/nios2.c (N2F_NO_ERRNO): Define.
1188         (nios2_fpu_insn): Add entry for round.
1189         (N2FPU_NO_ERRNO_P): Define.
1190         (nios2_custom_check_insns): Add check for N2F_NO_ERRNO and
1191         flag_errno_math.
1192         * doc/invoke.texi (Nios II Options): Document -mcustom-round.
1194 2014-04-22  Richard Henderson  <rth@redhat.com>
1196         * config/aarch64/aarch64 (addti3, subti3): New expanders.
1197         (add<GPI>3_compare0): Remove leading * from name.
1198         (add<GPI>3_carryin): Likewise.
1199         (sub<GPI>3_compare0): Likewise.
1200         (sub<GPI>3_carryin): Likewise.
1201         (<su_optab>mulditi3): New expander.
1202         (multi3): New expander.
1203         (madd<GPI>): Remove leading * from name.
1205 2014-04-22  Martin Jambor  <mjambor@suse.cz>
1207         * cgraphclones.c (cgraph_function_versioning): Copy
1208         ipa_transforms_to_apply instead of asserting it is empty.
1210 2014-04-22  H.J. Lu  <hongjiu.lu@intel.com>
1212         PR target/60868
1213         * config/i386/i386.c (ix86_expand_set_or_movmem): Call counter_mode
1214         on count_exp to get mode.
1216 2014-04-22  Andrew Pinski  <apinski@cavium.com>
1218         * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
1219         Handle TLS for ILP32.
1220         * config/aarch64/aarch64.md (tlsie_small): Rename to ...
1221         (tlsie_small_<mode>): this and handle PTR.
1222         (tlsie_small_sidi): New pattern.
1223         (tlsle_small): Change to an expand to handle ILP32.
1224         (tlsle_small_<mode>): New pattern.
1225         (tlsdesc_small): Rename to ...
1226         (tlsdesc_small_<mode>): this and handle PTR.
1228 2014-04-22  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1230         * config/aarch64/aarch64.c (TARGET_FLAGS_REGNUM): Define.
1232 2014-04-22  Alex Velenko  <Alex.Velenko@arm.com>
1234         * config/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
1235         (aarch64_types_signed_unsigned_qualifiers): Qualifier added.
1236         (aarch64_types_signed_poly_qualifiers): Likewise.
1237         (aarch64_types_unsigned_signed_qualifiers): Likewise.
1238         (aarch64_types_poly_signed_qualifiers): Likewise.
1239         (TYPES_REINTERP_SS): Type macro added.
1240         (TYPES_REINTERP_SU): Likewise.
1241         (TYPES_REINTERP_SP): Likewise.
1242         (TYPES_REINTERP_US): Likewise.
1243         (TYPES_REINTERP_PS): Likewise.
1244         (aarch64_fold_builtin): New expression folding added.
1245         * config/aarch64/aarch64-simd-builtins.def (REINTERP):
1246         Declarations removed.
1247         (REINTERP_SS): Declarations added.
1248         (REINTERP_US): Likewise.
1249         (REINTERP_PS): Likewise.
1250         (REINTERP_SU): Likewise.
1251         (REINTERP_SP): Likewise.
1252         * config/aarch64/arm_neon.h (vreinterpret_p8_f64): Implemented.
1253         (vreinterpretq_p8_f64): Likewise.
1254         (vreinterpret_p16_f64): Likewise.
1255         (vreinterpretq_p16_f64): Likewise.
1256         (vreinterpret_f32_f64): Likewise.
1257         (vreinterpretq_f32_f64): Likewise.
1258         (vreinterpret_f64_f32): Likewise.
1259         (vreinterpret_f64_p8): Likewise.
1260         (vreinterpret_f64_p16): Likewise.
1261         (vreinterpret_f64_s8): Likewise.
1262         (vreinterpret_f64_s16): Likewise.
1263         (vreinterpret_f64_s32): Likewise.
1264         (vreinterpret_f64_s64): Likewise.
1265         (vreinterpret_f64_u8): Likewise.
1266         (vreinterpret_f64_u16): Likewise.
1267         (vreinterpret_f64_u32): Likewise.
1268         (vreinterpret_f64_u64): Likewise.
1269         (vreinterpretq_f64_f32): Likewise.
1270         (vreinterpretq_f64_p8): Likewise.
1271         (vreinterpretq_f64_p16): Likewise.
1272         (vreinterpretq_f64_s8): Likewise.
1273         (vreinterpretq_f64_s16): Likewise.
1274         (vreinterpretq_f64_s32): Likewise.
1275         (vreinterpretq_f64_s64): Likewise.
1276         (vreinterpretq_f64_u8): Likewise.
1277         (vreinterpretq_f64_u16): Likewise.
1278         (vreinterpretq_f64_u32): Likewise.
1279         (vreinterpretq_f64_u64): Likewise.
1280         (vreinterpret_s64_f64): Likewise.
1281         (vreinterpretq_s64_f64): Likewise.
1282         (vreinterpret_u64_f64): Likewise.
1283         (vreinterpretq_u64_f64): Likewise.
1284         (vreinterpret_s8_f64): Likewise.
1285         (vreinterpretq_s8_f64): Likewise.
1286         (vreinterpret_s16_f64): Likewise.
1287         (vreinterpretq_s16_f64): Likewise.
1288         (vreinterpret_s32_f64): Likewise.
1289         (vreinterpretq_s32_f64): Likewise.
1290         (vreinterpret_u8_f64): Likewise.
1291         (vreinterpretq_u8_f64): Likewise.
1292         (vreinterpret_u16_f64): Likewise.
1293         (vreinterpretq_u16_f64): Likewise.
1294         (vreinterpret_u32_f64): Likewise.
1295         (vreinterpretq_u32_f64): Likewise.
1297 2014-04-22  Alex Velenko  <Alex.Velenko@arm.com>
1299         * config/aarch64/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
1300         * config/aarch64/aarch64/aarch64-simd-builtins.def (REINTERP): Removed.
1301         (vreinterpret_p8_s8): Likewise.
1302         * config/aarch64/aarch64/arm_neon.h (vreinterpret_p8_s8): Uses cast.
1303         (vreinterpret_p8_s16): Likewise.
1304         (vreinterpret_p8_s32): Likewise.
1305         (vreinterpret_p8_s64): Likewise.
1306         (vreinterpret_p8_f32): Likewise.
1307         (vreinterpret_p8_u8): Likewise.
1308         (vreinterpret_p8_u16): Likewise.
1309         (vreinterpret_p8_u32): Likewise.
1310         (vreinterpret_p8_u64): Likewise.
1311         (vreinterpret_p8_p16): Likewise.
1312         (vreinterpretq_p8_s8): Likewise.
1313         (vreinterpretq_p8_s16): Likewise.
1314         (vreinterpretq_p8_s32): Likewise.
1315         (vreinterpretq_p8_s64): Likewise.
1316         (vreinterpretq_p8_f32): Likewise.
1317         (vreinterpretq_p8_u8): Likewise.
1318         (vreinterpretq_p8_u16): Likewise.
1319         (vreinterpretq_p8_u32): Likewise.
1320         (vreinterpretq_p8_u64): Likewise.
1321         (vreinterpretq_p8_p16): Likewise.
1322         (vreinterpret_p16_s8): Likewise.
1323         (vreinterpret_p16_s16): Likewise.
1324         (vreinterpret_p16_s32): Likewise.
1325         (vreinterpret_p16_s64): Likewise.
1326         (vreinterpret_p16_f32): Likewise.
1327         (vreinterpret_p16_u8): Likewise.
1328         (vreinterpret_p16_u16): Likewise.
1329         (vreinterpret_p16_u32): Likewise.
1330         (vreinterpret_p16_u64): Likewise.
1331         (vreinterpret_p16_p8): Likewise.
1332         (vreinterpretq_p16_s8): Likewise.
1333         (vreinterpretq_p16_s16): Likewise.
1334         (vreinterpretq_p16_s32): Likewise.
1335         (vreinterpretq_p16_s64): Likewise.
1336         (vreinterpretq_p16_f32): Likewise.
1337         (vreinterpretq_p16_u8): Likewise.
1338         (vreinterpretq_p16_u16): Likewise.
1339         (vreinterpretq_p16_u32): Likewise.
1340         (vreinterpretq_p16_u64): Likewise.
1341         (vreinterpretq_p16_p8): Likewise.
1342         (vreinterpret_f32_s8): Likewise.
1343         (vreinterpret_f32_s16): Likewise.
1344         (vreinterpret_f32_s32): Likewise.
1345         (vreinterpret_f32_s64): Likewise.
1346         (vreinterpret_f32_u8): Likewise.
1347         (vreinterpret_f32_u16): Likewise.
1348         (vreinterpret_f32_u32): Likewise.
1349         (vreinterpret_f32_u64): Likewise.
1350         (vreinterpret_f32_p8): Likewise.
1351         (vreinterpret_f32_p16): Likewise.
1352         (vreinterpretq_f32_s8): Likewise.
1353         (vreinterpretq_f32_s16): Likewise.
1354         (vreinterpretq_f32_s32): Likewise.
1355         (vreinterpretq_f32_s64): Likewise.
1356         (vreinterpretq_f32_u8): Likewise.
1357         (vreinterpretq_f32_u16): Likewise.
1358         (vreinterpretq_f32_u32): Likewise.
1359         (vreinterpretq_f32_u64): Likewise.
1360         (vreinterpretq_f32_p8): Likewise.
1361         (vreinterpretq_f32_p16): Likewise.
1362         (vreinterpret_s64_s8): Likewise.
1363         (vreinterpret_s64_s16): Likewise.
1364         (vreinterpret_s64_s32): Likewise.
1365         (vreinterpret_s64_f32): Likewise.
1366         (vreinterpret_s64_u8): Likewise.
1367         (vreinterpret_s64_u16): Likewise.
1368         (vreinterpret_s64_u32): Likewise.
1369         (vreinterpret_s64_u64): Likewise.
1370         (vreinterpret_s64_p8): Likewise.
1371         (vreinterpret_s64_p16): Likewise.
1372         (vreinterpretq_s64_s8): Likewise.
1373         (vreinterpretq_s64_s16): Likewise.
1374         (vreinterpretq_s64_s32): Likewise.
1375         (vreinterpretq_s64_f32): Likewise.
1376         (vreinterpretq_s64_u8): Likewise.
1377         (vreinterpretq_s64_u16): Likewise.
1378         (vreinterpretq_s64_u32): Likewise.
1379         (vreinterpretq_s64_u64): Likewise.
1380         (vreinterpretq_s64_p8): Likewise.
1381         (vreinterpretq_s64_p16): Likewise.
1382         (vreinterpret_u64_s8): Likewise.
1383         (vreinterpret_u64_s16): Likewise.
1384         (vreinterpret_u64_s32): Likewise.
1385         (vreinterpret_u64_s64): Likewise.
1386         (vreinterpret_u64_f32): Likewise.
1387         (vreinterpret_u64_u8): Likewise.
1388         (vreinterpret_u64_u16): Likewise.
1389         (vreinterpret_u64_u32): Likewise.
1390         (vreinterpret_u64_p8): Likewise.
1391         (vreinterpret_u64_p16): Likewise.
1392         (vreinterpretq_u64_s8): Likewise.
1393         (vreinterpretq_u64_s16): Likewise.
1394         (vreinterpretq_u64_s32): Likewise.
1395         (vreinterpretq_u64_s64): Likewise.
1396         (vreinterpretq_u64_f32): Likewise.
1397         (vreinterpretq_u64_u8): Likewise.
1398         (vreinterpretq_u64_u16): Likewise.
1399         (vreinterpretq_u64_u32): Likewise.
1400         (vreinterpretq_u64_p8): Likewise.
1401         (vreinterpretq_u64_p16): Likewise.
1402         (vreinterpret_s8_s16): Likewise.
1403         (vreinterpret_s8_s32): Likewise.
1404         (vreinterpret_s8_s64): Likewise.
1405         (vreinterpret_s8_f32): Likewise.
1406         (vreinterpret_s8_u8): Likewise.
1407         (vreinterpret_s8_u16): Likewise.
1408         (vreinterpret_s8_u32): Likewise.
1409         (vreinterpret_s8_u64): Likewise.
1410         (vreinterpret_s8_p8): Likewise.
1411         (vreinterpret_s8_p16): Likewise.
1412         (vreinterpretq_s8_s16): Likewise.
1413         (vreinterpretq_s8_s32): Likewise.
1414         (vreinterpretq_s8_s64): Likewise.
1415         (vreinterpretq_s8_f32): Likewise.
1416         (vreinterpretq_s8_u8): Likewise.
1417         (vreinterpretq_s8_u16): Likewise.
1418         (vreinterpretq_s8_u32): Likewise.
1419         (vreinterpretq_s8_u64): Likewise.
1420         (vreinterpretq_s8_p8): Likewise.
1421         (vreinterpretq_s8_p16): Likewise.
1422         (vreinterpret_s16_s8): Likewise.
1423         (vreinterpret_s16_s32): Likewise.
1424         (vreinterpret_s16_s64): Likewise.
1425         (vreinterpret_s16_f32): Likewise.
1426         (vreinterpret_s16_u8): Likewise.
1427         (vreinterpret_s16_u16): Likewise.
1428         (vreinterpret_s16_u32): Likewise.
1429         (vreinterpret_s16_u64): Likewise.
1430         (vreinterpret_s16_p8): Likewise.
1431         (vreinterpret_s16_p16): Likewise.
1432         (vreinterpretq_s16_s8): Likewise.
1433         (vreinterpretq_s16_s32): Likewise.
1434         (vreinterpretq_s16_s64): Likewise.
1435         (vreinterpretq_s16_f32): Likewise.
1436         (vreinterpretq_s16_u8): Likewise.
1437         (vreinterpretq_s16_u16): Likewise.
1438         (vreinterpretq_s16_u32): Likewise.
1439         (vreinterpretq_s16_u64): Likewise.
1440         (vreinterpretq_s16_p8): Likewise.
1441         (vreinterpretq_s16_p16): Likewise.
1442         (vreinterpret_s32_s8): Likewise.
1443         (vreinterpret_s32_s16): Likewise.
1444         (vreinterpret_s32_s64): Likewise.
1445         (vreinterpret_s32_f32): Likewise.
1446         (vreinterpret_s32_u8): Likewise.
1447         (vreinterpret_s32_u16): Likewise.
1448         (vreinterpret_s32_u32): Likewise.
1449         (vreinterpret_s32_u64): Likewise.
1450         (vreinterpret_s32_p8): Likewise.
1451         (vreinterpret_s32_p16): Likewise.
1452         (vreinterpretq_s32_s8): Likewise.
1453         (vreinterpretq_s32_s16): Likewise.
1454         (vreinterpretq_s32_s64): Likewise.
1455         (vreinterpretq_s32_f32): Likewise.
1456         (vreinterpretq_s32_u8): Likewise.
1457         (vreinterpretq_s32_u16): Likewise.
1458         (vreinterpretq_s32_u32): Likewise.
1459         (vreinterpretq_s32_u64): Likewise.
1460         (vreinterpretq_s32_p8): Likewise.
1461         (vreinterpretq_s32_p16): Likewise.
1462         (vreinterpret_u8_s8): Likewise.
1463         (vreinterpret_u8_s16): Likewise.
1464         (vreinterpret_u8_s32): Likewise.
1465         (vreinterpret_u8_s64): Likewise.
1466         (vreinterpret_u8_f32): Likewise.
1467         (vreinterpret_u8_u16): Likewise.
1468         (vreinterpret_u8_u32): Likewise.
1469         (vreinterpret_u8_u64): Likewise.
1470         (vreinterpret_u8_p8): Likewise.
1471         (vreinterpret_u8_p16): Likewise.
1472         (vreinterpretq_u8_s8): Likewise.
1473         (vreinterpretq_u8_s16): Likewise.
1474         (vreinterpretq_u8_s32): Likewise.
1475         (vreinterpretq_u8_s64): Likewise.
1476         (vreinterpretq_u8_f32): Likewise.
1477         (vreinterpretq_u8_u16): Likewise.
1478         (vreinterpretq_u8_u32): Likewise.
1479         (vreinterpretq_u8_u64): Likewise.
1480         (vreinterpretq_u8_p8): Likewise.
1481         (vreinterpretq_u8_p16): Likewise.
1482         (vreinterpret_u16_s8): Likewise.
1483         (vreinterpret_u16_s16): Likewise.
1484         (vreinterpret_u16_s32): Likewise.
1485         (vreinterpret_u16_s64): Likewise.
1486         (vreinterpret_u16_f32): Likewise.
1487         (vreinterpret_u16_u8): Likewise.
1488         (vreinterpret_u16_u32): Likewise.
1489         (vreinterpret_u16_u64): Likewise.
1490         (vreinterpret_u16_p8): Likewise.
1491         (vreinterpret_u16_p16): Likewise.
1492         (vreinterpretq_u16_s8): Likewise.
1493         (vreinterpretq_u16_s16): Likewise.
1494         (vreinterpretq_u16_s32): Likewise.
1495         (vreinterpretq_u16_s64): Likewise.
1496         (vreinterpretq_u16_f32): Likewise.
1497         (vreinterpretq_u16_u8): Likewise.
1498         (vreinterpretq_u16_u32): Likewise.
1499         (vreinterpretq_u16_u64): Likewise.
1500         (vreinterpretq_u16_p8): Likewise.
1501         (vreinterpretq_u16_p16): Likewise.
1502         (vreinterpret_u32_s8): Likewise.
1503         (vreinterpret_u32_s16): Likewise.
1504         (vreinterpret_u32_s32): Likewise.
1505         (vreinterpret_u32_s64): Likewise.
1506         (vreinterpret_u32_f32): Likewise.
1507         (vreinterpret_u32_u8): Likewise.
1508         (vreinterpret_u32_u16): Likewise.
1509         (vreinterpret_u32_u64): Likewise.
1510         (vreinterpret_u32_p8): Likewise.
1511         (vreinterpret_u32_p16): Likewise.
1512         (vreinterpretq_u32_s8): Likewise.
1513         (vreinterpretq_u32_s16): Likewise.
1514         (vreinterpretq_u32_s32): Likewise.
1515         (vreinterpretq_u32_s64): Likewise.
1516         (vreinterpretq_u32_f32): Likewise.
1517         (vreinterpretq_u32_u8): Likewise.
1518         (vreinterpretq_u32_u16): Likewise.
1519         (vreinterpretq_u32_u64): Likewise.
1520         (vreinterpretq_u32_p8): Likewise.
1521         (vreinterpretq_u32_p16): Likewise.
1523 2014-04-22  Alex Velenko  <Alex.Velenko@arm.com>
1525         * gcc/config/aarch64/aarch64-simd.md (aarch64_s<optab><mode>):
1526         Pattern extended.
1527         * config/aarch64/aarch64-simd-builtins.def (sqneg): Iterator
1528         extended.
1529         (sqabs): Likewise.
1530         * config/aarch64/arm_neon.h (vqneg_s64): New intrinsic.
1531         (vqnegd_s64): Likewise.
1532         (vqabs_s64): Likewise.
1533         (vqabsd_s64): Likewise.
1535 2014-04-22  Richard Henderson  <rth@redhat.com>
1537         * config/sparc/sparc.c (sparc_init_modes): Hoist GET_MODE_SIZE
1538         computation to the top of the loop.
1540 2014-04-22  Renlin  <renlin.li@arm.com>
1541             Jiong Wang  <jiong.wang@arm.com>
1543         * config/aarch64/aarch64.h (aarch64_frame): Delete "fp_lr_offset".
1544         * config/aarch64/aarch64.c (aarch64_layout_frame)
1545         (aarch64_initial_elimination_offset): Likewise.
1547 2014-04-22  Marcus Shawcroft  <marcus.shawcroft@arm.com>
1549         * config/aarch64/aarch64.c (aarch64_initial_elimination_offset):
1550         Fix indentation.
1552 2014-04-22  Richard Sandiford  <rdsandiford@googlemail.com>
1554         * machmode.h (bitwise_mode_for_mode): Declare.
1555         * stor-layout.h (bitwise_type_for_mode): Likewise.
1556         * stor-layout.c (bitwise_mode_for_mode): New function.
1557         (bitwise_type_for_mode): Likewise.
1558         * builtins.c (fold_builtin_memory_op): Use it instead of
1559         int_mode_for_mode and build_nonstandard_integer_type.
1561 2014-04-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1563         * config.gcc (enable_obsolete): Remove *-*-solaris2.9*.
1564         (*-*-solaris2.[0-9] | *-*-solaris2.[0-9].*): Mark unsupported.
1565         (*-*-solaris2*): Simplify.
1566         (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Likewise.
1567         (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Remove
1568         *-*-solaris2.9* handling.
1570         * configure.ac (gcc_cv_as_hidden): Remove test for Solaris 9/x86
1571         as bug.
1572         (gcc_cv_ld_hidden): Remove *-*-solaris2.9* handling.
1573         (ld_tls_support): Remove i?86-*-solaris2.9, sparc*-*-solaris2.9
1574         handling, simplify.
1575         (gcc_cv_as_gstabs_flag): Remove workaround for Solaris 9/x86 as bug.
1576         * configure: Regenerate.
1578         * config/i386/sol2-9.h: Remove.
1580         * doc/install.texi (Specific, i?86-*-solaris2.9): Remove.
1581         (Specific, *-*-solaris2*): Mention Solaris 9 support removal.
1582         Remove Solaris 9 references.
1584 2014-04-22  Vidya Praveen  <vidyapraveen@arm.com>
1586         * aarch64.md (float<GPI:mode><GPF:mode>2): Remove.
1587         (floatuns<GPI:mode><GPF:mode>2): Remove.
1588         (<optab><fcvt_target><GPF:mode>2): New pattern for equal width float
1589         and floatuns conversions.
1590         (<optab><fcvt_iesize><GPF:mode>2): New pattern for inequal width float
1591         and floatuns conversions.
1592         * iterators.md (fcvt_target, FCVT_TARGET): Support SF and DF modes.
1593         (w1,w2): New mode attributes for inequal width conversions.
1595 2014-04-22  Renlin Li  <Renlin.Li@arm.com>
1597         * config/aarch64/aarch64.c (aarch64_print_operand_address): Adjust
1598         the output asm format.
1600 2014-04-22  James Greenhalgh  <james.greenhalgh@arm.com>
1602         * config/aarch64/aarch64-simd.md
1603         (aarch64_cm<optab>di): Always split.
1604         (*aarch64_cm<optab>di): New.
1605         (aarch64_cmtstdi): Always split.
1606         (*aarch64_cmtstdi): New.
1608 2014-04-22  Jakub Jelinek  <jakub@redhat.com>
1610         PR tree-optimization/60823
1611         * omp-low.c (ipa_simd_modify_function_body): Go through
1612         all SSA_NAMEs and for those refering to vector arguments
1613         which are going to be replaced adjust SSA_NAME_VAR and,
1614         if it is a default definition, change it into a non-default
1615         definition assigned at the beginning of function from new_decl.
1616         (ipa_simd_modify_stmt_ops): Rewritten.
1617         * tree-dfa.c (set_ssa_default_def): When removing default def,
1618         check for NULL loc instead of NULL *loc.
1620 2014-04-22  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1622         * config/arm/arm.c (arm_hard_regno_mode_ok): Loosen
1623         restrictions on core registers for DImode values in Thumb2.
1625 2014-04-22  Ian Bolton  <ian.bolton@arm.com>
1627         * config/arm/arm.md (*anddi_notdi_zesidi): New pattern.
1628         * config/arm/thumb2.md (*iordi_notdi_zesidi): New pattern.
1630 2014-04-22  Ian Bolton  <ian.bolton@arm.com>
1632         * config/arm/thumb2.md (*iordi_notdi_di): New pattern.
1633         (*iordi_notzesidi_di): Likewise.
1634         (*iordi_notsesidi_di): Likewise.
1636 2014-04-22  Ian Bolton  <ian.bolton@arm.com>
1638         * config/arm/arm-protos.h (tune_params): New struct members.
1639         * config/arm/arm.c: Initialise tune_params per processor.
1640         (thumb2_reorg): Suppress conversion from t32 to t16 when optimizing
1641         for speed, based on new tune_params.
1643 2014-04-22  Alex Velenko  <Alex.Velenko@arm.com>
1645         * config/aarch64/aarch64-builtins.c (BUILTIN_VDQF_DF): Macro
1646         added.
1647         * config/aarch64/aarch64-simd-builtins.def (frintn): Use added
1648         macro.
1649         * config/aarch64/aarch64-simd.md (<frint_pattern>): Comment
1650         corrected.
1651         * config/aarch64/aarch64.md (<frint_pattern>): Likewise.
1652         * config/aarch64/arm_neon.h (vrnd_f64): Added.
1653         (vrnda_f64): Likewise.
1654         (vrndi_f64): Likewise.
1655         (vrndm_f64): Likewise.
1656         (vrndn_f64): Likewise.
1657         (vrndp_f64): Likewise.
1658         (vrndx_f64): Likewise.
1660 2014-04-22  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
1662         * config/arm/arm.c (arm_print_operand, thumb_exit): Make sure
1663         GET_MODE_SIZE argument is enum machine_mode.
1665 2014-04-22  Jakub Jelinek  <jakub@redhat.com>
1667         PR target/60910
1668         * config/sparc/sparc.c (sparc_init_modes): Pass enum machine_mode
1669         value instead of int to GET_MODE_CLASS and GET_MODE_SIZE macros.
1671 2014-04-22  Lin Zuojian  <manjian2006@gmail.com>
1673         PR middle-end/60281
1674         * asan.c (asan_emit_stack_protection): Force the base to align to
1675         appropriate bits if STRICT_ALIGNMENT.  Set shadow_mem align to
1676         appropriate bits if STRICT_ALIGNMENT.
1677         * cfgexpand.c (expand_stack_vars): Set base_align appropriately
1678         when asan is on.
1679         (expand_used_vars): Leave a space in the stack frame for alignment
1680         if STRICT_ALIGNMENT.
1682 2014-04-21  David Malcolm  <dmalcolm@redhat.com>
1684         * gimple.h (gimple_assign_single_p): Accept a const_gimple rather
1685         than a gimple.
1686         (gimple_store_p): Likewise.
1687         (gimple_assign_load_p): Likewise.
1688         (gimple_assign_cast_p): Likewise.
1689         (gimple_clobber_p): Likewise.
1691         * doc/gimple.texi (gimple_assign_cast_p): Accept a const_gimple
1692         rather than a gimple.
1693         (gimple_assign_cast_p): Likewise.
1695 2014-04-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
1697         PR target/60735
1698         * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64 case):
1699         If mode is DDmode and TARGET_E500_DOUBLE allow move.
1701         * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print some
1702         more debug information for E500 if -mdebug=reg.
1704 2014-04-21  Uros Bizjak  <ubizjak@gmail.com>
1706         PR target/60909
1707         * config/i386/i386.c (ix86_expand_builtin)
1708         <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
1709         register for target RTX.
1710         <case IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Ditto.
1712 2014-04-18  Cong Hou  <congh@google.com>
1714         * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance
1715         the widen-mult pattern by handling two operands with different sizes,
1716         and operands whose size is smaller than half of the result type.
1718 2014-04-18  Jan Hubicka  <hubicka@ucw.cz>
1720         * ipa-inline.h (INLINE_HINT_known_hot): New hint.
1721         * ipa-inline-analysis.c (dump_inline_hints): Dump it.
1722         (do_estimate_edge_time): Compute it.
1723         * ipa-inline.c (want_inline_small_function_p): Bypass
1724         INLINE_INSNS_AUTO/SINGLE limits for calls that are known to be hot.
1726 2014-04-18  Jan Hubicka  <hubicka@ucw.cz>
1728         * ipa-inline.c (spec_rem): New static variable.
1729         (dump_overall_stats): New function.
1730         (dump_inline_stats): New function.
1732 2014-04-18  Richard Henderson  <rth@redhat.com>
1734         * config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
1735         to GET_MODE_SIZE, not a reg_class_t.
1737 2014-04-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1739         * config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for little-endian.
1740         (vsx_xxmrglw_<mode>): Likewise.
1742 2014-04-17  Michael Meissner  <meissner@linux.vnet.ibm.com>
1744         PR target/60876
1745         * config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Make sure
1746         GET_MODE_SIZE gets passed an enum machine_mode type and not integer.
1747         (rs6000_init_hard_regno_mode_ok): Likewise.
1749 2014-04-17  Jan Hubicka  <hubicka@ucw.cz>
1751         * ipa-inline.c (inline_small_functions): Account only non-cold
1752         functions.
1753         * doc/invoke.texi (inline-unit-growth): Update documentation.
1755 2014-04-17  Pat Haugen  <pthaugen@us.ibm.com>
1757         * config/rs6000/rs6000.md (addti3, subti3): New.
1759 2014-04-17  H.J. Lu  <hongjiu.lu@intel.com>
1761         PR target/60863
1762         * config/i386/i386.c (ix86_expand_clear): Remove outdated
1763         comment.  Check optimize_insn_for_size_p instead of
1764         optimize_insn_for_speed_p.
1766 2014-04-17  Martin Jambor  <mjambor@suse.cz>
1768         * gimple-iterator.c (gsi_start_edge): New function.
1769         * gimple-iterator.h (gsi_start_edge): Declare.
1770         * tree-sra.c (single_non_eh_succ): New function.
1771         (disqualify_ops_if_throwing_stmt): Renamed to
1772         disqualify_if_bad_bb_terminating_stmt.  Allow throwing statements
1773         having one non-EH successor BB.
1774         (sra_modify_expr): If stmt ends bb, use single non-EH successor to
1775         generate loads into replacements.
1776         (sra_modify_assign): Likewise and and also use the simple path for
1777         such statements.
1778         (sra_modify_function_body): Commit statements on edges.
1780 2014-04-17  Richard Biener  <rguenther@suse.de>
1782         PR middle-end/60849
1783         * tree-ssa-propagate.c (valid_gimple_rhs_p): Allow vector
1784         comparison results and add clarifying comment.
1786 2014-04-17  Jakub Jelinek  <jakub@redhat.com>
1788         * genmodes.c (struct mode_data): Add need_bytesize_adj field.
1789         (blank_mode): Initialize it.
1790         (emit_mode_size_inline, emit_mode_nunits_inline,
1791         emit_mode_inner_inline): New functions.
1792         (emit_insn_modes_h): Call them and surround their output with
1793         #if GCC_VERSION >= 4001 ... #endif.
1794         * machmode.h (GET_MODE_SIZE, GET_MODE_NUNITS, GET_MODE_INNER):
1795         For GCC_VERSION >= 4001 use mode_*_inline routines instead of
1796         mode_* arrays if the argument is __builtin_constant_p.
1797         * lower-subreg.c (dump_choices): Make sure GET_MODE_SIZE argument
1798         is enum machine_mode.
1800 2014-04-17  Trevor Saunders  <tsaunders@mozilla.com>
1802         * passes.c (opt_pass::execute): Adjust.
1803         (pass_manager::execute_pass_mode_switching): Likewise.
1804         (early_local_passes::execute): Likewise.
1805         (execute_one_pass): Pass cfun to the pass's execute method.
1806         * tree-pass.h (opt_pass::execute): Add function * argument.
1807         * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
1808         cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
1809         compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
1810         config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
1811         config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
1812         config/sparc/sparc.c, cprop.c, dce.c, df-core.c, dse.c, dwarf2cfi.c,
1813         except.c, final.c, function.c, fwprop.c, gcse.c, gimple-low.c,
1814         gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
1815         graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
1816         ipa-inline-analysis.c, ipa-inline.c, ipa-profile.c, ipa-pure-const.c,
1817         ipa-reference.c, ipa-split.c, ipa.c, ira.c, jump.c, loop-init.c,
1818         lower-subreg.c, mode-switching.c, omp-low.c, postreload-gcse.c,
1819         postreload.c, predict.c, recog.c, ree.c, reg-stack.c, regcprop.c,
1820         reginfo.c, regrename.c, reorg.c, sched-rgn.c, stack-ptr-mod.c,
1821         store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
1822         tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
1823         tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
1824         tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-ssa-ccp.c,
1825         tree-ssa-copy.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
1826         tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
1827         tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
1828         tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
1829         tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
1830         tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
1831         tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
1832         tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
1833         tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
1834         tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
1835         tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
1836         Adjust.
1838 2014-04-17  Trevor Saunders  <tsaunders@mozilla.com>
1840         * passes.c (opt_pass::gate): Take function * argument.
1841         (gate_all_early_local_passes): Merge into
1842         (early_local_passes::gate): this.
1843         (gate_all_early_optimizations): Merge into
1844         (all_early_optimizations::gate): this.
1845         (gate_all_optimizations): Mege into
1846         (all_optimizations::gate): this.
1847         (gate_all_optimizations_g): Merge into
1848         (all_optimizations_g::gate): this.
1849         (gate_rest_of_compilation): Mege into
1850         (rest_of_compilation::gate): this.
1851         (gate_postreload): Merge into
1852         (postreload::gate): this.
1853         (dump_one_pass): Pass cfun to the pass's gate method.
1854         (execute_ipa_summary_passes): Likewise.
1855         (execute_one_pass): Likewise.
1856         (ipa_write_summaries_2): Likewise.
1857         (ipa_write_optimization_summaries_1): Likewise.
1858         (ipa_read_summaries_1): Likewise.
1859         (ipa_read_optimization_summaries_1): Likewise.
1860         (execute_ipa_stmt_fixups): Likewise.
1861         * tree-pass.h (opt_pass::gate): Add function * argument.
1862         * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c,
1863         combine-stack-adj.c, combine.c, compare-elim.c,
1864         config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
1865         config/rl78/rl78.c, config/sh/sh_optimize_sett_clrt.cc,
1866         config/sh/sh_treg_combine.cc, config/sparc/sparc.c, cprop.c, cse.c,
1867         dce.c, df-core.c, dse.c, dwarf2cfi.c, except.c,  fwprop.c, gcse.c,
1868         gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
1869         graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
1870         ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
1871         loop-init.c, lower-subreg.c, mode-switching.c, modulo-sched.c,
1872         omp-low.c, postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
1873         reg-stack.c, regcprop.c, regrename.c, reorg.c, sched-rgn.c,
1874         store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
1875         tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
1876         tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c,
1877         tree-nrv.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
1878         tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
1879         tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
1880         tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
1881         tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
1882         tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
1883         tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
1884         tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
1885         tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
1886         tree-ssa.c, tree-stdarg.c, tree-switch-conversion.c, tree-tailcall.c,
1887         tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c, tsan.c, ubsan.c,
1888         var-tracking.c, vtable-verify.c, web.c: Adjust.
1890 2014-04-17  Trevor Saunders  <tsaunders@mozilla.com>
1892         * configure.ac: Check for -Woverloaded-virtual and enable it if found.
1893         * configure: Regenerate.
1895 2014-04-17  Trevor Saunders  <tsaunders@mozilla.com>
1897         * passes.c (dump_one_pass): don't check pass->has_gate.
1898         (execute_ipa_summary_passes): Likewise.
1899         (execute_one_pass): Likewise.
1900         (ipa_write_summaries_2): Likewise.
1901         (ipa_write_optimization_summaries_1): Likewise.
1902         (ipa_read_optimization_summaries_1): Likewise.
1903         (execute_ipa_stmt_fixups): Likewise.
1904         * tree-pass.h (pass_data::has_gate): Remove.
1905         * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
1906         cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
1907         compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
1908         config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
1909         config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
1910         config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
1911         config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
1912         dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
1913         gimple-low.c, gimple-ssa-isolate-paths.c,
1914         gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
1915         ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c,
1916         ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
1917         ira.c, jump.c, loop-init.c, lower-subreg.c, mode-switching.c,
1918         modulo-sched.c, omp-low.c, postreload-gcse.c, postreload.c, predict.c,
1919         recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
1920         reorg.c, sched-rgn.c, stack-ptr-mod.c, store-motion.c, tracer.c,
1921         trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
1922         tree-complex.c, tree-eh.c, tree-emutls.c, tree-if-conv.c,
1923         tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
1924         tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
1925         tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
1926         tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
1927         tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
1928         tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
1929         tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
1930         tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
1931         tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
1932         tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
1933         tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
1934         tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
1935         tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
1936         Adjust.
1938 2014-04-17  Trevor Saunders  <tsaunders@mozilla.com>
1940         * pass_manager.h (pass_manager::register_dump_files_1): Remove
1941         declaration.
1942         * passes.c (pass_manager::register_dump_files_1): Merge into
1943         (pass_manager::register_dump_files): this, and remove its handling of
1944         properties since the pass always has the properties anyway.
1945         (pass_manager::pass_manager): Adjust.
1947 2014-04-17  Trevor Saunders  <tsaunders@mozilla.com>
1949         * pass_manager.h (pass_manager::register_dump_files_1): Adjust.
1950         * passes.c (pass_manager::register_dump_files_1): Remove dead code
1951         dealing with properties.
1952         (pass_manager::register_dump_files): Adjust.
1954 2014-03-20  Mark Wielaard  <mjw@redhat.com>
1956         * dwarf2out.c (add_bound_info): If HOST_WIDE_INT is big enough,
1957         then represent the bound as normal constant value.
1959 2014-04-17  Jakub Jelinek  <jakub@redhat.com>
1961         PR target/60847
1962         Forward port from 4.8 branch
1963         2013-07-19  Kirill Yukhin  <kirill.yukhin@intel.com>
1965         * config/i386/bmiintrin.h (_blsi_u32): New.
1966         (_blsi_u64): Ditto.
1967         (_blsr_u32): Ditto.
1968         (_blsr_u64): Ditto.
1969         (_blsmsk_u32): Ditto.
1970         (_blsmsk_u64): Ditto.
1971         (_tzcnt_u32): Ditto.
1972         (_tzcnt_u64): Ditto.
1974 2014-04-17  Kito Cheng  <kito@0xlab.org>
1976         * gcc.c (used_arg): Prevent out of bound access for multilib_options.
1978 2014-04-17  Richard Biener  <rguenther@suse.de>
1980         PR middle-end/60849
1981         * tree-ssa-propagate.c (valid_gimple_rhs_p): Only allow effective
1982         boolean results for comparisons.
1984 2014-04-17  Richard Biener  <rguenther@suse.de>
1986         PR tree-optimization/60836
1987         * tree-vect-loop.c (vect_create_epilog_for_reduction): Force
1988         initial PHI args to be gimple values.
1990 2014-04-17   Richard Biener  <rguenther@suse.de>
1992         PR tree-optimization/60841
1993         * tree-vect-data-refs.c (vect_analyze_data_refs): Count stmts.
1994         * tree-vect-loop.c (vect_analyze_loop_2): Pass down number
1995         of stmts to SLP build.
1996         * tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
1997         (vect_analyze_slp): Likewise.
1998         (vect_analyze_slp_instance): Likewise.
1999         (vect_build_slp_tree): Limit overall SLP tree growth.
2000         * tree-vectorizer.h (vect_analyze_data_refs,
2001         vect_analyze_slp): Adjust prototypes.
2003 2014-04-17  Evgeny Stupachenko  <evstupac@gmail.com>
2005         * config/i386/i386.c (x86_add_stmt_cost): Fix vector cost model for
2006         Silvermont.
2008 2014-04-17  Evgeny Stupachenko  <evstupac@gmail.com>
2010         * config/i386/x86-tune.def (TARGET_SLOW_PSHUFB): New tune definition.
2011         * config/i386/i386.h (TARGET_SLOW_PSHUFB): New tune flag.
2012         * config/i386/i386.c (expand_vec_perm_even_odd_1): Avoid byte shuffles
2013         for TARGET_SLOW_PSHUFB
2015 2014-04-17  Evgeny Stupachenko  <evstupac@gmail.com>
2017         * config/i386/i386.c (slm_cost): Adjust vec_to_scalar_cost.
2018         * config/i386/i386.c (intel_cost): Ditto.
2020 2014-04-17  Joey Ye  <joey.ye@arm.com>
2022         * opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og.
2024 2014-04-16  Jan Hubicka  <hubicka@ucw.cz>
2026         * opts.c (common_handle_option): Disable -fipa-reference coorectly
2027         with -fuse-profile.
2029 2014-04-16  Jan Hubicka  <hubicka@ucw.cz>
2031         * ipa-devirt.c (odr_type_d): Add field all_derivations_known.
2032         (type_all_derivations_known_p): New predicate.
2033         (type_all_ctors_visible_p): New predicate.
2034         (type_possibly_instantiated_p): New predicate.
2035         (get_odr_type): Compute all_derivations_known.
2036         (dump_odr_type): Dump the flag.
2037         (maybe_record_type): Cleanup.
2038         (record_target_from_binfo): Add bases_to_consider array;
2039         record bases for types w/o instances and skip CXX destructor.
2040         (possible_polymorphic_call_targets_1): Add bases_to_consider
2041         and consider_construction parameters; check if type may have instance.
2042         (get_polymorphic_call_info): Set maybe_in_construction to true
2043         when we know nothing.
2044         (record_targets_from_bases): Skip CXX destructors; they are
2045         never called for types in construction.
2046         (possible_polymorphic_call_targets): Do not record target when
2047         type may not have instance.
2049 2014-04-16  Jan Hubicka  <hubicka@ucw.cz>
2051         PR ipa/60854
2052         * ipa.c (symtab_remove_unreachable_nodes): Mark targets of
2053         external aliases alive, too.
2055 2014-04-16  Andrew  Pinski  <apinski@cavium.com>
2057         * config/host-linux.c (TRY_EMPTY_VM_SPACE): Change aarch64 ilp32
2058         definition.
2060 2014-04-16  Eric Botcazou  <ebotcazou@adacore.com>
2062         * final.c (compute_alignments): Do not apply loop alignment to a block
2063         falling through to the exit.
2065 2014-04-16  Catherine Moore  <clm@codesourcery.com>
2067         * mips.md (*mov<mode>_internal, *movhi_internal, *movqi_internal):
2068         Adjust constraints for microMIPS store patterns.
2070 2014-04-16  Pitchumani Sivanupandi  <Pitchumani.S@atmel.com>
2072         * config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro.
2074 2014-04-16  Eric Botcazou  <ebotcazou@adacore.com>
2076         * tree-ssa-operands.c (create_vop_var): Set DECL_IGNORED_P.
2077         (append_use): Run at -O0.
2078         (append_vdef): Likewise.
2079         * tree-ssa-ter.c (ter_is_replaceable_p): Do not special-case -O0.
2080         * tree-ssa-uninit.c (warn_uninitialized_vars): Remove obsolete comment.
2082 2014-04-16  Jakub Jelinek  <jakub@redhat.com>
2084         PR tree-optimization/60844
2085         * tree-ssa-reassoc.c (reassoc_remove_stmt): New function.
2086         (propagate_op_to_single_use, remove_visited_stmt_chain,
2087         linearize_expr, repropagate_negates, reassociate_bb): Use it
2088         instead of gsi_remove.
2090 2014-04-16  Martin Jambor  <mjambor@suse.cz>
2092         * cgraphclones.c (cgraph_create_virtual_clone): Duplicate
2093         ipa_transforms_to_apply.
2094         (cgraph_function_versioning): Assert that old_node has empty
2095         ipa_transforms_to_apply.
2096         * trans-mem.c (ipa_tm_create_version): Likewise.
2097         * tree-inline.c (tree_function_versioning): Do not duplicate
2098         ipa_transforms_to_apply.
2100 2014-04-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2102         PR target/60817
2103         * configure.ac (set_have_as_tls): Merge i[34567]86-*-* and
2104         x86_64-*-* cases.
2105         Pass necessary as flags on 64-bit Solaris/x86.
2106         Use lowercase relocs for x86_64-*-*.
2107         * configure: Regenerate.
2109 2014-04-15  Jan Hubicka  <jh@suse.cz>
2111         * ipa-devirt.c (referenced_from_vtable_p): New predicate.
2112         (maybe_record_node, likely_target_p): Use it.
2114 2014-04-15  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2116         PR target/60839
2117         Revert following patch
2119         2014-04-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
2121         PR target/60735
2122         * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
2123         software floating point or no floating point registers, do not
2124         allow any type in the FPRs.  Eliminate a test for SPE SIMD types
2125         in GPRs that occurs after we tested for GPRs that would never be
2126         true.
2128         * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
2129         Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
2130         since the FMOVE64 type is DFmode/DDmode.  If TARGET_E500_DOUBLE,
2131         specifically allow DDmode, since that does not use the SPE SIMD
2132         instructions.
2134 2014-03-21  Mark Wielaard  <mjw@redhat.com>
2136         * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_const_value
2137         as unsigned or int depending on type and value used.
2139 2014-04-15  Richard Biener  <rguenther@suse.de>
2141         PR rtl-optimization/56965
2142         * alias.c (ncr_compar, nonoverlapping_component_refs_p): Move ...
2143         * tree-ssa-alias.c (ncr_compar, nonoverlapping_component_refs_p):
2144         ... here.
2145         * alias.c (true_dependence_1): Do not call
2146         nonoverlapping_component_refs_p.
2147         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Call
2148         nonoverlapping_component_refs_p.
2149         (indirect_refs_may_alias_p): Likewise.
2151 2014-04-15  Teresa Johnson  <tejohnson@google.com>
2153         * cfg.c (dump_bb_info): Fix flags check.
2154         * tree-cfg.c (remove_bb): Only dump TDF_BLOCKS when removing.
2156 2014-04-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2158         PR rtl-optimization/60663
2159         * config/arm/arm.c (arm_new_rtx_costs): Improve ASM_OPERANDS case,
2160         avoid 0 cost.
2162 2014-04-15  Richard Biener  <rguenther@suse.de>
2164         * lto-streamer.h (LTO_major_version): Bump to 4.
2166 2014-04-15  Richard Biener  <rguenther@suse.de>
2168         * common.opt (lto_partition_model): New enum.
2169         (flto-partition=): Merge separate options with a single with argument,
2170         add -flto-partition=one support.
2171         * flag-types.h (enum lto_partition_model): Declare.
2172         * opts.c (finish_options): Remove duplicate -flto-partition=
2173         option check.
2174         * lto-wrapper.c (run_gcc): Adjust.
2176 2014-04-15  Richard Biener  <rguenther@suse.de>
2178         * alias.c (ncr_compar): New function.
2179         (nonoverlapping_component_refs_p): Re-implement in O (n log n).
2181 2014-04-15  Richard Biener  <rguenther@suse.de>
2183         * alias.c (record_component_aliases): Do not walk BINFOs.
2185 2014-04-15  Richard Biener  <rguenther@suse.de>
2187         * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
2188         Add struct function argument and adjust.
2189         (find_func_aliases_for_call): Likewise.
2190         (find_func_aliases): Likewise.
2191         (find_func_clobbers): Likewise.
2192         (intra_create_variable_infos): Likewise.
2193         (compute_points_to_sets): Likewise.
2194         (ipa_pta_execute): Adjust.  Do not push/pop cfun.
2196 2014-04-15  Richard Biener  <rguenther@suse.de>
2198         * tree.c (iterative_hash_expr): Use enum tree_code_class
2199         to store TREE_CODE_CLASS.
2200         (tree_block): Likewise.
2201         (tree_set_block): Likewise.
2202         * tree.h (fold_build_pointer_plus_loc): Use
2203         convert_to_ptrofftype_loc.
2205 2014-04-15  Jakub Jelinek  <jakub@redhat.com>
2207         PR plugins/59335
2208         * Makefile.in (PLUGIN_HEADERS): Add various headers that have been
2209         added in 4.9.
2211 2014-04-15  Eric Botcazou  <ebotcazou@adacore.com>
2213         * cfgloop.h (struct loop): Move force_vectorize down.
2214         * gimplify.c (gimple_boolify) <ANNOTATE_EXPR>: Handle new kinds.
2215         (gimplify_expr) <ANNOTATE_EXPR>: Minor tweak.
2216         * lto-streamer-in.c (input_cfg): Read dont_vectorize field.
2217         * lto-streamer-out.c (output_cfg): Write dont_vectorize field.
2218         * tree-cfg.c (replace_loop_annotate): Revamp and handle new kinds.
2219         * tree-core.h (enum annot_expr_kind): Add new kind values.
2220         * tree-inline.c (copy_loops): Copy dont_vectorize field and reorder.
2221         * tree-pretty-print.c (dump_generic_node) <ANNOTATE_EXPR>: Handle new
2222         kinds.
2223         * tree.def (ANNOTATE_EXPR): Tweak comment.
2225 2014-04-14  Jan Hubicka  <hubicka@ucw.cz>
2227         * ipa-devirt.c (maybe_record_node): Ignore all non-methods (including
2228         cxa_pure_virtual).
2230 2014-04-14  Paolo Carlini  <paolo.carlini@oracle.com>
2232         * tree.h (TYPE_IDENTIFIER): Declare.
2233         * tree.c (subrange_type_for_debug_p): Use it.
2234         * godump.c (go_format_type): Likewise.
2235         * dwarf2out.c (is_cxx_auto, modified_type_die,
2236         gen_type_die_with_usage, gen_type_die_with_usage): Likewise.
2237         * dbxout.c (dbxout_type, dbxout_symbol): Likewise.
2239 2014-04-14  Jan Hubicka   <hubicka@ucw.cz>
2241         PR lto/60820
2242         * varpool.c (varpool_remove_node): Do not alter decls when streaming.
2244 2014-04-14  Uros Bizjak  <ubizjak@gmail.com>
2246         * config/i386/i386.c (examine_argument): Return bool.  Return true if
2247         parameter should be passed in memory.
2248         <case X86_64_COMPLEX_X87_CLASS>: Adjust.
2249         (construct_container): Update calls to examine_argument.
2250         (function_arg_advance_64): Ditto.
2251         (return_in_memory_32): Merge with ix86_return_in_memory.
2252         (return_in_memory_64): Ditto.
2253         (return_in_memory_ms_64): Ditto.
2255 2014-04-14  Jan Hubicka  <hubicka@ucw.cz>
2257         * ipa-utils.c (ipa_merge_profiles): Merge profile_id.
2258         * coverage.c (coverage_compute_profile_id): Handle externally visible
2259         symbols.
2261 2014-04-14  Martin Jambor  <mjambor@suse.cz>
2263         * tree-sra.c (ipa_sra_preliminary_function_checks): Skip
2264         DECL_DISREGARD_INLINE_LIMITS functions.
2266 2014-04-14  H.J. Lu  <hongjiu.lu@intel.com>
2268         PR target/60827
2269         * config/i386/i386.md (*fixuns_trunc<mode>_1): Revert the last change.
2271 2014-04-14  H.J. Lu  <hongjiu.lu@intel.com>
2273         PR target/60827
2274         * config/i386/i386.md (*fixuns_trunc<mode>_1): Check
2275         optimize_insn_for_speed_p instead of
2276         optimize_function_for_speed_p.
2278 2014-04-14  Yufeng Zhang  <yufeng.zhang@arm.com>
2280         * doc/invoke.texi (free): Document AArch64.
2282 2014-04-14  Richard Biener  <rguenther@suse.de>
2284         PR tree-optimization/60042
2285         * tree-ssa-pre.c (inhibit_phi_insertion): Remove.
2286         (insert_into_preds_of_block): Do not prevent PHI insertion
2287         for REFERENCE exprs here ...
2288         (eliminate_dom_walker::before_dom_children): ... but prevent
2289         their use here under similar conditions when applied to the
2290         IL after PRE optimizations.
2292 2014-04-14  Richard Biener  <rguenther@suse.de>
2294         * passes.def: Move early points-to after early SRA.
2296 2014-04-14  Richard Biener  <rguenther@suse.de>
2298         * tree-ssa-forwprop.c (simplify_gimple_switch): Enhance
2299         check for which sign-changes we allow when forwarding
2300         a converted value into a switch.
2302 2014-04-14  Eric Botcazou  <ebotcazou@adacore.com>
2304         * stor-layout.c (place_field): Finalize non-constant offset for the
2305         field, if any.
2307 2014-04-14  Richard Biener  <rguenther@suse.de>
2309         * tree-switch-conversion.c (lshift_cheap_p): Get speed_p
2310         as argument.
2311         (expand_switch_using_bit_tests_p): Likewise.
2312         (process_switch): Compute and pass on speed_p based on the
2313         switch stmt.
2314         * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use
2315         optimize_bb_for_speed_p.
2317 2014-04-14  Eric Botcazou  <ebotcazou@adacore.com>
2319         * cfgloop.h (struct loop): Rename force_vect into force_vectorize.
2320         * function.h (struct function): Rename has_force_vect_loops into
2321         has_force_vectorize_loops.
2322         * lto-streamer-in.c (input_cfg): Adjust for renaming.
2323         (input_struct_function_base): Likewise.
2324         * lto-streamer-out.c (output_cfg): Likewise.
2325         (output_struct_function_base): Likewise.
2326         * omp-low.c (expand_omp_simd): Likewise.
2327         * tree-cfg.c (move_sese_region_to_fn): Likewise.
2328         * tree-if-conv.c (ifcvt_can_use_mask_load_store): Likewise.
2329         (version_loop_for_if_conversion): Likewise.
2330         (tree_if_conversion): Likewise.
2331         (main_tree_if_conversion): Likewise.
2332         (gate_tree_if_conversion): Likewise.
2333         * tree-inline.c (copy_loops): Likewise.
2334         * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Likewise.
2335         * tree-ssa-loop.c (tree_loop_vectorize): Likewise.
2336         * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
2337         * tree-vect-loop.c (vect_estimate_min_profitable_iters): Likewise.
2338         * tree-vectorizer.c (vectorize_loops): Likewise.
2339         * tree-vectorizer.h (unlimited_cost_model): Likewise.
2341 2014-04-14  Richard Biener  <rguenther@suse.de>
2343         PR lto/60720
2344         * lto-streamer-out.c (wrap_refs): New function.
2345         (lto_output): Wrap symbol references in global initializes in
2346         type-preserving MEM_REFs.
2348 2014-04-14  Christian Bruel  <christian.bruel@st.com>
2350         * config/sh/sh-mem.cc (sh_expand_strlen): Unroll last word.
2352 2014-04-14  Christian Bruel  <christian.bruel@st.com>
2354         * config/sh/sh.md (setmemqi): New expand pattern.
2355         * config/sh/sh.h (CLEAR_RATIO): Define.
2356         * config/sh/sh-mem.cc (sh_expand_setmem): Define.
2357         * config/sh/sh-protos.h (sh_expand_setmem): Declare.
2359 2014-04-14  Richard Biener  <rguenther@suse.de>
2361         PR middle-end/55022
2362         * fold-const.c (negate_expr_p): Don't negate directional rounding
2363         division.
2364         (fold_negate_expr): Likewise.
2366 2014-04-14  Richard Biener  <rguenther@suse.de>
2368         PR tree-optimization/59817
2369         PR tree-optimization/60453
2370         * graphite-scop-detection.c (graphite_can_represent_scev): Complete
2371         recursion to catch all CHRECs in the scalar evolution and restrict
2372         the predicate for the remains appropriately.
2374 2014-04-12  Catherine Moore  <clm@codesourcery.com>
2376         * config/mips/constraints.md: Add new register constraint "kb".
2377         * config/mips/mips.md (*mov<mode>_internal): Use constraint "kb".
2378         (*movhi_internal): Likewise.
2379         (*movqi_internal): Likewise.
2380         * config/mips/mips.h (M16_STORE_REGS): New register class.
2381         (REG_CLASS_NAMES): Add M16_STORE_REGS.
2382         (REG_CLASS_CONTENTS): Likewise.
2383         * config/mips/mips.c (mips_regno_to_class): Add M16_STORE_REGS.
2385 2014-04-11  Tobias Burnus  <burnus@net-b.de>
2387         PR c/60194
2388         * doc/invoke.texi (-Wformat-signedness): Document it.
2389         (Wformat=2): Mention that this enables -Wformat-signedness.
2391 2014-04-11  Joern Rennecke  <joern.rennecke@embecosm.com>
2393         * common/config/epiphany/epiphany-common.c
2394         (epiphany_option_optimization_table): Enable section anchors by
2395         default at -O1 or higher.
2396         * config/epiphany/epiphany.c (TARGET_MAX_ANCHOR_OFFSET): Define.
2397         (TARGET_MIN_ANCHOR_OFFSET): Likewise.
2398         (epiphany_rtx_costs) <SET>: For binary operators, the set as such
2399         carries no extra cost.
2400         (epiphany_legitimate_address_p): For BLKmode, apply SImode check.
2401         * config/epiphany/epiphany.h (ASM_OUTPUT_DEF): Define.
2402         * config/epiphany/predicates.md (memclob_operand): New predicate.
2403         * config/epiphany/epiphany.md (stack_adjust_add, stack_adjust_str):
2404         Use memclob_operand predicate and X constraint for operand 3.
2406 2014-04-11  Joern Rennecke  <joern.rennecke@embecosm.com>
2408         * config/epiphany/epiphany.c (epiphany_rtx_cost): Compare
2409         with CC_N_NE / CC_C_LTU / CC_C_GTU carries no extra cost for
2410         its operands.
2412 2014-04-11  Joern Rennecke  <joern.rennecke@embecosm.com>
2414         PR rtl-optimization/60651
2415         * mode-switching.c (optimize_mode_switching): Make sure to emit
2416         sets of a lower numbered entity before sets of a higher numbered
2417         entity to a mode of the same or lower priority.
2418         When creating a seginfo for a basic block that starts with a code
2419         label, move the insertion point past the code label.
2420         (new_seginfo): Document and enforce requirement that
2421         NOTE_INSN_BASIC_BLOCK only appears for empty blocks.
2422         * doc/tm.texi.in: Document ordering constraint for emitted mode sets.
2423         * doc/tm.texi: Regenerate.
2425 2014-01-11  Joern Rennecke  <joern.rennecke@embecosm.com>
2427         PR target/60811
2428         * config/arc/arc.c (arc_save_restore): Fix assert typo.
2430 2013-04-11  Jakub Jelinek  <jakub@redhat.com>
2432         * BASE-VER: Set to 4.10.0.
2434 2014-04-11  Tobias Burnus  <burnus@net-b.de>
2436         PR other/59055
2437         * doc/bugreport.texi (Bugs): Remove nodes pointing to the nirvana.
2438         * doc/gcc.texi (Service): Update description in the @menu
2439         * doc/invoke.texi (Option Summary): Remove misplaced and
2440         duplicated @menu.
2442 2014-04-11  Steve Ellcey  <sellcey@mips.com>
2443             Jakub Jelinek  <jakub@redhat.com>
2445         PR middle-end/60556
2446         * expr.c (convert_move): Use emit_store_flag_force instead of
2447         emit_store_flag.  Pass lowpart_mode instead of VOIDmode as 5th
2448         argument to it.
2450 2014-04-11  Richard Biener  <rguenther@suse.de>
2452         PR middle-end/60797
2453         * varasm.c (assemble_alias): Avoid endless error reporting
2454         recursion by setting TREE_ASM_WRITTEN.
2456 2014-04-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2458         * config/s390/s390.md: Add a splitter for NOT rtx.
2460 2014-04-11  Jakub Jelinek  <jakub@redhat.com>
2462         PR rtl-optimization/60663
2463         * cse.c (cse_insn): Set src_volatile on ASM_OPERANDS in PARALLEL.
2465 2014-04-10  Jan Hubicka  <hubicka@ucw.cz>
2466             Jakub Jelinek  <jakub@redhat.com>
2468         PR lto/60567
2469         * ipa.c (function_and_variable_visibility): Copy forced_by_abi
2470         flag from decl_node to node.
2472 2014-04-10  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2474         PR debug/60655
2475         * config/arm/arm.c (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Define
2476         (arm_const_not_ok_for_debug_p): Reject MINUS with SYM_REF's
2477         ameliorating the cases where it can be.
2479 2014-04-09  David Edelsohn  <dje.gcc@gmail.com>
2481         Revert
2482         2014-04-08  Pat Haugen  <pthaugen@us.ibm.com>
2484         * config/rs6000/sync.md (AINT mode_iterator): Move definition.
2485         (loadsync_<mode>): Change mode.
2486         (load_quadpti, store_quadpti): New.
2487         (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
2488         * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
2489         * config/rs6000/predicates.md (quad_memory_operand): !TARGET_SYNC_TI.
2491 2014-04-09  Cong Hou  <congh@google.com>
2493         PR testsuite/60773
2494         * doc/sourcebuild.texi (vect_widen_mult_si_to_di_pattern): Add
2495         documentation.
2497 2014-04-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2499         * config/rs6000/rs6000.c (rs6000_expand_vector_set): Use vnand
2500         instead of vnor to exploit possible fusion opportunity in the
2501         future.
2502         (altivec_expand_vec_perm_const_le): Likewise.
2504 2014-04-08  Pat Haugen  <pthaugen@us.ibm.com>
2506         * config/rs6000/sync.md (AINT mode_iterator): Move definition.
2507         (loadsync_<mode>): Change mode.
2508         (load_quadpti, store_quadpti): New.
2509         (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
2510         * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
2512 2014-04-08  Richard Sandiford  <rdsandiford@googlemail.com>
2514         PR target/60763
2515         * config/rs6000/vsx.md (vsx_xscvdpspn_scalar): Change input to DImode.
2516         * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Update accordingly.
2517         Use gen_rtx_REG rather than simplify_gen_subreg for op0_di.
2519 2014-04-08  Richard Biener  <rguenther@suse.de>
2521         PR middle-end/60706
2522         * tree-pretty-print.c (pp_double_int): For HWI32 hosts with
2523         a 64bit widest int print double-int similar to on HWI64 hosts.
2525 2014-04-08  Richard Biener  <rguenther@suse.de>
2527         PR tree-optimization/60785
2528         * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat
2529         default defs properly.
2531 2014-04-08  Nathan Sidwell  <nathan@codesourcery.com>
2533         * doc/invoke (Wnon-virtual-dtor): Update to match implementation.
2534         (Weffc++): Likewise.
2536 2014-04-07  Jan Hubicka  <hubcika@ucw.cz>
2538         * ipa-devirt.c (maybe_record_node): When node is not recorded,
2539         set completep to false rather than true.
2541 2014-04-07  Douglas B Rupp  <rupp@adacore.com>
2543         PR target/60504
2544         * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Expose from
2545         ARM_TARGET2_DWARF_FORMAT.
2547 2014-04-07  Charles Baylis  <charles.baylis@linaro.org>
2549         PR target/60609
2550         * config/arm/arm.h (ASM_OUTPUT_CASE_END): Remove.
2551         (LABEL_ALIGN_AFTER_BARRIER): Align barriers which occur after
2552         ADDR_DIFF_VEC.
2554 2014-04-07  Richard Biener  <rguenther@suse.de>
2556         PR tree-optimization/60766
2557         * tree-ssa-loop-ivopts.c (cand_value_at): Compute in an unsigned type.
2558         (may_eliminate_iv): Convert cand_value_at result to desired type.
2560 2014-04-07  Jason Merrill  <jason@redhat.com>
2562         PR c++/60731
2563         * common.opt (-fno-gnu-unique): Add.
2564         * config/elfos.h (USE_GNU_UNIQUE_OBJECT): Check it.
2566 2014-04-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2568         * haifa-sched.c: Fix outdated function reference and minor
2569         grammar errors in introductory comment.
2571 2014-04-07  Richard Biener  <rguenther@suse.de>
2573         PR middle-end/60750
2574         * tree-ssa-operands.c (maybe_add_call_vops): Also add VDEFs
2575         for noreturn calls.
2576         * tree-cfgcleanup.c (fixup_noreturn_call): Do not remove VDEFs.
2578 2014-04-06  John David Anglin  <danglin@gcc.gnu.org>
2580         PR debug/55794
2581         * config/pa/pa.c (pa_output_function_epilogue): Skip address and code
2582         size accounting for thunks.
2583         (pa_asm_output_mi_thunk): Use final_start_function() and
2584         final_end_function() to output function start and end directives.
2586 2014-04-05  Pitchumani Sivanupandi  <Pitchumani.S@atmel.com>
2588         * config/avr/avr-arch.h (avr_mcu_t): Add dev_attribute field to have
2589         device specific ISA/ feature information. Remove short_sp and
2590         errata_skip ds.  Add avr_device_specific_features enum to have device
2591         specific info.
2592         * config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check
2593         errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available.
2594         * config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for
2595         updated device specific info.
2596         * config/avr/avr-mcus.def: Merge device specific details to
2597         dev_attribute field.
2598         * config/avr/avr.c (avr_2word_insn_p): use dev_attribute field to check
2599         errata_skip.
2600         * config/avr/avr.h (AVR_HAVE_8BIT_SP): same for short sp info.
2601         * config/avr/driver-avr.c (avr_device_to_as): Pass -mrmw option to
2602         assembler if RMW isa supported by current device.
2603         * config/avr/genmultilib.awk: Update as device info structure changed.
2604         * doc/invoke.texi: Add info for __AVR_ISA_RMW__ builtin macro
2606 2014-04-04  Cong Hou  <congh@google.com>
2608         PR tree-optimization/60656
2609         * tree-vect-stmts.c (supportable_widening_operation):
2610         Fix a bug that elements in a vector with vect_used_by_reduction
2611         property are incorrectly reordered when the operation on it is not
2612         consistant with the one in reduction operation.
2614 2014-04-04  John David Anglin  <danglin@gcc.gnu.org>
2616         PR rtl-optimization/60155
2617         * gcse.c (record_set_data): New function.
2618         (single_set_gcse): New function.
2619         (gcse_emit_move_after): Use single_set_gcse instead of single_set.
2620         (hoist_code): Likewise.
2621         (get_pressure_class_and_nregs): Likewise.
2623 2014-04-04  Eric Botcazou  <ebotcazou@adacore.com>
2625         * explow.c (probe_stack_range): Emit a final optimization blockage.
2627 2014-04-04  Anthony Green  <green@moxielogic.com>
2629         * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2): Fix
2630         typos.
2632 2014-04-04  Jan Hubicka  <hubicka@ucw.cz>
2634         PR ipa/59626
2635         * lto-cgraph.c (input_overwrite_node): Check that partitioning
2636         flags are set only during streaming.
2637         * ipa.c (process_references, walk_polymorphic_call_targets,
2638         symtab_remove_unreachable_nodes): Drop bodies of always inline
2639         after early inlining.
2640         (symtab_remove_unreachable_nodes): Remove always_inline attribute.
2642 2014-04-04  Jakub Jelinek  <jakub@redhat.com>
2643         Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2645         PR debug/60655
2646         * dwarf2out.c (const_ok_for_output_1): Reject expressions
2647         containing a NOT.
2649 2014-04-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2651         PR bootstrap/60743
2652         * config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation
2653         duration.
2654         (cortex_a53_fdivd): Likewise.
2656 2014-04-04  Martin Jambor  <mjambor@suse.cz>
2658         PR ipa/60640
2659         * cgraph.h (cgraph_clone_node): New parameter added to declaration.
2660         Adjust all callers.
2661         * cgraph.c (clone_of_p): Also return true if thunks match.
2662         (verify_edge_corresponds_to_fndecl): Removed extraneous call to
2663         cgraph_function_or_thunk_node and an obsolete comment.
2664         * cgraphclones.c (build_function_type_skip_args): Moved upwards in the
2665         file.
2666         (build_function_decl_skip_args): Likewise.
2667         (set_new_clone_decl_and_node_flags): New function.
2668         (duplicate_thunk_for_node): Likewise.
2669         (redirect_edge_duplicating_thunks): Likewise.
2670         (cgraph_clone_node): New parameter args_to_skip, pass it to
2671         redirect_edge_duplicating_thunks which is called instead of
2672         cgraph_redirect_edge_callee.
2673         (cgraph_create_virtual_clone): Pass args_to_skip to cgraph_clone_node,
2674         moved setting of a lot of flags to set_new_clone_decl_and_node_flags.
2676 2014-04-04  Jeff Law  <law@redhat.com>
2678         PR target/60657
2679         * config/arm/predicates.md (const_int_I_operand): New predicate.
2680         (const_int_M_operand): Similarly.
2681         * config/arm/arm.md (insv_zero): Use const_int_M_operand instead of
2682         const_int_operand.
2683         (insv_t2, extv_reg, extzv_t2): Likewise.
2684         (load_multiple_with_writeback): Similarly for const_int_I_operand.
2685         (pop_multiple_with_writeback_and_return): Likewise.
2686         (vfp_pop_multiple_with_writeback): Likewise
2688 2014-04-04  Richard Biener  <rguenther@suse.de>
2690         PR ipa/60746
2691         * tree-ssanames.c (make_ssa_name_fn): Fix assert.
2692         * gimple.c (gimple_set_bb): Avoid ICEing for NULL cfun for
2693         non-GIMPLE_LABELs.
2694         * gimplify.h (gimple_add_tmp_var_fn): Declare.
2695         * gimplify.c (gimple_add_tmp_var_fn): New function.
2696         * gimple-expr.h (create_tmp_reg_fn): Declare.
2697         * gimple-expr.c (create_tmp_reg_fn): New function.
2698         * gimple-low.c (record_vars_into): Don't change cfun.
2699         * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix
2700         code generation without cfun.
2702 2014-04-04  Thomas Schwinge  <thomas@codesourcery.com>
2704         PR bootstrap/60719
2705         * Makefile.in (install-driver): Fix shell scripting.
2707 2014-04-03  Cong Hou  <congh@google.com>
2709         PR tree-optimization/60505
2710         * tree-vectorizer.h (struct _stmt_vec_info): Add th field as the
2711         threshold of number of iterations below which no vectorization
2712         will be done.
2713         * tree-vect-loop.c (new_loop_vec_info):
2714         Initialize LOOP_VINFO_COST_MODEL_THRESHOLD.
2715         * tree-vect-loop.c (vect_analyze_loop_operations):
2716         Set LOOP_VINFO_COST_MODEL_THRESHOLD.
2717         * tree-vect-loop.c (vect_transform_loop):
2718         Use LOOP_VINFO_COST_MODEL_THRESHOLD.
2719         * tree-vect-loop.c (vect_analyze_loop_2): Check the maximum number
2720         of iterations of the loop and see if we should build the epilogue.
2722 2014-04-03  Richard Biener  <rguenther@suse.de>
2724         * tree-streamer.h (struct streamer_tree_cache_d): Add next_idx member.
2725         (streamer_tree_cache_create): Adjust.
2726         * tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust
2727         to allow optional nodes array.
2728         (streamer_tree_cache_insert_1): Use next_idx to assign idx.
2729         (streamer_tree_cache_append): Likewise.
2730         (streamer_tree_cache_create): Create nodes array optionally
2731         as specified by parameter.
2732         * lto-streamer-out.c (create_output_block): Avoid maintaining
2733         the node array in the writer cache.
2734         (DFS_write_tree): Remove assertion.
2735         (produce_asm_for_decls): Free the out decl state hash table early.
2736         * lto-streamer-in.c (lto_data_in_create): Adjust for
2737         streamer_tree_cache_create prototype change.
2739 2014-04-03  Richard Biener  <rguenther@suse.de>
2741         * tree-streamer-out.c (streamer_write_chain): Do not temporarily
2742         set TREE_CHAIN to NULL_TREE.
2744 2014-04-03  Richard Biener  <rguenther@suse.de>
2746         PR tree-optimization/60740
2747         * graphite-scop-detection.c (stmt_simple_for_scop_p): Iterate
2748         over all GIMPLE_COND operands.
2750 2014-04-03  Nathan Sidwell  <nathan@codesourcery.com>
2752         * doc/invoke.texi (Wnon-virtual-dtor): Adjust documentation.
2753         (Weffc++): Remove Scott's numbering, merge lists and reference
2754         Wnon-virtual-dtor.
2756 2014-04-03  Nick Clifton  <nickc@redhat.com>
2758         * config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF))
2759         properly.
2761 2014-04-03  Martin Jambor  <mjambor@suse.cz>
2763         * ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and
2764         mention gcc_unreachable before failing.
2765         * ipa.c (symtab_remove_unreachable_nodes): Also print order of
2766         removed symbols.
2768 2014-04-02  Jan Hubicka  <hubicka@ucw.cz>
2770         PR ipa/60659
2771         * ipa-devirt.c (get_polymorphic_call_info): Do not ICE on type
2772         inconsistent code and instead mark the context inconsistent.
2773         (possible_polymorphic_call_targets): For inconsistent contexts
2774         return empty complete list.
2776 2014-04-02  Anthony Green  <green@moxielogic.com>
2778         * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2)
2779         (extendqisi2, extendhisi2): Define.
2780         * config/moxie/moxie.h (DEFAULT_SIGNED_CHAR): Change to 0.
2781         (WCHAR_TYPE): Change to unsigned int.
2783 2014-04-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2785         PR tree-optimization/60733
2786         * gimple-ssa-strength-reduction.c (ncd_with_phi): Change required
2787         insertion point for PHI candidates to be the end of the feeding
2788         block for the PHI argument.
2790 2014-04-02  Vladimir Makarov  <vmakarov@redhat.com>
2792         PR rtl-optimization/60650
2793         * lra-constraints.c (process_alt_operands): Decrease reject for
2794         earlyclobber matching.
2796 2014-04-02  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2798         * config/s390/s390.c (s390_expand_insv): Use GET_MODE_BITSIZE.
2800 2014-04-02  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2802         * config/spu/spu.c (pad_bb): Do not crash when the last
2803         insn is CODE_FOR_blockage.
2805 2014-04-02  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2807         * config/spu/spu.md ("insv"): Fail if bitoffset+bitsize
2808         lies outside the target mode.
2810 2014-04-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
2812         PR target/60735
2813         * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
2814         software floating point or no floating point registers, do not
2815         allow any type in the FPRs.  Eliminate a test for SPE SIMD types
2816         in GPRs that occurs after we tested for GPRs that would never be
2817         true.
2819         * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
2820         Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
2821         since the FMOVE64 type is DFmode/DDmode.  If TARGET_E500_DOUBLE,
2822         specifically allow DDmode, since that does not use the SPE SIMD
2823         instructions.
2825 2014-04-02  Richard Biener  <rguenther@suse.de>
2827         PR middle-end/60729
2828         * optabs.c (expand_abs_nojump): Honor flag_trapv only for
2829         MODE_INTs.  Properly use negv_optab.
2830         (expand_abs): Likewise.
2832 2014-04-02  Richard Biener  <rguenther@suse.de>
2834         PR bootstrap/60719
2835         * Makefile.in (install-driver): Guard extra installs with special
2836         names properly.
2838 2014-04-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
2840         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
2841         Document vec_vgbbd.
2843 2014-04-01  Richard Henderson  <rth@redhat.com>
2845         PR target/60704
2846         * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Leave the second
2847         alternative enabled before register allocation.
2849 2014-04-01  Chung-Lin Tang  <cltang@codesourcery.com>
2851         * config/nios2/nios2.md (unspec): Remove UNSPEC_TLS, UNSPEC_TLS_LDM.
2852         * config/nios2/nios2.c (nios2_function_profiler): Fix addi operand
2853         typo.
2854         (nios2_large_got_address): Remove unneeded 'sym' parameter.
2855         (nios2_got_address): Update nios2_large_got_address call site.
2856         (nios2_delegitimize_address): New function.
2857         (TARGET_DELEGITIMIZE_ADDRESS): Define to nios2_delegitimize_address.
2858         * config/nios2/linux.h (GLIBC_DYNAMIC_LINKER): Define.
2859         (LINK_SPEC): Specify dynamic linker using GNU_USER_DYNAMIC_LINKER.
2861 2014-04-01  Martin Husemann  <martin@duskware.de>
2863         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define __mips_o32
2864         for -mabi=32.
2866 2014-04-01  Richard Sandiford  <rdsandiford@googlemail.com>
2868         PR rtl-optimization/60604
2869         * recog.c (general_operand): Incorporate REG_CANNOT_CHANGE_MODE_P
2870         check from register_operand.
2871         (register_operand): Redefine in terms of general_operand.
2872         (nonmemory_operand): Use register_operand for the non-constant cases.
2874 2014-04-01  Richard Biener  <rguenther@suse.de>
2876         * gimple.h (struct gimple_statement_base): Align subcode to 16 bits.
2878 2014-04-01  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2880         * doc/invoke.texi (mapp-regs): Clarify.
2882 2014-03-31  Ulrich Drepper  <drepper@gmail.com>
2884         * config/i386/avx512fintrin.h (__v32hi): Define type.
2885         (__v64qi): Likewise.
2886         (_mm512_set1_epi8): Define.
2887         (_mm512_set1_epi16): Define.
2888         (_mm512_set4_epi32): Define.
2889         (_mm512_set4_epi64): Define.
2890         (_mm512_set4_pd): Define.
2891         (_mm512_set4_ps): Define.
2892         (_mm512_setr4_epi64): Define.
2893         (_mm512_setr4_epi32): Define.
2894         (_mm512_setr4_pd): Define.
2895         (_mm512_setr4_ps): Define.
2896         (_mm512_setzero_epi32): Define.
2898 2014-03-31  Martin Jambor  <mjambor@suse.cz>
2900         PR middle-end/60647
2901         * tree-sra.c (callsite_has_enough_arguments_p): Renamed to
2902         callsite_arguments_match_p.  Updated all callers.  Also check types of
2903         corresponding formal parameters and actual arguments.
2904         (not_all_callers_have_enough_arguments_p) Renamed to
2905         some_callers_have_mismatched_arguments_p.
2907 2014-03-31  Yuri Rumyantsev  <ysrumyan@gmail.com>
2909         * tree-inline.c (copy_loops): Add missed copy of 'safelen'.
2911 2014-03-31  Kugan Vivekanandarajah  <kuganv@linaro.org>
2913         PR target/60034
2914         * aarch64/aarch64.c (aarch64_classify_address): Fix alignment for
2915         section anchor.
2917 2014-03-30  Uros Bizjak  <ubizjak@gmail.com>
2919         * config/i386/sse.md (FMAMODE_NOVF512): New mode iterator.
2920         (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>):
2921         Split out
2922         <sd_mask_codefor>fma_fmadd_<VF_512:mode><sd_maskz_name><round_name>.
2923         Use FMAMODE_NOVF512 mode iterator.
2924         (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>): Ditto.
2925         (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>): Ditto.
2926         (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>): Ditto.
2927         (<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>):
2928         Split out
2929         <sd_mask_codefor>fma_fmaddsub_<VF_512:mode><sd_maskz_name><round_name>.
2930         Use VF_128_256 mode iterator.
2931         (<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>):
2932         Ditto.
2934 2014-03-28  Jan Hubicka  <hubicka@ucw.cz>
2936         * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Clear
2937         static chain if needed.
2939 2014-03-28  Vladimir Makarov  <vmakarov@redhat.com>
2941         PR target/60697
2942         * lra-constraints.c (index_part_to_reg): New.
2943         (process_address): Use it.
2945 2014-03-27  Jeff Law  <law@redhat.com>
2946             Jakub Jelinek  <jakub@redhat.com>
2948         PR target/60648
2949         * expr.c (do_tablejump): Use simplify_gen_binary rather than
2950         gen_rtx_{PLUS,MULT} to build up the address expression.
2952         * i386/i386.c (ix86_legitimize_address): Use copy_addr_to_reg to avoid
2953         creating non-canonical RTL.
2955 2014-03-28  Jan Hubicka  <hubicka@ucw.cz>
2957         PR ipa/60243
2958         * ipa-inline.c (want_inline_small_function_p): Short circuit large
2959         functions; reorganize to make cheap checks first.
2960         (inline_small_functions): Do not estimate growth when dumping;
2961         it is expensive.
2962         * ipa-inline.h (inline_summary): Add min_size.
2963         (growth_likely_positive): New function.
2964         * ipa-inline-analysis.c (dump_inline_summary): Add min_size.
2965         (set_cond_stmt_execution_predicate): Cleanup.
2966         (estimate_edge_size_and_time): Compute min_size.
2967         (estimate_calls_size_and_time): Likewise.
2968         (estimate_node_size_and_time): Likewise.
2969         (inline_update_overall_summary): Update min_size.
2970         (do_estimate_edge_time): Likewise.
2971         (do_estimate_edge_size): Update.
2972         (do_estimate_edge_hints): Update.
2973         (growth_likely_positive): New function.
2975 2014-03-28  Jakub Jelinek  <jakub@redhat.com>
2977         PR target/60693
2978         * config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg
2979         also if addr has VOIDmode.
2981 2014-03-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2983         * config/arm/aarch-common.c (aarch_crypto_can_dual_issue): New.
2984         * config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue):
2985         Declare extern.
2986         * config/arm/cortex-a53.md: Add reservations and bypass for crypto
2987         instructions as well as AdvancedSIMD loads.
2989 2014-03-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2991         * config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi):
2992         Use crypto_aese type.
2993         (aarch64_crypto_aes<aesmc_op>v16qi): Use crypto_aesmc type.
2994         * config/arm/arm.md (is_neon_type): Replace crypto_aes with
2995         crypto_aese, crypto_aesmc.  Move to types.md.
2996         * config/arm/types.md (crypto_aes): Split into crypto_aese,
2997         crypto_aesmc.
2998         * config/arm/iterators.md (crypto_type): Likewise.
3000 2014-03-28  Jan Hubicka  <hubicka@ucw.cz>
3002         * cgraph.c: Include expr.h and tree-dfa.h.
3003         (cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn;
3004         remove LHS.
3006 2014-03-28  Vladimir Makarov  <vmakarov@redhat.com>
3008         PR target/60675
3009         * lra-assigns.c (find_hard_regno_for): Remove unavailable hard
3010         regs from checking multi-reg pseudos.
3012 2014-03-28  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
3014         * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.
3016 2014-03-28  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3018         * config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization
3019         if it would clobber the stack pointer, even temporarily.
3021 2014-03-28  Eric Botcazou  <ebotcazou@adacore.com>
3023         * mode-switching.c: Make small adjustments to the top comment.
3025 2014-03-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
3027         * config/rs6000/constraints.md (wD constraint): New constraint to
3028         match the constant integer to get the top DImode/DFmode out of a
3029         vector in a VSX register.
3031         * config/rs6000/predicates.md (vsx_scalar_64bit): New predicate to
3032         match the constant integer to get the top DImode/DFmode out of a
3033         vector in a VSX register.
3035         * config/rs6000/rs6000-builtins.def (VBPERMQ): Add vbpermq builtin
3036         for ISA 2.07.
3038         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
3039         vbpermq builtins.
3041         * config/rs6000/rs6000.c (rs6000_debug_reg_global): If
3042         -mdebug=reg, print value of VECTOR_ELEMENT_SCALAR_64BIT.
3044         * config/rs6000/vsx.md (vsx_extract_<mode>, V2DI/V2DF modes):
3045         Optimize vec_extract of 64-bit values, where the value being
3046         extracted is in the top word, where we can use scalar
3047         instructions.  Add direct move and store support.  Combine the big
3048         endian/little endian vector select load support into a single insn.
3049         (vsx_extract_<mode>_internal1): Likewise.
3050         (vsx_extract_<mode>_internal2): Likewise.
3051         (vsx_extract_<mode>_load): Likewise.
3052         (vsx_extract_<mode>_store): Likewise.
3053         (vsx_extract_<mode>_zero): Delete, big and little endian insns are
3054         combined into vsx_extract_<mode>_load.
3055         (vsx_extract_<mode>_one_le): Likewise.
3057         * config/rs6000/rs6000.h (VECTOR_ELEMENT_SCALAR_64BIT): Macro to
3058         define the top 64-bit vector element.
3060         * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wD
3061         constraint.
3063         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
3064         Document vec_vbpermq builtin.
3066         PR target/60672
3067         * config/rs6000/altivec.h (vec_xxsldwi): Add missing define to
3068         enable use of xxsldwi and xxpermdi builtin functions.
3069         (vec_xxpermdi): Likewise.
3071         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
3072         Document use of vec_xxsldwi and vec_xxpermdi builtins.
3074 2014-03-27  Vladimir Makarov  <vmakarov@redhat.com>
3076         PR rtl-optimization/60650
3077         * lra-assign.c (find_hard_regno_for, spill_for): Add parameter
3078         first_p.  Use it.
3079         (find_spills_for): New.
3080         (assign_by_spills): Pass the new parameter to find_hard_regno_for.
3081         Spill all pseudos on the second iteration.
3083 2014-03-27  Marek Polacek  <polacek@redhat.com>
3085         PR c/50347
3086         * doc/extend.texi (ffs Builtins): Change unsigned types to signed
3087         types.
3089 2014-03-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3091         * config/s390/s390.c (s390_can_use_return_insn): Check for
3092         call-saved FPRs on 31 bit.
3094 2014-03-27  Jakub Jelinek  <jakub@redhat.com>
3096         PR middle-end/60682
3097         * omp-low.c (lower_omp_1): For gimple_clobber_p stmts,
3098         if they need regimplification, just drop them instead of
3099         calling gimple_regimplify_operands on them.
3101 2014-03-27  Marcus Shawcroft  <marcus.shawcroft@arm.com>
3103         PR target/60580
3104         * config/aarch64/aarch64.c (faked_omit_frame_pointer): Remove.
3105         (aarch64_frame_pointer_required): Adjust logic.
3106         (aarch64_can_eliminate): Adjust logic.
3107         (aarch64_override_options_after_change): Adjust logic.
3109 2014-03-27  Dehao Chen  <dehao@google.com>
3111         * ipa-inline.c (early_inliner): Update node's inline info.
3113 2014-03-26  Dehao Chen  <dehao@google.com>
3115         * dojump.c (do_compare_rtx_and_jump): Sets correct probability for
3116         compiler inserted conditional jumps for NAN float check.
3118 2014-03-26  Jakub Jelinek  <jakub@redhat.com>
3120         * ubsan.h (ubsan_create_data): Change second argument's type
3121         to const location_t *.
3122         * ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to
3123         _("<unknown>").
3124         (ubsan_create_data): Change second argument to const location_t *PLOC.
3125         Create Loc field whenever PLOC is non-NULL.
3126         (ubsan_instrument_unreachable, ubsan_expand_null_ifn,
3127         ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust
3128         callers.
3130         PR other/59545
3131         * real.c (real_to_integer2): Change type of low to UHWI.
3133 2014-03-26  Tobias Burnus  <burnus@net-b.de>
3135         * gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
3136         (CILK_SELF_SPECS): New define.
3137         (driver_self_specs): Use it.
3139 2014-03-26  Richard Biener  <rguenther@suse.de>
3141         * tree-pretty-print.c (percent_K_format): Implement special
3142         case for LTO and its stripped down BLOCK tree.
3144 2014-03-26  Jakub Jelinek  <jakub@redhat.com>
3146         PR sanitizer/60636
3147         * ubsan.c (instrument_si_overflow): Instrument ABS_EXPR.
3149         * tree-vrp.c (simplify_internal_call_using_ranges): If only
3150         one range is range_int_cst_p, but not both, at least optimize
3151         addition/subtraction of 0 and multiplication by 0 or 1.
3152         * gimple-fold.c (gimple_fold_call): Fold
3153         IFN_UBSAN_CHECK_{ADD,SUB,MUL}.
3154         (gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't
3155         INTEGER_CSTs, try to fold at least x * 0 and y - y.
3157 2014-03-26  Eric Botcazou  <ebotcazou@adacore.com>
3159         PR rtl-optimization/60452
3160         * rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment.
3161         <case REG>: Return 1 for invalid offsets from the frame pointer.
3163 2014-03-26  Marek Polacek  <polacek@redhat.com>
3165         PR c/37428
3166         * doc/extend.texi (C Extensions): Mention variable-length arrays in
3167         a structure/union.
3169 2014-03-26  Marek Polacek  <polacek@redhat.com>
3171         PR c/39525
3172         * doc/extend.texi (Designated Inits): Describe what happens to omitted
3173         field members.
3175 2014-03-26  Marek Polacek  <polacek@redhat.com>
3177         PR other/59545
3178         * ira-color.c (update_conflict_hard_regno_costs): Perform the
3179         multiplication in unsigned type.
3181 2014-03-26  Chung-Ju Wu  <jasonwucj@gmail.com>
3183         * doc/install.texi: Document nds32le-*-elf and nds32be-*-elf.
3185 2014-03-26  Chung-Ju Wu  <jasonwucj@gmail.com>
3187         * doc/contrib.texi: Add myself as Andes nds32 port contributor.
3189 2014-03-25  Jan Hubicka  <hubicka@ucw.cz>
3191         PR ipa/60315
3192         * cif-code.def (UNREACHABLE) New code.
3193         * ipa-inline.c (inline_small_functions): Skip edges to
3194         __builtlin_unreachable.
3195         (estimate_edge_growth): Allow edges to __builtlin_unreachable.
3196         * ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false
3197         predicate to __bulitin_unreachable.
3198         (set_cond_stmt_execution_predicate): Fix issue when
3199         invert_tree_comparison returns ERROR_MARK.
3200         * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not
3201         propagate to inline clones.
3202         * cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection
3203         to unreachable.
3204         * ipa-cp.c (create_specialized_node): Be ready for new node to appear.
3205         * cgraphclones.c (cgraph_clone_node): If call destination is already
3206         ureachable, do not redirect it back.
3207         * tree-inline.c (fold_marked_statements): Hanlde calls becoming
3208         unreachable.
3210 2014-03-25  Jan Hubicka  <hubicka@ucw.cz>
3212         * ipa-pure-const.c (propagate_pure_const, propagate_nothrow):
3213         Do not modify inline clones.
3215 2014-03-25  Jakub Jelinek  <jakub@redhat.com>
3217         * config/i386/i386.md (general_sext_operand): New mode attr.
3218         (addv<mode>4, subv<mode>4, mulv<mode>4): If operands[2] is CONST_INT,
3219         don't generate (sign_extend (const_int)).
3220         (*addv<mode>4, *subv<mode>4, *mulv<mode>4): Disallow CONST_INT_P
3221         operands[2].  Use We constraint instead of <i> and
3222         <general_sext_operand> predicate instead of <general_operand>.
3223         (*addv<mode>4_1, *subv<mode>4_1, *mulv<mode>4_1): New insns.
3224         * config/i386/constraints.md (We): New constraint.
3225         * config/i386/predicates.md (x86_64_sext_operand,
3226         sext_operand): New predicates.
3228 2014-03-25  Martin Jambor  <mjambor@suse.cz>
3230         PR ipa/60600
3231         * ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type
3232         inconsistent devirtualizations to __builtin_unreachable.
3234 2014-03-25  Marek Polacek  <polacek@redhat.com>
3236         PR c/35449
3237         * doc/extend.texi (Example of asm with clobbered asm reg): Fix typo.
3239 2014-03-25  Alan Lawrence  <alan.lawrence@arm.com>
3241         * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse
3242         order of elements for big-endian.
3244 2014-03-25  Richard Biener  <rguenther@suse.de>
3246         PR middle-end/60635
3247         * gimplify-me.c (gimple_regimplify_operands): Update the
3248         re-gimplifed stmt.
3250 2014-03-25  Martin Jambor  <mjambor@suse.cz>
3252         PR ipa/59176
3253         * lto-cgraph.c (lto_output_node): Stream body_removed flag.
3254         (lto_output_varpool_node): Likewise.
3255         (input_overwrite_node): Likewise.
3256         (input_varpool_node): Likewise.
3258 2014-03-25  Richard Biener  <rguenther@suse.de>
3260         * lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like OPT_fpie.
3261         (run_gcc): Likewise.
3263 2014-03-25  Jakub Jelinek  <jakub@redhat.com>
3265         * combine.c (simplify_compare_const): Add MODE argument.
3266         Handle mode_width 0 as very large mode_width.
3267         (try_combine, simplify_comparison): Adjust callers.
3269         * cselib.c (cselib_hash_rtx): Perform addition in unsigned
3270         type to avoid signed integer overflow.
3271         * explow.c (plus_constant): Likewise.
3273 2014-03-25  Dominik Vogt  <vogt@linux.vnet.ibm.com>
3275         * doc/generic.texi: Correct typos.
3277 2014-03-24  Tobias Burnus  <burnus@net-b.de>
3279         * doc/invoke.texi (-flto): Expand section about
3280         using static libraries with LTO.
3282 2014-03-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3284         PR rtl-optimization/60501
3285         * optabs.def (addptr3_optab): New optab.
3286         * optabs.c (gen_addptr3_insn, have_addptr3_insn): New function.
3287         * doc/md.texi ("addptrm3"): Document new RTL standard expander.
3288         * expr.h (gen_addptr3_insn, have_addptr3_insn): Add prototypes.
3290         * lra.c (emit_add3_insn): Use the addptr pattern if available.
3292         * config/s390/s390.md ("addptrdi3", "addptrsi3"): New expanders.
3294 2014-03-24  Ulrich Drepper  <drepper@gmail.com>
3296         * config/i386/avx512fintrin.h: Define _mm512_set1_ps and
3297         _mm512_set1_pd.
3299         * config/i386/avxintrin.h (_mm256_undefined_si256): Define.
3300         (_mm256_undefined_ps): Define.
3301         (_mm256_undefined_pd): Define.
3302         * config/i386/emmintrin.h (_mm_undefined_si128): Define.
3303         (_mm_undefined_pd): Define.
3304         * config/i386/xmmintrin.h (_mm_undefined_ps): Define.
3305         * config/i386/avx512fintrin.h (_mm512_undefined_si512): Define.
3306         (_mm512_undefined_ps): Define.
3307         (_mm512_undefined_pd): Define.
3308         Use _mm*_undefined_*.
3309         * config/i386/avx2intrin.h: Use _mm*_undefined_*.
3311 2014-03-24  Alex Velenko  <Alex.Velenko@arm.com>
3313         * config/aarch64/aarch64-simd-builtins.def (lshr): DI mode excluded.
3314         (lshr_simd): DI mode added.
3315         * config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): New pattern.
3316         (aarch64_ushr_simddi): Likewise.
3317         * config/aarch64/aarch64.md (UNSPEC_USHR64): New unspec.
3318         * config/aarch64/arm_neon.h (vshr_n_u64): Intrinsic fixed.
3319         (vshrd_n_u64): Likewise.
3321 2014-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3323         * Makefile.in (s-macro_list): Depend on cc1.
3325 2014-03-23  Teresa Johnson  <tejohnson@google.com>
3327         * ipa-utils.c (ipa_print_order): Use specified dump file.
3329 2014-03-23  Eric Botcazou  <ebotcazou@adacore.com>
3331         PR rtl-optimization/60601
3332         * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
3334         * gcc.c (eval_spec_function): Initialize save_growing_value.
3336 2014-03-22  Jakub Jelinek  <jakub@redhat.com>
3338         PR sanitizer/60613
3339         * internal-fn.c (ubsan_expand_si_overflow_addsub_check): For
3340         code == MINUS_EXPR, never swap op0 with op1.
3342         * toplev.c (init_local_tick): Avoid signed integer multiplication
3343         overflow.
3344         * genautomata.c (reserv_sets_hash_value): Fix rotate idiom, avoid
3345         shift by first operand's bitsize.
3347 2014-03-21  Jakub Jelinek  <jakub@redhat.com>
3349         PR target/60610
3350         * config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH,
3351         redefine to 1 or 0.
3352         * config/i386/darwin.h (TARGET_64BIT_P): Redefine to
3353         TARGET_ISA_64BIT_P(x).
3355 2014-03-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3357         * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a
3358         pattern for vector nor instead of subtract from splat(-1).
3359         (altivec_expand_vec_perm_const_le): Likewise.
3361 2014-03-21  Richard Henderson  <rth@twiddle.net>
3363         PR target/60598
3364         * ifcvt.c (dead_or_predicable): Return FALSE if there are any frame
3365         related insns after epilogue_completed.
3367 2014-03-21  Martin Jambor  <mjambor@suse.cz>
3369         PR ipa/59176
3370         * cgraph.h (symtab_node): New flag body_removed.
3371         * ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag
3372         when removing bodies.
3373         * symtab.c (dump_symtab_base): Dump body_removed flag.
3374         * cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which
3375         had their bodies removed.
3377 2014-03-21  Martin Jambor  <mjambor@suse.cz>
3379         PR ipa/60419
3380         * ipa.c (symtab_remove_unreachable_nodes): Clear thunk flag of nodes
3381         in the border.
3383 2014-03-21  Richard Biener  <rguenther@suse.de>
3385         PR tree-optimization/60577
3386         * tree-core.h (struct tree_base): Document nothrow_flag use
3387         in VAR_DECL_NONALIASED.
3388         * tree.h (VAR_DECL_NONALIASED): New.
3389         (may_be_aliased): Adjust.
3390         * coverage.c (build_var): Set VAR_DECL_NONALIASED.
3392 2014-03-20  Eric Botcazou  <ebotcazou@adacore.com>
3394         * expr.c (expand_expr_real_1): Remove outdated comment.
3396 2014-03-20  Jakub Jelinek  <jakub@redhat.com>
3398         PR middle-end/60597
3399         * ira.c (adjust_cleared_regs): Call copy_rtx on
3400         *reg_equiv[REGNO (loc)].src_p before passing it to
3401         simplify_replace_fn_rtx.
3403         PR target/60568
3404         * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
3405         into CONST, put pic register as first operand of PLUS.  Use
3406         gen_const_mem for both 32-bit and 64-bit PIC got loads.
3408 2014-03-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
3410         * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete.
3412 2014-03-20  Eric Botcazou  <ebotcazou@adacore.com>
3414         * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
3415         around for store forwarding issue in the FPU on the UT699.
3416         * config/sparc/sparc.md (in_branch_delay): Return false for single FP
3417         loads and operations if -mfix-ut699 is specified.
3418         (divtf3_hq): Tweak attribute.
3419         (sqrttf2_hq): Likewise.
3421 2014-03-20  Eric Botcazou  <ebotcazou@adacore.com>
3423         * calls.c (store_one_arg): Remove incorrect const qualification on the
3424         type of the temporary.
3425         * cfgexpand.c (expand_return): Likewise.
3426         * expr.c (expand_constructor): Likewise.
3427         (expand_expr_real_1): Likewise.
3429 2014-03-20  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
3431         * config/arm/arm.c (arm_dwarf_register_span): Update the element number
3432         of parts.
3434 2014-03-19  Kaz Kojima  <kkojima@gcc.gnu.org>
3436         PR target/60039
3437         * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
3439 2014-03-19  James Greenhalgh  <james.greenhalgh@arm.com>
3441         * config/arm/aarch-common-protos.h
3442         (alu_cost_table): Fix spelling of "extend".
3443         * config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend".
3445 2014-03-19  Richard Biener  <rguenther@suse.de>
3447         PR middle-end/60553
3448         * tree-core.h (tree_type_common): Re-order pointer members
3449         to reduce recursion depth during GC walks.
3451 2014-03-19  Marek Polacek  <polacek@redhat.com>
3453         PR sanitizer/60569
3454         * ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull
3455         before accessing it.
3457 2014-03-19  Richard Biener  <rguenther@suse.de>
3459         PR lto/59543
3460         * lto-streamer-in.c (input_function): In WPA stage do not drop
3461         debug stmts.
3463 2014-03-19  Jakub Jelinek  <jakub@redhat.com>
3465         PR tree-optimization/60559
3466         * vectorizable_mask_load_store): Replace scalar MASK_LOAD
3467         with build_zero_cst assignment.
3469 2014-03-18  Kai Tietz  <ktietz@redhat.com>
3471         PR rtl-optimization/56356
3472         * sdbout.c (sdbout_parms): Verify that parms'
3473         incoming argument is valid.
3474         (sdbout_reg_parms): Likewise.
3476 2014-03-18  Richard Henderson  <rth@redhat.com>
3478         PR target/60562
3479         * config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to
3480         be shadowed by *float<SWI48><MODEF>2_sse.  Test X87_ENABLE_FLOAT.
3481         (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0.
3483 2014-03-18  Basile Starynkevitch  <basile@starynkevitch.net>
3485         * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
3486         * doc/plugins.texi (Plugin callbacks): Mention PLUGIN_INCLUDE_FILE.
3487         Italicize plugin event names in description.  Explain that
3488         PLUGIN_PRAGMAS has no sense for lto1.  Explain PLUGIN_INCLUDE_FILE.
3489         Remind that no GCC functions should be called after PLUGIN_FINISH.
3490         Explain what pragmas with expansion are.
3492 2014-03-18  Martin Liska  <mliska@suse.cz>
3494         * cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when
3495         gimple call statement is update.
3496         * gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and
3497         GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL.
3499 2014-03-18  Jakub Jelinek  <jakub@redhat.com>
3501         PR sanitizer/60557
3502         * ubsan.c (ubsan_instrument_unreachable): Call
3503         initialize_sanitizer_builtins.
3504         (ubsan_pass): Likewise.
3506         PR sanitizer/60535
3507         * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
3508         varpool_finalize_decl instead of rest_of_decl_compilation.
3510 2014-03-18  Richard Biener  <rguenther@suse.de>
3512         * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
3513         by using bitmap_and_compl instead of bitmap_and_compl_into.
3514         (df_rd_transfer_function): Likewise.
3516 2014-03-18  Richard Biener  <rguenther@suse.de>
3518         * doc/lto.texi (fresolution): Fix typo.
3520 2014-03-18  Richard Biener  <rguenther@suse.de>
3522         * doc/invoke.texi (flto): Update for changes in 4.9.
3524 2014-03-18  Richard Biener  <rguenther@suse.de>
3526         * doc/loop.texi: Remove section on the removed lambda framework.
3527         Update loop docs with recent changes in preserving loop structure.
3529 2014-03-18  Richard Biener  <rguenther@suse.de>
3531         * doc/lto.texi (-fresolution): Document.
3533 2014-03-18  Richard Biener  <rguenther@suse.de>
3535         * doc/contrib.texi: Adjust my name.
3537 2014-03-18  Jakub Jelinek  <jakub@redhat.com>
3539         PR ipa/58721
3540         * internal-fn.c: Include diagnostic-core.h.
3541         (expand_BUILTIN_EXPECT): New function.
3542         * gimplify.c (gimplify_call_expr): Use false instead of FALSE.
3543         (gimplify_modify_expr): Gimplify 3 argument __builtin_expect into
3544         IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call.
3545         * ipa-inline-analysis.c (find_foldable_builtin_expect): Handle
3546         IFN_BUILTIN_EXPECT.
3547         * predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT.
3548         Revert 3 argument __builtin_expect code.
3549         (strip_predict_hints): Handle IFN_BUILTIN_EXPECT.
3550         * gimple-fold.c (gimple_fold_call): Likewise.
3551         * tree.h (fold_builtin_expect): New prototype.
3552         * builtins.c (build_builtin_expect_predicate): Add predictor
3553         argument, if non-NULL, create 3 argument __builtin_expect.
3554         (fold_builtin_expect): No longer static.  Add ARG2 argument,
3555         pass it through to build_builtin_expect_predicate.
3556         (fold_builtin_2): Adjust caller.
3557         (fold_builtin_3): Handle BUILT_IN_EXPECT.
3558         * internal-fn.def (BUILTIN_EXPECT): New.
3560 2014-03-18  Tobias Burnus  <burnus@net-b.de>
3562         PR ipa/58721
3563         * predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC,
3564         PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO,
3565         PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add.
3567 2014-03-18  Jan Hubicka  <hubicka@ucw.cz>
3569         PR ipa/58721
3570         * predict.c (combine_predictions_for_bb): Fix up formatting.
3571         (expr_expected_value_1, expr_expected_value): Add predictor argument,
3572         fill what it points to if non-NULL.
3573         (tree_predict_by_opcode): Adjust caller, use the predictor.
3574         * predict.def (PRED_COMPARE_AND_SWAP): Add.
3576 2014-03-18  Eric Botcazou  <ebotcazou@adacore.com>
3578         * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
3579         proper constant for the store mode.
3581 2014-03-18  Ilya Enkovich  <ilya.enkovich@intel.com>
3583         * symtab.c (change_decl_assembler_name): Fix transparent alias
3584         chain construction.
3586 2014-03-16  Renlin Li  <Renlin.Li@arm.com>
3588         * config/aarch64/aarch64.c: Correct the comments about the
3589         aarch64 stack layout.
3591 2014-03-18  Thomas Schwinge  <thomas@codesourcery.com>
3593         * omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore
3594         check for GF_OMP_FOR_KIND_FOR.
3596 2013-03-18  Kirill Yukhin  <kirill.yukhin@intel.com>
3598         * config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
3599         ymm and zmm register names.
3601 2014-03-17  Jakub Jelinek  <jakub@redhat.com>
3603         PR target/60516
3604         * config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
3605         note creation for the 2010-08-31 changes.
3607 2014-03-17  Marek Polacek  <polacek@redhat.com>
3609         PR middle-end/60534
3610         * omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same
3611         as -fno-tree-loop-vectorize.
3612         (expand_omp_simd): Likewise.
3614 2014-03-15  Eric Botcazou  <ebotcazou@adacore.com>
3616         * config/sparc/sparc-protos.h (tls_call_delay): Delete.
3617         (eligible_for_call_delay): New prototype.
3618         * config/sparc/sparc.c (tls_call_delay): Rename into...
3619         (eligible_for_call_delay): ...this.  Return false if the instruction
3620         cannot be put in the delay slot of a branch.
3621         (eligible_for_restore_insn): Simplify.
3622         (eligible_for_return_delay): Return false if the instruction cannot be
3623         put in the delay slot of a branch and simplify.
3624         (eligible_for_sibcall_delay): Return false if the instruction cannot be
3625         put in the delay slot of a branch.
3626         * config/sparc/sparc.md (fix_ut699): New attribute.
3627         (tls_call_delay): Delete.
3628         (in_call_delay): Reimplement.
3629         (eligible_for_sibcall_delay): Rename into...
3630         (in_sibcall_delay): ...this.
3631         (eligible_for_return_delay): Rename into...
3632         (in_return_delay): ...this.
3633         (in_branch_delay): Reimplement.
3634         (in_uncond_branch_delay): Delete.
3635         (in_annul_branch_delay): Delete.
3637 2014-03-14  Richard Henderson  <rth@redhat.com>
3639         PR target/60525
3640         * config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename
3641         define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand.
3642         (*floathi<X87MODEF>2_i387_with_temp): Remove.
3643         (floathi splitters): Remove.
3644         (float<SWI48x>xf2): New pattern.
3645         (float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2.  Drop
3646         code that tried to handle DImode for 32-bit, but which was excluded
3647         by the pattern's condition.  Drop allocation of stack temporary.
3648         (*floatsi<MODEF>2_vector_mixed_with_temp): Remove.
3649         (*float<SWI48><MODEF>2_mixed_with_temp): Remove.
3650         (*float<SWI48><MODEF>2_mixed_interunit): Remove.
3651         (*float<SWI48><MODEF>2_mixed_nointerunit): Remove.
3652         (*floatsi<MODEF>2_vector_sse_with_temp): Remove.
3653         (*float<SWI48><MODEF>2_sse_with_temp): Remove.
3654         (*float<SWI48><MODEF>2_sse_interunit): Remove.
3655         (*float<SWI48><MODEF>2_sse_nointerunit): Remove.
3656         (*float<SWI48x><X87MODEF>2_i387_with_temp): Remove.
3657         (*float<SWI48x><X87MODEF>2_i387): Remove.
3658         (all float _with_temp splitters): Remove.
3659         (*float<SWI48x><MODEF>2_i387): New pattern.
3660         (*float<SWI48><MODEF>2_sse): New pattern.
3661         (float TARGET_USE_VECTOR_CONVERTS splitters): Merge them.
3662         (float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them.
3664 2014-03-14  Jakub Jelinek  <jakub@redhat.com>
3665             Marek Polacek  <polacek@redhat.com>
3667         PR middle-end/60484
3668         * common.opt (dump_base_name_prefixed): New Variable.
3669         * opts.c (finish_options): Don't prepend directory to x_dump_base_name
3670         if x_dump_base_name_prefixed is already set, set it at the end.
3672 2014-03-14  Vladimir Makarov  <vmakarov@redhat.com>
3674         PR rtl-optimization/60508
3675         * lra-constraints.c (get_reload_reg): Add new parameter
3676         in_subreg_p.
3677         (process_addr_reg, simplify_operand_subreg, curr_insn_transform):
3678         Pass the new parameter values.
3680 2014-03-14  Richard Biener  <rguenther@suse.de>
3682         * common.opt: Revert unintented changes from r205065.
3683         * opts.c: Likewise.
3685 2014-03-14  Richard Biener  <rguenther@suse.de>
3687         PR middle-end/60518
3688         * cfghooks.c (split_block): Properly adjust all loops the
3689         block was a latch of.
3691 2014-03-14  Martin Jambor  <mjambor@suse.cz>
3693         PR lto/60461
3694         * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
3695         and simplify it.
3697 2014-03-14  Georg-Johann Lay  <avr@gjlay.de>
3699         PR target/59396
3700         * config/avr/avr.c (avr_set_current_function): Pass function name
3701         through default_strip_name_encoding before sanity checking instead
3702         of skipping the first char of the assembler name.
3704 2014-03-13  Richard Henderson  <rth@redhat.com>
3706         PR debug/60438
3707         * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
3708         (ix86_force_to_memory, ix86_free_from_memory): Remove.
3709         * config/i386/i386-protos.h: Likewise.
3710         * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
3711         in the expander instead of a splitter.
3712         (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
3713         any possibility of requiring a memory.
3714         (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
3715         (*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
3716         (fp branch splitters): Update for ix86_split_fp_branch.
3717         (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
3718         (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
3719         (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
3720         (*fop_<MODEF>_2_i387): Remove f/r alternative.
3721         (*fop_<MODEF>_3_i387): Likewise.
3722         (*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
3723         (splitters for the fop_* register patterns): Remove.
3724         (fscalexf4_i387): Rename from *fscalexf4_i387.
3725         (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.
3727 2014-03-13  Jakub Jelinek  <jakub@redhat.com>
3729         PR tree-optimization/59779
3730         * tree-dfa.c (get_ref_base_and_extent): Use double_int
3731         type for bitsize and maxsize instead of HOST_WIDE_INT.
3733 2014-03-13  Steven Bosscher  <steven@gcc.gnu.org>
3735         PR rtl-optimization/57320
3736         * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
3737         the CFG after thread_prologue_and_epilogue_insns.
3739 2014-03-13  Vladimir Makarov  <vmakarov@redhat.com>
3741         PR rtl-optimization/57189
3742         * lra-constraints.c (process_alt_operands): Disfavor spilling
3743         vector pseudos.
3745 2014-03-13  Cesar Philippidis  <cesar@codesourcery.com>
3747         * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages.
3749 2014-03-13  Jakub Jelinek  <jakub@redhat.com>
3751         PR tree-optimization/59025
3752         PR middle-end/60418
3753         * tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
3754         same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.
3756 2014-03-13  Georg-Johann Lay  <avr@gjlay.de>
3758         PR target/60486
3759         * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
3760         calls of avr_out_plus_1.
3762 2014-03-13  Bin Cheng  <bin.cheng@arm.com>
3764         * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
3765         BB's single pred and update the father loop's latch info later.
3767 2014-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
3769         * config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
3770         (VEC_M): Likewise.
3771         (VEC_N): Likewise.
3772         (VEC_R): Likewise.
3773         (VEC_base): Likewise.
3774         (mov<MODE>, VEC_M modes): If we are loading TImode into VSX
3775         registers, we need to swap double words in little endian mode.
3777         * config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
3778         to be a container mode for 128-bit integer operations added in ISA
3779         2.07.  Unlike TImode and PTImode, the preferred register set is
3780         the Altivec/VMX registers for the 128-bit operations.
3782         * config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
3783         declarations.
3784         (rs6000_split_128bit_ok_p): Likewise.
3786         * config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
3787         macros for creating ISA 2.07 normal and overloaded builtin
3788         functions with 3 arguments.
3789         (BU_P8V_OVERLOAD_3): Likewise.
3790         (VPERM_1T): Add support for V1TImode in 128-bit vector operations
3791         for use as overloaded functions.
3792         (VPERM_1TI_UNS): Likewise.
3793         (VSEL_1TI): Likewise.
3794         (VSEL_1TI_UNS): Likewise.
3795         (ST_INTERNAL_1ti): Likewise.
3796         (LD_INTERNAL_1ti): Likewise.
3797         (XXSEL_1TI): Likewise.
3798         (XXSEL_1TI_UNS): Likewise.
3799         (VPERM_1TI): Likewise.
3800         (VPERM_1TI_UNS): Likewise.
3801         (XXPERMDI_1TI): Likewise.
3802         (SET_1TI): Likewise.
3803         (LXVD2X_V1TI): Likewise.
3804         (STXVD2X_V1TI): Likewise.
3805         (VEC_INIT_V1TI): Likewise.
3806         (VEC_SET_V1TI): Likewise.
3807         (VEC_EXT_V1TI): Likewise.
3808         (EQV_V1TI): Likewise.
3809         (NAND_V1TI): Likewise.
3810         (ORC_V1TI): Likewise.
3811         (VADDCUQ): Add support for 128-bit integer arithmetic instructions
3812         added in ISA 2.07.  Add both normal 'altivec' builtins, and the
3813         overloaded builtin.
3814         (VADDUQM): Likewise.
3815         (VSUBCUQ): Likewise.
3816         (VADDEUQM): Likewise.
3817         (VADDECUQ): Likewise.
3818         (VSUBEUQM): Likewise.
3819         (VSUBECUQ): Likewise.
3821         * config/rs6000/rs6000-c.c (__int128_type): New static to hold
3822         __int128_t and __uint128_t types.
3823         (__uint128_type): Likewise.
3824         (altivec_categorize_keyword): Add support for vector __int128_t,
3825         vector __uint128_t, vector __int128, and vector unsigned __int128
3826         as a container type for TImode operations that need to be done in
3827         VSX/Altivec registers.
3828         (rs6000_macro_to_expand): Likewise.
3829         (altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
3830         to support 128-bit integer instructions vaddcuq, vadduqm,
3831         vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
3832         (altivec_resolve_overloaded_builtin): Add support for V1TImode.
3834         * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
3835         for V1TImode, and set up preferences to use VSX/Altivec registers.
3836         Setup VSX reload handlers.
3837         (rs6000_debug_reg_global): Likewise.
3838         (rs6000_init_hard_regno_mode_ok): Likewise.
3839         (rs6000_preferred_simd_mode): Likewise.
3840         (vspltis_constant): Do not allow V1TImode as easy altivec constants.
3841         (easy_altivec_constant): Likewise.
3842         (output_vec_const_move): Likewise.
3843         (rs6000_expand_vector_set): Convert V1TImode set and extract to
3844         simple move.
3845         (rs6000_expand_vector_extract): Likewise.
3846         (reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
3847         addressing.
3848         (rs6000_const_vec): Add support for V1TImode.
3849         (rs6000_emit_le_vsx_load): Swap double words when loading or
3850         storing TImode/V1TImode.
3851         (rs6000_emit_le_vsx_store): Likewise.
3852         (rs6000_emit_le_vsx_move): Likewise.
3853         (rs6000_emit_move): Add support for V1TImode.
3854         (altivec_expand_ld_builtin): Likewise.
3855         (altivec_expand_st_builtin): Likewise.
3856         (altivec_expand_vec_init_builtin): Likewise.
3857         (altivec_expand_builtin): Likewise.
3858         (rs6000_init_builtins): Add support for V1TImode type.  Add
3859         support for ISA 2.07 128-bit integer builtins.  Define type names
3860         for the VSX/Altivec vector types.
3861         (altivec_init_builtins): Add support for overloaded vector
3862         functions with V1TImode type.
3863         (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode.
3864         (rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
3865         external function.
3866         (rs6000_split_128bit_ok_p): Likewise.
3867         (rs6000_handle_altivec_attribute): Create V1TImode from vector
3868         __int128_t and vector __uint128_t.
3870         * config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
3871         and mode attributes.
3872         (VSX_M): Likewise.
3873         (VSX_M2): Likewise.
3874         (VSm): Likewise.
3875         (VSs): Likewise.
3876         (VSr): Likewise.
3877         (VSv): Likewise.
3878         (VS_scalar): Likewise.
3879         (VS_double): Likewise.
3880         (vsx_set_v1ti): New builtin function to create V1TImode from TImode.
3882         * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether
3883         we support the ISA 2.07 128-bit integer arithmetic instructions.
3884         (ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
3885         (enum rs6000_builtin_type_index): Add fields to hold V1TImode
3886         and TImode types for use with the builtin functions.
3887         (V1TI_type_node): Likewise.
3888         (unsigned_V1TI_type_node): Likewise.
3889         (intTI_type_internal_node): Likewise.
3890         (uintTI_type_internal_node): Likewise.
3892         * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07
3893         128-bit builtin functions.
3894         (UNSPEC_VADDEUQM): Likewise.
3895         (UNSPEC_VADDECUQ): Likewise.
3896         (UNSPEC_VSUBCUQ): Likewise.
3897         (UNSPEC_VSUBEUQM): Likewise.
3898         (UNSPEC_VSUBECUQ): Likewise.
3899         (VM): Add V1TImode to vector mode iterators.
3900         (VM2): Likewise.
3901         (VI_unit): Likewise.
3902         (altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
3903         (altivec_vaddcuq): Likewise.
3904         (altivec_vsubuqm): Likewise.
3905         (altivec_vsubcuq): Likewise.
3906         (altivec_vaddeuqm): Likewise.
3907         (altivec_vaddecuq): Likewise.
3908         (altivec_vsubeuqm): Likewise.
3909         (altivec_vsubecuq): Likewise.
3911         * config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
3912         mode iterators.
3913         (BOOL_128): Likewise.
3914         (BOOL_REGS_OUTPUT): Likewise.
3915         (BOOL_REGS_OP1): Likewise.
3916         (BOOL_REGS_OP2): Likewise.
3917         (BOOL_REGS_UNARY): Likewise.
3918         (BOOL_REGS_AND_CR0): Likewise.
3920         * config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
3921         128-bit integer builtin support.
3922         (vec_vadduqm): Likewise.
3923         (vec_vaddecuq): Likewise.
3924         (vec_vaddeuqm): Likewise.
3925         (vec_vsubecuq): Likewise.
3926         (vec_vsubeuqm): Likewise.
3927         (vec_vsubcuq): Likewise.
3928         (vec_vsubuqm): Likewise.
3930         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
3931         Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
3932         vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
3933         128-bit integer add/subtract to ISA 2.07.
3935 2014-03-12  Joern Rennecke  <joern.rennecke@embecosm.com>
3937         * config/arc/arc.c (arc_predicate_delay_insns):
3938         Fix third argument passed to conditionalize_nonjump.
3940 2014-03-12  Yufeng Zhang  <yufeng.zhang@arm.com>
3942         * config/aarch64/aarch64-builtins.c
3943         (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
3944         BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
3945         * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
3946         instead of __builtin_lfloor.
3947         (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.
3949 2014-03-12  Jakub Jelinek  <jakub@redhat.com>
3951         * tree-ssa-ifcombine.c (forwarder_block_to): New function.
3952         (tree_ssa_ifcombine_bb_1): New function.
3953         (tree_ssa_ifcombine_bb): Use it.  Handle also cases where else_bb
3954         is an empty forwarder block to then_bb or vice versa and then_bb
3955         and else_bb are effectively swapped.
3957 2014-03-12  Christian Bruel  <christian.bruel@st.com>
3959         PR target/60264
3960         * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a
3961         REG_CFA_DEF_CFA note.
3962         (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
3963         (arm_unwind_emit): Allow REG_CFA_DEF_CFA.
3965 2014-03-12  Thomas Preud'homme  <thomas.preudhomme@arm.com>
3967         PR tree-optimization/60454
3968         * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
3970 2014-03-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3972         * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
3973         Do not define target_cpu_default2 to generic.
3974         * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
3975         * config/aarch64/aarch64.c (aarch64_override_options): Update comment.
3976         * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
3978 2014-03-12  Jakub Jelinek  <jakub@redhat.com>
3979             Marc Glisse  <marc.glisse@inria.fr>
3981         PR tree-optimization/60502
3982         * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
3983         instead of build_low_bits_mask.
3985 2014-03-12  Jakub Jelinek  <jakub@redhat.com>
3987         PR middle-end/60482
3988         * tree-vrp.c (register_edge_assert_for_1): Don't add assert
3989         if there are multiple uses, but op doesn't live on E edge.
3990         * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
3991         clobber stmts before __builtin_unreachable.
3993 2014-03-11  Richard Sandiford  <rdsandiford@googlemail.com>
3995         * builtins.c (expand_builtin_setjmp_receiver): Use and clobber
3996         hard_frame_pointer_rtx.
3997         * cse.c (cse_insn): Remove volatile check.
3998         * cselib.c (cselib_process_insn): Likewise.
3999         * dse.c (scan_insn): Likewise.
4001 2014-03-11  Joern Rennecke  <joern.rennecke@embecosm.com>
4003         * config/arc/arc.c (conditionalize_nonjump): New function,
4004         broken out of ...
4005         (arc_ifcvt): ... this.
4006         (arc_predicate_delay_insns): Use it.
4008 2014-03-11  Joern Rennecke  <joern.rennecke@embecosm.com>
4010         * config/arc/predicates.md (extend_operand): During/after reload,
4011         allow const_int_operand.
4012         * config/arc/arc.md (mulsidi3_700): Use extend_operand predicate.
4013         (umulsidi3_700): Likewise.  Change operand 2 constraint back to "cL".
4014         (mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3
4015         to "i".
4016         (umulsi3_highpart_i): Likewise.
4018 2014-03-11  Richard Biener  <rguenther@suse.de>
4020         * tree-ssa-structalias.c (get_constraint_for_ptr_offset):
4021         Add asserts to guard possible wrong-code bugs.
4023 2014-03-11  Richard Biener  <rguenther@suse.de>
4025         PR tree-optimization/60429
4026         PR tree-optimization/60485
4027         * tree-ssa-structalias.c (set_union_with_increment): Properly
4028         take into account all fields that overlap the shifted vars.
4029         (do_sd_constraint): Likewise.
4030         (do_ds_constraint): Likewise.
4031         (get_constraint_for_ptr_offset): Likewise.
4033 2014-03-11  Chung-Lin Tang  <cltang@codesourcery.com>
4035         * config/nios2/nios2.c (machine_function): Add fp_save_offset field.
4036         (nios2_compute_frame_layout):
4037         Add calculation of cfun->machine->fp_save_offset.
4038         (nios2_expand_prologue): Correct setting of frame pointer register
4039         in prologue.
4040         (nios2_expand_epilogue): Update recovery of stack pointer from
4041         frame pointer accordingly.
4042         (nios2_initial_elimination_offset): Update calculation of offset
4043         for eliminating to HARD_FRAME_POINTER_REGNUM.
4045 2014-03-10  Jakub Jelinek  <jakub@redhat.com>
4047         PR ipa/60457
4048         * ipa.c (symtab_remove_unreachable_nodes): Don't call
4049         cgraph_get_create_node on VAR_DECLs.
4051 2014-03-10  Richard Biener  <rguenther@suse.de>
4053         PR middle-end/60474
4054         * tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs.
4056 2014-03-08  Douglas B Rupp  <rupp@gnat.com>
4058         * config/vms/vms.opt (vms_float_format): New variable.
4060 2014-03-08  Tobias Burnus  <burnus@net-b.de>
4062         * doc/invoke.texi (-fcilkplus): Update implementation status.
4064 2014-03-08  Paulo Matos  <paulo@matos-sorge.com>
4065             Richard Biener  <rguenther@suse.de>
4067         * lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
4068         consistently accross all TUs.
4069         (run_gcc): Enable -fshort-double automatically at link at link-time
4070         and disallow override.
4072 2014-03-08  Richard Sandiford  <rdsandiford@googlemail.com>
4074         PR target/58271
4075         * config/mips/mips.c (mips_option_override): Promote -mpaired-single
4076         warning to an error.  Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
4077         if they can't be used.
4079 2014-03-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4081         * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test
4082         for Solaris 11/x86 ld.
4083         * configure: Regenerate.
4085 2014-03-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4087         * configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
4088         (LIB_TLS_SPEC): Save as ld_tls_libs.
4089         (HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
4090         (HAVE_AS_IX86_TLSLDM): New test.
4091         * configure, config.in: Regenerate.
4092         * config/i386/i386.c (legitimize_tls_address): Fall back to
4093         TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
4094         cannot support TLS_MODEL_LOCAL_DYNAMIC.
4095         * config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
4096         instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
4098 2014-03-07  Paulo Matos  <paulo@matos-sorge.com>
4100         * common.opt (fira-loop-pressure): Mark as optimization.
4102 2014-03-07  Thomas Schwinge  <thomas@codesourcery.com>
4104         * langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
4105         an OpenMP mappable type.
4107 2014-03-06  Matthias Klose  <doko@ubuntu.com>
4109         * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
4110         MULTILIB_OSDIRNAMES is not defined.
4112 2014-03-06  Jakub Jelinek  <jakub@redhat.com>
4113             Meador Inge  <meadori@codesourcery.com>
4115         PR target/58595
4116         * config/arm/arm.c (arm_tls_symbol_p): Remove.
4117         (arm_legitimize_address): Call legitimize_tls_address for any
4118         arm_tls_referenced_p expression, handle constant addend.  Call it
4119         before testing for !TARGET_ARM.
4120         (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
4122 2014-03-06  Richard Biener  <rguenther@suse.de>
4124         PR middle-end/60445
4125         PR lto/60424
4126         PR lto/60427
4127         Revert
4128         2014-03-04  Paulo Matos  <paulo@matos-sorge.com>
4130         * tree-streamer.c (record_common_node): Assert we don't record
4131         nodes with type double.
4132         (preload_common_node): Skip type double, complex double and double
4133         pointer since it is now frontend dependent due to fshort-double option.
4135 2014-03-06  Richard Biener  <rguenther@suse.de>
4137         * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
4138         or -fno-lto is specified and the linker has full plugin support.
4139         * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is enabled.
4140         (main): Remove -flto processing, adjust lto_mode using use_plugin late.
4141         * lto-wrapper.c (merge_and_complain): Merge compile-time
4142         optimization levels.
4143         (run_gcc): And pass it through to the link options.
4145 2014-03-06  Alexandre Oliva  <aoliva@redhat.com>
4147         PR debug/60381
4148         Revert:
4149         2014-02-28  Alexandre Oliva  <aoliva@redhat.com>
4150         PR debug/59992
4151         * cselib.c (remove_useless_values): Skip to avoid quadratic
4152         behavior if the condition moved from...
4153         (cselib_process_insn): ... here holds.
4155 2014-03-05  Jakub Jelinek  <jakub@redhat.com>
4157         PR plugins/59335
4158         * Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
4159         ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
4161         PR plugins/59335
4162         * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
4163         (TM_H): Add x86-tune.def.
4165 2014-03-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4167         * config/aarch64/aarch64.c (generic_tunings):
4168         Use cortexa57_extra_costs.
4170 2014-03-05  Jakub Jelinek  <jakub@redhat.com>
4172         PR lto/60404
4173         * cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
4174         of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
4175         * tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
4176         cost for in_lto_p.
4178 2014-03-04  Heiher  <r@hev.cc>
4180         * config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
4181         * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly.
4183 2014-03-04  Uros Bizjak  <ubizjak@gmail.com>
4185         * config/i386/predicates.md (const2356_operand): Change to ...
4186         (const2367_operand): ... this.
4187         * config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use
4188         const2367_operand.
4189         (*avx512pf_scatterpf<mode>sf_mask): Ditto.
4190         (*avx512pf_scatterpf<mode>sf): Ditto.
4191         (avx512pf_scatterpf<mode>df): Ditto.
4192         (*avx512pf_scatterpf<mode>df_mask): Ditto.
4193         (*avx512pf_scatterpf<mode>df): Ditto.
4194         * config/i386/i386.c (ix86_expand_builtin): Update
4195         incorrect hint operand error message.
4197 2014-03-04  Richard Biener  <rguenther@suse.de>
4199         * lto-section-in.c (lto_get_section_data): Fix const cast.
4201 2014-03-04  Paulo Matos  <paulo@matos-sorge.com>
4203         * tree-streamer.c (record_common_node): Assert we don't record
4204         nodes with type double.
4205         (preload_common_node): Skip type double, complex double and double
4206         pointer since it is now frontend dependent due to fshort-double option.
4208 2014-03-04  Richard Biener  <rguenther@suse.de>
4210         PR lto/60405
4211         * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check.
4212         (lto_input_toplevel_asms): Likewise.
4213         * lto-section-in.c (lto_get_section_data): Instead do it here
4214         for every section.
4216 2014-03-04  Richard Biener  <rguenther@suse.de>
4218         PR tree-optimization/60382
4219         * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
4220         dead PHIs a reduction.
4222 2014-03-03  Uros Bizjak  <ubizjak@gmail.com>
4224         * config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct
4225         hint value.
4226         (_mm_prefetch): Move out of GCC target("sse") pragma.
4227         * config/i386/prfchwintrin.h (_m_prefetchw): Move out of
4228         GCC target("prfchw") pragma.
4229         * config/i386/i386.md (prefetch): Emit prefetchwt1 only
4230         for locality <= 2.
4231         * config/i386/i386.c (ix86_option_override_internal): Enable
4232         -mprfchw with -mprefetchwt1.
4234 2014-03-03  Joern Rennecke  <joern.rennecke@embecosm.com>
4236         * config/arc/arc.md (casesi_load) <length attribute alternative 0>:
4237         Mark as varying.
4239 2014-03-03  Joern Rennecke  <joern.rennecke@embecosm.com>
4241         * opts.h (CL_PCH_IGNORE): Define.
4242         * targhooks.c (option_affects_pch_p):
4243         Return false for options that have CL_PCH_IGNORE set.
4244         * opt-functions.awk: Process PchIgnore.
4245         * doc/options.texi: Document PchIgnore.
4247         * config/arc/arc.opt (misize): Add PchIgnore property.
4249 2014-03-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4251         * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
4252         reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax
4253         constraint on constants to permit them being loaded into
4254         GENERAL_REGS or BASE_REGS.
4256 2014-03-03  Nick Clifton  <nickc@redhat.com>
4258         * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add
4259         anti-cacnonical alternatives.
4260         (negandhi3_real): New pattern.
4261         * config/rl78/rl78-virt.md (negandhi3_virt): New pattern.
4263 2014-03-03  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
4265         * config/avr/avr-mcus.def: Remove atxmega16x1.
4266         * config/avr/avr-tables.opt: Regenerate.
4267         * config/avr/t-multilib: Regenerate.
4268         * doc/avr-mmcu.texi: Regenerate.
4270 2014-03-03  Tobias Grosser  <tobias@grosser.es>
4271             Mircea Namolaru  <mircea.namolaru@inria.fr>
4273         PR tree-optimization/58028
4274         * graphite-clast-to-gimple.c (set_cloog_options): Don't remove
4275         scalar dimensions.
4277 2014-03-03  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
4279         * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
4280         not handled by recognizers.
4282 2014-03-03  Jakub Jelinek  <jakub@redhat.com>
4284         PR middle-end/60175
4285         * function.c (expand_function_end): Don't emit
4286         clobber_return_register sequence if clobber_after is a BARRIER.
4287         * cfgexpand.c (construct_exit_block): Append instructions before
4288         return_label to prev_bb.
4290 2014-03-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4292         * config/rs6000/constraints.md: Document reserved use of "wc".
4294 2014-03-02  Jan Hubicka  <hubicka@ucw.cz>
4296         PR ipa/60150
4297         * ipa.c (function_and_variable_visibility): When dissolving comdat
4298         group, also set all symbols to local.
4300 2014-03-02  Jan Hubicka  <hubicka@ucw.cz>
4302         PR ipa/60306
4304         Revert:
4305         2013-12-14   Jan Hubicka  <jh@suse.cz>
4306         PR middle-end/58477
4307         * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
4309 2014-03-02  Jon Beniston  <jon@beniston.com>
4311         PR bootstrap/48230
4312         PR bootstrap/50927
4313         PR bootstrap/52466
4314         PR target/46898
4315         * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect.
4316           (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
4317         * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
4318         (simple_return, *simple_return): New patterns
4319         * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
4320         * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
4322 2014-03-01  Paolo Carlini  <paolo.carlini@oracle.com>
4324         * dwarf2out.c (gen_subprogram_die): Tidy.
4326 2014-03-01  Oleg Endo  <olegendo@gcc.gnu.org>
4328         PR target/60071
4329         * config/sh/sh.md (*mov_t_msb_neg): Split into ...
4330         (*mov_t_msb_neg_negc): ... this new insn.
4332 2014-02-28  Jason Merrill  <jason@redhat.com>
4334         PR c++/58678
4335         * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared
4336         function.
4338 2014-02-28  Paolo Carlini  <paolo.carlini@oracle.com>
4340         PR c++/60314
4341         * dwarf2out.c (decltype_auto_die): New static.
4342         (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'.
4343         (gen_type_die_with_usage): Handle 'decltype(auto)'.
4344         (is_cxx_auto): Likewise.
4346 2014-02-28  Ian Bolton  <ian.bolton@arm.com>
4348         * config/aarch64/aarch64.h: Define __ARM_NEON by default if
4349         we are not using general regs only.
4351 2014-02-28  Richard Biener  <rguenther@suse.de>
4353         PR target/60280
4354         * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
4355         previous fix and only allow to remove trivial pre-headers
4356         and latches.  Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
4357         (remove_forwarder_block): Properly update the latch of a loop.
4359 2014-02-28  Alexandre Oliva  <aoliva@redhat.com>
4361         PR debug/59992
4362         * cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
4363         (cselib_preserved_hash_table): New.
4364         (preserve_constants_and_equivs): Move preserved vals to it.
4365         (cselib_find_slot): Look it up first.
4366         (cselib_init): Initialize it.
4367         (cselib_finish): Release it.
4368         (dump_cselib_table): Dump it.
4370 2014-02-28  Alexandre Oliva  <aoliva@redhat.com>
4372         PR debug/59992
4373         * cselib.c (remove_useless_values): Skip to avoid quadratic
4374         behavior if the condition moved from...
4375         (cselib_process_insn): ... here holds.
4377 2014-02-28  Alexandre Oliva  <aoliva@redhat.com>
4379         PR debug/57232
4380         * var-tracking.c (vt_initialize): Apply the same condition to
4381         preserve the CFA base value.
4383 2014-02-28  Joey Ye  <joey.ye@arm.com>
4385         PR target/PR60169
4386         * config/arm/arm.c (thumb_far_jump_used_p): Don't change
4387         if reload in progress or completed.
4389 2014-02-28  Tobias Burnus  <burnus@net-b.de>
4391         PR middle-end/60147
4392         * tree-pretty-print.c (dump_generic_node, print_declaration): Handle
4393         NAMELIST_DECL.
4395 2014-02-27  H.J. Lu  <hongjiu.lu@intel.com>
4397         * doc/tm.texi.in (Condition Code Status): Update documention for
4398         relative locations of cc0-setter and cc0-user.
4400 2014-02-27  Jeff Law  <law@redhat.com>
4402         PR rtl-optimization/52714
4403         * combine.c (try_combine): When splitting an unrecognized PARALLEL
4404         into two independent simple sets, if I3 is a jump, ensure the
4405         pattern we place into I3 is a (set (pc) ...).
4407 2014-02-27  Mikael Pettersson  <mikpe@it.uu.se>
4408             Jeff Law  <law@redhat.com>
4410         PR rtl-optimization/49847
4411         * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user
4412         are in different blocks.
4413         * doc/tm.texi (Condition Code Status): Update documention for
4414         relative locations of cc0-setter and cc0-user.
4416 2014-02-27  Vladimir Makarov  <vmakarov@redhat.com>
4418         PR target/59222
4419         * lra.c (lra_emit_add): Check SUBREG too.
4421 2014-02-27  Andreas Schwab  <schwab@suse.de>
4423         * config/m68k/m68k.c (m68k_option_override): Disable
4424         -flive-range-shrinkage for classic m68k.
4425         (m68k_override_options_after_change): Likewise.
4427 2014-02-27  Marek Polacek  <polacek@redhat.com>
4429         PR middle-end/59223
4430         * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
4431         -Wmaybe-uninitialized.
4433 2014-02-27  Alan Modra  <amodra@gmail.com>
4435         PR target/57936
4436         * reload1.c (emit_input_reload_insns): When reload_override_in,
4437         set old to rl->in_reg when rl->in_reg is a subreg.
4439 2014-02-26  Richard Biener  <rguenther@suse.de>
4441         PR bootstrap/60343
4442         * lra-assigns.c (spill_for): Avoid mixed-sign comparison.
4444 2014-02-25  Ilya Tocar  <ilya.tocar@intel.com>
4446         * common/config/i386/predicates.md (const1256_operand): Remove.
4447         (const2356_operand): New.
4448         (const_1_to_2_operand): Remove.
4449         * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
4450         (*avx512pf_gatherpf<mode>sf_mask): Ditto.
4451         (*avx512pf_gatherpf<mode>sf): Ditto.
4452         (avx512pf_gatherpf<mode>df): Ditto.
4453         (*avx512pf_gatherpf<mode>df_mask): Ditto.
4454         (*avx512pf_gatherpf<mode>df): Ditto.
4455         (avx512pf_scatterpf<mode>sf): Ditto.
4456         (*avx512pf_scatterpf<mode>sf_mask): Ditto.
4457         (*avx512pf_scatterpf<mode>sf): Ditto.
4458         (avx512pf_scatterpf<mode>df): Ditto.
4459         (*avx512pf_scatterpf<mode>df_mask): Ditto.
4460         (*avx512pf_scatterpf<mode>df): Ditto.
4461         * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
4463 2014-02-26  Ilya Tocar  <ilya.tocar@intel.com>
4465         * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
4466         (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask),
4467         (_mm512_mask_testn_epi64_mask): Move to ...
4468         * config/i386/avx512cdintrin.h: Here.
4469         * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm.
4470         * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %.
4471         (avx512f_scalef<mode><mask_name><round_name>): Ditto.
4472         (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to
4473         TARGET_AVX512F from TARGET_AVX512CD.
4475 2014-02-26  Richard Biener  <rguenther@suse.de>
4477         PR ipa/60327
4478         * ipa.c (walk_polymorphic_call_targets): Properly guard
4479         call to inline_update_overall_summary.
4481 2014-02-26  Bin Cheng  <bin.cheng@arm.com>
4483         PR target/60280
4484         * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders
4485         and latches only if requested.  Fix latch if it is removed.
4486         * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
4487         LOOPS_HAVE_PREHEADERS.
4489 2014-02-25  Andrew Pinski  <apinski@cavium.com>
4491         * builtins.c (expand_builtin_thread_pointer): Create a new target
4492         when the target is NULL.
4494 2014-02-25  Vladimir Makarov  <vmakarov@redhat.com>
4496         PR rtl-optimization/60317
4497         * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
4498         * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
4499         * lra-assigns.c: Include params.h.
4500         (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for
4501         other reload pseudos considerations.
4503 2014-02-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4505         * config/rs6000/vector.md (*vector_unordered<mode>): Change split
4506         to use canonical form for nor<mode>3.
4508 2014-02-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4510         PR target/55426
4511         * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
4512         conversions.
4514 2014-02-25  Ilya Tocar  <ilya.tocar@intel.com>
4516         * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET),
4517         (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New.
4518         (ix86_handle_option): Handle OPT_mprefetchwt1.
4519         * config/i386/cpuid.h (bit_PREFETCHWT1): New.
4520         * config/i386/driver-i386.c (host_detect_local_cpu): Detect
4521         PREFETCHWT1 CPUID.
4522         * config/i386/i386-c.c (ix86_target_macros_internal): Handle
4523         OPTION_MASK_ISA_PREFETCHWT1.
4524         * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1.
4525         (PTA_PREFETCHWT1): New.
4526         (ix86_option_override_internal): Handle PTA_PREFETCHWT1.
4527         (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1.
4528         * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New.
4529         * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
4530         (*prefetch_avx512pf_<mode>_: Change into ...
4531         (*prefetch_prefetchwt1_<mode>: This.
4532         * config/i386/i386.opt (mprefetchwt1): New.
4533         * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1.
4534         (_mm_prefetch): Handle intent to write.
4535         * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument.
4537 2014-02-25  Richard Biener  <rguenther@suse.de>
4539         PR middle-end/60291
4540         * emit-rtl.c (mem_attrs_htab): Remove.
4541         (mem_attrs_htab_hash): Likewise.
4542         (mem_attrs_htab_eq): Likewise.
4543         (set_mem_attrs): Always allocate new mem-attrs when something changed.
4544         (init_emit_once): Do not allocate mem_attrs_htab.
4546 2014-02-25  Richard Biener  <rguenther@suse.de>
4548         PR lto/60319
4549         * lto-opts.c (lto_write_options): Output non-explicit conservative
4550         -fwrapv, -fno-trapv and -fno-strict-overflow.
4551         * lto-wrapper.c (merge_and_complain): Handle merging those options.
4552         (run_gcc): And pass them through.
4554 2014-02-25  Andrey Belevantsev  <abel@ispras.ru>
4556         * sel-sched.c (calculate_new_fences): New parameter ptime.
4557         Calculate it as a maximum over all fence cycles.
4558         (sel_sched_region_2): Adjust the call to calculate_new_fences.
4559         Print the final schedule timing when sched_verbose.
4561 2014-02-25  Andrey Belevantsev  <abel@ispras.ru>
4563         PR rtl-optimization/60292
4564         * sel-sched.c (fill_vec_av_set): Do not reset target availability
4565         bit fot the fence instruction.
4567 2014-02-24  Alangi Derick  <alangiderick@gmail.com>
4569         * calls.h: Fix typo in comment.
4571 2014-02-24  John David Anglin  <danglin@gcc.gnu.org>
4573         * config/pa/pa.c (pa_output_move_double): Don't valididate when
4574         adjusting offsetable addresses.
4576 2014-02-24  Guozhi Wei  <carrot@google.com>
4578         * sparseset.h (sparseset_pop): Fix the wrong index.
4580 2014-02-24  Walter Lee  <walt@tilera.com>
4582         * config.gcc (tilepro-*-*): Change to tilepro*-*-*.
4583         (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
4584         triplet.
4585         * common/config/tilegx/tilegx-common.c
4586         (TARGET_DEFAULT_TARGET_FLAGS): Define.
4587         * config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
4588         (LINK_SPEC): Ditto.
4589         * config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
4590         * config/tilegx/tilegx.c (tilegx_return_in_msb): New.
4591         (tilegx_gimplify_va_arg_expr): Handle big endian.
4592         (tilegx_expand_unaligned_load): Ditto.
4593         (tilegx_expand_unaligned_store): Ditto.
4594         (TARGET_RETURN_IN_MSB): New.
4595         * config/tilegx/tilegx.h (TARGET_DEFAULT): New.
4596         (TARGET_ENDIAN_DEFAULT): New.
4597         (TARGET_BIG_ENDIAN): Handle big endian.
4598         (BYTES_BIG_ENDIAN): Ditto.
4599         (WORDS_BIG_ENDIAN): Ditto.
4600         (FLOAT_WORDS_BIG_ENDIAN): Ditto.
4601         (ENDIAN_SPEC): New.
4602         (EXTRA_SPECS): New.
4603         * config/tilegx/tilegx.md (extv): Handle big endian.
4604         (extzv): Ditto.
4605         (insn_st<n>): Ditto.
4606         (insn_st<n>_add<bitsuffix>): Ditto.
4607         (insn_stnt<n>): Ditto.
4608         (insn_stnt<n>_add<bitsuffix>):Ditto.
4609         (vec_interleave_highv8qi): Handle big endian.
4610         (vec_interleave_highv8qi_be): New.
4611         (vec_interleave_highv8qi_le): New.
4612         (insn_v1int_h): Handle big endian.
4613         (vec_interleave_lowv8qi): Handle big endian.
4614         (vec_interleave_lowv8qi_be): New.
4615         (vec_interleave_lowv8qi_le): New.
4616         (insn_v1int_l): Handle big endian.
4617         (vec_interleave_highv4hi): Handle big endian.
4618         (vec_interleave_highv4hi_be): New.
4619         (vec_interleave_highv4hi_le): New.
4620         (insn_v2int_h): Handle big endian.
4621         (vec_interleave_lowv4hi): Handle big endian.
4622         (vec_interleave_lowv4hi_be): New.
4623         (vec_interleave_lowv4hi_le): New.
4624         (insn_v2int_l): Handle big endian.
4625         (vec_interleave_highv2si): Handle big endian.
4626         (vec_interleave_highv2si_be): New.
4627         (vec_interleave_highv2si_le): New.
4628         (insn_v4int_h): Handle big endian.
4629         (vec_interleave_lowv2si): Handle big endian.
4630         (vec_interleave_lowv2si_be): New.
4631         (vec_interleave_lowv2si_le): New.
4632         (insn_v4int_l): Handle big endian.
4633         * config/tilegx/tilegx.opt (mbig-endian): New option.
4634         (mlittle-endian): New option.
4635         * doc/install.texi: Document tilegxbe-linux.
4636         * doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
4638 2014-02-24  Martin Jambor  <mjambor@suse.cz>
4640         PR ipa/60266
4641         * ipa-cp.c (propagate_constants_accross_call): Bail out early if
4642         there are no parameter descriptors.
4644 2014-02-24  Andrey Belevantsev  <abel@ispras.ru>
4646         PR rtl-optimization/60268
4647         * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
4648         initialization to ...
4649         (sched_rgn_init): ... here.
4650         (schedule_region): Check for SCHED_PRESSURE_NONE earlier.
4652 2014-02-23  David Holsgrove  <david.holsgrove@xilinx.com>
4654         * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
4655         names.
4657 2014-02-23  Edgar E. Iglesias  <edgar.iglesias@xilinx.com>
4659         * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
4660         definition.
4662 2014-02-23  David Holsgrove  <david.holsgrove@xilinx.com>
4664         * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk,
4665         define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK.
4667 2014-02-23  David Holsgrove  <david.holsgrove@xilinx.com>
4669         * config/microblaze/predicates.md: Add cmp_op predicate.
4670         * config/microblaze/microblaze.md: Add branch_compare instruction
4671         which uses cmp_op predicate and emits cmp insn before branch.
4672         * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
4673         to microblaze_expand_conditional_branch and consolidate logic.
4674         (microblaze_expand_conditional_branch): emit branch_compare
4675         insn instead of handling cmp op separate from branch insn.
4677 2014-02-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4679         * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
4680         to permit subregs.
4682 2014-02-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4684         * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
4685         define_insn with define_expand and new define_insn
4686         *altivec_lve<VI_char>x_internal.
4687         (altivec_stve<VI_char>x): Replace define_insn with define_expand
4688         and new define_insn *altivec_stve<VI_char>x_internal.
4689         * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
4690         prototype.
4691         * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
4692         lve*x built-ins.
4693         (altivec_expand_stvex_be): New function.
4695 2014-02-22  Joern Rennecke  <joern.rennecke@embecosm.com>
4697         * config/avr/avr.c (avr_can_eliminate): Allow elimination from
4698         ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed.
4699         * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
4700         ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
4702 2014-02-21  Vladimir Makarov  <vmakarov@redhat.com>
4704         PR target/60298
4705         * lra-constraints.c (inherit_reload_reg): Use lra_emit_move
4706         instead of emit_move_insn.
4708 2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4710         * config/rs6000/altivec.md (altivec_vsumsws): Replace second
4711         vspltw with vsldoi.
4712         (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
4713         gen_altivec_vsumsws.
4715 2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4717         * config/rs6000/altivec.md (altivec_lvxl): Rename as
4718         *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
4719         (altivec_lvxl_<mode>): New define_expand incorporating
4720         -maltivec=be semantics where needed.
4721         (altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
4722         (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
4723         semantics where needed.
4724         (altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
4725         (altivec_stvx_<mode>): New define_expand incorporating
4726         -maltivec=be semantics where needed.
4727         (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
4728         VM2 iterator instead of V4SI.
4729         (altivec_stvxl_<mode>): New define_expand incorporating
4730         -maltivec=be semantics where needed.
4731         * config/rs6000/rs6000-builtin.def: Add new built-in definitions
4732         LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
4733         LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF,
4734         STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF,
4735         STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI.
4736         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
4737         ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
4738         similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
4739         ALTIVEC_BUILTIN_STVXL.
4740         * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype.
4741         (altivec_expand_stvx_be): Likewise.
4742         * config/rs6000/rs6000.c (swap_selector_for_mode): New function.
4743         (altivec_expand_lvx_be): Likewise.
4744         (altivec_expand_stvx_be): Likewise.
4745         (altivec_expand_builtin): Add cases for
4746         ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
4747         ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
4748         (altivec_init_builtins): Add definitions for
4749         __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
4750         __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>.
4752 2014-02-21  Catherine Moore  <clm@codesourcery.com>
4754         * doc/invoke.texi (mvirt, mno-virt): Document.
4755         * config/mips/mips.opt (mvirt): New option.
4756         * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
4758 2014-02-21  Richard Biener  <rguenther@suse.de>
4760         PR tree-optimization/60276
4761         * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
4762         (STMT_VINFO_MIN_NEG_DIST): New macro.
4763         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
4764         STMT_VINFO_MIN_NEG_DIST.
4765         * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
4766         made for negative dependence distances still hold.
4768 2014-02-21  Richard Biener  <rguenther@suse.de>
4770         PR middle-end/60291
4771         * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
4772         DECL_INITIAL for globals not in the current function context.
4774 2014-02-21  Jakub Jelinek  <jakub@redhat.com>
4776         PR tree-optimization/56490
4777         * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
4778         * tree-ssa-uninit.c: Include params.h.
4779         (compute_control_dep_chain): Add num_calls argument, return false
4780         if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
4781         num_calls to recursive call.
4782         (find_predicates): Change dep_chain into normal array,
4783         cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
4784         variable and adjust compute_control_dep_chain caller.
4785         (find_def_preds): Likewise.
4787 2014-02-21  Thomas Schwinge  <thomas@codesourcery.com>
4789         * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
4790         <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
4792 2014-02-21  Nick Clifton  <nickc@redhat.com>
4794         * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
4795         (pushhi1): Likewise.
4796         (popqi1): Add mode to pre_dec.
4797         (pophi1): Likewise.
4799 2014-02-21  Jakub Jelinek  <jakub@redhat.com>
4801         * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
4802         mode for mask of V8SFmode permutation.
4804 2014-02-20  Richard Henderson  <rth@redhat.com>
4806         PR c++/60272
4807         * builtins.c (expand_builtin_atomic_compare_exchange): Always make
4808         a new pseudo for OLDVAL.
4810 2014-02-20  Jakub Jelinek  <jakub@redhat.com>
4812         PR target/57896
4813         * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
4814         gen_reg_rtx if d->testing_p.
4815         (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
4816         if d->testing_p and we will certainly return true.
4817         (expand_vec_perm_even_odd_1): Likewise.  Don't call gen_reg_rtx
4818         if d->testing_p.
4820 2014-02-20  Uros Bizjak  <ubizjak@gmail.com>
4822         * emit-rtl.c (gen_reg_rtx): Assert that
4823         crtl->emit.regno_pointer_align_length is non-zero.
4825 2014-02-20  Richard Henderson  <rth@redhat.com>
4827         PR c++/60272
4828         * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
4829         on failure the store back into EXPECT.
4831 2014-02-20  Chung-Lin Tang  <cltang@codesourcery.com>
4832             Sandra Loosemore  <sandra@codesourcery.com>
4834         * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
4835         * config/nios2/nios2.c (nios2_function_profiler): Add
4836         -fPIC (flag_pic == 2) support.
4837         (nios2_handle_custom_fpu_cfg): Fix warning parameter.
4838         (nios2_large_offset_p): New function.
4839         (nios2_unspec_reloc_p): Move up position, update to use
4840         nios2_large_offset_p.
4841         (nios2_unspec_address): Remove function.
4842         (nios2_unspec_offset): New function.
4843         (nios2_large_got_address): New function.
4844         (nios2_got_address): Add large offset support.
4845         (nios2_legitimize_tls_address): Update usage of removed and new
4846         functions.
4847         (nios2_symbol_binds_local_p): New function.
4848         (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
4849         (nios2_legitimize_address): Update to use nios2_large_offset_p.
4850         (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
4851         (nios2_print_operand): Merge H/L processing, add hiadj/lo
4852         processing for (const (unspec ...)).
4853         (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
4855 2014-02-20  Richard Biener  <rguenther@suse.de>
4857         * tree-cfg.c (replace_uses_by): Mark altered BBs before
4858         doing the substitution.
4859         (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
4861 2014-02-20  Martin Jambor  <mjambor@suse.cz>
4863         PR ipa/55260
4864         * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
4865         info when checking whether lattices are bottom.
4867 2014-02-20  Richard Biener  <rguenther@suse.de>
4869         PR middle-end/60221
4870         * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
4871         regions at -O0.
4873 2014-02-20  Jan Hubicka  <hubicka@ucw.cz>
4875         PR ipa/58555
4876         * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
4877         parameter specifying the scaling.
4878         (inline_call): Update.
4879         (want_inline_recursively): Guard division by zero.
4880         (recursive_inlining): Update.
4881         * ipa-inline.h (clone_inlined_nodes): Update.
4883 2014-02-20  Ilya Tocar  <ilya.tocar@intel.com>
4885         PR target/60204
4886         * config/i386/i386.c (classify_argument): Pass structures of size
4887         64 bytes or less in register.
4889 2014-02-20  Ilya Tocar  <ilya.tocar@intel.com>
4890             Kirill Yukhin  <kirill.yukhin@intel.com>
4892         * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
4893         (_mm_rcp28_round_ss): Ditto.
4894         (_mm_rsqrt28_round_sd): Ditto.
4895         (_mm_rsqrt28_round_ss): Ditto.
4896         * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
4897         (_mm_rcp14_round_ss): Ditto.
4898         (_mm_rsqrt14_round_sd): Ditto.
4899         (_mm_rsqrt14_round_ss): Ditto.
4900         * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
4901         the first input operand, get rid of match_dup.
4902         (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
4903         attribute to sse.
4904         (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
4905         Ditto.
4906         (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
4907         operand as the first input operand, set type attribute.
4908         (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
4909         Set type attribute.
4910         (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
4911         operand as the first input operand, set type attribute.
4913 2014-02-19  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4915         * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
4916         bit of zero.
4918 2014-02-19  H.J. Lu  <hongjiu.lu@intel.com>
4920         PR target/60207
4921         * config/i386/i386.c (construct_container): Remove TFmode check
4922         for X86_64_INTEGER_CLASS.
4924 2014-02-19  Uros Bizjak  <ubizjak@gmail.com>
4926         PR target/59794
4927         * config/i386/i386.c (type_natural_mode): Warn for ABI changes
4928         only when -Wpsabi is enabled.
4930 2014-02-19  Michael Hudson-Doyle  <michael.hudson@linaro.org>
4932          PR target/59799
4933         * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
4934         passing arrays in registers are the same as for structs, so remove the
4935         special case for them.
4937 2014-02-19  Eric Botcazou  <ebotcazou@adacore.com>
4939         * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
4940         destination type, extract only the valid bits if the source type is not
4941         integral and has a different mode.
4943 2014-02-19  Richard Biener  <rguenther@suse.de>
4945         PR ipa/60243
4946         * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
4947         for all calls.
4949 2014-02-19  Richard Biener  <rguenther@suse.de>
4951         PR ipa/60243
4952         * ipa-prop.c: Include stringpool.h and tree-ssanames.h.
4953         (ipa_modify_call_arguments): Emit an argument load explicitely and
4954         preserve virtual SSA form there and for the replacement call.
4955         Do not update SSA form nor free dominance info.
4957 2014-02-18  Jan Hubicka  <hubicka@ucw.cz>
4959         * ipa.c (function_and_variable_visibility): Also clear WEAK
4960         flag when disolving COMDAT_GROUP.
4962 2014-02-18  Jan Hubicka  <hubicka@ucw.cz>
4964         * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
4965         * ipa-prop.c (ipa_set_jf_known_type): Return early when
4966         not devirtualizing.
4967         (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved;
4968         do more sanity checks.
4969         (detect_type_change): Return true when giving up early.
4970         (compute_complex_assign_jump_func): Fix type parameter of
4971         ipa_set_ancestor_jf.
4972         (compute_complex_ancestor_jump_func): Likewise.
4973         (update_jump_functions_after_inlining): Fix updating of
4974         ancestor function.
4975         * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
4977 2014-02-18  Jan Hubicka  <hubicka@ucw.cz>
4979         * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove
4980         inline clones when edge disappears.
4982 2014-02-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
4984         PR target/60203
4985         * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
4986         Split 64-bit moves into 2 patterns.  Do not allow the use of
4987         direct move for TDmode in little endian, since the decimal value
4988         has little endian bytes within a word, but the 64-bit pieces are
4989         ordered in a big endian fashion, and normal subreg's of TDmode are
4990         not allowed.
4991         (mov<mode>_64bit_dm): Likewise.
4992         (movtd_64bit_nodm): Likewise.
4994 2014-02-18  Eric Botcazou  <ebotcazou@adacore.com>
4996         PR tree-optimization/60174
4997         * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining
4998         statement of an SSA_NAME that occurs in an abnormal PHI node.
5000 2014-02-18  Jakub Jelinek  <jakub@redhat.com>
5002         PR sanitizer/60142
5003         * final.c (SEEN_BB): Remove.
5004         (SEEN_NOTE, SEEN_EMITTED): Renumber.
5005         (final_scan_insn): Don't force_source_line on second
5006         NOTE_INSN_BASIC_BLOCK.
5008 2014-02-18  Uros Bizjak  <ubizjak@gmail.com>
5010         PR target/60205
5011         * config/i386/i386.h (struct ix86_args): Add warn_avx512f.
5012         * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f.
5013         (type_natural_mode): Warn ABI change when %zmm register is not
5014         available for AVX512F vector value passing.
5016 2014-02-18  Kai Tietz  <ktietz@redhat.com>
5018         PR target/60193
5019         * config/i386/i386.c (ix86_expand_prologue): Use value in
5020         rax register as displacement when restoring %r10 or %rax.
5021         Fix wrong offset when restoring both registers.
5023 2014-02-18  Eric Botcazou  <ebotcazou@adacore.com>
5025         * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
5026         assertion with conditional return.
5028 2014-02-18  Jakub Jelinek  <jakub@redhat.com>
5029             Uros Bizjak  <ubizjak@gmail.com>
5031         PR driver/60233
5032         * config/i386/driver-i386.c (host_detect_local_cpu): If
5033         YMM state is not saved by the OS, also clear has_f16c.  Move
5034         CPUID 0x80000001 handling before YMM state saving checking.
5036 2014-02-18  Andrey Belevantsev  <abel@ispras.ru>
5038         PR rtl-optimization/58960
5039         * haifa-sched.c (alloc_global_sched_pressure_data): New,
5040         factored out from ...
5041         (sched_init): ... here.
5042         (free_global_sched_pressure_data): New, factored out from ...
5043         (sched_finish): ... here.
5044         * sched-int.h (free_global_sched_pressure_data): Declare.
5045         * sched-rgn.c (nr_regions_initial): New static global.
5046         (haifa_find_rgns): Initialize it.
5047         (schedule_region): Disable sched-pressure for the newly
5048         generated regions.
5050 2014-02-17  Richard Biener  <rguenther@suse.de>
5052         * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and
5053         release SSA defs of pattern stmts.
5055 2014-02-17  Richard Biener  <rguenther@suse.de>
5057         * tree-inline.c (expand_call_inline): Release the virtual
5058         operand defined by the call we are about to inline.
5060 2014-02-17  Richard Biener  <rguenther@suse.de>
5062         * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
5064 2014-02-17  Kirill Yukhin  <kirill.yukhin@intel.com>
5065             Ilya Tocar  <ilya.tocar@intel.com>
5067         * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
5068         arguments order in builtin.
5069         (_mm512_permutexvar_epi64): Ditto.
5070         (_mm512_mask_permutexvar_epi64): Ditto
5071         (_mm512_maskz_permutexvar_epi32): Ditto
5072         (_mm512_permutexvar_epi32): Ditto
5073         (_mm512_mask_permutexvar_epi32): Ditto
5075 2014-02-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5077         * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets.
5078         (p8_vmrgow): Likewise.
5080 2014-02-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5082         * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
5083         endian targets.
5085 2014-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
5087         PR target/60203
5088         * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
5089         (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
5090         into 64-bit and 32-bit moves.  On 64-bit moves, add support for
5091         using direct move instructions on ISA 2.07.  Also adjust
5092         instruction length for 64-bit.
5093         (mov<mode>_64bit, TFmode/TDmode): Likewise.
5094         (mov<mode>_32bit, TFmode/TDmode): Likewise.
5096 2014-02-15  Alan Modra  <amodra@gmail.com>
5098         PR target/58675
5099         PR target/57935
5100         * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
5101         find_replacement on parts of insn rtl that might be reloaded.
5103 2014-02-15  Richard Biener  <rguenther@suse.de>
5105         PR tree-optimization/60183
5106         * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads.
5107         (tree_ssa_phiprop): Calculate and free post-dominators.
5109 2014-02-14  Jeff Law  <law@redhat.com>
5111         PR rtl-optimization/60131
5112         * ree.c (get_extended_src_reg): New function.
5113         (combine_reaching_defs): Use it rather than assuming location of REG.
5114         (find_and_remove_re): Verify first operand of extension is
5115         a REG before adding the insns to the copy list.
5117 2014-02-14  Roland McGrath  <mcgrathr@google.com>
5119         * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
5120         * configure: Regenerated.
5121         * config.in: Regenerated.
5122         * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
5123         instead of ASM_SHORT.
5125 2014-02-14  Vladimir Makarov  <vmakarov@redhat.com>
5126             Richard Earnshaw  <rearnsha@arm.com>
5128         PR rtl-optimization/59535
5129         * lra-constraints.c (process_alt_operands): Encourage alternative
5130         when unassigned pseudo class is superset of the alternative class.
5131         (inherit_reload_reg): Don't inherit when optimizing for code size.
5132         * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA
5133         returning CORE_REGS for anything but Thumb1 and BASE_REGS for
5134         modes not less than 4 for Thumb1.
5136 2014-02-14  Kyle McMartin  <kyle@redhat.com>
5138         PR pch/60010
5139         * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
5141 2014-02-14  Richard Biener  <rguenther@suse.de>
5143         * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF.
5144         (get_frame_arg): Drop the assert with langhook types_compatible_p.
5145         Do not strip INDIRECT_REFs.
5147 2014-02-14  Richard Biener  <rguenther@suse.de>
5149         PR lto/60179
5150         * lto-streamer-out.c (DFS_write_tree_body): Do not follow
5151         DECL_FUNCTION_SPECIFIC_TARGET.
5152         (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET.
5153         * tree-streamer-out.c (pack_ts_target_option): Remove.
5154         (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION.
5155         (write_ts_function_decl_tree_pointers): Do not stream
5156         DECL_FUNCTION_SPECIFIC_TARGET.
5157         * tree-streamer-in.c (unpack_ts_target_option): Remove.
5158         (unpack_value_fields): Do not stream TS_TARGET_OPTION.
5159         (lto_input_ts_function_decl_tree_pointers): Do not stream
5160         DECL_FUNCTION_SPECIFIC_TARGET.
5162 2014-02-14  Jakub Jelinek  <jakub@redhat.com>
5164         * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice.
5165         (get_initial_def_for_induction, vectorizable_induction): Ignore
5166         debug stmts when looking for exit_phi.
5167         (vectorizable_live_operation): Fix up condition.
5169 2014-02-14  Chung-Ju Wu  <jasonwucj@gmail.com>
5171         * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use
5172         nreverse() because it changes the content of original tree list.
5174 2014-02-14  Chung-Ju Wu  <jasonwucj@gmail.com>
5176         * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment.
5177         * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise.
5179 2014-02-14  Chung-Ju Wu  <jasonwucj@gmail.com>
5181         * config/nds32/nds32.c (nds32_naked_function_p): Follow the
5182         GNU coding standards.
5184 2014-02-13  Jakub Jelinek  <jakub@redhat.com>
5186         PR debug/60152
5187         * dwarf2out.c (gen_subprogram_die): Don't call
5188         add_calling_convention_attribute if subr_die is old_die.
5190 2014-02-13  Sharad Singhai  <singhai@google.com>
5192         * doc/optinfo.texi: Fix order of nodes.
5194 2014-02-13  Uros Bizjak  <ubizjak@gmail.com>
5196         * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
5197         operands[2], not operands[3].
5199 2014-02-13  Richard Biener  <rguenther@suse.de>
5201         PR bootstrap/59878
5202         * doc/install.texi (ISL): Update recommended version to 0.12.2,
5203         mention the possibility of an in-tree build.
5204         (CLooG): Update recommended version to 0.18.1, mention the
5205         possibility of an in-tree build and clarify that the ISL
5206         bundled with CLooG does not work.
5208 2014-02-13  Jakub Jelinek  <jakub@redhat.com>
5210         PR target/43546
5211         * expr.c (compress_float_constant): If x is a hard register,
5212         extend into a pseudo and then move to x.
5214 2014-02-13  Dominik Vogt  <vogt@linux.vnet.ibm.com>
5216         * config/s390/s390.c (s390_asm_output_function_label): Fix crash
5217         caused by bad second argument to warning_at() with -mhotpatch and
5218         nested functions (e.g. with gfortran).
5220 2014-02-13  Richard Sandiford  <rdsandiford@googlemail.com>
5222         * opts.c (option_name): Remove "enabled by default" rider.
5224 2014-02-12  John David Anglin  <danglin@gcc.gnu.org>
5226         * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
5228 2014-02-12  H.J. Lu  <hongjiu.lu@intel.com>
5229             Uros Bizjak  <ubizjak@gmail.com>
5231         PR target/60151
5232         * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
5233         * configure: Regenerated.
5235 2014-02-12  Richard Biener  <rguenther@suse.de>
5237         * vec.c (vec_prefix::calculate_allocation): Move as
5238         inline variant to vec.h.
5239         (vec_prefix::calculate_allocation_1): New out-of-line version.
5240         * vec.h (vec_prefix::calculate_allocation_1): Declare.
5241         (vec_prefix::m_has_auto_buf): Rename to ...
5242         (vec_prefix::m_using_auto_storage): ... this.
5243         (vec_prefix::calculate_allocation): Inline the easy cases
5244         and dispatch to calculate_allocation_1 which doesn't need the
5245         prefix address.
5246         (va_heap::reserve): Use gcc_checking_assert.
5247         (vec<T, A, vl_embed>::embedded_init): Add argument to initialize
5248         m_using_auto_storage.
5249         (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed>
5250         member and adjust.
5251         (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check.
5252         (vec<T, va_heap, vl_ptr>::release): Avoid casting.
5253         (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify.
5255 2014-02-12  Richard Biener  <rguenther@suse.de>
5257         * gcse.c (compute_transp): break from loop over canon_modify_mem_list
5258         when we found a dependence.
5260 2014-02-12  Thomas Schwinge  <thomas@codesourcery.com>
5262         * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move
5263         common code...
5264         (maybe_fold_stmt): ... into this new function.
5265         * omp-low.c (lower_omp): Update comment.
5267         * omp-low.c (lower_omp_target): Add clobber for sizes array, after
5268         last use.
5270         * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
5271         dereference.
5273 2014-02-12  James Greenhalgh  <james.greenhalgh@arm.com>
5275         * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix
5276         identifiers in comments.
5277         (cortexa53_extra_costs): Likewise.
5278         * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments.
5279         (cortexa7_extra_costs): Likewise.
5280         (cortexa12_extra_costs): Likewise.
5281         (cortexa15_extra_costs): Likewise.
5282         (v7m_extra_costs): Likewise.
5284 2014-02-12  Richard Biener  <rguenther@suse.de>
5286         PR middle-end/60092
5287         * gimple-low.c (lower_builtin_posix_memalign): Lower conditional
5288         of posix_memalign being successful.
5289         (lower_stmt): Restrict lowering of posix_memalign to when
5290         -ftree-bit-ccp is enabled.
5292 2014-02-12  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
5294         * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for
5295         arg_loc.
5296         * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
5298 2014-02-12  Eric Botcazou  <ebotcazou@adacore.com>
5300         PR rtl-optimization/60116
5301         * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
5302         other_insn once the combination has been validated.
5304 2014-02-11  Jan Hubicka  <hubicka@ucw.cz>
5306         PR lto/59468
5307         * ipa-utils.h (possible_polymorphic_call_targets): Update prototype
5308         and wrapper.
5309         * ipa-devirt.c: Include demangle.h
5310         (odr_violation_reported): New static variable.
5311         (add_type_duplicate): Update odr_violations.
5312         (maybe_record_node): Add completep parameter; update it.
5313         (record_target_from_binfo): Add COMPLETEP parameter;
5314         update it as needed.
5315         (possible_polymorphic_call_targets_1): Likewise.
5316         (struct polymorphic_call_target_d): Add nonconstruction_targets;
5317         rename FINAL to COMPLETE.
5318         (record_targets_from_bases): Sanity check we found the binfo;
5319         fix COMPLETEP updating.
5320         (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP
5321         parameter, fix computing of COMPLETEP.
5322         (dump_possible_polymorphic_call_targets): Imrove readability of dump;
5323         at LTO time do demangling.
5324         (ipa_devirt): Use nonconstruction_targets; Improve dumps.
5325         * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer
5326         parameter.
5327         (gimple_get_virt_method_for_binfo): Likewise.
5328         * gimple-fold.h (gimple_get_virt_method_for_binfo,
5329         gimple_get_virt_method_for_vtable): Update prototypes.
5331 2014-02-11  Vladimir Makarov  <vmakarov@redhat.com>
5333         PR target/49008
5334         * genautomata.c (add_presence_absence): Fix typo with
5335         {final_}presence_list.
5337 2014-02-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
5339         PR target/60137
5340         * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter
5341         for VSX/Altivec vectors that land in GPR registers.
5343 2014-02-11  Richard Henderson  <rth@redhat.com>
5344             Jakub Jelinek  <jakub@redhat.com>
5346         PR debug/59776
5347         * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
5348         around drhs if type conversion to lacc->type is not useless.
5350 2014-02-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5352         * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57
5353         tuning struct.
5354         (cortex-a57.cortex-a53): Likewise.
5355         * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct.
5357 2014-02-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5359         * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
5360         arm_restrict_it.
5362 2014-02-11  Renlin Li  <Renlin.Li@arm.com>
5364         * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
5365         add_options_for_arm_vfp3.
5367 2014-02-11  Jeff Law  <law@redhat.com>
5369         PR middle-end/54041
5370         * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an
5371         object with an undesirable mode.
5373 2014-02-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5375         PR libgomp/60107
5376         * config/i386/sol2-9.h: New file.
5377         * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
5378         *-*-solaris2.9*): Use it.
5380 2014-02-10  Nagaraju Mekala  <nagaraju.mekala@xilinx.com>
5382         * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
5383         * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
5385 2014-02-10  Nagaraju Mekala  <nagaraju.mekala@xilinx.com>
5387         * config/microblaze/microblaze.c: Extend mcpu version format
5389 2014-02-10  David Holsgrove  <david.holsgrove@xilinx.com>
5391         * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
5393 2014-02-10  Richard Henderson  <rth@redhat.com>
5395         PR target/59927
5396         * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
5397         * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
5398         ms-abi vs -mno-accumulate-outgoing-args.
5399         (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
5400         * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
5401         respect to ms-abi.
5403 2014-02-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5405         PR middle-end/60080
5406         * cfgexpand.c (expand_asm_operands): Attach source location to
5407         ASM_INPUT rtx objects.
5408         * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
5410 2014-02-10  Nick Clifton  <nickc@redhat.com>
5412         * config/mn10300/mn10300.c (popcount): New function.
5413         (mn10300_expand_prologue): Include saved registers in stack usage
5414         count.
5416 2014-02-10  Jeff Law  <law@redhat.com>
5418         PR middle-end/52306
5419         * reload1.c (emit_input_reload_insns): Do not create invalid RTL
5420         when changing the SET_DEST of a prior insn to avoid an input reload.
5422 2014-02-10  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5424         * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
5425         big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
5426         -mcall-openbsd, or -mcall-linux.
5427         (CC1_ENDIAN_BIG_SPEC): Remove.
5428         (CC1_ENDIAN_LITTLE_SPEC): Remove.
5429         (CC1_ENDIAN_DEFAULT_SPEC): Remove.
5430         (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
5431         (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
5432         and %cc1_endian_default.
5433         * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
5435 2014-02-10  Richard Biener  <rguenther@suse.de>
5437         PR tree-optimization/60115
5438         * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
5439         MEM_REF handling.  Properly verify that the accesses are not
5440         out of the objects bound.
5442 2014-02-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5444         * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
5445         coretex to cortex.
5447 2014-02-10  Eric Botcazou  <ebotcazou@adacore.com>
5449         * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
5450         proper constants and fix formatting.
5451         (possible_polymorphic_call_targets): Fix formatting.
5453 2014-02-10  Kirill Yukhin  <kirill.yukhin@intel.com>
5454             Ilya Tocar  <ilya.tocar@intel.com>
5456         * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
5457         (_mm512_loadu_epi32): Renamed into...
5458         (_mm512_loadu_si512): This.
5459         (_mm512_storeu_epi32): Renamed into...
5460         (_mm512_storeu_si512): This.
5461         (_mm512_maskz_ceil_ps): Removed.
5462         (_mm512_maskz_ceil_pd): Ditto.
5463         (_mm512_maskz_floor_ps): Ditto.
5464         (_mm512_maskz_floor_pd): Ditto.
5465         (_mm512_floor_round_ps): Ditto.
5466         (_mm512_floor_round_pd): Ditto.
5467         (_mm512_ceil_round_ps): Ditto.
5468         (_mm512_ceil_round_pd): Ditto.
5469         (_mm512_mask_floor_round_ps): Ditto.
5470         (_mm512_mask_floor_round_pd): Ditto.
5471         (_mm512_mask_ceil_round_ps): Ditto.
5472         (_mm512_mask_ceil_round_pd): Ditto.
5473         (_mm512_maskz_floor_round_ps): Ditto.
5474         (_mm512_maskz_floor_round_pd): Ditto.
5475         (_mm512_maskz_ceil_round_ps): Ditto.
5476         (_mm512_maskz_ceil_round_pd): Ditto.
5477         (_mm512_expand_pd): Ditto.
5478         (_mm512_expand_ps): Ditto.
5479         * config/i386/i386.c (ix86_builtins): Remove
5480         IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
5481         (bdesc_args): Ditto.
5482         * config/i386/predicates.md (const1256_operand): New.
5483         (const_1_to_2_operand): Ditto.
5484         * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
5485         (*avx512pf_gatherpf<mode>sf_mask): Ditto.
5486         (*avx512pf_gatherpf<mode>sf): Ditto.
5487         (avx512pf_gatherpf<mode>df): Ditto.
5488         (*avx512pf_gatherpf<mode>df_mask): Ditto.
5489         (*avx512pf_gatherpf<mode>df): Ditto.
5490         (avx512pf_scatterpf<mode>sf): Ditto.
5491         (*avx512pf_scatterpf<mode>sf_mask): Ditto.
5492         (*avx512pf_scatterpf<mode>sf): Ditto.
5493         (avx512pf_scatterpf<mode>df): Ditto.
5494         (*avx512pf_scatterpf<mode>df_mask): Ditto.
5495         (*avx512pf_scatterpf<mode>df): Ditto.
5496         (avx512f_expand<mode>): Removed.
5497         (<shift_insn><mode>3<mask_name>): Change predicate type.
5499 2014-02-08  Jakub Jelinek  <jakub@redhat.com>
5501         * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
5502         not at the end of datarefs vector use ordered_remove to avoid
5503         reordering datarefs vector.
5505         PR c/59984
5506         * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
5507         mark local addressable non-static vars as GOVD_PRIVATE
5508         instead of GOVD_LOCAL.
5509         * omp-low.c (lower_omp_for): Move gimple_bind_vars
5510         and BLOCK_VARS of gimple_bind_block to new_stmt rather
5511         than copying them.
5513         PR middle-end/60092
5514         * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
5515         if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
5516         assume_aligned or alloc_align attributes.
5517         (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
5518         arguments.  Handle also assume_aligned and alloc_align attributes.
5519         (evaluate_stmt): Adjust bit_value_assume_aligned caller.  Handle
5520         calls to functions with assume_aligned or alloc_align attributes.
5521         * doc/extend.texi: Document assume_aligned and alloc_align attributes.
5523 2014-02-08  Terry Guo  <terry.guo@arm.com>
5525         * doc/invoke.texi: Document ARM -march=armv7e-m.
5527 2014-02-08  Jakub Jelinek  <jakub@redhat.com>
5529         * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
5530         flag on __cilkrts_rethrow builtin.
5532         PR ipa/60026
5533         * ipa-cp.c (determine_versionability): Fail at -O0
5534         or __attribute__((optimize (0))) or -fno-ipa-cp functions.
5535         * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
5537         Revert:
5538         2014-02-04  Jakub Jelinek  <jakub@redhat.com>
5540         PR ipa/60026
5541         * tree-inline.c (copy_forbidden): Fail for
5542         __attribute__((optimize (0))) functions.
5544 2014-02-07  Jan Hubicka  <hubicka@ucw.cz>
5546         * varpool.c: Include pointer-set.h.
5547         (varpool_remove_unreferenced_decls): Variables in other partitions
5548         will not be output; be however careful to not lose information
5549         about partitioning.
5551 2014-02-07  Jan Hubicka  <hubicka@ucw.cz>
5553         * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
5554         lookup in the vtable constructor.
5556 2014-02-07  Jeff Law  <law@redhat.com>
5558         PR target/40977
5559         * config/m68k/m68k.md (ashldi_extsi): Turn into a
5560         define_insn_and_split.
5562         * ipa-inline.c (inline_small_functions): Fix typos.
5564 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
5566         * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
5567         (s390_can_use_return_insn): Declare.
5568         * config/s390/s390.h (EPILOGUE_USES): Define.
5569         * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
5570         instructions.
5571         (s390_chunkify_start): Handle return JUMP_LABELs.
5572         (s390_early_mach): Emit a main_pool instruction on the entry edge.
5573         (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
5574         (s390_can_use_return_insn): New functions.
5575         (s390_fix_long_loop_prediction): Handle conditional returns.
5576         (TARGET_SET_UP_BY_PROLOGUE): Define.
5577         * config/s390/s390.md (ANY_RETURN): New code iterator.
5578         (*creturn, *csimple_return, return, simple_return): New patterns.
5580 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
5582         * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
5583         notes to each restore.  Also add REG_CFA_DEF_CFA when restoring %r15.
5584         (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P.  Update the
5585         REG_CFA_RESTORE list when deciding not to restore a register.
5587 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
5589         * config/s390/s390.c: Include tree-pass.h and context.h.
5590         (s390_early_mach): New function, split out from...
5591         (s390_emit_prologue): ...here.
5592         (pass_data_s390_early_mach): New pass structure.
5593         (pass_s390_early_mach): New class.
5594         (s390_option_override): Create and register early_mach pass.
5595         Move to end of file.
5597 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
5599         * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
5600         to match for the exit block.
5602 2014-02-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5604         * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
5605         ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
5606         Reject misaligned operands.
5608 2014-02-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5610         * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail.
5612 2014-02-07  Richard Biener  <rguenther@suse.de>
5614         PR middle-end/60092
5615         * gimple-low.c (lower_builtin_posix_memalign): New function.
5616         (lower_stmt): Call it to lower posix_memalign in a way
5617         to make alignment info accessible.
5619 2014-02-07  Jakub Jelinek  <jakub@redhat.com>
5621         PR c++/60082
5622         * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
5623         __builtin_setjmp_receiver.
5625 2014-02-07  Richard Biener  <rguenther@suse.de>
5627         PR middle-end/60092
5628         * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
5629         * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
5630         * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
5631         Handle BUILT_IN_POSIX_MEMALIGN.
5632         (find_func_clobbers): Likewise.
5633         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
5634         (call_may_clobber_ref_p_1): Likewise.
5636 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
5638         PR ipa/59918
5639         * ipa-devirt.c (record_target_from_binfo): Remove overactive
5640         sanity check.
5642 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
5644         PR ipa/59469
5645         * lto-cgraph.c (lto_output_node): Use
5646         symtab_get_symbol_partitioning_class.
5647         (lto_output_varpool_node): likewise.
5648         (symtab_get_symbol_partitioning_class): Move here from
5649         lto/lto-partition.c
5650         * cgraph.h (symbol_partitioning_class): Likewise.
5651         (symtab_get_symbol_partitioning_class): Declare.
5653 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
5655         * ggc.h (ggc_internal_cleared_alloc): New macro.
5656         * vec.h (vec_safe_copy): Handle memory stats.
5657         * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
5658         * target-globals.c (save_target_globals): Likewise.
5660 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
5662         PR target/60077
5663         * expr.c (emit_move_resolve_push): Export; be bit more selective
5664         on when to clear alias set.
5665         * expr.h (emit_move_resolve_push): Declare.
5666         * function.h (struct function): Add tail_call_marked.
5667         * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
5668         * config/i386/i386-protos.h (ix86_expand_push): Remove.
5669         * config/i386/i386.md (TImode move expander): De not call
5670         ix86_expand_push.
5671         (FP push expanders): Preserve memory attributes.
5672         * config/i386/sse.md (push<mode>1): Remove.
5673         * config/i386/i386.c (ix86_expand_vector_move): Handle push operation.
5674         (ix86_expand_push): Remove.
5675         * config/i386/mmx.md (push<mode>1): Remove.
5677 2014-02-06  Jakub Jelinek  <jakub@redhat.com>
5679         PR rtl-optimization/60030
5680         * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
5681         lopart with paradoxical subreg before shifting it up by hprec.
5683 2014-02-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5685         * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
5686         Remove extra newline at end of file.
5687         * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
5688         (arm_issue_rate): Handle cortexa57.
5689         * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
5690         (cortex-a57.cortex-a53): Likewise.
5692 2014-02-06  Jakub Jelinek  <jakub@redhat.com>
5694         PR target/59575
5695         * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
5696         don't record in REG_FRAME_RELATED_EXPR registers not set in that
5697         bitmask.
5698         (arm_expand_prologue): Adjust all callers.
5699         (arm_unwind_emit_sequence): Allow saved, but not important for unwind
5700         info, registers also at the lowest numbered registers side.  Use
5701         gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
5702         XEXP.
5704         PR debug/59992
5705         * var-tracking.c (adjust_mems): Before adding a SET to
5706         amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx.
5708 2014-02-06  Alan Modra  <amodra@gmail.com>
5710         PR target/60032
5711         * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
5712         change SDmode to DDmode when lra_in_progress.
5714 2014-02-06  Jakub Jelinek  <jakub@redhat.com>
5716         PR middle-end/59150
5717         * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
5718         free_data_ref on the dr first, and before goto again also set dr
5719         to the next dr.  For simd_lane_access, free old datarefs[i] before
5720         overwriting it.  For get_vectype_for_scalar_type failure, don't
5721         free_data_ref if simd_lane_access.
5723         * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
5725         PR target/60062
5726         * tree.h (opts_for_fn): New inline function.
5727         (opt_for_fn): Define.
5728         * config/i386/i386.c (ix86_function_regparm): Use
5729         opt_for_fn (decl, optimize) instead of optimize.
5731 2014-02-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
5733         * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
5734         for SYMBOL_REF in large memory model.
5736 2014-02-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5738         * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
5739         and crypto support.
5740         (cortex-a57): Likewise.
5741         (cortex-a57.cortex-a53): Likewise.
5743 2014-02-06  Yury Gribov  <y.gribov@samsung.com>
5744             Kugan Vivekanandarajah  <kuganv@linaro.org>
5746         * config/arm/arm.c (arm_vector_alignment_reachable): Check
5747         unaligned_access.
5748         * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
5750 2014-02-06  Richard Biener  <rguenther@suse.de>
5752         * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
5753         set_loop_copy and initialize_original_copy_tables.
5755 2014-02-06  Alex Velenko  <Alex.Velenko@arm.com>
5757         * config/aarch64/aarch64-simd.md
5758         (aarch64_ashr_simddi): Change QI to SI.
5760 2014-02-05  Jan Hubicka  <hubicka@ucw.cz>
5761             Jakub Jelinek  <jakub@redhat.com>
5763         PR middle-end/60013
5764         * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
5765         of the dataflow.
5767 2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5769         * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
5770         CODE_FOR_altivec_vpku[hw]um to
5771         CODE_FOR_altivec_vpku[hw]um_direct.
5772         * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
5773         UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
5774         (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
5775         UNSPEC_VUNPACK_LO_SIGN_DIRECT.
5777 2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5779         * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
5780         generation for -maltivec=be.
5781         (altivec_vsumsws): Simplify redundant test.
5783 2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5785         * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
5786         (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
5787         (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
5788         (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
5789         gen_altivec_vpkuwum.
5790         (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
5791         BYTES_BIG_ENDIAN.
5792         (altivec_vpks<VI_char>ss): Likewise.
5793         (altivec_vpks<VI_char>us): Likewise.
5794         (altivec_vpku<VI_char>us): Likewise.
5795         (altivec_vpku<VI_char>um): Likewise.
5796         (altivec_vpku<VI_char>um_direct): New (copy of
5797         altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
5798         internal use).
5799         (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
5800         target is little endian and -maltivec=be is not specified.
5801         (*altivec_vupkhs<VU_char>_direct): New (copy of
5802         altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use).
5803         (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
5804         target is little endian and -maltivec=be is not specified.
5805         (*altivec_vupkls<VU_char>_direct): New (copy of
5806         altivec_vupkls<VU_char> that always emits vupkls*, for internal use).
5807         (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
5808         little endian and -maltivec=be is not specified.
5809         (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
5810         little endian and -maltivec=be is not specified.
5812 2014-02-05  Richard Henderson  <rth@redhat.com>
5814         PR debug/52727
5815         * combine-stack-adj.c: Revert r206943.
5816         * sched-int.h (struct deps_desc): Add last_args_size.
5817         * sched-deps.c (init_deps): Initialize it.
5818         (sched_analyze_insn): Add OUTPUT dependencies between insns that
5819         contain REG_ARGS_SIZE notes.
5821 2014-02-05  Jan Hubicka  <hubicka@ucw.cz>
5823         * lto-cgraph.c (asm_nodes_output): Make global.
5824         * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
5825         * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter
5826         (driver_handle_option): Handle OPT_fwpa.
5828 2014-02-05  Jakub Jelinek  <jakub@redhat.com>
5830         PR ipa/59947
5831         * ipa-devirt.c (possible_polymorphic_call_targets): Fix
5832         a comment typo and formatting issue.  If odr_hash hasn't been
5833         created, return vNULL and set *completep to false.
5835         PR middle-end/57499
5836         * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
5837         bb with no successors.
5839 2014-02-05  James Greenhalgh  <james.greenhalgh@arm.com>
5841         PR target/59718
5842         * doc/invoke.texi (-march): Clarify documentation for ARM.
5843         (-mtune): Likewise.
5844         (-mcpu): Likewise.
5846 2014-02-05  Richard Biener  <rguenther@suse.de>
5848         * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
5849         when not vectorizing because of too many alias checks.
5850         * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
5851         Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
5853 2014-02-05  Nick Clifton  <nickc@redhat.com>
5855         * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
5856         accept extended registers in any mode when compiling for the MN10300.
5858 2014-02-05  Yury Gribov  <y.gribov@samsung.com>
5860         * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
5861         * ipa-inline.c (report_inline_failed_reason): Handle mismatched
5862         sanitization attributes.
5863         (can_inline_edge_p): Likewise.
5864         (sanitize_attrs_match_for_inline_p): New function.
5866 2014-02-04  Jan Hubicka  <hubicka@ucw.cz>
5868         * ipa-prop.c (detect_type_change): Shor circuit testing of
5869         type changes on THIS pointer.
5871 2014-02-04  John David Anglin  <danglin@gcc.gnu.org>
5873         PR target/59777
5874         * config/pa/pa.c (legitimize_tls_address): Return original address
5875         if not passed a SYMBOL_REF rtx.
5876         (hppa_legitimize_address): Call legitimize_tls_address for all TLS
5877         addresses.
5878         (pa_emit_move_sequence): Simplify TLS source operands.
5879         (pa_legitimate_constant_p): Reject all TLS constants.
5880         * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
5881         (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
5883 2014-02-04  Jan Hubicka  <hubicka@ucw.cz>
5885         * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
5886         groups when we know they are controlled by LTO.
5887         * varasm.c (default_binds_local_p_1): If object is in other partition,
5888         it will be resolved locally.
5890 2014-02-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5892         * config/host-linux.c (linux_gt_pch_use_address): Don't
5893         use SSIZE_MAX because it is not always defined.
5895 2014-02-04  Vladimir Makarov  <vmakarov@redhat.com>
5897         PR bootstrap/59913
5898         * lra-constraints.c (need_for_split_p): Use more 3 reloads as
5899         threshold for pseudo splitting.
5900         (update_ebb_live_info): Process call argument hard registers and
5901         hard registers from insn definition too.
5902         (max_small_class_regs_num): New constant.
5903         (inherit_in_ebb): Update live hard regs through EBBs.  Update
5904         reloads_num only for small register classes.  Don't split for
5905         outputs of jumps.
5907 2014-02-04  Markus Trippelsdorf  <markus@trippelsdorf.de>
5909         PR ipa/60058
5910         * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
5911         is non-null.
5913 2014-02-04  Jan Hubicka  <hubicka@ucw.cz>
5915         * gimple-fold.c (can_refer_decl_in_current_unit_p): Default
5916         visibility is safe.
5918 2014-02-04  Marek Polacek  <polacek@redhat.com>
5920         * gdbinit.in (pel): Define.
5922 2014-02-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5924         * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
5925         behavior.
5927 2014-02-04  Richard Biener  <rguenther@suse.de>
5929         PR lto/59723
5930         * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
5931         in function context local.
5932         (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
5933         * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
5934         similar to LTO_imported_decl_ref.
5936 2014-02-04  Jakub Jelinek  <jakub@redhat.com>
5938         PR tree-optimization/60002
5939         * cgraphclones.c (build_function_decl_skip_args): Clear
5940         DECL_LANG_SPECIFIC.
5942         PR tree-optimization/60023
5943         * tree-if-conv.c (predicate_mem_writes): Pass true instead of
5944         false to gsi_replace.
5945         * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
5946         has been in some EH region and vec_stmt could throw, add
5947         vec_stmt into the same EH region.
5948         * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
5949         has no lhs, ignore it.
5950         * internal-fn.c (expand_MASK_LOAD): Likewise.
5952         PR ipa/60026
5953         * tree-inline.c (copy_forbidden): Fail for
5954         __attribute__((optimize (0))) functions.
5956         PR other/58712
5957         * omp-low.c (simd_clone_struct_copy): If from->inbranch
5958         is set, copy one less argument.
5959         (expand_simd_clones): Don't subtract clone_info->inbranch
5960         from simd_clone_struct_alloc argument.
5962         PR rtl-optimization/57915
5963         * recog.c (simplify_while_replacing): If all unary/binary/relational
5964         operation arguments are constant, attempt to simplify those.
5966         PR middle-end/59261
5967         * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
5968         if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
5970 2014-02-04  Richard Biener  <rguenther@suse.de>
5972         PR tree-optimization/60012
5973         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
5974         TBAA disambiguation to all DDRs.
5976 2014-02-04  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5978         PR target/59788
5979         * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
5980         (LINK_SPEC): Use it for -shared, -shared-libgcc.
5982 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
5984         PR ipa/59882
5985         * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
5987 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
5989         * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
5990         * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
5992 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
5994         PR ipa/59831
5995         * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
5996         to figure out targets of polymorphic calls with known decl.
5997         * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
5998         * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
5999         * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
6000         (get_polymorphic_call_info): ... here.
6001         (get_polymorphic_call_info_from_invariant): New function.
6003 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
6005         * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
6006         lookup via vtable pointer; check for type consistency
6007         and turn inconsitent facts into UNREACHABLE.
6008         * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
6009         * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on
6010         type inconsistent querries; return UNREACHABLE instead.
6012 2014-02-03  Richard Henderson  <rth@twiddle.net>
6014         PR tree-opt/59924
6015         * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
6016         already processed this node.
6017         (normalize_one_pred_1): Pass along mark_set.
6018         (normalize_one_pred): Create and destroy a pointer_set_t.
6019         (normalize_one_pred_chain): Likewise.
6021 2014-02-03  Laurent Aflonsi  <laurent.alfonsi@st.com>
6023         PR gcov-profile/58602
6024         * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0.
6026 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
6028         PR ipa/59831
6029         * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on
6030         -fno-devirtualize; try to devirtualize by the knowledge of
6031         virtual table pointer given by aggregate propagation.
6032         * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
6033         (ipa_print_node_jump_functions): Dump also offset that
6034         is relevant for polymorphic calls.
6035         (determine_known_aggregate_parts): Add arg_type parameter; use it
6036         instead of determining the type from pointer type.
6037         (ipa_compute_jump_functions_for_edge): Update call of
6038         determine_known_aggregate_parts.
6039         * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
6040         (gimple_get_virt_method_for_binfo): ... here; simplify using
6041         vtable_pointer_value_to_vtable.
6042         * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
6043         * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
6044         to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable.
6045         (vtable_pointer_value_to_vtable): Break out from ...; handle also
6046         POINTER_PLUS_EXPR.
6047         (vtable_pointer_value_to_binfo): ... here.
6048         * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
6050 2014-02-03  Teresa Johnson  <tejohnson@google.com>
6052         * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
6053         redef of outer loop index variable.
6055 2014-02-03  Marc Glisse  <marc.glisse@inria.fr>
6057         PR c++/53017
6058         PR c++/59211
6059         * doc/extend.texi (Function Attributes): Typo.
6061 2014-02-03  Cong Hou  <congh@google.com>
6063         PR tree-optimization/60000
6064         * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
6065         if the vectorized statement is a store.  A store statement can only
6066         appear at the end of pattern statements.
6068 2014-02-03  H.J. Lu  <hongjiu.lu@intel.com>
6070         * config/i386/i386.c (flag_opts): Add -mlong-double-128.
6071         (ix86_option_override_internal): Default long double to 64-bit for
6072         32-bit Bionic and to 128-bit for 64-bit Bionic.
6074         * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
6075         TARGET_LONG_DOUBLE_128 is true.
6076         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
6078         * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
6079         (mlong-double-64): Negate -mlong-double-128.
6080         (mlong-double-128): New option.
6082         * config/i386/i386-c.c (ix86_target_macros): Define
6083         __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
6085         * doc/invoke.texi: Document -mlong-double-128.
6087 2014-02-03  H.J. Lu  <hongjiu.lu@intel.com>
6089         PR rtl-optimization/60024
6090         * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
6092 2014-02-03  Markus Trippelsdorf  <markus@trippelsdorf.de>
6094         * doc/invoke.texi (fprofile-reorder-functions): Fix typo.
6096 2014-02-03  Andrey Belevantsev  <abel@ispras.ru>
6098         PR rtl-optimization/57662
6099         * sel-sched.c (code_motion_path_driver): Do not mark already not
6100         existing blocks in the visiting bitmap.
6102 2014-02-03  Andrey Belevantsev  <abel@ispras.ru>
6104         * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
6105         on the insn being emitted.
6107 2014-02-03  James Greenhalgh  <james.greenhalgh@arm.com>
6108             Will Deacon  <will.deacon@arm.com>
6110         * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
6112 2014-02-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
6114         * config/arm/arm-tables.opt: Regenerate.
6116 2014-02-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6118         * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
6119         for vector types other than V16QImode.
6120         * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
6121         define_expand, and call altivec_expand_vec_perm_le when producing
6122         code with little endian element order.
6123         (*altivec_vperm_<mode>_internal): New insn having previous
6124         behavior of altivec_vperm_<mode>.
6125         (altivec_vperm_<mode>_uns): Change to a define_expand, and call
6126         altivec_expand_vec_perm_le when producing code with little endian
6127         element order.
6128         (*altivec_vperm_<mode>_uns_internal): New insn having previous
6129         behavior of altivec_vperm_<mode>_uns.
6131 2014-02-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6133         * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
6134         (altivec_vsumsws): Add handling for -maltivec=be with a little
6135         endian target.
6136         (altivec_vsumsws_direct): New.
6137         (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
6138         gen_altivec_vsumsws.
6140 2014-02-02  Jan Hubicka  <hubicka@ucw.cz>
6142         * ipa-devirt.c (subbinfo_with_vtable_at_offset,
6143         vtable_pointer_value_to_binfo): New functions.
6144         * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
6145         * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
6147 2014-02-02  Sandra Loosemore  <sandra@codesourcery.com>
6149         * config/nios2/nios2.md (load_got_register): Initialize GOT
6150         pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
6151         * config/nios2/nios2.c (nios2_function_profiler): Likewise.
6153 2014-02-02  Jan Hubicka  <hubicka@ucw.cz>
6155         * ipa-prop.c (update_jump_functions_after_inlining): When type is not
6156         preserverd by passthrough, do not propagate the type.
6158 2014-02-02  Richard Sandiford  <rdsandiford@googlemail.com>
6160         * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
6161         (mips_atomic_assign_expand_fenv): New function.
6162         (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
6164 2014-02-02  Richard Sandiford  <rdsandiford@googlemail.com>
6166         * doc/extend.texi (__builtin_mips_get_fcsr): Document.
6167         (__builtin_mips_set_fcsr): Likewise.
6168         * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
6169         MIPS_USI_FTYPE_VOID.
6170         * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
6171         (mips16_expand_set_fcsr): Likewise.
6172         * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
6173         (mips16_set_fcsr_stub): Likewise.
6174         (mips16_get_fcsr_one_only_stub): New class.
6175         (mips16_set_fcsr_one_only_stub): Likewise.
6176         (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
6177         (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
6178         (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
6179         (hard_float): New availability predicate.
6180         (mips_builtins): Add get_fcsr and set_fcsr.
6181         (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
6182         * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
6183         (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
6184         (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
6185         (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
6186         patterns.
6188 2014-02-02  Richard Sandiford  <rdsandiford@googlemail.com>
6190         * config/mips/mips.c (mips_one_only_stub): New class.
6191         (mips_need_mips16_rdhwr_p): Replace with...
6192         (mips16_rdhwr_stub): ...this new variable.
6193         (mips16_stub_call_address): New function.
6194         (mips16_rdhwr_one_only_stub): New class.
6195         (mips_expand_thread_pointer): Use mips16_stub_call_address.
6196         (mips_output_mips16_rdhwr): Delete.
6197         (mips_finish_stub): New function.
6198         (mips_code_end): Use it to handle rdhwr stubs.
6200 2014-02-02  Uros Bizjak  <ubizjak@gmail.com>
6202         PR target/60017
6203         * config/i386/i386.c (classify_argument): Fix handling of bit_offset
6204         when calculating size of integer atomic types.
6206 2014-02-02  H.J. Lu  <hongjiu.lu@intel.com>
6208         * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
6210 2014-02-01  Jakub Jelinek  <jakub@redhat.com>
6212         PR tree-optimization/60003
6213         * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
6214         * profile.c (branch_prob): Use gimple_call_builtin_p
6215         to check for BUILT_IN_SETJMP_RECEIVER.
6216         * tree-inline.c (copy_bb): Call notice_special_calls.
6218 2014-01-31  Vladimir Makarov  <vmakarov@redhat.com>
6220         PR bootstrap/59985
6221         * lra-constraints.c (process_alt_operands): Update reload_sum only
6222         on the first pass.
6224 2014-01-31  Richard Henderson  <rth@redhat.com>
6226         PR middle-end/60004
6227         * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
6228         until after else_eh is processed.
6230 2014-01-31  Ilya Tocar  <ilya.tocar@intel.com>
6232         * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
6233         (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
6234         (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
6235         in smmintrin.h, remove them.
6236         (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
6237         * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
6238         * config/i386/i386.md (ROUND_SAE): Fix value.
6239         * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
6240         (const48_operand): New.
6241         * config/i386/subst.md (round), (round_expand): Use
6242         const_4_or_8_to_11_operand.
6243         (round_saeonly), (round_saeonly_expand): Use const48_operand.
6245 2014-01-31  Ilya Tocar  <ilya.tocar@intel.com>
6247         * config/i386/constraints.md (Yk): Swap meaning with k.
6248         * config/i386/i386.md (movhi_internal): Change Yk to k.
6249         (movqi_internal): Ditto.
6250         (*k<logic><mode>): Ditto.
6251         (*andhi_1): Ditto.
6252         (*andqi_1): Ditto.
6253         (kandn<mode>): Ditto.
6254         (*<code>hi_1): Ditto.
6255         (*<code>qi_1): Ditto.
6256         (kxnor<mode>): Ditto.
6257         (kortestzhi): Ditto.
6258         (kortestchi): Ditto.
6259         (kunpckhi): Ditto.
6260         (*one_cmplhi2_1): Ditto.
6261         (*one_cmplqi2_1): Ditto.
6262         * config/i386/sse.md (): Change k to Yk.
6263         (avx512f_load<mode>_mask): Ditto.
6264         (avx512f_blendm<mode>): Ditto.
6265         (avx512f_store<mode>_mask): Ditto.
6266         (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
6267         (avx512f_storedqu<mode>_mask): Ditto.
6268         (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
6269         Ditto.
6270         (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
6271         (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
6272         (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
6273         (avx512f_maskcmp<mode>3): Ditto.
6274         (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
6275         (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
6276         (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
6277         (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
6278         (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
6279         (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
6280         (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
6281         (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
6282         (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
6283         (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
6284         (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
6285         (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
6286         (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
6287         (vec_extract_lo_<mode>_maskm): Ditto.
6288         (vec_extract_hi_<mode>_maskm): Ditto.
6289         (avx512f_vternlog<mode>_mask): Ditto.
6290         (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
6291         (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
6292         (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
6293         (avx512f_<code>v8div16qi2_mask): Ditto.
6294         (avx512f_<code>v8div16qi2_mask_store): Ditto.
6295         (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
6296         (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
6297         (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
6298         (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
6299         (*avx512pf_gatherpf<mode>sf_mask): Ditto.
6300         (*avx512pf_gatherpf<mode>df_mask): Ditto.
6301         (*avx512pf_scatterpf<mode>sf_mask): Ditto.
6302         (*avx512pf_scatterpf<mode>df_mask): Ditto.
6303         (avx512cd_maskb_vec_dupv8di): Ditto.
6304         (avx512cd_maskw_vec_dupv16si): Ditto.
6305         (avx512f_vpermi2var<mode>3_maskz): Ditto.
6306         (avx512f_vpermi2var<mode>3_mask): Ditto.
6307         (avx512f_vpermi2var<mode>3_mask): Ditto.
6308         (avx512f_vpermt2var<mode>3_maskz): Ditto.
6309         (*avx512f_gathersi<mode>): Ditto.
6310         (*avx512f_gathersi<mode>_2): Ditto.
6311         (*avx512f_gatherdi<mode>): Ditto.
6312         (*avx512f_gatherdi<mode>_2): Ditto.
6313         (*avx512f_scattersi<mode>): Ditto.
6314         (*avx512f_scatterdi<mode>): Ditto.
6315         (avx512f_compress<mode>_mask): Ditto.
6316         (avx512f_compressstore<mode>_mask): Ditto.
6317         (avx512f_expand<mode>_mask): Ditto.
6318         * config/i386/subst.md (mask): Change k to Yk.
6319         (mask_scalar_merge): Ditto.
6320         (sd): Ditto.
6322 2014-01-31  Marc Glisse  <marc.glisse@inria.fr>
6324         * doc/extend.texi (Vector Extensions): Document ?: in C++.
6326 2014-01-31  Richard Biener  <rguenther@suse.de>
6328         PR middle-end/59990
6329         * builtins.c (fold_builtin_memory_op): Make sure to not
6330         use a floating-point mode or a boolean or enumeral type for
6331         the copy operation.
6333 2014-01-30  DJ Delorie  <dj@redhat.com>
6335         * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
6336         * config/msp430/msp430.md (msp430_refsym_need_exit): New.
6337         * config/msp430/msp430.c (msp430_expand_epilogue): Call it
6338         whenever main() has an epilogue.
6340 2014-01-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6342         * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
6343         unused variable "field".
6344         * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
6345         (vsx_mergeh_<mode>): Likewise.
6346         * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
6347         (altivec_vmrghh): Likewise.
6348         (altivec_vmrghw): Likewise.
6349         (altivec_vmrglb): Likewise.
6350         (altivec_vmrglh): Likewise.
6351         (altivec_vmrglw): Likewise.
6352         (altivec_vspltb): Add missing uses.
6353         (altivec_vsplth): Likewise.
6354         (altivec_vspltw): Likewise.
6355         (altivec_vspltsf): Likewise.
6357 2014-01-30  Jakub Jelinek  <jakub@redhat.com>
6359         PR target/59923
6360         * ifcvt.c (cond_exec_process_insns): Don't conditionalize
6361         frame related instructions.
6363 2014-01-30  Vladimir Makarov  <vmakarov@redhat.com>
6365         PR rtl-optimization/59959
6366         * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
6367         any reload of register whose subreg is invalid.
6369 2014-01-30  Jakub Jelinek  <jakub@redhat.com>
6371         * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
6372         * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
6373         Add missing return type - void.
6375 2014-01-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6377         * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
6378         gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
6379         remove element index adjustment for endian (now handled in vsx.md
6380         and altivec.md).
6381         (altivec_expand_vec_perm_const): Use
6382         gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
6383         * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
6384         (vsx_xxspltw_<mode>): Adjust element index for little endian.
6385         * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
6386         define_expand and a new define_insn *altivec_vspltb_internal;
6387         adjust for -maltivec=be on a little endian target.
6388         (altivec_vspltb_direct): New.
6389         (altivec_vsplth): Divide into a define_expand and a new
6390         define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
6391         little endian target.
6392         (altivec_vsplth_direct): New.
6393         (altivec_vspltw): Divide into a define_expand and a new
6394         define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
6395         little endian target.
6396         (altivec_vspltw_direct): New.
6397         (altivec_vspltsf): Divide into a define_expand and a new
6398         define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
6399         a little endian target.
6401 2014-01-30  Richard Biener  <rguenther@suse.de>
6403         PR tree-optimization/59993
6404         * tree-ssa-forwprop.c (associate_pointerplus): Check we
6405         can propagate form the earlier stmt and avoid the transform
6406         when the intermediate result is needed.
6408 2014-01-30  Alangi Derick  <alangiderick@gmail.com>
6410         * README.Portability: Fix typo.
6412 2014-01-30  David Holsgrove  <david.holsgrove@xilinx.com>
6414         * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
6415         comparison_operator with ordered_comparison_operator.
6417 2014-01-30  Nick Clifton  <nickc@redhat.com>
6419         * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
6420         Rename to mn10300_store_multiple_regs.
6421         * config/mn10300/mn10300.c: Likewise.
6422         * config/mn10300/mn10300.md (store_movm): Fix typo: call
6423         store_multiple_regs.
6424         * config/mn10300/predicates.md (mn10300_store_multiple_operation):
6425         Call mn10300_store_multiple_regs.
6427 2014-01-30  Nick Clifton  <nickc@redhat.com>
6428             DJ Delorie  <dj@redhat.com>
6430         * config/rl78/rl78.c (register_sizes): Make the "upper half" of
6431         %fp 2 to keep registers after it properly word-aligned.
6432         (rl78_alloc_physical_registers_umul): Handle the case where both
6433         input operands are the same.
6435 2014-01-30  Richard Biener  <rguenther@suse.de>
6437         PR tree-optimization/59903
6438         * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
6439         check properly.
6441 2014-01-30  Jason Merrill  <jason@redhat.com>
6443         PR c++/59633
6444         * tree.c (walk_type_fields): Handle VECTOR_TYPE.
6446         PR c++/59645
6447         * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
6449 2014-01-30  Richard Biener  <rguenther@suse.de>
6451         PR tree-optimization/59951
6452         * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
6454 2014-01-30  Savin Zlobec  <savin.zlobec@gmail.com>
6456         PR target/59784
6457         * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
6458         SFmode to DFmode case.
6460 2014-01-29  DJ Delorie  <dj@redhat.com>
6462         * config/msp430/msp430.opt (-minrt): New.
6463         * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
6464         if -minrt given.
6465         (ENDFILE_SPEC): Likewise.
6467 2014-01-29  Jan Hubicka  <hubicka@ucw.cz>
6469         * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
6470         (estimate_function_body_sizes): Use it.
6472 2014-01-29  Paolo Carlini  <paolo.carlini@oracle.com>
6474         PR c++/58561
6475         * dwarf2out.c (is_cxx_auto): New.
6476         (is_base_type): Use it.
6477         (gen_type_die_with_usage): Likewise.
6479 2014-01-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6481         * config/rs6000/rs6000.c (altivec_expand_vec_perm_const):  Use
6482         CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
6483         * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
6484         -maltivec=be with LE targets.
6485         (vsx_mergeh_<mode>): Likewise.
6486         * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
6487         (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
6488         (altivec_vmrghb): Replace with define_expand and new
6489         *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
6490         (altivec_vmrghb_direct): New define_insn.
6491         (altivec_vmrghh): Replace with define_expand and new
6492         *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
6493         (altivec_vmrghh_direct): New define_insn.
6494         (altivec_vmrghw): Replace with define_expand and new
6495         *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
6496         (altivec_vmrghw_direct): New define_insn.
6497         (*altivec_vmrghsf): Adjust for endianness.
6498         (altivec_vmrglb): Replace with define_expand and new
6499         *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
6500         (altivec_vmrglb_direct): New define_insn.
6501         (altivec_vmrglh): Replace with define_expand and new
6502         *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
6503         (altivec_vmrglh_direct): New define_insn.
6504         (altivec_vmrglw): Replace with define_expand and new
6505         *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
6506         (altivec_vmrglw_direct): New define_insn.
6507         (*altivec_vmrglsf): Adjust for endianness.
6508         (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
6509         (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
6510         (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
6511         (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
6512         (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
6513         (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
6514         (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
6515         (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
6517 2014-01-29  Marcus Shawcroft  <marcus.shawcroft@arm.com>
6519         * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
6520         (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
6521         whitespace.
6523 2014-01-29  Richard Biener  <rguenther@suse.de>
6525         PR tree-optimization/58742
6526         * tree-ssa-forwprop.c (associate_pointerplus): Rename to
6527         associate_pointerplus_align.
6528         (associate_pointerplus_diff): New function.
6529         (associate_pointerplus): Likewise.  Call associate_pointerplus_align
6530         and associate_pointerplus_diff.
6532 2014-01-29  Richard Biener  <rguenther@suse.de>
6534         * lto-streamer.h (LTO_major_version): Bump to 3.
6535         (LTO_minor_version): Reset to 0.
6537 2014-01-29  Renlin Li  <Renlin.Li@arm.com>
6539         * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
6540         * config/arm/arm.c (FL_FOR_ARCH7VE): New.
6541         (arm_file_start): Generate correct asm header for armv7ve.
6542         * config/arm/bpabi.h: Add multilib support for armv7ve.
6543         * config/arm/driver-arm.c: Change the architectures of cortex-a7
6544         and cortex-a15 to armv7ve.
6545         * config/arm/t-aprofile: Add multilib support for armv7ve.
6546         * doc/invoke.texi: Document -march=armv7ve.
6548 2014-01-29  Richard Biener  <rguenther@suse.de>
6550         PR tree-optimization/58742
6551         * tree-ssa-forwprop.c (associate_plusminus): Return true
6552         if we changed sth, defer EH cleanup to ...
6553         (ssa_forward_propagate_and_combine): ... here.  Call simplify_mult.
6554         (simplify_mult): New function.
6556 2014-01-29  Jakub Jelinek  <jakub@redhat.com>
6558         PR middle-end/59917
6559         PR tree-optimization/59920
6560         * tree.c (build_common_builtin_nodes): Remove
6561         __builtin_setjmp_dispatcher initialization.
6562         * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
6563         * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
6564         instead of gsi_after_labels + manually skipping debug stmts.
6565         Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
6566         ignore bbs with IFN_ABNORMAL_DISPATCHER.
6567         * tree-inline.c (copy_edges_for_bb): Remove
6568         can_make_abnormal_goto argument, instead add abnormal_goto_dest
6569         argument.  Ignore computed_goto_p stmts.  Don't call
6570         make_abnormal_goto_edges.  If a call might need abnormal edges
6571         for non-local gotos, see if it already has an edge to
6572         IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
6573         with true argument, don't do anything then, otherwise add
6574         EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
6575         (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
6576         caller.
6577         * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
6578         (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
6579         (lower_stmt): Don't set data->calls_builtin_setjmp.
6580         (lower_builtin_setjmp): Adjust comment.
6581         * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
6582         * tree-cfg.c (found_computed_goto): Remove.
6583         (factor_computed_gotos): Remove.
6584         (make_goto_expr_edges): Return bool, true for computed gotos.
6585         Don't call make_abnormal_goto_edges.
6586         (build_gimple_cfg): Don't set found_computed_goto, don't call
6587         factor_computed_gotos.
6588         (computed_goto_p): No longer static.
6589         (make_blocks): Don't set found_computed_goto.
6590         (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
6591         (make_edges): If make_goto_expr_edges returns true, push bb
6592         into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
6593         instead of calling make_abnormal_goto_edges push bb into ab_edge_call
6594         vector.  Record mapping between bbs and OpenMP regions if there
6595         are any, adjust make_gimple_omp_edges caller.  Call
6596         handle_abnormal_edges.
6597         (make_abnormal_goto_edges): Remove.
6598         * tree-cfg.h (make_abnormal_goto_edges): Remove.
6599         (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
6600         * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
6601         * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
6602         * internal-fn.def (ABNORMAL_DISPATCHER): New.
6603         * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
6604         filling *region also set *region_idx to (*region)->entry->index.
6606         PR other/58712
6607         * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
6608         For REGs set ORIGINAL_REGNO.
6610 2014-01-29  Bingfeng Mei  <bmei@broadcom.com>
6612         * doc/md.texi: Mention that a target shouldn't implement
6613         vec_widen_(s|u)mul_even/odd pair if it is less efficient
6614         than hi/lo pair.
6616 2014-01-29  Jakub Jelinek  <jakub@redhat.com>
6618         PR tree-optimization/59594
6619         * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
6620         a copy of the datarefs vector rather than the vector itself.
6622 2014-01-28  Jason Merrill  <jason@redhat.com>
6624         PR c++/53756
6625         * dwarf2out.c (auto_die): New static.
6626         (gen_type_die_with_usage): Handle C++1y 'auto'.
6627         (gen_subprogram_die): If in-class DIE had 'auto', emit type again
6628         on definition.
6630 2014-01-28  H.J. Lu  <hongjiu.lu@intel.com>
6632         PR target/59672
6633         * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
6634         (SPEC_X32): Likewise.
6635         (SPEC_64): Likewise.
6636         * config/i386/i386.c (ix86_option_override_internal): Turn off
6637         OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
6638         for TARGET_16BIT.
6639         (x86_file_start): Output .code16gcc for TARGET_16BIT.
6640         * config/i386/i386.h (TARGET_16BIT): New macro.
6641         (TARGET_16BIT_P): Likewise.
6642         * config/i386/i386.opt: Add m16.
6643         * doc/invoke.texi: Document -m16.
6645 2014-01-28  Jakub Jelinek  <jakub@redhat.com>
6647         PR preprocessor/59935
6648         * input.c (location_get_source_line): Bail out on when line number
6649         is zero, and test the return value of lookup_or_add_file_to_cache_tab.
6651 2014-01-28  Richard Biener  <rguenther@suse.de>
6653         PR tree-optimization/58742
6654         * tree-ssa-forwprop.c (associate_plusminus): Handle
6655         pointer subtraction of the form (T)(P + A) - (T)P.
6657 2014-01-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
6659         * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
6660         at const_int_cost.
6662 2014-01-28  Richard Biener  <rguenther@suse.de>
6664         Revert
6665         2014-01-28  Richard Biener  <rguenther@suse.de>
6667         PR rtl-optimization/45364
6668         PR rtl-optimization/59890
6669         * var-tracking.c (local_get_addr_clear_given_value): Handle
6670         already cleared slot.
6671         (val_reset): Handle not allocated local_get_addr_cache.
6672         (vt_find_locations): Use post-order on the inverted CFG.
6674 2014-01-28  Richard Biener  <rguenther@suse.de>
6676         * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
6678 2014-01-28  Richard Biener  <rguenther@suse.de>
6680         PR rtl-optimization/45364
6681         PR rtl-optimization/59890
6682         * var-tracking.c (local_get_addr_clear_given_value): Handle
6683         already cleared slot.
6684         (val_reset): Handle not allocated local_get_addr_cache.
6685         (vt_find_locations): Use post-order on the inverted CFG.
6687 2014-01-28  Alan Modra  <amodra@gmail.com>
6689         * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
6690         * configure.ac <recursive call for build != host>: Define
6691         GENERATOR_FILE.  Comment.  Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
6692         and LD_FOR_BUILD too.
6693         * configure: Regenerate.
6695 2014-01-27  Allan Sandfeld Jensen  <sandfeld@kde.org>
6697         * config/i386/i386.c (get_builtin_code_for_version): Separate
6698         Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
6699         Broadwell from Haswell.
6701 2014-01-27  Steve Ellcey  <sellcey@mips.com>
6703         * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
6704         Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
6705         * config/mips/mips.c (mips_option_override): Change setting
6706         of TARGET_DSP.
6707         * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
6708         * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
6709         Change from Mask to Var.
6711 2014-01-27  Jeff Law  <law@redhat.com>
6713         * ipa-inline.c (inline_small_functions): Fix typo.
6715 2014-01-27  Ilya Tocar  <ilya.tocar@intel.com>
6717         * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
6718         (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
6719         (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
6720         (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
6721         (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
6722         (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
6723         (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
6724         (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
6725         (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
6726         (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
6727         (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
6728         (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
6729         (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
6730         (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
6731         (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
6732         (_mm512_storeu_epi64): Ditto.
6733         (_mm512_cmpge_epi32_mask): Ditto.
6734         (_mm512_cmpge_epu32_mask): Ditto.
6735         (_mm512_cmpge_epi64_mask): Ditto.
6736         (_mm512_cmpge_epu64_mask): Ditto.
6737         (_mm512_cmple_epi32_mask): Ditto.
6738         (_mm512_cmple_epu32_mask): Ditto.
6739         (_mm512_cmple_epi64_mask): Ditto.
6740         (_mm512_cmple_epu64_mask): Ditto.
6741         (_mm512_cmplt_epi32_mask): Ditto.
6742         (_mm512_cmplt_epu32_mask): Ditto.
6743         (_mm512_cmplt_epi64_mask): Ditto.
6744         (_mm512_cmplt_epu64_mask): Ditto.
6745         (_mm512_cmpneq_epi32_mask): Ditto.
6746         (_mm512_cmpneq_epu32_mask): Ditto.
6747         (_mm512_cmpneq_epi64_mask): Ditto.
6748         (_mm512_cmpneq_epu64_mask): Ditto.
6749         (_mm512_expand_pd): Ditto.
6750         (_mm512_expand_ps): Ditto.
6751         * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
6752         VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
6753         VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
6754         * config/i386/i386.c (ix86_builtins): Add
6755         IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
6756         IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
6757         IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
6758         IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
6759         IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
6760         IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
6761         IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
6762         IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
6763         IX86_BUILTIN_PMOVUSQW512_MEM.
6764         (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
6765         __builtin_ia32_pmovsqd512mem_mask,
6766         __builtin_ia32_pmovqd512mem_mask,
6767         __builtin_ia32_pmovusqw512mem_mask,
6768         __builtin_ia32_pmovsqw512mem_mask,
6769         __builtin_ia32_pmovqw512mem_mask,
6770         __builtin_ia32_pmovusdw512mem_mask,
6771         __builtin_ia32_pmovsdw512mem_mask,
6772         __builtin_ia32_pmovdw512mem_mask,
6773         __builtin_ia32_pmovqb512mem_mask,
6774         __builtin_ia32_pmovusqb512mem_mask,
6775         __builtin_ia32_pmovsqb512mem_mask,
6776         __builtin_ia32_pmovusdb512mem_mask,
6777         __builtin_ia32_pmovsdb512mem_mask,
6778         __builtin_ia32_pmovdb512mem_mask.
6779         (bdesc_args): Add __builtin_ia32_expanddf512,
6780         __builtin_ia32_expandsf512.
6781         (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
6782         VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
6783         VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
6784         * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
6785         (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
6786         (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
6787         (avx512f_<code>v8div16qi2_mask_store): This.
6788         (avx512f_expand<mode>): New.
6790 2014-01-27  Kirill Yukhin  <kirill.yukhin@intel.com>
6792         * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
6793         New.
6794         (_mm512_mask_prefetch_i64gather_pd): Ditto.
6795         (_mm512_prefetch_i32scatter_pd): Ditto.
6796         (_mm512_mask_prefetch_i32scatter_pd): Ditto.
6797         (_mm512_prefetch_i64scatter_pd): Ditto.
6798         (_mm512_mask_prefetch_i64scatter_pd): Ditto.
6799         (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
6800         (_mm512_mask_prefetch_i64gather_ps): Ditto.
6801         (_mm512_prefetch_i32scatter_ps): Ditto.
6802         (_mm512_mask_prefetch_i32scatter_ps): Ditto.
6803         (_mm512_prefetch_i64scatter_ps): Ditto.
6804         (_mm512_mask_prefetch_i64scatter_ps): Ditto.
6805         * config/i386/i386-builtin-types.def: Define
6806         VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
6807         and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
6808         * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
6809         IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
6810         IX86_BUILTIN_SCATTERPFQPD.
6811         (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
6812         __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
6813         __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
6814         __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
6815         __builtin_ia32_scatterpfqps.
6816         (ix86_expand_builtin): Expand new built-ins.
6817         * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
6818         fix memory access data type.
6819         (*avx512pf_gatherpf<mode>_mask): Ditto.
6820         (*avx512pf_gatherpf<mode>): Ditto.
6821         (avx512pf_scatterpf<mode>): Ditto.
6822         (*avx512pf_scatterpf<mode>_mask): Ditto.
6823         (*avx512pf_scatterpf<mode>): Ditto.
6824         (GATHER_SCATTER_SF_MEM_MODE): New.
6825         (avx512pf_gatherpf<mode>df): Ditto.
6826         (*avx512pf_gatherpf<mode>df_mask): Ditto.
6827         (*avx512pf_scatterpf<mode>df): Ditto.
6829 2014-01-27  Jakub Jelinek  <jakub@redhat.com>
6831         PR bootstrap/59934
6832         * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
6833         know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
6834         reached.
6836 2014-01-27  James Greenhalgh  <james.greenhalgh@arm.com>
6838         * common/config/arm/arm-common.c
6839         (arm_rewrite_mcpu): Handle multiple names.
6840         * config/arm/arm.h
6841         (BIG_LITTLE_SPEC): Do not discard mcpu switches.
6843 2014-01-27  James Greenhalgh  <james.greenhalgh@arm.com>
6845         * gimple-builder.h (create_gimple_tmp): Delete.
6847 2014-01-27  Christian Bruel  <christian.bruel@st.com>
6849         * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
6850         words comparisons.
6852 2014-01-26  John David Anglin  <danglin@gcc.gnu.org>
6854         * config/pa/pa.md (call): Generate indirect long calls to non-local
6855         functions when outputing 32-bit code.
6856         (call_value): Likewise except for special call to buggy powf function.
6858         * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
6859         portable runtime and PIC indirect calls.
6860         (pa_output_indirect_call): Remove unnecessary nop from portable runtime
6861         and PIC call sequences.  Use ldo instead of blr to set return register
6862         in PIC call sequence.
6864 2014-01-25  Walter Lee  <walt@tilera.com>
6866         * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
6867         avoid clobbering a live register.
6869 2014-01-25  Walter Lee  <walt@tilera.com>
6871         * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
6872         Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
6873         * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
6874         Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
6876 2014-01-25  Walter Lee  <walt@tilera.com>
6878         * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
6879         arguments on even registers.
6880         (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
6881         STACK_BOUNDARY.
6882         * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
6883         (BIGGEST_ALIGNMENT): Ditto.
6884         (BIGGEST_FIELD_ALIGNMENT): Ditto.
6886 2014-01-25  Walter Lee  <walt@tilera.com>
6888         * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
6889         insns before bundling.
6890         * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
6892 2014-01-25  Walter Lee  <walt@tilera.com>
6894         * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
6895         PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
6896         * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
6898 2014-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
6900         * config/mips/constraints.md (kl): Delete.
6901         * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
6902         define expands, using...
6903         (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
6904         instructions for MIPS16.
6905         (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
6906         non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
6908 2014-01-25  Walter Lee  <walt@tilera.com>
6910         * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
6911         (clzdi2): Ditto.
6912         (ffsdi2): Ditto.
6914 2014-01-25  Walter Lee  <walt@tilera.com>
6916         * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
6917         (TARGET_EXPAND_TO_RTL_HOOK): Define.
6919 2014-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
6921         * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
6922         Handle XOR.
6924 2014-01-25  Jakub Jelinek  <jakub@redhat.com>
6926         * print-rtl.c (in_call_function_usage): New var.
6927         (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
6928         EXPR_LIST mode as mode and not as reg note name.
6930         PR middle-end/59561
6931         * cfgloopmanip.c (copy_loop_info): If
6932         loop->warned_aggressive_loop_optimizations, make sure
6933         the flag is set in target loop too.
6935 2014-01-24  Balaji V. Iyer  <balaji.v.iyer@intel.com>
6937         * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
6938         flag_cilkplus.
6939         * builtins.def: Likewise.
6940         * cilk.h (fn_contains_cilk_spawn_p): Likewise.
6941         * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
6942         * ira.c (ira_setup_eliminable_regset): Likewise.
6943         * omp-low.c (gate_expand_omp): Likewise.
6944         (execute_lower_omp): Likewise.
6945         (diagnose_sb_0): Likewise.
6946         (gate_diagnose_omp_blocks): Likewise.
6947         (simd_clone_clauses_extract): Likewise.
6948         (gate): Likewise.
6950 2014-01-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6952         * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
6953         correction for little endian...
6954         * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
6955         here.
6957 2014-01-24  Jeff Law  <law@redhat.com>
6959         PR tree-optimization/59919
6960         * tree-vrp.c (find_assert_locations_1): Do not register asserts
6961         for non-returning calls.
6963 2014-01-24  James Greenhalgh  <james.greenhalgh@arm.com>
6965         * common/config/aarch64/aarch64-common.c
6966         (aarch64_rewrite_mcpu): Handle multiple names.
6967         * config/aarch64/aarch64.h
6968         (BIG_LITTLE_SPEC): Do not discard mcpu switches.
6970 2014-01-24  Dodji Seketeli  <dodji@redhat.com>
6972         * input.c (add_file_to_cache_tab): Handle the case where fopen
6973         returns NULL.
6975 2014-01-23  H.J. Lu  <hongjiu.lu@intel.com>
6977         PR target/59929
6978         * config/i386/i386.md (pushsf splitter): Get stack adjustment
6979         from push operand if code of push isn't PRE_DEC.
6981 2014-01-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
6983         PR target/59909
6984         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
6985         -mquad-memory-atomic.  Update -mquad-memory documentation to say
6986         it is only used for non-atomic loads/stores.
6988         * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
6989         -mquad-memory or -mquad-memory-atomic switches.
6991         * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
6992         -mquad-memory-atomic to ISA 2.07 support.
6994         * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
6995         to separate support of normal quad word memory operations (ldq, stq)
6996         from the atomic quad word memory operations.
6998         * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
6999         support to separate non-atomic quad word operations from atomic
7000         quad word operations.  Disable non-atomic quad word operations in
7001         little endian mode so that we don't have to swap words after the
7002         load and before the store.
7003         (quad_load_store_p): Add comment about atomic quad word support.
7004         (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
7005         options printed with -mdebug=reg.
7007         * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
7008         -mquad-memory-atomic as the test for whether we have quad word
7009         atomic instructions.
7010         (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
7011         or -mp8-vector are used, allow byte/half-word atomic operations.
7013         * config/rs6000/sync.md (load_lockedti): Insure that the address
7014         is a proper indexed or indirect address for the lqarx instruction.
7015         On little endian systems, swap the hi/lo registers after the lqarx
7016         instruction.
7017         (load_lockedpti): Use indexed_or_indirect_operand predicate to
7018         insure the address is valid for the lqarx instruction.
7019         (store_conditionalti): Insure that the address is a proper indexed
7020         or indirect address for the stqcrx. instruction.  On little endian
7021         systems, swap the hi/lo registers before doing the stqcrx.
7022         instruction.
7023         (store_conditionalpti): Use indexed_or_indirect_operand predicate to
7024         insure the address is valid for the stqcrx. instruction.
7026         * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
7027         Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
7028         type of quad memory support is available.
7030 2014-01-23  Vladimir Makarov  <vmakarov@redhat.com>
7032         PR regression/59915
7033         * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
7034         there is a danger of looping.
7036 2014-01-23  Pat Haugen  <pthaugen@us.ibm.com>
7038         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
7039         force flag_ira_loop_pressure if set via command line.
7041 2014-01-23  Alex Velenko  <Alex.Velenko@arm.com>
7043         * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
7044         (ashr_simd): New builtin handling DI mode.
7045         * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
7046         (aarch64_sshr_simddi): New match pattern.
7047         * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
7048         (vshrd_n_s64): Likewise.
7049         * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
7051 2014-01-23  Nick Clifton  <nickc@redhat.com>
7053         * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
7054         (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
7055         favour of mcu specific scripts.
7056         * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
7057         430x multilibs.
7059 2014-01-23  James Greenhalgh  <james.greenhalgh@arm.com>
7060             Alex Velenko  <Alex.Velenko@arm.com>
7062         * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
7063         (vaddv_s16): Likewise.
7064         (vaddv_s32): Likewise.
7065         (vaddv_u8): Likewise.
7066         (vaddv_u16): Likewise.
7067         (vaddv_u32): Likewise.
7068         (vaddvq_s8): Likewise.
7069         (vaddvq_s16): Likewise.
7070         (vaddvq_s32): Likewise.
7071         (vaddvq_s64): Likewise.
7072         (vaddvq_u8): Likewise.
7073         (vaddvq_u16): Likewise.
7074         (vaddvq_u32): Likewise.
7075         (vaddvq_u64): Likewise.
7076         (vaddv_f32): Likewise.
7077         (vaddvq_f32): Likewise.
7078         (vaddvq_f64): Likewise.
7079         (vmaxv_f32): Likewise.
7080         (vmaxv_s8): Likewise.
7081         (vmaxv_s16): Likewise.
7082         (vmaxv_s32): Likewise.
7083         (vmaxv_u8): Likewise.
7084         (vmaxv_u16): Likewise.
7085         (vmaxv_u32): Likewise.
7086         (vmaxvq_f32): Likewise.
7087         (vmaxvq_f64): Likewise.
7088         (vmaxvq_s8): Likewise.
7089         (vmaxvq_s16): Likewise.
7090         (vmaxvq_s32): Likewise.
7091         (vmaxvq_u8): Likewise.
7092         (vmaxvq_u16): Likewise.
7093         (vmaxvq_u32): Likewise.
7094         (vmaxnmv_f32): Likewise.
7095         (vmaxnmvq_f32): Likewise.
7096         (vmaxnmvq_f64): Likewise.
7097         (vminv_f32): Likewise.
7098         (vminv_s8): Likewise.
7099         (vminv_s16): Likewise.
7100         (vminv_s32): Likewise.
7101         (vminv_u8): Likewise.
7102         (vminv_u16): Likewise.
7103         (vminv_u32): Likewise.
7104         (vminvq_f32): Likewise.
7105         (vminvq_f64): Likewise.
7106         (vminvq_s8): Likewise.
7107         (vminvq_s16): Likewise.
7108         (vminvq_s32): Likewise.
7109         (vminvq_u8): Likewise.
7110         (vminvq_u16): Likewise.
7111         (vminvq_u32): Likewise.
7112         (vminnmv_f32): Likewise.
7113         (vminnmvq_f32): Likewise.
7114         (vminnmvq_f64): Likewise.
7116 2014-01-23  James Greenhalgh  <james.greenhalgh@arm.com>
7118         * config/aarch64/aarch64-simd.md
7119         (aarch64_dup_lane<mode>): Correct lane number on big-endian.
7120         (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
7121         (*aarch64_mul3_elt<mode>): Likewise.
7122         (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
7123         (*aarch64_mul3_elt_to_64v2df): Likewise.
7124         (*aarch64_mla_elt<mode>): Likewise.
7125         (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
7126         (*aarch64_mls_elt<mode>): Likewise.
7127         (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
7128         (*aarch64_fma4_elt<mode>): Likewise.
7129         (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
7130         (*aarch64_fma4_elt_to_64v2df): Likewise.
7131         (*aarch64_fnma4_elt<mode>): Likewise.
7132         (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
7133         (*aarch64_fnma4_elt_to_64v2df): Likewise.
7134         (aarch64_sq<r>dmulh_lane<mode>): Likewise.
7135         (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
7136         (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
7137         (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
7138         (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
7139         (aarch64_sqdmull_lane<mode>_internal): Likewise.
7140         (aarch64_sqdmull2_lane<mode>_internal): Likewise.
7142 2013-01-23  Alex Velenko  <Alex.Velenko@arm.com>
7144         * config/aarch64/aarch64-simd.md
7145         (aarch64_be_checked_get_lane<mode>): New define_expand.
7146         * config/aarch64/aarch64-simd-builtins.def
7147         (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
7148         New builtin definition.
7149         * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
7150         Use new safe be builtin.
7152 2014-01-23  Alex Velenko  <Alex.Velenko@arm.com>
7154         * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
7155         New define_insn.
7156         (aarch64_be_st1<mode>): Likewise.
7157         (aarch_ld1<VALL:mode>): Define_expand modified.
7158         (aarch_st1<VALL:mode>): Likewise.
7159         * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
7160         (UNSPEC_ST1): Likewise.
7162 2014-01-23  David Holsgrove  <david.holsgrove@xilinx.com>
7164         * config/microblaze/microblaze.md: Add trap insn and attribute
7166 2014-01-23  Dodji Seketeli  <dodji@redhat.com>
7168         PR preprocessor/58580
7169         * input.h (location_get_source_line): Take an additional line_size
7170         parameter.
7171         (void diagnostics_file_cache_fini): Declare new function.
7172         * input.c (struct fcache): New type.
7173         (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
7174         New static constants.
7175         (diagnostic_file_cache_init, total_lines_num)
7176         (lookup_file_in_cache_tab, evicted_cache_tab_entry)
7177         (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
7178         (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
7179         (get_next_line, read_next_line, goto_next_line, read_line_num):
7180         New static function definitions.
7181         (diagnostic_file_cache_fini): New function.
7182         (location_get_source_line): Take an additional output line_len
7183         parameter.  Re-write using lookup_or_add_file_to_cache_tab and
7184         read_line_num.
7185         * diagnostic.c (diagnostic_finish): Call
7186         diagnostic_file_cache_fini.
7187         (adjust_line): Take an additional input parameter for the length
7188         of the line, rather than calculating it with strlen.
7189         (diagnostic_show_locus): Adjust the use of
7190         location_get_source_line and adjust_line with respect to their new
7191         signature.  While displaying a line now, do not stop at the first
7192         null byte.  Rather, display the zero byte as a space and keep
7193         going until we reach the size of the line.
7194         * Makefile.in: Add vec.o to OBJS-libcommon
7196 2014-01-23  Kirill Yukhin  <kirill.yukhin@intel.com>
7197             Ilya Tocar     <ilya.tocar@intel.com>
7199         * config/i386/avx512fintrin.h (_mm512_kmov): New.
7200         * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
7201         (__builtin_ia32_kmov16): Ditto.
7202         * config/i386/i386.md (UNSPEC_KMOV): New.
7203         (kmovw): Ditto.
7205 2014-01-23  Kirill Yukhin  <kirill.yukhin@intel.com>
7207         * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
7208         (_mm512_storeu_si512): Ditto.
7210 2014-01-23  Richard Sandiford  <rdsandiford@googlemail.com>
7212         PR target/52125
7213         * rtl.h (get_referenced_operands): Declare.
7214         * recog.c (get_referenced_operands): New function.
7215         * config/mips/mips.c (mips_reorg_process_insns): Check which asm
7216         operands have been referenced when recording LO_SUM references.
7218 2014-01-22  David Holsgrove  <david.holsgrove@xilinx.com>
7220         * config/microblaze/microblaze.md: Correct bswaphi2 insn.
7222 2014-01-22  Jan Hubicka  <hubicka@ucw.cz>
7224         * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
7225         Enable for generic and recent AMD targets.
7227 2014-01-22  Jan Hubicka  <hubicka@ucw.cz>
7229         * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
7230         ARG_SIZE note when adjustment was eliminated.
7232 2014-01-22  Jeff Law  <law@redhat.com>
7234         PR tree-optimization/59597
7235         * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
7236         in file.  Accept new argument REGISTERING and use it to modify
7237         dump output appropriately.
7238         (register_jump_thread): Corresponding changes.
7239         (mark_threaded_blocks): Reinstate code to cancel unprofitable
7240         thread paths involving joiner blocks.  Add code to dump cancelled
7241         jump threading paths.
7243 2014-01-22  Vladimir Makarov  <vmakarov@redhat.com>
7245         PR rtl-optimization/59477
7246         * lra-constraints.c (inherit_in_ebb): Process call for living hard
7247         regs.  Update reloads_num and potential_reload_hard_regs for all insns.
7249 2014-01-22  Tom Tromey  <tromey@redhat.com>
7251         * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
7252         PARAMS.
7253         * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
7255 2014-01-21  Vladimir Makarov  <vmakarov@redhat.com>
7257         PR rtl-optimization/59896
7258         * lra-constraints.c (process_alt_operands): Check unused note for
7259         matched operands of insn with no output reloads.
7261 2014-01-21  Richard Sandiford  <rdsandiford@googlemail.com>
7263         * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
7264         (mips_move_from_gpr_cost): Likewise.
7266 2014-01-21  Vladimir Makarov  <vmakarov@redhat.com>
7268         PR rtl-optimization/59858
7269         * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
7270         ira_class_hard_regs_num.
7271         (process_alt_operands): Increase reject for dying matched operand.
7273 2014-01-21  Jakub Jelinek  <jakub@redhat.com>
7275         PR target/59003
7276         * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
7277         smaller than size, perform several stores or loads and stores
7278         at dst + count - size to store or copy all of size bytes, rather
7279         than just last modesize bytes.
7281 2014-01-20  DJ Delorie  <dj@redhat.com>
7283         * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
7284         that CLOBBERs are REGs before propogating their values.
7286 2014-01-20  H.J. Lu  <hongjiu.lu@intel.com>
7288         PR middle-end/59789
7289         * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
7290         (cgraph_inline_failed_type): New function.
7291         * cgraph.h (DEFCIFCODE): Add type.
7292         (cgraph_inline_failed_type_t): New enum.
7293         (cgraph_inline_failed_type): New prototype.
7294         * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
7295         FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
7296         FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
7297         LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
7298         MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
7299         RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
7300         OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
7301         INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
7302         Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
7303         FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
7304         EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
7305         OPTIMIZATION_MISMATCH.
7306         * tree-inline.c (expand_call_inline): Emit errors during
7307         early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
7309 2014-01-20  Uros Bizjak  <ubizjak@gmail.com>
7311         PR target/59685
7312         * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
7313         mode attribute in insn output.
7315 2014-01-20  Eric Botcazou  <ebotcazou@adacore.com>
7317         * output.h (output_constant): Delete.
7318         * varasm.c (output_constant): Make private.
7320 2014-01-20  Alex Velenko  <Alex.Velenko@arm.com>
7322         * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
7324 2014-01-20  Jakub Jelinek  <jakub@redhat.com>
7326         PR middle-end/59860
7327         * tree.h (fold_builtin_strcat): New prototype.
7328         * builtins.c (fold_builtin_strcat): No longer static.  Add len
7329         argument, if non-NULL, don't call c_strlen.  Optimize
7330         directly into __builtin_memcpy instead of __builtin_strcpy.
7331         (fold_builtin_2): Adjust fold_builtin_strcat caller.
7332         * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
7334 2014-01-20  Uros Bizjak  <ubizjak@gmail.com>
7336         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
7337         for SImode_address_operand operands, having only a REG argument.
7339 2014-01-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
7341         * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
7342         loader name using mbig-endian.
7343         (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
7345 2014-01-20  James Greenhalgh  <james.greenhalgh@arm.com>
7347         * doc/invoke.texi (-march): Clarify documentation for AArch64.
7348         (-mtune): Likewise.
7349         (-mcpu): Likewise.
7351 2014-01-20  Tejas Belagod  <tejas.belagod@arm.com>
7353         * config/aarch64/aarch64-protos.h
7354         (aarch64_cannot_change_mode_class_ptr): Declare.
7355         * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
7356         aarch64_cannot_change_mode_class_ptr): New.
7357         * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
7358         backend hook aarch64_cannot_change_mode_class.
7360 2014-01-20  James Greenhalgh  <james.greenhalgh@arm.com>
7362         * common/config/aarch64/aarch64-common.c
7363         (aarch64_handle_option): Don't handle any option order logic here.
7364         * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
7365         selected_cpu, warn on architecture version mismatch.
7366         (aarch64_override_options): Fix parsing order for option strings.
7368 2014-01-20  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
7369             Iain Sandoe  <iain@codesourcery.com>
7371         PR bootstrap/59496
7372         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
7373         warning.  Amend comment to reflect current functionality.
7375 2014-01-20  Richard Biener  <rguenther@suse.de>
7377         PR middle-end/59860
7378         * builtins.c (fold_builtin_strcat): Remove case better handled
7379         by tree-ssa-strlen.c.
7381 2014-01-20  Alan Lawrence  <alan.lawrence@arm.com>
7383         * config/aarch64/aarch64.opt
7384         (mcpu, march, mtune): Make case-insensitive.
7386 2014-01-20  Jakub Jelinek  <jakub@redhat.com>
7388         PR target/59880
7389         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
7390         if operands[1] is a REG or ZERO_EXTEND of a REG.
7392 2014-01-19  Jan Hubicka  <hubicka@ucw.cz>
7394         * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
7396 2014-01-19  John David Anglin  <danglin@gcc.gnu.org>
7398         * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
7399         long non-pic millicode calls.
7401 2014-01-19  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
7403         * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
7405 2014-01-19  Kito Cheng  <kito@0xlab.org>
7407         * builtins.c (expand_movstr): Check movstr expand done or fail.
7409 2014-01-18  Uros Bizjak  <ubizjak@gmail.com>
7410             H.J. Lu  <hongjiu.lu@intel.com>
7412         PR target/59379
7413         * config/i386/i386.md (*lea<mode>): Zero-extend return register
7414         to DImode for zero-extended addresses.
7416 2014-01-19  Jakub Jelinek  <jakub@redhat.com>
7418         PR rtl-optimization/57763
7419         * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
7420         on the new indirect jump_insn and increment LABEL_NUSES (label).
7422 2014-01-18  H.J. Lu  <hongjiu.lu@intel.com>
7424         PR bootstrap/59580
7425         PR bootstrap/59583
7426         * config.gcc (x86_archs): New variable.
7427         (x86_64_archs): Likewise.
7428         (x86_cpus): Likewise.
7429         Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
7430         --with-arch/--with-cpu= options.
7431         Support --with-arch=/--with-cpu={nehalem,westmere,
7432         sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
7434 2014-01-18  Uros Bizjak  <ubizjak@gmail.com>
7436         * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
7437         and PROCESSOR_ATHLON to simplify code.  Move "memory" calculation.
7439 2014-01-18  Uros Bizjak  <ubizjak@gmail.com>
7441         * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
7443 2014-01-18  Jakub Jelinek  <jakub@redhat.com>
7445         PR target/58944
7446         * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
7447         clear cpp_get_options (parse_in)->warn_unused_macros for
7448         ix86_target_macros_internal with cpp_define.
7450 2014-01-18  Richard Sandiford  <rdsandiford@googlemail.com>
7452         * jump.c (delete_related_insns): Keep (use (insn))s.
7453         * reorg.c (redundant_insn): Check for barriers too.
7455 2014-01-17  H.J. Lu  <hongjiu.lu@intel.com>
7457         * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
7459 2014-01-17  John David Anglin  <danglin@gcc.gnu.org>
7461         * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
7462         call to $$dyncall when TARGET_LONG_CALLS is true.
7464 2014-01-17  Jeff Law  <law@redhat.com>
7466         * ree.c (combine_set_extension): Temporarily disable test for
7467         changing number of hard registers.
7469 2014-01-17  Jan Hubicka  <hubicka@ucw.cz>
7471         PR middle-end/58125
7472         * ipa-inline-analysis.c (inline_free_summary):
7473         Do not free summary of aliases.
7475 2014-01-17  Jakub Jelinek  <jakub@redhat.com>
7477         PR middle-end/59706
7478         * gimplify.c (gimplify_expr): Use create_tmp_var
7479         instead of create_tmp_var_raw.  If cond doesn't have
7480         integral type, don't add the IFN_ANNOTATE builtin at all.
7482 2014-01-17  Martin Jambor  <mjambor@suse.cz>
7484         PR ipa/59736
7485         * ipa-cp.c (prev_edge_clone): New variable.
7486         (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
7487         Also resize prev_edge_clone vector.
7488         (ipcp_edge_duplication_hook): Also update prev_edge_clone.
7489         (ipcp_edge_removal_hook): New function.
7490         (ipcp_driver): Register ipcp_edge_removal_hook.
7492 2014-01-17  Andrew Pinski  <apinski@cavium.com>
7493             Steve Ellcey  <sellcey@mips.com>
7495         PR target/59462
7496         * config/mips/mips.c (mips_print_operand): Check operand mode instead
7497         of operator mode.
7499 2014-01-17  Jeff Law  <law@redhat.com>
7501         PR middle-end/57904
7502         * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
7503         so that pass_ccp runs first.
7505 2014-01-17  H.J. Lu  <hongjiu.lu@intel.com>
7507         * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
7508         (ix86_adjust_cost): Use !TARGET_XXX.
7509         (do_reorder_for_imul): Likewise.
7510         (swap_top_of_ready_list): Likewise.
7511         (ix86_sched_reorder): Likewise.
7513 2014-01-17  H.J. Lu  <hongjiu.lu@intel.com>
7515         * config/i386/i386-c.c (ix86_target_macros_internal): Handle
7516         PROCESSOR_INTEL.  Treat like PROCESSOR_GENERIC.
7517         * config/i386/i386.c (intel_memcpy): New.  Duplicate slm_memcpy.
7518         (intel_memset): New.  Duplicate slm_memset.
7519         (intel_cost): New.  Duplicate slm_cost.
7520         (m_INTEL): New macro.
7521         (processor_target_table): Add "intel".
7522         (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
7523         with PROCESSOR_INTEL for "intel".
7524         (ix86_lea_outperforms): Support PROCESSOR_INTEL.  Duplicate
7525         PROCESSOR_SILVERMONT.
7526         (ix86_issue_rate): Likewise.
7527         (ix86_adjust_cost): Likewise.
7528         (ia32_multipass_dfa_lookahead): Likewise.
7529         (swap_top_of_ready_list): Likewise.
7530         (ix86_sched_reorder): Likewise.
7531         (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
7532         instead of TARGET_OPT_AGU.
7533         * config/i386/i386.h (TARGET_INTEL): New.
7534         (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
7535         (processor_type): Add PROCESSOR_INTEL.
7536         * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
7537         Add X86_TUNE_AVOID_LEA_FOR_ADDR.
7539 2014-01-17  Marek Polacek  <polacek@redhat.com>
7541         PR c/58346
7542         * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
7543         size is zero.
7545 2014-01-17  Richard Biener  <rguenther@suse.de>
7547         PR tree-optimization/46590
7548         * opts.c (default_options_table): Add entries for
7549         OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
7550         all enabled at -O1 but not for -Og.
7551         * common.opt (fbranch-count-reg): Remove Init(1).
7552         (fmove-loop-invariants): Likewise.
7553         (ftree-pta): Likewise.
7555 2014-01-17  Jakub Jelinek  <jakub@redhat.com>
7557         * config/i386/i386.c (ix86_data_alignment): For compatibility with
7558         (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
7559         decls to at least the GCC 4.8 used alignments.
7561         PR fortran/59440
7562         * tree-nested.c (convert_nonlocal_reference_stmt,
7563         convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
7564         of GIMPLE_BIND stmts, adjust associated decls.
7566 2014-01-17  Richard Biener  <rguenther@suse.de>
7568         PR tree-optimization/46590
7569         * vec.h (vec<>::bseach): New member function implementing
7570         binary search according to C89 bsearch.
7571         (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
7572         * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
7573         bitmap pointer again.  Make accesses_in_loop a flat array.
7574         (mem_ref_obstack): New global.
7575         (outermost_indep_loop): Adjust for mem_ref->stored changes.
7576         (mark_ref_stored): Likewise.
7577         (ref_indep_loop_p_2): Likewise.
7578         (set_ref_stored_in_loop): New helper function.
7579         (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
7580         (memref_free): Adjust.
7581         (record_mem_ref_loc): Simplify.
7582         (gather_mem_refs_stmt): Adjust.
7583         (sort_locs_in_loop_postorder_cmp): New function.
7584         (analyze_memory_references): Sort accesses_in_loop after
7585         loop postorder number.
7586         (find_ref_loc_in_loop_cmp): New function.
7587         (for_all_locs_in_loop): Find relevant cluster of locs in
7588         accesses_in_loop and iterate without recursion.
7589         (execute_sm): Avoid uninit warning.
7590         (struct ref_always_accessed): Simplify.
7591         (ref_always_accessed::operator ()): Likewise.
7592         (ref_always_accessed_p): Likewise.
7593         (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
7594         loop postorder numbers here.
7595         (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
7596         numbers.
7598 2014-01-17  Jan Hubicka  <hubicka@ucw.cz>
7600         PR c++/57945
7601         * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
7602         on decls for which assemble_alias has been called.
7604 2014-01-17  Nick Clifton  <nickc@redhat.com>
7606         * config/msp430/msp430.opt: (mcpu): New option.
7607         * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
7608         (msp430_option_override): Parse target_cpu.  If the MCU name
7609         matches a generic string, clear target_mcu.
7610         (msp430_attr): Allow numeric interrupt values up to 63.
7611         (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
7612         * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
7613         option.
7614         * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
7615         Add mcpu matches.
7616         * config/msp430/msp430.md (popm): Use %J rather than %I.
7617         (addsi3): Use msp430_nonimmediate_operand for operand 2.
7618         (addhi_cy_i): Use immediate_operand for operand 2.
7619         * doc/invoke.texi: Document -mcpu option.
7621 2014-01-17  Richard Biener  <rguenther@suse.de>
7623         PR rtl-optimization/38518
7624         * df.h (df_analyze_loop): Declare.
7625         * df-core.c: Include cfgloop.h.
7626         (df_analyze_1): Split out main part of df_analyze.
7627         (df_analyze): Adjust.
7628         (loop_inverted_post_order_compute): New function.
7629         (loop_post_order_compute): Likewise.
7630         (df_analyze_loop): New function avoiding whole-function
7631         postorder computes.
7632         * loop-invariant.c (find_defs): Use df_analyze_loop.
7633         (find_invariants): Adjust.
7634         * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
7636 2014-01-17  Zhenqiang Chen  <zhenqiang.chen@arm.com>
7638         * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
7639         (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
7641 2014-01-16  Ilya Enkovich  <ilya.enkovich@intel.com>
7643         * ipa-ref.c (ipa_remove_stmt_references): Fix references
7644         traversal when removing references.
7646 2014-01-16  Jan Hubicka  <hubicka@ucw.cz>
7648         PR ipa/59775
7649         * tree.c (get_binfo_at_offset): Look harder for virtual bases.
7651 2014-01-16  Bernd Schmidt  <bernds@codesourcery.com>
7653         PR middle-end/56791
7654         * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
7655         pushing a reload for an autoinc when we had previously reloaded an
7656         inner part of the address.
7658 2014-01-16  Jakub Jelinek  <jakub@redhat.com>
7660         * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
7661         field.
7662         (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
7663         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
7664         when not giving up or versioning for alias only because of
7665         loop->safelen.
7666         (vect_analyze_data_ref_dependences): Set to true.
7667         * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
7668         is a GIMPLE_PHI.
7669         (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
7670         LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
7671         to the condition.
7673         PR middle-end/58344
7674         * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
7676         PR target/59839
7677         * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
7678         operand 0 predicate for gathers, use a new pseudo as subtarget.
7680 2014-01-16  Vladimir Makarov  <vmakarov@redhat.com>
7682         PR middle-end/59609
7683         * lra-constraints.c (process_alt_operands): Add printing debug info.
7684         Check absence of input/output reloads for matched operands too.
7686 2014-01-16  Vladimir Makarov  <vmakarov@redhat.com>
7688         PR rtl-optimization/59835
7689         * ira.c (ira_init_register_move_cost): Increase cost for
7690         impossible modes.
7692 2014-01-16  Alan Lawrence  <alan.lawrence@arm.com>
7694         * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
7696 2014-01-16  Richard Earnshaw  <rearnsha@arm.com>
7698         PR target/59780
7699         * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
7700         non-register objects.  Use gen_(high/low)part more consistently.
7701         Fix assertions.
7703 2014-01-16  Michael Meissner  <meissner@linux.vnet.ibm.com>
7705         PR target/59844
7706         * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
7707         endian support, remove tests for WORDS_BIG_ENDIAN.
7708         (p8_mfvsrd_3_<mode>): Likewise.
7709         (reload_gpr_from_vsx<mode>): Likewise.
7710         (reload_gpr_from_vsxsf): Likewise.
7711         (p8_mfvsrd_4_disf): Likewise.
7713 2014-01-16  Richard Biener  <rguenther@suse.de>
7715         PR rtl-optimization/46590
7716         * lcm.c (compute_antinout_edge): Use postorder iteration.
7717         (compute_laterin): Use inverted postorder iteration.
7719 2014-01-16  Nick Clifton  <nickc@redhat.com>
7721         PR middle-end/28865
7722         * varasm.c (output_constant): Return the number of bytes actually
7723         emitted.
7724         (output_constructor_array_range): Update the field size with the
7725         number of bytes emitted by output_constant.
7726         (output_constructor_regular_field): Likewise.  Also do not
7727         complain if the total number of bytes emitted is now greater
7728         than the expected fieldpos.
7729         * output.h (output_constant): Update prototype and descriptive comment.
7731 2014-01-16  Marek Polacek  <polacek@redhat.com>
7733         PR middle-end/59827
7734         * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
7735         it is error_mark_node.
7737 2014-01-15  Uros Bizjak  <ubizjak@gmail.com>
7739         * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
7740         VALID_AVX256_REG_OR_OI_MODE.
7742 2014-01-15  Pat Haugen  <pthaugen@us.ibm.com>
7744         * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
7745         current procedure should be profiled.
7747 2014-01-15  Andrew Pinski  <apinski@cavium.com>
7749         * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
7750         of moving from/to the STACK_REG register class.
7752 2014-01-15  Richard Henderson  <rth@redhat.com>
7754         PR debug/54694
7755         * reginfo.c (global_regs_decl): Globalize.
7756         * rtl.h (global_regs_decl): Declare.
7757         * ira.c (do_reload): Diagnose frame_pointer_needed and it
7758         reserved via global_regs.
7760 2014-01-15  Teresa Johnson  <tejohnson@google.com>
7762         * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
7764 2014-01-15  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>
7766         * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
7767         and vmulosh rather than call gen_vec_widen_smult_*.
7768         (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
7769         than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
7770         (vec_widen_smult_even_v16qi): Likewise.
7771         (vec_widen_umult_even_v8hi): Likewise.
7772         (vec_widen_smult_even_v8hi): Likewise.
7773         (vec_widen_umult_odd_v16qi): Likewise.
7774         (vec_widen_smult_odd_v16qi): Likewise.
7775         (vec_widen_umult_odd_v8hi): Likewise.
7776         (vec_widen_smult_odd_v8hi): Likewise.
7777         (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
7778         vmuloub rather than call gen_vec_widen_umult_*.
7779         (vec_widen_umult_lo_v16qi): Likewise.
7780         (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
7781         vmulosb rather than call gen_vec_widen_smult_*.
7782         (vec_widen_smult_lo_v16qi): Likewise.
7783         (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
7784         rather than call gen_vec_widen_umult_*.
7785         (vec_widen_umult_lo_v8hi): Likewise.
7786         (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
7787         rather than call gen_vec_widen_smult_*.
7788         (vec_widen_smult_lo_v8hi): Likewise.
7790 2014-01-15  Jeff Law  <law@redhat.com>
7792         PR tree-optimization/59747
7793         * ree.c (find_and_remove_re): Properly handle case where a second
7794         eliminated extension requires widening a copy created for elimination
7795         of a prior extension.
7796         (combine_set_extension): Ensure that the number of hard regs needed
7797         for a destination register does not change when we widen it.
7799 2014-01-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
7801         * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
7802         (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
7803         (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
7804         (arm*-*-rtems*): Use t-rtems from existing tmake_file.
7805         (avr-*-rtems*): Likewise.
7806         (bfin*-rtems*): Likewise.
7807         (moxie-*-rtems*): Likewise.
7808         (h8300-*-rtems*): Likewise.
7809         (i[34567]86-*-rtems*): Likewise.
7810         (lm32-*-rtems*): Likewise.
7811         (m32r-*-rtems*): Likewise.
7812         (m68k-*-rtems*): Likewise.
7813         (microblaze*-*-rtems*): Likewise.
7814         (mips*-*-rtems*): Likewise.
7815         (powerpc-*-rtems*): Likewise.
7816         (sh-*-rtems*): Likewise.
7817         (sparc-*-rtems*): Likewise.
7818         (sparc64-*-rtems*): Likewise.
7819         (v850-*-rtems*): Likewise.
7820         (m32c-*-rtems*): Likewise.
7822 2014-01-15  Vladimir Makarov  <vmakarov@redhat.com>
7824         PR rtl-optimization/59511
7825         * ira.c (ira_init_register_move_cost): Use memory costs for some
7826         cases of register move cost calculations.
7827         * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
7828         instead of BB frequency.
7829         * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
7830         * lra-assigns.c (find_hard_regno_for): Ditto.
7832 2014-01-15  Richard Biener  <rguenther@suse.de>
7834         PR tree-optimization/59822
7835         * tree-vect-stmts.c (hoist_defs_of_uses): New function.
7836         (vectorizable_load): Use it to hoist defs of uses of invariant
7837         loads out of the loop.
7839 2014-01-15  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
7840             Kugan Vivekanandarajah  <kuganv@linaro.org>
7842         PR target/59695
7843         * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
7844         truncation.
7846 2014-01-15  Richard Biener  <rguenther@suse.de>
7848         PR rtl-optimization/59802
7849         * lcm.c (compute_available): Use inverted postorder to seed
7850         the initial worklist.
7852 2014-01-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7854         PR target/59803
7855         * config/s390/s390.c (s390_preferred_reload_class): Don't return
7856         ADDR_REGS for invalid symrefs in non-PIC code.
7858 2014-01-15  Jakub Jelinek  <jakub@redhat.com>
7860         PR other/58712
7861         * builtins.c (determine_block_size): Initialize *probable_max_size
7862         even if len_rtx is CONST_INT.
7864 2014-01-14  Andrew Pinski  <apinski@cavium.com>
7866         * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
7867         * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
7868         (cortexa53_tunings): Likewise.
7869         (aarch64_sched_issue_rate): New function.
7870         (TARGET_SCHED_ISSUE_RATE): Define.
7872 2014-01-14  Vladimir Makarov  <vmakarov@redhat.com>
7874         * ira-costs.c (find_costs_and_classes): Add missed
7875         ira_init_register_move_cost_if_necessary.
7877 2014-01-14  Vladimir Makarov  <vmakarov@redhat.com>
7879         PR target/59787
7880         * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
7882 2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
7884         PR target/59794
7885         * config/i386/i386.c (type_natural_mode): Add a bool parameter
7886         to indicate if type is used for function return value.  Warn ABI
7887         change if the vector mode isn't available for function return value.
7888         (ix86_function_arg_advance): Pass false to type_natural_mode.
7889         (ix86_function_arg): Likewise.
7890         (ix86_gimplify_va_arg): Likewise.
7891         (function_arg_32): Don't warn ABI change.
7892         (ix86_function_value): Pass true to type_natural_mode.
7893         (ix86_return_in_memory): Likewise.
7894         (ix86_struct_value_rtx): Removed.
7895         (TARGET_STRUCT_VALUE_RTX): Likewise.
7897 2014-01-14  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
7899         * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
7900         converting a conditional jump into a conditional return.
7902 2014-01-14  Richard Biener  <rguenther@suse.de>
7904         PR tree-optimization/58921
7905         PR tree-optimization/59006
7906         * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
7907         hoisting invariant stmts.
7908         * tree-vect-stmts.c (vectorizable_load): Insert the splat of
7909         invariant loads on the preheader edge if possible.
7911 2014-01-14  Joey Ye  <joey.ye@arm.com>
7913         * doc/plugin.texi (Building GCC plugins): Update to C++.
7915 2014-01-14  Kirill Yukhin  <kirill.yukhin@intel.com>
7917         * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
7918         (_mm_rcp28_round_ss): Ditto.
7919         (_mm_rsqrt28_round_sd): Ditto.
7920         (_mm_rsqrt28_round_ss): Ditto.
7921         (_mm_rcp28_sd): Ditto.
7922         (_mm_rcp28_ss): Ditto.
7923         (_mm_rsqrt28_sd): Ditto.
7924         (_mm_rsqrt28_ss): Ditto.
7925         * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
7926         * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
7927         * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
7928         (IX86_BUILTIN_RCP28SD): Ditto.
7929         (IX86_BUILTIN_RCP28SS): Ditto.
7930         (IX86_BUILTIN_RSQRT28SD): Ditto.
7931         (IX86_BUILTIN_RSQRT28SS): Ditto.
7932         (bdesc_special_args): Define __builtin_ia32_movntdqa512,
7933         __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
7934         __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
7935         (ix86_expand_special_args_builtin): Expand new FTYPE.
7936         * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
7937         (srcp14<mode>): Make insn unary.
7938         (avx512f_vmscalef<mode><round_name>): Use substed predicate.
7939         (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
7940         (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
7941         (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
7942         (avx512er_exp2<mode><mask_name><round_saeonly_name>):
7943         Fix rounding: make it SAE only.
7944         (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
7945         Ditto.
7946         (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
7947         Ditto.
7948         (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
7949         (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
7950         (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
7951         * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
7952         (round_saeonly_mask_scalar_operand4): Ditto.
7953         (round_saeonly_mask_scalar_op3): Ditto.
7954         (round_saeonly_mask_scalar_op4): Ditto.
7956 2014-01-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7958         * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
7959         Implement -maltivec=be for vec_insert and vec_extract.
7961 2014-01-10  DJ Delorie  <dj@redhat.com>
7963         * config/msp430/msp430.md (call_internal): Don't allow memory
7964         references with SP as the base register.
7965         (call_value_internal): Likewise.
7966         * config/msp430/constraints.md (Yc): New.  For memory references
7967         that don't use SP as a base register.
7969         * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
7970         "an integer without a # prefix"
7971         * config/msp430/msp430.md (epilogue_helper): Use it.
7973 2014-01-13  Jakub Jelinek  <jakub@redhat.com>
7975         PR target/59617
7976         * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
7977         AVX512F gather builtins.
7978         * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
7979         on gather decls with INTEGER_TYPE masktype.
7980         (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
7981         directly into the builtin rather than hoisting it before loop.
7983         PR tree-optimization/59387
7984         * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
7985         (scev_const_prop): If folded_casts and type has undefined overflow,
7986         use force_gimple_operand instead of force_gimple_operand_gsi and
7987         for each added stmt if it is assign with
7988         arith_code_with_undefined_signed_overflow, call
7989         rewrite_to_defined_overflow.
7990         * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
7991         gimple-fold.h instead.
7992         (arith_code_with_undefined_signed_overflow,
7993         rewrite_to_defined_overflow): Moved to ...
7994         * gimple-fold.c (arith_code_with_undefined_signed_overflow,
7995         rewrite_to_defined_overflow): ... here.  No longer static.
7996         Include gimplify-me.h.
7997         * gimple-fold.h (arith_code_with_undefined_signed_overflow,
7998         rewrite_to_defined_overflow): New prototypes.
8000 2014-01-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
8002         * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
8004 2014-01-13  Eric Botcazou  <ebotcazou@adacore.com>
8006         * builtins.c (get_object_alignment_2): Minor tweak.
8007         * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
8009 2014-01-13  Christian Bruel  <christian.bruel@st.com>
8011         * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
8012         optimized non constant lengths.
8014 2014-01-13  Jakub Jelinek  <jakub@redhat.com>
8016         PR libgomp/59194
8017         * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
8018         load as __atomic_load_N if possible.
8020 2014-01-11  David Edelsohn  <dje.gcc@gmail.com>
8022         * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
8023         target parameter.
8024         (rs6000_expand_builtin): Adjust call.
8026 2014-01-11  David Edelsohn  <dje.gcc@gmail.com>
8028         PR target/58115
8029         * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
8030         * config/rs6000/rs6000.c: Include target-globals.h.
8031         (rs6000_set_current_function): Instead of doing target_reinit
8032         unconditionally, use save_target_globals_default_opts and
8033         restore_target_globals.
8035         * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
8036         FPSCR.
8037         * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
8038         (rs6000_expand_builtin): Handle mffs and mtfsf.
8039         (rs6000_init_builtins): Define mffs and mtfsf.
8040         * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
8041         (rs6000_mffs): New pattern.
8042         (rs6000_mtfsf): New pattern.
8044 2014-01-11  Bin Cheng  <bin.cheng@arm.com>
8046         * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
8047         Start narrowing with START.  Apply candidate-use pair
8048         and check overall cost in narrowing.
8049         (iv_ca_prune): Pass new argument.
8051 2014-01-10  Jeff Law  <law@redhat.com>
8053         PR middle-end/59743
8054         * ree.c (combine_reaching_defs): Ensure the defining statement
8055         occurs before the extension when optimizing extensions with
8056         different source and destination hard registers.
8058 2014-01-10  Jan Hubicka  <hubicka@ucw.cz>
8060         PR ipa/58585
8061         * ipa-devirt.c (build_type_inheritance_graph): Also add types of
8062         vtables into the type inheritance graph.
8064 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
8066         PR rtl-optimization/59754
8067         * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
8068         modes in the REGNO != REGNO case.
8070 2014-01-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8072         * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
8074 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
8076         PR tree-optimization/59745
8077         * tree-predcom.c (tree_predictive_commoning_loop): Call
8078         free_affine_expand_cache if giving up because components is NULL.
8080         * target-globals.c (save_target_globals): Allocate < 4KB structs using
8081         GC in payload of target_globals struct instead of allocating them on
8082         the heap and the larger structs separately using GC.
8083         * target-globals.h (struct target_globals): Make regs, hard_regs,
8084         reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
8085         of GTY((skip)) and change type to void *.
8086         (reset_target_globals): Cast loads from those fields to corresponding
8087         types.
8089 2014-01-10  Steve Ellcey  <sellcey@mips.com>
8091         PR plugins/59335
8092         * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
8093         gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
8094         tree-ssanames.h, print-tree.h, varasm.h, and context.h.
8096 2014-01-10  Richard Earnshaw  <rearnsha@arm.com>
8098         PR target/59744
8099         * aarch64-modes.def (CC_Zmode): New flags mode.
8100         * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
8101         represents an equality.
8102         (aarch64_get_condition_code): Handle CC_Zmode.
8103         * aarch64.md (compare_neg<mode>): Restrict to equality operations.
8105 2014-01-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
8107         * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
8108         extraction in good case.
8110 2014-01-10  Richard Biener  <rguenther@suse.de>
8112         PR tree-optimization/59374
8113         * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
8114         checking after SLP discovery.  Mark stmts not participating
8115         in any SLP instance properly.
8117 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
8119         * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
8120         when handling a SET rtx.
8122 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
8124         * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
8125         (cortex-a57): Likewise.
8126         (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
8128 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
8130         * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
8131         non-iwmmxt builtins.
8133 2014-01-10  Jan Hubicka  <hubicka@ucw.cz>
8135         PR ipa/58252
8136         PR ipa/59226
8137         * ipa-devirt.c record_target_from_binfo): Take as argument
8138         stack of binfos and lookup matching one for virtual inheritance.
8139         (possible_polymorphic_call_targets_1): Update.
8141 2014-01-10  Huacai Chen  <chenhc@lemote.com>
8143         * config/mips/driver-native.c (host_detect_local_cpu): Handle new
8144         kernel strings for Loongson-2E/2F/3A.
8146 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
8148         PR middle-end/59670
8149         * tree-vect-data-refs.c (vect_analyze_data_refs): Check
8150         is_gimple_call before calling gimple_call_internal_p.
8152 2014-01-09  Steve Ellcey  <sellcey@mips.com>
8154         * Makefile.in (TREE_FLOW_H): Remove.
8155         (TREE_SSA_H): Add file names from tree-flow.h.
8156         * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
8157         * tree.h: Remove tree-flow.h reference.
8158         * hash-table.h: Remove tree-flow.h reference.
8159         * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
8160         reference with tree-ssa-loop.h.
8162 2014-01-09  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8164         * doc/invoke.texi: Add -maltivec={be,le} options, and document
8165         default element-order behavior for -maltivec.
8166         * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
8167         * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
8168         that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
8169         when targeting big endian, at least for now.
8170         * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
8172 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
8174         PR middle-end/47735
8175         * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
8176         var satisfies use_register_for_decl, just take into account type
8177         alignment, rather than decl alignment.
8179         PR tree-optimization/59622
8180         * gimple-fold.c (gimple_fold_call): Fix a typo in message.  For
8181         __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
8182         __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
8183         Don't devirtualize for inplace at all.  For targets.length () == 1,
8184         if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
8186 2014-01-09  H.J. Lu  <hongjiu.lu@intel.com>
8188         * config/i386/i386.md (cpu): Remove the unused btver1.
8190 2014-01-09  H.J. Lu  <hongjiu.lu@intel.com>
8192         * gdbasan.in: Put a breakpoint on __sanitizer::Report.
8194 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
8196         PR target/58115
8197         * tree-core.h (struct target_globals): New forward declaration.
8198         (struct tree_target_option): Add globals field.
8199         * tree.h (TREE_TARGET_GLOBALS): Define.
8200         (prepare_target_option_nodes_for_pch): New prototype.
8201         * target-globals.h (struct target_globals): Define even if
8202         !SWITCHABLE_TARGET.
8203         * tree.c (prepare_target_option_node_for_pch,
8204         prepare_target_option_nodes_for_pch): New functions.
8205         * config/i386/i386.h (SWITCHABLE_TARGET): Define.
8206         * config/i386/i386.c: Include target-globals.h.
8207         (ix86_set_current_function): Instead of doing target_reinit
8208         unconditionally, use save_target_globals_default_opts and
8209         restore_target_globals.
8211 2014-01-09  Richard Biener  <rguenther@suse.de>
8213         PR tree-optimization/59715
8214         * tree-cfg.h (split_critical_edges): Declare.
8215         * tree-cfg.c (split_critical_edges): Export.
8216         * tree-ssa-sink.c (execute_sink_code): Split critical edges.
8218 2014-01-09  Max Ostapenko  <m.ostapenko@partner.samsung.com>
8220         * cfgexpand.c (expand_stack_vars): Optionally disable
8221         asan stack protection.
8222         (expand_used_vars): Likewise.
8223         (partition_stack_vars): Likewise.
8224         * asan.c (asan_emit_stack_protection): Optionally disable
8225         after return stack usage.
8226         (instrument_derefs): Optionally disable memory access instrumentation.
8227         (instrument_builtin_call): Likewise.
8228         (instrument_strlen_call): Likewise.
8229         (asan_protect_global): Optionally disable global variables protection.
8230         * doc/invoke.texi: Added doc for new options.
8231         * params.def: Added new options.
8232         * params.h: Likewise.
8234 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
8236         PR rtl-optimization/59724
8237         * ifcvt.c (cond_exec_process_if_block): Don't call
8238         flow_find_head_matching_sequence with 0 longest_match.
8239         * cfgcleanup.c (flow_find_head_matching_sequence): Count even
8240         non-active insns if !stop_after.
8241         (try_head_merge_bb): Revert 2014-01-07 changes.
8243 2014-01-08  Jeff Law  <law@redhat.com>
8245         * ree.c (get_sub_rtx): New function, extracted from...
8246         (merge_def_and_ext): Here.
8247         (combine_reaching_defs): Use get_sub_rtx.
8249 2014-01-08  Eric Botcazou  <ebotcazou@adacore.com>
8251         * cgraph.h (varpool_variable_node): Do not choke on null node.
8253 2014-01-08  Catherine Moore  <clm@codesourcery.com>
8255         * config/mips/mips.md (simple_return): Attempt to use JRC
8256         for microMIPS.
8257         * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
8259 2014-01-08  Richard Sandiford  <rdsandiford@googlemail.com>
8261         PR rtl-optimization/59137
8262         * reorg.c (steal_delay_list_from_target): Call update_block for
8263         elided insns.
8264         (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
8266 2014-01-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8268         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
8269         two duplicate entries.
8271 2014-01-08  Richard Sandiford  <rdsandiford@googlemail.com>
8273         Revert:
8274         2012-10-07  Richard Sandiford  <rdsandiford@googlemail.com>
8276         * config/mips/mips.c (mips_truncated_op_cost): New function.
8277         (mips_rtx_costs): Adjust test for BADDU.
8278         * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
8280         2012-10-02  Richard Sandiford  <rdsandiford@googlemail.com>
8282         * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
8283         (*baddu_si): ...this new pattern.
8285 2014-01-08  Jakub Jelinek  <jakub@redhat.com>
8287         PR ipa/59722
8288         * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
8290 2014-01-08  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8292         PR middle-end/57748
8293         * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
8294         inner_reference_p.
8295         (expand_expr, expand_normal): Adjust.
8296         * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
8297         inner_reference_p. Use inner_reference_p to expand inner references.
8298         (store_expr): Adjust.
8299         * cfgexpand.c (expand_call_stmt): Adjust.
8301 2014-01-08  Rong Xu  <xur@google.com>
8303         * gcov-io.c (gcov_var): Move from gcov-io.h.
8304         (gcov_position): Ditto.
8305         (gcov_is_error): Ditto.
8306         (gcov_rewrite): Ditto.
8307         * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
8308         only part to libgcc/libgcov.h.
8310 2014-01-08  Marek Polacek  <polacek@redhat.com>
8312         PR middle-end/59669
8313         * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
8315 2014-01-08  Marek Polacek  <polacek@redhat.com>
8317         PR sanitizer/59667
8318         * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
8320 2014-01-08  Jakub Jelinek  <jakub@redhat.com>
8322         PR rtl-optimization/59649
8323         * stor-layout.c (get_mode_bounds): For BImode return
8324         0 and STORE_FLAG_VALUE.
8326 2014-01-08  Richard Biener  <rguenther@suse.de>
8328         PR middle-end/59630
8329         * gimple.h (is_gimple_builtin_call): Remove.
8330         (gimple_builtin_call_types_compatible_p): New.
8331         (gimple_call_builtin_p): New overload.
8332         * gimple.c (is_gimple_builtin_call): Remove.
8333         (validate_call): Rename to ...
8334         (gimple_builtin_call_types_compatible_p): ... this and export.  Also
8335         check return types.
8336         (validate_type): New static function.
8337         (gimple_call_builtin_p): New overload and adjust.
8338         * gimple-fold.c (gimple_fold_builtin): Fold the return value.
8339         (gimple_fold_call): Likewise.  Use gimple_call_builtin_p.
8340         (gimple_fold_stmt_to_constant_1): Likewise.
8341         * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
8343 2014-01-08  Richard Biener  <rguenther@suse.de>
8345         PR middle-end/59471
8346         * gimplify.c (gimplify_expr): Gimplify register-register type
8347         VIEW_CONVERT_EXPRs to separate stmts.
8349 2014-01-07  Jeff Law  <law@redhat.com>
8351         PR middle-end/53623
8352         * ree.c (combine_set_extension): Handle case where source
8353         and destination registers in an extension insn are different.
8354         (combine_reaching_defs): Allow source and destination registers
8355         in extension to be different under limited circumstances.
8356         (add_removable_extension): Remove restriction that the
8357         source and destination registers in the extension are the same.
8358         (find_and_remove_re): Emit a copy from the extension's
8359         destination to its source after the defining insn if
8360         the source and destination registers are different.
8362         PR middle-end/59285
8363         * ifcvt.c (merge_if_block): If we are merging a block with more than
8364         one successor with a block with no successors, remove any BARRIER
8365         after the second block.
8367 2014-01-07  Dan Xio Qiang  <ziyan01@163.com>
8369         * hw-doloop.c (reorg_loops): Release the bitmap obstack.
8371 2014-01-07  John David Anglin  <danglin@gcc.gnu.org>
8373         PR target/59652
8374         * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
8375         for 14-bit register offsets when INT14_OK_STRICT is false.
8377 2014-01-07  Roland Stigge  <stigge@antcom.de>
8378             Michael Meissner  <meissner@linux.vnet.ibm.com>
8380         PR 57386/target
8381         * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
8382         Only check TFmode for SPE constants.  Don't check TImode or TDmode.
8384 2014-01-07  James Greenhalgh  <james.greenhalgh@arm.com>
8386         * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
8387         -mcpu.
8389 2014-01-07  Yufeng Zhang  <yufeng.zhang@arm.com>
8391         * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
8392         with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
8393         rtx is const0_rtx or not.
8395 2014-01-07  Richard Sandiford  <rdsandiford@googlemail.com>
8397         PR target/58115
8398         * target-globals.c (save_target_globals): Remove this_fn_optab
8399         handling.
8400         * toplev.c: Include optabs.h.
8401         (target_reinit): Temporarily restore the global options if another
8402         set of options are in force.
8404 2014-01-07  Jakub Jelinek  <jakub@redhat.com>
8406         PR rtl-optimization/58668
8407         * cfgcleanup.c (flow_find_cross_jump): Don't count
8408         any jumps if dir_p is NULL.  Remove p1 variable, use active_insn_p
8409         to determine what is counted.
8410         (flow_find_head_matching_sequence): Use active_insn_p to determine
8411         what is counted.
8412         (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
8413         counting change.
8414         * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
8415         determine what is counted.
8417         PR tree-optimization/59643
8418         * tree-predcom.c (split_data_refs_to_components): If one dr is
8419         read and one write, determine_offset fails and the write isn't
8420         in the bad component, just put the read into the bad component.
8422 2014-01-07  Mike Stump  <mikestump@comcast.net>
8423             Jakub Jelinek  <jakub@redhat.com>
8425         PR pch/59436
8426         * tree-core.h (struct tree_optimization_option): Change optabs
8427         type from unsigned char * to void *.
8428         * optabs.c (init_tree_optimization_optabs): Adjust
8429         TREE_OPTIMIZATION_OPTABS initialization.
8431 2014-01-06  Jakub Jelinek  <jakub@redhat.com>
8433         PR target/59644
8434         * config/i386/i386.h (struct machine_function): Add
8435         no_drap_save_restore field.
8436         * config/i386/i386.c (ix86_save_reg): Use
8437         !cfun->machine->no_drap_save_restore instead of
8438         crtl->stack_realign_needed.
8439         (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
8440         this function clears frame_pointer_needed.  Set
8441         cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
8442         and DRAP reg is needed.
8444 2014-01-06  Marek Polacek  <polacek@redhat.com>
8446         PR c/57773
8447         * doc/implement-c.texi: Mention that other integer types are
8448         permitted as bit-field types in strictly conforming mode.
8450 2014-01-06  Felix Yang  <fei.yang0953@gmail.com>
8452         * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
8453         is newly allocated.
8455 2014-01-06  Richard Earnshaw  <rearnsha@arm.com>
8457         * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
8459 2014-01-06  Martin Jambor  <mjambor@suse.cz>
8461         PR ipa/59008
8462         * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
8463         to int.
8464         * ipa-prop.c (ipa_print_node_params): Fix indentation.
8466 2014-01-06  Eric Botcazou  <ebotcazou@adacore.com>
8468         PR debug/59350
8469         PR debug/59510
8470         * var-tracking.c (add_stores): Preserve the value of the source even if
8471         we don't record the store.
8473 2014-01-06  Terry Guo  <terry.guo@arm.com>
8475         * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
8477 2014-01-05  Iain Sandoe  <iain@codesourcery.com>
8479         PR bootstrap/59541
8480         * config/darwin.c (darwin_function_section): Adjust return values to
8481         correspond to optimisation changes made in r206070.
8483 2014-01-05  Uros Bizjak  <ubizjak@gmail.com>
8485         * config/i386/i386.c (ix86_data_alignment): Calculate max_align
8486         from prefetch_block tune setting.
8487         (nocona_cost): Correct size of prefetch block to 64.
8489 2014-01-04  Eric Botcazou  <ebotcazou@adacore.com>
8491         * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
8492         (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
8493         used to save the static chain register in the computation of the offset
8494         from which the FP registers need to be restored.
8496 2014-01-04  Jakub Jelinek  <jakub@redhat.com>
8498         PR tree-optimization/59519
8499         * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
8500         ICE if get_current_def (current_new_name) is already non-NULL, as long
8501         as it is a phi result of some other phi in *new_exit_bb that has
8502         the same argument.
8504         * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
8505         or vmovdqu* for misaligned_operand.
8506         (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
8507         <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
8508         * config/i386/i386.c (ix86_expand_special_args_builtin): Set
8509         aligned_mem for AVX512F masked aligned load and store builtins and for
8510         non-temporal moves.
8512 2014-01-03  Bingfeng Mei  <bmei@broadcom.com>
8514         PR tree-optimization/59651
8515         * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
8516         Address range for negative step should be added by TYPE_SIZE_UNIT.
8518 2014-01-03  Andreas Schwab  <schwab@linux-m68k.org>
8520         * config/m68k/m68k.c (handle_move_double): Handle pushes with
8521         overlapping registers also for registers other than the stack pointer.
8523 2014-01-03  Marek Polacek  <polacek@redhat.com>
8525         PR other/59661
8526         * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
8527         __builtin_FILE.
8529 2014-01-03  Jakub Jelinek  <jakub@redhat.com>
8531         PR target/59625
8532         * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
8533         asm goto as jump.
8535         * config/i386/i386.md (MODE_SIZE): New mode attribute.
8536         (push splitter): Use <P:MODE_SIZE> instead of
8537         GET_MODE_SIZE (<P:MODE>mode).
8538         (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
8539         (mov -1, reg peephole2): Likewise.
8540         * config/i386/sse.md (*mov<mode>_internal,
8541         <sse>_storeu<ssemodesuffix><avxsizesuffix>,
8542         <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
8543         *<code><mode>3, *andnot<mode>3<mask_name>,
8544         <mask_codefor><code><mode>3<mask_name>): Likewise.
8545         * config/i386/subst.md (mask_mode512bit_condition,
8546         sd_mask_mode512bit_condition): Likewise.
8548 2014-01-02  Xinliang David Li  <davidxl@google.com>
8550         PR tree-optimization/59303
8551         * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
8552         (dump_predicates): Better output format.
8553         (pred_equal_p): New function.
8554         (is_neq_relop_p): Ditto.
8555         (is_neq_zero_form_p): Ditto.
8556         (pred_expr_equal_p): Ditto.
8557         (pred_neg_p): Ditto.
8558         (simplify_pred): Ditto.
8559         (simplify_preds_2): Ditto.
8560         (simplify_preds_3): Ditto.
8561         (simplify_preds_4): Ditto.
8562         (simplify_preds): Ditto.
8563         (push_pred): Ditto.
8564         (push_to_worklist): Ditto.
8565         (get_pred_info_from_cmp): Ditto.
8566         (is_degenerated_phi): Ditto.
8567         (normalize_one_pred_1): Ditto.
8568         (normalize_one_pred): Ditto.
8569         (normalize_one_pred_chain): Ditto.
8570         (normalize_preds): Ditto.
8571         (normalize_cond_1): Remove function.
8572         (normalize_cond): Ditto.
8573         (is_gcond_subset_of): Ditto.
8574         (is_subset_of_any): Ditto.
8575         (is_or_set_subset_of): Ditto.
8576         (is_and_set_subset_of): Ditto.
8577         (is_norm_cond_subset_of): Ditto.
8578         (pred_chain_length_cmp): Ditto.
8579         (convert_control_dep_chain_into_preds): Type change.
8580         (find_predicates): Ditto.
8581         (find_def_preds): Ditto.
8582         (destroy_predicates_vecs): Ditto.
8583         (find_matching_predicates_in_rest_chains): Ditto.
8584         (use_pred_not_overlap_with_undef_path_pred): Ditto.
8585         (is_pred_expr_subset): Ditto.
8586         (is_pred_chain_subset_of): Ditto.
8587         (is_included_in): Ditto.
8588         (is_superset_of): Ditto.
8590 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
8592         Update copyright years.
8594 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
8596         * common/config/arc/arc-common.c, config/arc/arc-modes.def,
8597         config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
8598         config/arc/arc.md, config/arc/arc.opt,
8599         config/arm/arm_neon_builtins.def, config/arm/crypto.def,
8600         config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
8601         config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
8602         config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
8603         config/linux-protos.h, config/linux.c, config/winnt-c.c,
8604         diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
8605         vtable-verify.c, vtable-verify.h: Use the standard form for the
8606         copyright notice.
8608 2014-01-02  Tobias Burnus  <burnus@net-b.de>
8610         * gcc.c (process_command): Update copyright notice dates.
8611         * gcov-dump.c: Ditto.
8612         * gcov.c: Ditto.
8613         * doc/cpp.texi: Bump @copying's copyright year.
8614         * doc/cppinternals.texi: Ditto.
8615         * doc/gcc.texi: Ditto.
8616         * doc/gccint.texi: Ditto.
8617         * doc/gcov.texi: Ditto.
8618         * doc/install.texi: Ditto.
8619         * doc/invoke.texi: Ditto.
8621 2014-01-01  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
8623         * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
8625 2014-01-01  Jakub Jelinek  <jakub@redhat.com>
8627         * config/i386/sse.md (*mov<mode>_internal): Guard
8628         EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
8630         PR rtl-optimization/59647
8631         * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
8632         new_rtx into UNSIGNED_FLOAT rtxes.
8634 Copyright (C) 2014 Free Software Foundation, Inc.
8636 Copying and distribution of this file, with or without modification,
8637 are permitted in any medium without royalty provided the copyright
8638 notice and this notice are preserved.