1 2014-01-08 Jeff Law <law@redhat.com>
3 * ree.c (get_sub_rtx): New function, extracted from...
4 (merge_def_and_ext): Here.
5 (combine_reaching_defs): Use get_sub_rtx.
7 2014-01-08 Eric Botcazou <ebotcazou@adacore.com>
9 * cgraph.h (varpool_variable_node): Do not choke on null node.
11 2014-01-08 Catherine Moore <clm@codesourcery.com>
13 * config/mips/mips.md (simple_return): Attempt to use JRC for microMIPS.
14 * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
16 2014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
18 PR rtl-optimization/59137
19 * reorg.c (steal_delay_list_from_target): Call update_block for
21 (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
23 2014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
25 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
26 two duplicate entries.
28 2014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
31 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
33 * config/mips/mips.c (mips_truncated_op_cost): New function.
34 (mips_rtx_costs): Adjust test for BADDU.
35 * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
37 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
39 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
40 (*baddu_si): ...this new pattern.
42 2014-01-08 Jakub Jelinek <jakub@redhat.com>
45 * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
47 2014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
50 * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
52 (expand_expr, expand_normal): Adjust.
53 * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
54 inner_reference_p. Use inner_reference_p to expand inner references.
56 * cfgexpand.c (expand_call_stmt): Adjust.
58 2014-01-08 Rong Xu <xur@google.com>
60 * gcov-io.c (gcov_var): Move from gcov-io.h.
61 (gcov_position): Ditto.
62 (gcov_is_error): Ditto.
63 (gcov_rewrite): Ditto.
64 * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
65 only part to libgcc/libgcov.h.
67 2014-01-08 Marek Polacek <polacek@redhat.com>
70 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
72 2014-01-08 Marek Polacek <polacek@redhat.com>
75 * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
77 2014-01-08 Jakub Jelinek <jakub@redhat.com>
79 PR rtl-optimization/59649
80 * stor-layout.c (get_mode_bounds): For BImode return
81 0 and STORE_FLAG_VALUE.
83 2014-01-08 Richard Biener <rguenther@suse.de>
86 * gimple.h (is_gimple_builtin_call): Remove.
87 (gimple_builtin_call_types_compatible_p): New.
88 (gimple_call_builtin_p): New overload.
89 * gimple.c (is_gimple_builtin_call): Remove.
90 (validate_call): Rename to ...
91 (gimple_builtin_call_types_compatible_p): ... this and export. Also
93 (validate_type): New static function.
94 (gimple_call_builtin_p): New overload and adjust.
95 * gimple-fold.c (gimple_fold_builtin): Fold the return value.
96 (gimple_fold_call): Likewise. Use gimple_call_builtin_p.
97 (gimple_fold_stmt_to_constant_1): Likewise.
98 * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
100 2014-01-08 Richard Biener <rguenther@suse.de>
103 * gimplify.c (gimplify_expr): Gimplify register-register type
104 VIEW_CONVERT_EXPRs to separate stmts.
106 2014-01-07 Jeff Law <law@redhat.com>
109 * ree.c (combine_set_extension): Handle case where source
110 and destination registers in an extension insn are different.
111 (combine_reaching_defs): Allow source and destination
112 registers in extension to be different under limited
114 (add_removable_extension): Remove restriction that the
115 source and destination registers in the extension are the
117 (find_and_remove_re): Emit a copy from the extension's
118 destination to its source after the defining insn if
119 the source and destination registers are different.
122 * ifcvt.c (merge_if_block): If we are merging a block with more than
123 one successor with a block with no successors, remove any BARRIER
124 after the second block.
126 2014-01-07 Dan Xio Qiang <ziyan01@163.com>
128 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
130 2014-01-07 John David Anglin <danglin@gcc.gnu.org>
133 * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
134 for 14-bit register offsets when INT14_OK_STRICT is false.
136 2014-01-07 Roland Stigge <stigge@antcom.de>
137 Michael Meissner <meissner@linux.vnet.ibm.com>
140 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
141 Only check TFmode for SPE constants. Don't check TImode or
144 2014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
146 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
149 2014-01-07 Yufeng Zhang <yufeng.zhang@arm.com>
151 * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
152 with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
153 rtx is const0_rtx or not.
155 2014-01-07 Richard Sandiford <rdsandiford@googlemail.com>
158 * target-globals.c (save_target_globals): Remove this_fn_optab
160 * toplev.c: Include optabs.h.
161 (target_reinit): Temporarily restore the global options if another
162 set of options are in force.
164 2014-01-07 Jakub Jelinek <jakub@redhat.com>
166 PR rtl-optimization/58668
167 * cfgcleanup.c (flow_find_cross_jump): Don't count
168 any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p
169 to determine what is counted.
170 (flow_find_head_matching_sequence): Use active_insn_p to determine
172 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
174 * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
175 determine what is counted.
177 PR tree-optimization/59643
178 * tree-predcom.c (split_data_refs_to_components): If one dr is
179 read and one write, determine_offset fails and the write isn't
180 in the bad component, just put the read into the bad component.
182 2014-01-07 Mike Stump <mikestump@comcast.net>
183 Jakub Jelinek <jakub@redhat.com>
186 * tree-core.h (struct tree_optimization_option): Change optabs
187 type from unsigned char * to void *.
188 * optabs.c (init_tree_optimization_optabs): Adjust
189 TREE_OPTIMIZATION_OPTABS initialization.
191 2014-01-06 Jakub Jelinek <jakub@redhat.com>
194 * config/i386/i386.h (struct machine_function): Add
195 no_drap_save_restore field.
196 * config/i386/i386.c (ix86_save_reg): Use
197 !cfun->machine->no_drap_save_restore instead of
198 crtl->stack_realign_needed.
199 (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
200 this function clears frame_pointer_needed. Set
201 cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
202 and DRAP reg is needed.
204 2014-01-06 Marek Polacek <polacek@redhat.com>
207 * doc/implement-c.texi: Mention that other integer types are
208 permitted as bit-field types in strictly conforming mode.
210 2014-01-06 Felix Yang <fei.yang0953@gmail.com>
212 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
215 2014-01-06 Richard Earnshaw <rearnsha@arm.com>
217 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
219 2014-01-06 Martin Jambor <mjambor@suse.cz>
222 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
224 * ipa-prop.c (ipa_print_node_params): Fix indentation.
226 2014-01-06 Eric Botcazou <ebotcazou@adacore.com>
230 * var-tracking.c (add_stores): Preserve the value of the source even if
231 we don't record the store.
233 2014-01-06 Terry Guo <terry.guo@arm.com>
235 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
237 2014-01-05 Iain Sandoe <iain@codesourcery.com>
240 * config/darwin.c (darwin_function_section): Adjust return values to
241 correspond to optimisation changes made in r206070.
243 2014-01-05 Uros Bizjak <ubizjak@gmail.com>
245 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
246 from prefetch_block tune setting.
247 (nocona_cost): Correct size of prefetch block to 64.
249 2014-01-04 Eric Botcazou <ebotcazou@adacore.com>
251 * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
252 (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
253 used to save the static chain register in the computation of the offset
254 from which the FP registers need to be restored.
256 2014-01-04 Jakub Jelinek <jakub@redhat.com>
258 PR tree-optimization/59519
259 * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
260 ICE if get_current_def (current_new_name) is already non-NULL, as long
261 as it is a phi result of some other phi in *new_exit_bb that has
264 * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
265 or vmovdqu* for misaligned_operand.
266 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
267 <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
268 * config/i386/i386.c (ix86_expand_special_args_builtin): Set
269 aligned_mem for AVX512F masked aligned load and store builtins and for
272 2014-01-03 Bingfeng Mei <bmei@broadcom.com>
274 PR tree-optimization/59651
275 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
276 Address range for negative step should be added by TYPE_SIZE_UNIT.
278 2014-01-03 Andreas Schwab <schwab@linux-m68k.org>
280 * config/m68k/m68k.c (handle_move_double): Handle pushes with
281 overlapping registers also for registers other than the stack
284 2014-01-03 Marek Polacek <polacek@redhat.com>
287 * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
290 2014-01-03 Jakub Jelinek <jakub@redhat.com>
293 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
296 * config/i386/i386.md (MODE_SIZE): New mode attribute.
297 (push splitter): Use <P:MODE_SIZE> instead of
298 GET_MODE_SIZE (<P:MODE>mode).
299 (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
300 (mov -1, reg peephole2): Likewise.
301 * config/i386/sse.md (*mov<mode>_internal,
302 <sse>_storeu<ssemodesuffix><avxsizesuffix>,
303 <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
304 *<code><mode>3, *andnot<mode>3<mask_name>,
305 <mask_codefor><code><mode>3<mask_name>): Likewise.
306 * config/i386/subst.md (mask_mode512bit_condition,
307 sd_mask_mode512bit_condition): Likewise.
309 2014-01-02 Xinliang David Li <davidxl@google.com>
311 PR tree-optimization/59303
312 * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
313 (dump_predicates): Better output format.
314 (pred_equal_p): New function.
315 (is_neq_relop_p): Ditto.
316 (is_neq_zero_form_p): Ditto.
317 (pred_expr_equal_p): Ditto.
319 (simplify_pred): Ditto.
320 (simplify_preds_2): Ditto.
321 (simplify_preds_3): Ditto.
322 (simplify_preds_4): Ditto.
323 (simplify_preds): Ditto.
325 (push_to_worklist): Ditto.
326 (get_pred_info_from_cmp): Ditto.
327 (is_degenerated_phi): Ditto.
328 (normalize_one_pred_1): Ditto.
329 (normalize_one_pred): Ditto.
330 (normalize_one_pred_chain): Ditto.
331 (normalize_preds): Ditto.
332 (normalize_cond_1): Remove function.
333 (normalize_cond): Ditto.
334 (is_gcond_subset_of): Ditto.
335 (is_subset_of_any): Ditto.
336 (is_or_set_subset_of): Ditto.
337 (is_and_set_subset_of): Ditto.
338 (is_norm_cond_subset_of): Ditto.
339 (pred_chain_length_cmp): Ditto.
340 (convert_control_dep_chain_into_preds): Type change.
341 (find_predicates): Ditto.
342 (find_def_preds): Ditto.
343 (destroy_predicates_vecs): Ditto.
344 (find_matching_predicates_in_rest_chains): Ditto.
345 (use_pred_not_overlap_with_undef_path_pred): Ditto.
346 (is_pred_expr_subset): Ditto.
347 (is_pred_chain_subset_of): Ditto.
348 (is_included_in): Ditto.
349 (is_superset_of): Ditto.
351 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
353 Update copyright years.
355 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
357 * common/config/arc/arc-common.c, config/arc/arc-modes.def,
358 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
359 config/arc/arc.md, config/arc/arc.opt,
360 config/arm/arm_neon_builtins.def, config/arm/crypto.def,
361 config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
362 config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
363 config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
364 config/linux-protos.h, config/linux.c, config/winnt-c.c,
365 diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
366 vtable-verify.c, vtable-verify.h: Use the standard form for the
369 2014-01-02 Tobias Burnus <burnus@net-b.de>
371 * gcc.c (process_command): Update copyright notice dates.
372 * gcov-dump.c: Ditto.
374 * doc/cpp.texi: Bump @copying's copyright year.
375 * doc/cppinternals.texi: Ditto.
376 * doc/gcc.texi: Ditto.
377 * doc/gccint.texi: Ditto.
378 * doc/gcov.texi: Ditto.
379 * doc/install.texi: Ditto.
380 * doc/invoke.texi: Ditto.
382 2014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
384 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
386 2014-01-01 Jakub Jelinek <jakub@redhat.com>
388 * config/i386/sse.md (*mov<mode>_internal): Guard
389 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
391 PR rtl-optimization/59647
392 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
393 new_rtx into UNSIGNED_FLOAT rtxes.
395 Copyright (C) 2014 Free Software Foundation, Inc.
397 Copying and distribution of this file, with or without modification,
398 are permitted in any medium without royalty provided the copyright
399 notice and this notice are preserved.