ree.c (get_sub_rtx): New function, extracted from...
[gcc.git] / gcc / ChangeLog
1 2014-01-08 Jeff Law <law@redhat.com>
2
3 * ree.c (get_sub_rtx): New function, extracted from...
4 (merge_def_and_ext): Here.
5 (combine_reaching_defs): Use get_sub_rtx.
6
7 2014-01-08 Eric Botcazou <ebotcazou@adacore.com>
8
9 * cgraph.h (varpool_variable_node): Do not choke on null node.
10
11 2014-01-08 Catherine Moore <clm@codesourcery.com>
12
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.
15
16 2014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
17
18 PR rtl-optimization/59137
19 * reorg.c (steal_delay_list_from_target): Call update_block for
20 elided insns.
21 (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
22
23 2014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
24
25 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
26 two duplicate entries.
27
28 2014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
29
30 Revert:
31 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
32
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.
36
37 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
38
39 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
40 (*baddu_si): ...this new pattern.
41
42 2014-01-08 Jakub Jelinek <jakub@redhat.com>
43
44 PR ipa/59722
45 * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
46
47 2014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
48
49 PR middle-end/57748
50 * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
51 inner_reference_p.
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.
55 (store_expr): Adjust.
56 * cfgexpand.c (expand_call_stmt): Adjust.
57
58 2014-01-08 Rong Xu <xur@google.com>
59
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.
66
67 2014-01-08 Marek Polacek <polacek@redhat.com>
68
69 PR middle-end/59669
70 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
71
72 2014-01-08 Marek Polacek <polacek@redhat.com>
73
74 PR sanitizer/59667
75 * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
76
77 2014-01-08 Jakub Jelinek <jakub@redhat.com>
78
79 PR rtl-optimization/59649
80 * stor-layout.c (get_mode_bounds): For BImode return
81 0 and STORE_FLAG_VALUE.
82
83 2014-01-08 Richard Biener <rguenther@suse.de>
84
85 PR middle-end/59630
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
92 check return types.
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.
99
100 2014-01-08 Richard Biener <rguenther@suse.de>
101
102 PR middle-end/59471
103 * gimplify.c (gimplify_expr): Gimplify register-register type
104 VIEW_CONVERT_EXPRs to separate stmts.
105
106 2014-01-07 Jeff Law <law@redhat.com>
107
108 PR middle-end/53623
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
113 circumstances.
114 (add_removable_extension): Remove restriction that the
115 source and destination registers in the extension are the
116 same.
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.
120
121 PR middle-end/59285
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.
125
126 2014-01-07 Dan Xio Qiang <ziyan01@163.com>
127
128 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
129
130 2014-01-07 John David Anglin <danglin@gcc.gnu.org>
131
132 PR target/59652
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.
135
136 2014-01-07 Roland Stigge <stigge@antcom.de>
137 Michael Meissner <meissner@linux.vnet.ibm.com>
138
139 PR 57386/target
140 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
141 Only check TFmode for SPE constants. Don't check TImode or
142 TDmode.
143
144 2014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
145
146 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
147 -mcpu.
148
149 2014-01-07 Yufeng Zhang <yufeng.zhang@arm.com>
150
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.
154
155 2014-01-07 Richard Sandiford <rdsandiford@googlemail.com>
156
157 PR target/58115
158 * target-globals.c (save_target_globals): Remove this_fn_optab
159 handling.
160 * toplev.c: Include optabs.h.
161 (target_reinit): Temporarily restore the global options if another
162 set of options are in force.
163
164 2014-01-07 Jakub Jelinek <jakub@redhat.com>
165
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
171 what is counted.
172 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
173 counting change.
174 * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
175 determine what is counted.
176
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.
181
182 2014-01-07 Mike Stump <mikestump@comcast.net>
183 Jakub Jelinek <jakub@redhat.com>
184
185 PR pch/59436
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.
190
191 2014-01-06 Jakub Jelinek <jakub@redhat.com>
192
193 PR target/59644
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.
203
204 2014-01-06 Marek Polacek <polacek@redhat.com>
205
206 PR c/57773
207 * doc/implement-c.texi: Mention that other integer types are
208 permitted as bit-field types in strictly conforming mode.
209
210 2014-01-06 Felix Yang <fei.yang0953@gmail.com>
211
212 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
213 is newly allocated.
214
215 2014-01-06 Richard Earnshaw <rearnsha@arm.com>
216
217 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
218
219 2014-01-06 Martin Jambor <mjambor@suse.cz>
220
221 PR ipa/59008
222 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
223 to int.
224 * ipa-prop.c (ipa_print_node_params): Fix indentation.
225
226 2014-01-06 Eric Botcazou <ebotcazou@adacore.com>
227
228 PR debug/59350
229 PR debug/59510
230 * var-tracking.c (add_stores): Preserve the value of the source even if
231 we don't record the store.
232
233 2014-01-06 Terry Guo <terry.guo@arm.com>
234
235 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
236
237 2014-01-05 Iain Sandoe <iain@codesourcery.com>
238
239 PR bootstrap/59541
240 * config/darwin.c (darwin_function_section): Adjust return values to
241 correspond to optimisation changes made in r206070.
242
243 2014-01-05 Uros Bizjak <ubizjak@gmail.com>
244
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.
248
249 2014-01-04 Eric Botcazou <ebotcazou@adacore.com>
250
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.
255
256 2014-01-04 Jakub Jelinek <jakub@redhat.com>
257
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
262 the same argument.
263
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
270 non-temporal moves.
271
272 2014-01-03 Bingfeng Mei <bmei@broadcom.com>
273
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.
277
278 2014-01-03 Andreas Schwab <schwab@linux-m68k.org>
279
280 * config/m68k/m68k.c (handle_move_double): Handle pushes with
281 overlapping registers also for registers other than the stack
282 pointer.
283
284 2014-01-03 Marek Polacek <polacek@redhat.com>
285
286 PR other/59661
287 * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
288 __builtin_FILE.
289
290 2014-01-03 Jakub Jelinek <jakub@redhat.com>
291
292 PR target/59625
293 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
294 asm goto as jump.
295
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.
308
309 2014-01-02 Xinliang David Li <davidxl@google.com>
310
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.
318 (pred_neg_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.
324 (push_pred): 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.
350
351 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
352
353 Update copyright years.
354
355 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
356
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
367 copyright notice.
368
369 2014-01-02 Tobias Burnus <burnus@net-b.de>
370
371 * gcc.c (process_command): Update copyright notice dates.
372 * gcov-dump.c: Ditto.
373 * gcov.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.
381
382 2014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
383
384 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
385
386 2014-01-01 Jakub Jelinek <jakub@redhat.com>
387
388 * config/i386/sse.md (*mov<mode>_internal): Guard
389 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
390
391 PR rtl-optimization/59647
392 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
393 new_rtx into UNSIGNED_FLOAT rtxes.
394 \f
395 Copyright (C) 2014 Free Software Foundation, Inc.
396
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.