1 2014-01-09 Richard Biener <rguenther@suse.de>
3 PR tree-optimization/59715
4 * tree-cfg.h (split_critical_edges): Declare.
5 * tree-cfg.c (split_critical_edges): Export.
6 * tree-ssa-sink.c (execute_sink_code): Split critical edges.
8 2014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com>
10 * cfgexpand.c (expand_stack_vars): Optionally disable
11 asan stack protection.
12 (expand_used_vars): Likewise.
13 (partition_stack_vars): Likewise.
14 * asan.c (asan_emit_stack_protection): Optionally disable
15 after return stack usage.
16 (instrument_derefs): Optionally disable memory
17 access instrumentation.
18 (instrument_builtin_call): Likewise.
19 (instrument_strlen_call): Likewise.
20 (asan_protect_global): Optionally disable
21 global variables protection.
22 * doc/invoke.texi: Added doc for new options.
23 * params.def: Added new options.
26 2014-01-09 Jakub Jelinek <jakub@redhat.com>
28 PR rtl-optimization/59724
29 * ifcvt.c (cond_exec_process_if_block): Don't call
30 flow_find_head_matching_sequence with 0 longest_match.
31 * cfgcleanup.c (flow_find_head_matching_sequence): Count even
32 non-active insns if !stop_after.
33 (try_head_merge_bb): Revert 2014-01-07 changes.
35 2014-01-08 Jeff Law <law@redhat.com>
37 * ree.c (get_sub_rtx): New function, extracted from...
38 (merge_def_and_ext): Here.
39 (combine_reaching_defs): Use get_sub_rtx.
41 2014-01-08 Eric Botcazou <ebotcazou@adacore.com>
43 * cgraph.h (varpool_variable_node): Do not choke on null node.
45 2014-01-08 Catherine Moore <clm@codesourcery.com>
47 * config/mips/mips.md (simple_return): Attempt to use JRC for microMIPS.
48 * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
50 2014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
52 PR rtl-optimization/59137
53 * reorg.c (steal_delay_list_from_target): Call update_block for
55 (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
57 2014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
59 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
60 two duplicate entries.
62 2014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
65 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
67 * config/mips/mips.c (mips_truncated_op_cost): New function.
68 (mips_rtx_costs): Adjust test for BADDU.
69 * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
71 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
73 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
74 (*baddu_si): ...this new pattern.
76 2014-01-08 Jakub Jelinek <jakub@redhat.com>
79 * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
81 2014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
84 * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
86 (expand_expr, expand_normal): Adjust.
87 * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
88 inner_reference_p. Use inner_reference_p to expand inner references.
90 * cfgexpand.c (expand_call_stmt): Adjust.
92 2014-01-08 Rong Xu <xur@google.com>
94 * gcov-io.c (gcov_var): Move from gcov-io.h.
95 (gcov_position): Ditto.
96 (gcov_is_error): Ditto.
97 (gcov_rewrite): Ditto.
98 * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
99 only part to libgcc/libgcov.h.
101 2014-01-08 Marek Polacek <polacek@redhat.com>
104 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
106 2014-01-08 Marek Polacek <polacek@redhat.com>
109 * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
111 2014-01-08 Jakub Jelinek <jakub@redhat.com>
113 PR rtl-optimization/59649
114 * stor-layout.c (get_mode_bounds): For BImode return
115 0 and STORE_FLAG_VALUE.
117 2014-01-08 Richard Biener <rguenther@suse.de>
120 * gimple.h (is_gimple_builtin_call): Remove.
121 (gimple_builtin_call_types_compatible_p): New.
122 (gimple_call_builtin_p): New overload.
123 * gimple.c (is_gimple_builtin_call): Remove.
124 (validate_call): Rename to ...
125 (gimple_builtin_call_types_compatible_p): ... this and export. Also
127 (validate_type): New static function.
128 (gimple_call_builtin_p): New overload and adjust.
129 * gimple-fold.c (gimple_fold_builtin): Fold the return value.
130 (gimple_fold_call): Likewise. Use gimple_call_builtin_p.
131 (gimple_fold_stmt_to_constant_1): Likewise.
132 * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
134 2014-01-08 Richard Biener <rguenther@suse.de>
137 * gimplify.c (gimplify_expr): Gimplify register-register type
138 VIEW_CONVERT_EXPRs to separate stmts.
140 2014-01-07 Jeff Law <law@redhat.com>
143 * ree.c (combine_set_extension): Handle case where source
144 and destination registers in an extension insn are different.
145 (combine_reaching_defs): Allow source and destination
146 registers in extension to be different under limited
148 (add_removable_extension): Remove restriction that the
149 source and destination registers in the extension are the
151 (find_and_remove_re): Emit a copy from the extension's
152 destination to its source after the defining insn if
153 the source and destination registers are different.
156 * ifcvt.c (merge_if_block): If we are merging a block with more than
157 one successor with a block with no successors, remove any BARRIER
158 after the second block.
160 2014-01-07 Dan Xio Qiang <ziyan01@163.com>
162 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
164 2014-01-07 John David Anglin <danglin@gcc.gnu.org>
167 * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
168 for 14-bit register offsets when INT14_OK_STRICT is false.
170 2014-01-07 Roland Stigge <stigge@antcom.de>
171 Michael Meissner <meissner@linux.vnet.ibm.com>
174 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
175 Only check TFmode for SPE constants. Don't check TImode or
178 2014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
180 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
183 2014-01-07 Yufeng Zhang <yufeng.zhang@arm.com>
185 * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
186 with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
187 rtx is const0_rtx or not.
189 2014-01-07 Richard Sandiford <rdsandiford@googlemail.com>
192 * target-globals.c (save_target_globals): Remove this_fn_optab
194 * toplev.c: Include optabs.h.
195 (target_reinit): Temporarily restore the global options if another
196 set of options are in force.
198 2014-01-07 Jakub Jelinek <jakub@redhat.com>
200 PR rtl-optimization/58668
201 * cfgcleanup.c (flow_find_cross_jump): Don't count
202 any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p
203 to determine what is counted.
204 (flow_find_head_matching_sequence): Use active_insn_p to determine
206 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
208 * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
209 determine what is counted.
211 PR tree-optimization/59643
212 * tree-predcom.c (split_data_refs_to_components): If one dr is
213 read and one write, determine_offset fails and the write isn't
214 in the bad component, just put the read into the bad component.
216 2014-01-07 Mike Stump <mikestump@comcast.net>
217 Jakub Jelinek <jakub@redhat.com>
220 * tree-core.h (struct tree_optimization_option): Change optabs
221 type from unsigned char * to void *.
222 * optabs.c (init_tree_optimization_optabs): Adjust
223 TREE_OPTIMIZATION_OPTABS initialization.
225 2014-01-06 Jakub Jelinek <jakub@redhat.com>
228 * config/i386/i386.h (struct machine_function): Add
229 no_drap_save_restore field.
230 * config/i386/i386.c (ix86_save_reg): Use
231 !cfun->machine->no_drap_save_restore instead of
232 crtl->stack_realign_needed.
233 (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
234 this function clears frame_pointer_needed. Set
235 cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
236 and DRAP reg is needed.
238 2014-01-06 Marek Polacek <polacek@redhat.com>
241 * doc/implement-c.texi: Mention that other integer types are
242 permitted as bit-field types in strictly conforming mode.
244 2014-01-06 Felix Yang <fei.yang0953@gmail.com>
246 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
249 2014-01-06 Richard Earnshaw <rearnsha@arm.com>
251 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
253 2014-01-06 Martin Jambor <mjambor@suse.cz>
256 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
258 * ipa-prop.c (ipa_print_node_params): Fix indentation.
260 2014-01-06 Eric Botcazou <ebotcazou@adacore.com>
264 * var-tracking.c (add_stores): Preserve the value of the source even if
265 we don't record the store.
267 2014-01-06 Terry Guo <terry.guo@arm.com>
269 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
271 2014-01-05 Iain Sandoe <iain@codesourcery.com>
274 * config/darwin.c (darwin_function_section): Adjust return values to
275 correspond to optimisation changes made in r206070.
277 2014-01-05 Uros Bizjak <ubizjak@gmail.com>
279 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
280 from prefetch_block tune setting.
281 (nocona_cost): Correct size of prefetch block to 64.
283 2014-01-04 Eric Botcazou <ebotcazou@adacore.com>
285 * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
286 (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
287 used to save the static chain register in the computation of the offset
288 from which the FP registers need to be restored.
290 2014-01-04 Jakub Jelinek <jakub@redhat.com>
292 PR tree-optimization/59519
293 * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
294 ICE if get_current_def (current_new_name) is already non-NULL, as long
295 as it is a phi result of some other phi in *new_exit_bb that has
298 * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
299 or vmovdqu* for misaligned_operand.
300 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
301 <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
302 * config/i386/i386.c (ix86_expand_special_args_builtin): Set
303 aligned_mem for AVX512F masked aligned load and store builtins and for
306 2014-01-03 Bingfeng Mei <bmei@broadcom.com>
308 PR tree-optimization/59651
309 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
310 Address range for negative step should be added by TYPE_SIZE_UNIT.
312 2014-01-03 Andreas Schwab <schwab@linux-m68k.org>
314 * config/m68k/m68k.c (handle_move_double): Handle pushes with
315 overlapping registers also for registers other than the stack
318 2014-01-03 Marek Polacek <polacek@redhat.com>
321 * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
324 2014-01-03 Jakub Jelinek <jakub@redhat.com>
327 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
330 * config/i386/i386.md (MODE_SIZE): New mode attribute.
331 (push splitter): Use <P:MODE_SIZE> instead of
332 GET_MODE_SIZE (<P:MODE>mode).
333 (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
334 (mov -1, reg peephole2): Likewise.
335 * config/i386/sse.md (*mov<mode>_internal,
336 <sse>_storeu<ssemodesuffix><avxsizesuffix>,
337 <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
338 *<code><mode>3, *andnot<mode>3<mask_name>,
339 <mask_codefor><code><mode>3<mask_name>): Likewise.
340 * config/i386/subst.md (mask_mode512bit_condition,
341 sd_mask_mode512bit_condition): Likewise.
343 2014-01-02 Xinliang David Li <davidxl@google.com>
345 PR tree-optimization/59303
346 * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
347 (dump_predicates): Better output format.
348 (pred_equal_p): New function.
349 (is_neq_relop_p): Ditto.
350 (is_neq_zero_form_p): Ditto.
351 (pred_expr_equal_p): Ditto.
353 (simplify_pred): Ditto.
354 (simplify_preds_2): Ditto.
355 (simplify_preds_3): Ditto.
356 (simplify_preds_4): Ditto.
357 (simplify_preds): Ditto.
359 (push_to_worklist): Ditto.
360 (get_pred_info_from_cmp): Ditto.
361 (is_degenerated_phi): Ditto.
362 (normalize_one_pred_1): Ditto.
363 (normalize_one_pred): Ditto.
364 (normalize_one_pred_chain): Ditto.
365 (normalize_preds): Ditto.
366 (normalize_cond_1): Remove function.
367 (normalize_cond): Ditto.
368 (is_gcond_subset_of): Ditto.
369 (is_subset_of_any): Ditto.
370 (is_or_set_subset_of): Ditto.
371 (is_and_set_subset_of): Ditto.
372 (is_norm_cond_subset_of): Ditto.
373 (pred_chain_length_cmp): Ditto.
374 (convert_control_dep_chain_into_preds): Type change.
375 (find_predicates): Ditto.
376 (find_def_preds): Ditto.
377 (destroy_predicates_vecs): Ditto.
378 (find_matching_predicates_in_rest_chains): Ditto.
379 (use_pred_not_overlap_with_undef_path_pred): Ditto.
380 (is_pred_expr_subset): Ditto.
381 (is_pred_chain_subset_of): Ditto.
382 (is_included_in): Ditto.
383 (is_superset_of): Ditto.
385 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
387 Update copyright years.
389 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
391 * common/config/arc/arc-common.c, config/arc/arc-modes.def,
392 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
393 config/arc/arc.md, config/arc/arc.opt,
394 config/arm/arm_neon_builtins.def, config/arm/crypto.def,
395 config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
396 config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
397 config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
398 config/linux-protos.h, config/linux.c, config/winnt-c.c,
399 diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
400 vtable-verify.c, vtable-verify.h: Use the standard form for the
403 2014-01-02 Tobias Burnus <burnus@net-b.de>
405 * gcc.c (process_command): Update copyright notice dates.
406 * gcov-dump.c: Ditto.
408 * doc/cpp.texi: Bump @copying's copyright year.
409 * doc/cppinternals.texi: Ditto.
410 * doc/gcc.texi: Ditto.
411 * doc/gccint.texi: Ditto.
412 * doc/gcov.texi: Ditto.
413 * doc/install.texi: Ditto.
414 * doc/invoke.texi: Ditto.
416 2014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
418 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
420 2014-01-01 Jakub Jelinek <jakub@redhat.com>
422 * config/i386/sse.md (*mov<mode>_internal): Guard
423 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
425 PR rtl-optimization/59647
426 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
427 new_rtx into UNSIGNED_FLOAT rtxes.
429 Copyright (C) 2014 Free Software Foundation, Inc.
431 Copying and distribution of this file, with or without modification,
432 are permitted in any medium without royalty provided the copyright
433 notice and this notice are preserved.