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