2014-01-09 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / ChangeLog
blob6f2f19d1a6fe1b8f5f40a352758b33e9316a7fed
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.
24         * params.h: Likewise.
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
54         elided insns.
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>
64         Revert:
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>
78         PR ipa/59722
79         * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
81 2014-01-08  Bernd Edlinger  <bernd.edlinger@hotmail.de>
83         PR middle-end/57748
84         * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
85         inner_reference_p.
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.
89         (store_expr): Adjust.
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>
103         PR middle-end/59669
104         * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
106 2014-01-08  Marek Polacek  <polacek@redhat.com>
108         PR sanitizer/59667
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>
119         PR middle-end/59630
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
126         check return types.
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>
136         PR middle-end/59471
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>
142         PR middle-end/53623
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
147         circumstances.
148         (add_removable_extension): Remove restriction that the
149         source and destination registers in the extension are the
150         same.
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.
155         PR middle-end/59285
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>
166         PR target/59652
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>
173         PR 57386/target
174         * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
175         Only check TFmode for SPE constants.  Don't check TImode or
176         TDmode.
178 2014-01-07  James Greenhalgh  <james.greenhalgh@arm.com>
180         * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
181         -mcpu.
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>
191         PR target/58115
192         * target-globals.c (save_target_globals): Remove this_fn_optab
193         handling.
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
205         what is counted.
206         (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
207         counting change.
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>
219         PR pch/59436
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>
227         PR target/59644
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>
240         PR c/57773
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
247         is newly allocated.
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>
255         PR ipa/59008
256         * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
257         to int.
258         * ipa-prop.c (ipa_print_node_params): Fix indentation.
260 2014-01-06  Eric Botcazou  <ebotcazou@adacore.com>
262         PR debug/59350
263         PR debug/59510
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>
273         PR bootstrap/59541
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
296         the same argument.
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
304         non-temporal moves.
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
316         pointer.
318 2014-01-03  Marek Polacek  <polacek@redhat.com>
320         PR other/59661
321         * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
322         __builtin_FILE.
324 2014-01-03  Jakub Jelinek  <jakub@redhat.com>
326         PR target/59625
327         * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
328         asm goto as jump.
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.
352         (pred_neg_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.
358         (push_pred): 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
401         copyright notice.
403 2014-01-02  Tobias Burnus  <burnus@net-b.de>
405         * gcc.c (process_command): Update copyright notice dates.
406         * gcov-dump.c: Ditto.
407         * gcov.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.