Only assume 4-byte stack alignment on Solaris 9/x86 (PR libgomp/60107)
[official-gcc.git] / gcc / ChangeLog
blob6458a9b5188e225bef6bc167be10f658f95833b5
1 2014-02-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3         PR libgomp/60107
4         * config/i386/sol2-9.h: New file.
5         * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
6         *-*-solaris2.9*): Use it.
8 2014-02-10  Nagaraju Mekala <nagaraju.mekala@xilinx.com>
10         * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
11         * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
13 2014-02-10  Nagaraju Mekala <nagaraju.mekala@xilinx.com>
15         * config/microblaze/microblaze.c: Extend mcpu version format
17 2014-02-10  David Holsgrove <david.holsgrove@xilinx.com>
19         * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
21 2014-02-10  Richard Henderson <rth@redhat.com>
23         PR target/59927
24         * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
25         * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
26         ms-abi vs -mno-accumulate-outgoing-args.
27         (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
28         * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
29         respect to ms-abi.
31 2014-02-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>
33         PR middle-end/60080
34         * cfgexpand.c (expand_asm_operands): Attach source location to
35         ASM_INPUT rtx objects.
36         * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
38 2014-02-10  Nick Clifton  <nickc@redhat.com>
40         * config/mn10300/mn10300.c (popcount): New function.
41         (mn10300_expand_prologue): Include saved registers in stack usage
42         count.
44 2014-02-10  Jeff Law  <law@redhat.com>
46         PR middle-end/52306
47         * reload1.c (emit_input_reload_insns): Do not create invalid RTL
48         when changing the SET_DEST of a prior insn to avoid an input
49         reload.
51 2014-02-10  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
53         * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
54         big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
55         -mcall-openbsd, or -mcall-linux.
56         (CC1_ENDIAN_BIG_SPEC): Remove.
57         (CC1_ENDIAN_LITTLE_SPEC): Remove.
58         (CC1_ENDIAN_DEFAULT_SPEC): Remove.
59         (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
60         (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
61         and %cc1_endian_default.
62         * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
64 2014-02-10  Richard Biener  <rguenther@suse.de>
66         PR tree-optimization/60115
67         * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
68         MEM_REF handling.  Properly verify that the accesses are not
69         out of the objects bound.
71 2014-02-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
73         * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
74         coretex to cortex.
76 2014-02-10  Eric Botcazou  <ebotcazou@adacore.com>
78         * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
79         proper constants and fix formatting.
80         (possible_polymorphic_call_targets): Fix formatting.
82 2014-02-10  Kirill Yukhin  <kirill.yukhin@intel.com>
83             Ilya Tocar  <ilya.tocar@intel.com>
85         * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
86         (_mm512_loadu_epi32): Renamed into...
87         (_mm512_loadu_si512): This.
88         (_mm512_storeu_epi32): Renamed into...
89         (_mm512_storeu_si512): This.
90         (_mm512_maskz_ceil_ps): Removed.
91         (_mm512_maskz_ceil_pd): Ditto.
92         (_mm512_maskz_floor_ps): Ditto.
93         (_mm512_maskz_floor_pd): Ditto.
94         (_mm512_floor_round_ps): Ditto.
95         (_mm512_floor_round_pd): Ditto.
96         (_mm512_ceil_round_ps): Ditto.
97         (_mm512_ceil_round_pd): Ditto.
98         (_mm512_mask_floor_round_ps): Ditto.
99         (_mm512_mask_floor_round_pd): Ditto.
100         (_mm512_mask_ceil_round_ps): Ditto.
101         (_mm512_mask_ceil_round_pd): Ditto.
102         (_mm512_maskz_floor_round_ps): Ditto.
103         (_mm512_maskz_floor_round_pd): Ditto.
104         (_mm512_maskz_ceil_round_ps): Ditto.
105         (_mm512_maskz_ceil_round_pd): Ditto.
106         (_mm512_expand_pd): Ditto.
107         (_mm512_expand_ps): Ditto.
108         * config/i386/i386.c (ix86_builtins): Remove
109         IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
110         (bdesc_args): Ditto.
111         * config/i386/predicates.md (const1256_operand): New.
112         (const_1_to_2_operand): Ditto.
113         * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
114         (*avx512pf_gatherpf<mode>sf_mask): Ditto.
115         (*avx512pf_gatherpf<mode>sf): Ditto.
116         (avx512pf_gatherpf<mode>df): Ditto.
117         (*avx512pf_gatherpf<mode>df_mask): Ditto.
118         (*avx512pf_gatherpf<mode>df): Ditto.
119         (avx512pf_scatterpf<mode>sf): Ditto.
120         (*avx512pf_scatterpf<mode>sf_mask): Ditto.
121         (*avx512pf_scatterpf<mode>sf): Ditto.
122         (avx512pf_scatterpf<mode>df): Ditto.
123         (*avx512pf_scatterpf<mode>df_mask): Ditto.
124         (*avx512pf_scatterpf<mode>df): Ditto.
125         (avx512f_expand<mode>): Removed.
126         (<shift_insn><mode>3<mask_name>): Change predicate type.
128 2014-02-08  Jakub Jelinek  <jakub@redhat.com>
130         * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
131         not at the end of datarefs vector use ordered_remove to avoid
132         reordering datarefs vector.
134         PR c/59984
135         * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
136         mark local addressable non-static vars as GOVD_PRIVATE
137         instead of GOVD_LOCAL.
138         * omp-low.c (lower_omp_for): Move gimple_bind_vars
139         and BLOCK_VARS of gimple_bind_block to new_stmt rather
140         than copying them.
142         PR middle-end/60092
143         * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
144         if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
145         assume_aligned or alloc_align attributes.
146         (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
147         arguments.  Handle also assume_aligned and alloc_align attributes.
148         (evaluate_stmt): Adjust bit_value_assume_aligned caller.
149         Handle calls to functions with assume_aligned or alloc_align
150         attributes.
151         * doc/extend.texi: Document assume_aligned and alloc_align
152         attributes.
154 2014-02-08  Terry Guo  <terry.guo@arm.com>
156         * doc/invoke.texi: Document ARM -march=armv7e-m.
158 2014-02-08  Jakub Jelinek  <jakub@redhat.com>
160         * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
161         flag on __cilkrts_rethrow builtin.
163         PR ipa/60026
164         * ipa-cp.c (determine_versionability): Fail at -O0
165         or __attribute__((optimize (0))) or -fno-ipa-cp functions.
166         * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
168         Revert:
169         2014-02-04  Jakub Jelinek  <jakub@redhat.com>
171         PR ipa/60026
172         * tree-inline.c (copy_forbidden): Fail for
173         __attribute__((optimize (0))) functions.
175 2014-02-07  Jan Hubicka  <hubicka@ucw.cz>
177         * varpool.c: Include pointer-set.h.
178         (varpool_remove_unreferenced_decls): Variables in other partitions
179         will not be output; be however careful to not lose information
180         about partitioning.
182 2014-02-07  Jan Hubicka  <hubicka@ucw.cz>
184         * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
185         lookup in the vtable constructor.
187 2014-02-07  Jeff Law  <law@redhat.com>
189         PR target/40977
190         * config/m68k/m68k.md (ashldi_extsi): Turn into a
191         define_insn_and_split.
193         * ipa-inline.c (inline_small_functions): Fix typos.
195 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
197         * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
198         (s390_can_use_return_insn): Declare.
199         * config/s390/s390.h (EPILOGUE_USES): Define.
200         * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
201         instructions.
202         (s390_chunkify_start): Handle return JUMP_LABELs.
203         (s390_early_mach): Emit a main_pool instruction on the entry edge.
204         (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
205         (s390_can_use_return_insn): New functions.
206         (s390_fix_long_loop_prediction): Handle conditional returns.
207         (TARGET_SET_UP_BY_PROLOGUE): Define.
208         * config/s390/s390.md (ANY_RETURN): New code iterator.
209         (*creturn, *csimple_return, return, simple_return): New patterns.
211 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
213         * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
214         notes to each restore.  Also add REG_CFA_DEF_CFA when restoring %r15.
215         (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P.  Update the
216         REG_CFA_RESTORE list when deciding not to restore a register.
218 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
220         * config/s390/s390.c: Include tree-pass.h and context.h.
221         (s390_early_mach): New function, split out from...
222         (s390_emit_prologue): ...here.
223         (pass_data_s390_early_mach): New pass structure.
224         (pass_s390_early_mach): New class.
225         (s390_option_override): Create and register early_mach pass.
226         Move to end of file.
228 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
230         * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
231         to match for the exit block.
233 2014-02-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
235         * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
236         ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
237         Reject misaligned operands.
239 2014-02-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
241         * optabs.c (expand_atomic_compare_and_swap): Allow expander to
242         fail.
244 2014-02-07  Richard Biener  <rguenther@suse.de>
246         PR middle-end/60092
247         * gimple-low.c (lower_builtin_posix_memalign): New function.
248         (lower_stmt): Call it to lower posix_memalign in a way
249         to make alignment info accessible.
251 2014-02-07  Jakub Jelinek  <jakub@redhat.com>
253         PR c++/60082
254         * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
255         __builtin_setjmp_receiver.
257 2014-02-07  Richard Biener  <rguenther@suse.de>
259         PR middle-end/60092
260         * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
261         * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
262         * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
263         Handle BUILT_IN_POSIX_MEMALIGN.
264         (find_func_clobbers): Likewise.
265         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
266         (call_may_clobber_ref_p_1): Likewise.
268 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
270         PR ipa/59918
271         * ipa-devirt.c (record_target_from_binfo): Remove overactive sanity check.
273 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
275         PR ipa/59469
276         * lto-cgraph.c (lto_output_node): Use
277         symtab_get_symbol_partitioning_class.
278         (lto_output_varpool_node): likewise.
279         (symtab_get_symbol_partitioning_class): Move here from
280         lto/lto-partition.c
281         * cgraph.h (symbol_partitioning_class): Likewise.
282         (symtab_get_symbol_partitioning_class): Declare.
284 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
286         * ggc.h (ggc_internal_cleared_alloc): New macro.
287         * vec.h (vec_safe_copy): Handle memory stats.
288         * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
289         * target-globals.c (save_target_globals): Likewise.
291 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
293         PR target/60077
294         * expr.c (emit_move_resolve_push): Export; be bit more selective
295         on when to clear alias set.
296         * expr.h (emit_move_resolve_push): Declare.
297         * function.h (struct function): Add tail_call_marked.
298         * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
299         * config/i386/i386-protos.h (ix86_expand_push): Remove.
300         * config/i386/i386.md (TImode move expander): De not call
301         ix86_expand_push.
302         (FP push expanders): Preserve memory attributes.
303         * config/i386/sse.md (push<mode>1): Remove.
304         * config/i386/i386.c (ix86_expand_vector_move): Handle push
305         operation.
306         (ix86_expand_push): Remove.
307         * config/i386/mmx.md (push<mode>1): Remove.
309 2014-02-06  Jakub Jelinek  <jakub@redhat.com>
311         PR rtl-optimization/60030
312         * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
313         lopart with paradoxical subreg before shifting it up by hprec.
315 2014-02-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
317         * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
318         Remove extra newline at end of file.
319         * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
320         (arm_issue_rate): Handle cortexa57.
321         * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
322         (cortex-a57.cortex-a53): Likewise.
324 2014-02-06  Jakub Jelinek  <jakub@redhat.com>
326         PR target/59575
327         * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
328         don't record in REG_FRAME_RELATED_EXPR registers not set in that
329         bitmask.
330         (arm_expand_prologue): Adjust all callers.
331         (arm_unwind_emit_sequence): Allow saved, but not important for unwind
332         info, registers also at the lowest numbered registers side.  Use
333         gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
334         XEXP.
336         PR debug/59992
337         * var-tracking.c (adjust_mems): Before adding a SET
338         to amd->side_effects, adjust it's SET_SRC using
339         simplify_replace_fn_rtx.
341 2014-02-06  Alan Modra  <amodra@gmail.com>
343         PR target/60032
344         * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
345         change SDmode to DDmode when lra_in_progress.
347 2014-02-06  Jakub Jelinek  <jakub@redhat.com>
349         PR middle-end/59150
350         * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
351         free_data_ref on the dr first, and before goto again also set dr
352         to the next dr.  For simd_lane_access, free old datarefs[i] before
353         overwriting it.  For get_vectype_for_scalar_type failure, don't
354         free_data_ref if simd_lane_access.
356         * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
358         PR target/60062
359         * tree.h (opts_for_fn): New inline function.
360         (opt_for_fn): Define.
361         * config/i386/i386.c (ix86_function_regparm): Use
362         opt_for_fn (decl, optimize) instead of optimize.
364 2014-02-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
366         * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
367         for SYMBOL_REF in large memory model.
369 2014-02-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
371         * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
372         and crypto support.
373         (cortex-a57): Likewise.
374         (cortex-a57.cortex-a53): Likewise.
376 2014-02-06  Yury Gribov  <y.gribov@samsung.com>
377             Kugan Vivekanandarajah  <kuganv@linaro.org>
379         * config/arm/arm.c (arm_vector_alignment_reachable): Check
380         unaligned_access.
381         * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
383 2014-02-06  Richard Biener  <rguenther@suse.de>
385         * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
386         set_loop_copy and initialize_original_copy_tables.
388 2014-02-06  Alex Velenko  <Alex.Velenko@arm.com>
390         * config/aarch64/aarch64-simd.md
391         (aarch64_ashr_simddi): Change QI to SI.
393 2014-02-05  Jan Hubicka  <hubicka@ucw.cz>
394             Jakub Jelinek  <jakub@redhat.com>
396         PR middle-end/60013
397         * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
398         of the dataflow.
400 2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
402         * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
403         CODE_FOR_altivec_vpku[hw]um to
404         CODE_FOR_altivec_vpku[hw]um_direct.
405         * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
406         UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
407         (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
408         UNSPEC_VUNPACK_LO_SIGN_DIRECT.
410 2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
412         * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
413         generation for -maltivec=be.
414         (altivec_vsumsws): Simplify redundant test.
416 2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
418         * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
419         (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
420         (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
421         (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
422         gen_altivec_vpkuwum.
423         (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
424         BYTES_BIG_ENDIAN.
425         (altivec_vpks<VI_char>ss): Likewise.
426         (altivec_vpks<VI_char>us): Likewise.
427         (altivec_vpku<VI_char>us): Likewise.
428         (altivec_vpku<VI_char>um): Likewise.
429         (altivec_vpku<VI_char>um_direct): New (copy of
430         altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
431         internal use).
432         (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
433         target is little endian and -maltivec=be is not specified.
434         (*altivec_vupkhs<VU_char>_direct): New (copy of
435         altivec_vupkhs<VU_char> that always emits vupkhs*, for internal
436         use).
437         (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
438         target is little endian and -maltivec=be is not specified.
439         (*altivec_vupkls<VU_char>_direct): New (copy of
440         altivec_vupkls<VU_char> that always emits vupkls*, for internal
441         use).
442         (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
443         little endian and -maltivec=be is not specified.
444         (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
445         little endian and -maltivec=be is not specified.
447 2014-02-05  Richard Henderson <rth@redhat.com>
449         PR debug/52727
450         * combine-stack-adj.c: Revert r206943.
451         * sched-int.h (struct deps_desc): Add last_args_size.
452         * sched-deps.c (init_deps): Initialize it.
453         (sched_analyze_insn): Add OUTPUT dependencies between insns that
454         contain REG_ARGS_SIZE notes.
456 2014-02-05  Jan Hubicka  <hubicka@ucw.cz>
458         * lto-cgraph.c (asm_nodes_output): Make global.
459         * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
460         * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA
461         parameter
462         (driver_handle_option): Handle OPT_fwpa.
464 2014-02-05  Jakub Jelinek  <jakub@redhat.com>
466         PR ipa/59947
467         * ipa-devirt.c (possible_polymorphic_call_targets): Fix
468         a comment typo and formatting issue.  If odr_hash hasn't been
469         created, return vNULL and set *completep to false.
471         PR middle-end/57499
472         * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
473         bb with no successors.
475 2014-02-05  James Greenhalgh  <james.greenhalgh@arm.com>
477         PR target/59718
478         * doc/invoke.texi (-march): Clarify documentation for ARM.
479         (-mtune): Likewise.
480         (-mcpu): Likewise.
482 2014-02-05  Richard Biener  <rguenther@suse.de>
484         * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
485         when not vectorizing because of too many alias checks.
486         * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
487         Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
489 2014-02-05  Nick Clifton  <nickc@redhat.com>
491         * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
492         accept extended registers in any mode when compiling for the
493         MN10300.
495 2014-02-05  Yury Gribov  <y.gribov@samsung.com>
497         * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
498         * ipa-inline.c (report_inline_failed_reason): Handle mismatched
499         sanitization attributes.
500         (can_inline_edge_p): Likewise.
501         (sanitize_attrs_match_for_inline_p): New function.
503 2014-02-04  Jan Hubicka  <hubicka@ucw.cz>
505         * ipa-prop.c (detect_type_change): Shor circuit testing of
506         type changes on THIS pointer.
508 2014-02-04  John David Anglin  <danglin@gcc.gnu.org>
510         PR target/59777
511         * config/pa/pa.c (legitimize_tls_address): Return original address
512         if not passed a SYMBOL_REF rtx.
513         (hppa_legitimize_address): Call legitimize_tls_address for all TLS
514         addresses.
515         (pa_emit_move_sequence): Simplify TLS source operands.
516         (pa_legitimate_constant_p): Reject all TLS constants.
517         * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
518         (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
520 2014-02-04  Jan Hubicka  <hubicka@ucw.cz>
522         * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
523         groups when we know they are controlled by LTO.
524         * varasm.c (default_binds_local_p_1): If object is in other partition,
525         it will be resolved locally.
527 2014-02-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
529         * config/host-linux.c (linux_gt_pch_use_address): Don't
530         use SSIZE_MAX because it is not always defined. 
532 2014-02-04  Vladimir Makarov  <vmakarov@redhat.com>
534         PR bootstrap/59913
535         * lra-constraints.c (need_for_split_p): Use more 3 reloads as
536         threshold for pseudo splitting.
537         (update_ebb_live_info): Process call argument hard registers and
538         hard registers from insn definition too.
539         (max_small_class_regs_num): New constant.
540         (inherit_in_ebb): Update live hard regs through EBBs.  Update
541         reloads_num only for small register classes.  Don't split for
542         outputs of jumps.
544 2014-02-04  Markus Trippelsdorf  <markus@trippelsdorf.de>
546         PR ipa/60058
547         * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
548         is non-null.
550 2014-02-04  Jan Hubicka  <hubicka@ucw.cz>
552         * gimple-fold.c (can_refer_decl_in_current_unit_p): Default visibility is safe.
554 2014-02-04  Marek Polacek  <polacek@redhat.com>
556         * gdbinit.in (pel): Define.
558 2014-02-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
560         * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
561         behavior.
563 2014-02-04  Richard Biener  <rguenther@suse.de>
565         PR lto/59723
566         * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
567         in function context local.
568         (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
569         * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
570         similar to LTO_imported_decl_ref.
572 2014-02-04  Jakub Jelinek  <jakub@redhat.com>
574         PR tree-optimization/60002
575         * cgraphclones.c (build_function_decl_skip_args): Clear
576         DECL_LANG_SPECIFIC.
578         PR tree-optimization/60023
579         * tree-if-conv.c (predicate_mem_writes): Pass true instead of
580         false to gsi_replace.
581         * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
582         has been in some EH region and vec_stmt could throw, add
583         vec_stmt into the same EH region.
584         * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
585         has no lhs, ignore it.
586         * internal-fn.c (expand_MASK_LOAD): Likewise.
588         PR ipa/60026
589         * tree-inline.c (copy_forbidden): Fail for
590         __attribute__((optimize (0))) functions.
592         PR other/58712
593         * omp-low.c (simd_clone_struct_copy): If from->inbranch
594         is set, copy one less argument.
595         (expand_simd_clones): Don't subtract clone_info->inbranch
596         from simd_clone_struct_alloc argument.
598         PR rtl-optimization/57915
599         * recog.c (simplify_while_replacing): If all unary/binary/relational
600         operation arguments are constant, attempt to simplify those.
602         PR middle-end/59261
603         * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
604         if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
606 2014-02-04  Richard Biener  <rguenther@suse.de>
608         PR tree-optimization/60012
609         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
610         TBAA disambiguation to all DDRs.
612 2014-02-04  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
614         PR target/59788
615         * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
616         (LINK_SPEC): Use it for -shared, -shared-libgcc.
618 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
620         PR ipa/59882
621         * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
623 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
625         * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
626         * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
628 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
630         PR ipa/59831
631         * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
632         to figure out targets of polymorphic calls with known decl.
633         * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
634         * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
635         * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
636         (get_polymorphic_call_info): ... here.
637         (get_polymorphic_call_info_from_invariant): New function.
639 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
641         * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
642         lookup via vtable pointer; check for type consistency
643         and turn inconsitent facts into UNREACHABLE.
644         * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
645         * gimple-fold.c (gimple_get_virt_method_for_vtable): 
646         Do not ICE on type inconsistent querries; return UNREACHABLE
647         instead.
649 2014-02-03  Richard Henderson  <rth@twiddle.net>
651         PR tree-opt/59924
652         * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
653         already processed this node.
654         (normalize_one_pred_1): Pass along mark_set.
655         (normalize_one_pred): Create and destroy a pointer_set_t.
656         (normalize_one_pred_chain): Likewise.
658 2014-02-03  Laurent Aflonsi  <laurent.alfonsi@st.com>
660         PR gcov-profile/58602
661         * gcc/gcov-io.c (gcov_open): Open with truncation when mode<0
663 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
665         PR ipa/59831
666         * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on -fno-devirtualize;
667         Try to devirtualize by the knowledge of virtual table pointer given by
668         aggregate propagation.
669         * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
670         ipa_print_node_jump_functions): Dump also offset that
671         is relevant for polymorphic calls.
672         (determine_known_aggregate_parts): Add arg_type parameter; use it
673         instead of determining the type from pointer type.
674         (ipa_compute_jump_functions_for_edge): Update call of
675         determine_known_aggregate_parts.
676         * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
677         (gimple_get_virt_method_for_binfo): ... here; simplify using
678         vtable_pointer_value_to_vtable.
679         * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
680         * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
681         to unsigned HOST_WIDE_INT; Use vtable_pointer_value_to_vtable.
682         (vtable_pointer_value_to_vtable): Break out from ...; handle also
683         POINTER_PLUS_EXPR.
684         (vtable_pointer_value_to_binfo): ... here.
685         * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
687 2014-02-03  Teresa Johnson  <tejohnson@google.com>
689         * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
690         redef of outer loop index variable.
692 2014-02-03  Marc Glisse  <marc.glisse@inria.fr>
694         PR c++/53017
695         PR c++/59211
696         * doc/extend.texi (Function Attributes): Typo.
698 2014-02-03  Cong Hou  <congh@google.com>
700         PR tree-optimization/60000
701         * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
702         if the vectorized statement is a store.  A store statement can only
703         appear at the end of pattern statements.
705 2014-02-03  H.J. Lu  <hongjiu.lu@intel.com>
707         * config/i386/i386.c (flag_opts): Add -mlong-double-128.
708         (ix86_option_override_internal): Default long double to 64-bit for
709         32-bit Bionic and to 128-bit for 64-bit Bionic.
711         * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
712         TARGET_LONG_DOUBLE_128 is true.
713         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
715         * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
716         (mlong-double-64): Negate -mlong-double-128.
717         (mlong-double-128): New option.
719         * config/i386/i386-c.c (ix86_target_macros): Define
720         __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
722         * doc/invoke.texi: Document -mlong-double-128.
724 2014-02-03  H.J. Lu  <hongjiu.lu@intel.com>
726         PR rtl-optimization/60024
727         * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
729 2014-02-03  Markus Trippelsdorf  <markus@trippelsdorf.de>
731         * doc/invoke.texi: (fprofile-reorder-functions): Fix typo.
733 2014-02-03  Andrey Belevantsev  <abel@ispras.ru>
735         PR rtl-optimization/57662
736         * sel-sched.c (code_motion_path_driver): Do not mark already not
737         existing blocks in the visiting bitmap.
739 2014-02-03  Andrey Belevantsev  <abel@ispras.ru>
741         * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
742         on the insn being emitted.
744 2014-02-03  James Greenhalgh  <james.greenhalgh@arm.com>
745             Will Deacon  <will.deacon@arm.com>
747         * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
749 2014-02-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
751         * config/arm/arm-tables.opt: Regenerate.
753 2014-02-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
755         * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
756         for vector types other than V16QImode.
757         * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
758         define_expand, and call altivec_expand_vec_perm_le when producing
759         code with little endian element order.
760         (*altivec_vperm_<mode>_internal): New insn having previous
761         behavior of altivec_vperm_<mode>.
762         (altivec_vperm_<mode>_uns): Change to a define_expand, and call
763         altivec_expand_vec_perm_le when producing code with little endian
764         element order.
765         (*altivec_vperm_<mode>_uns_internal): New insn having previous
766         behavior of altivec_vperm_<mode>_uns.
768 2014-02-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
770         * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
771         (altivec_vsumsws): Add handling for -maltivec=be with a little
772         endian target.
773         (altivec_vsumsws_direct): New.
774         (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
775         gen_altivec_vsumsws.
777 2014-02-02  Jan Hubicka  <hubicka@ucw.cz>
779         * ipa-devirt.c (subbinfo_with_vtable_at_offset,
780         vtable_pointer_value_to_binfo): New functions.
781         * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
782         * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
784 2014-02-02  Sandra Loosemore  <sandra@codesourcery.com>
786         * config/nios2/nios2.md (load_got_register): Initialize GOT
787         pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
788         * config/nios2/nios2.c (nios2_function_profiler): Likewise.
790 2014-02-02  Jan Hubicka  <hubicka@ucw.cz>
792         * ipa-prop.c (update_jump_functions_after_inlining): When type is not
793         preserverd by passthrough, do not propagate the type.
795 2014-02-02  Richard Sandiford  <rdsandiford@googlemail.com>
797         * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
798         (mips_atomic_assign_expand_fenv): New function.
799         (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
801 2014-02-02  Richard Sandiford  <rdsandiford@googlemail.com>
803         * doc/extend.texi (__builtin_mips_get_fcsr): Document.
804         (__builtin_mips_set_fcsr): Likewise.
805         * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
806         MIPS_USI_FTYPE_VOID.
807         * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
808         (mips16_expand_set_fcsr): Likewise.
809         * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
810         (mips16_set_fcsr_stub): Likewise.
811         (mips16_get_fcsr_one_only_stub): New class.
812         (mips16_set_fcsr_one_only_stub): Likewise.
813         (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
814         (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
815         (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
816         (hard_float): New availability predicate.
817         (mips_builtins): Add get_fcsr and set_fcsr.
818         (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
819         * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
820         (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
821         (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
822         (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
823         patterns.
825 2014-02-02  Richard Sandiford  <rdsandiford@googlemail.com>
827         * config/mips/mips.c (mips_one_only_stub): New class.
828         (mips_need_mips16_rdhwr_p): Replace with...
829         (mips16_rdhwr_stub): ...this new variable.
830         (mips16_stub_call_address): New function.
831         (mips16_rdhwr_one_only_stub): New class.
832         (mips_expand_thread_pointer): Use mips16_stub_call_address.
833         (mips_output_mips16_rdhwr): Delete.
834         (mips_finish_stub): New function.
835         (mips_code_end): Use it to handle rdhwr stubs.
837 2014-02-02  Uros Bizjak  <ubizjak@gmail.com>
839         PR target/60017
840         * config/i386/i386.c (classify_argument): Fix handling of bit_offset
841         when calculating size of integer atomic types.
843 2014-02-02  H.J. Lu  <hongjiu.lu@intel.com>
845         * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
847 2014-02-01  Jakub Jelinek  <jakub@redhat.com>
849         PR tree-optimization/60003
850         * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
851         * profile.c (branch_prob): Use gimple_call_builtin_p
852         to check for BUILT_IN_SETJMP_RECEIVER.
853         * tree-inline.c (copy_bb): Call notice_special_calls.
855 2014-01-31  Vladimir Makarov  <vmakarov@redhat.com>
857         PR bootstrap/59985
858         * lra-constraints.c (process_alt_operands): Update reload_sum only
859         on the first pass.
861 2014-01-31  Richard Henderson  <rth@redhat.com>
863         PR middle-end/60004
864         * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
865         until after else_eh is processed.
867 2014-01-31  Ilya Tocar  <ilya.tocar@intel.com>
869         * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
870         (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
871         (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
872         in smmintrin.h, remove them.
873         (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
874         * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
875         * config/i386/i386.md (ROUND_SAE): Fix value.
876         * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
877         (const48_operand): New.
878         * config/i386/subst.md (round), (round_expand): Use
879         const_4_or_8_to_11_operand.
880         (round_saeonly), (round_saeonly_expand): Use const48_operand.
882 2014-01-31  Ilya Tocar  <ilya.tocar@intel.com>
884         * config/i386/constraints.md (Yk): Swap meaning with k.
885         * config/i386/i386.md (movhi_internal): Change Yk to k.
886         (movqi_internal): Ditto.
887         (*k<logic><mode>): Ditto.
888         (*andhi_1): Ditto.
889         (*andqi_1): Ditto.
890         (kandn<mode>): Ditto.
891         (*<code>hi_1): Ditto.
892         (*<code>qi_1): Ditto.
893         (kxnor<mode>): Ditto.
894         (kortestzhi): Ditto.
895         (kortestchi): Ditto.
896         (kunpckhi): Ditto.
897         (*one_cmplhi2_1): Ditto.
898         (*one_cmplqi2_1): Ditto.
899         * config/i386/sse.md (): Change k to Yk.
900         (avx512f_load<mode>_mask): Ditto.
901         (avx512f_blendm<mode>): Ditto.
902         (avx512f_store<mode>_mask): Ditto.
903         (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
904         (avx512f_storedqu<mode>_mask): Ditto.
905         (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
906         Ditto.
907         (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
908         (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
909         (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
910         (avx512f_maskcmp<mode>3): Ditto.
911         (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
912         (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
913         (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
914         (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
915         (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
916         (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
917         (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
918         (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
919         (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
920         (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
921         (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
922         (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
923         (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
924         (vec_extract_lo_<mode>_maskm): Ditto.
925         (vec_extract_hi_<mode>_maskm): Ditto.
926         (avx512f_vternlog<mode>_mask): Ditto.
927         (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
928         (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
929         (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
930         (avx512f_<code>v8div16qi2_mask): Ditto.
931         (avx512f_<code>v8div16qi2_mask_store): Ditto.
932         (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
933         (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
934         (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
935         (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
936         (*avx512pf_gatherpf<mode>sf_mask): Ditto.
937         (*avx512pf_gatherpf<mode>df_mask): Ditto.
938         (*avx512pf_scatterpf<mode>sf_mask): Ditto.
939         (*avx512pf_scatterpf<mode>df_mask): Ditto.
940         (avx512cd_maskb_vec_dupv8di): Ditto.
941         (avx512cd_maskw_vec_dupv16si): Ditto.
942         (avx512f_vpermi2var<mode>3_maskz): Ditto.
943         (avx512f_vpermi2var<mode>3_mask): Ditto.
944         (avx512f_vpermi2var<mode>3_mask): Ditto.
945         (avx512f_vpermt2var<mode>3_maskz): Ditto.
946         (*avx512f_gathersi<mode>): Ditto.
947         (*avx512f_gathersi<mode>_2): Ditto.
948         (*avx512f_gatherdi<mode>): Ditto.
949         (*avx512f_gatherdi<mode>_2): Ditto.
950         (*avx512f_scattersi<mode>): Ditto.
951         (*avx512f_scatterdi<mode>): Ditto.
952         (avx512f_compress<mode>_mask): Ditto.
953         (avx512f_compressstore<mode>_mask): Ditto.
954         (avx512f_expand<mode>_mask): Ditto.
955         * config/i386/subst.md (mask): Change k to Yk.
956         (mask_scalar_merge): Ditto.
957         (sd): Ditto.
959 2014-01-31  Marc Glisse  <marc.glisse@inria.fr>
961         * doc/extend.texi (Vector Extensions): Document ?: in C++.
963 2014-01-31  Richard Biener  <rguenther@suse.de>
965         PR middle-end/59990
966         * builtins.c (fold_builtin_memory_op): Make sure to not
967         use a floating-point mode or a boolean or enumeral type for
968         the copy operation.
970 2014-01-30  DJ Delorie  <dj@redhat.com>
972         * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
973         * config/msp430/msp430.md (msp430_refsym_need_exit): New.
974         * config/msp430/msp430.c (msp430_expand_epilogue): Call it
975         whenever main() has an epilogue.
977 2014-01-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
979         * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
980         unused variable "field".
981         * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
982         (vsx_mergeh_<mode>): Likewise.
983         * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
984         (altivec_vmrghh): Likewise.
985         (altivec_vmrghw): Likewise.
986         (altivec_vmrglb): Likewise.
987         (altivec_vmrglh): Likewise.
988         (altivec_vmrglw): Likewise.
989         (altivec_vspltb): Add missing uses.
990         (altivec_vsplth): Likewise.
991         (altivec_vspltw): Likewise.
992         (altivec_vspltsf): Likewise.
994 2014-01-30  Jakub Jelinek  <jakub@redhat.com>
996         PR target/59923
997         * ifcvt.c (cond_exec_process_insns): Don't conditionalize
998         frame related instructions.
1000 2014-01-30  Vladimir Makarov  <vmakarov@redhat.com>
1002         PR rtl-optimization/59959
1003         * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
1004         any reload of register whose subreg is invalid.
1006 2014-01-30  Jakub Jelinek  <jakub@redhat.com>
1008         * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
1009         * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
1010         Add missing return type - void.
1012 2014-01-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1014         * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
1015         gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
1016         remove element index adjustment for endian (now handled in vsx.md
1017         and altivec.md).
1018         (altivec_expand_vec_perm_const): Use
1019         gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
1020         * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
1021         (vsx_xxspltw_<mode>): Adjust element index for little endian.
1022         * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
1023         define_expand and a new define_insn *altivec_vspltb_internal;
1024         adjust for -maltivec=be on a little endian target.
1025         (altivec_vspltb_direct): New.
1026         (altivec_vsplth): Divide into a define_expand and a new
1027         define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
1028         little endian target.
1029         (altivec_vsplth_direct): New.
1030         (altivec_vspltw): Divide into a define_expand and a new
1031         define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
1032         little endian target.
1033         (altivec_vspltw_direct): New.
1034         (altivec_vspltsf): Divide into a define_expand and a new
1035         define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
1036         a little endian target.
1038 2014-01-30  Richard Biener  <rguenther@suse.de>
1040         PR tree-optimization/59993
1041         * tree-ssa-forwprop.c (associate_pointerplus): Check we
1042         can propagate form the earlier stmt and avoid the transform
1043         when the intermediate result is needed.
1045 2014-01-30  Alangi Derick  <alangiderick@gmail.com>
1047         * README.Portability: Fix typo.
1049 2014-01-30  David Holsgrove <david.holsgrove@xilinx.com>
1051         * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
1052         comparison_operator with ordered_comparison_operator.
1054 2014-01-30  Nick Clifton  <nickc@redhat.com>
1056         * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
1057         Rename to mn10300_store_multiple_regs.
1058         * config/mn10300/mn10300.c: Likewise.
1059         * config/mn10300/mn10300.md (store_movm): Fix typo: call
1060         store_multiple_regs.
1061         * config/mn10300/predicates.md (mn10300_store_multiple_operation):
1062         Call mn10300_store_multiple_regs.
1064 2014-01-30  Nick Clifton  <nickc@redhat.com>
1065             DJ Delorie  <dj@redhat.com>
1067         * config/rl78/rl78.c (register_sizes): Make the "upper half" of
1068         %fp 2 to keep registers after it properly word-aligned.
1069         (rl78_alloc_physical_registers_umul): Handle the case where both
1070         input operands are the same.
1072 2014-01-30  Richard Biener  <rguenther@suse.de>
1074         PR tree-optimization/59903
1075         * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
1076         check properly.
1078 2014-01-30  Jason Merrill  <jason@redhat.com>
1080         PR c++/59633
1081         * tree.c (walk_type_fields): Handle VECTOR_TYPE.
1083         PR c++/59645
1084         * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
1086 2014-01-30  Richard Biener  <rguenther@suse.de>
1088         PR tree-optimization/59951
1089         * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
1091 2014-01-30  Savin Zlobec  <savin.zlobec@gmail.com>
1093         PR target/59784
1094         * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
1095         SFmode to DFmode case.
1097 2014-01-29  DJ Delorie  <dj@redhat.com>
1099         * config/msp430/msp430.opt (-minrt): New.
1100         * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
1101         if -minrt given.
1102         (ENDFILE_SPEC): Likewise.
1104 2014-01-29  Jan Hubicka  <hubicka@ucw.cz>
1106         * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
1107         (estimate_function_body_sizes): Use it.
1109 2014-01-29  Paolo Carlini  <paolo.carlini@oracle.com>
1111         PR c++/58561
1112         * dwarf2out.c (is_cxx_auto): New.
1113         (is_base_type): Use it.
1114         (gen_type_die_with_usage): Likewise.
1116 2014-01-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1118         * config/rs6000/rs6000.c (altivec_expand_vec_perm_const):  Use
1119         CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
1120         * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
1121         -maltivec=be with LE targets.
1122         (vsx_mergeh_<mode>): Likewise.
1123         * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
1124         (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
1125         (altivec_vmrghb): Replace with define_expand and new
1126         *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
1127         (altivec_vmrghb_direct): New define_insn.
1128         (altivec_vmrghh): Replace with define_expand and new
1129         *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
1130         (altivec_vmrghh_direct): New define_insn.
1131         (altivec_vmrghw): Replace with define_expand and new
1132         *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
1133         (altivec_vmrghw_direct): New define_insn.
1134         (*altivec_vmrghsf): Adjust for endianness.
1135         (altivec_vmrglb): Replace with define_expand and new
1136         *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
1137         (altivec_vmrglb_direct): New define_insn.
1138         (altivec_vmrglh): Replace with define_expand and new
1139         *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
1140         (altivec_vmrglh_direct): New define_insn.
1141         (altivec_vmrglw): Replace with define_expand and new
1142         *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
1143         (altivec_vmrglw_direct): New define_insn.
1144         (*altivec_vmrglsf): Adjust for endianness.
1145         (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
1146         (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
1147         (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
1148         (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
1149         (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
1150         (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
1151         (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
1152         (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
1154 2014-01-29  Marcus Shawcroft  <marcus.shawcroft@arm.com>
1156         * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
1157         (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
1158         whitespace.
1160 2014-01-29  Richard Biener  <rguenther@suse.de>
1162         PR tree-optimization/58742
1163         * tree-ssa-forwprop.c (associate_pointerplus): Rename to
1164         associate_pointerplus_align.
1165         (associate_pointerplus_diff): New function.
1166         (associate_pointerplus): Likewise.  Call associate_pointerplus_align
1167         and associate_pointerplus_diff.
1169 2014-01-29  Richard Biener  <rguenther@suse.de>
1171         * lto-streamer.h (LTO_major_version): Bump to 3.
1172         (LTO_minor_version): Reset to 0.
1174 2014-01-29  Renlin Li  <Renlin.Li@arm.com>
1176         * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
1177         * config/arm/arm.c (FL_FOR_ARCH7VE): New.
1178         (arm_file_start): Generate correct asm header for armv7ve.
1179         * config/arm/bpabi.h: Add multilib support for armv7ve.
1180         * config/arm/driver-arm.c: Change the architectures of cortex-a7
1181         and cortex-a15 to armv7ve.
1182         * config/arm/t-aprofile: Add multilib support for armv7ve.
1183         * doc/invoke.texi: Document -march=armv7ve.
1185 2014-01-29  Richard Biener  <rguenther@suse.de>
1187         PR tree-optimization/58742
1188         * tree-ssa-forwprop.c (associate_plusminus): Return true
1189         if we changed sth, defer EH cleanup to ...
1190         (ssa_forward_propagate_and_combine): ... here.  Call simplify_mult.
1191         (simplify_mult): New function.
1193 2014-01-29  Jakub Jelinek  <jakub@redhat.com>
1195         PR middle-end/59917
1196         PR tree-optimization/59920
1197         * tree.c (build_common_builtin_nodes): Remove
1198         __builtin_setjmp_dispatcher initialization.
1199         * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
1200         * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
1201         instead of gsi_after_labels + manually skipping debug stmts.
1202         Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
1203         ignore bbs with IFN_ABNORMAL_DISPATCHER.
1204         * tree-inline.c (copy_edges_for_bb): Remove
1205         can_make_abnormal_goto argument, instead add abnormal_goto_dest
1206         argument.  Ignore computed_goto_p stmts.  Don't call
1207         make_abnormal_goto_edges.  If a call might need abnormal edges
1208         for non-local gotos, see if it already has an edge to
1209         IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
1210         with true argument, don't do anything then, otherwise add
1211         EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
1212         (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
1213         caller.
1214         * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
1215         (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
1216         (lower_stmt): Don't set data->calls_builtin_setjmp.
1217         (lower_builtin_setjmp): Adjust comment.
1218         * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
1219         * tree-cfg.c (found_computed_goto): Remove.
1220         (factor_computed_gotos): Remove.
1221         (make_goto_expr_edges): Return bool, true for computed gotos.
1222         Don't call make_abnormal_goto_edges.
1223         (build_gimple_cfg): Don't set found_computed_goto, don't call
1224         factor_computed_gotos.
1225         (computed_goto_p): No longer static.
1226         (make_blocks): Don't set found_computed_goto.
1227         (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
1228         (make_edges): If make_goto_expr_edges returns true, push bb
1229         into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
1230         instead of calling make_abnormal_goto_edges push bb into ab_edge_call
1231         vector.  Record mapping between bbs and OpenMP regions if there
1232         are any, adjust make_gimple_omp_edges caller.  Call
1233         handle_abnormal_edges.
1234         (make_abnormal_goto_edges): Remove.
1235         * tree-cfg.h (make_abnormal_goto_edges): Remove.
1236         (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
1237         * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
1238         * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
1239         * internal-fn.def (ABNORMAL_DISPATCHER): New.
1240         * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
1241         filling *region also set *region_idx to (*region)->entry->index.
1243         PR other/58712
1244         * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
1245         For REGs set ORIGINAL_REGNO.
1247 2014-01-29  Bingfeng Mei  <bmei@broadcom.com>
1249         * doc/md.texi: Mention that a target shouldn't implement
1250         vec_widen_(s|u)mul_even/odd pair if it is less efficient
1251         than hi/lo pair.
1253 2014-01-29  Jakub Jelinek  <jakub@redhat.com>
1255         PR tree-optimization/59594
1256         * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
1257         a copy of the datarefs vector rather than the vector itself.
1259 2014-01-28  Jason Merrill  <jason@redhat.com>
1261         PR c++/53756
1262         * dwarf2out.c (auto_die): New static.
1263         (gen_type_die_with_usage): Handle C++1y 'auto'.
1264         (gen_subprogram_die): If in-class DIE had 'auto', emit type again
1265         on definition.
1267 2014-01-28  H.J. Lu  <hongjiu.lu@intel.com>
1269         PR target/59672
1270         * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
1271         (SPEC_X32): Likewise.
1272         (SPEC_64): Likewise.
1273         * config/i386/i386.c (ix86_option_override_internal): Turn off
1274         OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
1275         for TARGET_16BIT.
1276         (x86_file_start): Output .code16gcc for TARGET_16BIT.
1277         * config/i386/i386.h (TARGET_16BIT): New macro.
1278         (TARGET_16BIT_P): Likewise.
1279         * config/i386/i386.opt: Add m16.
1280         * doc/invoke.texi: Document -m16.
1282 2014-01-28  Jakub Jelinek  <jakub@redhat.com>
1284         PR preprocessor/59935
1285         * input.c (location_get_source_line): Bail out on when line number
1286         is zero, and test the return value of lookup_or_add_file_to_cache_tab.
1288 2014-01-28  Richard Biener  <rguenther@suse.de>
1290         PR tree-optimization/58742
1291         * tree-ssa-forwprop.c (associate_plusminus): Handle
1292         pointer subtraction of the form (T)(P + A) - (T)P.
1294 2014-01-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1296         * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
1297         at const_int_cost.
1299 2014-01-28  Richard Biener  <rguenther@suse.de>
1301         Revert
1302         2014-01-28  Richard Biener  <rguenther@suse.de>
1304         PR rtl-optimization/45364
1305         PR rtl-optimization/59890
1306         * var-tracking.c (local_get_addr_clear_given_value): Handle
1307         already cleared slot.
1308         (val_reset): Handle not allocated local_get_addr_cache.
1309         (vt_find_locations): Use post-order on the inverted CFG.
1311 2014-01-28  Richard Biener  <rguenther@suse.de>
1313         * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
1315 2014-01-28  Richard Biener  <rguenther@suse.de>
1317         PR rtl-optimization/45364
1318         PR rtl-optimization/59890
1319         * var-tracking.c (local_get_addr_clear_given_value): Handle
1320         already cleared slot.
1321         (val_reset): Handle not allocated local_get_addr_cache.
1322         (vt_find_locations): Use post-order on the inverted CFG.
1324 2014-01-28  Alan Modra  <amodra@gmail.com>
1326         * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
1327         * configure.ac <recursive call for build != host>: Define
1328         GENERATOR_FILE.  Comment.  Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
1329         and LD_FOR_BUILD too.
1330         * configure: Regenerate.
1332 2014-01-27  Allan Sandfeld Jensen  <sandfeld@kde.org>
1334         * config/i386/i386.c (get_builtin_code_for_version): Separate
1335         Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
1336         Broadwell from Haswell.
1338 2014-01-27  Steve Ellcey  <sellcey@mips.com>
1340         * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
1341         Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
1342         * config/mips/mips.c (mips_option_override): Change setting
1343         of TARGET_DSP.
1344         * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
1345         * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
1346         Change from Mask to Var.
1348 2014-01-27  Jeff Law  <law@redhat.com>
1350         * ipa-inline.c (inline_small_functions): Fix typo.
1352 2014-01-27  Ilya Tocar  <ilya.tocar@intel.com>
1354         * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
1355         (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
1356         (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
1357         (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
1358         (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
1359         (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
1360         (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
1361         (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
1362         (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
1363         (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
1364         (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
1365         (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
1366         (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
1367         (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
1368         (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
1369         (_mm512_storeu_epi64): Ditto.
1370         (_mm512_cmpge_epi32_mask): Ditto.
1371         (_mm512_cmpge_epu32_mask): Ditto.
1372         (_mm512_cmpge_epi64_mask): Ditto.
1373         (_mm512_cmpge_epu64_mask): Ditto.
1374         (_mm512_cmple_epi32_mask): Ditto.
1375         (_mm512_cmple_epu32_mask): Ditto.
1376         (_mm512_cmple_epi64_mask): Ditto.
1377         (_mm512_cmple_epu64_mask): Ditto.
1378         (_mm512_cmplt_epi32_mask): Ditto.
1379         (_mm512_cmplt_epu32_mask): Ditto.
1380         (_mm512_cmplt_epi64_mask): Ditto.
1381         (_mm512_cmplt_epu64_mask): Ditto.
1382         (_mm512_cmpneq_epi32_mask): Ditto.
1383         (_mm512_cmpneq_epu32_mask): Ditto.
1384         (_mm512_cmpneq_epi64_mask): Ditto.
1385         (_mm512_cmpneq_epu64_mask): Ditto.
1386         (_mm512_expand_pd): Ditto.
1387         (_mm512_expand_ps): Ditto.
1388         * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
1389         VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
1390         VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
1391         * config/i386/i386.c (ix86_builtins): Add
1392         IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
1393         IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
1394         IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
1395         IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
1396         IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
1397         IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
1398         IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
1399         IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
1400         IX86_BUILTIN_PMOVUSQW512_MEM.
1401         (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
1402         __builtin_ia32_pmovsqd512mem_mask,
1403         __builtin_ia32_pmovqd512mem_mask,
1404         __builtin_ia32_pmovusqw512mem_mask,
1405         __builtin_ia32_pmovsqw512mem_mask,
1406         __builtin_ia32_pmovqw512mem_mask,
1407         __builtin_ia32_pmovusdw512mem_mask,
1408         __builtin_ia32_pmovsdw512mem_mask,
1409         __builtin_ia32_pmovdw512mem_mask,
1410         __builtin_ia32_pmovqb512mem_mask,
1411         __builtin_ia32_pmovusqb512mem_mask,
1412         __builtin_ia32_pmovsqb512mem_mask,
1413         __builtin_ia32_pmovusdb512mem_mask,
1414         __builtin_ia32_pmovsdb512mem_mask,
1415         __builtin_ia32_pmovdb512mem_mask.
1416         (bdesc_args): Add __builtin_ia32_expanddf512,
1417         __builtin_ia32_expandsf512.
1418         (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
1419         VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
1420         VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
1421         * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
1422         (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
1423         (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
1424         (avx512f_<code>v8div16qi2_mask_store): This.
1425         (avx512f_expand<mode>): New.
1427 2014-01-27  Kirill Yukhin  <kirill.yukhin@intel.com>
1429         * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
1430         New.
1431         (_mm512_mask_prefetch_i64gather_pd): Ditto.
1432         (_mm512_prefetch_i32scatter_pd): Ditto.
1433         (_mm512_mask_prefetch_i32scatter_pd): Ditto.
1434         (_mm512_prefetch_i64scatter_pd): Ditto.
1435         (_mm512_mask_prefetch_i64scatter_pd): Ditto.
1436         (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
1437         (_mm512_mask_prefetch_i64gather_ps): Ditto.
1438         (_mm512_prefetch_i32scatter_ps): Ditto.
1439         (_mm512_mask_prefetch_i32scatter_ps): Ditto.
1440         (_mm512_prefetch_i64scatter_ps): Ditto.
1441         (_mm512_mask_prefetch_i64scatter_ps): Ditto.
1442         * config/i386/i386-builtin-types.def: Define
1443         VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
1444         and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
1445         * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
1446         IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
1447         IX86_BUILTIN_SCATTERPFQPD.
1448         (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
1449         __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
1450         __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
1451         __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
1452         __builtin_ia32_scatterpfqps.
1453         (ix86_expand_builtin): Expand new built-ins.
1454         * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
1455         fix memory access data type.
1456         (*avx512pf_gatherpf<mode>_mask): Ditto.
1457         (*avx512pf_gatherpf<mode>): Ditto.
1458         (avx512pf_scatterpf<mode>): Ditto.
1459         (*avx512pf_scatterpf<mode>_mask): Ditto.
1460         (*avx512pf_scatterpf<mode>): Ditto.
1461         (GATHER_SCATTER_SF_MEM_MODE): New.
1462         (avx512pf_gatherpf<mode>df): Ditto.
1463         (*avx512pf_gatherpf<mode>df_mask): Ditto.
1464         (*avx512pf_scatterpf<mode>df): Ditto.
1466 2014-01-27  Jakub Jelinek  <jakub@redhat.com>
1468         PR bootstrap/59934
1469         * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
1470         know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
1471         reached.
1473 2014-01-27  James Greenhalgh  <james.greenhalgh@arm.com>
1475         * common/config/arm/arm-common.c
1476         (arm_rewrite_mcpu): Handle multiple names.
1477         * config/arm/arm.h
1478         (BIG_LITTLE_SPEC): Do not discard mcpu switches.
1480 2014-01-27  James Greenhalgh  <james.greenhalgh@arm.com>
1482         * gimple-builder.h (create_gimple_tmp): Delete.
1484 2014-01-27  Christian Bruel  <christian.bruel@st.com>
1486         * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
1487         words comparisons.
1489 2014-01-26  John David Anglin  <danglin@gcc.gnu.org>
1491         * config/pa/pa.md (call): Generate indirect long calls to non-local
1492         functions when outputing 32-bit code.
1493         (call_value): Likewise except for special call to buggy powf function.
1495         * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
1496         portable runtime and PIC indirect calls.
1497         (pa_output_indirect_call): Remove unnecessary nop from portable runtime
1498         and PIC call sequences.  Use ldo instead of blr to set return register
1499         in PIC call sequence.
1501 2014-01-25  Walter Lee  <walt@tilera.com>
1503         * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
1504         avoid clobbering a live register.
1506 2014-01-25  Walter Lee  <walt@tilera.com>
1508         * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
1509         Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
1510         * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
1511         Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
1513 2014-01-25  Walter Lee  <walt@tilera.com>
1515         * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
1516         arguments on even registers.
1517         (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
1518         STACK_BOUNDARY.
1519         * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
1520         (BIGGEST_ALIGNMENT): Ditto.
1521         (BIGGEST_FIELD_ALIGNMENT): Ditto.
1523 2014-01-25  Walter Lee  <walt@tilera.com>
1525         * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
1526         insns before bundling.
1527         * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
1529 2014-01-25  Walter Lee  <walt@tilera.com>
1531         * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
1532         PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
1533         * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
1535 2014-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
1537         * config/mips/constraints.md (kl): Delete.
1538         * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
1539         define expands, using...
1540         (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
1541         instructions for MIPS16.
1542         (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
1543         non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
1545 2014-01-25  Walter Lee  <walt@tilera.com>
1547         * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
1548         (clzdi2): Ditto.
1549         (ffsdi2): Ditto.
1551 2014-01-25  Walter Lee  <walt@tilera.com>
1553         * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
1554         (TARGET_EXPAND_TO_RTL_HOOK): Define.
1556 2014-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
1558         * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
1559         Handle XOR.
1561 2014-01-25  Jakub Jelinek  <jakub@redhat.com>
1563         * print-rtl.c (in_call_function_usage): New var.
1564         (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
1565         EXPR_LIST mode as mode and not as reg note name.
1567         PR middle-end/59561
1568         * cfgloopmanip.c (copy_loop_info): If
1569         loop->warned_aggressive_loop_optimizations, make sure
1570         the flag is set in target loop too.
1572 2014-01-24  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1574         * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
1575         flag_cilkplus.
1576         * builtins.def: Likewise.
1577         * cilk.h (fn_contains_cilk_spawn_p): Likewise.
1578         * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
1579         * ira.c (ira_setup_eliminable_regset): Likewise.
1580         * omp-low.c (gate_expand_omp): Likewise.
1581         (execute_lower_omp): Likewise.
1582         (diagnose_sb_0): Likewise.
1583         (gate_diagnose_omp_blocks): Likewise.
1584         (simd_clone_clauses_extract): Likewise.
1585         (gate): Likewise.
1587 2014-01-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1589         * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
1590         correction for little endian...
1591         * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
1592         here.
1594 2014-01-24  Jeff Law  <law@redhat.com>
1596         PR tree-optimization/59919
1597         * tree-vrp.c (find_assert_locations_1): Do not register asserts
1598         for non-returning calls.
1600 2014-01-24  James Greenhalgh  <james.greenhalgh@arm.com>
1602         * common/config/aarch64/aarch64-common.c
1603         (aarch64_rewrite_mcpu): Handle multiple names.
1604         * config/aarch64/aarch64.h
1605         (BIG_LITTLE_SPEC): Do not discard mcpu switches.
1607 2014-01-24  Dodji Seketeli  <dodji@redhat.com>
1609         * input.c (add_file_to_cache_tab): Handle the case where fopen
1610         returns NULL.
1612 2014-01-23  H.J. Lu  <hongjiu.lu@intel.com>
1614         PR target/59929
1615         * config/i386/i386.md (pushsf splitter): Get stack adjustment
1616         from push operand if code of push isn't PRE_DEC.
1618 2014-01-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
1620         PR target/59909
1621         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
1622         -mquad-memory-atomic.  Update -mquad-memory documentation to say
1623         it is only used for non-atomic loads/stores.
1625         * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
1626         -mquad-memory or -mquad-memory-atomic switches.
1628         * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
1629         -mquad-memory-atomic to ISA 2.07 support.
1631         * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
1632         to separate support of normal quad word memory operations (ldq, stq)
1633         from the atomic quad word memory operations.
1635         * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
1636         support to separate non-atomic quad word operations from atomic
1637         quad word operations.  Disable non-atomic quad word operations in
1638         little endian mode so that we don't have to swap words after the
1639         load and before the store.
1640         (quad_load_store_p): Add comment about atomic quad word support.
1641         (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
1642         options printed with -mdebug=reg.
1644         * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
1645         -mquad-memory-atomic as the test for whether we have quad word
1646         atomic instructions.
1647         (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
1648         or -mp8-vector are used, allow byte/half-word atomic operations.
1650         * config/rs6000/sync.md (load_lockedti): Insure that the address
1651         is a proper indexed or indirect address for the lqarx instruction.
1652         On little endian systems, swap the hi/lo registers after the lqarx
1653         instruction.
1654         (load_lockedpti): Use indexed_or_indirect_operand predicate to
1655         insure the address is valid for the lqarx instruction.
1656         (store_conditionalti): Insure that the address is a proper indexed
1657         or indirect address for the stqcrx. instruction.  On little endian
1658         systems, swap the hi/lo registers before doing the stqcrx.
1659         instruction.
1660         (store_conditionalpti): Use indexed_or_indirect_operand predicate to
1661         insure the address is valid for the stqcrx. instruction.
1663         * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
1664         Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
1665         type of quad memory support is available.
1667 2014-01-23  Vladimir Makarov  <vmakarov@redhat.com>
1669         PR regression/59915
1670         * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
1671         there is a danger of looping.
1673 2014-01-23  Pat Haugen  <pthaugen@us.ibm.com>
1675         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
1676         force flag_ira_loop_pressure if set via command line.
1678 2014-01-23  Alex Velenko  <Alex.Velenko@arm.com>
1680         * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
1681         (ashr_simd): New builtin handling DI mode.
1682         * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
1683         (aarch64_sshr_simddi): New match pattern.
1684         * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
1685         (vshrd_n_s64): Likewise.
1686         * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
1688 2014-01-23  Nick Clifton  <nickc@redhat.com>
1690         * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
1691         (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
1692         favour of mcu specific scripts.
1693         * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
1694         430x multilibs.
1696 2014-01-23  James Greenhalgh  <james.greenhalgh@arm.com>
1697             Alex Velenko  <Alex.Velenko@arm.com>
1699         * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
1700         (vaddv_s16): Likewise.
1701         (vaddv_s32): Likewise.
1702         (vaddv_u8): Likewise.
1703         (vaddv_u16): Likewise.
1704         (vaddv_u32): Likewise.
1705         (vaddvq_s8): Likewise.
1706         (vaddvq_s16): Likewise.
1707         (vaddvq_s32): Likewise.
1708         (vaddvq_s64): Likewise.
1709         (vaddvq_u8): Likewise.
1710         (vaddvq_u16): Likewise.
1711         (vaddvq_u32): Likewise.
1712         (vaddvq_u64): Likewise.
1713         (vaddv_f32): Likewise.
1714         (vaddvq_f32): Likewise.
1715         (vaddvq_f64): Likewise.
1716         (vmaxv_f32): Likewise.
1717         (vmaxv_s8): Likewise.
1718         (vmaxv_s16): Likewise.
1719         (vmaxv_s32): Likewise.
1720         (vmaxv_u8): Likewise.
1721         (vmaxv_u16): Likewise.
1722         (vmaxv_u32): Likewise.
1723         (vmaxvq_f32): Likewise.
1724         (vmaxvq_f64): Likewise.
1725         (vmaxvq_s8): Likewise.
1726         (vmaxvq_s16): Likewise.
1727         (vmaxvq_s32): Likewise.
1728         (vmaxvq_u8): Likewise.
1729         (vmaxvq_u16): Likewise.
1730         (vmaxvq_u32): Likewise.
1731         (vmaxnmv_f32): Likewise.
1732         (vmaxnmvq_f32): Likewise.
1733         (vmaxnmvq_f64): Likewise.
1734         (vminv_f32): Likewise.
1735         (vminv_s8): Likewise.
1736         (vminv_s16): Likewise.
1737         (vminv_s32): Likewise.
1738         (vminv_u8): Likewise.
1739         (vminv_u16): Likewise.
1740         (vminv_u32): Likewise.
1741         (vminvq_f32): Likewise.
1742         (vminvq_f64): Likewise.
1743         (vminvq_s8): Likewise.
1744         (vminvq_s16): Likewise.
1745         (vminvq_s32): Likewise.
1746         (vminvq_u8): Likewise.
1747         (vminvq_u16): Likewise.
1748         (vminvq_u32): Likewise.
1749         (vminnmv_f32): Likewise.
1750         (vminnmvq_f32): Likewise.
1751         (vminnmvq_f64): Likewise.
1753 2014-01-23  James Greenhalgh  <james.greenhalgh@arm.com>
1755         * config/aarch64/aarch64-simd.md
1756         (aarch64_dup_lane<mode>): Correct lane number on big-endian.
1757         (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
1758         (*aarch64_mul3_elt<mode>): Likewise.
1759         (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
1760         (*aarch64_mul3_elt_to_64v2df): Likewise.
1761         (*aarch64_mla_elt<mode>): Likewise.
1762         (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
1763         (*aarch64_mls_elt<mode>): Likewise.
1764         (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
1765         (*aarch64_fma4_elt<mode>): Likewise.
1766         (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
1767         (*aarch64_fma4_elt_to_64v2df): Likewise.
1768         (*aarch64_fnma4_elt<mode>): Likewise.
1769         (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
1770         (*aarch64_fnma4_elt_to_64v2df): Likewise.
1771         (aarch64_sq<r>dmulh_lane<mode>): Likewise.
1772         (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
1773         (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
1774         (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
1775         (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
1776         (aarch64_sqdmull_lane<mode>_internal): Likewise.
1777         (aarch64_sqdmull2_lane<mode>_internal): Likewise.
1779 2013-01-23  Alex Velenko  <Alex.Velenko@arm.com>
1781         * config/aarch64/aarch64-simd.md
1782         (aarch64_be_checked_get_lane<mode>): New define_expand.
1783         * config/aarch64/aarch64-simd-builtins.def
1784         (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
1785         New builtin definition.
1786         * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
1787         Use new safe be builtin.
1789 2014-01-23  Alex Velenko  <Alex.Velenko@arm.com>
1791         * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
1792         New define_insn.
1793         (aarch64_be_st1<mode>): Likewise.
1794         (aarch_ld1<VALL:mode>): Define_expand modified.
1795         (aarch_st1<VALL:mode>): Likewise.
1796         * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
1797         (UNSPEC_ST1): Likewise.
1799 2014-01-23  David Holsgrove <david.holsgrove@xilinx.com>
1801         * config/microblaze/microblaze.md: Add trap insn and attribute
1803 2014-01-23  Dodji Seketeli  <dodji@redhat.com>
1805         PR preprocessor/58580
1806         * input.h (location_get_source_line): Take an additional line_size
1807         parameter.
1808         (void diagnostics_file_cache_fini): Declare new function.
1809         * input.c (struct fcache): New type.
1810         (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
1811         New static constants.
1812         (diagnostic_file_cache_init, total_lines_num)
1813         (lookup_file_in_cache_tab, evicted_cache_tab_entry)
1814         (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
1815         (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
1816         (get_next_line, read_next_line, goto_next_line, read_line_num):
1817         New static function definitions.
1818         (diagnostic_file_cache_fini): New function.
1819         (location_get_source_line): Take an additional output line_len
1820         parameter.  Re-write using lookup_or_add_file_to_cache_tab and
1821         read_line_num.
1822         * diagnostic.c (diagnostic_finish): Call
1823         diagnostic_file_cache_fini.
1824         (adjust_line): Take an additional input parameter for the length
1825         of the line, rather than calculating it with strlen.
1826         (diagnostic_show_locus): Adjust the use of
1827         location_get_source_line and adjust_line with respect to their new
1828         signature.  While displaying a line now, do not stop at the first
1829         null byte.  Rather, display the zero byte as a space and keep
1830         going until we reach the size of the line.
1831         * Makefile.in: Add vec.o to OBJS-libcommon
1833 2014-01-23  Kirill Yukhin  <kirill.yukhin@intel.com>
1834             Ilya Tocar     <ilya.tocar@intel.com>
1836         * config/i386/avx512fintrin.h (_mm512_kmov): New.
1837         * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
1838         (__builtin_ia32_kmov16): Ditto.
1839         * config/i386/i386.md (UNSPEC_KMOV): New.
1840         (kmovw): Ditto.
1842 2014-01-23  Kirill Yukhin  <kirill.yukhin@intel.com>
1844         * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
1845         (_mm512_storeu_si512): Ditto.
1847 2014-01-23  Richard Sandiford  <rdsandiford@googlemail.com>
1849         PR target/52125
1850         * rtl.h (get_referenced_operands): Declare.
1851         * recog.c (get_referenced_operands): New function.
1852         * config/mips/mips.c (mips_reorg_process_insns): Check which asm
1853         operands have been referenced when recording LO_SUM references.
1855 2014-01-22  David Holsgrove <david.holsgrove@xilinx.com>
1857         * config/microblaze/microblaze.md: Correct bswaphi2 insn.
1859 2014-01-22  Jan Hubicka  <hubicka@ucw.cz>
1861         * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
1862         Enable for generic and recent AMD targets.
1864 2014-01-22  Jan Hubicka  <hubicka@ucw.cz>
1866         * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
1867         ARG_SIZE note when adjustment was eliminated.
1869 2014-01-22  Jeff Law  <law@redhat.com>
1871         PR tree-optimization/59597
1872         * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
1873         in file.  Accept new argument REGISTERING and use it to modify
1874         dump output appropriately.
1875         (register_jump_thread): Corresponding changes.
1876         (mark_threaded_blocks): Reinstate code to cancel unprofitable
1877         thread paths involving joiner blocks.  Add code to dump cancelled
1878         jump threading paths.
1880 2014-01-22  Vladimir Makarov  <vmakarov@redhat.com>
1882         PR rtl-optimization/59477
1883         * lra-constraints.c (inherit_in_ebb): Process call for living hard
1884         regs.  Update reloads_num and potential_reload_hard_regs for all insns.
1886 2014-01-22  Tom Tromey  <tromey@redhat.com>
1888         * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
1889         PARAMS.
1890         * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
1892 2014-01-21  Vladimir Makarov  <vmakarov@redhat.com>
1894         PR rtl-optimization/59896
1895         * lra-constraints.c (process_alt_operands): Check unused note for
1896         matched operands of insn with no output reloads.
1898 2014-01-21  Richard Sandiford  <rdsandiford@googlemail.com>
1900         * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
1901         (mips_move_from_gpr_cost): Likewise.
1903 2014-01-21  Vladimir Makarov  <vmakarov@redhat.com>
1905         PR rtl-optimization/59858
1906         * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
1907         ira_class_hard_regs_num.
1908         (process_alt_operands): Increase reject for dying matched operand.
1910 2014-01-21  Jakub Jelinek  <jakub@redhat.com>
1912         PR target/59003
1913         * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
1914         smaller than size, perform several stores or loads and stores
1915         at dst + count - size to store or copy all of size bytes, rather
1916         than just last modesize bytes.
1918 2014-01-20  DJ Delorie  <dj@redhat.com>
1920         * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
1921         that CLOBBERs are REGs before propogating their values.
1923 2014-01-20  H.J. Lu  <hongjiu.lu@intel.com>
1925         PR middle-end/59789
1926         * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
1927         (cgraph_inline_failed_type): New function.
1928         * cgraph.h (DEFCIFCODE): Add type.
1929         (cgraph_inline_failed_type_t): New enum.
1930         (cgraph_inline_failed_type): New prototype.
1931         * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
1932         FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
1933         FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
1934         LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
1935         MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
1936         RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
1937         OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
1938         INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
1939         Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
1940         FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
1941         EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
1942         OPTIMIZATION_MISMATCH.
1943         * tree-inline.c (expand_call_inline): Emit errors during
1944         early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
1946 2014-01-20  Uros Bizjak  <ubizjak@gmail.com>
1948         PR target/59685
1949         * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
1950         mode attribute in insn output.
1952 2014-01-20  Eric Botcazou  <ebotcazou@adacore.com>
1954         * output.h (output_constant): Delete.
1955         * varasm.c (output_constant): Make private.
1957 2014-01-20  Alex Velenko  <Alex.Velenko@arm.com>
1959         * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
1961 2014-01-20  Jakub Jelinek  <jakub@redhat.com>
1963         PR middle-end/59860
1964         * tree.h (fold_builtin_strcat): New prototype.
1965         * builtins.c (fold_builtin_strcat): No longer static.  Add len
1966         argument, if non-NULL, don't call c_strlen.  Optimize
1967         directly into __builtin_memcpy instead of __builtin_strcpy.
1968         (fold_builtin_2): Adjust fold_builtin_strcat caller.
1969         * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
1971 2014-01-20  Uros Bizjak  <ubizjak@gmail.com>
1973         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
1974         for SImode_address_operand operands, having only a REG argument.
1976 2014-01-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
1978         * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
1979         loader name using mbig-endian.
1980         (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
1982 2014-01-20  James Greenhalgh  <james.greenhalgh@arm.com>
1984         * doc/invoke.texi (-march): Clarify documentation for AArch64.
1985         (-mtune): Likewise.
1986         (-mcpu): Likewise.
1988 2014-01-20  Tejas Belagod  <tejas.belagod@arm.com>
1990         * config/aarch64/aarch64-protos.h
1991         (aarch64_cannot_change_mode_class_ptr): Declare.
1992         * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
1993         aarch64_cannot_change_mode_class_ptr): New.
1994         * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
1995         backend hook aarch64_cannot_change_mode_class.
1997 2014-01-20  James Greenhalgh  <james.greenhalgh@arm.com>
1999         * common/config/aarch64/aarch64-common.c
2000         (aarch64_handle_option): Don't handle any option order logic here.
2001         * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
2002         selected_cpu, warn on architecture version mismatch.
2003         (aarch64_override_options): Fix parsing order for option strings.
2005 2014-01-20  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
2006             Iain Sandoe  <iain@codesourcery.com>
2008         PR bootstrap/59496
2009         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
2010         warning.  Amend comment to reflect current functionality.
2012 2014-01-20  Richard Biener  <rguenther@suse.de>
2014         PR middle-end/59860
2015         * builtins.c (fold_builtin_strcat): Remove case better handled
2016         by tree-ssa-strlen.c.
2018 2014-01-20  Alan Lawrence  <alan.lawrence@arm.com>
2020         * config/aarch64/aarch64.opt
2021         (mcpu, march, mtune): Make case-insensitive.
2023 2014-01-20  Jakub Jelinek  <jakub@redhat.com>
2025         PR target/59880
2026         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
2027         if operands[1] is a REG or ZERO_EXTEND of a REG.
2029 2014-01-19  Jan Hubicka  <hubicka@ucw.cz>
2031         * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
2033 2014-01-19  John David Anglin  <danglin@gcc.gnu.org>
2035         * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
2036         long non-pic millicode calls.
2038 2014-01-19  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
2040         * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
2042 2014-01-19  Kito Cheng  <kito@0xlab.org>
2044         * builtins.c (expand_movstr): Check movstr expand done or fail.
2046 2014-01-18  Uros Bizjak  <ubizjak@gmail.com>
2047             H.J. Lu  <hongjiu.lu@intel.com>
2049         PR target/59379
2050         * config/i386/i386.md (*lea<mode>): Zero-extend return register
2051         to DImode for zero-extended addresses.
2053 2014-01-19  Jakub Jelinek  <jakub@redhat.com>
2055         PR rtl-optimization/57763
2056         * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
2057         on the new indirect jump_insn and increment LABEL_NUSES (label).
2059 2014-01-18  H.J. Lu  <hongjiu.lu@intel.com>
2061         PR bootstrap/59580
2062         PR bootstrap/59583
2063         * config.gcc (x86_archs): New variable.
2064         (x86_64_archs): Likewise.
2065         (x86_cpus): Likewise.
2066         Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
2067         --with-arch/--with-cpu= options.
2068         Support --with-arch=/--with-cpu={nehalem,westmere,
2069         sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
2071 2014-01-18  Uros Bizjak  <ubizjak@gmail.com>
2073         * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
2074         and PROCESSOR_ATHLON to simplify code.  Move "memory" calculation.
2076 2014-01-18  Uros Bizjak  <ubizjak@gmail.com>
2078         * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
2080 2014-01-18  Jakub Jelinek  <jakub@redhat.com>
2082         PR target/58944
2083         * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
2084         clear cpp_get_options (parse_in)->warn_unused_macros for
2085         ix86_target_macros_internal with cpp_define.
2087 2014-01-18  Richard Sandiford  <rdsandiford@googlemail.com>
2089         * jump.c (delete_related_insns): Keep (use (insn))s.
2090         * reorg.c (redundant_insn): Check for barriers too.
2092 2014-01-17  H.J. Lu  <hongjiu.lu@intel.com>
2094         * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
2096 2014-01-17  John David Anglin  <danglin@gcc.gnu.org>
2098         * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
2099         call to $$dyncall when TARGET_LONG_CALLS is true.
2101 2014-01-17  Jeff Law  <law@redhat.com>
2103         * ree.c (combine_set_extension): Temporarily disable test for
2104         changing number of hard registers.
2106 2014-01-17  Jan Hubicka  <hubicka@ucw.cz>
2108         PR middle-end/58125
2109         * ipa-inline-analysis.c (inline_free_summary):
2110         Do not free summary of aliases.
2112 2014-01-17  Jakub Jelinek  <jakub@redhat.com>
2114         PR middle-end/59706
2115         * gimplify.c (gimplify_expr): Use create_tmp_var
2116         instead of create_tmp_var_raw.  If cond doesn't have
2117         integral type, don't add the IFN_ANNOTATE builtin at all.
2119 2014-01-17  Martin Jambor  <mjambor@suse.cz>
2121         PR ipa/59736
2122         * ipa-cp.c (prev_edge_clone): New variable.
2123         (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
2124         Also resize prev_edge_clone vector.
2125         (ipcp_edge_duplication_hook): Also update prev_edge_clone.
2126         (ipcp_edge_removal_hook): New function.
2127         (ipcp_driver): Register ipcp_edge_removal_hook.
2129 2014-01-17  Andrew Pinski <apinski@cavium.com>
2130             Steve Ellcey  <sellcey@mips.com>
2132         PR target/59462
2133         * config/mips/mips.c (mips_print_operand): Check operand mode instead
2134         of operator mode.
2136 2014-01-17  Jeff Law  <law@redhat.com>
2138         PR middle-end/57904
2139         * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
2140         so that pass_ccp runs first.
2142 2014-01-17  H.J. Lu  <hongjiu.lu@intel.com>
2144         * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
2145         (ix86_adjust_cost): Use !TARGET_XXX.
2146         (do_reorder_for_imul): Likewise.
2147         (swap_top_of_ready_list): Likewise.
2148         (ix86_sched_reorder): Likewise.
2150 2014-01-17  H.J. Lu  <hongjiu.lu@intel.com>
2152         * config/i386/i386-c.c (ix86_target_macros_internal): Handle
2153         PROCESSOR_INTEL.  Treat like PROCESSOR_GENERIC.
2154         * config/i386/i386.c (intel_memcpy): New.  Duplicate slm_memcpy.
2155         (intel_memset): New.  Duplicate slm_memset.
2156         (intel_cost): New.  Duplicate slm_cost.
2157         (m_INTEL): New macro.
2158         (processor_target_table): Add "intel".
2159         (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
2160         with PROCESSOR_INTEL for "intel".
2161         (ix86_lea_outperforms): Support PROCESSOR_INTEL.  Duplicate
2162         PROCESSOR_SILVERMONT.
2163         (ix86_issue_rate): Likewise.
2164         (ix86_adjust_cost): Likewise.
2165         (ia32_multipass_dfa_lookahead): Likewise.
2166         (swap_top_of_ready_list): Likewise.
2167         (ix86_sched_reorder): Likewise.
2168         (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
2169         instead of TARGET_OPT_AGU.
2170         * config/i386/i386.h (TARGET_INTEL): New.
2171         (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
2172         (processor_type): Add PROCESSOR_INTEL.
2173         * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
2174         Add X86_TUNE_AVOID_LEA_FOR_ADDR.
2176 2014-01-17  Marek Polacek  <polacek@redhat.com>
2178         PR c/58346
2179         * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
2180         size is zero.
2182 2014-01-17  Richard Biener  <rguenther@suse.de>
2184         PR tree-optimization/46590
2185         * opts.c (default_options_table): Add entries for
2186         OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
2187         all enabled at -O1 but not for -Og.
2188         * common.opt (fbranch-count-reg): Remove Init(1).
2189         (fmove-loop-invariants): Likewise.
2190         (ftree-pta): Likewise.
2192 2014-01-17  Jakub Jelinek  <jakub@redhat.com>
2194         * config/i386/i386.c (ix86_data_alignment): For compatibility with
2195         (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
2196         decls to at least the GCC 4.8 used alignments.
2198         PR fortran/59440
2199         * tree-nested.c (convert_nonlocal_reference_stmt,
2200         convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
2201         of GIMPLE_BIND stmts, adjust associated decls.
2203 2014-01-17  Richard Biener  <rguenther@suse.de>
2205         PR tree-optimization/46590
2206         * vec.h (vec<>::bseach): New member function implementing
2207         binary search according to C89 bsearch.
2208         (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
2209         * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
2210         bitmap pointer again.  Make accesses_in_loop a flat array.
2211         (mem_ref_obstack): New global.
2212         (outermost_indep_loop): Adjust for mem_ref->stored changes.
2213         (mark_ref_stored): Likewise.
2214         (ref_indep_loop_p_2): Likewise.
2215         (set_ref_stored_in_loop): New helper function.
2216         (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
2217         (memref_free): Adjust.
2218         (record_mem_ref_loc): Simplify.
2219         (gather_mem_refs_stmt): Adjust.
2220         (sort_locs_in_loop_postorder_cmp): New function.
2221         (analyze_memory_references): Sort accesses_in_loop after
2222         loop postorder number.
2223         (find_ref_loc_in_loop_cmp): New function.
2224         (for_all_locs_in_loop): Find relevant cluster of locs in
2225         accesses_in_loop and iterate without recursion.
2226         (execute_sm): Avoid uninit warning.
2227         (struct ref_always_accessed): Simplify.
2228         (ref_always_accessed::operator ()): Likewise.
2229         (ref_always_accessed_p): Likewise.
2230         (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
2231         loop postorder numbers here.
2232         (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
2233         numbers.
2235 2014-01-17  Jan Hubicka  <hubicka@ucw.cz>
2237         PR c++/57945
2238         * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
2239         on decls for which assemble_alias has been called.
2241 2014-01-17  Nick Clifton  <nickc@redhat.com>
2243         * config/msp430/msp430.opt: (mcpu): New option.
2244         * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
2245         (msp430_option_override): Parse target_cpu.  If the MCU name
2246         matches a generic string, clear target_mcu.
2247         (msp430_attr): Allow numeric interrupt values up to 63.
2248         (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
2249         * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
2250         option.
2251         * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
2252         Add mcpu matches.
2253         * config/msp430/msp430.md (popm): Use %J rather than %I.
2254         (addsi3): Use msp430_nonimmediate_operand for operand 2.
2255         (addhi_cy_i): Use immediate_operand for operand 2.
2256         * doc/invoke.texi: Document -mcpu option.
2258 2014-01-17  Richard Biener  <rguenther@suse.de>
2260         PR rtl-optimization/38518
2261         * df.h (df_analyze_loop): Declare.
2262         * df-core.c: Include cfgloop.h.
2263         (df_analyze_1): Split out main part of df_analyze.
2264         (df_analyze): Adjust.
2265         (loop_inverted_post_order_compute): New function.
2266         (loop_post_order_compute): Likewise.
2267         (df_analyze_loop): New function avoiding whole-function
2268         postorder computes.
2269         * loop-invariant.c (find_defs): Use df_analyze_loop.
2270         (find_invariants): Adjust.
2271         * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
2273 2014-01-17  Zhenqiang Chen  <zhenqiang.chen@arm.com>
2275         * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
2276         (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
2278 2014-01-16  Ilya Enkovich  <ilya.enkovich@intel.com>
2280         * ipa-ref.c (ipa_remove_stmt_references): Fix references
2281         traversal when removing references.
2283 2014-01-16  Jan Hubicka  <hubicka@ucw.cz>
2285         PR ipa/59775
2286         * tree.c (get_binfo_at_offset): Look harder for virtual bases.
2288 2014-01-16  Bernd Schmidt  <bernds@codesourcery.com>
2290         PR middle-end/56791
2291         * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
2292         pushing a reload for an autoinc when we had previously reloaded an
2293         inner part of the address.
2295 2014-01-16  Jakub Jelinek  <jakub@redhat.com>
2297         * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
2298         field.
2299         (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
2300         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
2301         when not giving up or versioning for alias only because of
2302         loop->safelen.
2303         (vect_analyze_data_ref_dependences): Set to true.
2304         * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
2305         is a GIMPLE_PHI.
2306         (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
2307         LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
2308         to the condition.
2310         PR middle-end/58344
2311         * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
2313         PR target/59839
2314         * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
2315         operand 0 predicate for gathers, use a new pseudo as subtarget.
2317 2014-01-16  Vladimir Makarov  <vmakarov@redhat.com>
2319         PR middle-end/59609
2320         * lra-constraints.c (process_alt_operands): Add printing debug info.
2321         Check absence of input/output reloads for matched operands too.
2323 2014-01-16  Vladimir Makarov  <vmakarov@redhat.com>
2325         PR rtl-optimization/59835
2326         * ira.c (ira_init_register_move_cost): Increase cost for
2327         impossible modes.
2329 2014-01-16  Alan Lawrence  <alan.lawrence@arm.com>
2331         * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
2333 2014-01-16  Richard Earnshaw  <rearnsha@arm.com>
2335         PR target/59780
2336         * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
2337         non-register objects.  Use gen_(high/low)part more consistently.
2338         Fix assertions.
2340 2014-01-16  Michael Meissner  <meissner@linux.vnet.ibm.com>
2342         PR target/59844
2343         * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
2344         endian support, remove tests for WORDS_BIG_ENDIAN.
2345         (p8_mfvsrd_3_<mode>): Likewise.
2346         (reload_gpr_from_vsx<mode>): Likewise.
2347         (reload_gpr_from_vsxsf): Likewise.
2348         (p8_mfvsrd_4_disf): Likewise.
2350 2014-01-16  Richard Biener  <rguenther@suse.de>
2352         PR rtl-optimization/46590
2353         * lcm.c (compute_antinout_edge): Use postorder iteration.
2354         (compute_laterin): Use inverted postorder iteration.
2356 2014-01-16  Nick Clifton  <nickc@redhat.com>
2358         PR middle-end/28865
2359         * varasm.c (output_constant): Return the number of bytes actually
2360         emitted.
2361         (output_constructor_array_range): Update the field size with the
2362         number of bytes emitted by output_constant.
2363         (output_constructor_regular_field): Likewise.  Also do not
2364         complain if the total number of bytes emitted is now greater
2365         than the expected fieldpos.
2366         * output.h (output_constant): Update prototype and descriptive comment.
2368 2014-01-16  Marek Polacek  <polacek@redhat.com>
2370         PR middle-end/59827
2371         * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
2372         it is error_mark_node.
2374 2014-01-15  Uros Bizjak  <ubizjak@gmail.com>
2376         * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
2377         VALID_AVX256_REG_OR_OI_MODE.
2379 2014-01-15  Pat Haugen  <pthaugen@us.ibm.com>
2381         * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
2382         current procedure should be profiled.
2384 2014-01-15  Andrew Pinski  <apinski@cavium.com>
2386         * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
2387         of moving from/to the STACK_REG register class.
2389 2014-01-15  Richard Henderson <rth@redhat.com>
2391         PR debug/54694
2392         * reginfo.c (global_regs_decl): Globalize.
2393         * rtl.h (global_regs_decl): Declare.
2394         * ira.c (do_reload): Diagnose frame_pointer_needed and it
2395         reserved via global_regs.
2397 2014-01-15  Teresa Johnson  <tejohnson@google.com>
2399         * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
2401 2014-01-15  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>
2403         * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
2404         and vmulosh rather than call gen_vec_widen_smult_*.
2405         (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
2406         than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
2407         (vec_widen_smult_even_v16qi): Likewise.
2408         (vec_widen_umult_even_v8hi): Likewise.
2409         (vec_widen_smult_even_v8hi): Likewise.
2410         (vec_widen_umult_odd_v16qi): Likewise.
2411         (vec_widen_smult_odd_v16qi): Likewise.
2412         (vec_widen_umult_odd_v8hi): Likewise.
2413         (vec_widen_smult_odd_v8hi): Likewise.
2414         (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
2415         vmuloub rather than call gen_vec_widen_umult_*.
2416         (vec_widen_umult_lo_v16qi): Likewise.
2417         (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
2418         vmulosb rather than call gen_vec_widen_smult_*.
2419         (vec_widen_smult_lo_v16qi): Likewise.
2420         (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
2421         rather than call gen_vec_widen_umult_*.
2422         (vec_widen_umult_lo_v8hi): Likewise.
2423         (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
2424         rather than call gen_vec_widen_smult_*.
2425         (vec_widen_smult_lo_v8hi): Likewise.
2427 2014-01-15  Jeff Law  <law@redhat.com>
2429         PR tree-optimization/59747
2430         * ree.c (find_and_remove_re): Properly handle case where a second
2431         eliminated extension requires widening a copy created for elimination
2432         of a prior extension.
2433         (combine_set_extension): Ensure that the number of hard regs needed
2434         for a destination register does not change when we widen it.
2436 2014-01-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2438         * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
2439         (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
2440         (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
2441         (arm*-*-rtems*): Use t-rtems from existing tmake_file.
2442         (avr-*-rtems*): Likewise.
2443         (bfin*-rtems*): Likewise.
2444         (moxie-*-rtems*): Likewise.
2445         (h8300-*-rtems*): Likewise.
2446         (i[34567]86-*-rtems*): Likewise.
2447         (lm32-*-rtems*): Likewise.
2448         (m32r-*-rtems*): Likewise.
2449         (m68k-*-rtems*): Likewise.
2450         (microblaze*-*-rtems*): Likewise.
2451         (mips*-*-rtems*): Likewise.
2452         (powerpc-*-rtems*): Likewise.
2453         (sh-*-rtems*): Likewise.
2454         (sparc-*-rtems*): Likewise.
2455         (sparc64-*-rtems*): Likewise.
2456         (v850-*-rtems*): Likewise.
2457         (m32c-*-rtems*): Likewise.
2459 2014-01-15  Vladimir Makarov  <vmakarov@redhat.com>
2461         PR rtl-optimization/59511
2462         * ira.c (ira_init_register_move_cost): Use memory costs for some
2463         cases of register move cost calculations.
2464         * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
2465         instead of BB frequency.
2466         * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
2467         * lra-assigns.c (find_hard_regno_for): Ditto.
2469 2014-01-15  Richard Biener  <rguenther@suse.de>
2471         PR tree-optimization/59822
2472         * tree-vect-stmts.c (hoist_defs_of_uses): New function.
2473         (vectorizable_load): Use it to hoist defs of uses of invariant
2474         loads out of the loop.
2476 2014-01-15  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
2477             Kugan Vivekanandarajah  <kuganv@linaro.org>
2479         PR target/59695
2480         * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
2481         truncation.
2483 2014-01-15  Richard Biener  <rguenther@suse.de>
2485         PR rtl-optimization/59802
2486         * lcm.c (compute_available): Use inverted postorder to seed
2487         the initial worklist.
2489 2014-01-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2491         PR target/59803
2492         * config/s390/s390.c (s390_preferred_reload_class): Don't return
2493         ADDR_REGS for invalid symrefs in non-PIC code.
2495 2014-01-15  Jakub Jelinek  <jakub@redhat.com>
2497         PR other/58712
2498         * builtins.c (determine_block_size): Initialize *probable_max_size
2499         even if len_rtx is CONST_INT.
2501 2014-01-14  Andrew Pinski  <apinski@cavium.com>
2503         * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
2504         * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
2505         (cortexa53_tunings): Likewise.
2506         (aarch64_sched_issue_rate): New function.
2507         (TARGET_SCHED_ISSUE_RATE): Define.
2509 2014-01-14  Vladimir Makarov  <vmakarov@redhat.com>
2511         * ira-costs.c (find_costs_and_classes): Add missed
2512         ira_init_register_move_cost_if_necessary.
2514 2014-01-14  Vladimir Makarov  <vmakarov@redhat.com>
2516         PR target/59787
2517         * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
2519 2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
2521         PR target/59794
2522         * config/i386/i386.c (type_natural_mode): Add a bool parameter
2523         to indicate if type is used for function return value.  Warn ABI
2524         change if the vector mode isn't available for function return value.
2525         (ix86_function_arg_advance): Pass false to type_natural_mode.
2526         (ix86_function_arg): Likewise.
2527         (ix86_gimplify_va_arg): Likewise.
2528         (function_arg_32): Don't warn ABI change.
2529         (ix86_function_value): Pass true to type_natural_mode.
2530         (ix86_return_in_memory): Likewise.
2531         (ix86_struct_value_rtx): Removed.
2532         (TARGET_STRUCT_VALUE_RTX): Likewise.
2534 2014-01-14  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
2536         * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
2537         converting a conditional jump into a conditional return.
2539 2014-01-14  Richard Biener  <rguenther@suse.de>
2541         PR tree-optimization/58921
2542         PR tree-optimization/59006
2543         * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
2544         hoisting invariant stmts.
2545         * tree-vect-stmts.c (vectorizable_load): Insert the splat of
2546         invariant loads on the preheader edge if possible.
2548 2014-01-14  Joey Ye  <joey.ye@arm.com>
2550         * doc/plugin.texi (Building GCC plugins): Update to C++.
2552 2014-01-14  Kirill Yukhin  <kirill.yukhin@intel.com>
2554         * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
2555         (_mm_rcp28_round_ss): Ditto.
2556         (_mm_rsqrt28_round_sd): Ditto.
2557         (_mm_rsqrt28_round_ss): Ditto.
2558         (_mm_rcp28_sd): Ditto.
2559         (_mm_rcp28_ss): Ditto.
2560         (_mm_rsqrt28_sd): Ditto.
2561         (_mm_rsqrt28_ss): Ditto.
2562         * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
2563         * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
2564         * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
2565         (IX86_BUILTIN_RCP28SD): Ditto.
2566         (IX86_BUILTIN_RCP28SS): Ditto.
2567         (IX86_BUILTIN_RSQRT28SD): Ditto.
2568         (IX86_BUILTIN_RSQRT28SS): Ditto.
2569         (bdesc_special_args): Define __builtin_ia32_movntdqa512,
2570         __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
2571         __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
2572         (ix86_expand_special_args_builtin): Expand new FTYPE.
2573         * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
2574         (srcp14<mode>): Make insn unary.
2575         (avx512f_vmscalef<mode><round_name>): Use substed predicate.
2576         (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
2577         (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
2578         (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
2579         (avx512er_exp2<mode><mask_name><round_saeonly_name>):
2580         Fix rounding: make it SAE only.
2581         (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
2582         Ditto.
2583         (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
2584         Ditto.
2585         (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
2586         (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
2587         (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
2588         * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
2589         (round_saeonly_mask_scalar_operand4): Ditto.
2590         (round_saeonly_mask_scalar_op3): Ditto.
2591         (round_saeonly_mask_scalar_op4): Ditto.
2593 2014-01-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2595         * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
2596         Implement -maltivec=be for vec_insert and vec_extract.
2598 2014-01-10  DJ Delorie  <dj@redhat.com>
2600         * config/msp430/msp430.md (call_internal): Don't allow memory
2601         references with SP as the base register.
2602         (call_value_internal): Likewise.
2603         * config/msp430/constraints.md (Yc): New.  For memory references
2604         that don't use SP as a base register.
2606         * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
2607         "an integer without a # prefix"
2608         * config/msp430/msp430.md (epilogue_helper): Use it.
2610 2014-01-13  Jakub Jelinek  <jakub@redhat.com>
2612         PR target/59617
2613         * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
2614         AVX512F gather builtins.
2615         * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
2616         on gather decls with INTEGER_TYPE masktype.
2617         (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
2618         directly into the builtin rather than hoisting it before loop.
2620         PR tree-optimization/59387
2621         * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
2622         (scev_const_prop): If folded_casts and type has undefined overflow,
2623         use force_gimple_operand instead of force_gimple_operand_gsi and
2624         for each added stmt if it is assign with
2625         arith_code_with_undefined_signed_overflow, call
2626         rewrite_to_defined_overflow.
2627         * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
2628         gimple-fold.h instead.
2629         (arith_code_with_undefined_signed_overflow,
2630         rewrite_to_defined_overflow): Moved to ...
2631         * gimple-fold.c (arith_code_with_undefined_signed_overflow,
2632         rewrite_to_defined_overflow): ... here.  No longer static.
2633         Include gimplify-me.h.
2634         * gimple-fold.h (arith_code_with_undefined_signed_overflow,
2635         rewrite_to_defined_overflow): New prototypes.
2637 2014-01-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2639         * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
2641 2014-01-13  Eric Botcazou  <ebotcazou@adacore.com>
2643         * builtins.c (get_object_alignment_2): Minor tweak.
2644         * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
2646 2014-01-13  Christian Bruel  <christian.bruel@st.com>
2648         * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
2649         optimized non constant lengths.
2651 2014-01-13  Jakub Jelinek  <jakub@redhat.com>
2653         PR libgomp/59194
2654         * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
2655         load as __atomic_load_N if possible.
2657 2014-01-11  David Edelsohn  <dje.gcc@gmail.com>
2659         * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
2660         target parameter.
2661         (rs6000_expand_builtin): Adjust call.
2663 2014-01-11  David Edelsohn  <dje.gcc@gmail.com>
2665         PR target/58115
2666         * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
2667         * config/rs6000/rs6000.c: Include target-globals.h.
2668         (rs6000_set_current_function): Instead of doing target_reinit
2669         unconditionally, use save_target_globals_default_opts and
2670         restore_target_globals.
2672         * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
2673         FPSCR.
2674         * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
2675         (rs6000_expand_builtin): Handle mffs and mtfsf.
2676         (rs6000_init_builtins): Define mffs and mtfsf.
2677         * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
2678         (rs6000_mffs): New pattern.
2679         (rs6000_mtfsf): New pattern.
2681 2014-01-11  Bin Cheng  <bin.cheng@arm.com>
2683         * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
2684         Start narrowing with START.  Apply candidate-use pair
2685         and check overall cost in narrowing.
2686         (iv_ca_prune): Pass new argument.
2688 2014-01-10  Jeff Law  <law@redhat.com>
2690         PR middle-end/59743
2691         * ree.c (combine_reaching_defs): Ensure the defining statement
2692         occurs before the extension when optimizing extensions with
2693         different source and destination hard registers.
2695 2014-01-10  Jan Hubicka  <hubicka@ucw.cz>
2697         PR ipa/58585
2698         * ipa-devirt.c (build_type_inheritance_graph): Also add types of
2699         vtables into the type inheritance graph.
2701 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
2703         PR rtl-optimization/59754
2704         * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
2705         modes in the REGNO != REGNO case.
2707 2014-01-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2709         * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
2711 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
2713         PR tree-optimization/59745
2714         * tree-predcom.c (tree_predictive_commoning_loop): Call
2715         free_affine_expand_cache if giving up because components is NULL.
2717         * target-globals.c (save_target_globals): Allocate < 4KB structs using
2718         GC in payload of target_globals struct instead of allocating them on
2719         the heap and the larger structs separately using GC.
2720         * target-globals.h (struct target_globals): Make regs, hard_regs,
2721         reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
2722         of GTY((skip)) and change type to void *.
2723         (reset_target_globals): Cast loads from those fields to corresponding
2724         types.
2726 2014-01-10  Steve Ellcey  <sellcey@mips.com>
2728         PR plugins/59335
2729         * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
2730         gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
2731         tree-ssanames.h, print-tree.h, varasm.h, and context.h.
2733 2014-01-10  Richard Earnshaw  <rearnsha@arm.com>
2735         PR target/59744
2736         * aarch64-modes.def (CC_Zmode): New flags mode.
2737         * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
2738         represents an equality.
2739         (aarch64_get_condition_code): Handle CC_Zmode.
2740         * aarch64.md (compare_neg<mode>): Restrict to equality operations.
2742 2014-01-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2744         * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
2745         extraction in good case.
2747 2014-01-10  Richard Biener  <rguenther@suse.de>
2749         PR tree-optimization/59374
2750         * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
2751         checking after SLP discovery.  Mark stmts not participating
2752         in any SLP instance properly.
2754 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2756         * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
2757         when handling a SET rtx.
2759 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2761         * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
2762         (cortex-a57): Likewise.
2763         (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
2765 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2767         * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
2768         non-iwmmxt builtins.
2770 2014-01-10  Jan Hubicka  <hubicka@ucw.cz>
2772         PR ipa/58252
2773         PR ipa/59226
2774         * ipa-devirt.c record_target_from_binfo): Take as argument
2775         stack of binfos and lookup matching one for virtual inheritance.
2776         (possible_polymorphic_call_targets_1): Update.
2778 2014-01-10  Huacai Chen  <chenhc@lemote.com>
2780         * config/mips/driver-native.c (host_detect_local_cpu): Handle new
2781         kernel strings for Loongson-2E/2F/3A.
2783 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
2785         PR middle-end/59670
2786         * tree-vect-data-refs.c (vect_analyze_data_refs): Check
2787         is_gimple_call before calling gimple_call_internal_p.
2789 2014-01-09  Steve Ellcey  <sellcey@mips.com>
2791         * Makefile.in (TREE_FLOW_H): Remove.
2792         (TREE_SSA_H): Add file names from tree-flow.h.
2793         * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
2794         * tree.h: Remove tree-flow.h reference.
2795         * hash-table.h: Remove tree-flow.h reference.
2796         * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
2797         reference with tree-ssa-loop.h.
2799 2014-01-09  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2801         * doc/invoke.texi: Add -maltivec={be,le} options, and document
2802         default element-order behavior for -maltivec.
2803         * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
2804         * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
2805         that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
2806         when targeting big endian, at least for now.
2807         * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
2809 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
2811         PR middle-end/47735
2812         * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
2813         var satisfies use_register_for_decl, just take into account type
2814         alignment, rather than decl alignment.
2816         PR tree-optimization/59622
2817         * gimple-fold.c (gimple_fold_call): Fix a typo in message.  For
2818         __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
2819         __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
2820         Don't devirtualize for inplace at all.  For targets.length () == 1,
2821         if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
2823 2014-01-09  H.J. Lu  <hongjiu.lu@intel.com>
2825         * config/i386/i386.md (cpu): Remove the unused btver1.
2827 2014-01-09  H.J. Lu  <hongjiu.lu@intel.com>
2829         * gdbasan.in: Put a breakpoint on __sanitizer::Report.
2831 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
2833         PR target/58115
2834         * tree-core.h (struct target_globals): New forward declaration.
2835         (struct tree_target_option): Add globals field.
2836         * tree.h (TREE_TARGET_GLOBALS): Define.
2837         (prepare_target_option_nodes_for_pch): New prototype.
2838         * target-globals.h (struct target_globals): Define even if
2839         !SWITCHABLE_TARGET.
2840         * tree.c (prepare_target_option_node_for_pch,
2841         prepare_target_option_nodes_for_pch): New functions.
2842         * config/i386/i386.h (SWITCHABLE_TARGET): Define.
2843         * config/i386/i386.c: Include target-globals.h.
2844         (ix86_set_current_function): Instead of doing target_reinit
2845         unconditionally, use save_target_globals_default_opts and
2846         restore_target_globals.
2848 2014-01-09  Richard Biener  <rguenther@suse.de>
2850         PR tree-optimization/59715
2851         * tree-cfg.h (split_critical_edges): Declare.
2852         * tree-cfg.c (split_critical_edges): Export.
2853         * tree-ssa-sink.c (execute_sink_code): Split critical edges.
2855 2014-01-09  Max Ostapenko  <m.ostapenko@partner.samsung.com>
2857         * cfgexpand.c (expand_stack_vars): Optionally disable
2858         asan stack protection.
2859         (expand_used_vars): Likewise.
2860         (partition_stack_vars): Likewise.
2861         * asan.c (asan_emit_stack_protection): Optionally disable
2862         after return stack usage.
2863         (instrument_derefs): Optionally disable memory access instrumentation.
2864         (instrument_builtin_call): Likewise.
2865         (instrument_strlen_call): Likewise.
2866         (asan_protect_global): Optionally disable global variables protection.
2867         * doc/invoke.texi: Added doc for new options.
2868         * params.def: Added new options.
2869         * params.h: Likewise.
2871 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
2873         PR rtl-optimization/59724
2874         * ifcvt.c (cond_exec_process_if_block): Don't call
2875         flow_find_head_matching_sequence with 0 longest_match.
2876         * cfgcleanup.c (flow_find_head_matching_sequence): Count even
2877         non-active insns if !stop_after.
2878         (try_head_merge_bb): Revert 2014-01-07 changes.
2880 2014-01-08  Jeff Law  <law@redhat.com>
2882         * ree.c (get_sub_rtx): New function, extracted from...
2883         (merge_def_and_ext): Here.
2884         (combine_reaching_defs): Use get_sub_rtx.
2886 2014-01-08  Eric Botcazou  <ebotcazou@adacore.com>
2888         * cgraph.h (varpool_variable_node): Do not choke on null node.
2890 2014-01-08  Catherine Moore  <clm@codesourcery.com>
2892         * config/mips/mips.md (simple_return): Attempt to use JRC
2893         for microMIPS.
2894         * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
2896 2014-01-08  Richard Sandiford  <rdsandiford@googlemail.com>
2898         PR rtl-optimization/59137
2899         * reorg.c (steal_delay_list_from_target): Call update_block for
2900         elided insns.
2901         (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
2903 2014-01-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2905         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
2906         two duplicate entries.
2908 2014-01-08  Richard Sandiford  <rdsandiford@googlemail.com>
2910         Revert:
2911         2012-10-07  Richard Sandiford  <rdsandiford@googlemail.com>
2913         * config/mips/mips.c (mips_truncated_op_cost): New function.
2914         (mips_rtx_costs): Adjust test for BADDU.
2915         * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
2917         2012-10-02  Richard Sandiford  <rdsandiford@googlemail.com>
2919         * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
2920         (*baddu_si): ...this new pattern.
2922 2014-01-08  Jakub Jelinek  <jakub@redhat.com>
2924         PR ipa/59722
2925         * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
2927 2014-01-08  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2929         PR middle-end/57748
2930         * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
2931         inner_reference_p.
2932         (expand_expr, expand_normal): Adjust.
2933         * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
2934         inner_reference_p. Use inner_reference_p to expand inner references.
2935         (store_expr): Adjust.
2936         * cfgexpand.c (expand_call_stmt): Adjust.
2938 2014-01-08  Rong Xu  <xur@google.com>
2940         * gcov-io.c (gcov_var): Move from gcov-io.h.
2941         (gcov_position): Ditto.
2942         (gcov_is_error): Ditto.
2943         (gcov_rewrite): Ditto.
2944         * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
2945         only part to libgcc/libgcov.h.
2947 2014-01-08  Marek Polacek  <polacek@redhat.com>
2949         PR middle-end/59669
2950         * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
2952 2014-01-08  Marek Polacek  <polacek@redhat.com>
2954         PR sanitizer/59667
2955         * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
2957 2014-01-08  Jakub Jelinek  <jakub@redhat.com>
2959         PR rtl-optimization/59649
2960         * stor-layout.c (get_mode_bounds): For BImode return
2961         0 and STORE_FLAG_VALUE.
2963 2014-01-08  Richard Biener  <rguenther@suse.de>
2965         PR middle-end/59630
2966         * gimple.h (is_gimple_builtin_call): Remove.
2967         (gimple_builtin_call_types_compatible_p): New.
2968         (gimple_call_builtin_p): New overload.
2969         * gimple.c (is_gimple_builtin_call): Remove.
2970         (validate_call): Rename to ...
2971         (gimple_builtin_call_types_compatible_p): ... this and export.  Also
2972         check return types.
2973         (validate_type): New static function.
2974         (gimple_call_builtin_p): New overload and adjust.
2975         * gimple-fold.c (gimple_fold_builtin): Fold the return value.
2976         (gimple_fold_call): Likewise.  Use gimple_call_builtin_p.
2977         (gimple_fold_stmt_to_constant_1): Likewise.
2978         * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
2980 2014-01-08  Richard Biener  <rguenther@suse.de>
2982         PR middle-end/59471
2983         * gimplify.c (gimplify_expr): Gimplify register-register type
2984         VIEW_CONVERT_EXPRs to separate stmts.
2986 2014-01-07  Jeff Law  <law@redhat.com>
2988         PR middle-end/53623
2989         * ree.c (combine_set_extension): Handle case where source
2990         and destination registers in an extension insn are different.
2991         (combine_reaching_defs): Allow source and destination registers
2992         in extension to be different under limited circumstances.
2993         (add_removable_extension): Remove restriction that the
2994         source and destination registers in the extension are the same.
2995         (find_and_remove_re): Emit a copy from the extension's
2996         destination to its source after the defining insn if
2997         the source and destination registers are different.
2999         PR middle-end/59285
3000         * ifcvt.c (merge_if_block): If we are merging a block with more than
3001         one successor with a block with no successors, remove any BARRIER
3002         after the second block.
3004 2014-01-07  Dan Xio Qiang <ziyan01@163.com>
3006         * hw-doloop.c (reorg_loops): Release the bitmap obstack.
3008 2014-01-07  John David Anglin  <danglin@gcc.gnu.org>
3010         PR target/59652
3011         * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
3012         for 14-bit register offsets when INT14_OK_STRICT is false.
3014 2014-01-07  Roland Stigge  <stigge@antcom.de>
3015             Michael Meissner  <meissner@linux.vnet.ibm.com>
3017         PR 57386/target
3018         * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
3019         Only check TFmode for SPE constants.  Don't check TImode or TDmode.
3021 2014-01-07  James Greenhalgh  <james.greenhalgh@arm.com>
3023         * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
3024         -mcpu.
3026 2014-01-07  Yufeng Zhang  <yufeng.zhang@arm.com>
3028         * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
3029         with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
3030         rtx is const0_rtx or not.
3032 2014-01-07  Richard Sandiford  <rdsandiford@googlemail.com>
3034         PR target/58115
3035         * target-globals.c (save_target_globals): Remove this_fn_optab
3036         handling.
3037         * toplev.c: Include optabs.h.
3038         (target_reinit): Temporarily restore the global options if another
3039         set of options are in force.
3041 2014-01-07  Jakub Jelinek  <jakub@redhat.com>
3043         PR rtl-optimization/58668
3044         * cfgcleanup.c (flow_find_cross_jump): Don't count
3045         any jumps if dir_p is NULL.  Remove p1 variable, use active_insn_p
3046         to determine what is counted.
3047         (flow_find_head_matching_sequence): Use active_insn_p to determine
3048         what is counted.
3049         (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
3050         counting change.
3051         * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
3052         determine what is counted.
3054         PR tree-optimization/59643
3055         * tree-predcom.c (split_data_refs_to_components): If one dr is
3056         read and one write, determine_offset fails and the write isn't
3057         in the bad component, just put the read into the bad component.
3059 2014-01-07  Mike Stump  <mikestump@comcast.net>
3060             Jakub Jelinek  <jakub@redhat.com>
3062         PR pch/59436
3063         * tree-core.h (struct tree_optimization_option): Change optabs
3064         type from unsigned char * to void *.
3065         * optabs.c (init_tree_optimization_optabs): Adjust
3066         TREE_OPTIMIZATION_OPTABS initialization.
3068 2014-01-06  Jakub Jelinek  <jakub@redhat.com>
3070         PR target/59644
3071         * config/i386/i386.h (struct machine_function): Add
3072         no_drap_save_restore field.
3073         * config/i386/i386.c (ix86_save_reg): Use
3074         !cfun->machine->no_drap_save_restore instead of
3075         crtl->stack_realign_needed.
3076         (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
3077         this function clears frame_pointer_needed.  Set
3078         cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
3079         and DRAP reg is needed.
3081 2014-01-06  Marek Polacek  <polacek@redhat.com>
3083         PR c/57773
3084         * doc/implement-c.texi: Mention that other integer types are
3085         permitted as bit-field types in strictly conforming mode.
3087 2014-01-06  Felix Yang  <fei.yang0953@gmail.com>
3089         * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
3090         is newly allocated.
3092 2014-01-06  Richard Earnshaw  <rearnsha@arm.com>
3094         * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
3096 2014-01-06  Martin Jambor  <mjambor@suse.cz>
3098         PR ipa/59008
3099         * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
3100         to int.
3101         * ipa-prop.c (ipa_print_node_params): Fix indentation.
3103 2014-01-06  Eric Botcazou  <ebotcazou@adacore.com>
3105         PR debug/59350
3106         PR debug/59510
3107         * var-tracking.c (add_stores): Preserve the value of the source even if
3108         we don't record the store.
3110 2014-01-06  Terry Guo  <terry.guo@arm.com>
3112         * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
3114 2014-01-05  Iain Sandoe  <iain@codesourcery.com>
3116         PR bootstrap/59541
3117         * config/darwin.c (darwin_function_section): Adjust return values to
3118         correspond to optimisation changes made in r206070.
3120 2014-01-05  Uros Bizjak  <ubizjak@gmail.com>
3122         * config/i386/i386.c (ix86_data_alignment): Calculate max_align
3123         from prefetch_block tune setting.
3124         (nocona_cost): Correct size of prefetch block to 64.
3126 2014-01-04  Eric Botcazou  <ebotcazou@adacore.com>
3128         * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
3129         (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
3130         used to save the static chain register in the computation of the offset
3131         from which the FP registers need to be restored.
3133 2014-01-04  Jakub Jelinek  <jakub@redhat.com>
3135         PR tree-optimization/59519
3136         * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
3137         ICE if get_current_def (current_new_name) is already non-NULL, as long
3138         as it is a phi result of some other phi in *new_exit_bb that has
3139         the same argument.
3141         * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
3142         or vmovdqu* for misaligned_operand.
3143         (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
3144         <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
3145         * config/i386/i386.c (ix86_expand_special_args_builtin): Set
3146         aligned_mem for AVX512F masked aligned load and store builtins and for
3147         non-temporal moves.
3149 2014-01-03  Bingfeng Mei  <bmei@broadcom.com>
3151         PR tree-optimization/59651
3152         * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
3153         Address range for negative step should be added by TYPE_SIZE_UNIT.
3155 2014-01-03  Andreas Schwab  <schwab@linux-m68k.org>
3157         * config/m68k/m68k.c (handle_move_double): Handle pushes with
3158         overlapping registers also for registers other than the stack pointer.
3160 2014-01-03  Marek Polacek  <polacek@redhat.com>
3162         PR other/59661
3163         * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
3164         __builtin_FILE.
3166 2014-01-03  Jakub Jelinek  <jakub@redhat.com>
3168         PR target/59625
3169         * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
3170         asm goto as jump.
3172         * config/i386/i386.md (MODE_SIZE): New mode attribute.
3173         (push splitter): Use <P:MODE_SIZE> instead of
3174         GET_MODE_SIZE (<P:MODE>mode).
3175         (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
3176         (mov -1, reg peephole2): Likewise.
3177         * config/i386/sse.md (*mov<mode>_internal,
3178         <sse>_storeu<ssemodesuffix><avxsizesuffix>,
3179         <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
3180         *<code><mode>3, *andnot<mode>3<mask_name>,
3181         <mask_codefor><code><mode>3<mask_name>): Likewise.
3182         * config/i386/subst.md (mask_mode512bit_condition,
3183         sd_mask_mode512bit_condition): Likewise.
3185 2014-01-02  Xinliang David Li  <davidxl@google.com>
3187         PR tree-optimization/59303
3188         * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
3189         (dump_predicates): Better output format.
3190         (pred_equal_p): New function.
3191         (is_neq_relop_p): Ditto.
3192         (is_neq_zero_form_p): Ditto.
3193         (pred_expr_equal_p): Ditto.
3194         (pred_neg_p): Ditto.
3195         (simplify_pred): Ditto.
3196         (simplify_preds_2): Ditto.
3197         (simplify_preds_3): Ditto.
3198         (simplify_preds_4): Ditto.
3199         (simplify_preds): Ditto.
3200         (push_pred): Ditto.
3201         (push_to_worklist): Ditto.
3202         (get_pred_info_from_cmp): Ditto.
3203         (is_degenerated_phi): Ditto.
3204         (normalize_one_pred_1): Ditto.
3205         (normalize_one_pred): Ditto.
3206         (normalize_one_pred_chain): Ditto.
3207         (normalize_preds): Ditto.
3208         (normalize_cond_1): Remove function.
3209         (normalize_cond): Ditto.
3210         (is_gcond_subset_of): Ditto.
3211         (is_subset_of_any): Ditto.
3212         (is_or_set_subset_of): Ditto.
3213         (is_and_set_subset_of): Ditto.
3214         (is_norm_cond_subset_of): Ditto.
3215         (pred_chain_length_cmp): Ditto.
3216         (convert_control_dep_chain_into_preds): Type change.
3217         (find_predicates): Ditto.
3218         (find_def_preds): Ditto.
3219         (destroy_predicates_vecs): Ditto.
3220         (find_matching_predicates_in_rest_chains): Ditto.
3221         (use_pred_not_overlap_with_undef_path_pred): Ditto.
3222         (is_pred_expr_subset): Ditto.
3223         (is_pred_chain_subset_of): Ditto.
3224         (is_included_in): Ditto.
3225         (is_superset_of): Ditto.
3227 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
3229         Update copyright years.
3231 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
3233         * common/config/arc/arc-common.c, config/arc/arc-modes.def,
3234         config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
3235         config/arc/arc.md, config/arc/arc.opt,
3236         config/arm/arm_neon_builtins.def, config/arm/crypto.def,
3237         config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
3238         config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
3239         config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
3240         config/linux-protos.h, config/linux.c, config/winnt-c.c,
3241         diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
3242         vtable-verify.c, vtable-verify.h: Use the standard form for the
3243         copyright notice.
3245 2014-01-02  Tobias Burnus  <burnus@net-b.de>
3247         * gcc.c (process_command): Update copyright notice dates.
3248         * gcov-dump.c: Ditto.
3249         * gcov.c: Ditto.
3250         * doc/cpp.texi: Bump @copying's copyright year.
3251         * doc/cppinternals.texi: Ditto.
3252         * doc/gcc.texi: Ditto.
3253         * doc/gccint.texi: Ditto.
3254         * doc/gcov.texi: Ditto.
3255         * doc/install.texi: Ditto.
3256         * doc/invoke.texi: Ditto.
3258 2014-01-01  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
3260         * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
3262 2014-01-01  Jakub Jelinek  <jakub@redhat.com>
3264         * config/i386/sse.md (*mov<mode>_internal): Guard
3265         EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
3267         PR rtl-optimization/59647
3268         * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
3269         new_rtx into UNSIGNED_FLOAT rtxes.
3271 Copyright (C) 2014 Free Software Foundation, Inc.
3273 Copying and distribution of this file, with or without modification,
3274 are permitted in any medium without royalty provided the copyright
3275 notice and this notice are preserved.