re PR middle-end/59669 (ICE: SIGSEGV with #pragma omp declare simd linear)
[gcc.git] / gcc / ChangeLog
1 2014-01-08 Marek Polacek <polacek@redhat.com>
2
3 PR middle-end/59669
4 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
5
6 2014-01-08 Marek Polacek <polacek@redhat.com>
7
8 PR sanitizer/59667
9 * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
10
11 2014-01-08 Jakub Jelinek <jakub@redhat.com>
12
13 PR rtl-optimization/59649
14 * stor-layout.c (get_mode_bounds): For BImode return
15 0 and STORE_FLAG_VALUE.
16
17 2014-01-08 Richard Biener <rguenther@suse.de>
18
19 PR middle-end/59630
20 * gimple.h (is_gimple_builtin_call): Remove.
21 (gimple_builtin_call_types_compatible_p): New.
22 (gimple_call_builtin_p): New overload.
23 * gimple.c (is_gimple_builtin_call): Remove.
24 (validate_call): Rename to ...
25 (gimple_builtin_call_types_compatible_p): ... this and export. Also
26 check return types.
27 (validate_type): New static function.
28 (gimple_call_builtin_p): New overload and adjust.
29 * gimple-fold.c (gimple_fold_builtin): Fold the return value.
30 (gimple_fold_call): Likewise. Use gimple_call_builtin_p.
31 (gimple_fold_stmt_to_constant_1): Likewise.
32 * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
33
34 2014-01-08 Richard Biener <rguenther@suse.de>
35
36 PR middle-end/59471
37 * gimplify.c (gimplify_expr): Gimplify register-register type
38 VIEW_CONVERT_EXPRs to separate stmts.
39
40 2014-01-07 Jeff Law <law@redhat.com>
41
42 PR middle-end/53623
43 * ree.c (combine_set_extension): Handle case where source
44 and destination registers in an extension insn are different.
45 (combine_reaching_defs): Allow source and destination
46 registers in extension to be different under limited
47 circumstances.
48 (add_removable_extension): Remove restriction that the
49 source and destination registers in the extension are the
50 same.
51 (find_and_remove_re): Emit a copy from the extension's
52 destination to its source after the defining insn if
53 the source and destination registers are different.
54
55 PR middle-end/59285
56 * ifcvt.c (merge_if_block): If we are merging a block with more than
57 one successor with a block with no successors, remove any BARRIER
58 after the second block.
59
60 2014-01-07 Dan Xio Qiang <ziyan01@163.com>
61
62 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
63
64 2014-01-07 John David Anglin <danglin@gcc.gnu.org>
65
66 PR target/59652
67 * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
68 for 14-bit register offsets when INT14_OK_STRICT is false.
69
70 2014-01-07 Roland Stigge <stigge@antcom.de>
71 Michael Meissner <meissner@linux.vnet.ibm.com>
72
73 PR 57386/target
74 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
75 Only check TFmode for SPE constants. Don't check TImode or
76 TDmode.
77
78 2014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
79
80 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
81 -mcpu.
82
83 2014-01-07 Yufeng Zhang <yufeng.zhang@arm.com>
84
85 * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
86 with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
87 rtx is const0_rtx or not.
88
89 2014-01-07 Richard Sandiford <rdsandiford@googlemail.com>
90
91 PR target/58115
92 * target-globals.c (save_target_globals): Remove this_fn_optab
93 handling.
94 * toplev.c: Include optabs.h.
95 (target_reinit): Temporarily restore the global options if another
96 set of options are in force.
97
98 2014-01-07 Jakub Jelinek <jakub@redhat.com>
99
100 PR rtl-optimization/58668
101 * cfgcleanup.c (flow_find_cross_jump): Don't count
102 any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p
103 to determine what is counted.
104 (flow_find_head_matching_sequence): Use active_insn_p to determine
105 what is counted.
106 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
107 counting change.
108 * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
109 determine what is counted.
110
111 PR tree-optimization/59643
112 * tree-predcom.c (split_data_refs_to_components): If one dr is
113 read and one write, determine_offset fails and the write isn't
114 in the bad component, just put the read into the bad component.
115
116 2014-01-07 Mike Stump <mikestump@comcast.net>
117 Jakub Jelinek <jakub@redhat.com>
118
119 PR pch/59436
120 * tree-core.h (struct tree_optimization_option): Change optabs
121 type from unsigned char * to void *.
122 * optabs.c (init_tree_optimization_optabs): Adjust
123 TREE_OPTIMIZATION_OPTABS initialization.
124
125 2014-01-06 Jakub Jelinek <jakub@redhat.com>
126
127 PR target/59644
128 * config/i386/i386.h (struct machine_function): Add
129 no_drap_save_restore field.
130 * config/i386/i386.c (ix86_save_reg): Use
131 !cfun->machine->no_drap_save_restore instead of
132 crtl->stack_realign_needed.
133 (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
134 this function clears frame_pointer_needed. Set
135 cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
136 and DRAP reg is needed.
137
138 2014-01-06 Marek Polacek <polacek@redhat.com>
139
140 PR c/57773
141 * doc/implement-c.texi: Mention that other integer types are
142 permitted as bit-field types in strictly conforming mode.
143
144 2014-01-06 Felix Yang <fei.yang0953@gmail.com>
145
146 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
147 is newly allocated.
148
149 2014-01-06 Richard Earnshaw <rearnsha@arm.com>
150
151 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
152
153 2014-01-06 Martin Jambor <mjambor@suse.cz>
154
155 PR ipa/59008
156 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
157 to int.
158 * ipa-prop.c (ipa_print_node_params): Fix indentation.
159
160 2014-01-06 Eric Botcazou <ebotcazou@adacore.com>
161
162 PR debug/59350
163 PR debug/59510
164 * var-tracking.c (add_stores): Preserve the value of the source even if
165 we don't record the store.
166
167 2014-01-06 Terry Guo <terry.guo@arm.com>
168
169 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
170
171 2014-01-05 Iain Sandoe <iain@codesourcery.com>
172
173 PR bootstrap/59541
174 * config/darwin.c (darwin_function_section): Adjust return values to
175 correspond to optimisation changes made in r206070.
176
177 2014-01-05 Uros Bizjak <ubizjak@gmail.com>
178
179 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
180 from prefetch_block tune setting.
181 (nocona_cost): Correct size of prefetch block to 64.
182
183 2014-01-04 Eric Botcazou <ebotcazou@adacore.com>
184
185 * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
186 (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
187 used to save the static chain register in the computation of the offset
188 from which the FP registers need to be restored.
189
190 2014-01-04 Jakub Jelinek <jakub@redhat.com>
191
192 PR tree-optimization/59519
193 * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
194 ICE if get_current_def (current_new_name) is already non-NULL, as long
195 as it is a phi result of some other phi in *new_exit_bb that has
196 the same argument.
197
198 * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
199 or vmovdqu* for misaligned_operand.
200 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
201 <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
202 * config/i386/i386.c (ix86_expand_special_args_builtin): Set
203 aligned_mem for AVX512F masked aligned load and store builtins and for
204 non-temporal moves.
205
206 2014-01-03 Bingfeng Mei <bmei@broadcom.com>
207
208 PR tree-optimization/59651
209 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
210 Address range for negative step should be added by TYPE_SIZE_UNIT.
211
212 2014-01-03 Andreas Schwab <schwab@linux-m68k.org>
213
214 * config/m68k/m68k.c (handle_move_double): Handle pushes with
215 overlapping registers also for registers other than the stack
216 pointer.
217
218 2014-01-03 Marek Polacek <polacek@redhat.com>
219
220 PR other/59661
221 * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
222 __builtin_FILE.
223
224 2014-01-03 Jakub Jelinek <jakub@redhat.com>
225
226 PR target/59625
227 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
228 asm goto as jump.
229
230 * config/i386/i386.md (MODE_SIZE): New mode attribute.
231 (push splitter): Use <P:MODE_SIZE> instead of
232 GET_MODE_SIZE (<P:MODE>mode).
233 (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
234 (mov -1, reg peephole2): Likewise.
235 * config/i386/sse.md (*mov<mode>_internal,
236 <sse>_storeu<ssemodesuffix><avxsizesuffix>,
237 <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
238 *<code><mode>3, *andnot<mode>3<mask_name>,
239 <mask_codefor><code><mode>3<mask_name>): Likewise.
240 * config/i386/subst.md (mask_mode512bit_condition,
241 sd_mask_mode512bit_condition): Likewise.
242
243 2014-01-02 Xinliang David Li <davidxl@google.com>
244
245 PR tree-optimization/59303
246 * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
247 (dump_predicates): Better output format.
248 (pred_equal_p): New function.
249 (is_neq_relop_p): Ditto.
250 (is_neq_zero_form_p): Ditto.
251 (pred_expr_equal_p): Ditto.
252 (pred_neg_p): Ditto.
253 (simplify_pred): Ditto.
254 (simplify_preds_2): Ditto.
255 (simplify_preds_3): Ditto.
256 (simplify_preds_4): Ditto.
257 (simplify_preds): Ditto.
258 (push_pred): Ditto.
259 (push_to_worklist): Ditto.
260 (get_pred_info_from_cmp): Ditto.
261 (is_degenerated_phi): Ditto.
262 (normalize_one_pred_1): Ditto.
263 (normalize_one_pred): Ditto.
264 (normalize_one_pred_chain): Ditto.
265 (normalize_preds): Ditto.
266 (normalize_cond_1): Remove function.
267 (normalize_cond): Ditto.
268 (is_gcond_subset_of): Ditto.
269 (is_subset_of_any): Ditto.
270 (is_or_set_subset_of): Ditto.
271 (is_and_set_subset_of): Ditto.
272 (is_norm_cond_subset_of): Ditto.
273 (pred_chain_length_cmp): Ditto.
274 (convert_control_dep_chain_into_preds): Type change.
275 (find_predicates): Ditto.
276 (find_def_preds): Ditto.
277 (destroy_predicates_vecs): Ditto.
278 (find_matching_predicates_in_rest_chains): Ditto.
279 (use_pred_not_overlap_with_undef_path_pred): Ditto.
280 (is_pred_expr_subset): Ditto.
281 (is_pred_chain_subset_of): Ditto.
282 (is_included_in): Ditto.
283 (is_superset_of): Ditto.
284
285 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
286
287 Update copyright years.
288
289 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
290
291 * common/config/arc/arc-common.c, config/arc/arc-modes.def,
292 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
293 config/arc/arc.md, config/arc/arc.opt,
294 config/arm/arm_neon_builtins.def, config/arm/crypto.def,
295 config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
296 config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
297 config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
298 config/linux-protos.h, config/linux.c, config/winnt-c.c,
299 diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
300 vtable-verify.c, vtable-verify.h: Use the standard form for the
301 copyright notice.
302
303 2014-01-02 Tobias Burnus <burnus@net-b.de>
304
305 * gcc.c (process_command): Update copyright notice dates.
306 * gcov-dump.c: Ditto.
307 * gcov.c: Ditto.
308 * doc/cpp.texi: Bump @copying's copyright year.
309 * doc/cppinternals.texi: Ditto.
310 * doc/gcc.texi: Ditto.
311 * doc/gccint.texi: Ditto.
312 * doc/gcov.texi: Ditto.
313 * doc/install.texi: Ditto.
314 * doc/invoke.texi: Ditto.
315
316 2014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
317
318 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
319
320 2014-01-01 Jakub Jelinek <jakub@redhat.com>
321
322 * config/i386/sse.md (*mov<mode>_internal): Guard
323 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
324
325 PR rtl-optimization/59647
326 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
327 new_rtx into UNSIGNED_FLOAT rtxes.
328 \f
329 Copyright (C) 2014 Free Software Foundation, Inc.
330
331 Copying and distribution of this file, with or without modification,
332 are permitted in any medium without royalty provided the copyright
333 notice and this notice are preserved.