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